0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

嵌入式程序员 来源:嵌入式程序猿 作者:嵌入式程序猿 2021-09-24 16:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

摘要

本篇笔记主要记录基于恩智浦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所有功能的实现和应用。

9e8ce072-14ca-11ec-8fb8-12bb97331649.png

接收接口用于获取总线上的CAN报文帧,然后交由J1939的处理函数解析。这里发送函数未列出。

数据类型

根据J1939的标准和要求特定义以下数据类型,方便程序的开发和应用

9ecbb4aa-14ca-11ec-8fb8-12bb97331649.png

J1939对外接口

J1939对外接口除过初始化,就一个函数,所有功能在这个函数里实现,因为J1939协议栈内部有很多时基,设计的是基于10ms,所以这个函数放在10ms里调用。

9ed59c86-14ca-11ec-8fb8-12bb97331649.png

9eeb29b6-14ca-11ec-8fb8-12bb97331649.png

测试

SAE J1939协议是CAN的高层协议,是一种广泛应用于重型车,特种车,农机,以及非路面设备车辆等。

SAE J1939 协议栈 主要参考标准J1939-21 数据链路层, J1939-81 网络管理层 。标准的详细内容请参考SAE 的J1939标准。

9f3e3d22-14ca-11ec-8fb8-12bb97331649.png

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    59

    文章

    3097

    浏览量

    473549
  • 数据链路层
    +关注

    关注

    0

    文章

    63

    浏览量

    12439
  • 接口函数
    +关注

    关注

    0

    文章

    11

    浏览量

    8414

原文标题:SAE J1939在恩智浦MPCxxx上实现

