主要特性(CH32FV2x_V3x) 系列:
l 12 位分辨率
l 支持 16 个外部通道和 2 个内部信号源采样
l 多通道的多种采样转换方式:单次、连续、扫描、触发、间断等
l 数据对齐模式:左对齐、右对齐
l 采样时间可按通道分别编程
l 规则转换和注入转换均支持外部触发
l 模拟看门狗监测通道电压,自校准功能
l 双重模式
l ADC 通道输入范围:0≤VIN≤VDDA
l 输入增益可调,可实现小信号放大采样

(1)标号 1:输入通道

STM32 的 ADC 的输入通道多达 18 个,其中外部的 16 个通道就是框图中的 ADCx_IN0----ADCx_IN5(电压范围2.4-3.6),通过这 16 个外部通道可以采集模拟信号。这 16 个通道对应着不同的 IO 口, 具体是哪一个IO 口可以从数据手册查询到,ADC1 的通道 16 连接到了芯片内部的温度传感器,通道 17 连接到了内部参考电压 VREFINT

(2)标号 2:电压输入引脚

ADC 输入电压范围为: VREF- ≤ VIN ≤ VREF+。由 VREF-、 VREF+ 、VDDA 、 VSSA 这四个外部引脚决定。通常我们把 VSSA 和 VREF-接地,把 VREF+和 VDDA 接 3.3V,因此 ADC 的输入电压范围为:0~3.3V。我们使用的开发板 ADC输入电压范围为 0~3.3V。如果我们想让 ADC 测试负电压或者更高的正电压,可以在外部加一个电压调理电路,把需要转换的电压抬升或者降压到 0~3.3V,这样 ADC 就可以测量了。但一定不要直接将高于 3.3V 的电压接到 ADC 管脚上,那样将可能烧坏芯片。

(3)标号 3:中断

当发生如下事件且使能相应中断标志位时,ADC 能产生中断。

1.转换结束(规则转换)与注入转换结束

数据转换结束后,如果使能中断转换结束标志位,转换一结束就会产生转换结束中断。

2.看门狗中断

当被 ADC 转换的模拟电压低于低阈值或者高于高阈值时,就会产生中断,前提是我们开启了模拟看门狗中断,其中低阈值和高阈值由ADCx_WDLTR和ADCx_WDHTR设置
(4)标号 4:数据寄存器

ADC 转换后的数据根据转换组的不同,规则组的数据放在 ADCx_RDATAR寄存器内,注入组的数据放在ADCx_RDATAR。
在规则组中,含有 16 路通道,但是对应着存放规则数据的寄存器只有 1 个,如果使用多通道转换,那么转换后的数据就全部放在同一个寄存器内,前一个时间点转换的通道数据,就会被下一个时间点的另外一个通道转换的数据覆盖掉,所以当通道转换完成后就应该把数据取走,那么怎么避免呢, 最常用的做法就是开启 DMA 传输(具体参考我们EVT中的ADC-DMA例程)。如果不使用 DMA 传输,也可通过 ADC 状态寄存器获取当前 ADC 转换的进度状态,进而进行程序控制。
(5)标号5:PGA

当采样信号幅值很小时,可使能此位,放大挡位1,4,16,64可调,具体参考ADC控制寄存器1(ADCx_CTLR1)27-28位,注意使用同时需开启第26位的buffer。

(6)标号 6:触发源

ADC 支持外部事件触发转换,如可以通过设置 ADC 控制寄存器2来控制触发极性,可以有 4 种状态,分别是:禁止触发检测、上升沿检测、下降沿检测以及上升沿和下降沿均检测。

最新文章

  1. Protobuf for Python测试保存和读取文件
  2. PL/0编译器(java version) – Scanner.java
  3. 《疯狂Java:突破程序员基本功的16课》读书笔记-第二章 对象与内存控制
  4. leach和leach-c协议仿真
  5. SqlBulkCopy 简单运用
  6. js隐藏
  7. OSG Win7 + VS2015 编译
  8. java面对对象 关键字this super
  9. C++中实现链表的删除和颠倒
  10. virsh VMI deploy data serial xml
  11. SignalR系列教程:SignalR快速入门
  12. 采用RedisLive监控Redis服务
  13. (转载)js 快捷键大全,并有简单使用说明
  14. javascript基础(三)运算
  15. centos7配置阿里云yum源
  16. [Lugu3380]【模板】二逼平衡树(树套树)
  17. [ExtJS5学习笔记]第八节 Extjs5的Ext.toolbar.Toolbar工具条组件及其应用
  18. Python随机字符串验证码
  19. MySQL-5.7安装
  20. Linux MMC framework2:基本组件之core

热门文章

  1. win10 优化
  2. java判断手机号三大运营商归属的工具类
  3. Redis管理及监控工具推荐
  4. 顺序表代码总结——SqList
  5. 银河麒麟V10 SP1服务器操作系统-单用户模式与救援模式调试方法
  6. 关于 python 中比较运算的顺序
  7. vulnhub靶场之CONTAINME: 1
  8. 零基础入门数据挖掘——二手车交易价格预测:baseline
  9. 锂电池3.7V转3V,1.5V的稳压和降压芯片
  10. Zabbix6.0使用教程 (一)—zabbix新增功能介绍1