Part Number:AWR1642BOOST
您好,我想把MCAN的接收配置成使用FIFO的方式,因为使用buffer有时会出现数据错误。驱动默认是使用buffer,我并没找到禁用buffer,启动FIFO的寄存器。
我该怎么改成使用FIFO?是否有相关的可配置寄存器?SDK下的驱动例程里并没有更改配置的方式及测试代码。
Shine:
请参考下面的文档。https://www.ti.com/lit/an/swra606/swra606.pdfmcanCfgParams->msgRAMConfig.txBufNum = 32U; mcanCfgParams->msgRAMConfig.txFIFOSize = 0U; mcanCfgParams->msgRAMConfig.txBufMode = 0U; mcanCfgParams->msgRAMConfig.txEventFIFOSize = 0U; mcanCfgParams->msgRAMConfig.txEventFIFOWaterMark = 0U; mcanCfgParams->msgRAMConfig.rxFIFO0size = 0U; mcanCfgParams->msgRAMConfig.rxFIFO0OpMode = 0U; mcanCfgParams->msgRAMConfig.rxFIFO0waterMark = 0U; mcanCfgParams->msgRAMConfig.rxFIFO1size = 64U; mcanCfgParams->msgRAMConfig.rxFIFO1waterMark = 64U; mcanCfgParams->msgRAMConfig.rxFIFO1OpMode = 64U;
,
Shuang Sun:
您好,我看了下文档,这个文档好像没有说明怎么切换buffer模式和FIFO模式。我按照文档第18页配置,接收数据时还是会触发到MCAN_INTR_SRC_DEDICATED_RX_BUFF_MSG中断上,如下图。这个现象应该是还在使用CAN buffer,而不是FIFO
,
Chris Meng:
你好,
请关注下面论坛讨论的回复:
e2e.ti.com/…/awr1642-how-to-enable-canfd-fifo-mode-data-receiver
,
Shuang Sun:
感谢,正在跟踪该论坛。