Forum: Mikrocontroller und Digitale Elektronik MD-Bus Transceiver, kann man ihn so lassen?


von Sven (Gast)


Angehängte Dateien:

Lesenswert?

Hallo.

Anbei habe ich die Schaltung meines MD-Bus Transceivers angefügt.

Was ist der MD-Bus?
Der MD Bus ist stark an Modbus bzw an ein RS485-Multidrop 4 Wire 
Netzwerk angelehntes Bussystem.
Er wird mit einer 6-Adrigen, geschirmten Leitung installiert. Sollte 8 
Adrige Leitung benutzt werden, wird die

Spannung über je 2 Drähte geführt, um den Querschnitt zu erhöhen.

Sollten weniger als 6 Adern zur Verfügung stehen, kann die betreffende 
Linie auch im Halbduplex Modus betrieben

werden. Hierfür werden dann die RX und TX Anschlüsse gebrückt und der 
Jumper FD/HD auf Halbduplex gesetzt.

Jede Linie unterstützt 32 Empfänger. Mittels eines Hubs können mehrere 
Linien realisiert werden und so mehr als 32

Empfänger Geräte angesteuert werden, oder es kann auch als Baumstruktur 
installiert werden.

Die Baudrate ist noch nicht festgelegt, sie soll sich im Bereich 
zwischen 9k6 und 250k bewegen.
Das Protokoll steht auch noch nicht fest, so dass die Schaltung zunächst 
Protokoll-Unabhängig ist.

Jedoch muss das Logikboard vor und nach dem eigentlichen Paket eine 
entsprechende Anzahl 1 Bits bzw 0 Bits senden, um den Sendezweig sicher 
zu öffnen bzw zu schließen.

Arbeitsweise der Transceiver Schaltung:


Vom Logikboard kommend geht es über das Gatter IC4D auf den Optokoppler 
2. Von dort aus wird über das Gatter IC1C der MAX489 angesteuert.
Der Sendeteil wird über die GAtter IC1D und IC1E, eine RC Kombination 
und das Gatter IC1F aktiviert.
Wenn ein 1-Bit vom Logikboard gesendet wird, soll der Sender so schnell 
wie möglich aktiviert werden und mit einer Nachlaufzeit aktiviert 
bleiben, um auch 0-Bits senden zu können.

Im Halbduplex Modus wird gleichzeitig der Empfänger deaktiviert, damit 
keine "Schleife" entsteht.


Der Empangszweig ist wie folgt realisiert: Vom MAX489 kommend werden die 
Daten über das Gatter IC1A geleitet und hiermit der Optokoppler OK1 
angesteuert. Am Ausgang des Optokopplers steht ein Open Collector Signal 
zur Verfügung, so dass ein Pullup Widerstand erforderlich ist.
Das empfangene Signal wird dann jeweils invertiert und nicht invertiert 
an das Logikboard gegeben.


Ich hoffe, ich habe keine Denkfehler im Transceiver Board drin.
Ich würde mich auch über Berbesserungsvorschläge und Anregungen zur 
Schaltung freuen.

von Mathias O. (m-obi)


Lesenswert?

Warum finde ich über den Bus nix im Internet?  Hat der noch einen 
anderen Namen?

von christian (Gast)


Lesenswert?

Hallo, der Abschlusswiderstand R8 ist nur an R- angeschlossen. Der 
sollte wahrscheinlich zwischen R- und R+ angeschlossen werden.

von Sven (Gast)


Lesenswert?

Hallo Christian, Danke für den Hinweis.

Matthias, doch du kannst im Internet Infos finden.
Es ist sehr stark an Modbus angelehnt.
Aber ich werde das Protokoll abändern.

Als Protokoll auf der Bitübertragungsschicht wollte ich 8N1 benutzen, 
damit es möglichst einfach mit dem UART gängiger Mikrocontroller benutzt 
werden kann.

Der TX Control Pin des MAX485 wird nicht direkt über den Prozessor 
gesteuert, sondern über Schmitt-Trigger und RC Kombination, um den 
zusätzlichen dritten Optokoppler zu sparen, und auch um 
"Controllerlose", rein elektrisch arbeitende  Umsetzer bzw Repeater 
machen zu können.

Auf jeden Fall soll die Startsequenz des Protokolls auch ein variables 
"Umschalt-Delay" berücksichtigen falls man Halbduplex macht.

Zum Beispiel, in dem ich n mal 0xAA sende, gefolgt von einem 0xAA 0xF0 
als eigentliche Startsequenz für das Protokoll.

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.