www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmels, welchen Bus nehmen ?


Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mitleser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jemand der so was ins auto einbauen will sollte mal mit einer LED + 
einem Taster anfangen...

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CAN wäre typisch für Automotive...

Autor: Kevin K. (nemon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
I²C, muss ja wahrscheinlich nicht allzu schnell sein, da kann das auch 
über 5 Meter Kabel geführt werden.

Autor: Thomas Klima (rlyeh_drifter) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RS485 ist sehr störsicher und die Software ist RS232 sehr ähnlich, da 
sparst dir die i²c library ...

gibts zu RS486 auch nen Overdrive, damit man auf 66 MHz kommt? ;-)

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Alex22 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die MCs sollen im Auto verbaut werden,

Also CAN :-P
Ist seit Jahren im Einsatz und hat sich bewährt.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Julian O. (juliano)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du könntest auch über Lin nachdenken. Läuft auf der (in jedem AVR 
vorhandenen) UART-Schnittstelle und ist auch ein Bus nach Automotive 
Standard

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>du könntest auch über Lin nachdenken.

... ebenso über USB, Ethernet, ...

Ich denke, er sucht eine Problemlösung und kein neues Problem :-)

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Multimasterfähigkeit (Stichwort Busarbitrierung) sollte CAN das 
Nervenschonendste sein. Bei Singlemaster nimmt man üblicherweise RS-485.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.