ad和dma

1.ADC
STM32f103系列有3个ADC,精度为12位,每个ADC最多有16个外部通道。其中ADC1和ADC2都有16个外部通道,ADC3根据CPU 引脚的不同通道数也不同,一般都有8个外部通道。
项目中需要采样的电压需要11个通道,包括8个温度采样通道,1个参考电压采样通道,一个计算电流的电压采样通道,一个电池电压采样通道。
项目中使用ADC1的通道1-11,通道1-11是ADC的规则通道,所有规则通道工用一个数据寄存器,也就是说每个通道的采样数值都放到该数据寄存器中,所以多通道采样时需要用到DMA将采样值传输的RAM中。
ADC的转换时间跟ADC的输入时钟和采样时间有关,公式为:
Tconv = 采样时间 + 12.5 个周期。项目中设置 PCLK2=72M,经过 ADC 预分频器分频后时钟是 12M,采样时间如果设置为 1.5 周期(最快),那么总的转换时间(最短)Tconv = 1.5 周期 + 12.5 周期 = 14 周期 = 1.17us。
为了采样精度将电池采样通道的转换时间设为239.5个周期,其他通道采样转换时间设为55.5个周期,如果想提高某个通道的采样精度,可以修改采样转换时间。

  1. DMA
    DMA(Direct Memory Access)—直接存储器存取,是单片机的一个外设,它的主要功能是用来搬数据,但是不需要占用 CPU。
    F103系列中只有DMA1,包含7个通道,项目使用1通道-DMA1_Channel1。将DMA的外设地址设为ADC1的数据寄存器,存储器地址是RAM中的变量。数据传输方向是外设到存储器。这样ADC每次采样后,每个通道的采样数据都通过DMA直接存储到内存中的接收缓存了。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值