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

TDA4VM: TDA4VM: SPI 通讯Slave端DMA传输出现数据异常问题

Part Number:TDA4VM

Hello,

我们的SPI通讯出现了一个问题,在Master与Slave全双工通讯的时候(双TDA4 MCU通讯 MCSPI0),slave端Rx数据和Tx数据出现了数据覆盖(通过逻辑分析仪确认Master端Tx数据是正常的;Slave端Tx的数据异常,并且读取的Rx数据也是异常的),我们通过分析异常的数据帧发现,异常的数据帧里面会有32byte的错误数据,其内容为上一帧发送数据的内容,并且这32byte错误数据的位置是随机的,有可能出现在包头和包尾或者中间(我们一帧数据的长度为160byte,使用SetupEB并启用DMA传输方式),错误出现的概率大约为10%,SPI通讯周期为10ms,目前怀疑可能是DMA问题,需要你们的帮助~

for example:

DATA1: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

DATA2: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

DATA3: 3 3 3 3 3 3 2 2 2 2 2 3 3 3 3 3 3 (随机出现在包头 包尾 或 中间,长度为32byte)

DATA4: 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4

Cherry Zhou:

您好我们已收到您的问题并升级到英文论坛寻求帮助,链接如下,如有答复将尽快回复您:

e2e.ti.com/…/tda4vm-dma-transfer-data-exception-on-slave-side-during-spi-communication

,

Cherry Zhou:

您好,

请问下您是在什么模式下使用的哪个实例?

工程师这边尝试了32 byte传输,将 MCU_McpSI2用作主机,7 MAIN_MCSPI4为从机。

以1秒的频率发送消息时是没有问题的,但尝试100ms 的频率时,出现了与您相同的问题。

SDK 不支持slave模式。

,

Yingjie Luo:

Hello Cherry,

我们使用的mcal版本是v1.3.2,SDK8.2,双TDA4用的都是MCU_MCSPI0, 我们将TDA4_2端通过手动修改代码配置为slave模式。

您那边也复现了此问题,那有什么进展和建议吗?

,

Cherry Zhou:

您好,

请问您使用的是 Linux SPI 驱动程序还是 MCAL SPI 驱动程序?

,

Yingjie Luo:

我们使用的是MCAL SPI 驱动程序

,

Cherry Zhou:

好的,我们看到英文论坛的答复,请问是您这边进行回复的吗?

,

Yingjie Luo:

是的

,

Cherry Zhou:

好的,那您可以先继续在英文帖子中跟进,这边的帖子我们会先关闭,如需其他技术支持请随时联系我们!

赞(0)
未经允许不得转载:TI中文支持网 » TDA4VM: TDA4VM: SPI 通讯Slave端DMA传输出现数据异常问题
分享到: 更多 (0)