<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32 RTC(實(shí)時(shí)時(shí)鐘) 32.768kHz晶振起振指南

          STM32 RTC(實(shí)時(shí)時(shí)鐘) 32.768kHz晶振起振指南

          作者: 時(shí)間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
          STM32RTC晶振經(jīng)常出現(xiàn)不起振的問題,這已經(jīng)是“業(yè)界共識(shí)”了。。。很多人在各種電子論壇上求助類似于“求高手指點(diǎn)!RTC晶振不起振怎么辦”的問題,而其答案基本可以概括為“這次高手幫不了你了”

          更有陰謀論者提出讓人啼笑皆非的解釋——STM32的RTC晶振不起振是ST與晶振廠商串通后故意搞出來的,目的是提高某晶振廠商高端晶振的銷量。。。

          最近做的幾塊板子也用到了STM32的RTC,前后兩版一共做了大概6片,幸運(yùn)的是并未遇到晶振不起振的現(xiàn)象。而我采用的是3毛錢一個(gè)的普通晶振,并未選用傳說中低負(fù)載高精度晶振。。。后來在另外一片實(shí)驗(yàn)性質(zhì)的板子上首次遇到了晶振不起振的問題,而且做了2片都不起振,這才讓我意識(shí)到這個(gè)問題的嚴(yán)重性。

          從上述現(xiàn)象來看,我認(rèn)為對RTC晶振起振影響最大的因素應(yīng)該是PCB的布線。但是遇到問題時(shí)通常是PCB已做好,甚至已經(jīng)做了幾百塊,沒有回頭路了。于是大家更關(guān)注的問題似乎就是“如何補(bǔ)救”了。在網(wǎng)上搜索一下,你就會(huì)發(fā)現(xiàn)世界是如此美好!每個(gè)人的經(jīng)驗(yàn)和建議都不一樣,甚至是完全相反的!這種現(xiàn)象告訴我們,除了PCB布線,對晶振起振影響最大的似乎不是電氣參數(shù),而是另外一種不可忽略的因素——人品!

          各種相互矛盾的經(jīng)驗(yàn)也告訴我們,導(dǎo)致晶振不起振的原因是多種多樣的,也是因“人”而異的。也許,我們無法找到一個(gè)絕對有效的經(jīng)驗(yàn)一舉解決STM32的RTC晶振這個(gè)讓人頭疼的問題,但我們可以從各種經(jīng)驗(yàn)中找到一些線索,為最終摸索到適合自己這塊板子的解決方案提供一些幫助和提示。

          如果晶振不起振,尤其是你已經(jīng)使用了傳說中的愛普生6pF晶振后還是不行,也許你應(yīng)該嘗試對以下幾個(gè)方面排列組合,找到適合你這塊板子的,更容易起振的方式。

          下面就羅列一下可能影響RTC晶振起振的因素
          1. 晶振的品牌和負(fù)載電容
          大家貌似都知道要用6pF的晶振,但我發(fā)現(xiàn)其實(shí)12.5pF的也可以用。大家都說KDS日本原裝的好,我那個(gè)3毛錢的國產(chǎn)晶振貌似也沒啥大問題。。。
          2. 晶振外接的匹配電容
          有人說6pF的晶振要配6pF的電容。但有經(jīng)驗(yàn)公式指出這個(gè)電容的值應(yīng)該是晶振本身負(fù)載電容的兩倍,6pF的晶振應(yīng)該配10pF的匹配電容,當(dāng)然12.5pF的就應(yīng)該配20pF或者22pF的電容了~電容值不匹配可能造成晶振不起振。更神奇的是,有人指出去掉外接的匹配電容會(huì)使晶振起振!這似乎沒啥道理,但在我的板子上,有且僅有這個(gè)方案是可行的!?。?br />3. 晶振并聯(lián)的反饋電阻
          晶振可以并聯(lián)一個(gè)高阻值的電阻,據(jù)說這樣更容易起振。。。這個(gè)電阻的阻值有人說是1MΩ,有人說是5MΩ,也有人說是10MΩ,,,當(dāng)然也有人說不能并聯(lián)這個(gè)電阻,并聯(lián)了反而不起振
          4. XTALout到晶振間串聯(lián)電阻
          這種做法是官方的應(yīng)用筆記指出的,而且給出了這個(gè)電阻的計(jì)算公式。對這個(gè)電阻的的必要性也是眾說紛紜,同樣存在兩種矛盾的說法,即必須要有這電阻,否則不起振。還有一說不能有這個(gè)電阻,否則不起振。。。從官方的應(yīng)用筆記來看,這個(gè)電阻的主要作用是保護(hù)晶振,以防晶振發(fā)熱。由此看來這個(gè)這個(gè)電阻似乎并非影響晶振起振的主要因素,甚至可能讓晶振更難起振。
          5. 晶振的外殼是否接地
          這個(gè)就不用說了吧。。。晶振的外殼是金屬的,做封裝時(shí)可以把那個(gè)焊盤做成機(jī)械焊盤而懸空,也可以做成電氣焊盤,然后連接到GND。對這個(gè)說法同樣存在爭議,有人說外殼必須接地,也有人說接地后反而不起振。
          6. 提高Vbat引腳的電源質(zhì)量
          這種說法是有一定道理的,因?yàn)镽TC部分是由Vbat的來供電的。有人說Vbat引腳對電源質(zhì)量要求比較高,如果紋波較大可能會(huì)影響晶振的起振。更有人說反而需要一些噪聲,激勵(lì)晶振產(chǎn)生正反饋從而順利起振(本人對此表示呵呵)。。。但不管怎樣,提高電源質(zhì)量對大家都是好事~
          7. 晶振周圍的環(huán)境
          有人指出應(yīng)該仔細(xì)清洗RTC晶振周圍的電路,甚至是使用環(huán)氧樹脂膠將晶振密封起來。這種說法得到了一些人的支持,看來也是有相當(dāng)多的事實(shí)依據(jù)。
          8. 減少晶振焊接時(shí)加熱的時(shí)間
          有人認(rèn)為長時(shí)間加熱晶振進(jìn)行焊接會(huì)對晶振本身帶來影響,卻不是徹底損壞晶振,從而使得晶振不容易起振。。。這種說法我沒驗(yàn)證過,個(gè)人表示懷疑。。。
          9. 焊接的焊錫量
          這個(gè)種說法感覺就更不靠譜了,但真的有人在晶振引腳上多加了點(diǎn)焊錫晶振就能起振了。從原理上說,多加點(diǎn)焊錫確實(shí)會(huì)改變晶振和PCB間的寄生參數(shù),但我感覺影響微乎其微。。??赡芫д褚呀?jīng)徘徊在臨界值的邊緣了,這種做法才會(huì)起到一點(diǎn)作用。
          10. 使用有源晶振
          個(gè)人認(rèn)為這是一勞永逸解決晶振不起振問題的不二法門!有人對STM32的RTC晶振不易起振的原因做了一個(gè)解釋,即出于低功耗的考慮,STM32對晶振的驅(qū)動(dòng)功率比較低,所謂“好鼓不用重錘”,一些差的晶振就需要更高的驅(qū)動(dòng)功率,所以不易起振。我認(rèn)為這種解釋是有道理的。使用有源晶振則不存在驅(qū)動(dòng)功率的問題,如果問題確實(shí)是因?yàn)轵?qū)動(dòng)功率造成的,那使用有源晶振毫無疑問可以徹底解決問題。而且目前網(wǎng)上還沒看到說有源晶振不起振的求助帖。但是有源晶振通常比較昂貴,甚至要比一顆外置的RTC芯片還要貴。至于這個(gè)問題的取舍,就要看各位看官自己的想法了。


          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();