Forum: Mikrocontroller und Digitale Elektronik I2C Bootloader Mega16?


von Christoph Söllner (Gast)


Lesenswert?

Hi *,

jetzt stelle ich Ansprüche :)
Habe einen ATMega162 als Master, dem seine beiden USARTs sind
verbaut. Dann habe ich noch zwei(!) ATMega16 normal als I2C
Slaves (unter anderen Devices) auf dem TWI Bus.

Ich täte nun gerne über I2C die Firmware der beiden Slaves
updaten, wenn der Master über seinen USART0 den entsprechenden
Befehl und die binären Daten bekommt. Das ganze Gerät muß dann
natürlich seinen Betrieb unterbrechen, was aber kein Thema ist.

Und der Master selber soll über USART0 updatebar sein, das
ist aber, wie ich im Forum bereits las, kein Problem mit dem
MegaLoad.

Hat jemand eine Idee?
Dankeschön, Christoph

von mthomas (Gast)


Lesenswert?

jeweils eine eigene Boot-Applikation in die Boot-Section der "Slaves",
diese empfaengt die Daten ueber i2c vom Master und schreibt diese in die
Application-Section. Etwas Kontrolle des Masters ueber die
Reset-Leitungen der Slaves koennte nicht schaden (eine Art
Chip-Select), dann wird der Start des Bootloaders mittels
Hardware-Reset durch Einstellung der Boot-Fuse einfacher und man kann
auch noch updaten, wenn mal ein update der Slaves nicht richtig
durchgelaufen ist. Alternativ: Slaves ueber "SPI" anbinden und
low-volatage serial programming analog zu AVR910 implementieren.
HTH, Martin

von skipper (Gast)


Lesenswert?

Hallo Martin,

man beraucht kein H/W Reset für die Slaves.
man richtet nur WDT und setzt 'ne µsec zeit.
und das ganze wird nur laufen, wenn der master und die slaves (I2C)
zusammen mit einem Osc getaktet werden.
bei interesse bin ich bereit zu helfen.

skipper

von Stefan Kleinwort (Gast)


Lesenswert?

Da war was in der Codesammlung:

http://www.mikrocontroller.net/forum/read-4-48959.html#48959

Grüße, Stefan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.