Low Speed CAN fault tolerant TJA1055 Terminierung

OP #7876709
Lesenswert?

Ich hab einen TJA1055 CAN-Transceiver gemäß Datenblatt terminiert mit 5k6 so hat das bisher im Auto auch immer funktioniert.

Nun möchte zwei für einen Testaufbau miteinander verbinden. Die maximale Terminierung darf 500 Ω nicht unterschreiten, und als Gesamtwiderstand soll sich ungefähr 100 Ω ergeben. Dazu bräuchte es also mindestens 5 Teilnehmer, ich hab aber nur 2. Mir erschließt sich allerdings nicht wie dieser Wert zustande kommen soll, da die Transceiver nur mit ihren CAN Lines und GND verbunden sind, nicht mit ihren RTH, RTL Pins.

Das weitere Problem die Transceiver sind schon verlötet, ich komme an die RTH, RTL Pins sehr schlecht ran. Ich kann zwischen CAN-H und RTH sowie zwischen CAN-L und RTL meine beiden 5k6 messen, aber zwischen CAN-H und GND messe ich nichts.

Ich könnte nun einen dritten Teilnehmer mit 500 Ω hinzufügen und hoffen dass es dann geht. Ich würde aber gerne wissen ob es eine andere Möglichkeit der Terminierung gibt.

Angehängte Dateien:
#7876723
Lesenswert?

Wie und wo genau schließt Du den Transceiver denn an? Ein bestehender Bus im Auto sollte schon an beiden Enden mit 120Ω terminiert sein.

Die Widerstände beim TJA1055 an RTL und RTH scheinen ja nur im Fehlerfall benutzt zu werden, wenn ich das Datenblatt richtig verstehe.

#7876730
Lesenswert?

Daniel F. schrieb:

... dass man an beiden Enden zwischen CANH und CANL je einen Widerstand (120 Ohm) macht.

Wo sollen die Abschlusswiderstände auch sonst hin. Das hat nichts mit Mikrocontrollern und Digitaltechnik zu tun, sondern gehört zu HF: Um Reflektionen am Leitungsende zu unterbinden, muss die Leitung mit der Leitungsimpedanz abgeschlossen werden. Standardmäßige 120 Ω passen gut genug für Zweidrahtleitungen.

OP #7876734
Lesenswert?

Martin schrieb:

Wie und wo genau schließt Du den Transceiver denn an? Ein bestehender Bus im Auto sollte schon an beiden Enden mit 120Ω terminiert sein.

Es ist für den Testaufbau kein bestehender Bus verfügbar, nur zwei CAN-Transceiver miteinander verbunden. Ich hab Probleme mit der Bitrate und möchte deswegen andere Bitraten testen, dazu kann ich nicht ans Auto gehen.

Rainer W. schrieb:

Wo sollen die Abschlusswiderstände auch sonst hin.

Es gibt keine Abschlusswiderstände (siehe Seiten 25 und 62 Application Hints)

#7876823
Lesenswert?

Alexander schrieb:

Dazu bräuchte es also mindestens 5 Teilnehmer, ich hab aber nur 2. Mir erschließt sich allerdings nicht wie dieser Wert zustande kommen soll

Die Hinweise in "Application Hints TJA1055T - Fault-tolerant CAN transceiver" Kapitel 9.1 dürften deine Frage beantworten https://www.nxp.com/docs/en/application-note/AH0801.pdf

Das weitere Problem die Transceiver sind schon verlötet, ich komme an die RTH, RTL Pins sehr schlecht ran.

Für FT-CAN ist das ungünstig

OP #7876827
Lesenswert?

Martin schrieb:

Dann mach doch einfach mal bei Deinem Testbus an jedes Ende 120Ω.

Hab ich probiert geht nicht. Ich hab auch probiert je 470Ω zwischen L - VBat und H - GND, L - VCC und H - GND kleiner wollte ich nicht gehen da 1/4w.

Rainer W. schrieb:

Die Hinweise in "Application Hints TJA1055T - Fault-tolerant CAN transceiver" Kapitel 9.1 dürften deine Frage beantworten

und die Antwort lautet?

#7876831
Lesenswert?

Alexander schrieb:

und die Antwort lautet?

Die kurze Antwort: Stör dich nicht dran.

