Share this

Research and Design of Automotive Digital Instrument Based on CAN Bus

2026-04-06 04:48:15 · · #1
1. Introduction As the window for communication between the vehicle and the driver, the automotive instrument panel is responsible for providing the driver with real-time vehicle operating conditions. The automotive instrument panel is one of the key research areas in the application of automotive electronics in vehicles. With the promotion of Euro III emission standards in China, engines compliant with Euro III emission standards and equipped with Controller Area Network (CAN) bus interfaces, along with bus-type digital instrument panels communicating with them, are gradually expanding their market. With the development of in-vehicle bus technology, automotive digital instrument panels with CAN bus interfaces are widely used. The SAE J1939 application layer protocol is currently the most widely used CAN bus application layer protocol in the domestic automotive industry. The CAN bus-based automotive digital instrument panel proposed here utilizes the CAN bus to make it part of the vehicle's network, following the SAE J1939 protocol to read information such as engine speed and coolant temperature. Considering the actual vehicle conditions, this automotive digital instrument panel can also receive and display signals from sensors such as vehicle speed, fuel level, oil pressure, and brake air pressure, providing the driver with real-time vehicle operating conditions. 2. Introduction to SAE J1939 Protocol The SAE J1939 protocol is a vehicle network serial communication and control protocol released by the Society of Automotive Engineers (SAE) using CAN 2.0B as its core network protocol. The SAE J1939 protocol uses CAN data frames to encapsulate its data information and encodes the 29-bit identifier of the CAN extended frame, forming a unique encoding system as a vehicle communication standard. This protocol clearly defines the address configuration, naming, communication methods, and message transmission priorities of the ECUs within the vehicle, detailing the specific ECU communication content. It enables high-speed data transmission between vehicle electronic devices, reduces the number of lines, and maximizes the superior performance of the CAN bus. 2.1 SAE J1939 Message Format The SAE J1939 data frame is based on a PDU (Protocol Data Unit) and consists of seven fields: Priority (P), Reserved Bits (R), Data Page (DP), PDU Format (PF), PDU Details (PS), Source Address (SA), and Data Field. Besides the data field, the PDU corresponds to the 29-bit identifier of the CAN extended frame, and their correspondence is listed in Table 1. PS is an 8-bit field whose definition depends on the PF value. If the PF value is less than 240, PS is the destination address (DA). If the PF value is between 240 and 255, PS is the group extension (GE). 2.2 SAE J1939 Application Layer The application layer defines in detail each parameter used in the SAE J1939 protocol, including data length, data type, result, range, and parameter group number (PGN). These parameters are divided into control parameters, powertrain status parameters, powertrain control parameters, powertrain configuration parameters, information parameters, and information status parameters. SAE J1939 uses the parameter group number (PGN) as a unique label for a parameter group. This label includes: reserved bit (R), data page (DP), PDU format field (PF 8 bits), and group extension field (GE 8 bits). Additionally, when the PF value is less than 240, the low byte of the PGN is set to 0. Each parameter in the parameter group can be represented using ASCII code, and its status value can be represented by at least two bits. Text and numeric data are transmitted using the most significant bit-first method, while other parameters involving two or more data bytes are transmitted using the least significant bit-first method. In addition, the application layer defines parameter group attributes in detail. These attributes include: priority, update rate, protocol data unit format of the parameter group, parameter group number, data parameter number of the parameter group, and its position within the parameter group. 3. Design of Automotive Digital Instrument System Based on CAN Bus 3.1 Hardware Circuit Design This automotive digital instrument system consists of modules for signal acquisition, processing, and display, as shown in Figure 1. Through analog signal voltage division, filtering, and shaping of the pulse signal, the CAN bus signal is sent to the central processing unit via a transceiver. The processed signal is then used to control the stepper motor via a stepper motor controller, driving the LCD screen for display. The signal acquisition module includes CAN bus data acquisition and sensor data acquisition. In a real-world vehicle environment, this system design follows the SAE J1939 protocol to acquire engine speed, coolant temperature, and fault codes on the CAN bus. Other information, including vehicle speed, fuel level, oil pressure, and brake pressure, is read from the corresponding sensors in analog and pulse formats. Vehicle speed is obtained by measuring the pulse signal from the vehicle speed sensor, and the fuel level sensor signal is directly sent to the A/D converter in the central processing unit after voltage division. Figure 2 shows the signal acquisition module circuit. In the figure, a general-purpose CAN transceiver with isolation, the CTM8251T, is used to receive CAN bus signals. The CTM8251T integrates all necessary CAN isolation and CAN transceiver functions, enabling CAN node transmission and reception with isolation. This replaces the traditional CAN transceiver circuit with isolation functions implemented using optocouplers, DC-DC isolation, and CAN transceivers. This module circuit converts the logic level of the CAN controller to the differential level of the CAN bus and has a DC 2500 V isolation function. This module boasts a small size and high integration, replacing traditional CAN bus transceivers like the PCA82C251 and their peripheral circuits, thus reducing system design costs. Analog signals from the sensors are transmitted to the central processing unit (CPU) via voltage division. Components VD40 and C40 in the diagram provide overvoltage protection for the pins of the LM3S2948 microcontroller. The LM3S2948 microcontroller handles signal processing. It is a 32-bit RISC microcontroller based on the ARM Cortex-M3 core, embedding a CAN controller, A/D converter, analog comparator, I2C interface, and other functional modules, significantly reducing peripheral circuit design costs. The LM3S2948 microcontroller features high processing speed, low power consumption, small size, and low price. The LM3S2948's CAN controller module supports the CAN 2.0B protocol and extended frame message transmission conforming to the SAE J1939 protocol, with a programmable transmission rate of 1 Mb/s. These characteristics fully meet the application requirements of CAN bus automotive digital instrument clusters. A 74HC595 shift register is used to implement serial-in parallel-out signal processing, and a VID6606 stepper motor driver is used to drive the meter needles. Each VID6606 can drive four stepper motors simultaneously. By inputting a pulse sequence F (SCX) at its frequency control terminal, the output terminal can be controlled to rotate the output shaft of the stepper motor in microsteps. Each pulse corresponds to a 1/12° rotation of the motor output shaft, and the maximum angular velocity can reach 600°/s, meeting the high precision and fast response requirements of automotive instrument indication. The meter needles are driven by a VID-29 stepper motor. Figure 3 shows the VID6606 driving instrument circuit. The LCD driver uses a PCF8566, which integrates the necessary functional circuits for an LCD driver. It can directly drive any static LCD or an LCD with up to 24 segments and 4 back poles. The signal sent by the central processing unit is first amplified by the PCF8566T and then sent to the F2000 LCD screen for display. 3.2 Software Design The software of this automotive digital instrument system is written using IAR programming and debugging software. The software connects to the JTAG port of the LM3S2948 via the LM-LINK debug emulator to achieve online simulation debugging. The data receiving and processing software first initializes the system clock, CAN node, LCD screen, stepper motor, etc., and enables the CAN interrupt, setting the CAN mask code and acceptance code. The specific steps for initializing the CAN node are: ① Encapsulate CAN node-related information and create a software CAN node structure pointer pCAN_Node_lnfo; ② Initialize the CAN controller; ③ Interrupt the CAN controller; ④ Set the CAN node receive filter. After initialization, it reads the CAN bus and other sensor signals. It controls the stepper motor and LCD screen to display processed data. It waits for the CAN bus receive interrupt to occur and determines whether the bus data meets the masking conditions, i.e., comparing the received 29-bit identifier message with the acceptance code and mask code values ​​bit by bit. The mask code is used to locate relevant bits (0 = relevant, 1 = unrelevant). The system only receives the message if the relevant bits in the identifier match the corresponding bits in the acceptance code. If the masking condition is met, data is read from the register and stored in the buffer. Then, according to the SAE J1939 protocol, engine speed, coolant temperature, and fault code information are calculated and transmitted to the stepper motor and LCD screen for display. For example, if the received data is: OCF00400 XX XX XX 4F 55 XX XX XX (XX is arbitrary data), and the acceptance code is set to 0x00000000 and the masking code to 0x1FFFFFFF, then this message is received. According to the SAE J1939-71 protocol, this message is: PGN61444 - Electronic Engine Controller. Therefore, bytes 4 and 5 represent the engine speed, following the low-order byte-first, high-order byte-last transmission method. Thus, engine speed = original number × resolution + offset = 21831 x 0.125 + 0 = 2728.875 r/m. Similarly, other automotive instrument values ​​can be calculated. Figure 4 shows the flowchart of the CAN bus data receiving program. 4. Conclusion Based on the research of automotive CAN bus communication protocols and SAE J1939 protocols, a CAN bus-based automotive digital instrument system was designed. This system design utilizes the functions of devices such as LM3S2948, CTM8251, and VID6606 to minimize the cost of peripheral circuits. The automotive digital instrument system operates stably and performs well, and is currently undergoing vehicle testing. With the promotion of Euro III emission standards in China, CAN bus-based digital instrument systems are bound to enter a new stage of rapid development.
Read next

CATDOLL 108CM Q (TPE Body with Hard Silicone Head)

Height: 108cm Weight: 14.5kg Shoulder Width: 26cm Bust/Waist/Hip: 51/47/59cm Oral Depth: 3-5cm Vaginal Depth: 3-13cm An...

Articles 2026-02-22