“在寫完這篇后,回過頭來看,我發現對振蕩電路的理解還是不夠深入,本著不懂的東西不敢亂寫,所以本篇基本是總結一些概念和經驗,關于晶體外部阻容的選型計算,等待后面深刻理解后,再寫。”
今天為大家簡單介紹一下振蕩器與諧振器,其實工作中更多接觸到的名字叫做晶振。暫時拋開叫法是否準確貼切,先沿用這一稱呼。我們在設計電路時,尤其是單片機模塊時,會很自然地接觸到晶振,但實際大部分人(也包括我自己)都沒有好好去琢磨一下晶振電路的各個元器件的選型來源,很多都是繼承歷史,把成熟電路抄過來直接用;實際這樣也沒有什么問題,但又總感覺心有點虛,自己畫的板子講不清器件的用途,總會有些不踏實,萬一哪一天它壞了呢?
接著,還是要先糾正一下概念與定義。
最根源的分類其實是諧振器與振蕩器。簡單地說,諧振器是無源器件,振蕩器是有源器件。至于有源和無源的差別,自己去百度,一大堆。
諧振器(英文resonator),它是可以產生諧振頻率的電子元件或電路,在其外部需要配合控制驅動電路,產生時鐘輸出;
諧振器分類(圖片來源于網絡)
上圖是主要的幾種諧振電路或元件,可以看到熟悉的RC諧振電路與石英晶體;石英晶體諧振器(quartz crystalresonators),也就是我們日常稱呼的“無源晶振”,其實更準確應該叫“晶體(crystal)”,它是兩個引腳的無源器件,是電路中很常見的時鐘源,相信大家都接觸過。陶瓷諧振器(ceramic resonators)很少見,我沒有使用過,大家如果有應用經驗,可以留言,交流交流。
晶體(圖片來源京瓷官網)
振蕩器(英文oscillator),它是一種能量轉換裝置,將直流電轉換為具有一定頻率的交流電,其構成的電路叫做振蕩電路,振蕩器比諧振器多了一個控制電路。
振蕩器里面最主要的就是指石英晶體振蕩器(quartz crystal oscillators),就是我們說的“有源晶振”,或者“晶振”(終于等到你);其中接觸最多的石英晶體振蕩器,它常見的封裝是四個引腳,輸出方波信號,CMOS電平。
晶振(圖片來源NDK官網)
BMS單板上使用的單片機,基本都需要外置一個時鐘(晶體或晶振)給它,那么第一個問題來了,為什么不用單片機的內部時鐘源呢?
原因是單片機內部的時鐘源類型一般是RC振蕩電路(RC諧振電路+控制電路),它輸出頻率的精度不高,如果用在通信上面,可能會造成時鐘不精確,所以我們在BMS上面很多時候都選擇外部的時鐘源(晶體或晶振)。
上圖是NXP某個單片機內部時鐘框圖,畫紅色圓圈標記的就是單片機內部集成的時鐘源(IRC);XTAL和EXTAL是外部時鐘源的連接引腳,內部時鐘源與外部時鐘源都可以使用;一般單片機上電后默認是內部時鐘源,經過初始化后,配置成外部時鐘源。大家閑時也可以看看自己用的單片機的內部時鐘結構。
接下來簡單介紹一下單片機的外部時鐘源,也就是晶體與晶振的用法。
晶振用起來最簡潔,它內部集成了晶體與控制電路,形成了一個完整的振蕩電路。下圖是單片機與晶振的連接示意圖,基本不需要外部如何配置,供電可直接工作,XTAL引腳可不使用。
但如果選用晶體的話,就會復雜很多,如下圖所示;它需要外部加一些配合的阻容,與單片機內部的控制電路共同組成振蕩電路:R2是反饋電阻,作用是與單片機內部的反向器一起組成放大器;C1C2是外部負載電容,用于調節晶體的負載電容需求和濾波作用;R1是外部串聯電阻,用于限制XTAL的驅動電流。目前只能寫這么多了,等理解透徹后再寫選型的理論支撐,大家好奇的話可以先去查查資料(比如ST網站的AN2867)。
總結
晶體與晶振在BMS單板里面很常見,那么到底選擇晶體還是晶振呢?從使用難度和穩定性上來說,晶振更好一些,但成本上面晶體更有優勢。所以前期可以直接上晶振,后期考慮降成本的話,可以使用晶體來實現,這樣留一點降成本的空間,你懂的;哈哈,有點廢話的樣子,為了湊字數,管不了那么多了。