在快节奏的现代社会,时间变得越来越宝贵。对于时钟的电子设计,高精度且低功耗逐渐成为主流。我们就有一个汽车显示屏的时钟显示项目,要求时钟一天的误差控制在1s以内。要想达到此要求,则必须满足晶振的频率偏差PPM<1/60/60/24*1000*1000=11.574ppm,对于如此高的要求,我们决定采用爱普生的车载实时时钟RA8900CE.
以前RTC的解决方案是使用无源晶振,通过软件算法实现时间显示。使用无源晶振时需要CPU支持,且由于时间计数要一直运行,导致整机待机功耗增加。如果使用集成的RA8900CE,则仅需主机工作时提取RA8900CE内部寄存器的数据,通过IC通信实现时钟显示,这样不仅降低了待机功耗,也减少了软件的工作量,大大缩短了产品的开发周期。另外,无源晶振的偏差会随着温度的变化而变化,这就会导致时钟显示的精度在冬天和夏天不同,最严重时,时钟一天的偏差可以达到8.6S,用户会很容易发现时钟显示的精度有问题,严重影响用户的使用体验;而使用RA8900CE时,无论是冬天还是夏天,时钟一天的差始终保持0.5S以内,用户轻易不会发现时钟的精度有异常,用户的使用体验比较好.
RA8900CE符合AEC-Q200认证标准,是一颗集成32.768KHz晶体单元的高精度DTCXO,全温度范围频率偏差为5ppm,工作电流十分低,仅为0.7uA/3V(Typ.)。
而目,RA8900CE支持高达400Khz的IIC通信,接口电压支持2.5V~5.5V。最主要RA8900CE的封装仅为2.5mm*3.2mm,小封装有利于PCB走线,方便我们把RA8900CE放置在MCU附近,大大降低了PCB布线难度因此,其既满足晶振要求又降低了PCB布线难度,可谓是一举两得。
增加RA8900CE芯片后,我们发现样品初次上电后,DAB芯片无法和MCU正常通信。样品的电路框图如下图所示:
图1:汽车显示屏的时钟显示电路框图
问题分析及解决
样品初次上电,DAB芯片无法和MCU正常通信。这是个富有挑战的问题,为了探究原因,我们采用排除法的思考方式,分析如下:
图2:问题分析
首先,要锁定导致问题的模块。我们先确认DAB上电时序,如图3所示,DAB芯片对上电时序有要求,即接口电源DVDDIO一定要在主电源VBAT之后上电。可是,我们测试后发现DVDDIO提前于VBAT上电,进而导致DAB通信异常。导致DAB通信异常的原因找到了,但是,究竟为何上电时序会不满足?
我们设计的DAB电源如图3所示,通过MCU控制5VSW和3.3VSW,保证5VSW提前与3.3VSW上电,理论设计完全满足DAB上电时序要求。但是,为何实际情况和理论设计的情况相差甚远?
图3:DAB上电时序
通过测量电源时序,最终我们发现是由于追加的RA8900CE芯片,在初始上电阶段导致电源串电,3.3VSW电源跟随3.3VMEM提前上电,导致不符合DAB上电时序要求。
RA8900CE的内部电路如图4所示,为了防止3.3VSW没电时,发生电现象,我们设置RA8900的寄存器地址为:VDETOFF,SWOFF=(1.1),这样设置是保证RA8900CE内部VDD和VBAT之间的开关永远保持关断状态。但是机器第一次上电的时候,RA8900CE的寄存器为默认值,而我们的软件只有在MCU起来后才可以设置RA8900CE的寄存器地址为:VDETOFF.SWOFF=(1.1)。这样,就会导致有一段时间VBAT和VDD直连,导致3.3VSW电源跟随3.3VMEM提前上电,进而导致DAB和MCU通信异常。
图4:RA8900CE的内部电路
知道了问题的根本原因,找到解决方案就变得很容易。由于RA8900CE工作时VDD电源消耗的最大电流是1.45uA,电流消耗非常小,因此我们决定采用VDD和VBAT共用一个电源的方案,即都使用3.3VMEM电源。如此来就根本的解决了串电问题,进而保证了DAB的上电时序,解决了DAB和MCU无法通信的问题。