Hallo Leute, ich hätte mal eine Frage über die Serielle Schnittstelle an µC'n. Ist es möglich mit ihr ein Bussystem aufzubauen?
Falls Du die asynchrone serielle Schnittstelle (UART) meinst, dann NEIN. Die geht bidirektional nur Punkt zu Punkt, bzw. unidirektional 1 Sender zu mehreren Empfängern.
Schade, ich habe gerade ein Projekt mit den Cypress USB Controller am laufen. Dieser hat 2 UART's. Den einen brauch ich zur Verbindung zu einem anderen µC, der ein G-Display ansteuert. Den anderen wollte ich als Bus zur Steuerung von Erweiterungen benutzen. Kann mir vielleicht jemand weiterhelfen was für einen Bidirektionalen Bus ich verwenden kann? (CAN, RS428,...) PS. hauptsache unaufwendig.
es geht auch mit der UART, allerdings nur, wenn man den 5V-Pegel benutzt oder Treiber findet/sich baut, die tristate haben. Empfänger- und Senderpin werden alle gemeinsam an eine Leitung angeschlossen. Es darf immer nur ein Sender an der Leitung aktiv sein, ansonsten muß der Transmitter abgeschaltet werden und der TxD-Pin hochohmig geschaltet werden. Der Rest ist eine Protokollfrage. Am einfachsten ist es, einen Proc zum Master zu ernennen, der ist der einzige, der Senderechte verteilen kann. Hardware:keine. Software: schon relativ anspruchsvoll.
im Prinzip ist das dann eine Verbindung nach RS485, wenn du die entsprechenden Treiber beutzt, sogar eine richtige, halb-duplex.
Man kann ein Quasi-Bussystem aufbauen: Wenn zu jedem Datenpaket ein Adresse mitgeschickt wird und nur jeweils ein Gerät antwortet (also jede Adresse nur einmal vergeben ist), können mehr als 2 Geräte über RS232 kommunizieren. Wenn es nur einen Master gibt, ist es auch kollisionsfrei. Die Elektronik muss entsprechend ausgelegt sein, also z. B. Open-Kollektor-Ausgänge/Fototransistoren und Pull-Up-Widerstand.
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.