Forum: Mikrocontroller und Digitale Elektronik Bus mit Rx/Tx


von see4far (Gast)


Lesenswert?

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

von doß René (Gast)


Lesenswert?

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.

von Peter Dannegger (Gast)


Lesenswert?

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

von Johannes (Gast)


Lesenswert?

"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.

von A.K. (Gast)


Lesenswert?

> 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.

von see4far (Gast)


Lesenswert?

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

von see4far (Gast)


Lesenswert?

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

von see4far (Gast)


Lesenswert?

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

von dds5 (Gast)


Lesenswert?

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

von see4far (Gast)


Lesenswert?

Gibt es denn einen Bootloader, bei dem ich das implementieren könnte?

von René Doß (Gast)


Lesenswert?

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.

von see4far (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.