STM32 内部ADC方式_解释(AN2834)

本为引用了ST应用笔记 :AN2834文档

电源部分处理
最小化与ADC外部环境相关的ADC误差参考电压/电源噪声最小化电源侧线性调节器在噪声方面有更好的输出。主电源必须降下,整流和过滤,然后馈送到线性调节器。强烈建议将滤波电容连接到整流输出。请参阅所使用线性调节器的数据表。如果您使用的是开关电源,建议有一个线性稳压器来供应模拟级。建议在电源线和地线之间连接高频特性好的电容器。也就是说,一个0.1 uF和一个1 ~ 10 uF的电容应该放在靠近电源的地方。电容器允许交流信号通过它们。小值电容器滤除高频噪声,高值电容器滤除低频噪声。陶瓷电容器一般都是小值(1pf到0.1 uF)和小电压额定值(16v到50v),建议把它们放在靠近主电源(VDD和Vss)和模拟电源(VDDA和VSSA)引脚的地方。它们过滤了PCB轨道中产生的噪声。小电容可以快速反应电流冲击和放电快速快的电流要求。钽电容器也可以与陶瓷电容器一起使用。为了过滤低频噪声,你可以使用高值电容器(10 uF到100 pF),通常是电解的。建议把它们放在靠近电源的地方。

为了滤除高频噪声,可以使用与电源串联的铁氧体电感。这种解决方案导致非常低(可以忽略的)直流损耗,除非电流很高,因为电线的串联电阻很低。然而,在高频率下,阻抗是高的。电感必须足够小,不限制电源引脚的高电流峰值要求。与解耦电容一起的电感是LC电路,如果由于消耗(bn VDDA, VDD, VREF+)的变化导致解耦电容出现快速压降,就会开始振荡。振荡可能需要更多的时间,并影响ADC测量(转换过程中VREF+振荡)。为了抑制这些振荡,建议使用小的电感和在高频有损耗的铁氧体铁芯(阻抗的电阻特性)。STM32单片机的一面在大多数STM32微控制器中,VDD和Vss引脚彼此靠得很近。所以是VREF+和vsa引脚。因此,电容器可以连接到非常接近微控制器非常短的引线。对于多个VDD和Vss引脚,使用单独的解耦电容。VDDA引脚必须连接两个外部去耦电容(10nf陶瓷+ 1 μF钽或陶瓷)。解耦示例参见图20和图21。对于100/144引脚封装的STM32微控制器,可以通过在VREF+上连接一个独立的外部ADC参考电压输入来提高低压输入的精度(参见4.2.5节)。VREF+上的电压范围从2.4 V到VDDA。如果VREF+上施加一个独立的外部参考电压,则必须在此引脚上连接两个10nf和1uf电容。在所有情况下,VREF+必须保持在2.4 V和VDDA之间

参考电压/电源调节由于ADC使用VREF+或VDDA作为模拟参考,数字值是模拟输入信号与该电压参考的比值,因此电源应具有良好的线路和负载调节能力。因此,VREF+必须在不同的负载下保持稳定。每当接通电路的某一部分而增加负载时,增加的电流一定不能引起电压下降。如果电压在较宽的电流范围内保持稳定,则电源具有良好的负载调节能力。例如,对于LD1086D2M33稳压器,当VIN从2.8 V到16.5 V(负载= 10 mA)变化时,线路稳压器的典型稳压器为0.035%,当负载从0到1.5 A变化时,负载稳压器的稳压器为0.2%(详细信息请参考LD1086系列数据表)。线路调节值越低,调节效果越好。同样,负载调节值越低,电压输出的调节和稳定性越好。也可以使用VREF+的参考电压,例如LM236,这是一个2.5 V的电压参考二极管(更多细节请参考LM236数据表)。参考电压源设计必须提供低输出阻抗(静态和动态)。寄生串联电阻和电感必须最小。参考电压上的正确解耦电容位于非常接近引脚提供一个低的参考电压源阻抗。

