查看: 1726|回复: 0

TI毫米波传感器CQ2数据的知识和操作

[复制链接]
  • TA的每日心情

    2018-8-2 13:58
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-7-17 09:40:31 | 显示全部楼层 |阅读模式
    分享到:
    本文基于xWR1642 OOB例程里接收通道饱和检测的功能,介绍了CQ2数据的含义及使用。相关的CQ2数据的信息也适用于其它TI毫米波传感器芯片。
    一、CQ2数据简介
    CQ2是chirp quality数据里的一部分。主要提供的是每个接收通道(RX)的ADC/IF的饱和的信息。CQ2数据的监控是在ADC采样时间内以时间片为单位进行的。在每个时间片内,饱和事件会被记录和统计,所有使能监控的采集通道都会一起统计。统计数据的每个bit都表示一次饱和事件。每个时间片内统计事件量的最大值为255(8-bit),统计的事件量超过255也记录为255。
    图1   接收通道(RX)饱和监控的时间片
    接收通道(RX)饱和监控的时间片分为主时间片(primary slice)和副时间片(secondary slice)。两者的个数相加N的最大值为127。其中主时间片为(N+1)/2个,副时间片为(N-1)/2个。
    CQ2数据可以设置为16-bit,14-bit或者12-bit存储。图2是以16-bit为例CQ2数据在内存中的排布。其它输出位数的内存排布请参考参考资料[1]里的相关内容。N表示主时间片和副时间片数量的总和。Pn表示主时间片n在监控期间所有监控RX通道的饱和事件的累加值。Sn表示副时间片n在监控期间所有监控RX通道的饱和事件的累加值。
    图2   16-bit CQ2数据在内存中的排布
    在OOB例程里面可以通过CQRxSatMonitor参数,对输出的CQ2进行配置。CQRxSatMonitor提供了profile, satMonSel, priSliceDuration, numSlices,rxChanMask四个参数接口。分别对应/control/mmwavelink/include/rl_monitoring.h里rlRxSatMonConf_t结构体的相应内容。
    1、Profile参数指明了当前监控配置适用的profile id。这个profile ID必须要有一个匹配的profilecfg。也就是事先需要配置好这个profile id。
    2、SatMonSel,这个参数是接收饱和检测模式的设置。01表示仅仅使能对输入ADC的数据进行饱和检测。11表示是同时使能对于输入ADC和输入中频放大器(IFA1)的数据的饱和检测。具体的检测位置,请参考图3的信息。
    图3 毫米波前端框图
    3、priSliceDuration,这个参数用于设定主时间片的持续时间。1 LSB = 0.16 us。
    4、numSlices这个参数设定的是主时间片和副时间片的总个数N。
    特别注意:根据图1的信息,总的主时间片时间(priSliceDuration*0.16us*(N+1)/2)必须小于Chirp配置的ADC采样时间。所以在设定priSliceDuration和numSlices的时候,必须要注意ADC采样时间的限制。
    5、rxChanMask用于对接收通道是否屏蔽饱和监控的设置。
    二、CQ2数据实例分析   
    在xWR1642 OOB demo(mmWave SDK 2.1),默认CQ2的存储为16-bit。最终设置的是寄存器CQCFG1. CQDATAWIDTH。
    cqConfig.cqDataWidth = 0; /* 16bit for mmw demo */
    默认配置文件profile_2d.cfg里面对CQ2监控的设置为:CQRxSatMonitor 0 3 4 127 0。表示使用Profile 0,同时监控ADC和中频放大器输入数据是否饱和,主时间片持续时间为4*0.16us*64=40.96 us,总时间片为127个,所有采集通道都进行监控。这个实例中一次获取的CQ2数据为1024 bytes。
    ptrDataPathObj->datapathCQ.satMonDataSizePerChirp = 128 (N+1=127+1)
    ptrDataPathObj->numChirpsPerChirpEvent = 8
    ptrDataPathObj->datapathCQ.satMonTotalSize =1024 (128×8)
    在OOB demo里面有利用EDMA将CQ2的数据复制到内存里,图4是CQ2数据的实例。可以看到这个实例测试时候的时间片总数N为0x7F,也就是127个,和配置匹配。图4(a)中所有时间片上统计的饱和事件数为0,也就是采集的数据都是没有饱和的。图4(b)中统计值出现了非0值,也就是采集中出现了饱和的情况。
    (a)                                                                            (b)
    图 四   DSS侧EDMA复制出来的部分CQ2数据 (CCS中)
    三、数据饱和后的处理

    如果在CQ2数据里面发现采集的数据饱和了,可以通过修改profile配置里的rxGain来减小增益。rxGain里面可以配置两个增益,一个是Rx增益,一个是发送的RF的目标增益。发射的RF目标增益可以设置三个值,26dB,30dB,36dB。

    如果修改rxGain后,还是检测出了饱和,还可以修改profile里面的TxOutPower参数,对发射功率做补偿,以减小最大发射天线功率。

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-24 09:33 , Processed in 0.121026 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.