STM32F103(一):ADC

前言

将模拟量转换为数字量的过程称为模数(A/D)转换,完成这一转换的器件叫模数转换器(ADC),将数字量转换为模量的过程叫数模(D/A)转换,完成这一转换的器件成为数模转换器(DAC)。
可以去看看刘凯老师的课:https://www.bilibili.com/video/BV1at411K74k/?p=52&spm_id_from=pageDriver&vd_source=9385b7f8c739b9e3ef3f21ddaebd2eb9

总结

  1. STM32的ADC通常最大精度是12位,使用时也可以配置成10位、8位或6位等。精度会影响转换速度和数据计算。
  2. STM32中ADC的时钟通常由PCLK2(ABP2外设时钟)分频得来,在 STM32F405RG 中最大可以达到36MHz。
  3. ADC每处理一次数据分为 采样 和 转换 两个过程。 采样时间可以配置,比如 STM32F405RG 中最小为3个ADC时钟周期;转换时间和精度有关,12位精度下为12个ADC时钟周期、10位精度下为10个ADC时钟周期,依此类推。**每采样一个数据所需的时间为 (采样周期 + 转换周期) / ADC时钟频率。**比如当ADC时钟频率为30MHz,采样周期选最小值3,精度为12位时,每处理一次数据耗时为 (3+12)/30/1000000 (秒) = 0.5微秒
  4. 引脚数量大于等于100的封装上通常会有 VREF 引脚,ADC可转换的电压不大于 VREF 上的电压;引脚数量小于100的封装其 VREF 直接就是在芯片内部连接到 VDDA 的。
  5. ADC工作最后得到的数据换算成真实电压的时候主要和 VREF 以及精度有关。比如12位精度下 真实电压 = 数据 * VREF / (4096 - 1) ,10位精度下 真实电压 = 数据 * VREF / (1024 - 1) ,依此类推。ADC因为工作原理关系本身有1个分辨率的误差;单片机在除以4096、1024等这些数值的时候可以用右移的方式提高效率。所以通常可以不要 -1 ,即12位精度下 真实电压 = 数据 * VREF / 4096
  6. STM32芯片VDD、VDDA和VREF的关系
    所以VDDA必须和VDD连接,因为系统VDD电压一般是3.3V,所以导致ADC的VREF参考电压只能是3.3V。
  7. HAL库对很多外设的使用设计了 轮询 、中断 、DMA 三种方式。STM32的ADC采样转换有 单次 / 连续 转换模式 。另外每个ADC每次处理时只能处理一个通道,所以多通道时还涉及 扫描 模式 。
  8. STM32的ADC还有规则转换(Regular)和注入转换(Injected),注入就相当于在正常规则转换过程中插入中断,优先进行注入转换
  9. stm32 ADC的使用
    HAL库ADC的使用
    https://blog.csdn.net/Naisu_kun/article/details/121532288
    固件库ADC使用
    https://blog.csdn.net/weixin_43002939/article/details/124447899

数据采集系统

数据采集系统由模拟信号采集,ADC,数字信号处理三大部分组成。
请添加图片描述
AD上传感器器转换后的信息一般为电压,电阻等电学量。
请添加图片描述

A/D转换原理

A/D转换包含采样保持和量化编码两个内容。一般AD转换的时间在us级别。
采样后得到的样点幅值转换为数字量,即为量化,编码的过程。
请添加图片描述

A/D转换器的主要参数

STM32的分辨率一般是12位
请添加图片描述

STM32 ADC的一些配置

请添加图片描述
规则组做常规,注入组做特别检测
ADC时钟(转换速率),支持ADC的GPIO引脚,中断,看门狗(监测外部量的变化而触发中断),触发器(采集频率)
请添加图片描述
请添加图片描述

扫描模式

请添加图片描述

规则组注入组

转换启动,数据寄存器
请添加图片描述

转换模式

请添加图片描述
请添加图片描述
请添加图片描述
DMA可以将数据转到SRAM里面。
请添加图片描述

ADC 寄存器

请添加图片描述
请添加图片描述

ADC实验

HAL库ADC的使用
https://blog.csdn.net/Naisu_kun/article/details/121532288
固件库ADC使用
https://blog.csdn.net/weixin_43002939/article/details/124447899

  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值