模拟输入信号的噪声消除求平均值法平均是一种简单的技术,你可以对一个模拟输入进行多次采样,然后用软件对结果取平均值。在模拟电压不经常变化的情况下,这种技术有助于消除噪声对模拟输入的影响。平均值必须对多个对应于相同模拟输入电压的读数进行计算。确保在转换完成后的一段时间内模拟输入保持在相同的电压,否则就会将不同模拟输入对应的数字值相加,从而引入错误。在具有ADC过采样特性的STM32微控制器中,可以使用ADC硬件过采样特性进行平均。这个特性只是将给定数量的ADC原始样本的和执行为一个最终的样本。最后的这个样本可以右移,以减少多个ADC样本累积造成的位宽。所有这些操作(累加和右位移位)由硬件执行。ADC硬件过采样特性可以配置为处理多达1024个输入样本(取决于设备)。

添加外部过滤器增加一个外部RC滤波器消除了高频。不需要昂贵的滤波器来处理频率成分超过感兴趣频率范围的信号。在这种情况下,一个相对简单的低通滤波器,其截止频率fc刚好超过感兴趣的频率范围就足以限制噪声和混叠。与感兴趣的最高频率一致的采样率就足够了,通常是fc的2到5倍。构成外部过滤器的R和C的值应该符合章节4.2.4和章节4.2.8中描述的条件。

添加白噪声或三角扫描来提高分辨率该方法结合了硬件和软件技术,提高了精度。从软件的角度来看,这种方法使用了平均(过采样),从硬件的角度来看,它使用了信号修改/扩展/抖动。平均可以用于输入信号有噪声的情况(为了能够计算平均值,需要对信号进行一些改变),要求是获得信号的平均值。当输入信号是一个非常稳定的无噪声电压时,问题就出现了。在这种情况下,当输入信号被测量时,每个数据样本都是相同的。这是因为输入信号电平介于两个ADC字电平之间(例如Ox14A和Ox14B之间)。因此不可能更精确地确定输入电压水平(例如,如果水平接近Ox14A或接近Ox14B水平)。“解决方案是添加噪声或一些信号变化(均匀信号分布,如。三角扫描)到输入信号,将其电平推过1位ADC电平(使信号电平在Ox14A以下和Ox14B以上变化)。这将导致ADC结果发生变化。应用软件平均不同ADC结果,产生原始输入信号的平均值。部分STM32单片机支持硬件过采样,可以代替软件过采样。作为一个例子,该方法可以通过一个三角发生器与RC耦合到输入信号(白噪声的产生更复杂)来实现。必须注意不要修改原始输入信号的平均值(因此,必须使用电容耦合)。图22是STM32微控制器直接生成的准三角源的一个非常简单的实现

该方法通过适当选择参考电压或使用前置放大级来在ADC输出范围内获得可能的最大分辨率,从而提高精度。选择参考电压(使用专用VREF+引脚封装的设备的方法)参考电压在被测信号的预期范围内被选择。如果被测信号有偏移,那么参考电压也应该有类似的偏移。如果被测信号有一个定义的最大幅值,那么参考电压也必须有一个相似的最大值。通过将这个参考电压匹配到测量信号范围,我们获得最大可能的分辨率使用完整的ADC输出范围。在STM32微控制器封装中提供了专用的VREF+引脚,ADC参考电压连接到外部的VREF+和VREF-引脚,这些引脚必须接地。这使得匹配参考电压和测量信号范围成为可能。例如,如果测量信号在0 V和2.5 V之间变化,建议选择2.5 V的VREF+,可能使用参考电压,如LM235(详情请参阅LM235数据表)。图23说明了这些条件。

使用一个前置放大器如果被测信号太小(与ADC范围相比),那么一个外部前置放大器可能是有用的。这个方法可以在任何STM32包中实现,更具体地说,可以在没有VREF+输入的包中实现。例如,如果被测信号在0v到1v之间,将VDDA设置为3v,则可以对信号进行放大,使其峰峰幅值与VDDA值相似。然后增益等于3(参见图24中的示例)。该放大器可以根据ADC范围调整输入信号范围。它还可以在输入信号和ADC输入之间插入偏移量。在设计前置放大器时,必须注意不要产生额外的误差(如额外的偏移量、放大器增益稳定性或线性度、频率响应)。、

