主题中讨论的其他器件: AWR6843
工具/软件:
尊敬的先生/女士:
我正在使用 awr6843isk+maveBooster 卡、我能够通过 CCS 调试器模式运行开箱即用演示。
我的要求是使用固定生成的数据运行开箱即用演示、而不是“通过 ADC 缓冲器传输前端数据“。
我已经了解了“C:\ti\mmwave_sdk_03_06_02_00-LTS\packages\ti\datapath\dpc\objectdetection\objdethwa\test\main.c“下提供的示例设计示例、以便了解如何使用固定生成的数据并生成必要的“TRIGGER_FRAME"和“和 TRIGGER_CHIRP 事件。
因此、根据我的理解、需要在“开箱即用演示“中执行以下步骤、以便使用固定生成的数据而不是“通过 ADC 缓冲器传输前端数据“:
1.需要对毫米波启动的执行进行注释 — 这样传感器启动命令将到达雷达前端,因此不会从射频前端触发任何帧事件
需要在代码中生成帧事件和 chrip 事件逻辑部分
将固定生成的数据映射到 ADC 缓冲区。
我已对开箱即用演示代码进行了上述更改、如下所示:
1.\ti\demo\xwr68xx\mmw\mss\mss_main.c 文件、在 MmwDemo_startSensor () 函数中注释 mmWave_start () 逻辑并调用我的用户逻辑函数“readdatalogic ()“
.(随附屏幕截图以供参考)

2.我已将必要的“帧事件和 chrip 事件逻辑部分添加到 myuser 逻辑 代码中(见下文):
static void readdatalogic()
{
int32_t errorCode = 0;
uint32_t frameIdx;
uint32_t numFrames=12;
uint32_t i、j、k;
int32_t = 0;
DPU_RangeProcHWA_OutParams outParms;
uint16_t rxIdx;
uint16_t numChirpsPerFrameRef=96;
uint16_t numChirpsPerFrame;
Uint16_t chirpIdxRef;
Uint16_t numAdcSamples=256;
uint16_t numRangeBins=256;
uint16_t MAX_NUM_RX_ANTENN=4;
uint16_t numRx天 线=4;
numChirpsPerFrame = numChirpsPerFrameRef;
/*设置种子值*/
dataInBuffer[0]= 0x12345678;
/*这个整数序列有一个足够长的周期,不能在数据立方体中重复。
这可确保如果测试通过、则不是多维数据集数据模式中的重复导致的
这可能会掩盖一些计算错误。*/
对于 (k = 1;k < MAX_NUM_RX_Antenna * numRangeBins;k++)
{
dataInBuffer[k]=(3* dataInBuffer[k-1]+ 5);
}
针对 (frameIdx = 0;frameIdx < numFrames;frameIdx++)
{
/*在此处发送 TRIGGER_FRAME */
ErrorCode = MmwDemo_DPM_ioctl_blocking (gMmwMssMCB.objDetDpmHandle、
DPC_OBJDET_IOCTL_TRIGGER_FRAME、
空、
0);
if (errorCode < 0)
{
SYSTEM_printf(“错误:无法发送 DPC_OBJDET_IOCTL_TRIGGER_FRAME [错误:%d]\n“、errorCode);
}
DebugP_log0(“App:DPC_OBJDET_IOCTL__TRIGGER_FRAME 已处理\n“);
/*处理帧中的线性调频脉冲循环*/
for (I=0;I< numChirpsPerFrame;I++)
{
/*读入一个线性调频脉冲数据*/
对于 (j = 0;j < numRx天 线;j++)
{
//16 字节对齐、4 个 Uint32 符号
Memcpy ((void *)&adcDataIn[j *((numAdcSamples+3)/4*4)]、(void *)&dataInBuffer[chirpIdxRef * MAX_NUM_RX_Antenna * numRangeBins + j *numRangeBins]、sizeof (uint32_t)* numAdcSamples);
}
ErrorCode = EDM_startTransfer (gMmwMssMCB.dataPathObj.edmaHandle、EDM_TPCC0_REQ_DFE_CHIRP_AVAIL、EDMA3_CHANNEL_TYPE_DMA);
if (errorCode!= 0)
{
SYSTEM_printf(“错误:EDMA 启动传输返回%d\n“、errorCode);
返回;
}
TASK_SLEEP (1);
}/*线性调频脉冲环路结束*/
}/*帧结束循环*/
}
3. 将固定数据映射到 ADU 缓冲区变量和必要的数据创建(附加屏幕截图)



4. c:\ti\mmwave_sdk_03_06_02_00-LTS\packages\ti\datapath\dpc\objectdetection\objdetrangehwa\objdetrangehwa.c、 static src 32_t dpc_ObjectDetection_ioctl () 内部
添加了 TRIGGER_FRAME(附了屏幕截图)

我的问题:
1.当我使用上述更改构建设计时、我会收到以下构建错误“../objdetrangehwa.c",“,第、第 880 行:错误#20:标识符“DPC_OBJDET_IOCTL_TRIGGER_FRAME"未“未定义“
请检查并确认我,什么是问题?
2.请确认,上述步骤是正确的,可以使用固定生成的数据运行 ,而不是“通过 ADC 缓冲器传输前端数据“ ,或者需要添加其他步骤?
此致、
Mani





