在非常溫的工作環(huán)境下,RTC時(shí)鐘出現(xiàn)偶發(fā)性的延時(shí)或者超時(shí)現(xiàn)象,成熟的RTC電路設(shè)計(jì)看似簡(jiǎn)單,但如何保證RTC時(shí)鐘的精確度;在出現(xiàn)偶發(fā)性異常現(xiàn)象時(shí),如何快速定位和解決問題;本文將分享一個(gè)案例。
一、案例情況
工控板使用了NXP的PCF8563 RTC 芯片方案,在研發(fā)做環(huán)境溫度摸底測(cè)試的時(shí)候, RTC時(shí)鐘出現(xiàn)偶發(fā)性延時(shí)或者超前現(xiàn)象,于是研發(fā)展開一系列的問題定位。
二、排查分析
1、工控板使用了NXP的PCF8563 RTC 芯片方案,該方案是外置32.768kHz的石英晶體和電容,該RTC芯片的輸出精度取決于其外接的石英晶體輸出的時(shí)鐘頻率是否精準(zhǔn)。石英晶體本身輸出頻率帶有一定的誤差,常溫25℃下,頻率的誤差為±20ppm,平均誤差可達(dá)5分鐘/年。且隨著時(shí)間的增加,晶體電路元件的緩慢變化會(huì)造成長(zhǎng)期性的頻率漂移。同時(shí),在外部溫度較為極端的時(shí)候,時(shí)鐘震蕩回路可能出現(xiàn)異常,影響到RTC的正常計(jì)時(shí)。
2、工控板RTC芯片供電電池選用了型號(hào)為CR2032的鋰二氧化錳電池,該電池理論工作溫度范圍是-30℃~60℃。和其他鋰電池類似,若外部溫度較為極端的時(shí)候,會(huì)改變其內(nèi)部的化學(xué)反應(yīng),導(dǎo)致電池壽命的降低或者電壓異常的風(fēng)險(xiǎn),從而影響RTC電路的正常工作。
三、解決方案
極限溫度下長(zhǎng)時(shí)間的高精度保證,有以下的解決方案:
1、選擇帶有溫度補(bǔ)償?shù)腞TC芯片如EPSON的RX-8025T。這款芯片是內(nèi)置32.768kHz的晶體,具有高精度的溫度補(bǔ)償功能,輸出的波形都是經(jīng)過溫度補(bǔ)償校準(zhǔn)過的,這樣可以提高RTC的穩(wěn)定性和精度。因?yàn)閮?nèi)嵌的晶體已經(jīng)經(jīng)過高溫老化處理,比獨(dú)立的晶體有更好的穩(wěn)定性,精度誤差在-40℃~85℃范圍內(nèi)小于±5ppm。
2、選擇工業(yè)級(jí)電池(例如:FANSO ER14505),理論上在工作溫度-40~85°范圍內(nèi)能正常工作。參考電路圖如圖2所示:
由圖2可知,RTC芯片工作電源由系統(tǒng)VCC_3.3電源和電池電源兩部分組成。此電源電路的設(shè)計(jì)目的是當(dāng)有外部電源供電時(shí),RTC時(shí)鐘工作時(shí)使用由外部電源經(jīng)LDO轉(zhuǎn)化而來的VCC_3.3電源,當(dāng)外部電源停止供電時(shí)就自動(dòng)切換到電池電源供電。這樣可以保證RTC芯片一直能夠正常地工作,同時(shí)可以延長(zhǎng)電池的使用時(shí)間。此電路的設(shè)計(jì)如以下所述:
1) 電源切換電路設(shè)計(jì)
由RX-8025T芯片的數(shù)據(jù)手冊(cè)上可知,其工作電壓范圍是1.7V到5.5V;系統(tǒng)電源為3.3V、工業(yè)級(jí)電池ER14505電壓為3.6V;可以通過二極管的正向?qū)ㄌ匦詠碜詣?dòng)切換系統(tǒng)電源和電池電源的供電狀態(tài),使得RTC芯片能夠保持正常工作狀態(tài)。
由于系統(tǒng)電源電壓為3.3V,電池電壓為3.6V;如果要做到優(yōu)先使用系統(tǒng)電源,那么就需要系統(tǒng)電源經(jīng)過二極管后的電壓比電池經(jīng)過二極管后的電壓要高,這樣才能保證由系統(tǒng)電源優(yōu)先工作。可以通過選擇兩只不同管壓降的二極管來實(shí)現(xiàn),二極管SS14的正向?qū)妷簽?.2V左右,1N4148的正向?qū)妷簽?.7V左右。那么可以在系統(tǒng)電源線路上串接一只SS14二極管,而在電池供電線路上串接一只1N4148二極管;這樣當(dāng)外部供電時(shí),系統(tǒng)電源經(jīng)過SS14后得到的電壓值大于電池經(jīng)過1N4148后的電壓值,此時(shí)由主電源供電;當(dāng)外部電源停止供電后,電路自動(dòng)切換成電池供電狀態(tài)。
2) 電壓滯后處理
ER14505電池是一種供電電壓為3.6V ,容量為2700mAh的鋰亞硫酰氯電池;它的自身容量損耗極小,可以忽略不計(jì)。以待機(jī)電流為20uA計(jì)算,電池的供電可以達(dá)15年左右。
但是在實(shí)際應(yīng)用中,發(fā)現(xiàn)在系統(tǒng)電源長(zhǎng)期供電后,突然切換到電池供電時(shí)發(fā)生電壓不足,導(dǎo)致RTC時(shí)鐘出現(xiàn)異常,其根本原因是電池發(fā)生了鈍化現(xiàn)象。
當(dāng)RTC芯片由系統(tǒng)電源供電時(shí),鋰電池相當(dāng)于閑置開路,如果電池閑置的時(shí)間過長(zhǎng),那么電池的內(nèi)部會(huì)產(chǎn)生鈍化膜,而切換到鋰電池供電時(shí),如果滯后的電壓低于時(shí)鐘芯片的工作電壓,那么時(shí)鐘芯片就會(huì)完全“失壓”,系統(tǒng)時(shí)鐘就會(huì)恢復(fù)到初始時(shí)間,導(dǎo)致時(shí)鐘工作異常。為了消除這種現(xiàn)象的影響,我們可以通過在時(shí)鐘芯片的電源上增加儲(chǔ)能電容,以消除這種影響。
3) 控制鈍化膜生成
電池的鈍化膜是由于電池長(zhǎng)時(shí)間處于閑置開路狀態(tài)而形成的,那么我們可以使電池一直維持在一個(gè)較小的電流放電工作狀態(tài),這樣可以減緩電池的鈍化膜生成的速度。通過選擇合適的電阻值,使電池處于放電狀態(tài),比如放電電流控制在待機(jī)電流20uA左右,這樣電池容量足夠支撐15年左右,同時(shí)不會(huì)使鈍化膜過厚而出現(xiàn)電壓滯后導(dǎo)致RX-8025T完全掉電現(xiàn)象,從而影響RTC時(shí)鐘的正常工作。
當(dāng)系統(tǒng)電源供電時(shí),Q1導(dǎo)通,由電池BT1、R1、Q1形成回路,實(shí)現(xiàn)電池的放電狀態(tài);當(dāng)系統(tǒng)電源停止供電時(shí),Q1截至,電池經(jīng)過D2給RTC芯片U1供電。經(jīng)實(shí)測(cè)時(shí)鐘芯片及電池內(nèi)阻自放電的電流為8uA左右,那么我們需要控制的電阻R1的阻值為3.6V/(20-8)uA=300k。
4) PCB設(shè)計(jì)
在PCB layout的時(shí)候需要注意RX-8052T與MCU的I2C走線應(yīng)該越短越好,并且遠(yuǎn)離高頻、高電流的信號(hào)線。同時(shí)旁路電容也應(yīng)該靠近RX-8025T的電源端,并增加地線敷銅的面積,以防止干擾的產(chǎn)生。
四、總結(jié)
致遠(yuǎn)電子嵌入式產(chǎn)品經(jīng)過近二十年的設(shè)計(jì)經(jīng)驗(yàn)積累,從產(chǎn)品的RTC時(shí)鐘,電源管理,ESD防護(hù)電路,各類通訊接口等方面全面保證產(chǎn)品的穩(wěn)定性。致遠(yuǎn)電子從2001年從8位單片機(jī)方案設(shè)計(jì)開始,逐步掌握ARM7、ARM9、Cortex-A7、A8、A9、M7以及最前沿的A53等ARM體系的處理器應(yīng)用技術(shù),擁有全系列的工業(yè)級(jí)ARM核心板與工控機(jī)。同時(shí),基于對(duì)嵌入式技術(shù)的理解與積累,我們自主研發(fā)下一代軟件開發(fā)平臺(tái)-Aworks實(shí)時(shí)操作系統(tǒng),幫助用戶基于穩(wěn)定的軟硬件平臺(tái)快速實(shí)現(xiàn)產(chǎn)品開發(fā),基于ZLG工業(yè)級(jí)核心板/工控板開發(fā)的產(chǎn)品已廣泛應(yīng)用于電力、軌道交通、工業(yè)現(xiàn)場(chǎng)、醫(yī)療等對(duì)產(chǎn)品可靠性要求較為苛刻的場(chǎng)合,并不斷深入為各行業(yè)提供整套行業(yè)應(yīng)用解決方案。