主题中讨论的其他器件:AWR2944
使用以下命令列表测试波形配置
sensorStop flushCfg dfeDataOutputMode 4 channelCfg 15 15 0 adcCfg 2 0 adcbufCfg -1 1 0 0 1 lowPower 0 0 profileCfg 0 76.175 4.42 1.2 21.98 0 0 8.30078125 1.0 512 25000.0 0 0 42 advChirpCfg 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 advChirpCfg 1 0 1 0 0 0 0 0 1 0 1024 1 0 0 0 0 advChirpCfg 2 0 1 0 0 0 0 0 1 0 2048 1 0 0 0 0 advChirpCfg 3 0 1 0 0 0 0 0 1 0 3072 1 0 0 0 0 advChirpCfg 4 0 1 0 0 0 0 0 1 0 4096 1 0 0 0 0 advChirpCfg 5 0 1 0 0 0 0 0 1 0 5120 1 0 0 0 0 advChirpCfg 6 0 1 0 0 0 0 0 1 0 6144 1 0 0 0 0 advChirpCfg 7 0 1 0 0 0 0 0 64 1 7168 64 0 0 0 0 advChirpCfg 8 0 1 0 0 0 0 0 64 1 8192 64 0 0 0 0 advChirpCfg 9 0 1 0 0 0 0 0 64 1 9216 64 0 0 0 0 advChirpCfg 10 0 1 0 0 0 0 0 64 1 10240 64 0 0 0 0 LUTDataCfg 0 0 LUTDataCfg 1 43333333.33332825 LUTDataCfg 2 0 LUTDataCfg 3 0.17999999999999972 LUTDataCfg 4 0 LUTDataCfg 5 15 LUTDataCfg 6 0 LUTDataCfg 7 0.0 241.875 123.75 5.625 247.5 129.375 11.25 253.125 135.0 16.875 258.75 140.625 22.5 264.375 146.25 28.125 270.0 151.875 33.75 275.625 157.5 39.375 281.25 163.125 45.0 286.875 168.75 50.625 292.5 174.375 56.25 298.125 180.0 61.875 303.75 185.625 67.5 309.375 191.25 73.125 315.0 196.875 78.75 320.625 202.5 84.375 326.25 208.125 90.0 331.875 213.75 95.625 337.5 219.375 101.25 343.125 225.0 106.875 348.75 230.625 112.5 354.375 236.25 118.125 LUTDataCfg 8 0.0 292.5 225.0 157.5 90.0 22.5 315.0 247.5 180.0 112.5 45.0 337.5 270.0 202.5 135.0 67.5 0.0 292.5 225.0 157.5 90.0 22.5 315.0 247.5 180.0 112.5 45.0 337.5 270.0 202.5 135.0 67.5 0.0 292.5 225.0 157.5 90.0 22.5 315.0 247.5 180.0 112.5 45.0 337.5 270.0 202.5 135.0 67.5 0.0 292.5 225.0 157.5 90.0 22.5 315.0 247.5 180.0 112.5 45.0 337.5 270.0 202.5 135.0 67.5 LUTDataCfg 9 0.0 185.625 11.25 196.875 22.5 208.125 33.75 219.375 45.0 230.625 56.25 241.875 67.5 253.125 78.75 264.375 90.0 275.625 101.25 286.875 112.5 298.125 123.75 309.375 135.0 320.625 146.25 331.875 157.5 343.125 168.75 354.375 180.0 5.625 191.25 16.875 202.5 28.125 213.75 39.375 225.0 50.625 236.25 61.875 247.5 73.125 258.75 84.375 270.0 95.625 281.25 106.875 292.5 118.125 303.75 129.375 315.0 140.625 326.25 151.875 337.5 163.125 348.75 174.375 LUTDataCfg 10 0.0 151.875 303.75 95.625 247.5 39.375 191.25 343.125 135.0 286.875 78.75 230.625 22.5 174.375 326.25 118.125 270.0 61.875 213.75 5.625 157.5 309.375 101.25 253.125 45.0 196.875 348.75 140.625 292.5 84.375 236.25 28.125 180.0 331.875 123.75 275.625 67.5 219.375 11.25 163.125 315.0 106.875 258.75 50.625 202.5 354.375 146.25 298.125 90.0 241.875 33.75 185.625 337.5 129.375 281.25 73.125 225.0 16.875 168.75 320.625 112.5 264.375 56.25 208.125 frameCfg 0 0 64 16 512 3.41704 2 0 guiMonitor -1 2 1 0 0 0 1 cfarCfg -1 1 3 16 0 0 1 24.0 0 7 0 1 cfarCfg -1 0 3 16 0 0 1 15.0 0 7 0 1 compressionCfg -1 1 0 0.5 8 intfMitigCfg -1 15 18 localMaxCfg -1 6 40 antennaCalibParams 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 1 0 1 0 1 0 1 measureRangeBiasAndRxChanPhase 0 1.5 0.2 analogMonitor 0 0 calibData 0 0 0 aoaFovCfg -1 -90 90 -90 90 sensorStart
它的启动正常。
毫米波回调函数为:
static int32_t MmwDemo_eventCallbackFxn(uint8_t devIndex, uint16_t msgId, uint16_t sbId, uint16_t sbLen, uint8_t *payload) { uint16_t asyncSB = RL_GET_SBID_FROM_UNIQ_SBID(sbId); /* Process the received message: */ CLI_write("[Msg Id: 0x%x] [Sub Block Id: 0x%x]\n", msgId, asyncSB);
打印
Done mmwDemo:/> aoaFovCfg -1 -90 90 -90 90 Done mmwDemo:/> sensorStart [Msg Id: 0x80] [Sub Block Id: 0x4] Debug: Init Calibration Status = 0xffe All commands are sent, waiting for response from device [Msg Id: 0x80] [Sub Block Id: 0x12] Sensor Started Done
此外、我在 MSS 中添加了一个 frameStart ISR、
#define WAVEFORM_CFG_INTR CSL_MSS_INTR_DFE_FRAME_START_TO_MSS static void frame_start_ISR (void *arg) { // int32_t errCode; // MMWave_MCB* ptrMMWaveMCB = (MMWave_MCB*)arg; // updateAdvChirpCfg(ptrMMWaveMCB, &errCode); gFrameCounter++; SemaphoreP_post(&gMmwMssMCB.UartExportSemHandle); HwiP_clearInt((uint32_t)WAVEFORM_CFG_INTR); return; } int32_t register_frame_start_intr(MMWave_Handle ptrMMwaveHandle) { int32_t retVal = 0; int32_t status = SystemP_SUCCESS; HwiP_Params hwiPrms; HwiP_Params_init(&hwiPrms); hwiPrms.intNum = WAVEFORM_CFG_INTR; hwiPrms.callback = &frame_start_ISR ; hwiPrms.args = (void *)ptrMMwaveHandle; status = HwiP_construct(&frameStartHwiObject, &hwiPrms); if(SystemP_SUCCESS != status) { retVal = -1; } else { HwiP_enableInt((uint32_t)WAVEFORM_CFG_INTR); } return 0; }
如果 frameStart INTR 出现、它应在 mmwDemo_mssUartDataExportTask 中打印 frameCnt
void mmwDemo_mssUartDataExportTask(void* args) { while (1) { /* Export the Data: */ CLI_write ("Frame: %d\n", getFrameCounter()); SemaphoreP_pend(&gMmwMssMCB.UartExportSemHandle, SystemP_WAIT_FOREVER); if ((gMmwMssMCB.ptrResult.size[0]) == sizeof(DPC_ObjectDetection_ExecuteResult)){ MmwDemo_handleObjectDetResult(); } } }
但似乎没有帧触发、毫米波报告没有错误。
波形配置出了什么问题、如何 解决这个问题。