Summary
This note mainly records the development and interface design of the SAE J1939 protocol stack based on NXP MPC5744P, based on the CAN driver design summarized previously.
Preparation
Prepare a project where the CAN driver can work properly.
Familiar with J1939 protocol documents and standards, especially J1939-21 and J1939-81.
CAN
NXP's MPC5744P controller local area network CAN has basically the same structure as the NXP Kinetis KV and other series of flexCAN we used before. MPC5744P supports CAN2.0B. CAN's high-level protocol, J1939, is an extended frame based on CAN2.0B, a 29-bit identifier, and supports single-frame and multi-frame transceiver communication. This design mainly implements the SAE J1939 data link layer and network management layer.
J1939 and CAN interface
Interface function
Based on the CAN driver made last time, it provides a sending function and a receiving processing function as an interface with the J1939 protocol stack to complete the implementation and application of all J1939 functions.
The receiving interface is used to obtain the CAN message frame on the bus, which is then parsed by the J1939 processing function. This send function is not listed.
type of data
The following data types are specifically defined according to the standards and requirements of J1939 to facilitate program development and application.
J1939 external interface
Except for initialization, the J1939 external interface has only one function. All functions are implemented in this function. Because there are many time bases inside the J1939 protocol stack, the design is based on 10ms, so this function is called in 10ms.
test
The SAE J1939 protocol is a high-level protocol of CAN. It is widely used in heavy-duty vehicles, special vehicles, agricultural machinery, and non-road equipment vehicles.
The SAE J1939 protocol stack mainly refers to the standards J1939-21 data link layer and J1939-81 network management layer. For details of the standard, please refer to SAE's J1939 standard.
Previous article:CAN driver development and testing based on NXP MPC5744P
Next article:Development, compilation and configuration of MACL and EB based on MPC5744P
- Popular Resources
- Popular amplifiers
- Naxin Micro and Xinxian jointly launched the NS800RT series of real-time control MCUs
- How to learn embedded systems based on ARM platform
- Summary of jffs2_scan_eraseblock issues
- Application of SPCOMM Control in Serial Communication of Delphi7.0
- Using TComm component to realize serial communication in Delphi environment
- Bar chart code for embedded development practices
- Embedded Development Learning (10)
- Embedded Development Learning (8)
- Embedded Development Learning (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Intel promotes AI with multi-dimensional efforts in technology, application, and ecology
- ChinaJoy Qualcomm Snapdragon Theme Pavilion takes you to experience the new changes in digital entertainment in the 5G era
- Infineon's latest generation IGBT technology platform enables precise control of speed and position
- Two test methods for LED lighting life
- Don't Let Lightning Induced Surges Scare You
- Application of brushless motor controller ML4425/4426
- Easy identification of LED power supply quality
- World's first integrated photovoltaic solar system completed in Israel
- Sliding window mean filter for avr microcontroller AD conversion
- What does call mean in the detailed explanation of ABB robot programming instructions?
- Europe's three largest chip giants re-examine their supply chains
- Breaking through the intelligent competition, Changan Automobile opens the "God's perspective"
- The world's first fully digital chassis, looking forward to the debut of the U7 PHEV and EV versions
- Design of automotive LIN communication simulator based on Renesas MCU
- When will solid-state batteries become popular?
- Adding solid-state batteries, CATL wants to continue to be the "King of Ning"
- The agency predicts that my country's public electric vehicle charging piles will reach 3.6 million this year, accounting for nearly 70% of the world
- U.S. senators urge NHTSA to issue new vehicle safety rules
- Giants step up investment, accelerating the application of solid-state batteries
- Guangzhou Auto Show: End-to-end competition accelerates, autonomous driving fully impacts luxury...
- How to add hard interrupt to DSP/BIO in DM6437
- Six sharings of power supply design experience
- DSP28335 pwm program dead zone experiment
- BLDC motor driver based on STM32F030+L6230 (FOC5.2 library): program+schematic diagram+BOM and other open source sharing
- Disassembling the Early Childhood Education Machine
- Using FPGA to implement spaceborne SAR real-time imaging processor
- Application Tips/Characteristics and Functions of PIC Series Microcontroller Data Memory
- Nuvoton Solution Sharing: IoT Development Based on NUC472 Development Board and Connected to Gizwits
- Hello everyone, I am a newbie on this site. I would like to ask some questions about C language programming.
- JEDEC failure rate estimates