gaoweifan / pyRadar

TI mmWave Radar IWR1843/AWR2243+DCA1000EVM Raw ADC IQ data and UART data capturing
MIT License
74 stars 17 forks source link

在修改.cfg参数时遇到问题 #16

Open YiXiaoyao69 opened 4 months ago

YiXiaoyao69 commented 4 months ago

我使用realTimeProc.py这个程序进行AWR1843雷达的循环数据采集,使用原有的.cfg配置文件采集数据一切正常,但是当我修改配置时就会发生问题。我希望采集256*128点的数据,配置的参数如下所示: 微信图片_20240603154115 事实上,当我将上述配置中的采样数256改成128时,它就能够正确采集数据,然而当采样数为256时,DATA_TRAIN_PRG灯会亮,大约在20多秒之后,LVDS_PATH_ERR灯会亮红一下然后灭掉,同时会出现如下错误: 5b3f0bae409d89ec36f27cc4025fe63 事实上,当我以同样的参数配置在mmWave Studio中采集数据时,完全不会发生任何问题。我又使用testParam进行测试,发现改到256点时有一个错误: 190914085f0d1aefd81c4cd14b5bef4 于是我尝试将发射天线参数由7改成3(即只设置两个发射天线),但是运行时还是会发生如下错误: f890a70a44ddacf74c3d8dd65e31256 按说我上面改的这几个配置都能在mmWave Studio中运行,却无法在循环采集程序中运行,您认为这可能是什么原因呢?

gaoweifan commented 4 months ago

片内DSP计算FFT需要的radar cube内存大小大于最大内存大小,当然无法正常工作。mmWave Studio之所以能运行,是因为mmWave Studio使用了不同的固件,能直接通过SPI控制,不经由片内DSP处理,直接输出原始数据到LVDS,故不会存在DSP内存不足的问题。而支持Uart控制的demo固件会经过片内DSP处理再通过uart输出多普勒热图、点云数据等,即使关闭uart输出只保留LVDS输出,仍然会经过DSP处理,一旦内存超过限制就无法运行。而且testParam考虑到的因素不全,没有考虑demo程序本身占用的内存空间,所以有些时候即使校验满足条件,仍然有可能无法正常运行。 解决方法就是修改demo固件,去除dsp处理部分,仅保留uart控制及LVDS输出部分。或者调低参数进一步减小内存占用,保证程序能够正常运行。