使用mmwave_automotive_toolbox_2_7_1labs中的mrr工程,将dss那边的距离多普勒矩阵通过消息邮箱发送到arm端。数据大小是64kb,在arm端的mboxreadtask函数中,再通过工程自带的canfd把数据输出。canfd的波特率是5M,帧周期是480ms,理论上传输完数据只要100ms左右。但是每次只能传输1帧的数据(64kb),然后canfd那边就卡死,串口也没输出了。后面把数据大小设置为20kb,这样就可以连续发送数据。为什么大数据传输是就会卡死。canfd使用的是致远电子的usbcanfd100u,波特率最大是5m。
Chris Meng:
你好,
1. 请问运行canfd传输的测试例程(没有射频发射处理)的情况下,64kb数据能否正常传输?
2. 请问你测试的时候,射频发射处理是否同时也在处理?你现在一个frame的周期是多少?一个frame内射频空闲的时间有多少?
user6247326:
回复 Chris Meng:
你好,我工程中 frame time 为960ms,帧处理时间估计不到50ms,帧空闲时间肯定是够了;就不清楚对canfd发送很大数据量,是否还有其他地方需要配置,
Chris Meng:
回复 user6247326:
你好,
如果你确认单独传输canfd不会有同样的问题(射频不使能),你可以看看是否和相关task的heap,stack大小有关系。
user6247326:
回复 Chris Meng:
stacksize默认设置的是1024*16,把stacksize的大小调大了,程序运行不了。
Chris Meng:
回复 user6247326:
你好,
建议你可以先用CCS看看相关task的stack,heap的使用情况。
processors.wiki.ti.com/…/Runtime_Object_View_(ROV)