沈阳芯硕科技有限公司

免费会员·3年
您现在的位置: 沈阳芯硕科技有限公司>> HC32F460 系列的模数转换器 ADC
HC32F460 系列的模数转换器 ADC
参考价: 54
订货量: 1
具体成交价以合同协议为准
  • 产品型号
  • 品牌
  • 代理商 厂商性质
  • 沈阳市 所在地

访问次数:683更新时间:2021-07-14 15:36:56

联系我们时请说明是智能制造网上看到的信息,谢谢!
免费会员·3年
人:
沈阳芯硕科

扫一扫访问手机商铺

产品简介
1 1
本应用笔记主要介绍 HC32F460 系列 MCU 的模数转换器(以下简称 ADC)的特点及使用方法,包括扫描模式、转换数据平均功能、模拟看门狗、可编程增益放大器和协同模式等。
产品介绍

1

摘要

本应用笔记主要介绍 HC32F460 系列 MCU 的模数转换器(以下简称 ADC)的特点及使用方法,包括扫描模式、转换数据平均功能、模拟看门狗、可编程增益放大器和协同模式等。

2

ADC 简介

2.1

功能简介

HC32F460 系列 MCU 内部集成 ADC1 ADC2 两个 ADC 模块(系统框图如图 2-1),挂载于AHB-APBAPB3)总线,可配置 12 位、10 位和 8 位分辨率,支持最多 16 个外部模拟输入通道和 1 个内部基准电压/8bitDAC 输出的检测通道。这些模拟输入通道可以任意组合成一个序 列(序列 A 或序列 B),一个序列可以进行单次扫描(包括两个动作:采样和转换),或连续扫描。支持对任意通道进行连续多次扫描,并对转换结果进行平均。ADC 模块还搭载模拟看门狗(以下简称 AWD)功能,可对任意通道的转换结果进行监视,检测是否超出设定的阀值。

2.2 主要特性

HC32F460 系列 MCU ADC 具有如下主要特性:

1) 高性能

Ÿ

可配置 12 位、10 位和 8 位分辨率

Ÿ

周边时钟(数字时钟)PCLK4 A/D 转换时钟 ADCLK 的频率比可选择:

Ÿ

PCLK4 : ADCLK = 1 : 12 : 14 : 18 : 11 : 21 : 4

Ÿ

ADCLK 可选与系统时钟 HCLK 异步的 PLL 时钟,此时 PCLK4 : ADCLK = 1:1

Ÿ

采样率:2.5MSPSPCLK4 = ADCLK = 60MHz12 位分辨率,采样 11 周期)

Ÿ

各通道可独立设置采样时间

Ÿ

各通道独立数据寄存器

Ÿ

数据寄存器可配置数据对齐方式

Ÿ

连续多次转换平均功能

Ÿ

模拟看门狗,监视转换结果

Ÿ

不使用时可将 ADC 模块设定为停止状态

2) 模拟输入通道

Ÿ

最多有 16 个外部模拟输入采样通道

Ÿ

1 个内部基准电压/8bitDAC 输出的检测通道

Ÿ

最多有 16 个外部模拟输入引脚,外部模拟输入引脚可与采样通道自由映射

3) 转换开始条件

Ÿ