SAR ADC采样时间先决条件SAR ADC样本转换过程SAR ADC的采样转换过程包括两个连续的操作:采样和位转换。当这些操作完成后,样本转换结果在ADC数据寄存器(ADC_DR)中可用。当ADC转换开始时,经过TcONV的采样转换时间后,新的转换数据可用。当进行连续采集时,每个Tcony都有一个新的数据可用,它可以转换成ADC采样率。一秒内得到的样本数可以用下式计算:

下一段描述了示例转换所需的两个后续操作:1. 抽样这个操作通过给内部ADC采样电容(CADC)充电来采样模拟输入信号。此操作的持续时间为TSMPL-它取决于在ADC配置寄存器中配置的SMP参数来选择采样时间持续时间。2. 位转换此操作将存储在CADc采样电容中的模拟值转换为数字值。这次行动的持续时间是沙皇。根据ADC配置寄存器中配置的RES参数来选择ADC位分辨率。ADC采样转换时间(TcONv) =采样时间(TSMPL) +位转换时间(TSAR)ADC采样率= 1/TCONv = 1/(TSMPL +TSAR)

TSMPL和TSAR的持续时间都相对于ADC时钟周期的倍数:TSMPL持续时间:这个时间取决于SMP参数(ADC采样时间)。例如,STM32L5系列的SMP值可以为2.5、6.5、12.5、24.5、47.5、92.5、247.5或640.5 ADC时钟周期。沙皇持续时间:这个持续时间取决于RES参数(ADC位分辨率)。例如,STM32L5系列的RES值可以是6.5、8.5、10.5和12.5个ADC时钟周期,用于6、8、10和12位分辨率。ADC采样率或采样转换时间(TcoNy)可以用以下公式计算:

SAR ADC采样TSMPL和TSAR约束d。环境。TSAR更容易选择,因为它只取决于所选的ADC位分辨率(6、8、10或12位)。TSMPL更复杂,取决于各种参数:TSMPL最小持续时间取决于输入路径的外部电气元件(第3.2.7节:模拟信号源电阻的影响和第3.2.8节:PCB的源电容和寄生电容的影响):RAIN:模拟源输出阻抗CPCB或CAIN: PCB寄生电容器或模拟输入解耦/滤波电容器TSMPL依赖于内部的STM32 SAR电路(RPAR, CPAR和CADC):SAR ADC通道类型:快速、慢速、直接(参考设备数据表)内部电路参数根据封装尺寸、制造工艺、温度和供电电压水平而变化。TSMPL也因应用程序约束和功能而异:最大转换错误:t1 LSB或更高ADC分辨率(以比特表示)并发运行的adc个数

图27显示了采样持续时间随着ADC分辨率的增加而增加。它还显示了STM32 ADC模拟输入引脚上的电压变化。第一个ADC转换从O开始。对于负定时,曲线显示第一次ADC转换前的输入电压状态。

图28显示,为了获得更高的精度,采样持续时间必须增加:获得12位分辨率和t 3lsb需要23.8 ns的采样持续时间,而获得12位和t 0.5 LSB需要40.4 ns的采样持续时间。

ADC SMP参数允许将ADC采样操作的持续时间编程为给定的ADC时钟周期数。SMP可以在依赖于每个STM32系列的值列表中选择(见图29和表2)。为了匹配宽频率范围应用的要求,SMP值大约遵循对数定律。

