CAN Transceiver nötig?

Gast #1528290
Lesenswert?

Hallo ich habe 2 Starterkits von TI und möchte mich im Rahmen einer 
Studienarbeit mit CAN beschäftigen.Meine Frage ist brauch ich umbedingt 
einen CAN Transceiver den ich zwischen beide schalte?Oder kann ich auch 
so eine Kommunikation aufbauen, da beide ja genau nebeneinander stehen?
#5010959
Lesenswert?

Hallo,
ich bin in einer ähnlichen Situation. Ich weiß das es auch ohne geht! So 
kann man ihn bei On-Board-Komunikation auf jeden Fall weg lassen! Was 
mir jedoch nicht bekannt ist, ist ab wann ein Transceiver verwendet 
werden sollte?! Also ab welcher Leitungslänge? Hast hierzu jemand Infos? 
Wäre stark!

Grüße,

Lukas
Gast #5011133
Lesenswert?

H.Joachim S. schrieb:

> Würde mich mal interessieren, wie eine Direktverbindung funktionieren
> sollte.

1) Alle RxD verbinden
2) von RxD einen 1k-Widerstand nach VDD schalten
3) an jedem Teilnehmer TxD über eine Diode mit RxD verbinden. Kathode zu 
TxD, Anode zu RxD (so dass TxD den Bus nach low ziehen kann).

Maximale Leitungslänge mit diesem Aufbau: ca 50 cm.
Angehängte Dateien:
#5012185
Lesenswert?

Ganz sauber ist es generell ohne Transceiver nicht. Der CAN Hört beim 
Senden auch die Empfangsleitung ab um zu lauschen ob es eine Kollision 
gibt. Beim CAN Wird auf dem Bus das Differenz Signal aus der Summe von 
RX und TX Signal übertragen. Und  genau das bekommt ihr ohne Transceiver 
nicht hin. Egal ob nur zwei oder mehr Teilnehmer angeschlossen sind.
Schaut mal nach RS485 dort das ist die selbe Physikalische übertragung.
Gast #5012284
Lesenswert?

Christopher J. schrieb:

> Warum sollte es für zwei Geräte nicht gehen?

Bei TTL oder NMOS geht es, bei CMOS nicht. Erstere treiben ihre Ausgänge 
per Transistor nach Masse und per Widerstand (bzw Stromquelle nach 
Plus), letzere haben Gegentakt-Endstufen.

Mit NMOS-Ausgängen hängst Du alle vier Leitungen (2x RxD, 2x TxD) 
zusammen, und sobald einer einen Low-Pegel ausgibt, ist halt low. Diesen 
Betriebszustand wird Dir kein Hersteller freigeben, in der Praxis 
funktioniert es aber.

Bei CMOS-Ausgängen würde es einen Kurzschluß geben zwischen dem 
Controller, dessen TxD den oberen Transistor eingeschaltet hat (für 
High) und dem der Low ausgibt. Daher muss man sich hier die open 
collector (bzw open drain)-Konfiguration mit Dioden und Pullup basteln.



RxD und TxD kreuzweise verdrahten (wie bei UART) geht in der Tat nicht, 
da der Controller sich beim Senden zuhören muss.
#5012400
Lesenswert?

Tobias K. schrieb:
> Schaut mal nach RS485 dort das ist die selbe Physikalische übertragung.

Nein. RS485 hat Push-Pull-Ausgangsstufen um das Differenzsignal zu 
übertragen. Wenn 2 Teilnehmer gleichzeitig senden, gibt es einen 
Kurzschluss.

Bei CAN wird nur in eine Richtung aktiv getrieben. Daher gibt es bei CAN 
keinen Kurzschluss wenn 2 Teilnehmer gleichzeitig senden. Der 
Teilnehmer, der das rezessive Signal senden möchte, erkennt, daß auf dem 
Bus das dominante anliegt und schaltet sich auf stumm bis die Nachricht 
mit der höheren Priorität durch ist.
#5015109
Lesenswert?

soul e. schrieb:
> RxD und TxD kreuzweise verdrahten (wie bei UART) geht in der Tat nicht,
> da der Controller sich beim Senden zuhören muss.

Da hatte ich einen Denkfehler, weil ich erst dachte, das genau das ginge 
aber geht natürlich nicht.

soul e. schrieb:
> Mit NMOS-Ausgängen hängst Du alle vier Leitungen (2x RxD, 2x TxD)
> zusammen, und sobald einer einen Low-Pegel ausgibt, ist halt low. Diesen
> Betriebszustand wird Dir kein Hersteller freigeben, in der Praxis
> funktioniert es aber.

Das wiederum entspricht aber doch prinzipiell genau der Diodenveroderung 
aus der Appnote von Siemens, die Karls Quell gepostet hatte oder liege 
ich da falsch? Das sollte dann doch auch möglich sein, wenn der CAN-TX 
als Open-Drain Ausgang mit internem Pullup konfiguriert ist und der 
CAN-RX als Eingang und einfach alles an eine Strippe gehängt wird. Das 
wäre dann gewissermaßen die Siemens-Appnote mit "internen Bauteilen" und 
sollte dann ja sogar auch mit mehr als zwei Teilnehmern funktionieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren