一、减小电源噪声1、电源端从噪声角度讲,线性稳压器具有较好的输出。市电经降压、整流和滤波,再经过线性稳压器。强烈建议在整流输出端连接滤波电容。请参考线性稳压器的数据手册。如果使用开关型电源,建议使用一个线性稳压器为模拟部分供电。建议在电源线和地线之间连接具有好的高频特性的电容,即在靠近电源一端应放置一个0.1μF和一个1至10μF的电容。电容允许交流信号通过,小容量的电容过滤高频率的噪声,大容量的电容过滤低频率的噪声。通常瓷介电容具有较小的容值(1pF至0.1μF),和较小的耐压(16V至50V)。建议在靠近主电源(VDD和VSS)和模拟电源(VDDA和VSSA)管脚的地方,放置这样的瓷介电容。这样的电容可以过滤由PCB线路引出的噪声。小容值的电容可以响应电流的快速变化,并快速地放电适应快速的电流变化。钽电容也可以与瓷介电容一道使用。可以使用大容值的电容(10μF至100μF)过滤低频率的噪声,通常可以使用电解电容。建议把它们放在靠近电源端。可以使用在电源线上串联铁氧体电感滤除高频噪声。因为串联的电阻非常小,除非电流非常大,这个方法可以产生非常小的(可以忽略的)直流损失。在高频时,它的电阻很大。STM32F10xxx端多数的STM32F10xxx微控制器的VDD和VSS管脚都是互相靠近的,VREF+和VSSA也是靠近的。因此可以在非常靠近微控制器的地方放置一个电容器。每一对VDD和VSS管脚都需要使用单独的去藕电容器。VDDA管脚必须连接到2个外部的去藕电容器(10nF瓷介电容+1μF的钽电容或瓷介电容)。参见图14和图15的去藕电路例子。对于100脚和144脚封装的产品,可以在VREF+上连接一个外部的ADC的参考输入电压,从而改善对输入低电压的精度(参见2.2.4节)。在VREF+上的电压范围是2.4V至VDDA。如果在VREF+上单独提供参考电压,必须在这个管脚上连接2个电容器,10nF和1μF,而且VREF+不能超出2.4V至VDDA的范围。2、电源稳压的建议供电系统应该有好的线性和负载调节特性,因为ADC模块使用VREF+或VDDA作为模拟参考,数字数值的输出是这个参考电压与模拟输入信号的比值,VREF+必须在各种负载情况下保持稳定。任何时候,不管因为开启了一部分的电路导致负载增加,电流的增加不应引起电压的下降。如果在宽的电流范围内能够保持电压的稳定,这样的电源具有好的负载调节特性。例如:LD1086D2M33电压调压器,在VIN从2.8V至16.5V的范围内(Iload=10mA)的典型线性调节是0.035%,在Iload从0至1.5A的范围内的负载调节是0.2%(详见LD1086的数据手册)。线性调节的数值越低,稳压性能越好。同样,负载调节数值越低,稳压性能越好,输出的电压越稳定。还可以使用诸如LM236作为VREF+的参考电压,这是一个2.5V的电压参考二极管(详见LM236数据手册)。3、消除模拟输入信号的噪声平均值方法平均值法是一个简单的技术,通过对一个模拟输入信号的多次采样和软件计算取平均值实现。这个技术有利于消除那些不频繁变化的模拟输入信号上的噪声。平均值法需要在一个相同的模拟输入电压上进行多次采样,保证模拟输入信号在转换完成之前,保持在相同的电压,否则模拟输入的变化将会出现在结果数值中,从而引入新的误差。增加一个外部滤波器,使用一个外部滤波器可以消除高频噪声,没有必要使用昂贵的滤波器去处理超出需要频率之外的频率分量。因此,一个相对简单的具有阻断频率fC,刚好超过需要频率的低通滤波器,可以有效地限制噪声和假波。采样速率超过最高的需要频率即可,通常为2~5倍于fC。注:组成外部滤波器的R和C数值,应该满足2.2.5节和2.2.6节的要求。4、将最大的信号幅度与ADC动态范围匹配这个方法可以通过合理地选择参考电压或使用一个前级放大器,使用ADC的全量程输出,得到最大可能分辨率,从而提高精度。选择参考电压(仅适合于100脚和144脚封装的产品)在要测量信号希望的范围内选择参考电压。如果要测量的信号有偏移,则参考电压也应该有相应的偏移。如果要测量的信号有由一个最大的幅度,则参考电压也应该有相应的最大幅值。这个参考电压与要测量信号的幅值匹配,就能够使用ADC模块的全范围输出,得到最大的分辨率。在100脚和144脚封装的STM32F10xxx产品中,ADC参考电压由外部的VREF+提供,VREF-管脚必须与地线相连。VREF+管脚为上述匹配方法提供了可能。例如:如果要测量的信号在0V至2.5V之间变化,建议选用VREF+=2.5V;可以选用LM235作为参考电压(详见LM235的数据手册),下图示范了这些条件。注:VREF+上的电压必须处于2.4V和VDDA之间。使用前置放大器如果要测量的信号太小(与ADC的测量范围相比),则最好使用一个外部的前级放大器,这个方法可以用于所有封装的STM32F10xxx产品,特别是那些没有VREF+管脚的封装。例如:如果要测量的信号变化范围是0V至1V之间,而VDDA是3V,这个信号可以被放大,使它的峰-峰幅度与VDDA的数值相同,增益为3。图17示范了这个例子。这个放大器可以把输入信号的范围转换至ADC模块的范围,它同样可以在输入信号与ADC输入之间引入偏移量。特别要注意设计这个放大器时不要引入额外的误差(如额外的偏移,放大镜增益的稳定性、线性度、频率响应等)。5、模拟信号源的阻抗计算假定最大允许的误差是1/4LSB,下面计算一下最大允许信号源的阻抗。VC是内部CADC电容器上的电压(参见图9)。这样得到:误差=VAIN–VC=¼LSB图18最差情况下的误差:VAIN=VREF+令tS是采样时间。tS=TS/fADC,其中TS是按周期计算的采样时间(1)对于给定的tS,对应VAIN=VREF+的误差大于对应VAINVREF+时的误差,这是因为把CADC从0V充电至VAIN,在VAIN=VREF+时需要比在VAINVREF+时需要更多的时间(参见图18)。因此VAIN=VREF+时是计算最大允许信号源阻抗时需要考虑的最坏情况。误差=其中:●Rmax=(RAIN+RADC)max(2)●N是ADC的分辨率(对于STM32而言,N=12)这样得到:。因此:(3)综合表达式(1)、(2)和(3),我们得到:对于TS=7.5,fADC=14MHz,CADC=12pF和RADCmax=1kΩ,在要求误差为1/4LSB时的最大允许信号源阻抗为:即:RAINmax=3.6kΩ注:使用一个跟随放大器可以减小信号源的阻抗效应,这是因为放大器具有高的输入阻抗和非常低的输出阻抗,它把RAIN与RADC隔离开来。但是,放大器引入的偏移误差必须加以考虑。6、信号源频率条件与源电容和分布电容的关系当外部电路的电容没有被模拟信号源完全充电的情况下,模拟输入信号的电压不会与模拟输入的电压VAIN相同。如果模拟输入信号产生变化,它的变化频率(FAIN)的周期至少应该满足:10xRAINx(CAIN+CP)TAIN=模拟信号的周期=1/FAIN因为:TAIN≥10xRAINx(CAIN+CP)因此:FAIN≤1/[10xRAINx(CAIN+CP)]例如:对于RAIN=25kΩ,CAIN=7pF,CP=3pF,则:FAINmax=1/[10x25x103x(7+3)x10-12]即信号源的最高频率FAINmax=400kHz。对于上述给出的信号源特性(容抗与阻抗),它的频率不能超过400kHz,否则ADC的转换结果将是不准确的。图19建议的RAIN与CAIN值与信号源频率FAIN的关系7、温度效应补偿一个方法是根据不同的温度范围,测量出完整的偏移和增益变化,再在存储器中建立一个对照表。这样的方式需要额外的费用和时间。另一个方式是当温度达到某个数值时,使用内部的温度传感器和ADC看门狗功能,重新校准。8、注入电流最小化检查你的设计,确认是否有任何数字或模拟输入可能低于VSS或VSSA,如果存在这种情况,则从这个管脚会有负的注入电流进入。如果一个数字输入靠近要进行转换的模拟输入,则注入电流会对精度产生较大影响。应该避免在任何标准的模拟输入管脚上引入负的注入电流,这会极大地减低在其它管脚上正在进行转换的精度。建议在可能产生负的注入电流的I/O管脚于VSSA之间连接一个肖特基二极管。ADC的精度不会受到正的注入电流的影响,只要它是在规定的范围内,详见相应的STM32F10xxx数据手册中,I/O端口特性部分关于IINJ(PIN)和ΣIINJ(PIN)的参数。9减小I/O脚串扰在模拟信号线的周围布置地线产生屏蔽可以有效地减小串扰干扰噪声。下图显示了在信号线之间安排地线的情况。10、降低EMI导致的噪声可以通过合理的屏蔽和布局技巧减小EMI噪声。可能的发射源必须在物理上与接收端分开,可以在电气上通过适当的接地和屏蔽把它们分开。屏蔽技术在敏感的模拟信号线旁边铺设地线连线,可以提供PCB层次的屏蔽,双层PCB的另一个边也应该有接地布线。这样可以防止干扰和I/O串扰影响信号。见图21。从远距离(如传感器等)过来的信号,应该使用屏蔽电缆连接到PCB。在PCB上应该尽量地减小这些信号线的长度。不应该使用电缆的屏蔽层连接微控制器与传感器或模拟信号源的地线,应该使用单独的地线。屏蔽层应该只在一端接地,靠近接收器的地方,例如微控制器的模拟地。在电缆屏蔽层的两端(源和接收端)都接地可能导致地线的环路,会有电流在屏蔽层流过,这时屏蔽层变成了一个天线从而失去了屏蔽的作用。这个接地屏蔽的概念同样适合于具有金属外壳的应用项目,它同样可以帮助减低EMI和EMC的干扰。金属外壳需连接到主电源的大地端,如果没有电源的大地,可以使用直流地线。11、PCB的设计建议分隔模拟与数字部分的布置建议在PCB上分隔模拟与数字线路(见图22)。同样需要避免两部分的走线交叉,经过耦合,数字信号的走线可以在模拟信号线上产生高频率的噪声。数字信号能够产生高频率的噪声是因为它的快速翻转变化。由PCB基板(玻璃、瓷介或塑料)隔离的金属连线(走线)之间,构成了耦合电容。推荐在不同的层面上安排模拟和数字地线。如果有许多模拟线路,最好使用独立的模拟地线层,模拟地线必须置于模拟线路之下。分隔模拟与数字部分的供电如果在微控制器的外围有很多的模拟和数字电路,最好能够有分隔开的模拟与数字供电(见图23)。根据STM32F10xxx的封装不同,分别拥有不同的模拟和数字供电和地线管脚,VDDA/VREF+和VDD管脚可以使用不同的供电。如果使用开关型电源给数字部分供电,则应该使用另一个线性电源为模拟电路供电。同理,如果考虑到有很多的I/O端口翻转操作从而可能在直流电源上产生大量噪声,最好也需要使用独立的电源为模拟电路供电。图23分隔模拟与数字部分的供电推荐将模拟地和数字地按照星型网络连接,即模拟地和数字地应该只在一个点相连,这样可以避免因为数字信号的翻转而产生的噪声进入模拟供电线路,同样可以避免电流的突变影响到模拟电路部分。使用不同的PCB层安排供电和地线●双层PCB对于2层的PCB,建议尽可能扩大地线布线的面积,供电线路(VDD、VDDA)应该使用普通走线。如果2层间使用相同的地线信号,可以在相交的区域通过多个连接点把2层的地线连接在一起。不用的PCB部分,可以全部铺设为地线平面。另外一种常见的做法是,在PCB的一面把未用的部分铺设为电源(VDD)平面,另一面未用的部分铺设为地线平面。这样做的好处是减小电源和地线信号间的互感。在PCB上尽可能大的地线平面可以产生好的屏蔽效果,同时有效地减小对敏感电路的电磁感应。●多层PCB在任何可能的情况下,请使用多层PCB板,并在板上为电源和地线安排不同的层。芯片上的VDD和VSS管脚可以直接地连接到供电平面,减小了电源和地线的走线长度,长的走线具有较高的感应效应。模拟地线可以在一个点上连接到这个地线平面。这时,供电走线可以非常靠近电源部分。一个完整的地线层能够提供良好的屏蔽,并减小对敏感电路的电磁感应。●单层PCB使用单层PCB可以节省成本