TI中文支持网
TI专业的中文技术问题搜集分享网站

AWR2944: AWR2944EVM 运行MCAN例程出现总线被动错误

Part Number:AWR2944

我们在使用AWR2944 EVM Demo板调试运行SDK mmwave_mcuplus_sdk_04_02_00_02中MCAN的例程mcan_loopback_interrupt—>r5fss0-0_freertos,

我们使用的是CANB,并验证了CAN收发器EN(6)位高电平,STB(14)为高电平,这个状态下收发器正常工作。CANH和CANL接入周立功的CAN壳。

首先,我们在这个例程中去掉了回环模式的功能。再验证CANFD的发送功能时发现数据发送失败,调用MCAN_txBufAddReq后发送失败,寄存器中的数据表明终止了传输。

进一步调试时发现MCAN_PSR寄存器发生一些错误状态,如下图所示,Error Passive置位,LastErrorCode 101

查找参考手册中LastErrorCode的描述,如下所示,节点发送显性电平,总线电平为隐性

周立功CANFD上位机的配置如下:

我想了解下MCAN数据发送失败的原因是什么?是总线的这个Passive Error导致的吗?

Chris Meng:

你好,

你是否有对比测试过mcu_plus_sdk_awr294x_08_02_00_25\examples\drivers\mcan\mcan_external_loopback_interrupt例程?

,

忡明:

对比过,mcan\mcan_external_loopback_interrupt这个例程中多调用了一个接口mcan_enableTransceiver,就是让收发器工作在正常模式,我在问题描述也说明了CAN收发器是工作在正常模式,然后去掉了回环模式。差异主要是以上两点

,

Chris Meng:

你好,

mcan_external_loopback_interrupt demo这个demo可以成功发送,接收么?

周立功CANFD可以接收的msg id是如何配置的?

,

忡明:

例程mcan_external_loopback_interrupt 跑不通,上位机没有配置滤波,可以接收所有数据帧。我们的EVM开发板将R13和R17电阻去掉了,就是为了让CAN收发器工作在正常模式

,

Chris Meng:

你好,

请问你是否有去掉下面内部环回的使能?

if (TRUE == enableInternalLpbk) { MCAN_lpbkModeEnable(gMcanBaseAddr, MCAN_LPBK_MODE_INTERNAL, TRUE); }

你是否有看过下面的信息:

file:///C:/ti/mcu_plus_sdk_awr294x_08_02_00_25/docs/api_guide_awr294x/DRIVERS_MCAN_PAGE.html#autotoc_md442 

请关注一下下面e2e讨论的回复。

(+) AWR2944: Test environment for mcan_external_loopback_interrupt in mcu_plus_sdk_awr294x_08_02_00_25 – Sensors forum – Sensors – TI E2E support forums

,

忡明:

1.我看了下英文e2e论坛的描述,mcan_external_loopback_interrupt这个例程在一个EVM板就能运行的,一个在Cortex_R5_0发送,一个在Cortex_R5_1接收

2.我们代码去掉了

if (TRUE == enableInternalLpbk){MCAN_lpbkModeEnable(gMcanBaseAddr, MCAN_LPBK_MODE_INTERNAL, TRUE);}

3.我们的问题找到原因了,不能去掉电阻R13和R17,mcan_external_loopback_interrupt这个例程得通过收发器的使能接口mcan_enableTransceiver配置STB(14)的电平

,

忡明:

多谢支持

赞(0)
未经允许不得转载:TI中文支持网 » AWR2944: AWR2944EVM 运行MCAN例程出现总线被动错误
分享到: 更多 (0)