Moin! Kann ich irgendwie mit den Pins RXD/TXD einen Bus aufbauen, sodass mehrere uCs über diesen Bus miteinander kommunizieren können? Wie weit könnte man einen solchen Bus ausdehnen? mfg see4far
Hier ist mit RS485 angebracht. Das ist eine Erweiterung vom RS232. Damit können mehre Bauteile am Seriellen Bus hängen. Die Entfernung ist ein Frage der Datenrate und der EMV-Umgebung. Der Dicke des Drahtes ist auch für den Spannungsabfall entlang des Drahtes entscheidend. Wenn der Bus auf einer Platine bleibt, dann ist es nur ein Softwareproblem. Die Softwäre in jedem Teilnehmer am Bus muss es unterstützen. Jeder Teilnehmer benötigt eine eindeutige Kennung. Dann ist noch zuklären ob es nur einen Master oder mehrer Master geben darf. Mit einem Master ist es einfacher. Da dürfen die restlichen Bausteine nur Antworten wenn sie gefragt werden, Das erspart Datenkollisionen auf dem Bus. Als Vorbild kannst du den I2C Bus nehmen.
Kann man. Z.B. als Ring (TXD an RXD des nächsten). Ergibt auch ein sehr einfaches Protokoll (alle Daten, die nicht für mich sind, weitersenden) sowie absolute Kollisionsfreiheit. Für längere Leitungen einen MAX232 je MC dazwischen schalten. Peter
"Mit einem Master ist es einfacher. Da dürfen die restlichen Bausteine nur Antworten wenn sie gefragt werden, Das erspart Datenkollisionen auf dem Bus." Wieso? Er kann doch einen Ringbus machen.
> Hier ist mit RS485 angebracht.
Oder statt dessen ein CAN-Bus Transceiver. Hat den Vorteil, dass sich
zwei versehentlich parallel laufende Transmitter nicht gegenseitig
aufheizen und spart den Pin für Tx-Enable.
Vielen Dank für die schnellen Antworten! Kann ich auch irgendwo im Netz gute Anleitungen dazu finden? Bis jetzt habe ich immer nur Seiten gefunden, wo ich nicht ganz durchgestiegen bin. Vielleicht kennt ja jemand von euch ein gutes Tutorial. thx see4far
hab mich nochmal etwas umgesehen. RS485 find ich ganz interessant. könnte mein computer dann über die usb-schnittstelle auch mit dem bus kommunizieren? ich habe im datenblatt des FTDI FT232BM auf Seite 19 eine Schaltung für einen USB<=>RS485-Konverter gefunden (http://www.ftdichip.com/Documents/DataSheets/ds232b17.pdf). bloß stellt sich die frage, wie ich die schnittstelle dann softwareseitig ansprechen kann. behandel ich die dann wie eine RS232-schnittstelle? wäre schön, wenn mir jemand weiterhelfen könnte und ihr eure meinung zur USB-RS485-Kombination sagen würdet. vielen dank schon mal. see4far
Wenn sich schon keiner dazu äußern will, hab ich gleich noch eine Frage dazu, und zwar: Könnte ich evtl. später die an den Bus angeschlossenen uCs über den RS485-Bus-USB-Adapter (g) mit dem angeschlossenen PC programmieren? Evtl. mittels Bootloader? Kann mir jemand kurz erklären, wie soetwas gehen würde? mfg see4far
Da bei RS485 immer alle Geräte am Bus alles hören, muss man ein Protokoll benutzen (kann auch was selbst erfundenes sein) dass immer nur das "richtige" Gerät sich angesprochen fühlt und reagiert. Der Bootloader in den µCs muss dann schon dieses Protokoll beherrschen sonst geht da nix. Gruß Dieter
Für die USB zu RS485 Converter von FTDI gibt es einen Treiber vom Hersteller. Hier gibt es eine virtuelle Serielle Schnittstelle im Gerätetreiber. Die Programmierung ist genau wie bei einer normalen Seriellen. Wie das mit dem Bootload geht habe ich keine Ahnung.
aber gerade das Bootloading interessiert mich ... vielleicht kennt sich ja jemand damit aus ... see4far
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.