您好!
我尝试通过 UART 使用 AWR1642BOOST 和毫米波 DEVPACK 将原始数据记录到 PC 上的文件中。 我在 SDK 中修改了 MMW 演示的 dss_main.c、如下所示:
(笑声)
/**
*@b 说明
*@n
用于在运行时处理数据路径事件的*函数。
*
*@param[in]事件
*数据路径事件
*
*@retval
*不适用。
*
静态 Int32_t MmwDemo_dsDataPathProcessEvents (UINT 事件)
{
MmwDemo_DSS_DataPathObj * dataPathObj;
volatile uint32_t StartTime;
dataPathObj =&gMmwDssMCB.dataPathObj[gMmwDssMCB.subFrameIndx];
/*处理 dataPath 事件*/
switch (事件)
{
案例 MMWDEMO_CHIRP_EVT:
UART_writePolling (gMmwDssMCB.loggingUartHandle、(uint8_t*) SOC_XWR16XX_DSS_ADCBUF_BASE_ADDRESS、1024);
/*递增事件统计数据*/
gMmwDssMCB.stats.chirpEvt++;
//{
// uint16_t chirpIndex;
//针对(线性调频脉冲指数= 0;线性调频脉冲指数< dataPathObj->numChirpsPerChirpEvent;线性调频脉冲指数++)
//{
// MmwDemo_processChirp (dataPathObj、(uint16_t)线性调频脉冲索引);
//}
//}
// gMmwDssMCB.dataPathContext.chirpProcToken--;
// dataPathObj->timingInfo.chirpProcessingEndTime = Cycleprofiler_getTimeStamp();
//
// if (dataPathObj->chirpCount =0)
//{
// MmwDemo_waitEndOfChirps (dataPathObj);
// Load_update ();
// dataPathObj->timingInfo.activeFrameCPULoad = Load_getCPULoad();
//
// dataPathObj->cycleLog.interChirpProcessingTime = gCycleLog.interChirpProcessingTime;
// dataPathObj->cycleLog.interChirpWaitTime = gCycleLog.interChirpWaitTime;
// gCycleLog.interChirpProcessingTime = 0;
// gCycleLog.interChirpWaitTime = 0;
//
// StartTime = Cycleprofiler_getTimeStamp ();
// MmwDemo_interFrameProcessing (dataPathObj);
// dataPathObj->timingInfo.interFrameProcCycles =(Cyclprofiler_getTimeStamp ()- StartTime);
//
// dataPathObj->cycleLog.interFrameProcessingTime = gCycleLog.interFrameProcessingTime;
// dataPathObj->cycleLog.interFrameWaitTime = gCycleLog.interFrameWaitTime;
// gCycleLog.interFrameProcessingTime = 0;
// gCycleLog.interFrameWaitTime = 0;
//
////////*将距离偏置和 Rx 通道相位偏移测量发送到 MSS,然后从那里发送到 CLI */
// if (dataPathObj->clientCommonCfg->measureRxChanCfg.enabled)
//{
///////mwDemo_measureResultOutput (dataPathObj);
//}
//
///*将检测到的对象发送到日志缓冲区*/
//////mwDemo_dsDataPathOutputLogging (dataPathObj);
// dataPathObj->timingInfo.interFrameProcessingEndTime = Cycleprofiler_getTimeStamp();
//}
中断;
案例 MMWDEMO_FRAMESTART_EVT:
/*递增事件统计数据*/
gMmwDssMCB.stats.frameStartEvt++;
// Load_update ();
// dataPathObj->timingInfo.interFrameCPULoad = Load_getCPULoad();
// MmwDemo_dsAssert (dataPathObj->chirpCount =0);
中断;
案例 MMWDEMO_BSS_FRAME_TRIGGER_READY_EVT:
/*递增事件统计数据*/
gMmwDssMCB.stats.frameTrigEvt++;
中断;
默认值:
中断;
}
返回0;
}
(笑声)
我使用 python 从 DEVPACK 的第4个 com 中读取数据。 我在文件中确实获得了1段数据、但随后从 AWR1642BOOST 的第一个 COM 中获得了以下错误:
DSS 帧处理最后期限未命中异常。
我已将帧周期设置为1000ms、我认为通过 UART 发送1024字节数据将足够。 此外、我已经对处理程序中的所有其他处理进行了注释。
我向电路板发送了以下配置:
DfeDataOutputMode 1
通道配置15 3 0
ADCfg 2 1.
adcbufCfg -1 0 1 0 0
ProfileCfg 0 77 429 7 57.14 0 70 1 64 5209 0 30
线性调频脉冲配置0 0 0 0 0 0 0 0 1
线性调频脉冲配置1 1 0 0 0 0 2
帧配置0 1 4 0 1000 1 0
guiMonitor -1 0 0 0 0 0 0 0
cfarCfg -1 0 8 4 0 5120
cfarCfg -1 0 4 2 3 0 5120
peakGrouping -1 1 1 1 1 255
multiObjBeamForming -1 1 0.5
离合器拆卸-1 0
calibDcRangeSig -1 0 -5 8 256
扩展 MaxVelocity -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 0 0 1 0
measureRangeBiasAndRxChanPhase 0 1.5 0.2
请帮我找出出现此错误的原因吗?
非常感谢!
佩伊洪