SAE J1939在恩智浦MPCxxx上实现

摘要

本篇笔记主要记录基于恩智浦MPC5744P的SAE J1939协议栈开发,接口设计,以之前总结的CAN驱动设计为基础。

准备工作

  1. 准备一个CAN驱动可以正常工作的工程。

  2. 熟悉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协议栈内部有很多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值