一、STM32的内部参照电压VREFINT和ADCx_IN17相连接,它的作用是相当于一个标准电压测量点(和MSP430不一样。。),内部参照电压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,使用过采样!

二、请教原子大哥,怎么获取VREFINT_CAL的值(就是1.2V)?

 
STM32F030的,ADC模块的内部参考电压VREFINT,datasheet说出厂时把校准值写入了VREFINT_CAL,地址是0x1FFF F7BA - 0x1FFF F7BB,见F030的datasheet 17页。
可是在程序中用
Data2 = *(__IO uint32_t *)(0X1FFFF7BB);或者
Data1 = *(__IO uint32_t *)(0X1FFFF7BA);
都是跳到了硬件错误中断HardFault_Handler中,这是问什么?

还有类似的,ADC有个内部温度通道,也有个校准值,
 
说是出厂时存到了0x1FFF F7B8 - 0x1FFF F7B9    0x1FFF F7C2 - 0x1FFF F7C3,我试了一下只有0x1FFF F7B8这个地址能读取,其他的一读就跳到了硬件错误中断,这是为啥?

最佳答案

 treesss

查看完整内容[请看2#楼]

知道怎么回事了,指针用错了。存在那个地址里的数据是8位的,我用的是32位的指针,一读就读出界了,所以就发生硬件错误了

三、STM32芯片ADC内部的CH17参考电压的用途

每个STM32芯片都有一个内部的参照电压,相当于一个标准电压测量点,在芯片内部连接到ADC1的通道17。

根据数据手册中的数据,这个参照电压的典型值是1.20V,最小值是1.16V,最大值是1.24V。这个电压基本不随外部供电电压的变化而变化。
不少人把这个参照电压与ADC的参考电压混淆。ADC的参考电压都是通过Vref+提供的。100脚以上的型号,Vref+引到了片外,引脚名称为Vref+;64脚和小于64脚的型号,Vref+在芯片内部与VCC信号线相连,没有引到片外,这样AD的参考电压就是VCC上的电压。
在ADC的外部参考电压波动,或因为Vref+在芯片内部与VCC相连而VCC变化的情况下,如果对于ADC测量的准确性要求不高时,可以使用这个内部参照电压得到ADC测量的电压值。
具体方法是在测量某个通道的电压值之前,先读出参照电压的ADC测量数值,记为ADrefint;再读出要测量通道的ADC转换数值,记为ADchx;则要测量的电压为:
Vchx = Vrefint * (ADchx/ADrefint)
其中Vrefint为参照电压=1.20V。

from: http://blog.csdn.net/uncle_guo/article/details/50625660

STM32内部参考电压的使用相关推荐

  1. STM32内部参考电压+DMA精准采集电池电压

    最近项目又遇到了电池电压采集,锂电池的电压范围是4.2到2.8一般,当锂电池低于3.3V时,单片机供电电压会小于3.3V,那么电池电压参考计算4096就不能对应3.3,所以必须采用内部参考电压.(我项 ...

  2. STM32 ADC采样使用内部参考电压

    整理也能进步!写得清楚才能理解更深. [问题背景] 在使用ADC时,通常的用法是Vref+接电源VDD3.3V,然后计算时直接用3.3V做参考电压,但是这种方法忽略了一些情况如供电电压有可能随外部一些 ...

  3. 带内部参考电压(VREFINT)校正的STM32 DMA 内置温度采集

    笔者今天来介绍一下STM32ADC内置温度的采集,重点是通过内置参考电压来避免ADC参考电压VDDA对温度ADC采集的影响. 1.STM32ADC简介   stm32F4系列ADC,逐次趋近型AD.1 ...

  4. STM32使用内部参考电压提高ADC采集准确度

    我们在使用ADC采集外部电压时,一般默认参考电压为MCU的供电电压,例如单片机供电电压为3.3V时,我们计算采集电压的公式为: 假设12位ADC 采集电压=(AD值/4096)*3.3: 但是如果因为 ...

  5. stm32 精确电压测量法(内部参考电压)

    芯片型号:stm32l051c8(其它型号请参考datasheet,仅供参考) 使用ADC采集电压时若使用外部参考电压,如果外部电压变化,且低于正常LDO工作电压时,输出的电压将发生改变,导致基准电压 ...

  6. 基于STM32HAL库ADC+DMA模式,高精度采集电池电量与芯片内部温度方法 (48脚 使用内部参考电压方案)

    目录 概述 1.原理图 2.在这先普及一下概念 3.通过查看STM32L0中文数据手册中301页,第14.10 小节 ,DataSheet 4.ADC通道转换模式的理解 5.STM32CubeMx工具 ...

  7. map文件分析 stm32_使用STM32内部Flash额外的空间来存储数据

    本次分享关于STM32内部FLASH的笔记. STM32 芯片内部的 FLASH 存储器,主要用于存储我们代码.如果内部FLASH存储完我们的代码还有剩余的空间,那么这些剩余的空间我们就可以利用起来, ...

  8. STM32 内部Flash读写 程序源码 [已验证]

    目录 STM32 内部Flash带缓存读写 程序源码 0 Macro 1.Flash_Erase 2. Flash_Read_Byte 3.Flash_Write_NoBuffer 4.Flash_W ...

  9. Vivado使用技巧(12):设置DCI与内部参考电压

    DCI与内部参考电压 Xilinx FPGA提供了DCI(Digitally Controlled Impedance)技术,包括两个功能:(1).控制驱动器的输出阻抗:(2).为驱动器或发送器添加一 ...

最新文章

  1. ESP32 One-Wire驱动功能
  2. Django框架(22.Django中设置session以及session对象及方法)
  3. T1-TensorFlow基础
  4. ArcGIS实验教程——实验三十二:ArcGIS水文分析(流向分析、计算水流长度、汇流分析、河网分析、流域分析)
  5. 页面url带参数_微信小程序云开发教程微信小程序的JS高级页面间数据传递
  6. Beamer演示时不能正常显示底栏的问题及解决
  7. USF MSDS501 计算数据科学中文讲义·翻译完成
  8. python消费kafka逻辑处理导致cpu升高_Kafka 消费迟滞监控工具 Burrow
  9. android 解压gzip,在Android中使用GZIPInputStream解压缩数据
  10. Windows程序设计之WinAPI详解程序
  11. 2进制原码反码补码,2进制加减乘除原理
  12. 服务器如何管理和维护,运维人员是如何管理上千台服务器的?
  13. android 强制退出程序,Android 强制且彻底的退出app
  14. 【使用两个队列实现栈】
  15. 国家开放大学2021春2623中医药学概论题目
  16. 【2023年1月·第二周】-单词学习记录(1月9日-1月15日)
  17. Pandas数据分析14——pandas数据框的多层索引
  18. android 高德地图设置不能旋转_高德地图行车记录仪AR导航怎么设置使用教程
  19. Dubbo 实现原理与源码解析系列 —— 精品合集
  20. rocksdb 安装全过程 一些问题解决方法

热门文章

  1. 5-20 打印九九口诀表 (15分)
  2. 男人心中理想女友的职业排行榜
  3. CES 2023:华硕轻薄本创新形态+硬核配置引领新创作时代
  4. 【obs-studio开源项目从入门到放弃】obs-studio项目简介和架构
  5. 个税计算--Java
  6. 跟涛哥,写短句,不害你
  7. golang 数组组合成最小的整数_整数数组拼成一个最小或最大的数
  8. 编写程序,求出几何形状(长方形、正方形、圆形)的周长和面积
  9. peU盘ud区和efi区如何共用wim文件
  10. 202.微信公众号开发【图文消息】