Forum: Mikrocontroller und Digitale Elektronik CAN Terminator IC


von Peter M. (pm4812)


Lesenswert?

Hallo zusammen!

Ich suche eine Lösung bei der die CAN-Terminierung von einem IC 
übernommen wird. Meine Vorstellung wäre ein kleiner Chip, z.B. ein 
SOT23-5 mit 5V0, Gnd, CAN-High, CAN-LOW und einem Input mit dem man die 
Terminierung ein- bzw. ausschalten kann.

Wenn die Terminierung (durch den GPIO) aktiviert ist, soll der Chip eine 
CAN-Terminierung gem. dem "Split Termination" Konzept machen (siehe: 
https://www.ti.com/lit/an/slla270/slla270.pdf - Seite 8).

Wäre schön, wenn er seine VREF auch selbst aus den 5 Volt (oder 3V3) 
macht. Den MLCC pappe ich natürlich extern dran. Das wären zu viel 
Wünsche auf einmal ;)

Gibt es sowas? Wenn ja, eine Teile-Nummer wäre super!

Wenn man so eine zuschaltbare Terminierung aus diskreten Bauteilen 
aufbauen muss, werden das doch recht viele Bauteile für so eine einfache 
Aufgabe.

Danke und Grüße
pm

von Benjamin K. (bentschie)


Lesenswert?

Hallo,

ich kann mir ja nicht vorstellen, das es sowas gibt. Es ist einfach kein 
Anwendungsfall. Der Abschlusswiderstand wird am letzten Gerät/Stecker 
des Busses aktiviert, und dann nie wieder geändert.
So zumindest in 99% der Fälle.

Und ja ich kenn auch den Rest, wo man das gerne Konfigurieren/per SW 
ändern möchte.

Vorschlag:
- kleines zweipoliges Signalrelais für CAN-H und CAN-L zwischen Bus und 
Terminierung. Oder einen Schalter.
- zwei 60 Ohm Widerstände
- ein Kondensator
- bei sehr vielen Bustransceivern sind die Vref rausgeführt. Die kann 
man ja gleich verwenden.

von Harald A. (embedded)


Angehängte Dateien:

Lesenswert?

Als fertiges IC kenne ich das nicht. Für eine einfache CAN-Terminierung 
habe ich mal eine Applikation von Microchip erfolgreich ausprobiert, wo 
wie den 120Ohm in Reihe mit einem N-Kanal MOSFET gesetzt ist. Das Gate 
wird dann von einer hohen Gate-Spannung (z.B. 18V) angesteuert. Solange 
man ein CAN-Netzwerk hat, in dem die Potentiale zueinander einigermaßen 
identisch sind kann man das so machen, da die Gate-Source Spannung immer 
genügend hoch über den typischen CAN-Signalen liegt.
Mit jeweils zwei N-Kanal MOSFETs in Back-to-Back (z.B. in einem SOT23-6 
oder kleiner) in Reihe zu den beiden Split-Widerständen  kann man das 
auch auf Split-Terminierung übertragen. Die hohe Gate-Spannung (meist 
max. 20V UGS) hat man oder man muss sie sich erzeugen (z.B. MT3608 
(SOT23) i.V.m. Spule DFE252012P-4R7M=P2). Über den ON/OFF-Pin des 
Step-Up hätte man dann gleich die gewünschte Funktion. Gut, es sind drei 
SOT23+L+C+R, man bleibt aber innerhalb weniger mm². Im  MT3608-Design 
kann man dabei die C sehr klein halten, es handelt sich nur um eine 
statische Spannung. Wer den MT3608 als asiatisches Bauteil nicht mag 
kann auch z.B. den TLV61046A nehmen.

: Bearbeitet durch User
von Gerd E. (robberknight)


Lesenswert?

Ich kenne leider kein IC der das fertig kann.

Ich sehe aber durchaus Sinn in soetwas. Denn ein Punkt ist bei 
CAN-Terminierung im Industrial-Bereich immer ein Problem: Stabilität 
unter dauerhafter Fehlerspannung.

Also jemand klemmt die Kabel falsch an und verbindet die 24V-Versorgung 
aus Versehen mit den CAN-Leitungen. Wenn man die richtigen 
CAN-Transceiver nimmt, überleben die das auch mit 48V noch ohne Probleme 
und dauerhaft. Aber die Terminierungswiderstände fackeln bei 24V ratz 
fatz ab wenn man da nicht vollkommen unpraktisch große Oschis nimmt.

