百科知识

想知道ADC到底是什么吗?让我来告诉你它的全称和用途!

本文将深入探讨STM32F407微控制器中模数转换器(ADC)的核心功能与特性

①深入解析ADC的基本概念及其在系统中的应用价值

②全面分析ADC的关键性能参数以及STM32F4系列ADC的独特优势

③展示ADC系统的内部架构图

④提供对ADC系统架构的详细技术解读

⑤系统阐述ADC的工作模式与操作机制

①深入解析ADC的基本概念及其在系统中的应用价值

ADC(Analog to Digital Converter)即模数转换器,是一种关键电子设备,能够将连续变化的模拟信号转化为离散的数字信号进行处理。

ADC的主要功能包括:精确采集来自各类传感器的数据、测量电路中的电压与电流等电学参数,为微控制器提供必要的输入信息。

②全面分析ADC的关键性能参数以及STM32F4系列ADC的独特优势

ADC的性能指标主要由以下几个维度构成:

量程范围:指ADC能够测量的最大与最小电压值区间;

分辨率:通常以输出二进制代码的位数来衡量,位数越高表示能够分辨的模拟信号变化越精细,但相应的转换时间会相应延长;

转换时间:在模拟输入电压处于正常工作范围内时,从启动转换到输出稳定数字结果所需的时间;

STM32F4系列ADC的核心特性包括:

配备3个独立的ADC单元,每个通道支持12位、10位、8位或6位分辨率灵活配置;

每个ADC单元均拥有16个外部输入通道,其中ADC1额外提供两个内部ADC参考源和一个备用电池电压监测通道;

ADC转换支持单次、连续、扫描及间歇等多种工作模式;

ADC可工作于独立、双重或三重转换模式;

转换结果数据在16位数据寄存器中存储,支持左对齐或右对齐两种格式配置;

③展示ADC系统的内部架构图

④提供对ADC系统架构的详细技术解读

输入电压范围:由基准电压VREF+、VREF-、电源电压VDDA及模拟地VSSA共同决定,在硬件设计时通常将VREF-与VSSA连接,而VREF+与VDDA连接至3.3V电源,从而形成0-3.3V的标准输入范围;若需测量超出此范围的电压,可通过外部电压缩放电路进行信号调理;硬件电路设计时,一般将VREF-与VSSA连接至地线,同时将VREF+与VDDA连接至3.3V电源,从而确保ADC的输入电压范围覆盖0-3.3V;当实际测量需求超出此范围时,可通过外部硬件电路如分压器或放大器将输入电压转换为适合ADC处理的范围;

输入通道配置:每个ADC单元均配备16个外部输入通道,而ADC1相较于其他两个ADC单元额外提供3个专用通道,用于测量芯片内部温度、内部电压以及备用电池电压等特殊参数;ADC1特有的三个内部通道提供了额外的测量能力,包括芯片温度监测通道、内部参考电压监测通道以及备用电池电压监测通道,这些通道为系统诊断与校准提供了便利;

转换顺序控制:规则通道组遵循预设的转换序列依次执行,具体的转换顺序可通过ADC_SQRx寄存器配置,总转换通道数量在ADC_SQR1寄存器中设定;注入通道组支持非顺序转换,即可以插队执行;规则通道组按照既定的转换顺序进行数据采集,转换顺序由ADC_SQRx寄存器配置,总转换数量由ADC_SQR1寄存器设定;注入通道组则支持非顺序转换,可以在规则通道转换期间插入执行,提供了更高的灵活性;

转换时序控制:采样时间加上12个ADC时钟周期构成完整的转换过程,采样阶段在数个ADC时钟周期内完成,采样周期可通过ADC_SMPR1与ADC_SMPR2寄存器中的SMP[2:0]位调整;ADC时钟由PCLK2经过预分频器产生,分频系数在ADC_CCR寄存器的第16、17位选择;ADC的转换时序包括采样阶段和转换阶段,采样时间可通过ADC_SMPR1、ADC_SMPR2寄存器中的SMP[2:0]位进行配置,以适应不同输入信号的要求;ADC时钟由系统时钟PCLK2经过预分频器产生,预分频系数可在ADC_CCR寄存器的第16、17位进行设置,从而影响转换速度与精度;

数据寄存器:ADC采用统一的32位数据寄存器ADC_DR,其中16位为有效数据位,转换结果最多12位,支持左对齐或右对齐存储格式,具体配置在ADC_CR2寄存器的第11位;规则通道组数据寄存器单一,转换完成后需及时读取数据,否则新数据将覆盖旧数据,可使用DMA方式进行数据传输,避免数据丢失;ADC的数据寄存器ADC_DR为32位宽,其中仅16位为有效数据位,转换结果最多12位,可根据需要选择左对齐或右对齐存储格式,具体配置在ADC_CR2寄存器的第11位;由于规则通道组只有一个数据寄存器,因此转换完成后必须及时读取数据,否则新转换结果将覆盖旧数据,为提高数据传输效率,可使用DMA(Direct Memory Access)方式进行数据传输,避免数据丢失;

中断功能:ADC支持多种中断类型,包括转换结束中断、模拟看门狗中断以及溢出中断;ADC支持多种中断类型,包括转换结束中断、模拟看门狗中断以及溢出中断,这些中断功能为系统提供了实时响应机制;

转换结束中断:规则通道和注入通道在完成数据转换后均可触发中断;

模拟看门狗中断:当ADC转换的模拟电压低于低阈值或高于高阈值时触发中断;

溢出中断:当DMA传输过程中发生数据丢失时,ADC_SR寄存器的OVR位会被置位,若同时使能了溢出中断,则在转换结束后会触发溢出中断;

DMA请求:规则通道和注入通道在完成转换后,除了触发中断外,还可产生DMA请求,将转换结果直接存储到内存中;

7、触发源:ADC支持软件触发和外部事件触发两种模式,软件触发由ADC_CR2寄存器的ADON位控制,为1时启动转换,为0时停止转换;外部事件触发包括内部定时器触发和外部IO触发,具体触发方式由ADC_CR2的EXTSEL[2:0]和JEXTSEL[2:0]位控制

⑤系统阐述ADC的工作模式与操作机制

单次转换模式:ADC执行一次转换后停止工作,适用于需要单次测量的场景;单次转换模式:ADC仅执行一次转换,适用于单次测量场景;在CONT位为0时,可通过以下方式启动单次转换:

在ADC_CR2寄存器中设置SWSTART位为1,仅适用于规则通道;

将JSESTART位设置为1,仅适用于注入通道;

使用外部触发信号,适用于规则通道和注入通道;

完成所选通道的转换后,数据存储在16位数据存储器中,若为规则通道,转换结束后EOC位会被置位,若EOCIE位也置位,则会产生中断;若为注入通道,转换结束后JEOC位会被置位,若JEOCIE位也置位,则会产生中断,随后ADC停止工作;

连续转换模式:ADC连续执行多个转换,适用于需要持续监测的场景;连续转换模式:ADC在完成一个转换后立即启动下一个转换,适用于需要连续监测的场景;在CONT位为1时,可通过外部触发或ADC_CR2寄存器中的SWSTART位启动连续转换(仅适用于规则通道);如果转换的是规则通道组,上次转换的数据会保留在数据寄存器中,EOC位会被置位,若EOCIE位也置位,则会产生中断;注入通道不支持连续转换;

扫描模式:不连续采样模式: