ADC模数转换器(内含:1.实物图+2.ADC简介+3.ADC框图+4.ADC基本结构图+5.输入通道+6.转换模式+7.触发控制+8.数据对齐+9.硬件电路)

简介: ADC模数转换器(内含:1.实物图+2.ADC简介+3.ADC框图+4.ADC基本结构图+5.输入通道+6.转换模式+7.触发控制+8.数据对齐+9.硬件电路)

1.实物图如下:


71f46c872f424fd5a4ae831038f5ed51.png


左侧为电位器,用这个电位器产生0~3.3V连续变化的模拟电压信号。然后接到STM32的PA0口上,之后用STM32内部的ADC读取电压数据,显示在屏幕上。屏幕第一行显示AD转换后的原始数据,第二行是经过处理后的实际电压值。


手动拧电位器,左拧,AD值减少,电压减少;AD值最小为0,电压最小也为0V;右拧,AD值变大,电压增大;AD最大值为4095(2的12次方-1).对应电压3.3V。


GPIO只能读取引脚的电平,结果只能是高电平or低电平。使用ADC后,就可以对高低电平之间任意电压量化,最终用一个变量表示,读取变量,就能得到引脚的具体电压。所以ADC就是电压表,测GPIO的引脚电压,放在变量里。


4c25612c31db496ebd12c7689fd36289.png


外接光敏电阻,热敏电阻和反射红外模块,他们的AO,模拟电压输出端分别接在A1,A2,A3引脚。


遮挡光线,温度升高,手靠近有反光,光敏电阻,热敏电阻和反射红外阻值增大。


2.ADC简介


2a9423d1a34b499096ccbf63cab97f29.png


逐次逼近型ADC


581e561527cc46d18e2b705e0ce7e44d.png


独立的8位逼近型芯片。左上方的IN0~IN7为8为输入通道,通道选择开关选择一路,经过比较器。


选择哪一路,看的是左下方的地址锁存和译码。把通道号给ADDA~ADDC,ALE是锁存信号。


注:ADC0809只有八路选择开关。STM32有18路通道选择开关。


比较器的两个电压分别是,外部通道输入电压(未知),已知DAC输出电压。进行判断,如果DAC输出电压较大,调小DAC数据;如果DAC输出电压较小,增大DAC数据。直到DAC与外部通道输入电压相近。即逐渐逼近SAR(二分法)


3.ADC框图


69f2d0fa19704b31ad0e5793948a7462.png

42793a8ef15a4fe6b5e3e75206e7a177.png


模拟看门狗如上图,模拟看门狗-->注入通道数据寄存器和规则通道数据寄存器。若超过阈值,就申请看门狗事件传递给上方并预警,最终给NVIC的ADD中断。


以下为ADC框图中的16个引脚的具体说明:


ea4f7ca92f664393a3cc3af554c2fc5f.png


16个外部输入引脚,两个内部输入,共18个通道。


注:选择时,较高级,一次性规则通道最多选择16个;注入通道最多选择4个。但是规则通道数据寄存器一次性只能处理一个通道的数据,需要DMA请求来将处理过的请求搬运走。


注入通道数据寄存器可以同时处理4个通道的数据。


以下为ADC框图的START(开始转换信号)具体说明:


5b486ec3b4224713a950618973207e93.png


触发ADC转换的信号有两种:1.软件触发。2.硬件触发(如上图)


不能反复的触发中断,影响系统的操作。如,需要做到:给TIM31定1ms时间,更新事件选择为TRGO输出,ADC选择开始触发信号为TIM3的TRGO。此时,TIM3的更新事件就通过硬件自动触发ADC转换。不需要触发中断了。


4e6dd84c871b42188b68cd1d5bb9b981.png


VREF+,VREF-是ADC的参考电压,决定ADC输入电压的范围。VDDA,VSSA是ADC的供电引脚。一般情况下,VREF+接VDDA;VREF-接VSSA。(也可能在芯片内部就已经接好)


ADCLOCK是CLOCK,是用于驱动内部逐次比较的时钟。


ADC预分频器是来自于RCC的。如下图:


0f618f70529b4e3eb880c478c473fe45.png


注:此处的ADC是72MHz,但是ADCCLOCK最大是14MHz,所以只能选择6分频,8分频。


4.ADC基本结构图(总结/简化上图)


47afbca1851346a083f02930ab5c2ccb.png


5.输入通道(16个外部通道):


a311238b6577420ab25d7113bd12e17c.png


注:ADC1,ADC2引脚基本相同,我们用的芯片没有ADC3,且没有PC0~PC5(通道10~通道15).


ADC参数中有控制转换(单次转换,连续转换),扫描模式(扫描模式还是非扫描模式).


非扫描模式:只能选择一个,只有序列一(里面可写如通道2)起作用,可选择。此时ADC对通道2进行模数转换。转换结果完成后将结果放在数据寄存器里,同时给EOC标志位置1。因此,直接判断EOC标志位,如果转换完了,就读取数据寄存器的结果。(单次转换;可反复操作,但需要等待)若想更换通道,则再启动前就改为通道2。(连续转换:可以自动转换)


注:如果是连续转换,还需要配置参数:通道数目(作用是例如规定7,只看前七个通道,其他的不看)


6.转换模式:


