Behöver soft-UART i C för ATtiny44
Postat: 16 augusti 2012, 00:27:38
Just när projektet såg ut att komma igång har det hängt sig på en irriterande detalj: En ATmega88 ska skicka data någon halvmeter via en tunn tretrådig ledning till en ATtiny44 som i sin tur ska driva en multiplexad LED-display. Ledningen får bara innehålla GND, +5V och data, det finns inte plats för en fjärde tåt.
Den mottagande ATtinyn bör ha gott om tid på sig att fånga upp mottagen information, det enda som kommer störa är LED-multiplexingen som måste uppdateras minst 50ggr i sekunden för att inte uppfattas som "darrig".
Den sändande ATmega88:an kommer däremot ha en hel del tidskritiska saker för sig så jag vill inte belasta den med att i mjukvara generera självklockande en-tråds överföring t.ex. liknande Dallas 1-wire. Det vore således smidigt att kunna använda USART:en för sändning, men jag
har ingen färdig idé för hur vanlig standard asynkron seriell mottagning kan ordnas med C-kod till den mottagande ATtinyn vars USI bara kan hantera synkron kommunikation (TWI/SPI).
Till råga på allt måste överföringen fungera säkert trots att båda enheterna kommer drivas från sina RC-klockor.
Idéer någon?
Den mottagande ATtinyn bör ha gott om tid på sig att fånga upp mottagen information, det enda som kommer störa är LED-multiplexingen som måste uppdateras minst 50ggr i sekunden för att inte uppfattas som "darrig".
Den sändande ATmega88:an kommer däremot ha en hel del tidskritiska saker för sig så jag vill inte belasta den med att i mjukvara generera självklockande en-tråds överföring t.ex. liknande Dallas 1-wire. Det vore således smidigt att kunna använda USART:en för sändning, men jag
har ingen färdig idé för hur vanlig standard asynkron seriell mottagning kan ordnas med C-kod till den mottagande ATtinyn vars USI bara kan hantera synkron kommunikation (TWI/SPI).
Till råga på allt måste överföringen fungera säkert trots att båda enheterna kommer drivas från sina RC-klockor.
Idéer någon?