一、 前言
在车规 MCU 领域,大部分用户都会采用 AUTOSAR 标准的软件包。芯驰提供满足 AUTOSAR 标准的 MCAL,实现微控制器、存储、通信和 I/O 等硬件的驱动程序,可以支持 Vector、EB、普华、ETAS、恒润(排名不分先后)等国内外主流 AUTOSAR 厂商的软件平台。为便于客户评估这些基本驱动模块,芯驰提供了 AUTOSAR Demo 程序,在设定的应用场景中展示这些基本模块的调用。
本文介绍 CAN 的配置与应用测试。
硬件平台:芯驰 E3640 SD103_E3_GATEWAY_A02_043 开发板
软件平台:SemiDrive_E3_MCAL_V2.0
二、 PORT 模块配置
1. 分析原理图
从原理图可以看出引脚使用情况,CAN PHY 使用的是 GPIO_D12,GPIO_D13,CAN_H、CAN_L 从 J2306 的 10、30 脚输出。
2. 设置 GPIO 组
3. 设置 GPIO 属性
详细配置如上图
三、 CAN 模块配置
1. 查看 CAN base addresses
查看 Semidrive_Can_User_Manual.pdf 文档,CAN7 地址如下图所示
下图中重点填写 CanControllerBaseAddress ,从上图中看出地址为 0XF0AE0000
2. MCU 模块配置
勾选 CANFD7。
3. 保存与代码生成
四、 测试
1. 运行测试程序
开发板 debug 接口连接电脑,打开串口助手,开启开发板后在串口助手中输入测试命令 runcase 1400,如下图:2. USBCAN 收发数据
打开软件,可以看到一直有收到数据,ID:0x00000327,标准帧,数据长度 8。
发送了一帧数据,ID:0,标准帧,数据长度 8,数据为 00,01,02,03,04,05,06,07,串口终端可以看到接收数据
3. 程序分析
例程中 Can_Write(CAN_HTH_1, &PudInfo);函数发送数据
CanIf_RxIndication();函数接收并打印数据,至此完成 CAN 收发测试。
五、 参考文档
- 《Semidrive_PORT_Module_User_Manual.pdf》
- 《Semidrive_Can_User_Manual.pdf》
- 《Semidrive_E3_Mcal_Release_Note.pdf》
评论
saberca
2023年5月7日