同德县wap网站建设公司,wordpress最大的网站,莱芜人才网招聘网,怎么查网站备案域名备案信息目录 概述
1 ADC模块标定
1.1 功能介绍
1.2 软件程序校准ADC
1.2.1 标定步骤
1.2.2 标定时序框图
1.3 软件程序重新注入校准因子到ADC
1.3.1 标定步骤
1.3.2 更新ADC校准因子
1.4 用单个ADC转换单端和差分模拟输入
1.4.1 标定流程
1.4.2 混合单端和差分通道
2 通道…目录 概述
1 ADC模块标定
1.1 功能介绍
1.2 软件程序校准ADC
1.2.1 标定步骤
1.2.2 标定时序框图
1.3 软件程序重新注入校准因子到ADC
1.3.1 标定步骤
1.3.2 更新ADC校准因子
1.4 用单个ADC转换单端和差分模拟输入
1.4.1 标定流程
1.4.2 混合单端和差分通道
2 通道可编程采样时间SMPR1, SMPR2
2.1 采样时间介绍
2.2 计算采样时间方法
2.3 采样约束
2.3.1 对采样时间的约束
2.3.2 灯泡取样模
2.3.3 灯泡模式时序图
3 采样时间控制触发方式
4 ADC时序 概述
本文主要介绍STM32G4系列MCU ADC采样标定的功能包括功能介绍标定ADC模块的类型标定步骤还介绍了ADC采样时间的相关内容。
1 ADC模块标定
1.1 功能介绍
每个ADC提供一个自动校准程序驱动所有校准 序列包括ADC的上/下电序列。在此过程中ADC 计算一个校准因子该因子为7位宽并在ADC内部应用于 直到下一次ADC断电。在校准过程中应用程序不得使用 ADC必须等待校准完成。
校准是任何ADC操作的基础。它消除了可能因工艺或带隙变化而从芯片到芯片变化 的偏移误差。
用于单端输入转换的校准因子与用于差分输入转换的 因子不同
1 在启动要应用于单端输入转换的校准之前写入ADCALDIF 0。
2 在启动要应用于差分输入转换的校准之前写入ADCALDIF 1。
然后通过设置位ADCAL 1由软件启动校准。校准只能在禁用ADC ADEN 0时 启动在所有 校准序列中ADCAL位保持为1。然后一旦校准完成硬件就会清除它。在 这个时候相关的校准因子存储在模拟ADC内部也存储在 位CALFACT_S[6:0]或CALFACT_D[6:0]的ADC_CALFACT寄存器取决于 单端或差分输入校准
如果禁用ADC (ADEN 0)则保留内部模拟校准。但是如果 ADC长时间禁用则建议在重新启用ADC之前运行一个新的校准周期 。
每次拔掉ADC的电源例如当产品进入待机或VBAT模式时 都会丢失内部模拟校准。在这种情况下为了避免花费时间 重新校准ADC可以在不重新校准的情况下将校准因子重新写入ADC_CALFACT 寄存器中假设软件先前已保存了先前校准期间提供的 校准因子。
如果ADC开启但未转换ADEN 1 ADSTART 0, JADSTART 0则可以写入校准因子然后在下一次转换开始时将校准因子 自动注入模拟ADC。这种加载是透明的不会 在转换开始时增加任何周期延迟。当VREF电压变化超过10%时建议重新校准 。
1.2 软件程序校准ADC
1.2.1 标定步骤
1 确保DEEPPWD 0, ADVREGEN 1并且ADC稳压器启动时间已经过去。
2 确保ADEN 0。
3 通过设置ADCALDIF 0单端输入或ADCALDIF 1差分输入来选择此校准的输入模式。
4 设置ADCAL。
5 等待直到ADCAL 0。
6校准因子可以从ADC_CALFACT寄存器中读取。
1.2.2 标定时序框图 1.3 软件程序重新注入校准因子到ADC
1.3.1 标定步骤
1) 确保ADEN 1, ADSTART 0和JADSTART 0启用ADC并且没有 转换正在进行。
2) 用新的校准因子编写CALFACT_S和CALFACT_D。
3) 当转换启动时只有当内部模拟校准因子与存储在单端输入通道 CALFACT_S或差分输入 通道CALFACT_D位中的校准因子不同时才会将校准因子注入模拟ADC 。
1.3.2 更新ADC校准因子 1.4 用单个ADC转换单端和差分模拟输入
1.4.1 标定流程
如果ADC要转换差分和单端输入则必须执行两次校准 一次是ADCALDIF 0另一次是ADCALDIF 1。步骤如下
1 关闭ADC
2 在单端输入模式下校准ADC ADCALDIF 0。这将更新 寄存器CALFACT_S[6:0]。
3 在差分输入模式下校准ADC ADCALDIF 1。这将更新 寄存器CALFACT_D[6:0]。
4 启用ADC配置通道并启动转换。每次 从单端到差分输入通道切换反之亦然时 校准会自动注入模拟ADC。 1.4.2 混合单端和差分通道 2 通道可编程采样时间SMPR1, SMPR2
2.1 采样时间介绍
在开始转换之前ADC必须在被测电压源 和ADC的嵌入式采样电容之间建立直接连接。这个 采样时间必须足以使输入电压源将嵌入式 电容器充电到输入电压水平。
每个通道可以用不同的采样时间进行采样这是可编程的使用 ADC_SMPR1和ADC寄存器中的SMP[2:0]位。因此可以在以下采样时间值中选择 总转换时间计算如下 2.2 计算采样时间方法
一个实例
如果采样时间配置为 2.5 ADC clock cycles ADC的模块的工作频率为30M Hz其总体的采样时间为T (2.5 12.5) ADC clock cycles 15 ADC clock cycles
换算为时间 ADC通过设置状态位EOSMP仅用于 常规转换来通知采样阶段的结束。
2.3 采样约束
2.3.1 对采样时间的约束
对于每个通道必须对SMP[2:0]位进行编程使其符合数据手册中ADC特性部分规定的最小采样时间
2.3.2 灯泡取样模
当在ADC寄存器中设置BULB位时采样周期在 最后一次ADC转换后立即开始。在ADC_SMPR1寄存器中编程采样 时间后硬件或软件触发器开始转换。在 启用ADC后执行第一次ADC转换并以SMP位编程采样时间。灯泡 模式从第二次转换开始生效。
最大采样时间是有限的参考 数据表的ADC特性部分
灯泡模式既不兼容连续转换模式也不兼容 注入通道转换。
当设置了BULB位时ADC_CFGR2中不允许设置SMPTRIG位。
2.3.3 灯泡模式时序图 3 采样时间控制触发方式
当设置SMPTRIG位时通过SMPx位编程的采样时间不适用 。采样时间由触发信号边缘控制。
当选择硬件触发器时触发信号的每个上升沿开始 采样周期。下降沿结束采样周期并开始转换。 EXTEN[1:0]位必须设置为01。没有定义上升和下降 边的硬件触发器一个脉冲事件不能在灯泡模式下使用。
当选择软件触发器时软件触发器不是ADC_CR 中的ADSTART位而是SWTRIG位。必须设置SWTRIG位才能开始采样周期必须清除 SWTRIG位才能结束采样周期并开始转换。EXTEN[1:0]位必须设置为00。
最大采样时间是有限的参考 数据表的ADC特性部分。
该模式既不兼容连续转换模式也不兼容注入 通道转换。
设置SMPTRIG bit时不允许设置BULB bit。
4 ADC时序
转换开始和转换结束之间所经过的时间是 配置的采样时间加上取决于数据分辨率的连续近似时间的总和
模数转换时间