目前TX power calibration 存在两种模式:OLPC +CPLC 和 OPLC(only),而这两种模式都是根据LUT做出调整的。那么LUT的准确性,就是很重要的一件事情。
从LUT的建立,我认为又分为两种情况:
1、 采样OLPC +CLPC的模式,自动更新LUT。在这种模式下,问题:
(1) 当前使用环境,肯定只是一个温度段,更新的LUT,是只更新该温度段的增益值,还是整体都需要更新呢?如果是一个段的更新,那么我们想建立这个表,
是不是就是在这个模式下,经历-30 到140 的环境,自动生成这个表?
(2) 更新的准确性,根据我对peak detector calibration了解,
" Peak Detector Calibration
The peak detectors aim at providing an absolute voltage and power reference throughout the radar chip. They allow monitoring of voltage stress on the RF nodes, and quantify the output power at both the TX output and RF inputs. This allows for accurate RF BIST and impedance detector measurements. To make these measurements accurate, the peak detectors must be calibrated for variation in temperature. This calibration is carried out for all critical peak detectors, especially the ones used for TX power calibration.
The peak detectors are calibrated at boot time, and can also be recalibrated at runtime."
这个校准会影响功率的基准,但CPLC中,
” Then, the actual TX power is measured using the peak detectors and the TX stage codes are refined to achieve the desired TX power accuracy.”
我认为 peak detector calibration 以及CPLC对peak detectors 都进行了操作,想了解这两者peak detector 的calibration有什么区别?
2、 采样overwrite the LUT by calling rlTxGainTempLutGet(),这种方式。问题:
(1)overwrite theLUT,从一个设备中把验证稳定的LUT,读取出来,然后写入到其他芯片中。上述的两种模式是不是会修改这个实验中稳定的LUT?
zhng zhao:
回复 Wesley He:
Hi Wesley He
很感谢您的回复,我这边主要应用在车载电子设备:
您好。关于Tx out power 以及Rx Gain,我这里有些问题。
最近阅读了,很多关于calibration的资料,关于TX Power 以及RX gain ,感觉应该是根据LUT的值,自我调整实现,
但是,在程序中的配置rlProfileCfg, 这个结构体中,先列下这个结构体的一些成员变量,如下,着重看下表红色的字段:
rlProfile
rlUInt16_t profileId;
rlUInt8_t pfVcoSelect;
/**
* @brief Bit Description \n
b0 RETAIN_TXCAL_LUT \n
0 – Update TX calibration LUT \n
1 – Do not update TX calibration LUT \n
b1 RETAIN_RXCAL_LUT \n
0 – Update RX calibration LUT \n
1 – Do not update TX calibration LUT \n
b7:2 RESERVED \n
If PF_TX_OUTPUT_POWER_BACKOFF is changed then set RETAIN_TXCAL_LUT to 0, \n
else set it to 1 and if PF_RX_GAIN is changed, then set RETAIN_RXCAL_LUT to 0 \n
else set them to 1.
*/
rlUInt8_t pfCalLutUpdate;
rlUInt32_t startFreqConst; // 1 = 53.644Hz (0x5471C71B ~ 0x5A000000)
rlUInt32_t idleTimeConst; // 1 = 10ns (0 ~ 524287)
rlUInt32_t adcStartTimeConst; // 1 = 10ns (0 ~ 4095)
rlUInt32_t rampEndTime; // 1 = 10ns (0 ~ 500000)
/**
* @brief Concatenated code for output power backoff for TX0, TX1, TX2\n
b7:0 TX0 output power back off \n
b15:8 TX1 output power back off \n
b23:16 TX2 output power back off \n
b31:24 Reserved \n
*/
rlUInt32_t txOutPowerBackoffCode;//byte 1:Tx0 output power backoff byte 2:TX1 byte 3 TX2
rlUInt32_t txPhaseShifter; //byte 1:Tx0 phase shift byte2 Tx1 byte2 Tx2 1 = 5.625 degrees
rlInt16_t freqSlopeConst; // Ramp slope frequency, 【-2072 2072】,1 = 48.279KHz/us
rlInt16_t txStartTime; //Time of start of transmitter relative to the knee of the ramp(10ns ),【-4096 4096】
rlUInt16_t numAdcSamples; //取值范围【64 MAX_NUM_SAMPLES】number of ADC samples to capture in a chirp for each Rx
rlUInt16_t digOutSampleRate; //ADC sampling rate 2000 to 37500
rlUInt8_t hpfCornerFreq1;//HPF1 corner frequency
rlUInt8_t hpfCornerFreq2;//HPF2 corner frequency
rlUInt16_t reserved0;
/**
* @brief Code for Rx VGA gain\n
1 LSB = 1 dB\n
Valid values: all even values from 24 to 48 \n
Note: Minimum gain of 24dB is guaranteed across all devices \n
*/
rlUInt16_t rxGain; //取值范围【24,48】,Rx VGA gain
rlUInt16_t reserved1;
上述标红色的部分,第一个是启动LUT是否被实时调整的过程,第二个是 发射功率补偿,第三十 Rx VGA Gain
问题:
发射功率增益与接收增益,是不是完全通过LUT调整?假设需要功率补偿,即第二项有效,那么每段温度下,补偿的应该不一样,才对,这个补偿与LUT的补偿有什么关系?
同样,Rx Gain 与第三项所谓的 Rx VGA Gain 是不是一样的?如何协同工作?
Thanks
zhng zhao:
回复 Wesley He:
Hi wesley 很感谢您的回复。我昨天做了个验证实验,遇到一些问题:
硬件平台:ES1.0 TI的评估板 & DCA1000SDK: mmwave_sdk_01_02_00_05软件工具:mmwave_studio_01_00_00_00验证目的:验证self-calibration是否可以根据环境情况,优化LUT
操作步骤: 1、 搭建DCA1000平台,打开mmwave studio, 加载TI提供的测试程序。
程序名称:
xwr16xx_radarss_rprc_ES1.0.bin
xwr16xx_masterss_rprc_ES1.0.bin
2、验证方法:
使能 run time calibration ‘TX Power’ & Rx Gain,然后利用加热设备是的芯片温度维持在【40 50】的区间内。
<1> TxPower 验证:
通过report消息,获取芯片内部温度,维持一段时间后获取 TX的LUT,此时TX该【40 50】的值是57
然后操作 mmwave studio,将57强制更改为0,写入设备,然后查询,得到结果 是【40 50】 的值是0.
在【40 50 】区间内,维持一小段时间,查询LUT,【40 50】变为18,再过段时间 【40 50】恢复稳定在57
上述实验说明:sel-calibration在不断修正LUT的值,直至性能稳定。
问题: Tx 从0 开始恢复到 57,我们观察来看,应该是一个秒级别的时间段,这个时间段内,是否功率发射不稳定?时间是否应该是微秒级或者毫米级的?
<1> Rx Gain 验证:
通过report消息,获取芯片内部温度,维持一段时间后获取 RX的LUT,此时TX该【40 50】的值是3
然后操作 mmwave studio,将3强制更改为10,写入设备,然后查询,得到结果 是【40 50】 的值是10.
在【40 50 】区间内,维持一小段时间,查询LUT,【40 50】变为10,再过段时间 【40 50】恢复稳定在10上述说明:我们使能Rx Gain 的calibration ,但是在实验过程中,LUT不能自动修正过来,
问题:同样的测试,TX能够调整回稳定的值,Rx确不能调整回来,是否是Rx Gain的self-calibration 存在问题?