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.
工具与软件:
工作环境:IWR6843AOPEMV + MMWAVEICBOOST + DCA1000EVM + Windows 10
目标:通过 Python 脚本控制 DCA1000EVM、以使用 CLI 命令操作 IWR6843AOPEMV 毫米波雷达来进行数据采集。
文件:两个配置文件、 cf.json
和 profile.cfg
、如下所示:
{ "DCA1000Config": { "dataLoggingMode": "raw", "dataTransferMode": "LVDSCapture", "dataCaptureMode": "ethernetStream", "lvdsMode": 2, "dataFormatMode": 3, "packetDelay_us": 25, "ethernetConfig": { "DCA1000IPAddress": "192.168.33.180", "DCA1000ConfigPort": 4096, "DCA1000DataPort": 4098 }, "ethernetConfigUpdate": { "systemIPAddress": "192.168.33.30", "DCA1000IPAddress": "192.168.33.180", "DCA1000MACAddress": "12.34.56.78.90.12", "DCA1000ConfigPort": 4096, "DCA1000DataPort": 4098 }, "captureConfig": { "fileBasePath": "data", "filePrefix": "adc_data", "maxRecFileSize_MB": 1024, "sequenceNumberEnable": 1, "captureStopMode": "infinite", "bytesToCapture": 4000, "durationToCapture_ms": 180000, "framesToCapture": 12000 }, "dataFormatConfig": { "MSBToggle": 0, "laneFmtMap": 0, "reorderEnable": 1, "dataPortConfig": [ { "portIdx": 0, "dataType": "complex" }, { "portIdx": 1, "dataType": "complex" }, { "portIdx": 2, "dataType": "complex" }, { "portIdx": 3, "dataType": "complex" }, { "portIdx": 4, "dataType": "complex" } ] } } }
profile.cfg
用于控制 IWR6843AOPEMV 的内容:
% *************************************************************** % Created for SDK ver:03.06 % Created using Visualizer ver:3.6.0.0 % Frequency:60 % Platform:xWR68xx_AOP % *************************************************************** sensorStop flushCfg % 1:frame based chirps, 2:continuous chirp, 3:adv frame config [1/3] dfeDataOutputMode 1 %* <rxChanEn><TxChanEn><0(cascading)>[15][x][0] channelCfg 15 7 0 %* <numADCBits 0:12bit,1:14bit,2:16bit>[2] % <adcOutputFmt 0:real,1:complex1,2:complex2>[1/2] adcCfg 2 1 %* <subFrameIdx>[-1] % <adcOutFmt 0:Complex,1:Real>[0] % <sampleSwap 0:I in LSB Q in MSB,1 otherwise>[1] % <ChanInterleave 0:Interleaved,1:NonItl>[1] % <ChirpThreshold..MUST be 1 for LVDS>[1] adcbufCfg -1 0 1 1 1 % =========================================================================== %* <profID> <startFreq:GHz> <ideleTime:us> <adcStartTime:us> % <rampEndTime:us> <txOutPower>[0] <txPhaseShift>[0] % <freqSlopeConst:MHz/us> <txStartTime:us> <numAdcSample> % <digOutSampleRate:ksps> % <hpfCornerFreq1 0:175KHz,1:235,2:350,3:700> % <hpfCornerFreq2 0:350KHz,1:700,2:1400,3:2800> % <rxGain> profileCfg 0 60 7 6 60 0 0 64.985 1 256 5000 0 0 48 %* <startIdx> <endIdx> <profID> % <startFreqVar>[0] <freqSlopeVar>[0] <idleTimeVar>[0] % <AdcStartTimeVar>[0] <txEnableMask> 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 %* <startIdx> <endIdx> % <loopNum> <frameNum> <framePerio:ms> % <trigSel 1:Software,2:Hardware>[1] <frameTrigDelay:ms> frameCfg 0 2 16 12000 5 1 0 % =========================================================================== %* <Ignored>[0] <AdcMode 0:Regular,1:LP Mode> lowPower 0 0 % <subFrameIdx For Demo Visualizer,streamed on UART not LVDS>[-1] % <detectedObj 0:disable,1:enable Point Cloud&side info,2:enable PC> % <logMagRange 0:disable,1:enable> % <noiseProf 0:disable,1:enable>[0] % <rangeAziHeatmap 0,1>[0] % <rangeDFSHeatmap 0,1>[0] % <stasInfo 0,1>[0] guiMonitor -1 1 1 0 0 0 1 % Must be two lines % <subFrameIdx> <procDirection> <mode> <noiseWin> % <guardLen> <divShift> <cyclic mode or Wrapped around mode> <Threshold scale> <Peak grouping> cfarCfg -1 0 2 8 4 3 0 15.0 1 cfarCfg -1 1 0 4 2 3 1 15.0 1 % <subFrameIdx> <Feature Enabled> <threshold>[0] multiObjBeamForming -1 1 0.5 % <subFrameIdx> <Enable static clutter removal technique>[0] clutterRemoval -1 0 % <subFrameIdx> <Enable DC removal using first few chirps>[0] % <negativeBinIdx> <positiveBinIdx> <numAvg> calibDcRangeSig -1 0 -5 8 256 % <subFrameIdx> <Enable velocity disambiguation technique>[0] extendedMaxVelocity -1 0 % <subFrameIdx> <enabled>[0] <chirp0Idx> <chirp1Idx> % bpmCfg -1 0 0 1 %* <subFramIdx>[-1] <enableHeader 0,1>[0] % <dataFmt 0:HW disable,1:ADC,2:CP_ADC_CQ>[1] <enableSW 0,1>[0] lvdsStreamCfg -1 0 1 0 % <rangeBias> <I/Q Bias compen for 3Tx*4Rx> 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 % <disable compRangeBiasAndRxChanPhase>[0] <targetDistance> <searchWin> measureRangeBiasAndRxChanPhase 0 1.5 0.2 % <profile> <satMonSel> <priSliceDuration> <numSlices> <rxChanMask> CQRxSatMonitor 0 3 5 121 0 % <profile> <numSlices> <numSamplePerSlice> CQSigImgMonitor 0 127 4 % <disable CQRxSatMonitor 0,1>[0] <disable CQSigImgMonitor 0,1>[0] analogMonitor 0 0 % <subFrameIdx>[-1] <minAzimuthDeg> <maxAzimuthDeg> % <minElevationDeg> <maxElevationDeg> aoaFovCfg -1 -90 90 -90 90 % <subFrameIdx>[-1] <0:range,1:Doppler> % <min> <max> cfarFovCfg -1 0 0 8.92 cfarFovCfg -1 1 -1 1.00 % <save enable> <restore enable> <Flash offset> calibData 0 0 0 sensorStart
问题:
在该 profile.cfg
文件中、我 frameCfg
按如下方式设置了参数:
frameCfg 0 2 16 12000 5 1 0
当 loopNum
设置为16时、可以启动毫米波雷达来收集数据。 但是、当我设置 loopNum
为1时、将无法使用以下配置收集任何数据:
frameCfg 0 2 1 12000 5 1 0
然而,在 Wmare Studio 中,我可以将"线性调频脉冲循环数"设置为1 ,这对应于 loopNum
中 frameCfg
。 在 Wmare Studio 中,我可以成功获取数据,但在使用 Python 脚本控制的 CLI 命令时,我无法收集数据。
是否存在配置不正确的参数? 或者不支持设置 loopNum
为1吗?
您好!
您是否能够将其设置为2? 我想知道在设置为1时是否有中断或某个不会触发的东西。
此致!
耐特
我以前曾尝试过将其设置为2、但无法收集任何数据。 此外、我观察到 DAC1000EVM 左上角的数据收集灯没有闪烁。
因此、将其设置为1或2都无法正常工作? 如果是这样、如何将其设置为4或8?
我还想确认您指的是 mmWave Studio 软件。 那么准确吗? 如果是、您使用的版本是什么? 您如何将其发送.json 命令?
此致!
耐特
当 loopNum 设置为介于1和8之间的值时、毫米波雷达无法收集数据。 但是、当该值设置为介于9和32之间的数字时、毫米波雷达能够收集数据。
我没有使用 mmWave Studio 软件来收集数据。 相反、我利用 Python 脚本在 Windows 10上运行 DCA1000EVM_CLI_Control.exe 和 DCA1000EVM_CLI_Record.exe、以收集毫米波雷达数据。 Python 脚本将 cf.json 和 profile.cfg 等配置文件传输到 DCA1000和 IWR6843AOP。
我录制了一段视频、其中展示了收集毫米波雷达数据以及对 loopNum 配置参数进行修改的现场过程。 有关详细信息、请参阅视频。
mmware_sdk_collect_data.mp4
您好!
我们不能以您使用这些工具的方式支持这些工具。 我建议您使用 mmWave Studio、或者直接丢弃前8个样本、每次收集9个样本。
此致!
耐特