基于恩智浦MPC5744P的SAE J1939协议栈开发

摘要
本篇笔记主要记录基于恩智浦mpc5744p的sae j1939协议栈开发,接口设计,以之前总结的can驱动设计为基础。
准备工作
准备一个can驱动可以正常工作的工程。
熟悉j1939协议文档和标准,特别是j1939-21和j1939-81。
can
恩智浦的mpc5744p控制器局域网络can,跟我们之前使用的恩智浦kinetis kv, 等系列的flexcan结构基本是一样的,mpc5744p 支持can2.0b。can 的高层协议,j1939 是基于can2.0b的扩展帧,29位标识符,支持单帧和多帧收发通信。本次设计主要实现sae j1939 数据链路层和网络管理层。
j1939和can接口
接口函数
基于上次做好的can驱动提供一个发送函数,一个接收处理函数,作为与j1939协议栈的接口,来完成j1939所有功能的实现和应用。
接收接口用于获取总线上的can报文帧,然后交由j1939的处理函数解析。这里发送函数未列出。
数据类型
根据j1939的标准和要求特定义以下数据类型,方便程序的开发和应用
j1939对外接口
j1939对外接口除过初始化,就一个函数,所有功能在这个函数里实现,因为j1939协议栈内部有很多时基,设计的是基于10ms,所以这个函数放在10ms里调用。
测试
sae j1939协议是can的高层协议,是一种广泛应用于重型车,特种车,农机,以及非路面设备车辆等。
sae j1939 协议栈 主要参考标准j1939-21 数据链路层, j1939-81 网络管理层 。标准的详细内容请参考sae 的j1939标准。


酶标仪使用过程中几点注意事项
拓扑—让电子与光一起共舞
单片机的内部结构和外部结构分析
MAX1510, MAX17510 低电压、DDR线性稳压器
介绍一下汽车内不太起眼但又非常重要的加密芯片
基于恩智浦MPC5744P的SAE J1939协议栈开发
将步进电机与Atmega16连接起来的方法
zynq和fpga区别快速认识Zynq开发
SinoV-100AI单网口单FXS IAD语音网关详细参数介绍
盘点支撑增材制造应用的六大关键技术
浅谈电机的重要性及电机运维常用测试仪器
CAN/RS-485总线为什么要隔离
基于单片机实现CAN总线与LIN总线间的传输设计方案
HTC正式面向国内市场发布了升级版VR一体机Vive Focus Plus
双核MCU开发其实也不难!
上海市人民政府出台《上海市促进在线新经济发展行动方案(2020—2022年)》
KT表示2019年底会将5G网络服务覆盖到韩国的85个主要城市
土壤生态环境测试及分析评价系统设备的介绍
单片机最小系统的振荡电路原理分析
微雪电子IC51-0444-400 PLCC44测试座简介