SAR ADC采样率(TSMPL)估计方法一个数学模型是不够精确的数量参数和他们的非线性特性。只有复杂的设计模拟才能提供各种条件下最小TSMPL持续时间的非常好的估计。这种SAR ADC采样估计工具是可按需提供的。TSMPL仿真结果只是根据ADC时钟频率进行后处理和渲染,以达到所需的ADC输出数据速率。仿真工具执行以下功能:估计TSMPL与ADC频率(见图30)。给定通道的TSMPL裕度与RAIN/CAIN值或公差的可视化(见图31)该工具有助于选择正确的SMP值,以优化任何ADC频率范围的采样持续时间。它直接显示输出的数据率,是可实现的选定ADC分辨率。图30。TSMPL估计与ADC频率和迷你“SMPL持续时间的比较对于同样的RAIN/C的慢速和快速通道

外部模拟缓冲区的使用在ADC模拟输入前使用跟随放大器(缓冲器)可以降低源效应的电阻,因为放大器的高输入阻抗和非常低的输出阻抗。它将RAIN与RADC隔离开来然而,放大器引入了一个必须作为附加误差考虑的偏移误差。所使用的放大器应该提供一个小的偏移误差。放大器速度(带宽和转换速率)参数对于设计快速信号数据采集应用程序是非常重要的。放大器在跟随模式提供一个非常低的输出阻抗。然后ADC可以使用较短的采样时间。然而,需要的采样时间也必须根据放大器的速度来设计。由于其反馈(驱动输出与输入电压相同),放大器具有较低的输出阻抗。这个反馈响应有一个有限的速度,它是由使用的放大器速度定义的。当ADC开始采样时,放电的采样电容连接到放大器输出。放大器(通过它的反馈)开始通过增加输出驱动和对采样电容充电来补偿这种不平衡。输出驱动的速度取决于放大器的速度(输入变化到输出变化的传播)。所选择的ADC采样时间必须设计为放大器传播延迟的几倍长。

