被坑慘了,mcu內(nèi)部RC振蕩器慎用?。?!
前言
寫(xiě)文章之前,先調(diào)查一個(gè)小問(wèn)題。如下圖 1 為某32位單片機(jī)的系統(tǒng)框圖,我們可以看到系統(tǒng)時(shí)鐘可以選擇內(nèi)部RC振蕩器或者外部晶振:那么大家寫(xiě)程序時(shí),習(xí)慣用外部晶振來(lái)為系統(tǒng)分頻用還是習(xí)慣用內(nèi)部晶振?圖 1相信這兩種方式都不在少數(shù)吧,用內(nèi)部晶振的工程師估計(jì)多數(shù)都有成本方面的考慮,畢竟很多產(chǎn)品對(duì)成本壓的比較厲害。當(dāng)然高附加值的產(chǎn)品估計(jì)不會(huì)對(duì)一顆晶振計(jì)較,為了系統(tǒng)整體性能,會(huì)果斷選擇用外部晶振,突出一個(gè)有錢(qián)~問(wèn)題描述及解決方式
那么使用內(nèi)部RC振蕩器晶振會(huì)存在哪些問(wèn)題呢?分享之前遇到的一個(gè)技術(shù)問(wèn)題,某款單片機(jī)有兩個(gè)晶振,一個(gè)晶振作為系統(tǒng)主時(shí)鐘24MHz主時(shí)鐘,另一個(gè)是RTC32.768kHz低速時(shí)鐘,低速時(shí)鐘摘取關(guān)鍵的描述如下:圖 2總結(jié)下上面描述的主要意思有4點(diǎn):1、RTC時(shí)鐘源有兩個(gè),一個(gè)可以來(lái)自外部,另一個(gè)可以來(lái)自系統(tǒng)內(nèi)部RC振蕩器;2、RTC時(shí)鐘主要用于喚醒電路、下電實(shí)時(shí)時(shí)鐘操作、低速低功耗系統(tǒng)、看門(mén)狗計(jì)數(shù)器輸入;3、內(nèi)部RC振蕩器的精度在50%,其啟動(dòng)要比外部32.768kHz晶振快;4、當(dāng)系統(tǒng)檢測(cè)不到外部32.768kHz晶振時(shí),會(huì)自動(dòng)切換到內(nèi)部RC振蕩器,且不需要軟件配置;項(xiàng)目首次做樣機(jī)時(shí),兩個(gè)晶振都放上了,后來(lái)翻看技術(shù)手冊(cè)發(fā)現(xiàn)了這顆晶振可以去掉,用內(nèi)部RC替代,心想既然廠家做了這樣一個(gè)內(nèi)部晶振供使用,那么其性能也是可以的,并且也去掉后在實(shí)驗(yàn)室常溫下跑了下全業(yè)務(wù)運(yùn)行,沒(méi)有出現(xiàn)異常。因此,在原理圖評(píng)審時(shí)跟同事決定將此晶振去掉來(lái)降低一部分成本,畢竟剩下來(lái)的是幾十萬(wàn)的純利潤(rùn)。就這樣,下一批樣機(jī)到了,產(chǎn)品做回歸測(cè)試,常溫下測(cè)試沒(méi)問(wèn)題,但是在高低溫實(shí)驗(yàn)箱跑到60多度環(huán)境溫度就出線重啟,查了好久,實(shí)驗(yàn)過(guò)程中將各個(gè)電源用示波器檢測(cè)起來(lái),樣機(jī)出線故障時(shí),電源并無(wú)異常,蒙圈了,這個(gè)問(wèn)題有點(diǎn)上頭。核對(duì)與上版原理圖的差異,只有晶振這塊去掉了,難道是這的問(wèn)題,查看芯片手冊(cè),看到了上圖 2 的描述,立即換下一臺(tái)樣機(jī)做測(cè)試,故障沒(méi)有復(fù)現(xiàn),又準(zhǔn)備了3臺(tái)樣機(jī)去做測(cè)試,故障沒(méi)有復(fù)現(xiàn),基本確定是晶振導(dǎo)致的本次問(wèn)題。高溫測(cè)試時(shí)內(nèi)置RC振蕩器時(shí)鐘波動(dòng)范圍太大,導(dǎo)致喂狗時(shí)間錯(cuò)誤,然后重啟復(fù)位了,因此最終還是決定要接外置的32.768kHz晶振。經(jīng)驗(yàn)總結(jié)
1、單片機(jī)內(nèi)部RC振蕩器可靠性一般,產(chǎn)品可靠性要求高的應(yīng)用不建議使用;2、如果要使用內(nèi)部振蕩器作為時(shí)鐘,外部晶振空置不接,一般可以考慮將晶振輸入引腳接地、輸出引腳懸空處理,具體芯片可以參照數(shù)據(jù)手冊(cè)推薦的方式處理;3、修改對(duì)溫度影響敏感的電路,需要做相應(yīng)的溫度測(cè)試;
End
微信公眾號(hào)后臺(tái)回復(fù)關(guān)鍵字“加群”,添加小編微信,拉你入技術(shù)群。