你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
在ADC的外部参考电压波动,或因为Vref+在芯片内部与VCC相连而VCC变化的情况下,如果对于ADC测量的准确性要求不高时,可以使用这个内部参照电压得到ADC测量的电压值。
具体方法是在测量某个通道的电压值之前,先读出参照电压的ADC测量数值,记为ADrefint;再读出要测量通道的ADC转换数值,记为ADchx;则要测量的电压为:
Vchx = Vrefint * (ADchx/ADrefint)
其中Vrefint为参照电压=1.20V。
上述方法在使用内置温度传感器对因为温度变化,对系统参数进行补偿时就十分有效。
数据手册中内置的参照电压参数
网上查了一下,下面内容来自网络。
ADC的参考电压都是通过Vref+提供的。100脚以上的型号,Vref+引到了片外,引脚名称为Vref+;64脚和小于64脚的型号,Vref+在芯片内部与VCC信号线相连,没有引到片外,这样AD的参考电压就是VCC上的电压。
每个STM32芯片都有一个内部的参照电压,相当于一个标准电压测量点,在芯片内部连接到ADC1的通道17。不少人把这个参照电压与ADC的参考电压混淆。
根据数据手册中的数据,这个参照电压的典型值是1.20V,最小值是1.16V,最大值是1.24V。这个电压基本不随外部供电电压的变化而变化。
在ADC的外部参考电压波动,或因为Vref+在芯片内部与VCC相连而VCC变化的情况下,如果对于ADC测量的准确性要求不高时,可以使用这个内部参照电压得到ADC测量的电压值。
具体方法是在测量某个通道的电压值之前,先读出参照电压的ADC测量数值,记为ADrefint;再读出要测量通道的ADC转换数值,记为ADchx;则要测量的电压为:
Vchx = Vrefint * (ADchx/ADrefint)
其中Vrefint为参照电压=1.20V。
上述方法在使用内置温度传感器对因为温度变化,对系统参数进行补偿时就十分有效。
STM32内置参照电压的使用数据手册中内置的参照电压参数
Vchx = Vrefint * (ADchx/ADrefint)
其中Vrefint为参照电压=1.40V。
实际测量中,不可能测通道一次,再测基准电压一次,这样会造成测得数据非常不稳。需要先测量出一组测量通道的AD值,进行软件滤波处理,然后再测得基准电压一组AD值,进行软件滤波处理,最后换算出测量结果。
不少人把这个参照电压与ADC的参考电压混淆。ADC的参考电压都是通过Vref+提供的。100脚以上的型号,Vref+引到了片外,引脚名称为Vref+;64脚和小于64脚的型号,Vref+在芯片内部与VDDA信号线相连,没有引到片外,这样AD的参考电压就是VDDA上的电压。
如果对于ADC测量的准确性要求不高时,可以使用这个内部参照电压得到ADC测量的电压值。具体方法是在测量某个通道的电压值之前,先读出参照电压的ADC测量数值,记为ADrefint;再读出要测量通道的ADC转换数值,记为ADchx;则要测量的电压为:
Vchx = Vrefint * (ADchx/ADrefint)。其中Vrefint为参照电压=1.20V。
二、选用外部参考基准电压,其原理同第一种是一样一样的,只不过将第一种中的参照电压换成了自己设定的基准源的电压,公式同上。