HK32MCU应用笔记(十三)| HK32F103xC/D/E-ADC的应用及注意事项

电子说

1.2w人已加入

描述

HK32F103x/C/D/E是深圳市航顺芯片技术研发有限公司推出的中大容量的103系列芯片。作为32位MCU常用ADC模块,在各类产品中有诸多应用,比如节省I/O引脚的按键检测应用,以及各类传感器,比如光传感器、湿度传感器、温度传感器等,把各种各样的模拟信号转换为电压、电流信号,ADC模块通过对该电压、电流信号的精确测量,实现MCU对外部世界的精确感知,从而实现对应用的精准控制。

HK32F103x/C/D/E的ADC的功能描述:

12 位 ADC 是一种逐次逼近型模拟数字转换器。它有多达 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。

模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。

ADC 的输入时钟不得超过 14MHz,它是由 PCLK2 经分频产生。

HK32F103x/C/D/E的ADC的主要特征:

● 12 位分辨率

● 转换结束、注入转换结束和发生模拟看门狗事件时产生中断

● 单次和连续转换模式

● 从通道 0 到通道 n 的自动扫描模式

● 自校准

● 带内嵌数据一致性的数据对齐

● 采样间隔可以按通道分别编程

● 规则转换和注入转换均有外部触发选项

● 间断模式

● 双重模式(带 2 个或以上 ADC 的器件)

● ADC 转换时间:

─ HK32F103xx 增强型产品:时钟为 56MHz 时为 1μs(时钟为 72MHz 为 1.17μs)

● ADC 供电要求:2V 到 5.5V

● ADC 输入范围:VREF- ≤ VIN ≤ VREF+

● 规则通道转换期间有 DMA 请求产生。

注意:如果有 VREF-引脚(取决于封装),必须和 VSSA 相连接

外部触发转换

转换可以由外部事件触发(例如定时器捕获,EXTI 线)。如果设置了 EXTTRIG 控制位,则外部事件就能够触发转换。EXTSEL[2:0]和 JEXTSEL2:0]控制位允许应用程序选择 8 个可能的事件中的某一个,可以触发规则和注入组的采样。

注意:当外部触发信号被选为 ADC 规则或注入转换时,只有它的上升沿可以启动转换。

传感器

表 43 ADC1 和 ADC2 用于规则通道的外部触发

传感器

表 44 ADC1 和 ADC2 用于注入通道的外部触发

传感器

表 45 ADC3 用于规则通道的外部触发

传感器

表 46 ADC3 用于注入通道的外部触发图片

软件触发事件可以通过对寄存器 ADC_CR2 的 SWSTART 或 JSWSTART 位置“1”产生。规则组的转换可以被注入触发打断。

以下是HK32F103系列的功能框图:

传感器

HK32F103x/C/D/E在ADC使用过程中需要注意的地方:

问题描述:

[1]当 ADC 在常规通道采样时,使用并配置一个通道进行采样,软件启动采样,然后利用判断EOC的方式来读取采样数据,读到的数据是上一次采样的结果。

[2]当 ADC 在常规通道采样时,使用并配置多个通道采样,软件启动采样,然后利用判断EOC的方式去读取采样数据,读到的数据是上一个通道采样的结果。

根本原因:

在常规通道采样时,由于 EOC 标志置位后,数据寄存器 ADC_DR 没有被及时正确更新。ADC_DR寄存器要么是上一个采样的数据(对应上述[1]),要么是上一个通道的采样数据(对应上述[2])。

解决方案:

在读取 ADC_DR 数据寄存器之前,增加 3 个 NOP 指令。示例代码如下:

传感器

参考应用代码如下:

传感器

来源: 航顺芯片(作者:Shaodong)

审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分