毫米波雷达IWR6843-配置自启动
作者:互联网
IWR6843是TI推出的单芯片毫米波雷达解决方案,其内部可通过DSP以及ARM对雷达信号进行处理分析,其采用基于eclipse的CCS开发环境可方便对雷达内部计算资源进行使用。官方demo大多为工程开发版本,需要在pyqt/matlab上位机上进行配置,将涉及雷达的关键参数通过命令串口发送到雷达板后,雷达板才开始工作。当然,这样做确实方便在开发阶段对关键参数进行调试。但当配置参数固定后,我们需要雷达上电后即可自动完成配置,并运行相关用户程序,这里就牵扯到这款6843的配置固化和程序自启动问题。
官方给的demo中有一个为自启动的demo,接下来我根据相关例程进行说明。
% SDK Parameters
% See the SDK user's guide for more information
% "C:\ti\mmwave_sdk_[VER]\docs\mmwave_sdk_user_guide.pdf"
sensorStop
flushCfg
dfeDataOutputMode 1
channelCfg 15 7 0
adcCfg 2 1
adcbufCfg -1 0 1 1 1
lowPower 0 0
% Detection Layer Parameters
% See the Detection Layer Tuning Guide for more information
% "C:\ti\mmwave_industrial_toolbox_[VER]\labs\people_counting\docs\3D_people_counting_detection_layer_tuning_guide.pdf"
profileCfg 0 60.75 30.00 25.00 59.10 394758 0 54.71 1 96 2950.00 2 1 36
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 96 0 55.00 1 0
dynamicRACfarCfg -1 4 4 2 2 8 12 4 8 5.00 8.00 0.40 1 1
staticRACfarCfg -1 6 2 2 2 8 8 6 4 8.00 15.00 0.30 0 0
dynamicRangeAngleCfg -1 0.75 0.0010 1 0
dynamic2DAngleCfg -1 1.5 0.0300 1 0 1 0.30 0.85 8.00
staticRangeAngleCfg -1 0 8 8
antGeometry0 -1 -1 0 0 -3 -3 -2 -2 -1 -1 0 0
antGeometry1 -1 0 -1 0 -3 -2 -3 -2 -3 -2 -3 -2
antPhaseRot 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1
fovCfg -1 70.0 20.0
compRangeBiasAndRxChanPhase 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
% Tracker Layer Parameters
% See the Tracking Layer Tuning Guide for more information
% "C:\ti\mmwave_industrial_toolbox_[VER]\labs\people_counting\docs\3D_people_counting_tracker_layer_tuning_guide.pdf"
staticBoundaryBox -3 3 0.5 7.5 0 3
boundaryBox -4 4 0 8 0 3
sensorPosition 2 0 15
gatingParam 3 2 2 2 4
stateParam 3 3 12 500 5 6000
allocationParam 20 100 0.1 20 0.5 20
maxAcceleration 0.1 0.1 0.1
trackingCfg 1 2 800 30 46 96 55
presenceBoundaryBox -3 3 0.5 7.5 0 3
sensorStart
这是雷达关于人体检测的配置参数,开发版本的雷达板中,需要用户在上位机上加载这组参数,并通过命令串口发送到雷达板上。本节主要说明如何把参数固定在雷达板的ARM中,并通过程序设定其自动配置。
可以看到这组配置中,有sensorStop sensorStart的命令,其对应雷达板arm中的程序,当雷达板接收到此命令后,会运行雷达停止工作和开始工作的程序。这就是对应我们的自启问题。
对于配置中的多类参数类似profileCfg等,都可以找到与这条命令对应的程序。因此,我们需要在雷达的ARM中能够自动运行加载这些命令的程序。
官方对于自动加载命令编写了两个库,cli_mmwave.c和hcc_cli.c 关键操作来了!
《1》在demo版本中,无这两个库,需要手动添加,并进行配置。这两个库我放在文末可供下载。
《2》 在ccs中的arm工程中加入这两库,并同时关闭官方的引用路径,有两个路径需要移除
《3》添加配置参数表,配置参数表添加地址位于hcc_cli.c文件中
/原始的配置参数,配置参数需要与可视化界面对应的参数保持一致
//char * hardCodedConfigCommands[] =
//{
//"sensorStop",
//"flushCfg",
//"dfeDataOutputMode 1",
//"channelCfg 15 7 0",
//"adcCfg 2 1",
//"adcbufCfg -1 0 1 1 1",
//"lowPower 0 0",
//"profileCfg 0 60 7 3 24 0 0 166 1 256 12500 0 0 158",
//"chirpCfg 0 0 0 0 0 0 0 1",
//"chirpCfg 1 1 0 0 0 0 0 4",
//"chirpCfg 2 2 0 0 0 0 0 2",
//"frameCfg 0 2 32 0 100 1 0",
//"guiMonitor -1 1 1 1 0 0 1",
//"cfarCfg -1 0 2 8 4 3 0 15.0 0",
//"cfarCfg -1 1 0 4 2 3 1 15.0 0",
//"multiObjBeamForming -1 1 0.5",
//"calibDcRangeSig -1 0 -5 8 256",
//"clutterRemoval -1 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. 0.2",
//
//"aoaFovCfg -1 -90 90 -90 90",
//"cfarFovCfg -1 0 0.25 9.0",
//"cfarFovCfg -1 1 -20.16 20.16",
//"extendedMaxVelocity -1 0",
//
//"CQRxSatMonitor 0 3 4 63 0",
//"CQSigImgMonitor 0 127 4",
//"analogMonitor 0 0",
//"lvdsStreamCfg -1 0 0 0",
//"bpmCfg -1 0 0 0",
//"calibData 0 0 0",
//"sensorStart",
//"!!!END_OF_HARD_CODED_COMMANDS"
//};
做到这一步就完成了雷达板中参数的自动配置和启动。当然,请注意参数表与和雷达板实现的功能要匹配,否则可能会出现各种意外状况。
IWR6843雷达自动配置启动库-嵌入式文档类资源-CSDN下载
标签:Layer,mmwave,配置,参数,毫米波,自启动,雷达,IWR6843,chirpCfg 来源: https://blog.csdn.net/dufudouhenmang/article/details/123578902