AWR2944: SPI通信中存在较大的发送间隔的问题

Part Number: AWR2944

您好,

我目前使用mmwave_mcuplus_sdk_04_07_00_01版本开发AWR2944雷达,想将out of box Demo上点云数据传输从UART替换成SPI。我发现在传输一段完整的、较长的数据时,雷达发送一段数据就会有较长的间隔,具体如下图所示,发送数据26us、空闲56us左右。

spi设置的频率未30M,在测试中一帧大概传输了16k字节的数据,传输耗时约14.9ms,相当于spi通信速率为10M。

我对SPI的设置如下:

请问发送数据的间隔是我设置的参数有问题,还是调用SPI传输接口耗时较久?

  • 你好,

    请尝试使能DMA。

    Thanks,

    Chris

  • 您好,您的意思是使用 mibspi 模式吗?我们目前通讯的方案是雷达作为主设备,只外接一个从设备。spi 是三引脚模式,并 将 cs 引脚通过 gpio 控制,在开始传输一帧数据时先下拉 cs、结束传输数据时上拉 cs。我想问的是如果使能 DMA 的话,我如何判断数据传输完成并上拉 cs 引脚?

  • 你好,

    mibspi也有cs,为什么要用gpio?能否直接使用mibsp的cs?

    Thanks,

    Chris

  • 您好,

    spi内部的cs引脚的控制逻辑不符合我们设定的预期。具体地,spi的四引脚模式下cs引脚的下拉生效是跟我图里的波形同步的,spi发几个字节,cs引脚就会相应的下拉,即一包完整的点云数据传输中会有很多次cs引脚的上下拉。而我们的预期是在开始传输一包点云数据时下拉cs引脚,完成一包数据传输后上拉cs引脚。因此没法直接使用mibspi的cs,需要单独定义gpio的方式进行控制。

  • 你好,

    数据发送完毕函数就会返回,你就可以改变gpio的状态了。请参考mcu_plus_sdk_awr294x_09_00_00_15\examples\drivers\mibspi\mibspi_loopback_dma。

    Thanks,

    Chris