stm32cubemx adc_ADC硬件原理和寄存器介绍

8d727f0a779e057958913402c351fb56.png

ADC硬件原理

模数转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是把经过与标准量比较处理后的模拟量转换成以二进制数值表示的离散信号的转换器。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。

如图,是把可变电阻上的电压值变换的模拟信号通过ADC转换,输出数字信号。

b92384c3eac0d9b0eb9761150644c762.png

对于数字信号我们需要得到它的几个属性

  • 用多少位来存储这个数据(假设10bit)。
  • 最大值0b111111111
  • 它对应的电压是多少伏(模拟信号输入的最大值是多少)我们就可以根据模拟信号(电压)的最大值,来计算出对应的数值。
  • 采样/转换速度。

对于程序员,我们不关心ADC的内部机制,我们只关心:

  • 怎么启动ADC
  • 启动之后怎么得到数据,总之:我们都是通过寄存器操作的。
7f4bb875092c6b448a9cb8ee5fb61b54.png

1-1-1

从图1-1-1可以看出ADC有8个多路选择器,显然,以后我们写程序的时候,我们可以8个多路选择之一,下面是编写程序要做的步骤:

  • 确定是哪一路信号:设置8:1MUX,选择要测量哪一个引脚,(看原理图选择要测量的引脚)
  • 设置工作时钟(从工作室中,可以算出转换一次,需要多长时间)
  • 启动
  • 读状态,判断ADC转换是否成功。
  • 读数据

ADC寄存器介绍

1.ADC 控制寄存器(ADCCON)

ADCCON控制寄存器,用于标志转换是否完成,控制是否使能预分频器,输入通道选择,工作模式,ADC是否启动。它的各位含义如下图所示。

4064c34759812d0f0a150864ed908b46.png

2.ADC 启动延时寄存器(ADCDLY)

ADCDLY 启动延时寄存器用于启动或初始化延时寄存器。它的各位含义如下图所示

9b9eeeb593f48f3bcb479ff91c3423ce.png

3.ADC 转换数据寄存器(ADCDAT0)

ADCDAT0转换数据寄存器,本节中只用到该寄存器的前10位(用于保存转换后的结果)。

2260852bb091cfd432f589568045af8b.png

「新品首发」STM32MP157开发板火爆预售!首批仅300套

点击“了解更多”阅读更多相关文章

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值