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

发布时间:2023-05-24  

摘要

本篇笔记主要记录基于恩智浦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的回调函数参数有事件,所以可以根据事件来判断是接收还是发送。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    接启动开关。 根据变频器说明书所示的接线端子接正转或反转作为启动开关,然后开始调速,如果不需要外接电位器,则使用变频器本身面板操作调速就行。如果接电位器,也需要根据变频器说明书接线,一般是10v com......
    表示,例如博世力士乐CVF-G3系列变频器。 输出频率:变频器的输出频率最低可为0Hz,最高频率则各不相同,但都超过了我国的工频频率,可达120Hz,甚至几百Hz。 配用电动机容量:变频器说明书......
    的输出波形,这是变频器说明书中经常提到的SPWM脉宽调制技术。目前所有变频器,都是采用这种输出调制模式。 ......
    的输出电缆上加上电缆套。 2、变频器或控制柜内的控制线距离动力电缆至少100mm等等。 3、在购买变频器的时候都会有变频器说明书。如果没有的话,您可以上您所购买的品牌的网站上去下载。变频器说明书上面的内容相当详细,包括......
    和电机的接线正确,并按照变频器说明书的要求设置参数。然后,可以通过手动将电机转动一段时间,然后停止电机,观察制动电阻是否能够将电机快速停止。   需要注意的是,制动电阻只能在一定范围内工作,过大......
    是数值是百分比给定、有的是频率值给定,具体要参考变频器说明书。 通讯控制报文 第三类:模拟量给定,将频率源参数设置为3、4、9其中一个就可以,这个是用的最多的,其本质就是建立起模拟量和频率范围的比例关系,比如......
    设备的参数以及设置方法上的差异(这里建议大家最好还是根据相应品牌变频器说明书进行调速),例如有的变频器参数是可以逐个修改的,对第二、第三类参数可以通过改变应用宏的方法来恢复厂值。 ......
    在输出侧对电流进行测量,从电 机角度来说更符合实际。   2 对电流表选型   随着技术的发展,能够反映电流有效值测量工具越来越多,但是都比较昂贵。变频器说明书上推荐使用电磁式电流表,它是......
    算节能效果时,必须用有功功率,不能用视在功率。 误区4:变频器输出侧不能加装接触器 几乎所有变频调速器使用说明书都指出,变频调速器输出侧不能加装接触器。如日本安川变频器说明书就规定“切勿......
    停止(制动,OFF3方式)。 ①将PLC、变频器和电动机按照如图4-1连线。 ②参考说明书,按照表4-2设定变频器的参数。 西门子变频器正反转控制接线图 西门子变频器正反转控制变频器参数 ③编写......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>