ADC的 adcCalibration(adcREG1)函数,如何使用,这个校准 需要在每次ADC转换的时候 执行一下吗?
为什么 我在定时器ADC添加 此函数后,有问题
whong zhao:
没添加adcCalibration(adcREG1)函数 是没有问题的
,
Susan Yang:
adcCalibration()计算偏移量并将此值以2的补码形式写入ADCALR寄存器
/** @fn void adcCalibration(adcBASE_t *adc) *@brief Computes offset error using Calibration mode *@param[in] adc Pointer to ADC module: *- adcREG1: ADC1 module pointer *- adcREG2: ADC2 module pointer *This function computes offset error using Calibration mode * */ /* SourceId : ADC_SourceId_008 */ /* DesignId : ADC_DesignId_010 */ /* Requirements : HL_SR194 */whong zhao 说:这个校准 需要在每次ADC转换的时候 执行一下吗?
是的
whong zhao 说:为什么 我在定时器ADC添加 此函数后,有问题
能否详细说一下?另外您使用的是哪款芯片?
,
whong zhao:
3137
看了下 这个校准函数执行的时间很长,约20us
为什么时间这么长,请问如果在固定的时间段来运行一下 校准,但这个校准函数 别,ADC 的中断打断,会影响ADC 的结果吗
,
Susan Yang:
请您跟踪一下下面的帖子
e2e.ti.com/…/946947
,
Susan Yang:
已经有工程师回复:
The MibADC module implements calibration logic normally used to improve converter accuracy. This logic can also be used as a safety mechanism. Software comparison of the conversion of known reference values from the calibration logic can provide a diagnostic on converter functionality.
The calibration can be used at boot time, and can be performed periodically based on your application.
The calibration conversion needs to meet the minimum sampling time specification for the ADC. This value is typically 1 us. The Event Group sample time register (ADEVSAMP) is used to specify the number of ADCLK cycles for the calibration conversion.
,
whong zhao:
他说的没有看明白
1.他说的安全机制是什么意思
2.如果定期校准ADC,如果在校准函数正在执行的过程中,如果在定时中执行
adcStartConversion(adcREG1,adcGROUP1); while((adcIsConversionComplete(adcREG1,adcGROUP1))==0); adcGetData(adcREG1, adcGROUP1,&data[0]);
会对结果有影响吗?或者会出现不可预见的问题
,
Susan Yang:
1 您可以看一下www.ti.com/…/zhcu035b.pdf
5.19 多缓冲模数转换器 (MibADC)2 这个我也不是很确定,我会在英文帖内继续跟帖
,
Susan Yang:
已经有了相关的回复,若是您还有其他问题可以直接跟帖
e2e.ti.com/…/3499626
,
whong zhao:
他这个意思 是不是,校准的时候 ,校准的这个group 就不能用啊 ?
,
Susan Yang:
是的,我看着是这个意思