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.

[参考译文] CCS/AWR1443BOOST:使用 mmWaveLink 配置 API 后发送消息

Guru**** 2589275 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/613621/ccs-awr1443boost-sending-messages-after-configuring-api-using-mmwavelink

器件型号:AWR1443BOOST

工具/软件:Code Composer Studio

您好!

我所附的图像显示了配置通道和 ADC 等之后的消息发送。 我们是否应该使用函数 rlDriverSendMsg 对该功能进行编程? 如果是、它发回 ACK 意味着什么?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    根据 mmWaveLInk 协议应用或毫米波 可以调用 mmWaveLink API 来配置雷达前端、在这里、您可以为发送到前端的每个命令启用 ACK。

    该应用无需费心或调用任何 mmWaveLink 内部函数、只需调用 应用程序可配置前端的高级 API (如 rlSetChannelConfig)。

    让我详细解释一个命令

    • 应用程序调用 mmWave API - MMWAVE_CONFIG
    • mmWave_config 调用 mmWaveLink API 'rlRfInitCalibConfig'
    • mmWaveLink 采用配置参数并生成命令数据包、该数据包被转发到邮箱驱动程序(在图片中、它被命名为驱动程序)。
    • 邮箱驱动程序将命令数据包复制到了雷达数据包、以便雷达数据包读取/处理并确认主数据包 (以 ACK 数据包的形式)、雷达数据包已接收到命令并进行了无任何错误处理。
    • mmWaveLink 将被阻止'rlRfInitCalibConfig' API、直到它从 radarSS 接收到 ACK。
    • 在收到正确的 ACK 后、它返回到毫米波层。

    希望它能澄清您的疑问。

    您可以在毫米 波 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);
    } 

    感谢你的所有帮助