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

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

3天内不再提示

基于恩智浦MPC5744P的CAN驱动开发和测试

嵌入式程序员 来源:嵌入式程序猿 作者:武国平 2021-09-03 11:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

摘要

本篇笔记主要记录基于恩智浦MPC5744P的CAN驱动开发和测试,接口设计,封装为BSP驱动,为之后实现CAN的高层通信打下基础。。

准备工作

安装S32DS for PA, 因为我们在S32DS下开发MPC5744P。

安装S32DS 的SDK, 我们使用最新版3.0.3

CAN

恩智浦的MPC5744P控制器局域网络CAN,跟我们之前使用的恩智浦Kinetis KV, 等系列的flexCAN结构基本是一样的,MPC5744P不仅仅支持经典CAN,还支持CANFD。

从系统框图也可以看出,总体包含消息缓冲RAM,发送仲裁,接收匹配,和协议引擎。要正常与其他CAN设备通信,必须外接收发器。关于MPC5744P的 flexCAN模块的特性可以参考收据手册,这里不在赘述。有四种工作模式,正常模式,监听模式,回环模式,和禁止模式。CAN外设的寄存器比较多,需要多参考查阅手册。

消息缓冲区结构

恩智浦不管是ARM系列还是PA系列架构的片子, flexCAN模块的消息缓冲机制基本都是一样的。这个结构非常重要,是CAN消息数据处理的基础,SDK底层这部分的处理代码就是按照这个结构。自己实现代码也必须是按照这个结构去实现。

更多CAN详细的介绍请参考官方收据手册。

驱动实现

良好的驱动封装,可以方便应用开发,并且可以容易移植到其他项目,代码重用率高,所以数据和接口是你不得不考虑的问题,怎么样方便的实现,还要通用易用。

数据封装

首先根据MPC5744P的CAN外设结构,我们来封装数据结构体,方便后面软件实现开发,可以新建bsp_can.c和bsp_can.h, 在头文件中封装结构体定义。

88563cf6-0be0-11ec-8fb8-12bb97331649.png

在.c文件中定义封装一些变量,这些变量数组也是通用,在多款产品中都采用,大家也可以参照。

886685a2-0be0-11ec-8fb8-12bb97331649.png

可以实现多个CAN口驱动。如果只有一个CAN口,将CAN_PORTS宏定义为1,几个就定义为几。

这个封装大家可以记着,我在多款器件上都是这么封装的,之前在NXP的KE06, KEA, KV46, K64等系列,在ST的F103, F446, H743等等CAN通信都采用这种封装BSP驱动。

初始化

参考官方的例程,根据自己的硬件去实现,做相应修改。我们一般发送接收要采用中断或者DMA实现,这里以中断方式实现,根据实际可能还需要添加滤波,配置缓冲等。

888491dc-0be0-11ec-8fb8-12bb97331649.png

中断回调函数

最主要的就是通信传输回调函数的实现,MPC5744P的回调函数参数有事件,所以可以根据事件来判断是接收还是发送。

责任编辑:haq

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

    关注

    59

    文章

    3093

    浏览量

    473395
  • 通信
    +关注

    关注

    18

    文章

    6445

    浏览量

    140243
  • 封装
    +关注

    关注

    128

    文章

    9317

    浏览量

    149021

原文标题:用这种结构做CAN通信数据封装太爽了

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    日前,发布了《2025年企业可持续发展报告》,全面总结了2025年在环境、团队与治理方面持续推进可持续发展的目标和举措,以及所取得的进展和主要成就。
    的头像 发表于 04-17 17:06 770次阅读

    携手COMPREDICT加速边缘AI在汽车应用落地

    携手COMPREDICT将边缘AI带入汽车应用领域,降低车辆物料清单 (BoM) 成本,助力汽车制造商与一级供应商加速迈向更智能、软件驱动出行的转型。
    的头像 发表于 02-27 14:31 2079次阅读
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>携手COMPREDICT加速边缘AI在汽车应用落地

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

    日前,EasyEVSE开发平台在布加勒斯特举行的行业盛会“Automotive Today”上,荣膺“绿色出行奖”。该奖项认可并表彰出行领域的创新与可持续发展成就。
    的头像 发表于 02-01 11:25 1127次阅读
    <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 726次阅读

    推出全新eIQ Agentic AI框架

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

    CES 2026参展精彩纷呈

    的展馆中,有哪些不容错过的“芯”看点?今天,我们跟随执行副总裁兼中国事业部总经理李晓鹤先生的探展脚步,一起去划重点!
    的头像 发表于 01-13 11:10 1219次阅读

    嵌入式HMI应用开发工具GUI Guider 1.10.1全新上线

    嵌入式HMI应用开发工具GUI Guider 1.10.1全新上线啦!新版本重点聚焦性能提升、工具链升级、多点触控体验以及开发板适配,进一步优化IDE界面,增强功能稳定性,并完善
    的头像 发表于 12-28 09:45 1913次阅读

    启扬智能受邀亮相「2025技术巡回研讨会」

    多年合作的过程中,启扬基于i.MX93、i.MX8MPlus、i.MX8MMini、i.MX6UL、i.MX6处理器开发出多款
    的头像 发表于 09-09 17:49 1929次阅读
    启扬智能受邀亮相「2025<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>技术巡回研讨会」

    MCX E系列5V MCU发布

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

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

    云实验室(Cloud Lab)致力于提供云测试平台,让开发者可以通过云端,在线远程探索
    的头像 发表于 08-13 17:43 1956次阅读
    大联大世平两款全新<b class='flag-5'>开发</b>板上架<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>云实验室

    安富利荣获多个奖项

    日前,在(NXP)2025 GC DFAE培训大会颁奖典礼上,安富利多位现场应用工程师凭借卓越的技术支持能力和杰出的解决方案支持能力,荣获2024年度大中华区代理商DFAE
    的头像 发表于 07-09 14:08 1548次阅读

    完成对TTTech Auto的收购

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

    「2025创新技术峰会」飞凌嵌入式亮相上海首站

    2025年5月14日,【2025年创新技术峰会】首站登陆上海,飞凌嵌入式作为(NXP)金牌合作伙伴受邀参会,聚焦“工业与物联网”领域,携多款边缘侧AI核心板、
    的头像 发表于 05-15 13:38 1586次阅读
    「2025<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>创新技术峰会」飞凌嵌入式亮相上海首站

    启扬智能受邀参加2025技术峰会

    2025年5月14日创新技术峰会在上海举行,本次峰会聚焦前沿性的赋能技术,覆盖汽车电子架构、ADAS、汽车电气化、车载信息娱乐系统、智能工业、电力和能源管理、智能家居、医疗保健等热门应用,启扬
    的头像 发表于 05-14 17:34 1224次阅读
    启扬智能受邀参加2025<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>技术峰会

    米尔诚邀您参加2025NXP峰会

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