So ein Terminierungs-IC könnte da eine integrierte Überspannungs- oder 
Übertemperaturüberwachung mitbringen und diese Fälle ohne Bauteilgrab 
einfach abfangen.

von Paul B. (paule201)


Lesenswert?

https://www.ti.com/lit/ug/tiducf3/tiducf3.pdf?ts=1741942446458

Kein fertiges (einzelnes) Bauteil, aber die Lösungen im Ref-Design + 
Testing sind sicher trotzdem lesenswert.

von Volker Z. (vzavza)


Lesenswert?

Per Software geschaltete Terminierung ist Müll.

Szenario 1:
Du misst zu kleine Pegel auf dem Bus und vermutest zu viele 
Terminierungen.
Du schaltest alle Geräte aus um den Widerstand zu messen. Die 
Terminierung wird wirkungslos. Du misst 60 Ohm. Alles ok. Du schaltest 
die Geräte wieder ein. Du machst ein blödes Gesicht.

Scenario2:
Du musst das Gerät vom Ende des Busses in die Mitte verschieben und 
willst die Terminierung abschalten. Du bist aber nicht von dem 
Hersteller und hast die Konfigurationssoftware nicht. Du machst ein 
blödes Gesicht.

Terminierungen werden in Hardware gemacht, so das jeder Servicetechniker 
sie setzen/entfernen kann, auch ohne Software!

von Harald A. (embedded)


Lesenswert?

Ja, gut, wenn es in die Richtung der Sinnhaftigkeit des Vorhabens geht 
würde ich ebenfalls der Variante elektronisch geschaltete Terminierung 
widersprechen.

- Ausgeschaltet nicht vernüftig messbar (sofern nicht mit bistabilen 
Relais)
- Störung im Gerät, dass die Terminierung machen soll, legt evtl. den 
ganzen Bus lahm
- Bei Versetzung von Komponenten ist die Konfiguration u.U. schwer 
durchschaubar

Aber hey, wenn sich der TE da ausreichend Gedanken gemacht hat gibt es 
durchaus Möglichkeiten.

Meine Schaltung oben benötigt grob 8 Bauteile inkl. Step-Up (exkl. 
Terminierung selbst)

: Bearbeitet durch User
von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Opto MOSFET Relais, dass den Terminierungewiderstand schaltet?

von Harald A. (embedded)


Lesenswert?

Uwe B. schrieb:
> Opto MOSFET Relais, dass den Terminierungewiderstand schaltet?

Geht. Brauchst aber bei Split-Terminierung zwei Stück.

Bei LCSC kostet der oben in der AppNote verwendete TLP175A 59$ct...
Okay, Deine Lösung gewinnt ;-) Vlt. nicht ganz vom Platz her, preislich 
Gleichstand mit meiner Lösung.

Edit. TLP175A evtl. etwas hoher Rds on (25..50Ohm). Vlt. etwas Besseres 
suchen.

: Bearbeitet durch User
von Peter M. (pm4812)


Lesenswert?

Hallo zusammen!

Danke schonmal für eure Antworten. Ich hatte schon irgendwie den 
Verdacht, dass es für die Aufgabe keine weit-verbreitete, oft genutzte 
Lösung gibt, die jedem - außer mal wieder mir - bekannt ist. Bei meiner 
Suche mit Tante Google bin ich da nämlich auch nicht weiter gekommen. 
Bei RS sind ein paar ICs als CAN-Terminator gelistet, die sich dann bei 
einem kurzen Blick auf das Datenblatt als USB Terminator ICs entpuppen 
:o|

Warum ich überhaupt gefragt hatte: Ich hatte mal mit einem CAN 
USB-Dongle von National Instruments gearbeitet. Und bei dem konnte man 
in den Geräte-Einstellungen die Terminierung über Software zuschalten. 
Bei einem USB-RS485 von National Instruments kann man ebenfalls im 
Treiber die Bus-Terminierung zuschalten.

Gerade weil der USB-RS485 relativ klein ist - das ist ein (vielleicht 
max.) 4x4cm Kunststoff-"Knubbel" mit einem USB-Kabel dran - lag die 
Vermutung nahe, dass es da irgendwas kleines geben muss, dass die 
Kollegen genutzt haben.

Eure Vorschläge - im Besonderen den TLP175A - schau ich mir mal an. 
Vielen Dank für den Input!

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Ein Dual-Analogschalter (DPST) oder vielleicht sogar HF-Switch? Bei 
HF-Anwendungen mit umschaltbaren Frequenzbändern macht man das ja so 
ähnlich. Die Widerstände und VREF Erzeugung sind dann natürlich extern.

