How does it work?
CAN FD 3 Click features TLE9251V, a High-Speed CAN transceiver operating as an interface between the CAN controller and the physical bus medium, from Infenion. A HS CAN network is a two wire, differential network which allows data transmission rates up to 5 MBit/s. The characteristic for a HS CAN network are the two signal states on the CAN bus: dominant and recessive. The CANH and CANL pins are the interface to the CAN bus and operate as an input and output. The RxD and TxD pins are the interface to the microcontroller. The TxD pin is the serial data input from the CAN controller. The RxD pin is the serial data output to the CAN controller. The HS CAN transceiver TLE9251V includes a receiver and a transmitter unit, allowing the transceiver to send data to the bus medium and monitors the data from the bus medium at the same time.
The HS CAN transceiver TLE9251V converts the serial data stream which is available on the transmit data input TxD, into a differential output signal on the CAN bus, provided by the CANH and CANL pins. The receiver stage of the TLE9251V monitors the data on the CAN bus and converts it to a serial, single-ended signal on the RxD output pin. A logical ???low??? signal on the TxD pin creates a dominant signal on the CAN bus, followed by a logical ???low??? signal on the RxD pin. The feature, broadcasting data to the CAN bus and listening to the data traffic on the CAN bus simultaneously is essential to support the bit-to-bit arbitration within CAN networks.
The CAN FD 3 Click after powering up, the device enters one out of three operating modes .
Depending on the condition of the transmitter supply voltage VCC and the mode selection pin STB the device can enter every mode of operation after the power-up:
- VCC is available and STB input is set to ???low??? - Normal-operating mode
- VCC is disabled and the STB input is set to ???low??? - Forced-receive-only mode
- STB input is set to ???high??? - Stand-by mode
Based on the high symmetry of the CANH and CANL output signals, the TLE9251V provides a very low level of electromagnetic emission (EME) within a wide frequency range. The TLE9251V fulfills even stringent EMC test limits without additional external circuit, like a common mode choke for example.
In Power On Reset all functions of the TLE9251V are disabled and the device is switched off.
The TLE9251V has an integrated overtemperature detection to protect the TLE9251V against thermal overstress of the transmitter. The overtemperature protection is active in Normal-operating Mode and is disabled in all other Modes. The temperature sensor provides one temperature threshold: TJSD.When the temperature exceeds the threshold TJSD the transmitter is disabled. This overtemperature event will be signaled as logical ???low??? on the ERR output pin in Normal-operating Mode. After the device has cooled down, the transmitter is re-enabled and NERR returns to logical ???high???. A hysteresis is implemented within the temperature sensor.
Given all the features its components offer, the CAN FD Click is best used for for infotainment applications, cluster modules, radar applications and HVAC. The onboard SMD jumper labeled as the VIO SEL is used to select which voltage rail will be used as the logic voltage level. It offers voltage selection between 3.3V and 5V so that the click board™ can be interfaced with both the 3.3V and 5V capable MCUs. The two UART wires (RX and TX) can also be connected directly through two pins on the left edge of the board.
Specifications
Type |
CAN |
Applications |
CAN FD Click is best used for for infotainment applications, gateway modules, body control modules (BCM) or engine control units (ECUs). |
On-board modules |
On-board modules TLE9251V, a transceiver designed for HS CAN networks up to 5 Mbit/s in automotive and industrial applications from Infineon |
Key Features |
Key Features Very low electromagnetic emission (EME) for chokeless usage, Dual Power Supply Solution |
Interface |
UART |
Compatibility |
mikroBUS |
Click board size |
L (57.15 x 25.4 mm) |
Input Voltage |
3.3V or 5V |
Pinout diagram
This table shows how the pinout on CAN FD 3 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes |
Pin |
|
Pin |
Notes |
---|
|
NC |
1 |
AN |
PWM |
16 |
NC |
|
|
NC |
2 |
RST |
INT |
15 |
NC |
|
Chip Select |
CS |
3 |
CS |
RX |
14 |
TX |
UART Transmit |
|
NC |
4 |
SCK |
TX |
13 |
RX |
UART Transmit |
|
NC |
5 |
MISO |
SCL |
12 |
NC |
I2C Clock |
|
NC |
6 |
MOSI |
SDA |
11 |
NC |
I2C Data |
Power Supply |
3.3V |
7 |
3.3V |
5V |
10 |
5V |
Power Supply |
Ground |
GND |
8 |
GND |
GND |
9 |
GND |
Ground |
Onboard settings and indicators
Label |
Name |
Default |
Description |
---|
LD1 |
PWR |
- |
Power LED Indicator |
J1 |
- |
- |
CAN lines solder pads |
J2 |
- |
- |
UART lines solder pads |
JP1 |
VIO SEL |
Left |
VIO Voltage select |
Software Support
We provide a library for the CAN FD 3 Click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
Library provides functions for communication via UART module, and a function for controlling cs pin, which sets device mode.
Key functions:
void canfd3_write_byte ( uint8_t input )
- Writes single byte of data
uint8_t canfd3_read_byte( )
- Reads single byte of data
uint8_t canfd3_byte_ready ( )
- Checks if new data ic received
void canfd3_set_cs_pin ( uint8_t mode )
- Sets state of the CS pin
Examples description
The application is composed of three sections :
- System Initialization - Intializes UART module
- Application Initialization - Driver intialization
- Application Task - Choose one mode (read or write) of task. If you reading it checks if data is ready to be read and then reads one byte and if you are wiriting send data via UART.
void application_task ( )
{
float read_data;
char txt_out[ 30 ];
read_data = thermo17_read_temp( THERMO17_TEMPERATURE_LOCAL );
FloatToStr( read_data, txt_out );
mikrobus_logWrite( " - LOCAL: ", _LOG_TEXT );
mikrobus_logWrite( txt_out, _LOG_LINE );
Delay_ms( 100 );
read_data = thermo17_read_temp( THERMO17_TEMPERATURE_REMOTE );
FloatToStr( read_data, txt_out );
mikrobus_logWrite( " - REMOTE: ", _LOG_TEXT );
mikrobus_logWrite( txt_out, _LOG_LINE );
Delay_ms( 100 );
mikrobus_logWrite( " ******************** ", _LOG_LINE );
Delay_ms( 1000 );
}
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This Click board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.
Resources
Downloads