Atmels, welchen Bus nehmen ?

Gast #1854241
Lesenswert?
• ▲
▼
Hallo,
ich habe vor ein kleines netzwerk von Microcontroller aufzubauen und 
würde gerne wissen was für ein "Bus" ich nehmen soll.

DIe vorstellung:

mehrere Controller (Atmega, ATTiny) sollen über ?2? leitungen verbunden 
werden.
Zusätzlich möchte ich eine Schnittstelle RS232 für den 
Computeranbringen.

Die Controller sollen sich über ein Protokoll unterhalten was zb so 
aussehen wird

!MC1 Schalter S4 ist gedrück!
!MC4 A5 wird geschaltet!
!MC4 A5 ist geschaltet!

Als erstes kommt der Controller name in diesem Fall MC und die nummer 
welcher gemeint wird. Danach kommt der Befehl was er macht bzw gemacht 
hat.

Das Ganze möchte ich dann über Hyperterm am PC Anzeigen lassen was die 
Controller untereinander so Quatschen.

Die ! zeigen eine Befehlskette an. also das zwischen den ! etwas an 
daten geliefert wird.

Die MCs sollen im Auto verbaut werden, und vielleicht kommen da Strecken 
von bis zu 5 Meter zusammen. (evt auch in anderen Projekten dann noch 
mehr Meter)

Worüber mache ich die Kommunikation dann am besten ? RS232 RS486 RS422 
oder oder oder

Gruss Marc
Gast #1854283
Lesenswert?
• ▲
▼
>Beitrag "I2C vs. RS232"

Als Master würde ich einen ATmega mit zwei UARTs nehmen; (der/die/das) 
eine für den internen Bus, die andere für die PC-Kommunikation.

Den internen Bus würde ich - wie geschrieben - mit CAN-Bus-Treibern 
aufbauen. Das interne Busprotokoll aber nicht mit so 'geschwätzigen' 
Befehlen wie !MC4 sondern mit einer binären Adresse und einem binär 
codierten Befehl; meinetwegen '1', '2', '3', ... falls man das irgendwie 
mitlesen wollte.

Die internen Slaves könnten ATmega48 oder größer sein.
Moderator (Firma: Titel) Persönliche Seite #1854285
Lesenswert?
• ▲
▼
> Die Controller sollen sich über ein Protokoll unterhalten was zb so
> aussehen wird
> !MC1 Schalter S4 ist gedrück!
> !MC4 A5 wird geschaltet!
> !MC4 A5 ist geschaltet!
>
> Als erstes kommt der Controller name in diesem Fall MC und die nummer
> welcher gemeint wird. Danach kommt der Befehl was er macht bzw gemacht
> hat.
>
> Das Ganze möchte ich dann über Hyperterm am PC Anzeigen lassen was die
> Controller untereinander so Quatschen.
Das ist ja ein haarsträubendes Vorhaben...
Wieso sollen die Controller sich untereinander in einer "Fremdsprache" 
unterhalten, nur damit du es mitlesen kannst? Controller verstehen 
sich viel besser auf eine binäre Sprache als auf das ASCII-Zeugs, das 
du lesen kannst. Überleg dir das Konzept besser nochmal...

> Die ! zeigen eine Befehlskette an. also das zwischen den ! etwas an
> daten geliefert wird.
Schon das ist ungeschickt. Wenn du mit einem Terminal was mitlesen 
möchtest, wäre ein CR+LF am Ende wesentlich sinnvoller als die 
Ausrufezeichen...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.