www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bus mit Rx/Tx


Autor: see4far (Gast)
Datum:

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

Autor: doß René (Gast)
Datum:

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

Autor: Peter Dannegger (Gast)
Datum:

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

Autor: Johannes (Gast)
Datum:

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

Autor: A.K. (Gast)
Datum:

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

Autor: see4far (Gast)
Datum:

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

Autor: see4far (Gast)
Datum:

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

Autor: see4far (Gast)
Datum:

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

Autor: dds5 (Gast)
Datum:

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

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es denn einen Bootloader, bei dem ich das implementieren könnte?

Autor: René Doß (Gast)
Datum:

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

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aber gerade das Bootloading interessiert mich ... vielleicht kennt sich
ja jemand damit aus ...

see4far

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.