这篇文章介绍了S32K3X4EVB-T172 评估板的两个互补的 FlexCAN 通信示例,展示了低级 IP 层和AUTOSAR MCAL 层的实现。这些示例是在正常/用户模式下配置元器件的基本例程,因为 RTD示例配置为环回模式。
要测试 CAN 通信,必须使用另一块开发板或 CAN 分析仪。
由于使用 S32K3X4EVB-T172 的 B2 修订版来测试该项目,因此将 TJA1043 收发器安装在板上并用于测试示例。
------------------------------------------------------------------------------
* Test HW: S32K3X4EVB-T172
* MCU: S32K344
* Compiler: S32DS 3.6.2
* SDK release: RTD 6.0.0
* Debugger: PE Micro
* Target: internal_FLASH
------------------------------------------------------------------------------
该项目使用 IP 级驱动程序演示了基本的 FlexCAN 设置。它配置标准的 CAN 报文;通过轮询进行传输,使用中断进行接收。
如果使用TJA1153 收发器,则必须在项目顶部取消注释宏TJA1153 ,并通过自定义配置序列对其进行初始化。如果未使用且宏已被注释,则进行正常的收发器初始化(仅CAN0_EN_PIN & CAN0_STB_PIN设置为高电平)。
Rx 过滤器口罩类型是个人的,设置为接收 STD ID 123h。
Tx MB 设置为 STD ID 001h。
FlexCAN 比特率使用 MPC5xxx/S32Kxx/LPCxxxx 计算 :CAN / CAN FD 位定时计算。FlexCAN 比特率设置为500kbps, 采样点为 81.25%
该项目可配置 Can_43_FLEXCAN 和 CanIf 模块进行 CAN 通信。传输通过轮询完成,而接收则通过中断进行配置。
Tx MB 设置为 STD ID 123h。
接受掩码设置为 0x0(接受所有 ID)。
CAN 报文通过Can_43_FLEXCAN_Write() 发送,通过 CanIf_RxIndication() 回调接收。CanIf_bRxFlag设置完成后,系统会发回一条 ACK 报文。 绿色LED 每收到 10 条信息就会切换一次。
FlexCAN 比特率使用 MPC5xxx/S32Kxx/LPCxxxx 计算 :CAN / CAN FD 位定时计算。FlexCAN 比特率设置为500kbps, 采样点为 81.25%
如果使用TJA1153收发器,则必须使用 宏TJA1153_EVB_TRCV。否则,使用TJA1043_EVB_TRCV进行标准收发器初始化(CAN0_STB& CAN0_EN 引脚设置为高电平)。
这些示例 按原样提供 ,不提供任何保证,也不提供任何支持。这些基本例程 仅供参考。