ADC数模转化

一、通常的 adc转化简介

ADC 简介

  • ADC ( Analog - Digital Converter )模拟﹣数字转换器
  • ADC 可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁
  • 12位逐次逼近型 ADC ,1us转换时间
  • 输入电压范围:0~3.3V,转换结果范围:0 ~ 4095
  • 18个输入通道,可测量16个外部和2个内部信号源
  • 规则组和注入组两个转换单元
  • 模拟看门狗自动监测输入电压范围
  • STM32F103C8T6 ADC 资源:ADC1、ADC2,10个外部输入通道

VDDA 接入3.3V ,VSSA接GND,所以ADC的输入电压范围是0 ~3.3V
在这里插入图片描述

逼近型 比较 一般采用二分法 8位数据时 比较八次 既可以 找到对应的电压值 12位时 需要比较12次

STM32的adc设置

在这里插入图片描述

1.对于 ADC 分频 则 ADCCLK 最大接受为 14MHz 故为 6 分频

在这里插入图片描述

2.看门狗:其中有一个阈值高线和阈值低线,倘如启动了模拟看门狗 其就会关注所设置的 看门通道 若超出其的阈值范围 看门狗 会申请一个模拟看门狗的中断
3.两位数据寄存器用于存放转化结果的。
在这里插入图片描述

ADC基本结构

stm32 ADC内部结构

在这里插入图片描述

左边是GPIO 口的16个通道 进入ad转化器
其中有规则组和注入组 规则组可选择16个通道 注入组可以选择4个通道。
转化结果可放在AD数据寄存器中,其中规则组只有一个数据寄存器,注入组有4个数据寄存器。
触发控制提供开始转化 start信号 触发控制可选择软件控制和硬件控制。
硬件触发主要来自于定时器 也可选择外部中断的引脚
adc逐次比较过程、由右边的RCC时钟控制推动。
在规则组和注入组转化完成后会出现EOC信号 置于一个标志位

在这里插入图片描述

在图中可看到adc12_IN0对应的是PA0引脚
IN1 对应 PA1引脚
然后IN2、IN3、IN4、IN5、IN6到IN9 依次对应PA2 到PB1引脚。

在这里插入图片描述
注:只有ADC1 有通道16和17 ,ADC2和ADC3是没有的

转换模式

在这里插入图片描述

单次转换 非扫描模式
在此模式下,序列菜单就只有序列1 位置是有效
即同时选中一组的方式 改变为只选中一的方式,
将类似于指定通道二的转换,adc将会对通道二进行在转化
结果放置于数据寄存器中,同时将EOC标志位 置于1。
——
若想换一个通道进行转化则将转换的通道改变再进行转换。

在这里插入图片描述

连续转化 非扫描模式:无需手动开始转化,也不用判断是否结束, 要读取AD值的时候,直接从数据寄存器中读取即可。

在这里插入图片描述

单次转化 扫描模式:
1.每触发一次扫描后便会停止下来,下次转化需要进行再次触发。
2.可在转换的菜单列表中指定转化的通道,每个位置是通道几,并且也是可重复的。
3.可设置指定通道数目的参数,没有必要使用全部通道数目。
4.为了防止数据覆盖就需要用DMA及时将数据挪走。
5.转换完成后触发EOC信号。

在这里插入图片描述

连续转化 扫描模式:即是在转化为完成后直接开启下一次转化。

补充:间断模式 在连续转化的几次中暂停一次 需要再次触发才可以继续。

触发控制

在这里插入图片描述

在触发源 EXTI线11 上时 具体是引脚还是定时器要采用AFIO 重映射来确定。
触发信号的选择可通过右边的 EXTSEL 寄存器来选择

数据对齐

在这里插入图片描述

  • ADC是12位的,即转化结果就是12位的数据,但是数据寄存器位16位。
    1.第一种是数据右对齐,高位补0;
    2.第二种12位数据向左靠,低位补0;

右对齐的数据直接读取为原数据结果
左对齐读数 数据将会大于原数据 实际上是将数据左移 4次;即将数据乘以16。

转化时间

在这里插入图片描述

  • 在量化和编码之前需要,设置一个采样开关,可利用小容量电容存储采样其开关,再进行AD转换。
  • 采样之前需要闭合采样开关,过一段时间后再断开,就产生一个采样时间。
  • ADC周期是从RCC时钟分频过来的ADCCLK,
    此处计算:14个ADC周期/14MHz = 1微妙

校准

  • ADC 有一个内置自校准模式。校准可大幅减小因内部电容器组的变化而造成的准精度误差。校准期间,在每个电容器上都会计算出一个误差修正码(数字值),这个码用于消除在随后的转换中每个电容器上产生的误差。

  • 建议在每次上电后执行一次校准

  • 启动校准前, ADC 必须处于关电状态超过至少两个 ADC 时钟周期。

硬件电路

在这里插入图片描述

1.ADC 电阻值应该将为千欧级的电阻,
2.传感器和固定电阻值串联分压,传感器阻值变小时,下拉作用变强,输出端电压下降。相反,传感器阻值变大,下拉作用变弱,输出端受到上拉电阻作用,电压就升高。(固定电阻应该选择和传感器电阻阻值相近的电阻 ,这样输出端即可得到位于中间电压 较好的输出。)

STM32 ADC手册

时序图和adc寄存器 在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值