How does it work
LIN or Local Interconnect Network is a protocol used for communicating between components in vehicles. These days cars have hundreds of sensor applications to measure things like temperature, pressure, air flow, speed, etc. All these applications need to communicate with the main system. The LIN click is based on the TLE7259-3GE, LIN transceiver from Infineon Technologies with integrated wake-up and protection features. It is designed for in-vehicle networks using data transmission and it operates as a bus driver between the protocol controller and the physical bus of the LIN network. Compliant to all LIN standards and with a wide operational supply range the TLE7259-3GE can be used in all automotive applications.It can be used with CAN (Controller Area Network), but LIN is more cost-effective for simple sensor networks in vehicles.
In Sleep-mode the TLE7259-3GE draws typically less than 8 μA of quiescent current while still being able to wake up when detecting LIN bus traffic and a local wake up signals. The very low leakage current on the BUS pin makes the TLE7259-3 especially suitable for partially supplied networks. Based on the Infineon Smart Power Technology SPT®, the TLE7259-3GE provides excellent ESD Robustness and a very high electromagnetic compliance (EMC). The TLE7259-3GE reaches very low levels of electromagnetic emission within a broad frequency range, independent from the battery voltage. The TLE7259-3GE and the Infineon SPT® technology are AEC qualified and tailored to withstand the harsh condition of the automotive environment.
The LIN click can be configure for master node applications or for slave node applications, every LIN network consists of a master node and one or more slave nodes. The LIN click communicates with the MCU by using the UART RX and TX signals.RX and TX signals are also routed to the header on the edge of the click board™ so they can be used independently of the mikroBUS™ socket. Its most important features are the fact that it is a single-wire LIN transceiver for transmission rates up to 20 kbps and it is compliant to ISO 17987-4 and LIN Specification 2.2A. It has a very low current consumption in sleep mode with wake-up functions and it is digital I/O levels compatible with 3.3 V and 5 V microcontrollers. It is optimized for high electromagnetic compatibility (EMC); Very low emission and high immunity to interference.
The TLE7259-3GE has 3 major operation modes:
- Stand-By mode
- Normal Operation mode
- Sleep mode
The LIN click has a Terminal Block connector for LIN communication, LIN bus power supply Vs, LIN bus input / output data line and LIN bus ground GND .
The LIN click, due to its key features and on-board modules, can be used for various automotive applications including body controllers and gateway modules, switch panels, wiper or window lift modules, door and seat control modules and engine management units.
Specifications
Type
LIN
Applications
Automotive applications: Body controllers and gateway modules, switch panels, wiper or window lift modules, door and seat control modules and engine management units
On-board modules
TLE7259-3GE LIN transceiver from Infineon Technologies
Key Features
Data rates up to 20kBaud, Low electromagnetic emission, Very low current consumption in sleep mode (8µA)
Interface
GPIO,UART
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on LIN click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
JP1 | VCC SEL | Left | Power supply voltage selection: left position 3.3V, right position 5V |
JP2 | MODE | Left | Communication MODE selection: left position is Slave mode, right position is Master mode |
LD1 | PWR | – | Power LED indicator |
CN1 | LIN | – | Screw terminal for connecting LIN bus |
Software Support
We provide a library for the LIN 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
The library includes functions to write or read data from UART. You can set state of pins(PWM – WK, INT – INH, EN – CS) you want to change it.
Key functions:
void lin_writeByte(uint8_t writeData)
– Writes one byte via UARTuint8_t lin_readByte()
– Reads one byte via UARTuint8_t lin_dataReady()
– Checks if data is ready to be read via UART
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 applicationTask() { uint8_t tmp; char rec; uint8_t rdyFlag; uint8_t mode = _LIN_READ_MODE; if( mode == _LIN_READ_MODE ) { // RECEIVER - UART polling rdyFlag = lin_dataReady(); if (_LIN_DATA_READY == rdyFlag) { rec = lin_readByte(); mikrobus_logWrite( &rec, _LOG_BYTE ); } } else if( mode == _LIN_WRITE_MODE ) { // TRANSMITER - TX each 2 sec for (tmp = 0; tmp < 11; tmp++) { lin_writeByte( MESSAGE_DATA[tmp] ); if(tmp < 6) { Delay_ms(100); } } Delay_ms(2000); } }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- UART
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.