Forum: Mikrocontroller und Digitale Elektronik CAN to CAN Converter


von CANIchDasMachen (Gast)


Lesenswert?

Hey Leute,

ich bin auf der Suche nach folgendem:

CAN 500kBaud -> CAN 1MBaud Umsetzer

Gibt es dafür einen IC? Ich finde leider nichts - kann aber auch daran 
liegen dass ich nach den falschen Begriff suche (Umsetzer, 
Converter,...)


Alternativ fallen mir zwei Dinge ein:
1. uC mit zwei CAN Treibern. Da finde ich eign nur ARM (STM32) uC - 
welche vollkommener Overkill wären
2. kleiner uC mit zwei RS232 -> CAN Transceiver. WÄr halt deutlich mehr 
Aufwand als ein einfacher Umsetzer.

Hat jemand eine Idee?

Danke und schönen Tag noch!

von Thomas F. (igel)


Lesenswert?

Sowas nennt sich Gateway.

Da beide Busse mit unterschiedlicher Geschwindigkeit laufen ist ein 
Pufferspeicher dazwischen nötig. Damit läuft das Ganze auf einen 
Controller mit zwei CAN-Bussen hinaus.

von Niklas G. (erlkoenig) Benutzerseite


Angehängte Dateien:

Lesenswert?

Im Anhang ein einfacher C++ Beispielcode für einen STM32F105RC, welcher 
Nachrichten zwischen beiden CAN-Schnittstellen hin und herleitet. Durch 
Konfiguration der beiden Schnittstellen auf unterschiedliche Baudrate 
(im Beispiel: CAN1 = 1MBaud, CAN2 = 500kBaud) erreicht man eine 
Umsetzung der Baudrate. Es werden nicht einfach alle Nachrichten 
umgeleitet, sondern nur die, die man per Liste konfiguriert und deren ID 
man optional anpassen kann. Es können maximal insgesamt 56 verschiedene 
Nachrichten umgeleitet werden (mehr Hardware-Filter hat der Controller 
nicht).

Zum Kompilieren wird der GCC in einer aktuellen Version benötigt.
Der Verwendung der Klassen ist für so ein kleines Projekt etwas 
Overkill, der Code ist Teil eines größeren Projekts in dem das Sinn 
macht.

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.