最近在进行原理图设计的时候遇到了一个问题,就是STM32的100管脚一下芯片没有Vref的问题。64Pin及以下封装的芯片电源管脚有:VDD - 单片机3.3V 电源正,VSS - 单片机3.3V 电源负,VDDA - 单片机A/D 转换器电源正,VSSA - 单片机A/D 转换器电源负。
插一句:由于STM32F103系列单片机的内部高速RC 振荡器(HSI)由VDDA、VSSA 供电,故即使不使用单片机自带的A/D 转换器,也必须保证VDDA、VSSA 的供电,否则STM32F103单片机不能正常启动。
在小于等于64Pin的芯片中,在芯片的内部Vref+是和VDDA连接在一起的,也就是说ADC的是以VDDA为参考电压的。那么还有一点需要注意的就是VDDA和VDD的压差必须小于300mV ,否则可能由于上电断电的非同时性,导致数据的丢失。然而这就有可能导致了ADC参考电压的非精确性。
如何解决ADC参考电压的问题呢?
一、每个STM32芯片都有一个内部的参照电压,相当于一个标准电压测量点,在芯片内部连接到ADC1的通道17。根据数据手册中的数据,这个参照电压的典型值是1.20V,最小值是1.16V,最大值是1.24V。这个电压基本不随外部供电电压的变化而变化。
不少人把这个参照电压与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。
二、选用外部参考基准电压,其原理同第一种是一样一样的,只不过将第一种中的参照电压换成了自己设定的基准源的电压,公式同上。
STM32支持AES128吗
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:java服务同步文件
下一篇:java 数据匹配或并且
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
STM32的OLED
OLED显示,便于后期调试代码
IIC OLED -
【STM32】Keil5支持包下载教程
00. 目录文章目录00. 目录01. MDK-ARM支持包概述02. MDK-ARM支持包下载03. MDK-ARM支持包在线安装04. MDK-ARM支持包离线安装05. 附录01. MDK-ARM支持包概述MDK-ARM V4 和 V5版本在安装的时候最大的区别在于:V4版本安装包里面集成器件的支持包,而V5版本是独立出来,自己下载安装的,因此需要对应自己芯片型号,下载相应的器件支持包。02. MDK-ARM支持包下载官方网站下载:https://www.keil.com/dd2/Pack/
keil stm32 stm32f4 stm32f4支持包 stm32f4固件库