Forum: Mikrocontroller und Digitale Elektronik RS485 über CAN-Transceiver ?


von Andrej (Gast)


Lesenswert?

Hallo,

kurze Frage.
Ich möchte mit möglichst wenig Aufwand aus CAN RS485 machen.

Kann ich meinen jetzigen CAN_transceiver vom CAN-Controller trennen und 
an die UART des µC anschließen (Rx, Tx und Steuerleitung für 
Senden/Empfangen) ?
Das RS485 Protokoll muss dann natürlich noch geschrieben werden.
Aber das sollte es dann sein oder muss dabei noch etwas spezielles 
beachtet warden ?

Es geht mir hierbei rein um das physikalische...Habe hier und da schon 
gelesen, dass es wohl funktionieren soll, sicher bin ich da aber nicht.

Danke !

von Frank B. (f-baer)


Lesenswert?

CAN ist ein Protokoll, UART ebenso. Wie soll ein physikalischer Layer 
das umsetzen?
Zusammengefasst: Nein, das funktioniert nicht.

von Bjojon (Gast)


Lesenswert?

Bei CAN wird in der ISO 11898 auch der Layer 1 (physikalische Schicht) 
definiert - nicht nur das Protokoll.

(Full-Speed) CAN und RS485 haben unterschiedliche phys. Layer, daher 
geht das eigentlich nicht. Beide arbeiten aber mit Differenzsignalen, 
wenn auch mit unterschiedlichen Pegeln.

Da die normalen RS485 Receiver schon so ab 0,2V Differenz einen Pegel 
erkennen, könnte das theoretisch funktionieren. Sauber wäre es näturlich 
einen richtigen RS485 Transceiver zu verwenden, sollte auch nicht 
aufwendiger sein.

von Andrej (Gast)


Lesenswert?

mit anderen Worten, ich brauche auf jeden Fall einen RS485 Transceiver, 
den ich an die UART klemm für Kommunikation mit RS485 ?

Ich meine irgendwo mal gelesen zu haben, dass ich die 
Schnittstellenbausteine, also die Transceiver, austauschen kann, da 
beide Transceiver differentiell arbeiten oder schmeiß ich da jetzt was 
durcheinander ?

von Andrej (Gast)


Lesenswert?

Ja, der Aufwand sollte nicht wirklich größer sein...
mir gings eigentlich nur um Prinzip bzw. die zusätzlichen Kosten für die 
RS485 Transceiver.

in größerer Stückzahl machen die sich ja schon bemerkbar.

von Bjojon (Gast)


Lesenswert?

Was meinst du mit größerer Stückzahl? Wenn du das in einem kommerziellen 
Produkt verwenden willst würde ich dringend empfehlen den korrekten 
Treiber zu verwenden.

Fürs Basteln könnte es mit dem CAN Transceiver gehen, evtl. musst du an 
CAN-H einen Pull-Down anklemmen, damit im Rezessiven Zustand ein 
eindeutiger Buspegel anliegt. Im Unklaren bin ich mir beim "Send Enable" 
Anschluss des RS485 Treibers, so was gibt es bei CAN eigentlich nicht. 
Probieren geht über studieren...

Ich habe mal kurz die Pinbelegung der von uns verwendeten Transceiver 
für CAN und RS485 verglichen - sind auf den ersten Blick nicht 
Pinkompatibel. Ein einfaches austauschen der Treiber wird vermutlich 
nicht funktionieren. Am besten im Laxout eine Bestückungsoption 
vorsehen.

von Conny G. (conny_g)


Lesenswert?

CAN:

http://www.can-cia.org/index.php?id=systemdesign-can-physicallayer#c2068

ISO 11898-2 high speed
[...]
The characteristic line impedance is 120 Ohm, the common mode voltage 
ranges from −2 V on CAN_L to +7 V on CAN_H.
[...]

-> Spannung von -2V bis +7V


RS 485:
http://www.ti.com/lit/an/slla070d/slla070d.pdf

-> Spannung von -7V bis +12V


Comparison:
http://www.ixxat.com/download/artikel_20105_can-vs-rs485_e.pdf

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.