0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32中的SAR ADC是怎么一回事?

冬至子 来源:轩哥谈芯 作者:Debug 2023-05-16 11:20 次阅读

STM32中的ADC是逐次逼近型ADC(Successive Approximation ADC),是逐个产生比较电压Vref,并逐次与输入电压分别比较,以逐渐逼近的方式进行A/D转换的。而其中的用来产生Vref的电路就是DAC电路。因此一般DAC电路比较容易设计,而DAC在采样速度和精度的权衡上会比较复杂。

poYBAGRi9hGAMUr5AABO7IkYdN8426.png

SAR ADC的转换原理是把输入的模拟信号按规定的时间间隔采样(采样),并与一系列标准的数字信号相比较,数字信号逐次收敛,直至两种信号相等为止(量化完成),最后输出代表此信号的二进制数(编码)。

SAR ADC结构

结构上主要包括采样保持电路(S/H),比较器(COMPARATOR,COMP),SAR逻辑控制电路时钟(CLOCK)和时序(TIMING)控制电路及DAC电路。

pYYBAGRi9iWAdoJWAABT8oqGQfs673.png

S/H电路

为了达到快速的采样,被采样的脉冲宽度一般是很短的,在下一个采样脉冲到来之前,要暂时保持所采得的样值脉冲幅度,以便进行后续转换。所以,在采样电路之后和比较电路之间要加保持电路。它的原理是通过一个开关连接一个电容,通过给电容进行充电来保持模拟信号的幅值信息

pYYBAGRi9jmAWXwEAABJm7jr3v8754.png

DAC电路

大多SAR ADC的DAC都使用电容式DAC来提供内在的跟踪/保持功能。电容式DAC是采用电荷再分配原理来产生模拟输出电压的。电容式DAC由N个具有二进制权重值的电容器阵列再加上一个“虚拟LSB”电容器组成。

首先通过Sa开关连接VIN,并将所有S1-S11的开关连接到VIN,给所有并联的电容进行充电,这样就将所有电容充满,并且充电电压为VIN。

然后通过将Sa开关连接到Vref,并且通过数字信号对应到S1-S11的开关上,也就是关闭一些电容的开关连接到GND上,断开电容,对地放电。

此时对于Vref上的电压就会根据断开电容的容量使得输出电压降低,从而将数字信号转换成一个模拟信号。

电容器阵列容量总量要等于2C。

pYYBAGRi9kqAefuDAACF74-BnA8703.png

转换步骤

转换步骤数等于 ADC的分辨率,比如12bits ADC就有12个转换步骤,每个 ADC 时钟产生一个数据位。

poYBAGRi9lyAQAOwAABi23D3hTE044.png

采样状态

该状态下,电容充电至电压VIN。Sa切换至VIN,采样期间Sb开关闭合。

保持状态

该状态下,输入断开,电容保持输入电压。Sb开关打开,然后S1-S11切换至接地,且Sa切换至VREF。

pYYBAGRi9muAGQP5AACTK8JXl_k254.png

转换(量化和编码)状态

该状态下,每个 ADCCLK 执行一个步骤,每一步完成后 ADC 输出一位数。采用二分法进行逐次逼近到 ADC 的精度(位数)。整个转换过程如下图所示。

pYYBAGRi9n6AZlK8AADjxJghYS0997.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电容器
    +关注

    关注

    63

    文章

    5815

    浏览量

    96788
  • 比较器
    +关注

    关注

    14

    文章

    1526

    浏览量

    106494
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348856
  • 充电电压
    +关注

    关注

    0

    文章

    26

    浏览量

    6699
  • adc信号
    +关注

    关注

    0

    文章

    5

    浏览量

    2195
收藏 人收藏

    评论

    相关推荐

    开关磁阻电机和交流磁阻同步电机是一回事吗?

    大家好,最近项目中遇到款德国的KAISER无励磁磁阻同步电机,花了段时间研究后,还是有几个基本的概念没有搞明白: 1.开关磁阻电机和交流磁阻同步电机是一回事吗? 2.各自的控制器是什么呢?普通的变频器能实现吗?
    发表于 01-10 06:35

    法拉第圆筒是怎么一回事

    法拉第圆筒是怎么一回事啊???求详细的解说...
    发表于 07-30 14:40

    请问下数码管阳极显示和共阳极是一回事吗?

    本帖最后由 eehome 于 2013-1-5 09:43 编辑 请问下数码管阳极显示和共阳极是一回事吗?
    发表于 12-03 11:21

    大家都来讨论下元器件降额设计是怎么一回事

    大家都来讨论下元器件降额设计是怎么一回事吧 各位前辈之前 做设计有进行过降额设计吗?
    发表于 04-22 15:34

    蓝牙的拓扑结构有散射网,MESH网是同一回事吗?

    在蓝牙的学习,有讲到蓝牙的拓扑结构,包含微微网和散射网,其中散射网是微微网的拓展网络设备数量的,请问散射网和MESH网是不是一回事,谢谢
    发表于 03-15 19:38

    Keil软件仿真STM32时出现错误是怎样一回事

    Keil软件仿真STM32时出现错误是怎样一回事?怎样去解决这个问题?
    发表于 11-10 06:23

    SFUD库看不到初始化spi1的GPIO的代码是怎么一回事

    SFUD库 看不到初始化spi1的GPIO的代码是怎么一回事
    发表于 07-29 10:39

    ch582 RF_PHY例程死机是怎么一回事

    使用ch582 想最终实现的结果是2.4G和蓝牙外设共存,但发现把peripheral例程和RF_PHY历程合并之后就会死机,经测试单独RF_PHY历程只要拷入了peripheral例程的Profile文件夹内容在接收的时候就跑不了了,发送可以动,这是怎么一回事
    发表于 09-20 07:18

    MOV的8位图立即数是怎么一回事

    MOV的 8位图立即数,是怎么一回事 0xF0000001是怎么来的A:是循环右移,就是个 0—255 之间的数左移或右移偶数位的来的,也就是这个数除以 4直除, 直到在 0-2
    发表于 10-13 14:11

    使用stm32时看不到flash的初始化变量值是怎么一回事呢?

    使用stm32时看不到flash的初始化变量值是怎么一回事呢?
    发表于 12-01 07:33

    MOV的8位图立即数是怎么一回事呢?

    MOV的 8位图立即数,是怎么一回事 0xF0000001是怎么来的A:是循环右移。就是个 0—255 之间的数左移或右移偶数位的来的,也就是这个数除以 4直除, 直到在 0-2
    发表于 02-17 15:02

    请问电源去耦和电源滤波是一回事吗?

    请问电源去耦和电源滤波是一回事吗?
    发表于 04-21 17:42

    请问芯片中ISP Flash和LDROM是不是一回事

    芯片中 ISP Flash 和 LDROM 是不是一回事? 如果不是一回事,以M453VG6AE为例,它们基地址分别是什么?
    发表于 08-29 08:08

    超声波程序的clock文件和主程序的Time是怎么一回事

    超声波程序的clock文件和主程序的Time是怎么一回事
    发表于 10-08 07:32

    请问KVA和KW是不是一回事

    KVA 和KW是不是一回事? 比如负载时2kw那么我的变压器的容量需要大于2/cosφ呢?
    发表于 12-11 07:43