请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:AWR1443BOOST 工具/软件:Code Composer Studio
您好!
我所附的图像显示了配置通道和 ADC 等之后的消息发送。 我们是否应该使用函数 rlDriverSendMsg 对该功能进行编程? 如果是、它发回 ACK 意味着什么?
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
我所附的图像显示了配置通道和 ADC 等之后的消息发送。 我们是否应该使用函数 rlDriverSendMsg 对该功能进行编程? 如果是、它发回 ACK 意味着什么?
谢谢
您好!
根据 mmWaveLInk 协议应用或毫米波 可以调用 mmWaveLink API 来配置雷达前端、在这里、您可以为发送到前端的每个命令启用 ACK。
该应用无需费心或调用任何 mmWaveLink 内部函数、只需调用 应用程序可配置前端的高级 API (如 rlSetChannelConfig)。
让我详细解释一个命令
希望它能澄清您的疑问。
您可以在毫米 波 DFP 封装的雷达接口控制文档中找到有关 mmWaveLink 协议的详细说明。
此致、
Jitendra Gupta
您好!
感谢您的所有帮助、但我对代码的顺序有点困惑。 到目前为止、我的代码显示我配置了 API。 邮箱层肯定是由我们编程的? 在我完成参数初始化后、mmwavelink 获取配置参数并生成命令数据包、而无需对其进行编程?
#include
#include
#include
#include
#include
#include
#include
#include
void ADCInit();
void ProfileInit();
void ChirpInit();
void ChannelInit();
void FrameInit();
void Radar();
void LPMinit();
int main (void)
{
rlRfInitCalConf_t InitCal;
InitCal.calibEnMask = 4;
ChannelInit();
ADCInit();
LPMinit();
rlRfInit (RL_DEVICE_MAP_级 联_1);
//rlDriverWaitForResponse (RL_DEVICE_MAP_级 联_1、);
ProfileInit();
FrameInit();
ChirpInit();
//rlSensorStart (RL_DEVICE_MAP_级 联_1);
}
void ChannelInit(){
rlChanCfg_t ChanCfg ={0};//通道配置
rlSetChannelConfig (RL_DEVICE_MAP_级 联_1、&ChanCfg);
ChanCfg.rxChannelEn = 15;//启用4个 RX 通道
ChanCfg.txChannelEn = 7;//启用3个 TX 通道
ChanCfg.cascading = 0;//不需要级联
}
void ADCInit(){
rlAdcOutCfg_t adcOutCfg ={0};// ADC 配置
rlSetAdcOutConfig (RL_DEVICE_MAP_级 联_1、&adcOutCfg);
adcOutCfg.fmt.bitFormat.b2AdcBits = 0b10;// 16位 ADC
adcOutCfg.fmt.bitFormat.b2AdcOutFmt = 0b00;//为 ADC 使用实数输出,而使用01将过滤图像频带
}
void FrameInit(){
rlFrameCfg_t frameCfg;// FMCW 帧配置
rlSetFrameConfig (RL_DEVICE_MAP_级 联_1、&frameCfg);
frameCfg.chirpStartIdx = 0;
frameCfg.chirpEndIdx = 1;
frameCfg.numLoops = 32;
frameCfg.numFrames = 0;//无限
frameCfg.framePeriodicity = 4000000;//每帧之间20msec
frameCfg.triggerSelect = 1;//SW API 触发
frameCfg.frameTriggerDelay = 0;
}
void ProfileInit(){
rlProfileCfg_t profCfg ={0};//配置一个配置文件
rlSetProfileConfig (RL_DEVICE_MAP_级 联_1、1U、&profCfg);
//profCfg.profileId = 0;
profCfg.startFreqConst = 0x558E38E3;//77GHz
profCfg.idleTimeConst = 700;//两个连续线性调频脉冲之间的时间
profCfg.adcStartTimeConst = 300;//线性调频脉冲中的时间点要对要由 HWA 处理的数据进行采样
profCfg.rampEndTime = 5800;
profCfg.freqSlopeConst = 0x580;// 68MHz/u 秒
profCfg.numAdcSamples = 225;
profCfg.digOutSampleRate = 4500;
profCfg.rxGain = 30;// 30dB
//profCfg.txOutPowerBackoffCode = 0;
}
void ChirpInit(){
rlChirpCfg_t chirpCfg[2U];//初始化并使用2个线性调频脉冲
rlSetChirpConfig (RL_DEVICE_MAP_级 联_1、2U、线性调频脉冲配置);
啁啾 Cfg[0].chirpStartIdx = 0;
啁啾 Cfg[0].chirpEndIdx = 0;
啁啾 Cfg[0].profileID = 0;
啁啾 Cfg[0].txEnable = 0;//在通道 TX0上发送
啁啾 Cfg[1].chirpStartIdx = 1;
啁啾 Cfg[1].chirpEndIdx = 1;
啁啾 Cfg[1].profileID = 0;
啁啾 Cfg[1].txEnable = 4;//在通道 TX2上传输
}
void LPMinit(){
rlLowPowerModeCfg_t LPMcfg;
LPM.anaChannelCfg = 0;
LPM.lpAdcMode = 0;
rlSetLowPowerModeConfig (RL_DEVICE_MAP_级 联_1、LPMcfg);
}
感谢你的所有帮助