a92414af0fb94d2bbf42669a404204d9.png

30384a5303a54971ab5f43100ba6e115.png

543844c60bf74b8dbbf56d45b26734bd.png

3f1297bc251c48578b53578940494e59.png


7.触发控制:


42b426f49dbb442bb0c435ea14379b09.png


8.数据对齐(12位数据转16位数据):一般选择数据右对齐(直接最高位补4个0),如果选择左对齐,则数据比实际数据大了2的4次方,即16倍。


1b97a0d9a96e43d5b4a73bfba649514f.png


转换时间:


00318f92620b4add916690fda45f32fe.png


采样时间是采样保持花费的时间,在程序中可配置。采样时间越大,毛刺信号(不理想信号)越少。12.5个ADC周期是量化编码花费的时间。


校准:


2fd52d5fb30048688a77c9bd763215bb.png


注:此处只需要记得有校准操作和代码即可,不需要理解。


9.硬件电路:


c8e4e0d0a994484ab9f035f308b5d59b.png


电阻不能太小,否则会费电甚至烧损。


注:想更了解的,可翻看参考手册STM32F10XXX(中文)的第11章节,模拟/数字转换


相关文章
|
4月前
|
数据采集 前端开发
【ADS867x】14 位 500kSPS 4/8 通道 ADC 简介及驱动应用示例
【ADS867x】14 位 500kSPS 4/8 通道 ADC 简介及驱动应用示例
|
4月前
DSQC327A 3HAC-17971-1组合输入/输出模块AC 800F控制器
DSQC327A 3HAC-17971-1组合输入/输出模块AC 800F控制器
DSQC327A 3HAC-17971-1组合输入/输出模块AC 800F控制器
|
4月前
|
存储 内存技术
A-B罗克韦尔 6181P-00N2HW71AC 非显示型计算机
A-B罗克韦尔 6181P-00N2HW71AC 非显示型计算机
|
物联网
STM32:TIM输入捕获硬件部分(内含:1.输入捕获简介+2.频率测量+3.通用/高级定时器的输入捕获电路分析(重点)+4.主从触发模式+5.输入捕获基本结构(重点)+6.PWM基本结构)
STM32:TIM输入捕获硬件部分(内含:1.输入捕获简介+2.频率测量+3.通用/高级定时器的输入捕获电路分析(重点)+4.主从触发模式+5.输入捕获基本结构(重点)+6.PWM基本结构)
458 0
STM32:TIM输入捕获硬件部分(内含:1.输入捕获简介+2.频率测量+3.通用/高级定时器的输入捕获电路分析(重点)+4.主从触发模式+5.输入捕获基本结构(重点)+6.PWM基本结构)
BOSHIDA AC/DC开关电源模块遥控开关操作
模块电源的遥控开关操作,是通过 REM 端进行的。一般控制方式有两种:
|
前端开发
XVS-440-10MPI-1-1AD EATON 分类系统基于总线的主要作用
XVS-440-10MPI-1-1AD EATON 分类系统基于总线的主要作用
123 0
XVS-440-10MPI-1-1AD EATON 分类系统基于总线的主要作用
|
C语言
BOSHIDA AC/DC变换电源图及其工作原理
1、逆变供电电源   a.直流供电时,由直流供电电压经开关S1,隔离三极管VD1,保险丝FU2及由C2、C3、L1组成的π型滤波器后作为逆变器的供电电源。   b.交流供电时,由220V50Hz的交流开关S2,变压器T1变压、VD3~VD6整流、C1滤波后得到一个约-50V的直流电压,再经过交流切换电路,保险丝FU2和由C2、C3、L1组成的π型滤波器后作为逆变器的供电电压。   C2、C3和L1组成的π型滤波器,一方面作为交流供电时的滤波用;另一方面作为逆变器共用一个供电电源时的去耦作用。
BOSHIDA   AC/DC变换电源图及其工作原理
BOSHIDA AC/DC变换电源图和工作原理
  接通电源后,通过R1同时向VT2、VT3基极注入电流,故开始时两管是同时导通的。但由于两管工作状态不可能完全一样,故两管的电流也不一样;若VT2导电较强,其集电极电流就大,通过反馈线圈N6-7、N7-8的正反馈,使VT2导电更强,集电极电流更大,很快进入饱和导通,而VT3导电减弱,集电极电流减小,很快进入截止状态。
【NI Multisim 14.0原理图设计基础——参数属性设置】
一、参数属性设置 在现实中元器件库中可以直接找到的元器件称为真实元器件或称现实元器件。例如电阻的“元器件”栏中就列出了从1.0Ω 到22 MΩ 的全系列现实中可以找到的电阻。现实电阻只能调用,但不能修改它们的参数(极个别可以修改,例如晶体管的β值)。凡仿真电路中的真实元器件都可以自动链接到 Ultiboard 14.0 中进行制版。 相对应的,现实中不存在的元器件称之为虚拟元器件,也可以理解为它们是元器件参数可以任意修改和设置的元器件。例如要一个1.01Ω电阻、2.3uF电容等不规范的特殊元器件,就可以选择虚拟元器件通过设置参数达到;但仿真电路中的虚拟元器件不能链接到制版软件 Ultiboar
733 0
【NI Multisim 14.0原理图设计基础——参数属性设置】