CFE18 steht für "Can Bus Function Extension" bzw. umgangssprachlich auch "Can Switch Board" - wozu wird dieses Modul benötigt?
Can Bus Verbindungen im Fahrzeug stellen unsere Kunden teilweise unter große Herausforderungen. Vor allem bei Motorsportapplikationen, wenn Elektronik im Lenkrad untergebracht werden muss und anschließend Informationen von Einstellknöpfen (Trimpots) oder Druckknöpfen über Can Bus übertragen werden soll.
CANchecked bietet nun ein kleines Zusatzmodul, welches 17 Eingänge: 8 für Schalter (low side) und 9 für analoge Eingänge (0-5V Signal). Ein Spannungswandler um den Anschluss an ein 12V Kfz-Bordnetz zu gewährleisten ist auch bereits integriert.
In der v2 (Platine v0.8) sind außerdem 3 Schaltausgänge hinzugekommen (low side max 0.5A)
Hier kommst du zur v1 Version (Platine 0.6): CFE18 - Can Switch Board V1
- Die CFE18 Hardware -
Mit lediglich 29x27mm ist die Platine sehr kompakt gehalten und findet so überall Platz. Der Pin-Abstand beträgt 2,54mm - für die Stromversorgung aus Sicherheitsgründen 3,81mm.
Zur Befestigung haben wir ein Loch eingebracht, welches als Verschraubung genutzt werden kann.
CFE18 - Can Bus Terminierung
Auf der Platine ist ein Lötjumper angebracht.
Schließt man diesen, so ist die Can Bus Terminierung mit 120 Ohm aktiv. Standardmäßig ist der Lötjumper OFFEN.
- Anschlüsse -
| 12V / GND (oben) | Spannungsversorgung 6-22V (verpolungssicher) |
| AIN0-AIN8 | 9 analoge Eingänge (0-5V) |
| DIN0-DIN8* | 9 digitale Eingänge (maximal 5V) (interner Pullup 20-50K) *DIN8 entfällt bei v0.8 |
| 5V/SGND | Spannungsversorgung analoge Sensoren bzw. Sensormasse |
| CANL/CANH | Can Bus Verbindung (Can Low, Can High) CAN 2.0 A/B – 125, 250, 500, 1000 kbps |
| AUX1-3* | Low Side Ausgänge 0.5A maximal - *ab Platine v0.8 |
| RX/TX/DTR/GND | optional: für eventuelle Updates (Zusatzhardware nötig) |
| AIN1, AIN2, AIN6, DIN6 | optional: vier Frequenzeingänge 0-60000Hz |
- Motorsport-Lenkrad -
Ein Anwendungsfall wäre ein Motorsportlenkrad. Im Bild sieht man die ungefähre Größe, wobei die Lenkrad-Nabe 50mm im Durchmesser ist. Mit lediglich 4 Verbindungen über ein Spiralkabel lassen sich so vielfältige Eingänge über Can Bus übertragen.
Danke an PT Motorsport Electronics für das exzellente Beispielbild, wie die Integration unseres Can Switch Boards erfolgen kann.
- Anschlussmöglichkeiten -
Am CFE18 lassen sich Switches (Schalter) als auch Trimpots (Verstellknöpfe) anschließen.
Aber auch Sensoren wie Öldruck, Benzindruck, Ladedruck, Abgasgegendruck und die Integration in ein eigenes Gehäuse wäre denkbar.
- CFE18 Anschluss / Default Can Bus Stream -
Die Daten der Eingänge werden abgefragt und alle 50ms übertragen (100Hz - änderbar von 1Hz bis ca 300Hz - je nach Smoothing). Die Daten werden als „unsigned little endian“ übertragen.
Sobald 12V und Masse verbunden sind, leuchtet die grüne Status LED auf der Vorderseite und die Can Bus Daten werden übertragen.
Can Bus ID: 0x700 (Base Data CAN ID – änderbar)
| Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| Base ID | AIN0 0-1023 | AIN1 0-1023 | AIN2 0-1023 | AIN3 0-1023 | ||||
| Base ID +1 | AIN4 0-1023 | AIN5 0-1023 | AIN6 0-1023 | AIN7 0-1023 | ||||
| Base ID +2 | AIN8 0-1023 | bit masked DIN0-7 | bit masked DOUT1-3 | internalTemp | version | |||
| Base ID +3 | FreqIn1 0-60000 | FreqIn2 0-60000 | FreqIn3 0-60000 | FreqIn4 0-60000 | ||||
- Digitale Ausgänge -
*Ab Hardware v0.8
Das CFE18 besitzt ab der Hardware 0.8 drei digitale Ausgänge. Diese sind bis maximal 500mA belastbar und schalten gegen Masse (LOW SIDE).
Hierfür sendet man ein Can Bus Frame alle 100ms (CAN Id ist hier konfigurierbar - ab 500ms Pause zwischen den Frames wird der Timeout aktiviert und die Ausgänge werden deaktiviert):
(0=inaktiv, 1=aktiv)
| Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| CAN RX ID (default: 0x640) | AUX1 0/1 |
AUX2 0/1 |
AUX3 0/1 |
unused | ||||
Die Einstellung erfolgt über Can Bus - siehe Konfigurationsmöglichkeiten
- AIN smoothing -
*Ab software version 3
Wenn die analogen Eingänge zu stark fluktuieren, so lassen sie sich mittels Software glätten. Dies ist je analogen Eingang getrennt konfigurierbar.
Bei jedem Senden werden die analogen Eingänge ausgewertet (default: 50Hz).
Man bestimmt die Gewichtung des alten Wertes. Je höher der eingestellte Wert (0-249), desto höher ist die Gewichtung des alten Wertes - dadurch glättet sich der Wert
Die Einstellung erfolgt über Can Bus - siehe "Konfigurationsmöglichkeiten"
- Konfigurationsmöglichkeiten -
Über Can Bus lassen sich folgende Werte anpassen:
| Data CAN ID: | mit welcher Can ID die Daten gesendet werden | Default: 0x700 |
| Config CAN ID: | mit welcher CAN ID das Board konfiguriert werden kann
NEUSTART erforderlich |
Default: 0x70A |
| Frequenz: | mit der die Daten über den Can Bus geschickt werden in Millisekunden | Default: 10ms = 100Hz |
| Can Bus Speed: | 1=125kbps
2=250kbps 3=500kbps 4=1Mbit NEUSTART erforderlich |
Default: 3 = 500kbps |
| Modus: | 0=CANchecked Legacy 0-1023
1=ECUmaster EMUv3 2=Haltech IOB 3=Haltech IOAB 4=Motec Legacy 5=Haltech IOA, 6=Motec E816, 0x0F0 7=Motec E816, 0x0F4 8=Motec E816, 0x0F8 9=Motec E816, 0x0FC 10=CANchecked (0-5000mV) |
Default: 0 |
| *Smoothing: | Glätten der analogen Eingänge, je Eingang konfigurierbar (0-249) | Default: 160 249 = maximale Glättung |
| **Frequenz Eingang: | Glättung sowie Aktivierung des Frequenzeingangs | Default: 0 = OFF (kein Frequenzeingang) 249 = maximale Glättung |
| **Pullup: | Aktivieren eines internen Pull-Up Widerstands (20K-50K) auf analogen und digitalen Eingängen | Default: 1 = Widerstand aktiv (0 = Widerstand aus) |
*ab Software Version 3
**ab software 0.8a
Beim Versenden der Nachrichten zum Umkonfigurieren müssen Byte 0 immer mit 0x0C Byte 1 mit 0x0A und Byte 2 (Feature) mit 0x0A beginnen -> siehe Beispiele
Nach erfolgreichem Umkonfigurieren sendet das CFE18/MCE18 als Bestätigung das gleiche Frame mit der ID+1 zurück.
Per Can Bus umkonfigurierbare Features:
CAN ID: 0x0A (high byte) + 0x0B (low byte)
Config CAN ID: 0x0C (high byte) + 0x0D (low byte)
Frequenz: 0x0E
Can Bus Speed: 0x0F
Modus: 0x10
Receive ID (RX): 0x12 (high byte) + 0x13 (low byte) unterstützt ab CFE18 v0.8
Beispiel 1: Transmit ID auf 0x600 ändern
| Can ID | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
| 0x70A | 0x0C | 0x0A | 0x0A | 0x06 | ungenutzt | |||
| 0x70A | 0x0C | 0x0A | 0x0B | 0x00 | ungenutzt | |||
Beispiel 2: Ändern der Frequenz auf 50Hz (20ms = 0x14 in hex)
| Can ID | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
| 0x70A | 0x0C | 0x0A | 0x0E | 0x14 | ungenutzt | |||
Beispiel 3: Ändern der Can Bus Geschwindigkeit auf 1Mbit
| Can ID | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
| 0x70A | 0x0C | 0x0A | 0x0F | 0x04 | ungenutzt | |||
Beispiel 4: Ändern auf das EMUv3 Protokoll
| Can ID | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
| 0x70A | 0x0C | 0x0A | 0x10 | 0x01 | ungenutzt | |||
Beispiel 5: Ändern der Glättung von AIN1 auf 4 (=160)
| Can ID | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
| 0x70A | 0x0C | 0x0A | 0x14 | 0xA0 | ungenutzt | |||
Adressen der AINs: 0x14 = AIN1, 0x15 = AIN2, 0x16 = AIN3, 0x17 = AIN4, 0x18 = AIN5, 0x19 = AIN6, 0x1A = AIN7, 0x2B=AIN8
Beispiel 6: Aktivieren des Frequenzeingangs DIN6 und Setzen der Glättung auf 230
| Can ID | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
| 0x70A | 0x0C | 0x0A | 0x11 | 0xE6 | ungenutzt | |||
Adressen der DINs: 0x11 = FreqIn1 DIN6, 0x06 = FreqIn2 AIN1, 0x07 = FreqIn3 AIN2, 0x08 = FreqIn4 AIN7
Beispiel 7: Aktivieren des pullup Widerstands =20K-50K von DIN6
| Can ID | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
| 0x70A | 0x0C | 0x0A | 0x2E | 0x01 | ungenutzt | |||
Adressen der Pins: 0x1E = AIN1, 0x1F = AIN2, 0x20 = AIN3, 0x21 = AIN4, 0x22 = AIN5, 0x23 = AIN6, 0x24 = AIN7, 0x25=AIN8, 0x28=DIN0, 0x29=DIN1, 0x2A=DIN2, 0x2B=DIN3, 0x2C=DIN4, 0x2D=DIN5, 0x2E=DIN6, 0x2F=DIN7
- Steuergerät / ECU Konfiguration -
Die analogen Eingänge liefern 10bit Auflösung und somit Werte von 0 bis 1023. Im Steuergerät muss der Wert umgerechnet werden. Alle Werte sind „unsigned little endian“
Beispiele:
5V Spannung AIN0
0x700 Byte0+1
Multiplikator: 5; Divisor: 1023; Offset: 0
oder Multiplikator: 0.004887585533
Abgastemperatur (type k) AIN7:
0x702 Byte6+7
Multiplikator: 1250; Divisor: 1023; Offset: 0
oder Multiplikator: 1.2218963832
Für die digitalen Eingänge nutzt man entweder die einzelnen Bytes. Z.B. DIN6: 0x702 Byte 6 oder die Bitmask bei 0x702 Byte2
z.B. DIN6: 0x702 Byte2 Mask:0x40
- Dokumentation / Download -
Diese Seite findest du auch als PDF hier zum herunterladen:

