Skip to content

单片机篇 ​

1. 电源电路 ​

1.1 供电电路 ​

       我们目前电池供电是24v,而我们单片机芯片的供电一般是5V或者3.3V,我们现在用STM32F4的供电电压为3.3v,因而我们就得用降压电路来把24V转变为3.3v,来给芯片供电。

       所使用的一个比较好的方案是BUCK+LDO的方案,使用到的就是TPS5430和ISPX3819_3.3V。(BUCK与LDO的区别)

       当然5V转3.3V还有很多选择,比如51板上的AMS1117等。

LDO(低压差)线性稳压器与BUCK(降压型) 应用比较

       (1)高输入电压(>5V)、高输入/输出压差时,宜用BUCK;反之,宜用LDO。

       (2)输出电流>1A时,宜用BUCK;1A以内时宜用LDO。尽管LDO有3A、5A、7.5A,甚至8A的,但必须压差低,散热条件好的情况下才能达到。否则因自身功耗(压差x电流)大,升温快,易保护而关闭输出(特别在高温环境下使用时)。

       (3)LDO也有高输入电压型(28V、80V等),但其输出电流小,仅200mA左右。

       (4)BUCK的输出纹泌及稳压性不如L.DO好,因此像DSP、ARM、FPGA等内核电源(1.2V、1.5V、2.5V等)宜用LDO。当输入电压高(或输入/出压差大),且输出电流比较大时,可采用“BUCK+LDO”方案。

       (5)BUCK电路要用外部电感,体积较大,有些还要使用外部MOS管;L.DO电路则很简单,仅需1只电容即可。

       (6)BUCK的转换效率比LDO高,只有在输入/出压差很低时(<500mV),LDO的转换效率才能与BUCK接近,LDO的热温特性比BUCK差。

1.2 保险电路 ​

1.3 去耦电路 ​

       去耦(退耦)就是去耦合(Decoupling),一般使用电容实现的,故这个电容也叫做去耦电容(Decoupling Capacitor) 。

       耦合(Coupling)是指两个或两个以上的电路元件或电路网络的输入与输出之间存在紧密配合与相互影响,并通过相互作用从一侧向另一侧传输能量的现象。简单来说,就是系统A中出现的事物(信号)引起了系统B中以事物(信号)的出现或者反过来。

       故去耦就是要减轻或者减弱上述所说的耦合。

去耦电容原理

       当负载电流不变时,其电流由稳压电源部分提供,即图中的I0,方向如图所示。此时电容两端电压与负载两端电压一致,电流Ic为 0,电容两端存储相当数量的电荷,其电荷数量和电容量有关。当负载瞬态电流发生变化时,由于负载芯片内部晶体管电平转换速度极快,必须在极短的时间内为负载芯片提供足够的电流。但是稳压电源无法很快响应负载电流的变化,因此,电流I0不会马上满足负载瞬态电流要求,因此负载芯片电压会降低。但是由于电容电压与负载电压相同,因此电容两端存在电压变化。对于电容来说电压变化必然产生电流,此时电容对负载放电,电流Ic不再为 0,为负载芯片提供电流。

       简而言之,一般来说我们STM32芯片的工作频率是比较高的,IC启动瞬间或者切换频率时,会在供电导线上产生比较大的电流波动,而这个干扰信号就会传回(反馈)电源电路使其产生波动(这就是耦合)。而因为电容是一个储能元件,可以给IC提供一个瞬时电流,减弱IC产生的电流波动对电源电路的影响(这就是去耦)。

       一般来,我们要至少保证芯片IC的一个电源引脚(VDD)有一个100NF的去耦电容(通用,目前来说不用过于在意电容的容值)。但是我们也会发现我们这个100NF的电容数一般是多余芯片VDD引脚的个数。图中的L1 30R并非电感,而是磁珠。

