在adc的例程中共有六种AD测量,1、温度测量,2、单通道测量,3、DMA单通道测量,4、差分通道测量,5、触摸按键测量,6、中断方式单通道测量,接下来我们逐一描述。

粗调:粗调使得用0db测量VINTA电压时为2048,

在例程中都会去获取粗调制,使用通道1也就是PA5作为校准通道,

在ch573中可以使用通道6去校准,那么PA5仍可使用,

ch579仅可使用通道1校准,且不可使用通道1采集数据,

ch582中使用通道1作为校准通道,且可以使用通道1采集数据。

VINTA正常值为1.035-1.065V之间,若需要得到精确的电压值,则在计算式Vref需使用实际的VINTA电压值。

例程中没有电池电压采集的程序,可参考下方代码,计算结果单位是毫伏。

       ADC_InterBATSampInit();
       for(i = 0; i < 20; i++)
       {
           adcBuff[i] = ADC_ExcutSingleConver(); // 连续采样20次
       }
       for(i = 0; i < 20; i++)
       {
           PRINT("%d \n", adcBuff[i]*1050/512-3*1050);
       }

一、温度测量

首先调用adc温度测试初始化函数,其次获取adc内部偏差值,再调用adc采集函数就可以获取adc模拟值了,最后使用温度转化公式(adc.c文件的最下面一个函数),将模拟值转化成温度值。

目前转化后的温度相对值也就是变化值是正确的,但绝对值需要自己修正,如实际温度20度,转化温度5度,则在转化结果上加15。

二、单通道测量

首先,配置单通道的IO为浮空输入,然后调用单通道初始化函数(可传两个参数,采样频率和增益,测量不同的电压值需使用不同的增益),其次选择IO对应的通道,再获取adc内部偏差值,在调用adc采集函数获取电压模拟值,最后使用手册中公式转化。

四种增益选择相应的公式进行计算,根据实测电压范围选择增益。

三.DMA通道测量

四.差分通道测量

使能差分选择0#通道:实际是对AIN0(正端PA4)和AIN2(负端PA12)的电压进行差分转换;
使能差分选择1#通道:实际是对AIN1(正端PA5)和AIN3(负端PA13)的电压进行差分转换;
Vref=1.05V(更精确可测内部模拟电路的电源节点VINTA 的实际电压值)
ADC 转换后的结果,如果数据大于0x800(十进制2048)表示差分正端的电压高于差分负端的电压;如果数据小于0x800表示差分正端的电压低于差分负端的电压。以PGA增益选择0dB为例,理论可测电压范围为-1.05V~1.05V,0x400表示差分正端的电压低于差分负端的电压约0.5Vref,0x000表示差分正端的电压低于差分负端的电压约1.0Vref,PGA增益选择6dB时,理论可测电压范围为-0.5025V~0.5025V(0.5Vref),PGA增益选择-6dB时,理论可测电压范围为-2.1V~2.1V(2Vref),PGA增益选择-12dB时,理论可测电压范围为-4.2V~4.2V(4Vref),
测量范围可参考手册。
增益选择0dB时P =1;6dB时PGA =2;-6dB时P =1/2;-12dB时P=1/4。
计算公式:(|测量值-0x800|/0x800/P)*1.05
如PGA选择0dB时:
正端比负端大0.5V,测量值为3032,带入公式计算得0.504V
正端比负端小0.5V,测量值为1060,带入公式计算得0.506V
正端比负端大1.0V,测量值为4002,带入公式计算得1.002V
正端比负端小1.0V,测量值为96,带入公式计算得1.000V
如PGA选择-6dB时:
正端比负端大0.5V,测量值为2551,带入公式计算得0.516V
正端比负端小0.5V,测量值为1552,带入公式计算得0.506V
正端比负端大1.0V,测量值为3040,带入公式计算得1.017V
正端比负端小1.0V,测量值为1066,带入公式计算得1.006V
正端比负端大2.0V,测量值为4020,带入公式计算得2.022V
正端比负端小2.0V,测量值为87,带入公式计算得2.010V

五.触摸按键测量

六.中断方式单通道测量

posted on 2022-10-28 15:00  WCH蓝牙应用分享  阅读(2900)  评论(0编辑  收藏  举报