前言
最近学习CANdriver 模块,在目标开发板TC389 上实现报文的收发。本文主要为在EB中实现CANdriver进行的部分模块配置。
一、目标
在EB工具中完成CAN驱动的调动,简单实现报文收发功能,为后续进行autosar can通讯协议栈的集成奠定基础,完成dbc中CAN message收发
二、目标实现步骤
1.在EB中配置Port,CANdriver,时钟,
2.在tasking 中集成配置代码,手动调用CAN driver ,输出报文。
3.在ISOLAR中,配置CAN协议栈,最后再次在tasking中集成,完成dbc中报文的收发。
三、学习过程参考资料
1.MCAL_User_manual 该文档来源于MCAL的驱动包,介绍了EB中CAN驱动部分的相关内容,包括生成的文件及文件结构,文件描述,EB相关配置项的配置说明,函数调用关系,包含关系。
2.TC3xx芯片手册,该文档介绍了芯片的CAN资源。
3.TC38X_DS_04 该文档描述了芯片的引脚定义
4. TriBoardManual-TC3x9-V2 该稳定描述了开发板的硬件原理图
四、EB配置步骤
1.CAN引脚的配置
先根据板子的硬件原理图确定对应的port口,MCU芯片使用哪个引脚作为CAN通讯的发送接收引脚
确定之后完成Port的配置。注意输出端口要进行端口的复用,这里为 ALT5。
2.CAN 时钟的配置
CAN时钟的配置在MCU中,
MCUClockSettingConfig\McuMCanClockSourceSelection
下一行可以配置CAN的时钟频率 20MHz
3.CAN Driver的配置
根据对应的节点配置控制器,主要有busoff的处理,CANRxInputSelection的选择
控制器的基地址,这些都是可以在MCAL 芯片包的参考文件中找到配置项的说明与含义。
这里先选择轮询方式进行实现,后续再配置中断模式进行验证。
波特率根据需要自己配置
4.CANHardwareObject的配置
注意配置成接收对象时,需要配置CAN硬件过滤,从而过滤接收的报文ID
总结
到此,配置基本结束,EB中配置项多而杂,但是每一个配置项都有具体的文档说明,可以参考文档明白其具体含义。重要的学习方法与学习思路。
后续继续更新代码集成相关总结