当前位置: 首页 > news >正文

模数转换器(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位来重置。

软件校准过程:

  1. 确保ADCON=1;
  2. 延迟14个ADCCLK以等待ADC稳定;
  3. 设置RSTCLB(可选的);
  4. 设置CLB=1;
  5. 等待直到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 输入通道。

相关文章:

  • 做网站送400电话/百度推广客服电话24小时
  • 定制网站开发是什么/网上电商怎么做
  • ps做网站首页步骤/品牌营销策划有限公司
  • app网站平台建设方案/百度推广竞价排名技巧
  • 网站设计深圳要联系方式吗?/春哥seo博客
  • 固原网站制作/阿里指数
  • 华为云大数据BI解决方案,助力企业实现数字化转型
  • 华为机试_HJ41 称砝码【中等】【menset】【多重背包】【动态规划】【收藏】
  • 统治扩散模型的U-Net要被取代了,谢赛宁等引入Transformer提出DiT
  • LaTex期刊模板下载与使用
  • 【Vue】二、 认识Vue.js的各种指令
  • 漏洞预警| vm2 任意代码执行漏洞
  • aardio简单说说API函数的返回值
  • 为什么视频加密越来越受欢迎
  • PHP 实现PDF转图片
  • Redis常见面试题(五)
  • MySQL 用 explain 关注哪些字段
  • certbot生成证书,配置nginx,利用脚本自动续期