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.
:
Bearbeitet durch User
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.
Hi, Martin schrieb: > Ein bestehender Bus im Auto sollte schon an beiden Enden mit 120Ω > terminiert sein. Ich kam mir schon alt vor, weil ich einfach davon ausging, dass man an beiden Enden zwischen CANH und CANL je einen Widerstand (120 Ohm) macht.
Die Terminierung mit 120 Ω zwischen den CAN-Lines trifft hier leider nicht zu, deswegen die Frage.
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.
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)
:
Bearbeitet durch User
Alexander schrieb: > Es gibt keine Abschlusswiderstände (siehe Seiten 25 und 62 Application > Hints) Bei kurzem Bus kann es ohne oder mit nur einem funktionieren. Das ist aber nicht der Sinn von CAN. Da geht es meist um längere Strecken. Ganz allgemein: https://support.maxongroup.com/hc/en-us/articles/360009241840-CAN-bus-topology-and-bus-termination
:
Bearbeitet durch User
Danke aber der Link passt hier nicht. Ich formuliere es anders. Abschlusswiderstände zwischen den CAN-Lines sind nicht zulässig. Das würde den Eindrahtbetrieb verhindern, was ja gerade das Alleinstellungsmerkmal des FT-CAN ist.
Dann mach doch einfach mal bei Deinem Testbus an jedes Ende 120Ω.
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
:
Bearbeitet durch User
FT CAN erwartet schon die üblichen 120Ohm an den Enden des Buses. Nur im Fehlerfall kann der TJA1055 in den Eindrahtmodus schalten, wo diese Widerstände dann verwendet werden. Die Datenrate darf übrigends maximal 125kbit/s betragen.
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?
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."
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)
:
Bearbeitet durch User
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.
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.
:
Bearbeitet durch User
Alexander schrieb: > Vermutlich weil er kein ACK bekommt Nimm ein Oszi und guck dir an, was auf dem Bus passiert. Dann kann aus dem "vermutlich" Gewissheit werden. Um herauszubekommen, von welchem Teilnehmer ein Pegel kommt, hilft ein Serienwiderstand in der Leitung.
Hab ich leider nicht. Ich hab nur ein DSO-138 da kann man die Frequenz nicht selbst auswählen, die sucht sich das Display selbst aus. Das funktioniert aber nur für PWM und AC einigermaßen gut.
Alexander schrieb: > 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. Klingt nicht schlecht. Schau mal bei Vector, Kapitel 4.4.5: https://cdn.vector.com/cms/content/products/Hardware_Accessory/docs/Accessories_EN.pdf
Alexander schrieb: > Ich hab nur ein DSO-138 da kann man die Frequenz > nicht selbst auswählen, Das halte ich für seehr unwahrscheinlich. "Timebase" wählen und Parameter mit +/- Tasten einstellen.
Thomas F. schrieb: > Klingt nicht schlecht. Schau mal bei Vector, Kapitel 4.4.5: Da steht leider auch nur was im Datenblatt steht, Terminierung über die RTL RTH Pins.
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.
:
Bearbeitet durch User
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.
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.
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
:
Bearbeitet durch User
Ich hatte es so versucht. Allerdings ist mir nicht klar wieso CAN-L auf Vcc gezogen werden muss und nicht auf VBat.
Achim M. schrieb: > Die Terminierung kann im "normal mode" dauerhaft eingeschaltet bleiben. Das ist aber vielleicht nicht das, was mit dem Aufbau getestet werden soll.
:
Bearbeitet durch User
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
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.