Description
CFE18 stands for “Can Bus Function Extension” or colloquially also “Can Switch Board” – why is this module needed?
Can bus connections in vehicles sometimes pose major challenges for our customers. This is particularly true for motorsport applications, when electronics have to be housed in the steering wheel and then information from adjustment knobs (trimpots) or push buttons has to be transmitted via Can bus.
CANchecked now offers a small additional module that has 17 inputs: 8 for switches (low side) and 9 for analog inputs (0-5V signal). A voltage converter to ensure connection to a 12V vehicle electrical system is also already integrated.
In the v2 (board v0.8) 3 switching outputs have also been added (low side max 0.5A)
Tested with:
– MaxxECU
– Ecumaster (EMUB and PMU)
– LinkECU
– Haltech (emulates an IO Expander A + B or just B)
– Emtron
This device is also available with a housing: CFE18 – can switch board
– The CFE18 hardware –
With only 29x27mm, the board is kept very compact and can be placed anywhere. The pin spacing is 2.54mm – for the power supply, for safety reasons, 3.81mm.
We have made a hole for fastening, which can be used as a screw connection.
CFE18 – Can Bus Termination
A solder jumper is attached to the circuit board.
If you close this, the Can Bus termination with 120 Ohm is active. The solder jumper is OPEN by default .
– Connections –
12V / GND (top) | Power supply 6-22V (reverse polarity protected) |
AIN0-AIN8 | 9 analog inputs (0-5V) |
DIN0-DIN8* | 9 digital inputs (maximum 5V) (internal pullup 20-50K) *DIN8 is omitted in v0.8 |
5V/SGND | Power supply analog sensors or sensor ground |
CANL/CANH | Can Bus connection (Can Low, Can High) CAN 2.0 A/B – 125, 250, 500, 1000 kbps |
AUX1-3* | Low side outputs 0.5A maximum – *from board v0.8 |
RX/TX/DTR/GND | optional: for possible updates (additional hardware required) |
AIN1, AIN2, AIN6, DIN6 | optional: four frequency inputs 0-60000Hz |
– Motorsport steering wheel –
– Connection options –
Switches and trimpots (adjustment buttons) can be connected to the CFE18.
But sensors such as oil pressure, fuel pressure, boost pressure, exhaust back pressure and integration in a separate housing would also be possible.
– CFE18 connection / Default Can Bus Stream –
**Specify your ECU at checkout and we’ll configure your device before shipping**
The data of the inputs are queried and transmitted every 50ms (100Hz – changeable from 1Hz to approx. 300Hz – depending on the smoothing ). The data is transmitted as “unsigned big endian”.
As soon as 12V and ground are connected, the green status LED on the front lights up and the Can Bus data is transmitted.
Can Bus ID: 0x700 ( Base Data CAN ID – changeable)
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 |
* from software version 3
– Digital outputs –
*From hardware v0.8
The CFE18 has three digital outputs starting with hardware version 0.8. These can handle a maximum load of 500mA and switch to ground (LOW SIDE).
To do this, send a CAN bus frame every 100ms (CAN ID is configurable here – if there is a pause of 500ms between frames, the timeout is activated and the outputs are deactivated):
(0=inactive, 1=active)
byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
CAN RX ID (default: 0x640) | AUX1 0/1 |
AUX2 0/1 |
AUX3 0/1 |
unused |
The setting is done via Can Bus – see configuration options
– AIN smoothing –
* From software version 3
If the analog inputs fluctuate too much, they can be smoothed using software. This can be configured separately for each analog input.
The analog inputs are evaluated with each transmission (default: 20Hz).
setting | smoothing |
0 | no smoothing |
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 32 |
6 | 64 |
If, for example, a smoothing factor of 4 is set, the average of the last 16 measurements is taken. This makes the value quieter (smoother), but also reacts more slowly to fluctuations. Here you have to find a healthy middle ground to suit your sensors and application.
The setting is made via Can Bus – see ” Configuration options ”
– Configuration options –
**Specify your ECU at checkout and we’ll configure your device before shipping**
The following values can be adjusted via Can Bus:
Data CAN ID: | with which Can ID the data is sent | default: 0x700 |
Config CAN ID: | with which CAN ID the board can be configured – RESTART required | default: 0x70A |
Frequency: | with which the data is sent via the Can Bus in milliseconds | Default: 10ms = 100Hz |
Can Bus Speed: | 1=125kbps, 2=250kbps,3=500kbps,4=1Mbit – RESTART required | Default: 3 = 500kbps |
Fashion: | 0=default, 1=EMUv3, 2=Haltech IO12B, 3=Haltech IO12A+B, 6=Motec E888 | Default: 0 |
*Smoothing: | smoothing of the analog inputs, configurable for each input (0-249) | Default: 160 249 = maximum smoothing |
**Frequency input: | smoothing and activation of the frequency input | Default: 0 = OFF (no frequency input) 249 = maximum smoothing |
**Pullup: | Activating an internal pull-up resistor (20K-50K) on analog and digital inputs | Default: 1 = resistance active (0 = resistance off) |
* from software version 3
**from software 0.8a
Byte 0 + 1 are always 0x0C and 0x0A
Byte 2 Feature beginning with 0x0A
Features:
can id: 0x0A (high byte) + 0x0B (low byte)
config can id: 0x0C (high byte) + 0x0D (low byte)
frequency: 0x0E
can bus speed: 0x0F
mode: 0x10
Example 1: change data can id to 0x600
can id | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 |
0x70A | 0x0C | 0x0A | 0x0A | 0x06 | unused | |||
0x70A | 0x0C | 0x0A | 0x0B | 0x00 | unused |
Example 2: change frequency to 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 | unused |
Example 3: change can bus speed to 1Mbit
can id | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 |
0x70A | 0x0C | 0x0A | 0x0F | 0x04 | unused |
Example 4: change mode to EMUv3
can id | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 |
0x70A | 0x0C | 0x0A | 0x10 | 0x01 | unused |
Example 5: change smooting on AIN1 to 4 (= 16)
can id | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 |
0x70A | 0x0C | 0x0A | 0x20 | 0x04 | unused |
(0x20 = AIN1, 0x21 = AIN2, 0x22 = AIN3 …, 0x28 = AIN8)
– Control unit / ECU configuration –
**Specify your ECU at checkout and we’ll configure your device before shipping**
The analog inputs provide 10-bit resolution and thus values from 0 to 1023. The value must be converted in the control unit. All values are “unsigned big endian”
Examples:
5V voltage AIN0
0x700 Byte0 + 1
multiplier: 5; Divisor: 1023; Offset: 0
or multiplier: 0.004887585533
Exhaust gas temperature (type k) AIN7:
0x702 Byte6 + 7
multiplier: 1250; Divisor: 1023; Offset: 0
or multiplier: 1.2218963832
Either the individual bytes are used for the digital inputs. Eg DIN6: 0x702 byte 6 or the bit mask at 0x702 byte2
eg DIN6: 0x702 Byte2 Mask: 0x40
– Documentation / download –
You can also download this page as a PDF here:
Reviews
There are no reviews yet.