Forum: Mikrocontroller und Digitale Elektronik AVR vernetzen PLUG and PLAY


von Franz J. (francesco)


Lesenswert?

Hallo,

ich möchte mehrere (mind. 2) AVRs miteinander vernetzen, wobei jeder 
sowohl Senden als auch empfangen soll. Versucht habe ich das ganze mit 
TWI unter gcc, was auch funktioniert hat. Das Problem ist nur, dass sich 
der TWI-Bus beim Entfernen und "Wiederanstöpseln" der Busleitung 
aufhängt und der Controller neu gestartet werden muss. Mit dem 
Oszilloskop habe ich herausgefunden, dass das ein Hardwareproblem von 
TWI (zumindest des AVR) zu sein scheint, denn diverse Softwaretricks 
haben nur teils zum gewünschten Ergebnis geführt.
Hat irgend jemand schon Erfahrungen, welches Bussystem für die obige 
Anforderung (Entfernen und Wiederanschließen eines Teilnehmers) 
eingesetzt werden könnte bzw. hat schon eine ähnliche Anforderung 
umgesetzt (RS485 (bzw. RS232), USB, CAN, Ethernet, ...)?
Und wenn ja, wie aufwendig wird das hard- und softwaremäßig?
Derzeit verwende ich den ATMega16.


Viele Grüße und Danke im voraus

francesco

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Das geht mit TWI schon, ABER ...
einer der µC muß Master sein und immer "da" dieser fragt halt 
nacheinander einen gewissen Adresseraum ab und hocht auf antworten.
Wichtig dabei ist das du natürlich einen Timeout einbaust sonst kann ein 
zur falschen Zeit abgezogener AVR dir den Bus blockieren.

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.