软件启动开始转换(只支持序列 A

Ÿ

外设事件触发开始转换(支持序列 A 和序列 B

Ÿ

外部引脚触发开始转换(支持序列 A 和序列 B

4) 转换模式

Ÿ

序列 A 单次扫描

Ÿ

序列 A 连续扫描

Ÿ

双序列扫描

Ÿ

协同模式

5)

Ÿ

序列 A 扫描结束中断和事件 ADC_EOCA

Ÿ

序列 A 扫描结束中断和事件 ADC_EOCB

Ÿ

模拟看门狗通道比较中断和事件 ADC_CHCMP,序列比较中断和事件 ADC_SEQCMP

Ÿ

上述 4 个事件输出都可启动 DMA

2.3 引脚配置

HC32F460 系列 MCU ADC1 17 个采样通道,最多支持 16 个外部模拟输入引脚,通道0~15 可与外部模拟输入引脚自由映射,通道 16 用于内部基准电压/8bitDAC 的输出检测。ADC2 9 个采样通道,最多支持 8 个外部模拟输入引脚,通道 0~7 可与外部模拟输入引脚自由映射,通道 8 用于内部基准电压/8bitDAC 的输出检测。

3

ADC 应用

3.1

模拟输入引脚与通道

HC32F460 系列 MCU ADC 模块模拟输入引脚等配置,

默认情况下,ADC1 CH0(通道 0)对应模拟输入引脚 ADC1_IN0CH1 对应

ADC1_IN1……CH16 为内部模拟通道,只能用于检测内部基准电压、8bitDAC1

8bitDAC2。也就是,默认情况下,ADC1 序列 A 的通道选择寄存器 ADC1_CHSELRA0(或序列 B 的通道选择寄存器 ADC1_CHSELRB0)的 bit0 1,即选择了模拟输入引脚 ADC1_IN0bit1 1,即选择模拟输入引脚ADC1_IN1;序列 A 的通道选择寄存器ADC1_CHSELRA1(或序列 B 的通道选择寄存器 ADC1_CHSELRB1)的 bit0 1,即选择了内部模拟输入,用于检测内部基准电压、8bitDAC1 8bitDAC2。但是,HC32F460 系列的 ADC 模块具有模拟输入引脚与通道自由映射(除用于检测内部模拟输入的通道外)的功能,可满足用户不同的应用需求。例如,可将引脚 ADC12_IN10 映射到ADC1 的一个通道(如 CH0,不能映射到 CH16),或同时映射到多个通道(如 CH0CH2 CH3)。

ADC2 通道与引脚的默认对应关系和通道重映射与 ADC1 的类似。

关于通道重映射,固件例程 adc_11_channel_remap 给出了其具体用法。

3.2 模拟输入的采样时间和转换时间

关于 ADC 时间的详细说明,请参考用户手册模拟输入的采样时间和转换时间一节中,寄存器 ADC_SSTR ADC 电气特性部分,请严格按照手册要求设置采样时间。在满足应用需求的情况下,请尽量将采样时间设置得大一些,尤其在对多个通道采样时,如果通道的采样时间设 置偏小,可能会导致相邻通道(如序列 A 配置了 CH0CH5CH7,那么 CH0 CH5CH5 CH7 都是相邻通道)之间透过采样电容发生耦合,而使转换结果不准确。

3.3 模式和功能

ADC 的通道可配置为序列 A 或序列 B,序列 A 和序列 B 可单独设置不同的触发源。两个序列共有四种扫描方式:

Ÿ

序列 A 单次扫描;

Ÿ

序列 A 连续扫描;

Ÿ

序列 A 单次扫描,序列 B 单次扫描;

Ÿ

序列 A 连续扫描,序列 B 单次扫描。

各通道还可设置平均功能,可连续扫描设定次数后,计算转换的平均值,并将平均值保存到数据寄存器中;模拟看门狗 AWD 在通道转换结束后对转换结果进行比较,可生成通道比较中断和事件 ADC_CHCMP,在整个序列扫描结束后,根据各通道比较结果生成序列比较中断和事件 ADC_SEQCMP;可编程增益放大器 PGA,可对模拟输入信号放大后再转换;协同工作模式下,ADC1 ADC2 可同时转换或连续交替转换;模拟输入引脚可与 ADC 通道的自由映射,再结合协同模式,可实现对模拟输入的高频扫描。

3.4 序列 A 单次扫描模式

3.4.1 说明

在此模式下,ADC 执行单个或多个通道的单次扫描,并在转换完成后停止.

3.4.2 应用

该模式可以设置单个或多个通道。设置多个通道时,可实现对多个通道进行依次扫描,这些通道可设置不同的采样时间,用户不必在扫描过程中停止 ADC,即可以不同的采样时间重新扫描下一个通道,可避免额外的 CPU 负载以及繁重的软件开发。

该模式是简单的 ADC 模式,应用方式灵活。如在系统启动前,可以用这种模式检测系统的一些状态信息,如电压、压力、温度等,以确定系统是否可以正常启动;在系统运行中,可用 这种模式,按需检测系统状态,以获取系统实时状态。

应用例程 adc_01_sa_base 给出了该模式的具体用法。

3.5 序列 A 连续扫描模式

3.5.1 说明

连续扫描模式可对单个通道或多个通道进行连续不断的扫描。连续扫描模式允许

ADC 在后台工作。因此,ADC 可在没有任何 CPU 干预的情况下对通道进行连续(循环)扫描通道。此外,还可以在连续扫描模式下使用 DMA,从而降低 CPU 负载。

3.5.2 应用

此模式设置单个通道时,可用于监视电池电压、测量和调节烤箱温度等应用。在用于调节烤箱温度时,系统将读取温度并与用户设置的温度进行比较。当烤箱温度达到所需温度时,关闭加热电阻器的电源。

设置多个通道时,与多通道单次扫描模式类似,只是在完成序列的一个通道后不会停止扫描,而是从一个通道重新开始扫描并无限循环下去。多通道连续扫描模式,可用于监视多电池充电器中的多个电压和温度。系统在充电过程中读取每节电池的电压和温度。当电压或温度达到大值时,将切断相应电池与充电器的连接。

应用例程 adc_01_sa_base 中有该模式的设置以及简单的应用方法。

3.6 双序列扫描模式

3.6.1 说明

此处将序列 A 单次扫描、序列 B 单次扫描序列 A 连续扫描、序列 B 单次扫描两种模式整合为双序列扫描模式进行介绍。双序列扫描模式,只是在前两种模式中增加了序列 B 的扫描。双序列扫描模式下,序列 B 必须由外部引脚或内部事件触发转换,软件启动对序列 B 无 效,序列 A 可由软件启动扫描,也可由外部引脚或内部事件触发扫描。序列 B 的优先级高于 序列 A. 配置 ADC_CR1.RSCHSEL 0 时,当序列 A 被中断后,恢复时,从被中断通道继续扫描.

3.6.2 应用

可在前两种模式的应用中,加入需要实时响应(更高优先级)扫描的通道,将其配置为序列B。例程 adc_04_sa_sb_event_trigger 实现了双序列扫描的基本用法。

3.7 转换数据平均功能

3.7.1 说明

转换数据平均功能,可设置连续扫描 248163264128 256 次后,将转换结果平均后,保存到数据寄存器。该功能可去除一定的噪声成分,使结果更加准确。该功能的优势是可以在无任何硬件变更的情况下提高 ADC 的准确度,缺点是降低了转换速度和频率(相当于降低了有效采样率)。

3.7.2 应用

针对不同的应用,可设置不同的连续扫描次数,该次数取决于需要的精度、低转换速度等。应用笔记没有单独为该功能提供例程,在例程 adc_01_sa_base 中有该功能的配置方式。

3.8

模拟看门狗

3.8.1

说明

HC32F460 系列 MCU 的模拟看门狗,可配置为上下限比较或区间比较。用户可预先设置比较条件和相应的上下限或区间。在通道转换结束后,模拟看门狗对转换结果

进行比较,如果满足比较条件,则产生通道比较中断和事件 ADC_CHCMP,在整个序列扫描结束后,根据各通道比较结果生成序列比较中断和事件 ADC_SEQCMP。每个使能模拟看门狗的通道,只要其转换结果满足比较条件,都会产生一次中断和事件 ADC_CHCMP;每个序列,只要其中一个通道的转换结果满足比较条件,都会产生中断和事件 ADC_SEQCMP。在条件满足后,一个序列只产生一次中断和事件 ADC_SEQCMP。也就是,一个 ADC 模块,一轮

扫描结束后,可产生多次中断和事件 ADC_SEQCMP,最多两次(因为最多只有两个序列)中断和事件 ADC_SEQCMP

注意:

- 不推荐同时使用 ADC_CHCMP 中断和 ADC_SEQCMP 中断。

3.8.2

应用

在一些控制系统中,需要严格监测电压、压力、温度等信号的范围,使用模拟看门狗能够快速地检测到这些信号的异常状况,并做出相应的应对措施,以确保设备安全。例程adc_08_sa_sb_awd_base 给出了模拟看门狗的配置和基本应用方法;但通常,模拟看门狗的中断用法更为高效,应用也更为普遍,例程 adc_09_sa_sb_awd_interrupt 给出了模拟看门狗的中断配置和用法。

3.9

内部模拟通道

3.9.1

说明

ADC1 ADC2 都具有一个用于检测内部模拟输入的通道,分别为通道 16 和通道 8,用来检测三个可选择的内部模拟输入量,内部基准电压、8bitDAC1 输出8bitDAC2 输出。

注意:

- 只能选择 ADC1 ADC2 其中之一的内部检测通道,来检测三个内部模拟输入的其中一个,不能同时使用 ADC1 ADC2 的内部检测通道。

3.9.2

应用

在一些系统中,可能由于某些原因导致 ADC 的参考电压不稳定,从而无法知道模拟输入的实际电压值,这时,可用 ADC1 ADC2 的内部检测通道,来检测内部基准电压(在系统工作电压正常时恒为 1.1V),来反推 ADC 当前的参考电压,从而得知模拟输入当前的实际电压值。具体实现如下:

1.

在某已知参考电压 VREF1 下测得内部基准电压的 ADC 值为 VAL1

2.

随着系统的运行,参考电压可能随着供电源(如电池)的电压降低而下降,此时测得内部基准电压的 ADC 值为 VAL2,设此时参考电压为 VREF2

3.

由于内部基准电压是恒定的,所以有:

VAL1 × VREF1 = VAL2 × VREF2;

VREF2 = (VAL1 × VREF1) / VAL2;

由此已知当前参考电压为 VREF2,就不难得到模拟输入的实际电压了。

例程 adc_10_internal_channel 展示了内部通道的各种配置和简单用法。

3.10 可编程增益放大器 PGA

3.10.1 说明

HC32F460 系列 MCU 集成了可编程增益放大器 PGA,能对模拟信号进行放大处理,可节省MCU 外接运算放大器的硬件成本。PGA 电路先将模拟信号进行放大,然后再将放大后的模拟信号输出至 ADC 模块进行采样转换。

注意:

-

只有 ADC1 支持 PGA

-

PGA 通道直接与模拟输入引脚对应,其对应引脚映射的通道必须被 ADC1 序列 A 或序列B 的通道选择寄存器选中,才可对该模拟输入进行放大。

3.10.2 应用

用户可根据实际的应用场景,选择合适的放大倍数,对模拟输入进行放大。模拟输入电压和放大倍数必须满足如下条件:

0.1*VCCA/Gain <= VI <= 0.9*VCCA/Gain

其中,VCCA 是模拟电源电压,Gain 是放大倍数,VI 是模拟输入电压,具体请参考用户手册PGA 相关部分。关于 PGA 的配置和用法,请参考例程 adc_12_adc1_pga

3.11 协同模式

HC32F460 系列 MCU 具有两个 ADC 模块,可使用 ADC 协同工作模式。在协同工作模式下,转换启动只能由 ADC1 的触发源触发启动,且软件启动无效。

协同模式可配置为以下四种协同模式:

Ÿ

单次并行触发模式

Ÿ

单次延迟触发模式

Ÿ

循环并行触发模式

Ÿ

循环延迟触发模式

注意:

-

协同模式只能由 ADC1 配置;

-

设置为协同工作模式的 ADC,其配置(扫描模式、分辨率和数据对齐方式等)应尽量相同;具体通道无需相同,但是通道数量及对应采样时间应相同;

-

使用单次触发时,请将协同工作模式的 ADC 设置为序列 A 单次扫描或循环扫描;使用循环触发模式时,请设置为序列 A 单次扫描;

-

禁止多个 ADC 模块同时对一个模拟输入进行采样;

-

请严格按照用户手册协同模式相关部分的说明,来设置采样时间(ADC_SSTR 寄存器)和协同模式控制寄存器 ADC_SYNCCR SYNCDLY

-

请禁止序列 B,以免打乱同步。

3.11.1 单次并行触发模式

3.11.1.1 说明

该模式下,ADC1 序列 A 的触发条件同时触发处于协同工作模式的所有 ADC 模块, ADC1 序列 A 的触发条件只触发处于协同工作模式的 ADC 模块一次,这些 ADC 模块在采样转换一次后,是否停止,视其序列 A 扫描模式而定。

3.11.1.2 应用

并行触发的特点是,处于协同工作模式的 ADC 能同时对各自的模拟输入进行采样转换。例如,测量单相或三相瞬时电功率并绘制其曲线:Pn(t) = Un(t) × In(t)。在这种情况下,应同时测量电压和电流,然后计算瞬时功率,即电压 Un(t) 与电流 In(t)的乘积。要测量单相电功率,可将 ADC1 的一个通道和 ADC2 的一个通道配合使用,一个通道测量电压,一个通道测量电流,如图 3-9;要测量三相电功率,可将 ADC1 的三个通道和 ADC2 的三个通道配合使用,三个通道测量电压,三个通道测量电流。

如果只需要测量某一时刻的瞬时功率,使用单次并行触发模式即可;如果要连续测量,可结合定时器使用,用定时器定时触发该协同模式,或结合序列 A 连续扫描模式,或用循环并行触发模式,具体可根据需要的扫描频率等需求选择合适的解决方法。

3.11.2 单次延迟触发模式

3.11.2.1 说明

ADC1 序列 A 的触发条件触发 ADC1 后,经过设定的延迟后触发 ADC2 启动采样转换。ADC1 序列 A 的触发条件只触发处于协同工作模式的 ADC 模块一次,这些 ADC 模块在采样转换一次后,是否停止,视其序列 A 扫描模式而定。

3.11.2.2 应用

结合序列 A 连续扫描模式,可实现对同一模拟输入的高频采样。例如,如果要转换的信号的频率为 2.5MHz,则采样率应该大于或等于该信号频率的二倍(符合香农采样定理)。

由于一个 ADC 的采样率为 2.5MSPS,达不到采样定理的要求。此时,可通过这种方式将采样率提高到 5MSPS。关键设置如下:

1.

设置 ADC 时钟为 60MHz

2.

ADC1 ADC2 设置扫描模式为序列 A 连续扫描;

3.

ADC1 ADC2 配置同一个模拟输入,并设置相同的采样周期数 ADC_SSTR = 11

4.

配置同步模式为单次延迟触发,并设置同步延迟时间 ADC_SYNCCR.SYNCDLY = 12

注意:

- 不要为了更高的采样率而缩减采样时间 ADC_SSTR,采样时间过短可能会使转换结果的

误差超出误差值的设计范围。

建议:强烈建议使用 DMA 而非中断,以免数据丢失。

3.11.3 循环并行触发模式

3.11.3.1 说明

该模式下,ADC1 序列 A 的触发条件同时触发处于协同工作模式的所有 ADC 模块。若设置为单次并行触发,那么所有 ADC 模块在转换一次后就停止转换(如果扫描模式是序列 A 单次扫描);若设置为循环并行触发,在 ADC1 序列 A 的触发条件同时触发处于协同工作模式

的所有 ADC 模块后,每经过延迟之后,所有 ADC 模块会再次同时触发转换,如此循环,直到用户主动软件停止 ADC1 模块或禁止协同模式。

3.11.3.2 应用

如果需要连续测量某模拟信号,可使用该模式,比如前面的测量电功率的应用。

3.11.4 循环延迟触发模式

3.11.4.1 说明

ADC1 序列 A 的触发条件触发 ADC1 之后,每经过设定的延迟后,依次循环不断触发 ADC2ADC1ADC2……,直到用户主动软件停止 ADC1 模块或禁止协同模式。

3.11.4.2 应用

该模式适用用于一些,需要对模拟输入进行循环交替采样而对采样率要求不是很高的应用。这里简单介绍下循环延迟触发模式采样率的计算方法。

假设如下条件:

1.

ADC 时钟为 60MHz

2.

采样时间 ADC_SSTR 设置为 11

3.

17.3.8 节和 17.4.16 节相关要求,SYNCDLY 可设置为 17

4 总结

本应用笔记简要介绍了 HC32F460 系列 ADC 模块的各种功能以及可能的应用场景,并给出了ADC 模块应用的基本流程,还提供了一种测试高频采样率的方法,在实际开发中,用户可根据具体应用场景按需配置和应用 ADC 模块。

相关产品


会员登录

×

请输入账号

请输入密码

=

请输验证码

收藏该商铺

X
该信息已收藏!
标签:
保存成功

(空格分隔,最多3个,单个标签最多10个字符)

常用:

提示

X
您的留言已提交成功!我们将在第一时间回复您~
产品对比 二维码

扫一扫访问手机商铺

对比框

在线留言