Other Parts Discussed in Thread: IWR6843, MMWAVEICBOOST, IWR6843AOP
我查阅了相关资料,有一份基于IWR6843的获取原始数据的文档《使用低速串行总线的实时 ADC 原始数据采集方法》,我想知道这份文档使用的方法是否适用于IWR6843AOPEVM;
如果适用,我应该基于哪个demo的工程进行修改,修改方式是否和上述文档一致。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我查阅了相关资料,有一份基于IWR6843的获取原始数据的文档《使用低速串行总线的实时 ADC 原始数据采集方法》,我想知道这份文档使用的方法是否适用于IWR6843AOPEVM;
如果适用,我应该基于哪个demo的工程进行修改,修改方式是否和上述文档一致。
谢谢你的回复,我目前是基于C:\ti\mmwave_industrial_toolbox_4_11_0\labs\Out_Of_Box_Demo\src\xwr6843AOP 里的工程文件进行修改的。
我基于 C:\ti\mmwave_industrial_toolbox_4_11_0\labs\People_Counting\visualizer 中的文件进行上位机GUI的开发,调试中遇到了如下的几个问题(以下《使用低速串行总线的实时 ADC 原始数据采集方法》文档简称《方法》):
1. 《方法》中提到修改 oob_parser.py 中的相应代码为:
def connectComPorts(self, uartCom, dataCom):
self.uartCom = serial.Serial(uartCom,
115200,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,timeout=0.3)
if (self.capon3D == 1 and self.aop == 0):
self.dataCom = serial.Serial(dataCom,
921600*1,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,timeout=0.025)
else:
self.dataCom = serial.Serial(dataCom,
3125000,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,timeout=0.01)
self.dataCom.reset_output_buffer()
print('Connected')
您之前提到过 “IWR6843AOPEVM 板载串口最大通信速率限制,MSS LOGGER口为921600bps。Cfg uart为2Mbps。” 我留意了这个问题,所以将代码中的
% *************************************************************** % Created for SDK ver:03.05 % Created using Visualizer ver:3.5.0.0 % Frequency:60 % Platform:xWR68xx_AOP % Scene Classifier:best_range_res % Azimuth Resolution(deg):30 + 30 % Range Resolution(m):0.044 % Maximum unambiguous Range(m):9.02 % Maximum Radial Velocity(m/s):1 % Radial velocity resolution(m/s):0.13 % Frame Duration(msec):1000 % RF calibration data:None % Range Detection Threshold (dB):15 % Doppler Detection Threshold (dB):15 % Range Peak Grouping:enabled % Doppler Peak Grouping:enabled % Static clutter removal:disabled % Angle of Arrival FoV: Full FoV % Range FoV: Full FoV % Doppler FoV: Full FoV % *************************************************************** sensorStop flushCfg dfeDataOutputMode 1 channelCfg 15 7 0 adcCfg 2 1 adcbufCfg -1 0 1 1 1 profileCfg 0 60 359 7 57.14 0 0 70 1 256 5209 0 0 158 chirpCfg 0 0 0 0 0 0 0 1 chirpCfg 1 1 0 0 0 0 0 2 chirpCfg 2 2 0 0 0 0 0 4 frameCfg 0 2 16 0 1000 1 0 lowPower 0 0 guiMonitor -1 1 1 0 0 0 1 cfarCfg -1 0 2 8 4 3 0 15 1 cfarCfg -1 1 0 4 2 3 1 15 1 multiObjBeamForming -1 1 0.5 clutterRemoval -1 0 calibDcRangeSig -1 0 -5 8 256 extendedMaxVelocity -1 0 lvdsStreamCfg -1 0 0 0 compRangeBiasAndRxChanPhase 0.0 1 0 -1 0 1 0 -1 0 1 0 -1 0 1 0 -1 0 1 0 -1 0 1 0 -1 0 measureRangeBiasAndRxChanPhase 0 1.5 0.2 CQRxSatMonitor 0 3 5 121 0 CQSigImgMonitor 0 127 4 analogMonitor 0 0 aoaFovCfg -1 -90 90 -90 90 cfarFovCfg -1 0 0 8.92 cfarFovCfg -1 1 -1 1.00 calibData 0 0 0 sensorStart
Traceback (most recent call last): File "c:\ti\mmwave_industrial_toolbox_4_11_0\labs\People_Counting\visualizer\gui_threads.py", line 26, in run pointCloud = self.parser.readAndParseUart() File "c:\ti\mmwave_industrial_toolbox_4_11_0\labs\People_Counting\visualizer\oob_parser.py", line 1306, in readAndParseUart self.byteData = self.sdk3xTLVHeader(self.byteData) File "c:\ti\mmwave_industrial_toolbox_4_11_0\labs\People_Counting\visualizer\oob_parser.py", line 971, in sdk3xTLVHeader self.parseL3Data(dataIn[:tlvLength], self.profile) AttributeError: 'uartParserSDK' object has no attribute 'profile'
Saving the Output The output data from the mmWave sensor can be saved for future use in 2 ways: as a binary bitstream of the UART data, and as a csv file of the frame headers and TLVs. To save either of these files, in oob_parser.py, set self.saveBinary and/or self.saveTextFile equal to 1, save the file, then run start the gui as described above. The output data will be recorded relative to the mmWave sensor, not rotated for world coordinates as the display is.
针对问题2:
我保存了 gui_main.py 里的 profile 为 RawData_Configuration.npy;并在oob_parser.py 中的 sdk3xTLVHeader 函数进行处理时进行导入,解决了这一问题。现在的输出为:
... b'Done\n' b'\rmmwDemo:/>calibData 0 0 0\n' ('unpack requires a buffer of 196610 bytes',) ADC RAW error! dataInLength = 64784
请问这和我的波特率设置有关系吗,还是因为我一帧数据太多的原因。
请参考附件我们FAE分享的源码。
感谢您分享的源码,我详细调试了每一个环节,还是发现了以下问题:
1. 我的硬件只有 IWR6843AOPEVM ,通过micro usb 连接线直接与PC的USB端口相连;串口信息如下
Silicon Labs Dual CP2105 USB to UART Bridge: Enhanced COM Port (COM 8) Silicon Labs Dual CP2105 USB to UART Bridge: Standard COM Port (COM 7)
源码的readme以及《方法》中都提到了只有 MMWAVEICBOOST 支持UART 3125000 bps 的速率,所以我将源码中的 mss_main.c 中的 loggingBaudRate 修改为 921600*2
config->loggingBaudRate = 1843200 //921600; config->commandBaudRate = 115200;
先后rebuild dss工程和mss工程,将Release_20220705\mmwave_sdk_68xx_dsp_mss\Debug\xwr68xx_mmw_demo.bin 刷入板子;
然后将 oob_parser.py 中 dataCom 的BaudRate修改为921600*2
def connectComPorts(self, uartCom, dataCom): self.uartCom = serial.Serial(uartCom, 115200, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=0.3) if (self.capon3D == 1 and self.aop == 0): self.dataCom = serial.Serial(dataCom, 921600 * 1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=0.025) else: self.dataCom = serial.Serial(dataCom, 921600 * 2, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=0.01) # self.dataCom = serial.Serial(dataCom, 921600,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,timeout=0.025) self.dataCom.reset_output_buffer() print('Connected')
运行 gui_main.py, 输入对应 uart com和data com 端口号为 8 和 7;显示
Python is 64 bit Python version: sys.version_info(major=3, minor=6, micro=15, releaselevel='final', serial=0) Parser type: SDK Out of Box Demo Connected {'startFreq': 60.0, 'numLoops': 64, 'numTx': 3, 'sensorHeight': 3, 'maxRange': 10, 'az_tilt': 0, 'elev_tilt': 0, 'idle': 567.0, 'adcStart': 7.0, 'rampEnd': 57.14, 'slope': 70.0, 'samples': 128.0, 'sampleRate': 5209.0} Setting box 0 invisisble Setting box 1 invisisble b'sensorStop\n' b'Ignored: Sensor is already stopped\n' b'\rDone\n' b'\rmmwDemo:/>flushCfg\n' b'Done\n' b'\rmmwDemo:/>dfeDataOutputMode 1\n' b'Done\n' b'\rmmwDemo:/>channelCfg 15 5 0\n' b'Done\n' b'\rmmwDemo:/>adcCfg 2 1\n' b'Done\n' b'\rmmwDemo:/>adcbufCfg -1 0 1 1 1\n' b'Done\n' b'\rmmwDemo:/>profileCfg 0 60 567 7 57.14 0 0 70 1 128 5209 0 0 30\n' b'Done\n' b'\rmmwDemo:/>chirpCfg 0 0 0 0 0 0 0 1\n' b'Done\n' b'\rmmwDemo:/>chirpCfg 1 1 0 0 0 0 0 4\n' b'Done\n' b'\rmmwDemo:/>frameCfg 0 1 64 0 1000 1 0\n' b'Done\n' b'\rmmwDemo:/>lowPower 0 0\n' b'Done\n' b'\rmmwDemo:/>guiMonitor -1 1 0 0 0 0 0\n' b'Done\n' b'\rmmwDemo:/>cfarCfg -1 0 2 8 4 3 0 15 1\n' b'Done\n' b'\rmmwDemo:/>cfarCfg -1 1 0 4 2 3 1 15 1\n' b'Done\n' b'\rmmwDemo:/>multiObjBeamForming -1 1 0.5\n' b'Done\n' b'\rmmwDemo:/>clutterRemoval -1 0\n' b'Done\n' b'\rmmwDemo:/>calibDcRangeSig -1 0 -5 8 256\n' b'Done\n' b'\rmmwDemo:/>extendedMaxVelocity -1 0\n' b'Done\n' b'\rmmwDemo:/>bpmCfg -1 0 0 1\n' b'Done\n' b'\rmmwDemo:/>lvdsStreamCfg -1 0 0 0\n' b'Done\n' b'\rmmwDemo:/>compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0\n' b'Done\n' b'\rmmwDemo:/>measureRangeBiasAndRxChanPhase 0 1.5 0.2\n' b'Done\n' b'\rmmwDemo:/>CQRxSatMonitor 0 3 5 121 0\n' b'Done\n' b'\rmmwDemo:/>CQSigImgMonitor 0 127 4\n' b'Done\n' b'\rmmwDemo:/>analogMonitor 0 0\n' b'Done\n' b'\rmmwDemo:/>aoaFovCfg -1 -90 90 -90 90\n' b'Done\n' b'\rmmwDemo:/>cfarFovCfg -1 0 0 8.92\n' b'Done\n' b'\rmmwDemo:/>cfarFovCfg -1 1 -1 1.00\n' b'Done\n' b'\rmmwDemo:/>calibData 0 0 0\n' b'Done\n' b'\rmmwDemo:/>sensorStart\n'
目前最接近成功的配置如下
1. mss_main.c 配置:
config->loggingBaudRate = 921600;//921600; config->commandBaudRate = 1843200;
2. oor_parser.py :
def connectComPorts(self, uartCom, dataCom): self.uartCom = serial.Serial(uartCom, 921600 * 2, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=0.3) if (self.capon3D == 1 and self.aop == 0): self.dataCom = serial.Serial(dataCom, 921600 * 1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=0.025) else: self.dataCom = serial.Serial(dataCom, 921600 * 1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=0.01) # self.dataCom = serial.Serial(dataCom, 921600,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,timeout=0.025) self.dataCom.reset_output_buffer() print('Connected')
3. 修改后的profile.cfg(减小loop的数量,减小数据量):
sensorStop flushCfg dfeDataOutputMode 1 channelCfg 15 5 0 adcCfg 2 1 adcbufCfg -1 0 1 1 1 profileCfg 0 60 567 7 57.14 0 0 70 1 128 5209 0 0 30 chirpCfg 0 0 0 0 0 0 0 1 chirpCfg 1 1 0 0 0 0 0 4 frameCfg 0 1 4 0 1000 1 0 lowPower 0 0 guiMonitor -1 1 0 0 0 0 0 cfarCfg -1 0 2 8 4 3 0 15 1 cfarCfg -1 1 0 4 2 3 1 15 1 multiObjBeamForming -1 1 0.5 clutterRemoval -1 0 calibDcRangeSig -1 0 -5 8 256 extendedMaxVelocity -1 0 bpmCfg -1 0 0 1 lvdsStreamCfg -1 0 0 0 compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 measureRangeBiasAndRxChanPhase 0 1.5 0.2 CQRxSatMonitor 0 3 5 121 0 CQSigImgMonitor 0 127 4 analogMonitor 0 0 aoaFovCfg -1 -90 90 -90 90 cfarFovCfg -1 0 0 8.92 cfarFovCfg -1 1 -1 1.00 calibData 0 0 0 sensorStart
4. 使用的matlab代码如下:
close all; clear all; file_path = '20220706-2130.bin'; numFramesRead = 5;%5 number_of_Channels = 8; samplesPerChirp = 128;%128*2 chirpsPerFrame = 32;%32 fid = fopen(file_path, 'rb'); %%%%%%%%%%% Read the Binary Data File %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% readBufferSize = numFramesRead*number_of_Channels*samplesPerChirp*chirpsPerFrame; CollectBuffer = fread(fid,readBufferSize, 'int16',0,'l') ; radar_data = reshape(CollectBuffer, samplesPerChirp, number_of_Channels, chirpsPerFrame, numFramesRead );%DPIF_RADARCUBE_FORMAT_1 % |cmplx16ImRe_t x[numTXPatterns][numDopplerChirps][numRX][numRangeBins] |1D Range FFT output %%%%%%%%%%% Re-Format the DATA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% radar_data_I_Channel = radar_data(2:2:samplesPerChirp, :, :, :); radar_data_Q_Channel = radar_data(1:2:samplesPerChirp, :, :, :); radar_data = radar_data_I_Channel + sqrt(-1)*radar_data_Q_Channel; radar_data_cube = permute(radar_data,[1 3 2 4]); %%%%%%%%%%% Plot %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %figure(1),mesh(abs(radar_data_cube(:,:,1,1)));%1DFFT data figure(1),mesh(real(radar_data_cube(:,:,1,1)));%ADC RAW %plot(imag(radar_data_cube(:,:,1,1)),'b'); legend('Real'); figure(2),plot(real(radar_data_cube(:,1,1,5))); hold on,plot(imag(radar_data_cube(:,1,1,5)));
终端输出如下(显示crc校验有问题):
(mmw_demo_py36) PS C:\Phd_study\6843AOP\iwr6843aop_rawData_output\Release_20220705\visualizer> c:; cd 'c:\Phd_study\6843AOP\iwr6843aop_rawData_output\Release_20220705\visualizer'; & 'C:\ProgramData\Miniconda3\envs\mmw_demo_py36\python.exe' 'c:\Users\han\.vscode\extensions\ms-python.python-2022.8.1\pythonFiles\lib\python\debugpy\launcher' '53816' '--' 'c:\Phd_study\6843AOP\iwr6843aop_rawData_output\Release_20220705\visualizer\gui_main.py' Python is 64 bit Python version: sys.version_info(major=3, minor=6, micro=15, releaselevel='final', serial=0) Parser type: SDK Out of Box Demo Connected {'startFreq': 60.0, 'numLoops': 64, 'numTx': 3, 'sensorHeight': 3, 'maxRange': 10, 'az_tilt': 0, 'elev_tilt': 0, 'idle': 567.0, 'adcStart': 7.0, 'rampEnd': 57.14, 'slope': 70.0, 'samples': 128.0, 'sampleRate': 5209.0} Setting box 0 invisisble Setting box 1 invisisble b'sensorStop\n' b'Ignored: Sensor is already stopped\n' b'\rDone\n' b'\rmmwDemo:/>flushCfg\n' b'Done\n' b'\rmmwDemo:/>dfeDataOutputMode 1\n' b'Done\n' b'\rmmwDemo:/>channelCfg 15 5 0\n' b'Done\n' b'\rmmwDemo:/>adcCfg 2 1\n' b'Done\n' b'\rmmwDemo:/>adcbufCfg -1 0 1 1 1\n' b'Done\n' b'\rmmwDemo:/>profileCfg 0 60 567 7 57.14 0 0 70 1 128 5209 0 0 30\n' b'Done\n' b'\rmmwDemo:/>chirpCfg 0 0 0 0 0 0 0 1\n' b'Done\n' b'\rmmwDemo:/>chirpCfg 1 1 0 0 0 0 0 4\n' b'Done\n' b'\rmmwDemo:/>frameCfg 0 1 4 0 1000 1 0\n' b'Done\n' b'\rmmwDemo:/>lowPower 0 0\n' b'Done\n' b'\rmmwDemo:/>guiMonitor -1 1 0 0 0 0 0\n' b'Done\n' b'\rmmwDemo:/>cfarCfg -1 0 2 8 4 3 0 15 1\n' b'Done\n' b'\rmmwDemo:/>cfarCfg -1 1 0 4 2 3 1 15 1\n' b'Done\n' b'\rmmwDemo:/>multiObjBeamForming -1 1 0.5\n' b'Done\n' b'\rmmwDemo:/>clutterRemoval -1 0\n' b'Done\n' b'\rmmwDemo:/>calibDcRangeSig -1 0 -5 8 256\n' b'Done\n' b'\rmmwDemo:/>extendedMaxVelocity -1 0\n' b'Done\n' b'\rmmwDemo:/>bpmCfg -1 0 0 1\n' b'Done\n' b'\rmmwDemo:/>lvdsStreamCfg -1 0 0 0\n' b'Done\n' b'\rmmwDemo:/>compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0\n' b'Done\n' b'\rmmwDemo:/>measureRangeBiasAndRxChanPhase 0 1.5 0.2\n' b'Done\n' b'\rmmwDemo:/>CQRxSatMonitor 0 3 5 121 0\n' b'Done\n' b'\rmmwDemo:/>CQSigImgMonitor 0 127 4\n' b'Done\n' b'\rmmwDemo:/>analogMonitor 0 0\n' b'Done\n' b'\rmmwDemo:/>aoaFovCfg -1 -90 90 -90 90\n' b'Done\n' b'\rmmwDemo:/>cfarFovCfg -1 0 0 8.92\n' b'Done\n' b'\rmmwDemo:/>cfarFovCfg -1 1 -1 1.00\n' b'Done\n' b'\rmmwDemo:/>calibData 0 0 0\n' b'Done\n' b'\rmmwDemo:/>sensorStart\n' parseL3Data samples = 128.0 numLoops = 4.0 numTx = 2.0 8192h1H 16384B1H objStructLength = 16386 dataIn = 65538 ADC RAW CRC ERROR! 6843-CRC: 0x101f GUI-CRC: 0x5a0a Traceback (most recent call last): File "c:\Phd_study\6843AOP\iwr6843aop_rawData_output\Release_20220705\visualizer\gui_main.py", line 604, in updateGraph rotPointDataX,rotPointDataY,rotPointDataZ = rotX ([pointCloud[0,i]],[pointCloud[1,i]],[pointCloud[2,i]],-1*self.profile['elev_tilt']) IndexError: index 1150 is out of bounds for axis 1 with size 1150 Traceback (most recent call last): File "c:\Phd_study\6843AOP\iwr6843aop_rawData_output\Release_20220705\visualizer\gui_main.py", line 604, in updateGraph rotPointDataX,rotPointDataY,rotPointDataZ = rotX ([pointCloud[0,i]],[pointCloud[1,i]],[pointCloud[2,i]],-1*self.profile['elev_tilt']) IndexError: index 1150 is out of bounds for axis 1 with size 1150 Traceback (most recent call last): File "c:\Phd_study\6843AOP\iwr6843aop_rawData_output\Release_20220705\visualizer\gui_main.py", line 604, in updateGraph rotPointDataX,rotPointDataY,rotPointDataZ = rotX ([pointCloud[0,i]],[pointCloud[1,i]],[pointCloud[2,i]],-1*self.profile['elev_tilt']) IndexError: index 1150 is out of bounds for axis 1 with size 1150 Traceback (most recent call last): File "c:\Phd_study\6843AOP\iwr6843aop_rawData_output\Release_20220705\visualizer\gui_main.py", line 604, in updateGraph rotPointDataX,rotPointDataY,rotPointDataZ = rotX ([pointCloud[0,i]],[pointCloud[1,i]],[pointCloud[2,i]],-1*self.profile['elev_tilt']) IndexError: index 1150 is out of bounds for axis 1 with size 1150 parseL3Data samples = 128.0 numLoops = 4.0 numTx = 2.0 8192h1H 16384B1H objStructLength = 16386 dataIn = 65538 ADC RAW CRC ERROR! 6843-CRC: 0x1020 GUI-CRC: 0xca7e parseL3Data samples = 128.0 numLoops = 4.0 numTx = 2.0 8192h1H 16384B1H objStructLength = 16386 dataIn = 65538 ADC RAW CRC ERROR! 6843-CRC: 0x1022 GUI-CRC: 0x69a2 parseL3Data samples = 128.0 numLoops = 4.0 numTx = 2.0 8192h1H 16384B1H objStructLength = 16386 dataIn = 65538 ADC RAW CRC ERROR! 6843-CRC: 0x1022 GUI-CRC: 0x604c parseL3Data samples = 128.0 numLoops = 4.0 numTx = 2.0 8192h1H 16384B1H objStructLength = 16386 dataIn = 65538 ADC RAW CRC ERROR! 6843-CRC: 0x101f GUI-CRC: 0x4c41 parseL3Data samples = 128.0 numLoops = 4.0 numTx = 2.0 8192h1H 16384B1H objStructLength = 16386 dataIn = 65538 ADC RAW CRC ERROR! 6843-CRC: 0x101f
matlab处理后得到的数据均为 0,可能是通信过程出了错 。
其他未解决问题:
依照《方法》,修改了C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc\src\rangeprochwa.c 文件;
但是在执行C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc 里的 makefile 时,出现以下错误:
C:/ti/mmwave_sdk_03_05_00_04/packages/ti/common/mmwave_sdk.mak:50: *** Please set the environment variable MMWAVE_SDK_DEVICE.. Stop.
完整执行过程如下:
(base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc> cd C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows> .\setenv.bat C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SDK_DEVICE=iwr68xx C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set DOWNLOAD_FROM_CCS=yes C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SECDEV_INSTALL_PATH= C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SECDEV_HSIMAGE_CFG=/hs_image_creator/hsimage.cfg C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SDK_TOOLS_INSTALL_PATH=C:/ti C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SDK_INSTALL_PATH=C:/ti/mmwave_sdk_03_05_00_04/packages C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set R4F_CODEGEN_INSTALL_PATH=C:/ti/ti-cgt-arm_16.9.6.LTS C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XDC_INSTALL_PATH=C:/ti/xdctools_3_50_08_24_core C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set BIOS_INSTALL_PATH=C:/ti/bios_6_73_01_01/packages C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR14XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr12xx_xwr14xx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR16XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr16xx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR18XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr18xx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR68XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr6xxx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C674_CODEGEN_INSTALL_PATH=C:/ti/ti-cgt-c6000_8.3.3 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C64Px_DSPLIB_INSTALL_PATH=C:/ti/dsplib_c64Px_3_4_0_0 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C674x_DSPLIB_INSTALL_PATH=C:/ti/dsplib_c674x_3_4_0_0 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C674x_MATHLIB_INSTALL_PATH=C:/ti/mathlib_c674x_3_1_2_1 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>call checkenv.bat ----------------------------------------------- mmWave Build Environment Configured ----------------------------------------------- (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows> cd C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc> mingw32-make C:/ti/mmwave_sdk_03_05_00_04/packages/ti/common/mmwave_sdk.mak:50: *** Please set the environment variable MMWAVE_SDK_DEVICE.. Stop. (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc> mingw32-make clean C:/ti/mmwave_sdk_03_05_00_04/packages/ti/common/mmwave_sdk.mak:50: *** Please set the environment variable MMWAVE_SDK_DEVICE.. Stop. (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc> cd C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows> .\setenv.bat C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SDK_DEVICE=iwr68xx C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set DOWNLOAD_FROM_CCS=yes C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SECDEV_INSTALL_PATH= C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SECDEV_HSIMAGE_CFG=/hs_image_creator/hsimage.cfg C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SDK_TOOLS_INSTALL_PATH=C:/ti C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SDK_INSTALL_PATH=C:/ti/mmwave_sdk_03_05_00_04/packages C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set R4F_CODEGEN_INSTALL_PATH=C:/ti/ti-cgt-arm_16.9.6.LTS C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XDC_INSTALL_PATH=C:/ti/xdctools_3_50_08_24_core C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set BIOS_INSTALL_PATH=C:/ti/bios_6_73_01_01/packages C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR14XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr12xx_xwr14xx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR16XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr16xx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR18XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr18xx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR68XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr6xxx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C674_CODEGEN_INSTALL_PATH=C:/ti/ti-cgt-c6000_8.3.3 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C64Px_DSPLIB_INSTALL_PATH=C:/ti/dsplib_c64Px_3_4_0_0 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C674x_DSPLIB_INSTALL_PATH=C:/ti/dsplib_c674x_3_4_0_0 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C674x_MATHLIB_INSTALL_PATH=C:/ti/mathlib_c674x_3_1_2_1 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>call checkenv.bat ----------------------------------------------- mmWave Build Environment Configured ----------------------------------------------- (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows> cd C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc> mingw32-make clean C:/ti/mmwave_sdk_03_05_00_04/packages/ti/common/mmwave_sdk.mak:50: *** Please set the environment variable MMWAVE_SDK_DEVICE.. Stop. (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc> mingw32-make C:/ti/mmwave_sdk_03_05_00_04/packages/ti/common/mmwave_sdk.mak:50: *** Please set the environment variable MMWAVE_SDK_DEVICE.. Stop. (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc> cd C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc> mingw32-make C:/ti/mmwave_sdk_03_05_00_04/packages/ti/common/mmwave_sdk.mak:50: *** Please set the environment variable MMWAVE_SDK_DEVICE.. Stop. (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc> cd C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows> .\setenv.bat C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SDK_DEVICE=iwr68xx C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set DOWNLOAD_FROM_CCS=yes C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SECDEV_INSTALL_PATH= C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SECDEV_HSIMAGE_CFG=/hs_image_creator/hsimage.cfg C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SDK_TOOLS_INSTALL_PATH=C:/ti C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set MMWAVE_SDK_INSTALL_PATH=C:/ti/mmwave_sdk_03_05_00_04/packages C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set R4F_CODEGEN_INSTALL_PATH=C:/ti/ti-cgt-arm_16.9.6.LTS C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XDC_INSTALL_PATH=C:/ti/xdctools_3_50_08_24_core C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set BIOS_INSTALL_PATH=C:/ti/bios_6_73_01_01/packages C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR14XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr12xx_xwr14xx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR16XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr16xx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR18XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr18xx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set XWR68XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_05_00_04/packages/../firmware/radarss/xwr6xxx_radarss_rprc.bin C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C674_CODEGEN_INSTALL_PATH=C:/ti/ti-cgt-c6000_8.3.3 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C64Px_DSPLIB_INSTALL_PATH=C:/ti/dsplib_c64Px_3_4_0_0 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C674x_DSPLIB_INSTALL_PATH=C:/ti/dsplib_c674x_3_4_0_0 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>set C674x_MATHLIB_INSTALL_PATH=C:/ti/mathlib_c674x_3_1_2_1 C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows>call checkenv.bat ----------------------------------------------- mmWave Build Environment Configured ----------------------------------------------- (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows> cd C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc> mingw32-make clean C:/ti/mmwave_sdk_03_05_00_04/packages/ti/common/mmwave_sdk.mak:50: *** Please set the environment variable MMWAVE_SDK_DEVICE.. Stop. (base) PS C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpu\rangeproc>
已经按照 sdk_guide 文件进行了 setenv.bat 的执行,使用了管理者模式,并且参考了 Please set the environment variable MMWAVE_SDK_DEVICE 的执行方法。
是否只能将 Standard COM Port (COM 7) 作为 dataCom 进行数据传输;
如果你要更换数据输出的com口,需要修改代码。
建议先降低采样点数和帧率,实现相关功能后再更改端口。
感谢回复!
在无视crc校验的情况下,已经可以进行实时采集数据了。配置文件如下(有效带宽3.2GHz)。
sensorStop flushCfg dfeDataOutputMode 1 channelCfg 15 5 0 adcCfg 2 1 adcbufCfg -1 0 1 1 1 profileCfg 0 60 567 7 57.14 0 0 70 1 128 2800 0 0 30 chirpCfg 0 0 0 0 0 0 0 1 chirpCfg 1 1 0 0 0 0 0 4 frameCfg 0 1 4 0 1300 1 0 lowPower 0 0 guiMonitor -1 1 0 0 0 0 0 cfarCfg -1 0 2 8 4 3 0 15 1 cfarCfg -1 1 0 4 2 3 1 15 1 multiObjBeamForming -1 1 0.5 clutterRemoval -1 0 calibDcRangeSig -1 0 -5 8 256 extendedMaxVelocity -1 0 bpmCfg -1 0 0 1 lvdsStreamCfg -1 0 0 0 compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 measureRangeBiasAndRxChanPhase 0 1.5 0.2 CQRxSatMonitor 0 3 5 121 0 CQSigImgMonitor 0 127 4 analogMonitor 0 0 aoaFovCfg -1 -90 90 -90 90 cfarFovCfg -1 0 0 8.92 cfarFovCfg -1 1 -1 1.00 calibData 0 0 0 sensorStart