Die lange Version: "So within systems with less than 4 transceivers it is not possible to achieve the termination optimum of 100 Ohm. In practice this is typically no problem because such “small” systems will have less bus cable lengths compared to bigger networks and thus have no problem with a higher total termination resistances."

OP #7876843
Lesenswert?

Florian L. schrieb:

FT CAN erwartet schon die üblichen 120Ohm an den Enden des Buses.

Das macht für mich keinen Sinn, der Bus hat im Low-Power Modus einen 12V Pegel. Das wären 200mA bei 60Ω da wäre die Batterie über Nacht leer. Das ganze Auto zieht aber nur 15mA.

(Übrigens geil wie sich der Tippfehler durchs Internet zieht, es muss ISO 11898-3 heißen)

Angehängte Dateien:
Persönliche Seite #7876914
Lesenswert?

Für die, die hier mit 120Ohm Terminieren wollen, dass ist bei Fault Tolerant bzw. auch Low Speed CAN genannt nicht anzuwenden. CAN != CAN Die Terminierung funktioniert hier anders! Die Terminierung ist direkt an der Transceiver Seite mit z.B. 5,6KOhm umgesetzt und nicht wie man es vom HS CAN (ISO 11898-2) kennt mit 120Ohm am jeweiligen Bus Ende. Um die Ideale Terminierung von 100Ohm zu erreichen muss solch einem System entsprechend ausgelegt sein. Im Fahrzeug ist die Anzahl Teilnehmer in aller Regel bekannt und die Terminierung kann darauf ausgelegt werden.

Bei den PCAN HS CAN zu LS CAN Converter mit einem TJA1055 ist die Terminierung über einen Schalter umschaltbar von 5,6K zu 560Ohm.

Habe leider nicht mehr so oft mit FT CAN zu tun, aber das sollte mit zwei Teilnehmer für einen Labor Aufbau reichen wenn da dann ggf einer mit 560Ohm Terminiert. Zumindest tat das mit besagten PCAN Converter und einem CAN Modul mit kurzer Kabellänge. Zu beachten ist auch die Maximale Baudrate von 125kbit.

OP #7876932
Lesenswert?

Brauche ich einen Master der immer sendet? Im Moment ist es so dass der Empfänger nichts empfängt, und daher sendet der Sender auch nichts. Vermutlich weil er kein ACK bekommt, Henne Ei Dilemma. Ich teste mit 100kbit/s. Ich baue morgen mal einen dritten Teilnehmer auf mit 560 Ω per Jumper zuschaltbar.

#7876984
Lesenswert?

Thomas F. schrieb:

Schau mal bei Vector, Kapitel 4.4.5:

Mit dem Jumper kann man konfigurieren, ob der Knoten als Standardknoten oder als optionaler Knoten verwendet werden soll.

Nach Blockdiagramm Fig.4 in den App Hints von NXP zum TJA1055T auf S.12 findet die Umschaltung der Strombegrenzung im Ruhezustand intern im TJA1055T statt, d.h. der (externe) Widerstand (bei Vector: 4.7kΩ||560 Ω = 500 Ω bzw. 4.7kΩ) ist IMMER aktiv und zur Stromreduzierung wird beim gesteuerte Bus-Abschluss eine als Stromquelle dargestellte Struktur in Serie geschaltet.

Auch geht daraus hervor, dass die Steuerung des Abschlusswiderstandes bei FT-CAN IMMER über RTH/RTL (Tippfehler in der Fig.4) läuft. https://www.nxp.com/docs/en/application-note/AH0801.pdf

Alexander schrieb:

Ich kann zwischen CAN-H und RTH sowie zwischen CAN-L und RTL meine beiden 5k6 messen, ...

Für vernünftigen Abschluss müssen bei einem Bus mit nur zwei Teilnehmern zwischen CAN-H und RTH bzw. zwischen CAN-L und RTL jeweils etwa 500 Ω zu messen sein.

Wenn du dort 5.6 kΩ misst, sind deine Treiber als optionale Knoten aufgebaut und für die direkte Kommunikation in dieser Bestückung so eher nicht zu gebrauchen, weil ein (halbweg) richtiger Busabschluss komplett fehlt. Um das zu ändern, könntest du parallel zu den 5.6 kΩ je einen Widerstand von 560 Ω schalten, um auf etwa 500 Ω zu kommen. (Vector Kapitel 4.4.5, NXP App Hints 9.1.1.1 Variable System Size and Optional Nodes)