1.4 旁路电容 ​

       旁路电容(Bypass Capacitor)

       在电子电路中,去耦电容和旁路电容都是起到抗干扰的作用,电容所处的位置不同,称呼就不一样了。

       对于同一个电路来说,旁路(bypass)电容是把输入信号中的高频噪声作为滤除对象,把前级携带的高频杂波滤除,而去耦(decoupling,也称退耦)电容是把输出信号的干扰作为滤除对象,防止干扰信号返回电源。

       如果电源电路受到干扰,一般是频率比较高的干扰信号,不做处理的画会影响到IC的正常工作状态。故我们在在靠近电源两端并联一个电容C1,电容对于直流来说是断路,对交流呈低阻态,这时,频率较高的干扰信号就会直接通过C1电容直接流回GND,而不会到IC去。

       去耦和旁路都可以看作滤波。去耦电容相当于电池,避免由于电流的突变而使电压下降,相当于滤纹波。具体容值可以根据电流的大小、期望的纹波大小、作用时间的大小来计算。去耦电容一般都很大,对更高频率的噪声,基本无效。旁路电容就是针对高频来的,也就是利用了电容的频率阻抗特性。

1.5 磁珠 ​

磁珠的作用

       (1)信号隔离的作用。

       (2)磁珠是一个耗能元件,把频率较高的信号以热量的形式耗散掉,保留频率相对较低的信号。但是,有时候磁珠会使电源纹波变大。

       有时候磁珠会使电源纹波变大。如果用0欧姆电阻代替,该现象消失。

       频率较低时,磁珠相当于一个电感(感值一般在几百纳亨)。这时,如果电源输入电路的频率较低时,就会磁珠等效出来的电感就会和电容组成LC低通滤波电路(该电路的增益如图所示)。理论上,谐振时的增益时无穷大的。如果输入信号的频率(比如BUCK电路中的开关频率)在这个谐振点频率附近就会放大这个信号,电源纹波就会因此变大。而要想避免该情况,只要让开关频率不在谐振频率就好了。

1.6 复位电路 ​

       单片机的话,要正常使用就必须要有上电复位电路(复位端NRST是低电平有效)。

       简单理解,因为单片机程序不允许从程序中间开始。某次使用后断电,你并不知道程序进行在哪个地方,故我们需要上电时复位,让程序从最开始运行。

       刚上电时,由于电容两端电压不能突变,故NRST端口电压为0(逻辑电平为0),实现上电复位。然后电容开始充电,从0开始充电到3.3V,NRST端口电压也为3.3V(逻辑电平为1)。

1.7 晶振电路 ​

       品振从材质可以分为石英晶振和陶瓷晶振两大类,而从属性品振可以分为无源晶振: crystal(品体)和有源品振: oscillator (振荡器)。石英品振和陶瓷晶振从外观上非常有利于区分,毕竞也是两种完全不一样的材质。

       友源晶振与无源品振区别如下:

1、有源品振比较贵,但是有源品振是一个完整的振荡器,其中除了石英品体外,还有品体管和阻容元件只需要电源,自身就能震动。而无论是无源晶振,还是有源晶振,都有自身的优点和缺点所在,若考虑产品成本,建议可以选择无源晶振电路;若考虑产品性能,建议选择有源晶振电路,省时方便也能保证产品性能。
2、无源品振最高精度为5ppm,而有源品振的精度则可以达到0.1ppm。精度越高,频率稳定性也更好。有源晶振在稳定性上要胜过无源晶振,但也有自身小小的缺陷,有源晶振的信号电平是固定,所以需要选择好合适输出电平,灵活性较差。
3、有源晶振一般4个脚,一个电源,一个接地,一个信号输出端,一个NC(空脚)。有个点标记的为1脚,按逆时针(管脚向下)分别为2、3、4。
4、无源晶振有2个引脚,需要借助于外部的时钟电路(接到主IC内部的震荡电路)才能产生振荡信号,自身无法振荡。

       晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步,没有晶振,这些微处理芯片将无法工作。而这个晶振的频率值选取多少,是要根据芯片手册所给出的数据选择的,一个芯片可以搭配多种不同频率的晶振,只要选择合适的一个即可。

       此外可能还会用到32.768MHz的晶振,需要连接到OSC_32的IN和OUT两个引脚上,用于实现RTC(Real-Time Clock,实时时钟),可以达到实时计时的效果,而且即使在掉电也能不停止计时(需要在VBAT引脚处接一个纽扣电池达到这个效果,当然也要防止纽扣电池的3V和电源的3.3V直接接在一起可采用如下图所示的电路)。