STM32 ADC模数转换器

ADC (Analog Digital converter)

模拟    数字转换器 ,ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁

(当然,有ADC模数转换就有DAC数模转换,但是STM32只有ADC模数转换,不过我个人认为STM32的PWM输出比较也算DAC)

STM32的ADC是 12位逐次逼近型的ADC(12位表示范围0~2的十二次方,再减一,也就是0~4095),1us的转换时间(1us表示,从AD转换开始,到产生结果,需要1us的时间,对应AD转换频率就是1MHZ),输入电压范围 0~3.3V,转换结果范围  0~4095,这两个成一一对应的线性关系,0~4095有4096个数,每个数都对应一个电压值,所以只要输入的电压信号在0~3.3V之间变化,对应的转换结果也跟着相应变化

                                                逐次逼近型ADC的原理

ADC0809是一个外接的模数转换器,它就是逐次逼近型,STM32的ADC逐次逼近和这个差不多,我就用这个外接的模数转换器来做参考

左边是输入通道,引脚输入模拟型号,到达比较器,同时内部的DAC也输入一个可变的模拟电压到比较器(这个内部DAC是数模拟转换器,写入数字信号,它就会转换为模拟信号),输入的模拟信号和内部DAC产生的模拟信号做比较,因为内部的DAC模拟信号是随着(逐次逼近寄存器SAR)写入的数字信号不断变化,当DAC模拟信号变化到和外部引脚的模拟信号近似相等的时候,就将内部DAC逐次逼近寄存器SAR的数字信号锁存到缓冲器,写入的数字信号也就相当于外部引脚模拟信号转换成的数字信号

模拟信号的输入通道,ADC输入通道有18个输入通道,可测量16个外部信号源和2个内部信号源,但是我用的STM32F103C8T6的型号只有10个外部型号源,不同的型号的通道个数需要查看手册,其中刚刚说的16个外部型号源,是指不需要任何额外的电路,直接测量的引脚上的模拟电压,2个内部信号源,是内部温度传感器和内部参考电压,内部温度传感器可以测量CPU的温度,内部参考电压是一个1.2V的基准电压,它不随外部供电变化而变化,,如果芯片不是标准的3.3V,测量的外部引脚就有可能不准确,那么就可以用这个基准电压进行校准,就能得到正确的电压值

其中,还可以用模拟看门狗来检测电压的范围,可以设置超出阈值中断触发

                                        ST

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值