Forum: Mikrocontroller und Digitale Elektronik Kommunikation unter mehreren Avr's


von Thomas K. (mikrofreak)


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?

von Marvin (Gast)


Lesenswert?

IC2!

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

one wire

von Thomas K. (mikrofreak)


Lesenswert?

Wie schon gesagt, bin Anfänger........

Was ist das, wie steuer ich es an (in Bascom)?

von Thomas K. (mikrofreak)


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?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ich würde die UART nehmen, bei jedem Controller den TX-Pin mit einer 
Diode an eine Leitung schalten, die mit PullUp auf Vcc gezogen wird. 
Alle RX-Pins ebenfalls an diese Leitung anschließen. So kann jeder 
Controller mit jedem Controller zeitversetzt kommunizieren.

von Thomas K. (mikrofreak)


Lesenswert?

Das Problem ist, dass ich die UART bei 2 uC brauche. Am besten wäre also 
TWI...
nur da wäre noch das obrige Problem: Welche Adresse habe die Avr's?

von Jankey (Gast)


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.

von Sachich N. (dude) Benutzerseite


Lesenswert?

Can, Ethernet

von Thomas K. (mikrofreak)


Lesenswert?

Ja, ich werde den I2C-Bus nehmen.
Aber bitte nur noch eine kurze Antwort ohne große Abschweife: Welche 
Adresse?

von Jankey (Gast)


Lesenswert?

naja du hast 127 zu verfügung, das MSB is für R/W... steht aber in jeder 
I2C Spec :-)

von Thomas K. (mikrofreak)


Lesenswert?

Ok. Danke!

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.