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?
Man kann beide auch direkt verbinden, hat jedenfalls bei meinen C167 funktioniert
Glaub ich nicht..., der Sender erwartet u.a. sein eigenes Sendesignal an Rx. Was funktioniert: -Alle Rx zusammen, pullup nach Vcc -alle Tx über eine je Diode an die Busleitung.
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
Würde mich mal interessieren, wie eine Direktverbindung funktionieren sollte.
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.
Das stand schon oben :-) Direktverbindung heisst für mich: ohne weitere Bauteile.
H.Joachim S. schrieb: > Direktverbindung heisst für mich: ohne weitere Bauteile. Und genau das geht nicht.
Vielleicht steht ja hier in der appnote von Siemens was drin: https://www.mikrocontroller.net/attachment/28831/siemens_AP2921.pdf
Ulf L. schrieb: > H.Joachim S. schrieb: >> Direktverbindung heisst für mich: ohne weitere Bauteile. > > Und genau das geht nicht. Warum sollte es für zwei Geräte nicht gehen?
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.
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.