: Bearbeitet durch User
von Harald A. (embedded)


Lesenswert?

Peter M. schrieb:
> Gerade weil der USB-RS485 relativ klein ist - das ist ein (vielleicht
> max.) 4x4cm Kunststoff-"Knubbel" mit einem USB-Kabel dran - lag die
> Vermutung nahe, dass es da irgendwas kleines geben muss, dass die
> Kollegen genutzt haben.

Das ist ja auch der Fall, selbst die von mir vorgeschlagene Lösung ist 
auf 10x15mm² bequem umsetzbar, TLP175 bräuchte etwas mehr.

von Reinhard (reinhard_k118)


Lesenswert?

Warum wir es bis jetzt auch noch nicht umgesetzt haben ist folgendes: 
Die meisten Varianten basieren darauf, dass zumindest eine 
Versorgungsspannung in vielen Fällen dann auch noch die Software am 
Gerät verlässlich funktionieren muss. Ansonsten hast du plötzlich den 
Fall, dass dein CAN Bus nicht funktioniert weil der eine Teilnehmer zB 
eine fehlerhafte Software hat (Terminierung aus) oder gerade ohne Strom 
(Sicherung defekt oä.) ist. Wenn du volle Kontrolle über den CAN Bus 
hast könnte man dies vl. vernachlässigen aber ein Bus mit zig Teilnehmer 
von mehreren Hersteller sollte HW-mässig terminiert sein.
Ansonsten haben wir auch das einmal über das Microchip APP Note 
erfolgreich getestet.

von Peter M. (pm4812)


Lesenswert?

ja, es spricht sehr viel für die HW-Terminierung. Ich mache das seit 25 
Jahren selber so. Die Box mit den 120 Ohm Widerständen ist immer gut 
gefüllt ...

Im Besonderen das Posting von Harald (11 Uhr 30) lässt mich dann wieder 
ins Grübeln kommen. Sinn dieses (gewünschten) Bauteils war eig. Probleme 
zu vermeiden, in dem man halt die Terminierung über Software 
de-/aktivieren kann. Und ja, wenn man es so betrachtet wie Harald, dann 
ersetzt man das potentielle Problem A durch ein potentielles Problem B. 
Gewonnen ist dabei nichts, außer dass der Entwickler (ich) schuld ist, 
wenn es nicht funktioniert. Bei der HW-Terminerung ist der Anwender 
schuld, wenn es wegen mangelhafter Terminierung nicht funktioniert.

Irgendwas ist immer falsch ;o|
Scheiss Elektronik :D

Ansonsten: ja, die Lösungen mit Relais oder MOSFETs hatte ich mir auch 
schon mal überlegt. Ich würde in dem Fall allerdings nicht zu der 
MOSFET-Lösung tendieren, sondern tatsächlich so ein winziges G6K Relais 
nehmen, das ich mit 5 Volt schalten kann, dann brauch ich nur ein 
Relais, eine Diode einen 2N7002 und 2 Widerstände. Da ich keinen 
USB-Dongle bauen will, hätte ich dafür auch genug Platz und ich muss 
keine separate Spannungs-Versorgung vorsehen.

Danke für euren Input!

von Harald A. (embedded)


Lesenswert?

Peter M. schrieb:
> Irgendwas ist immer falsch ;o|
> Scheiss Elektronik :D

Völlig korrekt!

Falls es doch wieder klassische Terminierung werden sollen:
Ich nehme immer gerne die Widerstände „2W Metall 120“ von Reichelt, da 
hat der Kunde ordentlich was in der Hand, die mechanische Stabilität ist 
hervorragend. Wenn man Split-Terminierung will/muss wird es allerdings 
etwas unschön.

: Bearbeitet durch User
von Peter M. (pm4812)


Lesenswert?

die Klassische Terminierung sieht bei mir so aus, dass ich einen 120 Ohm 
2512 SMD 1% 1 Watt Widerstand (z.B. 
https://jlcpcb.com/partdetail/Fojan-FRC2512F1200TS/C2974107 ) auf dem 
PCB vorsehe und eine RM2.54 Pfostenleiste oder einen Löt-Jumper zum 
Verbinden dazu baue. Dann kann der Kunde entweder den Jumper schließen 
oder die Lötbrücke verbinden.

: Bearbeitet durch User
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.