江科大STM32ADC学习笔记

12位逐次逼近型ADC,1us转换时间,也就是1Mhz

输入电压范围:0~3.3v,转换结果范围:0~4095,也就是12位最大能够表示的数值

STM32F103c8t6ADC资源:ADC1,ADC2,10个外部输入通道 

原理图

贴一张逐次逼近型ADC的原理图:

        原理很简单,模拟电压信号从IN1~7输入进去,经地址锁存和译码选择IN口。经过比较器与DAC输出的电压进行比较,用二分法逐渐逼近模拟电压值,在精度达到的情况下通过8位三态锁存缓冲器输出。EOC是end of convert,应该是结束标志位。

        此图才为stm32的ADC原理图,左端信号从外部信号源GPIO口或内部信号源温度传感器和V(REFINT)(内部参考电压)输入,经过模拟至数字转换器比较后得出数据,传输进数据寄存器后再进入地址/数据总线。

        注入通道数据寄存器可以一次放置4个16位数据,而规则通道数据寄存器一次只能放置一个16位数据,因此需要用DMA传输助手转移数据从而防止数据被覆盖。

        左端V(REF)与V(DDA),V(SSA)内部信号源相同。为DAC提供电压标准。

        右侧ADDCLK经ADC预分频器分频后作为时钟线进入转换器,分频后的频率不能超过14Mhz。

        上图为ADC触发条件图,要么定时器事件触发,要么软件控制位直接触发,要么EXTI外部引脚硬件触发。

        下面贴一张喜闻乐见的ADC基本结构图:

参考电压

        参考电压是这个样子的,假如你选择的参考电压是5v,你的ad是12位的,那么当你的输入电压是5v的时候你的单片机的显示应该是4096(2^12=4096),如果是0v的输入那单片机里面的值就是0 ,中间点的值成线性关系,就是说假如你的输入是m,那单片机单片机的值就是4096*m/5,这样反过来你知道了单片机的值就可以算出你的输入是多少了!

        如果你的输入信号电压大于参考电压,则需要对输入电压进行限幅,将输入电压缩小至3.3v以内,后期再处理还原即可。

AD转换的四种模式

        单次转换与连续转换的区别就是单次转换仅转换一次后便停止,连续转换则可以一直采样与转换。

        扫描模式与非扫描模式的区别是非扫描模式只有单通道,扫描模式有多通道,在所有通道都转换完成并传出数据到数据寄存器后置EOC结束标志位。

        以上两两组合变形成了四种模式。

AD转换的步骤:采样,保持,量化,编码        

        STM32 ADC的总转换时间为:TCONV = 采样时间 + 12.5ADC周期

        例如:当ADCCLK=14MHz,采样时间为1.5个ADC周期

        TCONV = 1.5 + 12.5 = 14个ADC周期 = 1μs

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值