文章出处:【微信号:InterruptISR,微信公众号:嵌入式程序员】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2026最新CAN转Modbus网关评测:IPCSUN捷宸电子PBC0022如何搞定J1939与私有协议

    正在寻找2026年靠谱的CAN转Modbus网关?本文深度评测IPCSUN捷宸电子PBC0022,实测其原生J1939解析、CAN长帧重组及WEB免驱配置功能。对比普通网关,看它如何解决新能源BMS
    的头像 发表于 03-23 14:56 816次阅读
    2026最新CAN转Modbus网关评测:IPCSUN捷宸电子PBC0022如何搞定<b class='flag-5'>J1939</b>与私有<b class='flag-5'>协议</b>?

    重型车辆J1939通信协议是什么

    重型车辆J1939通信协议是美国汽车工程师协会(SAE)制定的基于控制器局域网(CAN)的高层通信协议标准,主要用于重型车辆及商用车辆中电子控制单元(ECU)之间的实时、可靠数据交换。
    的头像 发表于 02-04 17:46 1415次阅读

    EasyEVSE开发平台荣膺绿色出行奖

    日前,EasyEVSE开发平台在布加勒斯特举行的行业盛会“Automotive Today”上,荣膺“绿色出行奖”。该奖项认可并表彰出行领域的创新与可持续发展成就。
    的头像 发表于 02-01 11:25 1190次阅读
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>EasyEVSE<b class='flag-5'>开发</b>平台荣膺绿色出行奖

    亮相RT-Thread 20周年开发者大会

    日前,“开源向实·生产力进化启示录”全球峰会暨RT-Thread 20周年开发者大会在上海成功举办,作为RT-Thread的紧密合作伙伴,在活动中重磅亮相,展示双方在共建RT-Thread OS
    的头像 发表于 01-26 09:07 767次阅读

    Profinet 转 SAE J1939 网关 实现重型车智能控制 西门子 PLC 渣土自卸车改造案例

    互不互通,存在举升动力分配不精准、油耗偏高、故障排查困难等问题。 项目采用 西门子 S7-1500 PLC (Profinet 主站)作为整车控制核心,搭配西门子 SIMOTICS S 系列 伺服电机 (适配 SAE J1939 协议
    的头像 发表于 01-23 09:38 623次阅读
    Profinet 转 <b class='flag-5'>SAE</b> <b class='flag-5'>J1939</b> 网关 实现重型车智能控制 西门子 PLC 渣土自卸车改造案例

    推出全新eIQ Agentic AI框架

    半导体宣布推出全新eIQ Agentic AI框架,进一步巩固其在安全实时边缘AI领域的领导地位。该工具支持在边缘设备上直接实现自主智能体功能,助力资深与新手设备开发人员简化并加速智能体AI
    的头像 发表于 01-13 11:15 1580次阅读

    Amphenol ER系列SAE J1772充电电缆及插座设计解析

    Amphenol ER系列SAE J1772充电电缆及插座设计解析 在电子工程师的日常工作中,充电设备的设计是一个重要的领域。今天我们就来详细探讨一下Amphenol的ER系列SAE J
    的头像 发表于 12-10 11:20 556次阅读

    STM32已经用标准库写好的代码,怎么导入RT THREAD?

    之前已经在裸机上实现了SAE J1939协议,因为要添加IOT 功能,现在想添加RT THREAD.因为之前写裸机程序的时候用的是标准库。而RT THREAD STUDIO自动生成的是HAL库,请问有什么好方法在我原来的代码上添
    发表于 09-19 06:16

    MCX E系列5V MCU发布

    MCX E系列是丰富的MCX产品组合中特别注重可靠性与安全性的系列。随着该系列的推出,进一步丰富了其5V兼容的MCU产品线,为从3V到5V的设计提供一致的
    的头像 发表于 08-16 17:36 5377次阅读
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>MCX E系列5V MCU发布

    大联大世平两款全新开发板上架云实验室

    云实验室(Cloud Lab)致力于提供云测试平台,让开发者可以通过云端,在线远程探索前沿的硬件、软件和解决方案。目前,这一创新
    的头像 发表于 08-13 17:43 2009次阅读
    大联大世平两款全新<b class='flag-5'>开发</b>板上架<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>云实验室

    从手写代码到AUTOSAR工具链:J1939Tp应用篇

    J1939Tp是我学习AUTOSAR CP诸多BSW模块的起点,其分层架构完美体现了AUTOSAR规范的精髓,掌握J1939Tp有助于深入理解通信(COM)相关模块的程序执行过程。
    的头像 发表于 07-10 16:37 5587次阅读
    从手写代码到AUTOSAR工具链:<b class='flag-5'>J1939</b>Tp应用篇

    完成对TTTech Auto的收购

    半导体宣布,根据先前宣布的2025年1月生效的协议,正式完成对TTTech Auto的收购。TTTech Auto是一家专注于为软件定义汽车(SDV)开发独特的安全关键系统和中间
    的头像 发表于 06-24 16:43 1652次阅读

    盟通方案|如何集成J1939协议

    进行数据通讯,主要以广播通讯为主。借助盟通科技提供的J1939协议,用户能够快速、简便地开发J1939设备。该
    的头像 发表于 06-13 11:35 1006次阅读
    盟通方案|如何集成<b class='flag-5'>J1939</b><b class='flag-5'>协议</b>

    STM32已经用标准库写好的代码,怎么导入RT THREAD?

    之前已经在裸机上实现了SAE J1939协议,因为要添加IOT 功能,现在想添加RT THREAD.因为之前写裸机程序的时候用的是标准库。而RT THREAD STUDIO自动生成的是HAL库,请问有什么好方法在我原来的代码上添
    发表于 05-27 06:01

    米尔诚邀您参加2025NXP峰会

    ,预约报名正在进行中,千万别错过!届时,米尔电子将携带新品米尔基于NXPi.MX93核心板及开发板亮相此次盛会,诚邀您莅临现场参观指导。▼▼▼▼▼▼2025年,
    的头像 发表于 05-08 08:08 1203次阅读
    米尔诚邀您参加2025<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>NXP峰会