adc 采样 校准
2016-12-04 09:44
169 查看
adc 采样 校准
2014-09-06 16:48 2316人阅读 评论(0) 收藏 举报分类:
32(85)
STM32内部参照电压VREFIN的使用
STM32的内部参照电压VREFINT和ADCx_IN17相连接,它的作用是相当于一个标准电压测量点,内部参照电压VREFINT只能出现在主ADC1中使用。
内部参照电压VREFINT与参考电压不是一回事。ADC的参考电压都是通过Vref+提供的并作为ADC转换器的基准电压。
当我们使用的Vref+是直接取自用VCC电压时,当VCC电压波动比较大时或稳压性能比较差时,可以借用STM32的内部参照电压VREFINT校正测量精度。
以测量1通道的电压值为例,先读出参照电压的ADC测量结果,记为ADre;再读出要测量通道1的ADC转换结果,记为ADch1;则要测量的电压为:
Vch1 = VREFINT* (((ADch1*(VREF/4096))/(ADre*(VREF/4096)))
注:VREFINT=1.2V,VREF为参考电压值=3.3V
公式简化:
Vch1 = VREFINT*(ADch1/ADre)
这种方法等于变相将内部参照电压VREFINT当成是ADC参考电压,也就是说,此时Vref参考电压的准确度已在此已对结果影响不大了,ADC的转换结果基本由VREFINT的精度决定。
注:一般情况下,这种办法只适合于当Vref+参考电压(其实也就是VCC电压)离散性实在太差的情况下使用。
我们知道,STM32中64脚和小于64脚的型号,Vref+在芯片内部与VCC信号线相连,没有引到片外,这样AD的参考电压就是VCC上的电压,那么我们可以使用一个高精度的外部参照电压,然后用上面的方法,也许可以解决因VCC电源电压精度不高带来的ADC测量不准确的问题。
本帖最后由 abbott 于 2014-5-5 08:56 编辑 建议采用以下方法结合使用: 1,采用内部参考 内部参考在芯片出厂时已经校准过精度了!(不清楚是否所有型号都校准过) 其厂内校准过程是在外部供3V电源,将采样内部参考的ADC值写入校准寄存器VREFINT_CAL! 因此,我们可以使用以下公式算出实际电压: V=(3*VREFINT_CAL*ADC_DATA)/(VREFINT_DATA*FULL_SCALE) 根据这个公式,程序需要获取VREFINT_DATA和ADC_DATA! 不过我们实际测试这个电压参考在低温下偏差比较大,可能是芯片本身的问题,目前还不清楚是全系列,还是个别型号有这个问题! 2,使用过采样! |
相关文章推荐
- Java文本读写
- ArcGIS API for Javascript在tomcat下的离线部署--基于3.9版本
- 随堂软工团队小测
- java String类常量池分析及"equals"和"==”区别详细介绍
- Java spring 综合 maven综合-2
- dfs 简单背包问题
- 简单排序
- HDU 2562 奇偶位互换 水题
- 交互设计--用户头像的设计以及点击操作习惯
- OpenCV 2.4.13 + VS2015 版本下的环境配置 WIN10
- Spring中为什么要有@Bean注解?
- Java如何在List或Map遍历过程中删除元素
- 浏览图片
- android二维码生成与识别
- Android启动页面定时跳转的三种方法
- 进制转换:二进制和十进制的互转和推广至任意进制
- Ubuntu16.04Docker的CS模式详细介绍
- CentOS-6.7安装KVM及创建ubuntu14.04-server虚拟机
- 【作业存档】Dijkstra算法的练习
- JavaScript-isFinite()判断是否数字有效