参考资料
- mmWave Demo Visualizer的cfg文件的解析(参考mmwave sdk user guide 3.4小节)
- mmWaveLink的参考文档(在SDK的安装路径下C:/ti/mmwave_sdk_03_04_00_03/packages/ti/control/mmwavelink/docs/doxygen/html/index.html)
- mmWave Studio中对应的界面设置
- RF Control APIs:参考文档《Programming Chirp Parameters in TI Radar Devices》《mmWave-Radar-Interface-Control》
mmWave Demo Visualizer cfg文件的解析
从mmWave Demo Visualizer到处cfg文件,根据mmwave sdk user guide 3.4小节的内容,解析参数的具体含义,如下:
% ***************************************************************
% Created for SDK ver:03.04
% Created using Visualizer ver:3.6.0.0
% Frequency:77
% Platform:xWR16xx
% Scene Classifier:best_range_res
% Azimuth Resolution(deg):15
% 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):100
% 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
% 1-frame based chirps, 3-advanced frame config
channelCfg 15 3 0
% rxChannelEn=0x1111b=15 开启接收天线Rx1-Rx4
% txChannelEn=0x11b=3 开启发射天线Tx1和Tx2
% cascading=0 不级联
adcCfg 2 1
% numADCBits=2:0-12bit,1-14bit,2-16bit
% adcOutputFm=1: 0-real,1-complex 1x,2-complex 2x
adcbufCfg -1 0 0 1 0
% subFrameIdx=-1
% adcOutputFmt=0:0-Complex,1-Real
% SampleSwap=1:1-I in LSB, Q in MSB
% ChanInterleave=1:1 - non-interleaved
% ChirpThreshold=0
profileCfg 0 77 7 7 58 0 0 68 1 256 5500 0 0 30
% profileId=0
% startFreq=77GHz
% idleTime=7us
% adcStartTime=7us
% rampEndTime=58us
% txOutPower=0
% txPhaseShifter=0
% freqSlopeConst=68MHz/us 调制斜率
% txStartTime=1us
% numAdcSamples=256 单个chirp采样点数
% digOutSampleRate=5500ksps 采样率
% hpfCornerFreq1=0,0-175kHz
% hpfCornerFreq2=0;0-350KHz
% rxGain=30dB
chirpCfg 0 0 0 0 0 0 0 1
chirpCfg 1 1 0 0 0 0 0 2
% chirp start index
% chirp end index
% profile identifier 就是profileCfg中的profileId
% start frequency variation in Hz
% frequency slope variation in kHz/us
% idle time variation in u-sec
% ADC start time variation in u-sec
% tx antenna enable mask: 1-01b-tx1 enable,2-10b-tx2 enable 设置chirp由哪个Tx发
frameCfg 0 1 32 0 100 1 0
% 使用该命令前提是dfeDataOutputMode=1,即基础帧配置模式下
% chirp start index=0 (0-511)
% chirp end index=1 (chirp start index-511)
% number of loops (1 to 255)
% number of frames (valid range is 0 to 65535, 0 means infinite)
% frame periodicity in ms
% trigger select=1:1-软件触发,2-硬件触发
% Frame trigger delay in ms
lowPower 0 1
guiMonitor -1 1 1 0 0 0 1
cfarCfg -1 0 2 8 4 4 0 5120
cfarCfg -1 1 0 8 4 4 0 5120
% subFrameIdx:基础帧配置为-1
% procDirection:0-rangeCFAR,1-dopplerCFAR,需要发两次命令
% mode:0-CA,1-CAGO,2-CASO
% noiseWin:参考单元长度
% guardLen:保护单元长度
% divShift:值为log2(2*noiseWin),即2^(divShift-1)=noiseWin,在计算噪声平均功率时用得上
% cyclic mode or Wrapped around mode,1-enable(for1642,dopplerCFAR enabel,rangeCFAR disable)
% Threshold scale:值为256*numVirtualAnt*T(dB)/6,函数convertSNRdBtoThreshold将T转换成Threshold scale
peakGrouping -1 1 0 0 1 244
% subFrameIdx:基础帧设置为-1
% scheme:1-MMW_PEAK_GROUPING_DET_MATRIX_BASED
% peak grouping in Range direction
% peak grouping in Doppler direction
% Start Range Index
% End Range Index
multiObjBeamForming -1 1 0.5
% subFrameIdx:基础帧设置为-1
% Feature Enabled:1-enabled
% threshold:值为0~1,表示相对于最高峰的大小
clutterRemoval -1 0
% 在CLIInit中没有解析第一个参数,暂时不知道什么意思
% enabled:0-disabled
calibDcRangeSig -1 0 -5 8 256
% subFrameIdx:对于基础帧,设置为-1
% enabled:0-disable
% negativeBinIdx:negative Bin Index (to remove DC from farthest range bins)
% positiveBinIdx:positive Bin Index (to remove DC from closest range bins)
% numAvg:选用前多少个chirp用来估计DC signature
extendedMaxVelocity -1 0
% subFrameIdx:基础帧设置为-1
% enabled:使能开关,0-disable
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
% rangeBias:距离补偿值,unit:m
% 8个虚拟通道的补偿值IQ(for 1642)
measureRangeBiasAndRxChanPhase 0 1.5 0.2
% enabled:只有使用校准配置文件profile_calibration.cfg时,才设置为1
% targetDistance
% searchWin
CQRxSatMonitor 0 3 4 127 0
% profile
% satMonSel
% priSliceDuration
% numSlices
% rxChanMask
CQSigImgMonitor 0 63 8
% profile
% numSlices
% numSamplePerSlice
analogMonitor 1 1
% rxSaturation:CQRxSatMonitor的使能开关
% sigImgBand:CQSigImgMonitor的使能开关
aoaFovCfg -1 -90 90 -90 90
cfarFovCfg -1 0 0 8.92
cfarFovCfg -1 1 -1 1.00
sensorStart
mmWaveLink的参考文档
根据功能将mmWaveLink划分为不同的Module:Device,Sensor,Data Path ,Monitoring ,Communication Protocol 。
SensorModule主要是控制毫米波前端中不同的HW block,HW block包含Chirp sequencer (Radar Timing Engine) ,Rx/Tx Channel,Rx Analog Chain,ADC and Digital Front End Configuration。
配置API可以大致分为以下几类:
- mmwave static configuration, such as: Tx and Rx channel, ADC configuration etc
- mmwave dynamic configuration, such as FMCW Chirp configuration, profile configuration
- mmwave advance configuration such as Binary phase modulation, Dynamic power save etc
- mmwave sensor control, such as: Frame start/stop
更多信息可直接参考sdk中自带的文档。
mmWave Studio中对应的界面设置
RF Control APIs
《Programming Chirp Parameters in TI Radar Devices》文档中7.2小节描述了一些API,用来配置RF参数,profile和frame。
- rlSetChannelConfig:配置发射天线和接收天线开启的数量
- rlSetAdcOutConfig:配置ADC位数和输出数据格式
- rlSetLowPowerModeConfig:设置ADC工作在低功耗模式
- rlSetProfileConfig:设置profile相关参数
- rlSetChirpConfig:设置chirp相关参数,chirp由哪个Tx发射
- rlSetFrameConfig:配置frame相关参数