面向射频的单片机掉电保持系统设计
2021-01-21查子尧林毅
查子尧,林毅
(南京理工大学自动化学院,江苏 南京 210094)
随着电子行业的快速发展,目前越来越多的嵌入式系统需要用到通信模块,比如近场通信(Near Field Communication,NFC)、4G、WIFI等。由于这些芯片的存在,系统故障掉电时会消耗巨大电流,导致电压在2 ms以内就跌落至单片机工作电压以下,因此数据在掉电时无法备份存储[1]。目前的电力电子设备,掉电时存储数据的时间一般需要10~20 ms,若数据较多可能还需要更长时间[2]。为了保证在故障掉电时有足够的时间保存数据,需要延长系统的掉电时间。
文中通过低压差线性稳压器(Low Dropout,LDO)和超级电容实现射频系统中的掉电存储电路,并通过软件控制射频工作。其特点是面向射频系统,精确控制掉电时间并且频繁掉电时也能保证一定的掉电时间。
1 系统设计
1.1 系统总体框架
汽车电子行业中,嵌入式系统主要通过蓄电池给单片机以及各类外设芯片供电,通过MCU驱动射频芯片和FRAM。嵌入式射频系统的总体框架如图1所示。
图1 系统总体框图
物料搬运行业准则中,规定电压跌落时间至少大于50 ms,这是因为在搬运过程中,货物抖动可能导致负载变大,拉低电动叉车的电池电压,这个过程一般在50 ms左右。在此期间,单片机不能重启,也就是工作电压不能低于1.8 V[3]。
按照汽车电子的标准,当B+电压低于额定电压的40%,并超过5 ms,则认为电源已经断开,此时可以进行关机、掉电保存等操作。如果未达到5 ms电压就恢复至额定电压的40%以上,此时认为电源未断开,属于正常的电压抖动[4]。按照此标准,软件通过ADC得到电源电压,当判断电源已经断开时,产品开始进行掉电保存。
1.2 硬件方案对比
目前,延长掉电时间的处理方法主要可分为以下3类:1)通过电源管理芯片,检测掉电事件的发生;2)通过储能元件,比如电容,延长掉电时间;3)各类芯片采用低功耗模式[5]。文献[6]结合了第二类和第三类方法,采用锂电池作为备用电源,同时断电时进入低功耗模式,结果表明,该方法能够在突发断电时延长掉电时间,但低功耗下备用电源的掉电时间不能精确控制。文献[7]结合第一类和第二类方法,通过分压网络采集信号并通过FPGA控制备用电池,该方案能够准确的延长掉电时间,但是遇到频繁掉电的情况时,掉电时间会越来越短。对于嵌入式系统,掉电时间过短会影响数据保存,而掉电时间过长则会影响系统正常关机。
文献[6]中的断电保护电路主要由两节锂电池(8.4 V)和充电管理芯片BQ2057CSN构成。当外系统正常供电时,对采集存储系统供电并对断电保护电路中的锂电池进行充电。如果外系统供电失效,锂电池进行供电。其优势在于动态补偿锂电池的内阻以减少充电时间,并有温度检测功能,当温度超过允许范围时可停止对电池进行充电。其缺点在于掉电时间的长短受到锂电池剩余电量的影响,系统关闭时间不可控,当出现连续掉电时无法可靠保障掉电安全。
图2 锂电池方案电路图
文中设计的掉电系统电路图如图3、4所示。
图3 DC-DC电路图
图4 LDO电路图
LDO稳压器是一种低功耗的线性稳压器,LDO线性稳压器的压差低于普通的稳压芯片,因此在系统掉电时,它的持续工作时间也比普通稳压芯片的时间长[8]。其压差是将输出电压维持在其额定值上下100 mV之内所需的输入电压与输出电压差额的最小值。在电池电压经过DC-DC后再经过LDO二次降压,可以有效地延长掉电时间。
DC/DC芯片采用的是LM5008ASD,该芯片输入范围为12~96 V,能够应对汽车电子的大部分工况,并且在电压抖动时能够平缓输出[9]。
超级电容是利用活性炭多孔电极和电解质组成的双电层结构获得超大的容量,并且使用寿命长。在低功耗的嵌入式系统中,选用容量较小的超级电容便能大幅度延长掉电时间[10]。
相比现有的掉电方案,文中方案的优势在于能够通过超级电容准确控制具体的掉电时间。嵌入式系统中超级电容容量无需过大,因此充电速度较快,在上电后的几十毫秒内便能充满,因此能很好地应对频繁掉电状况。
2 硬件参数设计
射频系统中的单片机采用的是英飞凌的XMC 1404-F064X0200,该单片机的最低工作电压是1.8 V,通过SPI与FRAM进行通信。
射频芯片ST25R3911的工作电压为2.4~5.5 V。主要用于直接驱动天线。通过天线识别各类NFC卡。而高频的来源则是振荡器的输入,一般为13.56 MHz或27.12 MHz。
存储芯片是富士通铁电存储器MB85RS64,该芯片具有64K的存储空间,电压为3~5.5 V。
综上所述,要求负载功耗最大时,断开电源不会导致铁电无法保存。铁电的最低工作电压为3 V,MCU的最低工作电压为1.8 V,因此要满足电压跌落至1.8 V的时间大于50 ms,同时电压从48 V*40%跌落至3 V的时间超过15 ms。
一般超级电容等效阻值在100 mΩ左右,而LDO输出电阻值经过测量在200 mΩ左右,射频场关闭时消耗的总电流为300 mA。因此可计算出LDO和超级电容消耗的电压值为[11]:
Vout的值设定为5 V,Vin的值为5.3 V,从而在超级电容上产生的放电电压值为:
由此可以计算出电容的大小为:
由于电容加大会导致电压跌落时间变长,也会产生新的问题。当电压低于1.8 V时,单片机停止工作,电流减小,此时电压会升高,然后单片机又会重新启动,也就是电压震荡[12]。这个问题的解决办法是通过增加电阻进行吸收,或者通过软件来保证,这里采用软件的方法,因此掉电保存前要判断工作的时间,防止连续保存[13]。
3 软件设计
软件控制的核心是检测掉电信号并控制射频场。软件框图如图5所示。
图5 软件流程图
通过单片机定时器中断可以实时读取电源电压值,在跌落时通过高优先级中断进行掉电保存,并防止电压抖动带来的二次保存。
考虑到这里掉电时间一般是ms级的,检测电压的周期只需比1 ms小一些。通过定时器中断设置,每250 μs读取一次AD采样的值,与预设值进行比较。1/250 μs=4 kHz,而系统内部时钟频率为48 MHz,因此时钟装载的值为48 000 000/4 000=12 000,并将中断优先级设置为最高0。可用XMC的库函数进行设置[14]。
然后通过中断事件读取AD采样的B+电压,这样就可以达到快速检测掉电信号的目的。首先要确定其正常工作电压,再根据行规判断掉电的依据。在此基础下,保证一些参数数据有足够的时间保存。
如果电源断开的时候,射频场处于打开状态,此时由于射频的功率较大,掉电时间会非常快[15]。在判断电源已关断时,就要以最快速度关闭射频场,因为射频芯片消耗电流非常快,如果射频场打开时即使增加了LDO和超级电容,也无法满足要求。如果时间仍然不够,在电压跌落至一定程度时就需要关闭射频场。可以按照物料搬运行业准则和低速电动叉车的规定进行设置。
正常工作状态下电压会稳定在48 V,如果有电压抖动也不会超过200 ms。在这期间关闭射频场停止识别功能,对于用户的使用没有影响,因此在电压低于工作电压75%时就关闭射频场,电压恢复至80%以上时重新打开射频场。
综上,通过ADC实时读取电压值,当B+电压低于额定电压的40%,并超过5 ms,则认为电源已经断开,此时可以进行关机、掉电保存等操作。如果未达到5 ms,电压就恢复至额定电压的40%以上,此时认为电源未断开,属于正常的电压抖动。在此基础上,若电压低于75%就自动关闭射频场。
4 实验结果
经过硬件和软件的优化后,此时射频场在打开和关闭状态下,掉电时间相差不大,都能很好地满足要求,仅使用超级电容的开场掉电波形图如图6所示,改良后的开场掉电波形如图7所示。
图6 射频场打开时掉电波形图
图7 改良后射频场开时的掉电波形
与图6相比,可以看出电压跌落至75%时,射频场关闭,电压下降幅度明显减小。从40%的电压跌落至3.3 V的时间为25 ms左右,可以保证跌电的存储。单片机从5 V跌落至1.8 V的时间为52 ms左右,满足物料搬运和汽车电子行业的要求。并且掉电波形更为平滑,在3.3 V和1.8 V处电压抖动较小。
该系统采用文献[16]的方法时,掉电的波形如图8所示。电压从5 V跌落至1.8 V的时间为56 ms左右。与图6比较,掉电时电压波动明显较大,且在电压跌落至1.8 V时会有大概2 ms的抖动,可能会引起单片机重启。
5 结论
文中设计了一种面向射频的单片机掉电存储系统,从经济性出发,通过软件和硬件,减少掉电时的电流消耗并延长掉电时间,使产品满足物料搬运和汽车电子行业的要求。该方案能让掉电波形更为平滑,减少电压抖动,精确控制掉电时间,以保证数据保存的可靠性。