模数转换器(ADC)
目录
一、简介:
二、主要特征
三、校准(CLB)
四、ADC时钟
五、ADCON开关
六、规则组和注入组
七、转换模式
八、注入通道管理
九、可编程的采样时间
十、外部触发
十一、温度传感器和内部参考电压
一、简介:
12位ADC是一种采用逐次逼近方式的模拟数字转换器。它有18个多路复用通道,可以转换来自16个外部通道和2个内部通道的模拟信号。模拟看门狗允许应用程序来检测输入电压是否超出用户设定的高低阈值。各种通道的A/D转换可以配置成单次、连续、扫描或间断转换模式。ADC转换的结果可以按照左对齐或者右对齐的方式存储在16位数据寄存器中。
二、主要特征
- 高性能
12位分辨率;
ADC采样率:1MSPs;
自校准
可编程采样时间;
数据寄存器可配置数据对齐方式;
支持规则数据转换的DMA请求。
- 模拟输入通道
16个外部模拟输入通道;
1个内部温度传感通道(VSENSE);
1个内部参考电压输入通道(Vrefint)。
- 转换开始的发起
软件
硬件触发
- 转换模式
转换单个通道,或者扫描一序列的通道;
单次模式,每次触发转换一次选择的输入通道;
连续模式,连续转换所选择的输入通道;
间断模式
同步模式(适用于具有两个或多个ADC的设备)。
- 模拟看门狗
- 中断的产生
规则组或注入组转换结束;
模拟看门狗事件。
- ADC供电要求:2.6V到3.6V,一般电源电压为3.3v。
- ADC输入范围:VREFN≤VIN≤VREFP。
三、校准(CLB)
ADC带有一个前置校准功能。在校准期间,ADC计算一个校准系数,这个系数是应用于ADC内部的,它直到ADC下次掉电才无效。在校准期间,应用不能使用ADC,它必须等到校准完成。在A/D转换前应执行校准操作。通过软件设置CLB=1来对校准进行初始化,在校准器件CLB位会一直保持1,直到校准完成,该位由硬件清0。
当ADC运行条件改变(例如,VDDA、VREFP以及温度等),建议重新执行一次校准操作。
内部的模拟校准通过设置ADC_CTL1寄存器的RSTCLB位来重置。
软件校准过程:
- 确保ADCON=1;
- 延迟14个ADCCLK以等待ADC稳定;
- 设置RSTCLB(可选的);
- 设置CLB=1;
- 等待直到CLB=0;
四、ADC时钟
ADCCLK时钟是由时钟控制器提供的,它和AHB、APB2时钟保持同步。ADC最大的时钟频率为14MHz。在RCU时钟控制器中,有一个专门用于ADC时钟的可编程分频器。
五、ADCON开关
ADC_CTL1寄存器中的ADCON位是ADC模块的使能开关。如果如果该位为0,则ADC模块保持复位状态。为了省电,当ADCON位为0时, ADC模拟子模块将会进入掉电模式。
注意: ADCON位设置为1后,需要添加不少于20us的延时。
六、规则组和注入组
ADC支持18个多路通道,可以把转换组织成两组:一个规则组通道和一个注入组通道。 规则组,可以按照特定的序列组织成多达16个转换的序列。ADC_RSQ0~ADC_RSQ2寄存器规定了规则组的通道选择。 ADC_RSQ0寄存器的RL[3:0]位规定了整个规则组转换序列的长度。
注入组,可以按照特定的序列组织成多达4个转换的序列。 ADC_ISQ寄存器规定了注入组的通道选择。 ADC_ISQ寄存器的IL[1:0]位规定了整个注入组转换序列的长度。
注意: ADC同时使用规则组和注入组, 注入组采样周期应避免使用1.5和7.5个周期。
七、转换模式
- 单次转换模式,该模式能够运行在规则组和注入组。
- 连续转换模式,该模式可以运行在规则组通道上。
- 扫描转换模式,该模式能够运行在规则组和注入组。
- 间断转换模式,规则组和注入组不能同时工作在间断模式,同一时刻只能有一组被设置成间断模式。
八、注入通道管理
自动注入
触发注入
九、可编程的采样时间
ADC 使用若干个 ADCCLK 周期对输入电压采样,采样周期数目可以通过 ADC_SAMPT0 和ADC_SAMPT1 寄存器的 SPTn[2:0]位更改。每个通道可以用不同的时间采样。在 12 位分辨率的情况下,总转换时间=采样时间+12.5 个 ADCCLK 周期。
例如:ADCCLK = 14MHz ,采样时间为 1.5 个周期,那么总的转换时间为: “1.5+12.5”个 ADCCLK周期,即 1us。
注意: 如果想要获取较稳定的采集数据需要降低 ADC 的采样时钟, 增大采样周期,硬件运行的情况下减小外部输入阻抗。
十、外部触发
外部触发输入的上升沿可以触发规则组或注入组的转换。规则组的外部触发源由ADC_CTL1寄存器的ETSRC[2:0]位控制,注入组的外部触发源由ADC_CTL1寄存器的ETSIC[2:0]位控制。
ETSRC[2:0]和ETSIC[2:0]控制位可以用来确定8个可能事件中的哪一个可以触发规则和注入组的转换。
表1 ADC0和ADC1的规则通道的外部触发
表2 ADC0和ADC1的注入通道的外部触发
表3 ADC2的规则通道的外部触发
表4 ADC2的注入通道的外部触发
十一、温度传感器和内部参考电压
将 ADC_CTL1 寄存器的 TSVREN 位置 1 可以使能温度传感器通道(ADC0_CH16)和 VREFINT通道(ADC0_CH17)。 温度传感器可以用来测量器件周围的温度。传感器输出电压能被ADC转换成数字量。建议温度传感器的采样时间至少设置为17.1us.温度传感器不用时,复位TSVREN位可以将其置于掉电模式。
温度传感器的输出电压随温度线性变化,由于生产过程的多样化,温度变化曲线的偏移在不同的芯片上会有不同(最多相差45℃)。内部温度传感器更适合于检测温度的变化,而不是测量绝对温度,如果需要测量精确的温度,应该使用一个外置的温度传感器来校准这个偏移错误。
内部电压参考(VREFINT)提供了一个稳定的(带隙基准)电压输出给 ADC 和比较器。 VREFINT 内部连接到 ADC0_CH17 输入通道。
模数转换器(ADC)相关推荐
- STM32F4_模数转换器(ADC)详解
目录 1. ADC是什么 2. ADC主要特性 3. ADC框图 3.1 ADC开关控制 3.2 ADC时钟 3.3 通道选择 3.4 单次转换模式和连续转换模式 3.5 时序图 3.6 模拟看门狗 ...
- 28335学习之《模数转换器ADC》
文章目录 第11章 模数转换器ADC **11.1 F28335内部的ADC模块** **11.1.1 ADC模块的特点** **11.1.2 ADC的时钟频率和采样频率** **11.2 ADC模块 ...
- 高速模数转换器(ADC)的INL/DNL测量
高速模数转换器(ADC)的INL/DNL测量 Aug 20, 2009 摘要:尽管积分非线性和微分非线性不是高速.高动态性能数据转换器最重要的参数,但在高分辨率成像应用中却具有重要意义.本文简要回顾了 ...
- 基于FPGA的模数转换器(ADC)或数模转换器
选择时首先要确定转换信号所需的采样频率.这个参数不仅将影响转换器的选择,同时也会影响对FPGA的选择,这样才能确保器件能够满足所需的处理速度及逻辑封装要求.转换器的采样频率至少为信号采样频率的2倍.因 ...
- 6. 模数转换器ADC
6. 模数转换器ADC 6.1 ADC结构及寄存器说明 6.2 ADC设计实例 6.2.1 用ADC1规则通道实现外部模拟信号的模数转换 6.2.2 用ADC1注入通道实现内部温度传感器的温度测量 6 ...
- pcm 采样率转换_高速模数转换器 ADC 树立了实时监测和控制的标准
动态实时测量能够启用并增强各种实验流程.例如,设置系统参数并监测高速流程直至达到了理想条件,并以秒.分钟或小时为单位记录实验数据. 只有使用高速 ADC(模数转换器)才能最大限度提高这些应用的吞吐量. ...
- 模数转换器(ADC)的几种主要类型简介
简介 现在的软件无线电.数字图像采集都需要有高速的A/D采样保证有效性和精度,一般的测控系统也希望在精度上有所突破,人类数字化的浪潮推动了A/D 转换器不断变革,而A/D转换器是人类实现数字化的先锋. ...
- [007]嵌入式学习:模数转换器-ADC
目录 [本文为百问网&韦东山[物联网智能家居实战训练营]学习笔记系列] 引言 模数转换器(ADC)是嵌入式开发中重要的常见外设.MCU通过它感知外界环境变化,进行对应处理,实现各种功能. 1 ...
- STM-32:ADC模数转换器—ADC单通道转换/ADC多通道转换
目录 一.ADC 模数转换器 1.1ADC简介 1.2 逐次逼近型ADC工作原理 1.3STM32中的ADC基本结构 1.4STM32中ADC的输入通道 1.5STM32中的ADC的四种转换模式 1. ...
- 模数转换器ADC的常用术语和主要技术指标(二)
变迁 Transition 当模拟输入量连续变化时,数字输出量从一个值跳变到相邻的数值称为变迁. 代码宽度 Code width 在模数转换曲线的相邻两个变迁点之间对应的模拟输入量的差值称为代码宽度, ...
最新文章
- windows常用命令有哪些(整理)
- 使用PHPExcel 对表格进行,读取和写入的操作。。。。
- Vue.js 由 1 到 2 的旅程 - (1)
- powerdesigner建立UML活动图
- Javascript 获取url参数,hash值 ,cookie
- 用域控制禁止本地存盘禁止使用移动磁盘以防止图纸泄密的解决方案
- 倒计时 1 天!第十六届开源中国开源世界高峰论坛日程曝光,邀您共同缔造开源创新模式!...
- Spring Batch 4.2.0.M1 发布,批处理应用编写框架
- ZBrush for Mac的插图技巧
- (11)Redis------分布式锁的实现方式之一(基于Springboot项目搭建)
- java 病毒查杀_Java清除exe文件中的病毒
- Vue通过nginx转发后dist文件页面样式丢失
- 数据结构算法实现及例题
- java毕业生设计紫陶文化传播与学习交流网站计算机源码+系统+mysql+调试部署+lw
- 【硬件之AD篇】两层PCB的各个板层分析
- Apache Doris数据模型详解及适用场景
- GitChat·技术管理 | Cynefin 框架和不确定性管理思维
- 辞职的时候,如果老板挽留你,你会怎么办呢?
- 掌握销售新主张销的是自己(1)
- pdm数据导出oracle,PowerDesigner使用(一):PDM文件导入Oracle数据库
热门文章
- HTML+CSS打造简单的横向时间轴
- from __future__ imports must occur at the beginning of the file问题的解决
- 网心科技 | 三分钟带你了解中国CDN发展史
- 计算机管理磁盘管理右键无反应,win7系统删除磁盘管理磁盘右键菜单只有“帮助”的解决技巧...
- 小码哥C++_汇编指令
- 六级通关笔记--词汇1
- 获取非行间样式和行间样式方法
- 微信中无法下载APP的解决办法
- js去除字符串中的空白字符(也可以去除其他字符串)
- 联通loid认证_GPON光猫认证中的SN码和LOID有什么区别?