Kommunikation unter mehreren Avr's

OP #1091006
Lesenswert?

Hey Leute!
Ich bin gerade dabei, mir einen Experimentier-Roboter zu bauen. Da ich 
noch Anfänger bin, möchte ich so viele Möglichkeitn der Avr's nutzen wie 
nur möglich. Dadurch habe ich schon beim Bauen den AHA!-Effekt.

Mein erstes Problem ist folgendes: Ich habe ein Mainboard mit einem 
Atmega32 und mehrere kleinere Boards(für Sensorik, Motoren und RS232) 
mit weniger Leistung.
Wie kann ich alle uC's so miteinander vernetzen, dass ich Befehle und 
Messwerte von uC zu uC senden kann?
OP #1091027
Lesenswert?

Wegen I2C: Ist der Controller da jederzeit erreichbar?
Habe mich da noch nicht herangewagt, weil der Befehl doch ziehmlich lang 
ist und ich mir eben nicht sicher war, ob der uC dadurch jederzeit 
erreichbar ist oder nur zu der Zeit, bei der der Code gerade steht.
Und 2.: Welche Adresse haben die Avr's? Kann ich die einstellen? Wie?
Gast #1091114
Lesenswert?

Am einfachsten wenn alle microcontroller nebenbei was zu tun haben ist 
TWI, das problem ist halt ma muss einen microcontroller spendieren der 
quasi einen "Hub" spielt, dafür hat man damit einige größere nachteile 
erschlagen, zb das man Zeitfenster nicht erreicht oder 
Synchronisationsgeschichten, in einer Kette alle zusammenhängen über TWI 
oder SPI is auch ein ganz netter Aspekt das man die Daten quasi einmal 
im Kreis schicht und der Abschicker dann das Durchschrieben der Daten 
Beendet, hat den vorteil das es Beliebig erweiterbar ist ( sollte halt 
nur gemacht werden wenn das netzt klein ist.

Wichtig ist ob die devices Addressierbar sind oder nicht

Vorteile vom TWI.:
- Timing des Systems ist so schnell wie der Langsamste Benutzer in der 
Kette ( kein Fixer Takt hat viele vorteile ).
- Fehler Eliminieren sich von selber durch das Handshaken jedes Bits
- "Spucker" in der Leitung machen nix
- Leitungslänge Egal
- Zeitkritische Treads können mittendrin abgearbeitet werden und dann 
die
- keine Addressierung nötig.
Kommunikation fortgesetzt werden.
Nachteile.:
- Langsam
- Software aufwand
- Hub uC für Master

I2C.:
Vorteile.:
- Viele Bauteile interface in HW gegossen ( omg ein Schieberegister )
Nachteile.:
- Slave & Master Ausprogrammieren
- Fixer Clock
- Adressen nötig

SPI-
schnell, und flexibel, alle uC werden in einer "Kette" aufgehängt und im 
Kreis zusammengesteckt, wenn noch ein Device
- Leitungslänge NICHT egal
- Zeitkritische Threads können warten
- desto mehr User desto langsamer
- Einknüpfen von neuen Usern sehr leicht
- keine Addressierung


One Wire.:
auch sehr Genial,
- nur muss dann jedes Device Adressierbar sein.
- Leitungslänge NICHT egal
- Zeitkritische Threads müssen warten ( zb bei 1MHZ Clock )
- Fehlercode UNBEDINGT nötig.
- bei klugem verbau kann man sogar die Supply mit über den 1 Wire 
übertragen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren