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
    +关注

    关注

    57

    文章

    2744

    浏览量

    463627
  • 数据链路层
    +关注

    关注

    0

    文章

    55

    浏览量

    11987
  • 接口函数
    +关注

    关注

    0

    文章

    11

    浏览量

    8193

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

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

收藏 人收藏

    评论

    相关推荐

    深入解析J1939-73:车辆诊断通信的标准与应用

    SAEJ1939协议概述SAEJ1939协议是由美国汽车工程师协会(SAE,SocietyofAutomotiveEngineers)定义的
    的头像 发表于 12-11 10:01 542次阅读
    深入解析<b class='flag-5'>J1939</b>-73:车辆诊断通信的标准与应用

    使用无线FRDM开发板实现创新无线解决方案

    开发人员现在面临着前所未有的挑战,需要为各种产品设计复杂的软件,通常还要使用不同的处理器。的MCUXpresso Developer Experience通过适用于多种MCU平台的通用框架解决了许多挑战。
    的头像 发表于 11-26 17:40 326次阅读
    使用<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>无线FRDM<b class='flag-5'>开发</b>板实现创新无线解决方案

    SAE J1939中英文资料

    最全的J1939中英文协议资料
    发表于 11-26 15:06 0次下载

    基于MCX N系列MCU的应用示例

    全新MCX微控制器系列,为新一代工业与物联网广泛的应用赋能,受到广大边缘智能开发者的青睐。
    的头像 发表于 10-25 14:26 613次阅读

    半导体推出全新S32J系列高性能以太网交换机和网络控制器

    S32J系列采用与新型S32微控制器和处理器通用的交换机内核-NETC,可作为一个扩展的虚拟交换机一起运行。可通用的网络交换机内
    的头像 发表于 10-25 14:22 515次阅读

    半导体推出S32J系列以太网交换机和网络控制器

    2024年10月22日,半导体(NXP Semiconductors N.V.,纳斯达克股票代码:NXPI)隆重推出其全新S32J系列高性能以太网交换机和网络控制器。该系列采用了
    的头像 发表于 10-24 11:53 544次阅读

    在杭州召开汽车生态技术峰会,推出全新S32 CoreRide开放平台

    峰会上,正式在中国发布了S32 CoreRide开放平台,该平台融合了成熟的S32计算、网络、系统电源管理技术,以及来自
    的头像 发表于 05-30 16:59 1326次阅读

    FRDM-MCXN947开发实践指南》上线啦

    RT-Thread率先支持NXPFRDM-MCXN947,并联合半导体推出了NXPFRDM-MCXN947开发板评测活动。测评活动顺利完成,并且有了不错的产出,我们将大家的测试文档及代码整理后
    的头像 发表于 05-13 18:19 542次阅读
    《<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>FRDM-MCXN947<b class='flag-5'>开发</b>实践指南》上线啦

    发布S32 CoreRide开放平台,旨在突破SDV开发的集成障碍

    近日,(NXP)近日发布了其S32 CoreRide开放平台,这一创新性的平台旨在突破软件定义汽车(SDV)开发的集成障碍,为汽车行业带来前所未有的变革。
    的头像 发表于 03-29 11:18 12.8w次阅读

    发布年度企业可持续发展报告

    ESG目标方面的年度进展。 总裁兼首席执行官Kurt Sievers表示:“作为一家全球性科技公司,我们拥有得天独厚的机遇去引领和开发创新解决方案,助力塑造更加可持续的未来。在所有团队成员、合作伙伴和客户的帮助与持续奉献下
    的头像 发表于 03-29 09:36 1009次阅读

    NVIDIA TAO工具套件功能与eIQ机器学习开发环境的集成

    半导体宣布与NVIDIA合作,将NVIDIA经过训练的人工智能模型通过eIQ机器学习开发环境部署到广泛的边缘处理产品组合中。
    的头像 发表于 03-22 09:11 964次阅读

    STM32WB55RG是否可以使用j-flash通过j-link烧录协议和FUS bin文件?

    硬件基于STM32WB55RG是否可以使用j-flash通过j-link烧录协议和FUS bin文件?
    发表于 03-12 07:14

    Real-time Edge v2.7正式发布!

    Real-time Edge软件是提供的针对工业和物联网应用的一套软件集,面对工业和物联网垂直领域的具体需求,提供了针对性的实时系统, 工业实时网络和丰富的工业协议支持。
    的头像 发表于 01-26 09:19 624次阅读
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>Real-time Edge v2.7正式发布!

    发布新一代智能语音技术组合的语音识别引擎

    发布新一代智能语音技术组合的语音识别引擎。本文将探讨开发人员在嵌入式语音控制设计中面临的挑战、新的Speech to Inten
    的头像 发表于 01-26 09:15 754次阅读
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>发布新一代智能语音技术组合的语音识别引擎

    求助,为什么在CAN数据库(.dbc文本文件)中找不到报文?

    我有CAN数据库(dbc文件)。这是一个文本文件。此文件的扩展名为 dbc。在Vector CANdb++编辑器中打开它时,将填充J1939报文和CAN ID。 但是,在.dbc文本文件中找不到
    发表于 01-23 06:28