Alexander schrieb:

Ich hab einen TJA1055 CAN-Transceiver gemäß Datenblatt terminiert mit 5k6 so hat das bisher im Auto auch immer funktioniert.

Ja klar, im Auto bist du damit wahrscheinlich (als optionaler Knoten) auf den vorhandenen und korrekt abgeschlossenen Bus gegangen. Dann liegst du mit 5.6 kΩ völlig vernünftig (kleiner 6 kΩ lt. NXP unter Kap. 9.1.1.1) - kurz: works as designed.

Alexander schrieb:

... aber zwischen CAN-H und GND messe ich nichts.

Warum auch?

Alexander schrieb:

Da steht leider auch nur was im Datenblatt steht, Terminierung über die RTL RTH Pins.

So ist die Welt nun einmal - so ist FT-CAN spezifiziert.

Ich verstehe allerdings dein Problem nicht ganz. An RTH und RTL sollten nach deiner Beschreibung doch die 5.6kΩ Widerstände hängen und da jeweils einen passenden Abschlusswiderstand huckepack drauf zu löten, sollte doch kein Hexenwerk sein. Zeig einmal ein Photo von deiner Platine.

Alexander schrieb:

Ich würde aber gerne wissen ob es eine andere Möglichkeit der Terminierung gibt.

Um auf deine Eingangsfrage zurück zu kommen: Ja gibt es, so wie von Vector gezeigt, mit einem Jumper, um von Standardknoten auf optionalen Knoten umkonfigurieren zu können.

Angehängte Dateien:
OP #7877015
Lesenswert?

Rainer W. schrieb:

da jeweils einen passenden Abschlusswiderstand huckepack drauf zu löten, sollte doch kein Hexenwerk sein. Zeig einmal ein Photo von deiner Platine.

Das ist 0603 und ich müsste es nach dem Versuchsaufbau ja wieder runter löten. Da bau ich lieber einen dritten Teilnehmer auf. In der nächsten Revision werde ich das berücksichtigen.

Was mir nicht klar ist, wie errechnet sich der Gesamtwiderstand? Und wenn er sich berechnen lässt, wie sieht dann das Widerstandsnetz aus? Die RTL, RTH Pins der Transceiver sind wie gesagt nicht untereinander verbunden. Es gibt nur Kabel für GND, VBat, Vcc, CAN-H, CAN-L.

#7877053
Lesenswert?

Alexander schrieb:

Die RTL, RTH Pins der Transceiver sind wie gesagt nicht untereinander verbunden.

Ich kenne mich mit CAN nur sehr rudimentär aus, also bitte korrigieren, falls ich falsch liege. Vermutlich erkennen alle Knoten, sobald einer ein Start-Bit auf den Bus legt und schalten dann jeder auf niedrigen Bus-Abschluss, damit die Datenbits sauber über den Bus laufen. Der Gesamtabschlusswiderstand ergibt sich dann aus der Parallelschaltung der Widerstände aller Knoten. Nach Ende der Übertragung werden sie wieder auf den Minimalstrom schalten.

#7877375
Lesenswert?

Alexander schrieb:

Da bau ich lieber einen dritten Teilnehmer auf

Ein Fake-Teilnehmer aus 5V-Quelle, zwei 560Ω Widerständen und ggf. Kondensator geht vielleicht auch? Es reicht, die Terminierung nachzubilden.

Rainer W. schrieb:

Vermutlich erkennen alle Knoten, sobald einer ein Start-Bit auf den Bus legt und schalten dann jeder auf niedrigen Bus-Abschluss,

Die Terminierung kann im "normal mode" dauerhaft eingeschaltet bleiben.

mfg mf

#7877716
Lesenswert?

Alexander schrieb:

Ich hatte es so versucht. Allerdings ist mir nicht klar wieso CAN-L auf Vcc gezogen werden muss und nicht auf VBat.

Rcanl und Rcanh sollen den Isolationswiderstand und Leckströme symbolisieren.

Für Simulation des Fehlermodus "dauerhaft dominanter Pegel auf CANL" muss freilich CANL auf VCC gezogen sein. Ob VCC oder VBAT spielt keine Rolle, weil erkannt werden muss das bereits bei VCC-Pegel. Damit wird es bei VBAT-Pegel wohl auch erkannt.

mfg mf

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