在使用Air202/Air800模块进行项目开发时,各种不定时异常重启是常见而且非常影响用户体验的事情。异常重启有软件代码的原因也有硬件上的原因,软件重启通过调试信息比较容易查找到原因,本文不做过多讨论。而硬件原因造成的重启通过调试信息无法找到原因,因而比较难以定位。其中又以模块电源掉电引起的重启较为常见,本文重点讨论射频发射时模块供电管脚(VBAT)电压跌落过大造成重启的问题分析
1.射频发射时模块供电管脚(VBAT)电压跌落的原因:
通常大部分的硬件重启都是由这个原因造成。设备表现为在平时表现正常,只在数据传输过程中会有几率出现,而且某些地方复现不到而某些地方缺很容易出现。造成了在生产或测试过程中可能没有测出这个问题,一旦投放到市场就出现很多重启的问题。为什么射频发射会导致电源电压跌落呢?这样要从GSM原理说起,GSM是一个时分复用的系统,在一个信道上上下行通信是通过时间来区分,通常一帧的周期为4.615ms,而一帧中划分8个时隙,通常在数传中上行的占用的时隙通常1到2个,这个是由当地基站根据网络状况决定。下行的接收时隙射频PA不需要工作,而上行放射时隙PA就要参与工作。而GSM协议规定GSM终端发射功率的范围为EGSM900MHz :5dBm±5dB到33 dBm+-2dB,其中有10个功率等级,GSM终端发射功率等级是由基站根据模块上报的当地GSM信号强度动态调节,因此在GSM终端信号强度较弱时,PA会以较大的功率等级进行放射,当PA以最大功率等级发射时(PCL=5),发射功率在2W左右,此时模块的电源端的电流会达到1.6A到1.8A左右,持续时间在577us左右,如下图:
由于这个电流是一个突发脉冲电流,就会导致模块电源端VBAT电压的跌落。通常在VBAT管脚端测量到的跌落波形如下:
由于电源走线或者焊接点引入的接触阻抗或者寄生电感导致这种跌落较难以完全避免,通常我们认为400mV左右的跌落之内的幅度是可以接受的,但是大于400mV的跌落就要检查一下电源的设计是否合理了。
2.发生掉电现象时如何分析和调试:
通常我们可以从如下方面检查电源部分的设计是否合理:1.对于开关电源,我们要先找到是哪里造成的跌落。用示波器分别测量开关电源的输入端和输出端,看看输入端和输出端是否都存着跌落现象,如果在输入端电压就已经跌落,则源头在于输入端电源的供电问题,这时再对开关电源进行调整都作用不大,这是时个很容易忽略的问题。如果输入端无跌落而输出端跌落明显,则说明开关电源部分出了问题。2.对于输入端跌落的问题,我们首先保证要保证输入端的供电能力要大于2A的电流,然后要检测电源到开关电源输入端这段连接走线或者连接器是否存在较大的阻抗。首先外部连接到主板的电源线不能太长,线越长阻抗越大,如果线无法缩短,就要加粗线径或者增加线的数量来减小阻抗。如果用的连接器则检查连接器的接触阻抗。3.对于输出端跌落,则需要检查开关电源的设计问题。首先保证开关电源芯片能够有2A以上的输出能力,其次检查主要器件的参数,输入输出电容容值是否足够,布局位置是否靠近电源芯片;检查功率电感参数是否合适,饱和电流值(isat)是否大于2.5A(通常要预留余量),温升电流值(irms)大于2.5A。4. 检查输出端到模块端的电源走线线宽是否足够,通常要保证1.5MM以上,走线越长,线宽相应增加。5,地平面是否完整,地线回流路径线宽是否足够。这个是个比较容易忽略的问题,通常我们会注重电源的走线设计等,去容易忽略地部分的设计,因为地是电流的回流路径,如果地的回流路径阻抗较大也会影响电压的跌落。在PCB设计中在板上空余的地方都铺上地铜箔,在走线分割严重的地方要多加地孔保证地的连接性。6.加大VBAT管脚电源上的电容,加大到1000uf到2000uf之间,有助于缓解电压跌落现象,建议在主板空间富裕的情况下都应该加上1000uf电容去增加容错性,增加系统的稳定性。
3.在前期的研发测试时如何测试发现这个问题:
我们可以根据产生跌落的原理出发,创造一个让设备大功率发射的条件。如果有设备条件,可以通过综测仪(如CMU200,8960等)连接设备,将综测仪模拟成基站,可以将终端设置为PCL=5的功率等级,做GPRS测试,观察设备的表现或者测量VBAT的跌落;如果没有设备可以人为的制造一个弱信号的条件,可以在楼道间,地下室等墙体比较多的地方,如果没有条件可以在板子上入手,可以去掉天线,或者焊接一个短导线代替天线等方式,总之让CSQ值处于10左右或者以下,且还可以勉强连接网络,这时做数传操作,此情况下终端设备会以大功率或者接近最大功率发射,此时观察设备是否有掉电重启的现象,或者用示波器抓取VBAT电压波形,看电压跌落值是否在合理的范围内。