32-ADC的寄存器

目录

stm32-adc通过比较获取电压原理

为什么会分注入组和规则组?

“ECO"是指"Engineering Change Order”,即工程变更指令。

双ADC的不同模式以及为什么会有这个模式:

同步注入模式:

同步规则模式:

快速交叉模式:

慢速交叉模式 

交替触发:

间断模式:

独立模式:

为什么adc的采样周期要加12.5个周期?


stm32-adc通过比较获取电压原理

Sigma-delta(Σ-Δ) ADC原理的理解(学习笔记自用) - 知乎 (zhihu.com)

为什么会分注入组和规则组?

        STM32系列微控制器中的ADC(模数转换器)模块之所以分为规则组(Regular Group)和注入组(Injected Group),是为了满足不同的应用需求和提供更灵活的数据采集功能。

规则组和注入组在ADC采样期间可以并行工作,以实现同时采样多个信号的能力。它们具有以下特点和应用:

  1. 规则组(Regular Group)://共用一个寄存器,采集多了会覆盖数据,支持dma
    规则组是主要的采样组,用于常规数据采集。它允许配置一组常规的模拟输入通道,并具有灵活的触发方式,例如软件触发、外部触发或定时触发。规则组经常用于监测常规模拟输入,如传感器信号、模拟电压等。通过规则组,可以配置多个通道按照一定的采样顺序进行采样。

  2. 注入组(Injected Group)://不支持dma,有四个独立的寄存器 。
    注入组用于辅助规则组进行特殊的采样,例如触发电平突变、脉冲宽度测量等应用场景。注入组允许配置一个单独的输入通道,可以在规则组采样过程中额外触发一组注入通道的采样。注入组的触发方式可以是外部触发或软件触发,具有更高的优先级,可以更灵敏地检测特定的事件或特征。

        通过分组规则组和注入组,STM32 ADC模块提供了灵活的数据采集解决方案,适用于不同的应用需求。规则组用于常规的模拟输入采样,而注入组则用于特殊事件或特征的敏感采样。这种分组能力使得STM32微控制器在实时数据采集和处理方面具有更高的灵活性和功能性。

“ECO"是指"Engineering Change Order”,即工程变更指令。

在硬件设计或产品开发过程中,工程变更指令(ECO)是针对原始设计或产品的修改或改进指令。ECO通常由设计团队、工程师或产品开发团队提出,目的是解决设计错误、性能改进或其他需求变更。

ECO可以涉及电路图修改、原理图修改、布局修改、元器件更换或其他设计相关的变更。它可以包括添加、删除或修改电路组件、调整信号路线、更改引脚分配、调整元器件封装、修改布局等。

ECO是设计过程中的一个重要环节,它使得在设计已经开始或完成后可以进行有限的变更,而无需重新开始整个设计流程。这样可以在既定的设计进度内及时响应需求变更,修复问题或改进设计。

总之,ECO是工程变更指令,用于对原始设计或产品进行修改或改进,以满足设计要求或修复问题。它对于增加灵活性和效率在产品开发过程中起着重要作用

双ADC的不同模式以及为什么会有这个模式:

同步注入模式:

同步注入模式中的"同步"意味着在规则转换开始时,注入转换会以相同的时间开始。换句话说,当进行规则转换时,注入转换也会同时开始。这种同步注入模式可确保规则转换和注入转换之间的时间关系始终保持一致,从而使两个转换组的数据采集能够满足特定的应用需求。

转换完成后会有jeco中断。

注:
在同步模式中,必须转换具有相同时间长度的序列,或保证触发的间隔比 2 个序列中较长的序列
长,否则当较长序列的转换还未完成时,具有较短序列的 ADC 转换可能会被重启。

同步规则模式:

ADC1和ADC2同时扫描相同数量的通道(不能同一时间扫描同一通道)。

快速交叉模式:

32-ADC的寄存器_第1张图片

这个模式一般来说扫描同一个通道,这么设计就是为了在同样长的时间里多扫描几次这个通道。

慢速交叉模式 

和快速交叉模式差不多但是它能自动启动新的转换

32-ADC的寄存器_第2张图片

交替触发:

就是怕你短时间来2次触发顾不过来 ,这样操作可能会导致2个adc采集同一个通道,但为什么文档里不写提示呢?

采集的是1 2 3 4注入通道不会重复

他这个触发触发谁触发?外部

32-ADC的寄存器_第3张图片

间断模式:

就是把所有通道分开来测量,例如:每一次中断测量3个通道,直到测量完所有通道并触发ECO中断后再来中断继续测量。

注入组中断同理,注入组在完成后会触发一个ECO中断。

独立模式:

就是独立

ADC 状态寄存器 (ADC_SR) :这个寄存器所有参数都是由硬件拉起来,软件放下。

为什么adc的采样周期要加12.5个周期?

        在STM32系列微控制器中的ADC模块中,有一个称为"采样时间"(sample time)的参数,它规定了每次ADC转换的采样时长。对于大多数ADC配置,需要将ADC的采样时间设置为至少12.5个时钟周期。
        采样时间是指在进行每次模数转换之前,ADC模块将输入信号采样并保持的时间。这是为了确保ADC采样电容充分充电以稳定输入信号的准确采样。
在ADC的采样过程中,采样时间需要考虑转换电容的充电时间以及信号源的内阻。如果采样时间不足,可能导致不准确的转换结果,特别是当输入信号频率较高或输入阻抗较大时。
为了确保足够的采样时间,常见的做法是将ADC的采样时间设置为最小值加上几个时钟周期的延迟。在STM32系列微控制器中,一般建议将采样时间设置为至少12.5个时钟周期,以提供足够的稳定采样时间。
        需要注意的是,这个值可能会因不同的微控制器系列和ADC模块的具体实现而有所不同。因此,具体的采样时间要参考相应的微控制器参考手册或数据表,以确保正确配置和采样精度。
总结而言,将ADC的采样时间设置为至少12.5个时钟周期是为了确保足够的稳定采样时间,以确保准确的模数转换结果,并避免因采样时间不足而引起的问题。

你可能感兴趣的:(adc)