Ist es es möglich das mehrere AVRs über UART miternander Kommunizieren wenn ich wie beim lan erst die Addresse und dann die Daten sende??? bin Dankbar für jede Antwort, habe schon im Datasheet nachgeschaut, aber nichts Aufschlussreiches gefunden was mir weiterhelfen könnte.
Ja, u.a. mit UART im multiprocessor mode.
Mehrere = mehr als einer... Ja, das geht: 2 AVR können problemlos über ihre UARTs kommunikzieren. Ob solche "antiquierten" wie der AT90S2313 das können, weiß ich nicht.
Ich bin gerade dabei zu überlegen wie ich die daten von meheren AVRs zu einer art Datensammelstelle (bei mir der atmega8535) bekomme und diese dann von dem anzeigen lasse. Alleine wäre der Atmega mit den zu ermittelnen Daten überfordert.
Ich hab's bisher noch nicht gemacht, aber ich würd's als erstes mal mit SPI ausprobieren. Ein AVR spielt dann Master (z.B. deine Sammelstelle) und die anderen signalisieren eine anstehende Datenübertragung mit nem normalen High oder Low-Pegel an je einem Pin beim Master. Wenn aber der AVR von Haus aus was unterstützt (siehe Tip von Michael), solltest Du das vielleicht vorziehen. Schau halt mal ins Datenblatt ob deiner sowas unterstützt (ich hab nen AVR bisher nur auf Bildern gesehen ;), kenn mich da also nicht aus).
SPI hat der Atmega aber nicht derAT90S2313. außerdem habe ich mich mit SPI bisher nicht außernander gesetzt.
sorry verschriebeb. der 2313 hat kein SPI, der Atmega schon
Und SPI kann man ziemlich einfach in Software reaslisieren.
Zur Kommunikation zwischen Controllern gibt es eine ziemlich grosse Menge an Möglichkeiten. Es kommt wie immer darauf an, was man machen mit welchem Aufwand machen will. Die Umgebung spielt auch eine Rolle. CAN benutzt man in "EMV-verschmutzter" Umgebung, wenn es um sicheren Datentransfer geht. Schnittstellen wie I²C oder SPI werden meist nur direkt auf Platinen/Baugruppen zur Kommunikation benutzt. Der von Michael angesprochene Multiprozessor-Mode ist eine wunderbare Möglichkeit für die Kommunikation auf einem Multimaster-Bus, ohne CAN benutzen zu müssen (CAN wäre in diesem Fall wohl wie mit grosskalibrigen Waffen auf kleine Vögel zu schiessen...). Wenn du uns an deiner Problemstellung teilhaben würdest, könnte man auch weniger schwammige Antworten geben. Meist ist es nämlich so, dass man sich auf eine bestimmte Lösung festgelegt hat, und dann jemand anders eine wesentlich einfacherer Lösung für das gleiche Problem hat...
Auch der At90S2313 kann die UART so betreiben; ebenso auch die 8051er und viele andere µPs. Als typische Baudrate eignet sich 62,5kBd.
Zu Rahul: Ich bin gerade dabei eine Lüfterregelung zu bauen. Da ich diese aber später durch erweiterung meines Lüfter-Inventars und vielleicht auch mehr temp sensoren erweitern möchte (sprich: mehr "kleinere" Mikrokontroller für die Messung der Daten dazu kommen) brauche ich ein System ähnlich dem von PCI,also einen Bus. Die Addressen sind kein Problem für mich, nur der Weg wie ich die Daten zum Hauptkontroller bekomme. als enfachste Lösung erschien mir, dass ich jedes Sensormodul nacheinander abfrage, doch das ist nicht gerade elegant da ich dafür schon an die I/O-Pins brauche.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.