源频率条件与源和寄生电容?外部电容CAIN将不允许模拟输入电压与VAIN完全相同,如果电容没有被模拟源完全充电(见图16)。如果模拟输入信号发生变化,那么模拟信号频率(FAIN)应该使该模拟信号的时间周期至少为:
10 x RAIN x (CAIN + Cp)。
模拟信号时间周期= 1/晕倒我们有:TAIN >10x RAIN X1AIN + Cp)
因此:F到10xRAIN X(AIN +Cp例如:对于RAIN = 25 kΩ, CAIN = 7 pF, Cp = 3 pF,
这给出了:FAINmax10 x 25 x 10° x (7 + 3) x 10-12因此,
源的最大频率将是:FAINmax 400 kHz。
所以对于上述定义的源特性(电容和电阻),
源的频率不能超过400khz,否则ADC转换结果将不准确。

温度效应的补偿一种方法是充分描述偏移和增益漂移,并在内存中提供一个查找表,根据温度变化来校正测量。这种校准需要额外的成本和时间。第二种方法是在温度变化达到给定值时,利用内部温度传感器和ADC看门狗对ADC进行重新校准。

减少注入电流检查应用程序,以验证是否任何数字或模拟输入电压可以低于Vss或vsa -如果是这样,一个负注入电流将从引脚流动。如果数字输入接近被转换的模拟输入,对精度的影响将更大。应该避免在任何标准(非稳健)模拟输入引脚上的负电流注入,因为这将大大降低在另一个模拟输入上执行的转换的准确性。Is connected to the Internet to identify and translation.建议在vsa和I/O引脚之间连接肖特基二极管,以产生负注入电流。在lINJ(PIN)和2lINJ(PIN)指定的限制内,ADC精度不会受到正向注入电流的影响(请参阅相应的STM32数据表,I/O端口特性部分)。

最小化I/O引脚串扰通过在模拟信号上设置地轨来屏蔽模拟信号,可以降低由串扰产生的噪声。信号之间的接地建议如图33所示。

屏蔽技术在敏感模拟信号旁边放置地面轨道可以在PCB上提供屏蔽。两层PCB的另一侧也应该有一个地平面。这可以防止干扰和I/O串扰影响信号(见图34)。来自遥远位置(如传感器)的信号应使用屏蔽电缆连接到PCB。在PCB上,应该注意最小化这类信号的路径长度。屏蔽层不应用于将传感器或模拟源的地面参考信号传输到微控制器。应该用一根单独的电线接地。屏蔽只应在靠近接收机的一个地方接地,如微控制器的模拟地。在屏蔽的两端(源端和接收端)接地可能会导致产生接地回路,其结果是电流流过屏蔽。在这种情况下,屏蔽就像天线一样,屏蔽的目的就失去了。屏蔽的概念也适用于金属底盘的接地。它还有助于消除EMI和EMC干扰。在这种情况下,电源接地是用来屏蔽底盘。同样,直流接地也可以在没有接地的情况下用作屏蔽。

PCB布局的建议分离模拟和数字布局建议将PCB上的模拟电路和数字电路分开(见图35)。这也避免了轨道交叉。携带数字信号的轨道由于耦合可能会在模拟信号中引入高频噪声。数字信号由于切换速度快而产生高频噪声。电容性的耦合是由于金属连接(轨道)被PCB基板(玻璃、陶瓷或塑料)提供的介质隔开而形成的。模拟地面和数字地面建议使用不同的平面。如果有很多模拟电路,那么建议使用模拟接地面。模拟地必须位于模拟电路下面。

分离模拟电路和数字电路电源在微控制器外部有大量模拟和数字电路的情况下,最好有独立的模拟和数字电源(见图36)。根据STM32封装,可以提供不同的模拟和数字电源和接地引脚。VDDANREF+和VDD引脚可以从单独的电源供电。如果你为数字电路使用开关型电源,那么你应该为模拟电路使用单独的线性电源。此外,如果你希望直流电源由于I/O开关等产生很多噪音,最好为模拟电路使用一个单独的电源。也建议将模拟地面和数字地面连接到星形网络中。这意味着您必须只在一个点上连接模拟和数字地面。这可以防止由于数字信号切换而在模拟电源电路中引入噪声。这也可以防止电流涌影响模拟电路。

使用单独的PCB层的供应和接地两层多氯联苯对于两层pcb,建议提供最大的接地平面面积。电源(VDD, VDDA)应穿过厚道。如果两层具有相同的地面信号,可以在重叠区域通过多个连接将两层的地面短接在一起。未使用的PCB区域可作为地平面。另一个约定是将一层未使用的PCB区域连接到正电源(VDD),另一层未使用的区域连接到接地。其优点是降低了功率和地面信号的电感。PCB上为地面提供的最大接地面积,具有良好的屏蔽效果,降低了电路的电磁感应敏感性。多层多氯联苯在可能的情况下,尽量使用多层PCB,并在PCB上使用单独的层作为电源和接地。各种设备的VDD和Vss引脚可以直接连接到电源平面,从而减少了电源与地面连接所需的轨道长度。长轨道有很高的诱导效应。模拟地可以在某一点连接到这个接地面上。如果是,则应靠近电源。全地平面可以提供良好的屏蔽,降低电路的电磁感应率。单层多氯联苯采用单层pcb,节省成本。它们只能在连接数量非常有限的简单应用程序中使用。建议用地面填充未使用的区域。跳线可以用来连接PCB的不同部分。

组件放置和路由在PCB上放置元件和路由信号轨迹,以屏蔽模拟输入。像电阻和电容器这样的元件必须用非常短的引线连接。您可以使用表面安装设备(SMD)电阻和电容。为了解耦的目的,可以将SMD电容放置在靠近微控制器的地方。采用宽轨供电,否则轨串电阻会导致电压下降。事实上,狭窄的电力轨道有一个不可忽略的有限电阻,因此通过它们的高负载电流将导致电压降。石英晶体必须被地面轨道/平面包围。在晶体下方的两层PCB的另一侧,最好被地平面覆盖。大多数晶体都有一个应该接地的金属体。你也应该把晶体靠近微控制器。你可以使用表面安装的晶体。

提高精度的软件方法平均样本:平均速度会降低,但可以提高精度数字滤波(DC值的50/ 60hz抑制)设置适当的采样频率(计时器的触发在这种情况下是有用的)。对采样数据进行软件后处理(如50hz噪声梳状滤波器及其谐波抑制)。快速傅里叶变换(FFT)用于交流测量这种方法可以显示被测信号中的谐波部分。由于使用了更多的计算能力,所以速度较慢。ADC校准:偏移量、增益、位权校准ADC校准降低内部ADC误差。但是,必须知道内部ADC结构。降低CPU内部噪声必须设计应用程序在ADC转换过程中使用最小的来自微控制器的干扰。在采样和转换过程中减少数字信号的变化(数字静音)。

平均样本该方法的原理是提高ADC精度,但降低ADC转换速度(过采样)。如果被测模拟信号产生不稳定的ADC值,则可以通过对一组值求平均,得到给定输入信号的平均值。变化可以由信号噪声或微控制器本身产生的噪声引起(高速数字信号电容耦合到模拟输入信号)。平均是通过选择适当数量的样本来进行平均的。这个数字取决于所需的精度、最小转换速度和其他ADC误差的程度(如果另一个误差对ADC精度的影响较大,那么增加平均值的数量对总测量精度没有影响)。在一些STM32微控制器中,可以使用硬件过采样特性进行平均:ADC根据可配置的参数(采样到平均的数量和结果的右位移)进行内置的硬件平均。平均的优点是在不改变任何硬件的情况下提高ADC的精度。缺点是转换速度较低,频率响应也较低(相当于有效采样频率的降低)。

数字信号滤波该方法采用数字信号处理技术。原则上,平均也是一个具有特定频率响应的简单数字滤波器。然而,如果已知噪声频谱,可以设计一个数字滤波器,使噪声影响最小化,并使ADC频率响应最大化。例如,如果被测信号中的噪声是来自50 Hz电线,然后一个适当的数字滤波器抑制只有50赫兹频率,并将数据信号没有这个噪声这种方法的缺点是,它需要合适的单片机的处理能力和资源:CPU速度和数据/程序内存使用情况。

用于交流测量的FFT在某些特定的情况下,应用程序需要知道给定频率的交流信号的振幅。在这种情况下,交流信号的有效值也可以通过使用相对较慢的采样速度(相对于测量的信号频率)来获得。例如,当测量一个交流市电信号(接近窦波面且谐波含量相对较低)时,选择一个比市电频率(50hz)大32倍的采样频率就足够了。在这种情况下,可以得到高达15阶的谐波。主信号中第15次谐波的振幅非常小(下一阶谐波可以忽略)。将各次谐波的有效值与总交流谐波值相加,可以得到较高精度的市电信号有效值:=2+…+ -因此,如果15次谐波的振幅仅为1次谐波(50 Hz)的1%(0.01),那么其对总有效值的贡献将仅为0.01%(因为上述方程中的平方加法给出:0.012 = 0.0001)。因此,该方法的原理是对已知频率的交流信号进行采样,然后对每个被测周期的FFT进行后处理。因为每个被测信号周期的采样点数量很小(例如32个点),那么FFT处理所需的性能就不那么高(例如只有32个点的FFT)。该方法适用于低失真交流信号的测量。缺点是它需要精确的信号采样:被测信号的频率必须已知,ADC采样频率必须精确设置为被测频率的2米乘法器。输入信号的频率用另一种方法测量。通过编程预分频器和MCU主时钟选择来调整ADC采样频率(如果使用不准确的时钟进行采样,可以使用插值来获得所需点的采样)。

ADC校准这种方法需要了解ADC内部结构,以及如何在微控制器内实现ADC转换器。这对于设计ADC实现的物理/数学模型是必要的。一个适当的物理模型(通常是一个原理图)被用作数学描述的基础。从数学模型中,模型中的每个元素都可以通过一组方程得到(例如,代表比特权值的电阻/电容值)。要解这些方程,就必须进行一组实际的测量,并得到一组可解的方程。根据模型的实测值和数学计算,可以将模型元件(电阻、电压、电容、…)的所有已知值放入原理图中。这样,就可以得到具有给定微控制器实际值的ADC原理图,而不是具有设计值的ADC原理图。计算出的模型参数校准后存储在单片机内存中,用于后处理校正ADC值。

降低内部CPU噪音CPU工作时,产生大量的内部和外部信号变化,这些变化通过电容耦合传递到ADC外围设备。这种干扰影响ADC精度(由于不同的微控制器操作而产生的不可预测的噪声)。为了尽量减少CPU(和其他外设)对ADC的影响,有必要尽量减少采样和转换期间的数字信号变化(数字沉默)。这是使用以下方法之一(应用于采样和转换时间):最小化I/O引脚的变化最小化内部CPU更改(CPU停止,等待模式)停止不必要的外围设备的时钟(定时器,通信…)

高阻抗源测量本节介绍STM32 ADC在使用高内阻信号源时的ADC测量特性。它解释了如何设计应用程序以达到所要求的精度,并提供了解决方案。

ADC输入级问题嵌入在STM32器件中的ADC是一个开关电容ADC。开关电容器也可作为采样电容器(详细说明请参阅2.1节)。当信号来自内部阻抗高的电压源(例如150 kΩ)时,测量结果中会出现额外的误差。在ADC输入引脚上也观察到误差信号,如图39所示(如果电压源为零电压:Uin = 0V, Rin = 150 kΩ, Cext = 0pf):

对行为的解释解释这个额外的引脚噪声和额外的测量误差(在使用高内部阻抗的信号源的情况下)来自内部ADC结构:它的输入采样电路。图39显示了输入级(采样和保持电路)的简化示意图。图39。ADC简化的输入级采样和保持电路原理图ADC输入Cshai17905b转换过程中ADC输入引脚上的尖峰(噪声)与采样开关(S1)有关。如果开关关闭,一些电荷(来自样本和保持电容Csh或由其他效应引起)被转移到输入引脚。然后这个电荷开始通过源阻抗(Rin)放电。当开关S,被打开时,放电过程在采样时间(ts)结束时结束。剩余的未放电电压保持在电容器Csh上,ADC测量该电压。如果采样时间(ts)太短,剩余电压不会降至0.5 LSB以下,ADC测量显示额外的误差。图40说明了这个过程。

减少额外的错误高阻抗源的解决方案为了解决附加误差问题,可以通过在MCU固件中配置ADC设置来增加采样时间(Ts),使Csh电荷通过源阻抗Rin放电。时间常数(Rin x Csh)是选择采样时间的参考。为了计算采样时间周期,请使用以下公式(最大误差为1/2 LSB,请参见4.2.6节):如果达到了采样时间(Ts)设置的最大寄存器值,而问题仍然存在,则需要一个更复杂的解决方案,该方案也适用于内部阻抗超高的源的测量(参见章节:超高阻抗源的解决方案)。注意,在这个应用中,你必须不仅考虑内部采样“电容,而且还要考虑任何外部寄生电容(与Cext并行),如引脚电容或PCB路径电容。不要添加任何外部电容(Cext)输入引脚时,应用上述工作区。它的容量将增加时序常数(Rin x Csh II Cext)和问题将继续存在。

超高阻抗源的解决方案这种解决方案结合了硬件和软件的变化。硬件变化硬件的改变包括在输入引脚上增加一个大的外部电容(Cext)。连接到输入引脚的容量大小必须达到使内部采样容量Csh放电到外部电容Cext的值,而不会使Cext上的电压增加到超过0.5 LSB。例子如果内部电容(Csh = 16 pF)充到满量程(Umax,相当于4095 LSB),则外部电容Cext必须在Csh放电后以最高0.5 LSB电压水平(Ulsb)充电。Cext的能力将是:马克斯= 16 pf。4095h0.5- = 131 nf伊斯布这里选择的最接近的较大标准值是:Cext= 150 nF。如果在采样前,内部采样电容Csh未充到满电压范围(4095电平),则可通过替换上式中的“4095”计算出Cext值。在ADC输入通道切换的情况下,使用4095电平进行计算也可以得到精确的测量结果(在之前的测量中,Csh是由不同的ADC输入产生的)。这种硬件解决方案的一个副作用是必须考虑到Cext的周期性收费。每个ADC转换将电荷从Csh传输到Cext——如上所述,一次传输将Cext的电荷收取在0.5 LSB以下,但如果在两次转换之间没有释放,更多的传输可以将Cext的电荷收取到更大的值。图42显示了该场景的一个示例,其中ADC测量执行得更快。

软件变更上述副作用可以通过软件解决。我们的目标是创建一个延迟,以便让Gext通过Rin放电(不经常测量),从而在ADC转换之间提供足够的“放电时间”。“放电时间”tc等于Csh向Cext转移的电荷(充电)和Cext向Rin转移的电荷(放电)。假设Cext>> CshOcharging = sh = Csh- UmaxQdischarging也地点:Uisb……0.5 LSB电压等级Umax。4095 LSB电压等级(最坏情况)充电=放电Csh——Umax对上述公式进行简化,得到转换之间所需等待时间的最终公式:c =-(Rin- Cex) in [1]如果需要精确的Uisb,那么最后的公式显示了外部电容Cext和两个转换之间所需的等待时间之间的依赖关系。从相同的公式中,您可以看到对数中的参数必须为正,因此有一个条件可以满足Cext的最小值可以axoUmax Fext UisbUmaxGext > Csh Uisb选择较大的Cext会减少转换之间的时间(tc)。

超大的Gext (Cext>>Cah U)使采样更频繁。然而,Cexe的增加限制了测量信号的频率带宽(增加了“extemar’timing constant Rin - Cex)。下面的公式显示了如何选择最佳的Cext值:信号带宽与采样时间的相关性。信号带宽的特征是一个“外部定时常数,因此最优的解决方案是在t期间对Cex充电(林盖克斯特)= e(Rn- Ca) -(Rn- con)-n11 - (1 ae- 1-nUna经过简化,我们得到了最优Cext的最终公式马克斯一个!单电子1,58 - Cn转换之间对应的等待时间:e = - (Rin-Ce) - [1 - = (R - C)实际上,固件不能在连续模式下对ADC进行编程,而只能在单模模式下,并且必须确保在转换之间有一个持续时间等于tc的时间间隔。等待时间的增加是软件更改,必须与硬件更改一起应用(添加一个外部电容Cexa)。在软件中没有tc等待时间的实现(例如,在第一个转换之后的循环调用),外部电容Cext将从Csh电容循环充电。经过许多周期后,Cext上的电压将达到一个相当高的误差值(如图42所示)。STM32L1 ADC的实际实现示例如下:Gsh=16 p…模数转换器属性R = 150k.... 信号源的财产

描述问题的来源- ADC设计以下部分列出了内部采样电容器c充电的一些可能原因,这不是一个详尽的列表;这里只提到ADC设计的主要可能来源。

寄生开关电容效应ADC采样电路内部的采样开关(见图39)不理想。实际上,采样开关和手持开关(S,)被设计成2个晶体管(PMOS和NMOS,见图43):

寄生开关电容效应ADC采样电路内部的采样开关(见图39)不理想。实际上,采样保持开关(Sy)被设计成2个晶体管(PMOS和NMOS,见图43):

开关由晶体管的栅电压控制(PMOS晶体管上的倒置信号)。本设计是一个标准的双向开关(用于输入Uin电压的轨到轨范围)。这两个晶体管在栅极和源极之间都有寄生电容。如果这些电容被充电(靠近开关),那么它们的电荷可以转移到采样电容(见图44)。

采样电容内部充电在转换过程(ADC的SAR类型的逐次逼近过程)之后,采样和保持电容Csh可能被充电到某个电压。原因可能是:在下一次转换前,当ADC结构切换回默认状态时,会有一些漏电流传给Csh (ADC结构内部寄生电流,见图45),剩余电荷从开关转移出来其他原因(与ADC内部寄生结构有关)

你可能感兴趣的:(stm32,嵌入式硬件,单片机)