请教关于ADC的增益校准数据的使用
请问图片中,其它我都能理解,就是红笔画的,最后一道红笔是把什么值付给了OP2?(R9)是什么意思?难道是调用函数?
另外问一下两点温度角度公式中的ADC(raw) 应该也就是指没有校准的直接读出来的AD值吧
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.
哪位大侠说说话呀,我用呐
哪里有全套的使用所有ADC校准数据的例子?msp430ware里有么?我没找到呀,怎么找?
我是这么理解的,首先这个是增益校验因子,它的公式是CAL_ADC_GAIN_FACTOR = (1 / GAIN) × 2^15,这个公式在你发的那张图上面有说明。这里GAIN=1,那么CAL_ADC_GAIN_FACTOR =0x8000,但是算上gain error,这个参数可以在datasheet里找到,gain error的典型值是正负1LSB,最大值是正负2LSB。以-2LSB来算,在ADC12模块里,误差应该是2^2/2^12=1/1024,那么把这个误差计入CAL_ADC_GAIN_FACTOR 里,则应该是0x8000*(1-1/1024)=0x7FE0.这是最大误差。
您说的我能理解,现在的问题是,对应于0x7FE0,ADC原始结果是十进值2048 ,那么校准后应该比2048大还是小呢?
有时候还真好像有点绕人呢
为啥把值赋值给OP2,首先OP2是硬件乘法器里的一个寄存器用于Load second operand. 寄存器R9已经在列子里有说明,是假设增益校验因子存在R9这个值的地址里。不是函数的调用,而是汇编语言的语法。汇编程序用特殊的语法来表示索引寻址。基址寄存器放在圆括号内,而索引(或偏移量)放在圆括号外,有效地址就是索引值加上基址寄存器的值
2048是实际转换结果,那么对它进行校正,根据这种校正方法计算结果是2047. 可以参考一篇文章看看。
全套的校准数据似乎没有,不过可以在TI的官网里搜到一些关于ADC校准的文章参考