微控制器依賴于其時鐘源。處理器、總線和外圍設備都使用時鐘來同步它們的操作。時鐘決定了處理器執行指令的速度,因此它對性能至關重要。但是,時鐘源到底有多重要?微控制器中的時鐘頻率是什么?它的精度有多重要?簡單來說,這取決于……微控制器正在執行的任務及其接口。
需要考慮的兩個要素是:時鐘的速度,它決定了事情發生的快慢;以及時鐘的準確度,它決定了每個時鐘周期之間的一致性,以及時鐘隨時間可能發生的變化。
為什么時鐘源很重要
微控制器的中央處理器可以被認為是執行特定功能的同步邏輯塊鏈。如果系統微控制器時鐘運行得太慢,則處理時間會更長。如果時鐘運行得太快,則可能沒有足夠的時間在下一組開始之前完成所需的操作——處理器與從動態內存到接口引腳等一系列不同的元件模塊連接。時鐘速度的任何顯著誤差都會對微控制器內部操作產生不可預測的后果。
數據采樣
微控制器時鐘信號將控制任何模數操作的轉換速率。時鐘的速度將決定對模擬信號進行采樣的最大速率;時鐘的精度將決定采樣率的準確性。
假設您每秒記錄兩次帶有時間戳的樣本。在該情況下,時鐘頻率出現1%的誤差(在內部振蕩器中并不少見)很快就會消除樣本時間戳與掛鐘上顯示的時間之間的任何關聯。如果時鐘源有1%的恒定偏移,您的樣本時間戳每天將誤差超過14分鐘。
波形生成
在數據采樣方面,微控制器的時鐘信號將控制任何數模操作的轉換速率。時鐘的速度將決定可以為模擬信號生成的最大頻率。時鐘的準確性將決定生成波形的準確性。
異步串行通信
微控制器時鐘信號的一個關鍵應用是管理異步通信,其中時鐘信號決定何時對輸入數據流進行采樣,一旦接收到起始位,并確定輸出數據流中每個數據位之間的轉換時間波形。
在異步通信中,發射器和接收器依賴于相同的時鐘速度來編碼和解碼數據流。但這些時鐘不需要同步;它們只需要有足夠的相等時鐘頻率。這是因為接收器在檢測到信號線上的第一個邊緣時開始處理傳入的數據流。
然后它需要在數據流的持續時間內保持正確的時鐘速度,以便在正確的時間對數據位進行采樣。所需精度將取決于必須對數據進行采樣的窗口。每個數據位都可能具有其信號的上升沿和下降沿,其中數據的值是不確定的,當數據有效并且可以被采樣時,就會在邊緣之間留下周期。
這個采樣周期將取決于通信鏈路的類型和長度。長傳輸距離和高電容電纜會增加上升和下降時間。噪聲的存在也可能增加信號穩定所需的時間。
它還將取決于時鐘速度和消息格式。對于短數據流,精度要求可能相對寬松,因為每次接收到新數據流時采樣時鐘都會重置。
然而,對于具有長數據流的高速串行通信,所需的精度可能會變得更加精確。例如,CAN總線協議使其對系統時鐘偏移非常敏感,以至于使用任何非晶體時鐘信號源都可能存在問題。
以UART設備為例,我們可以看到絕對時鐘速率并不重要,因為UART接收器會在每一幀開始時自行同步。該問題簡化了可以容忍的發送和接收UART時鐘之間的差異。
時鐘源選項
在為特定微控制器選擇時鐘源時,通常有幾個不同的選項可供選擇。具體選項將取決于您將使用的微控制器時鐘的品牌和型號,因此我們將在這里討論所有標準選項。
這些不同的選項主要通過其準確性、成本和元件數量來區分。使用所有優質微控制器都包含的內部時鐘源將是最便宜且最簡單的選項,但通常也最不準確。使用外部時鐘源將提高精度,但代價是需要將額外的元件添加到電路板并增加設計的復雜性。
選擇哪個選項將取決于您需要什么樣的性能以及您在電路板空間和預算方面的限制。由于為任何給定微控制器生成時鐘信號總是有幾個備選方案,因此請研究您的特定器件的數據手冊。這通常會提供一些有關您可以使用哪些類型的時鐘源以及如何最好地實現它們的有用信息。
內部振蕩器
微控制器通常帶有一個內部電阻電容振蕩器,以產生一個基本的時鐘信號和一個鎖相環以提供頻率倍增功能。然而,使用內部振蕩器的問題是它們的精度遠低于頻率穩定性較差的外部振蕩器。
微控制器芯片內部的任何RC電路都不是理想的位置,這是由于RC電路對高溫的依賴性和元件公差固有的較大范圍。
通常,具有良好熱管理的微控制器可以提供精度在1%到5%范圍內的時鐘信號。這對于一些較慢的異步通信總線和管理低頻模擬信號處理來說可能已經足夠好了。盡管如此,在大多數典型應用中,這仍然不夠準確。
可能值得一提的是,通過使用鎖相環,可以用更準確的外部時鐘信號校正內部時鐘信號,以提高內部振蕩器的性能。然而,如果外部時鐘信號可用,那么使用它而不是內部時鐘更有意義,除非微控制器有任何特定的約束條件會阻止這樣做。
外部振蕩器
微控制器的時鐘源有兩種主要類型:機械諧振器,包括晶體和陶瓷諧振器,以及無源RC振蕩器。
振蕩器的最基本形式是RC電路,它仿效內部振蕩器電路,但使用精度值更高的元件,并使用熱管理技術將元件與微控制器時鐘和電路的任何其他熱元件產生的熱量隔離開來。雖然這可以將精度提高至少一個數量級,但對于外部振蕩器來說,這仍然是最不準確的選擇,并且對于相對相似的成本和封裝尺寸,還有更好的解決方案可供選擇。
RC電路生成的時鐘也會受到電源電平波動的影響,并且容易受到電氣干擾,從而限制了它們在大多數典型應用中的實用性。 晶體振蕩器是最常見的外部振蕩器,需要精確的時鐘信號。石英晶體和支持電路提供了出色的穩定性和精度。典型的低成本晶體振蕩器的精度可以優于百萬分之一,除最具時間敏感性的應用以外,可滿足所有應用的要求。
但是,石英晶體可能會受到環境因素的影響,需要額外的保護。石英晶體的支持電路也可能導致高阻抗輸出,需要與電路的其余部分進行額外的阻抗匹配。
如果預算允許,使用現成的晶體振蕩器模塊而不是離散元件可以降低對環境影響的敏感性,并使電路板設計更加簡單。它們通常提供低阻抗方波輸出,從而簡化了與電路設計其余部分的集成,其精度與使用離散晶體非常相似。
另一種選擇是基于IC諧振器電路的硅振蕩器,它易于實現,精度約為0.05%。比外部RC電路略好,但遠不及晶體振蕩器。然而,硅振蕩器比晶體振蕩器更堅固可靠,非常適合器件可能受到嚴重機械振動的操作環境。
最后,還有陶瓷諧振器可供選擇,其精度雖然不如晶體振蕩器,但比硅振蕩器更精確。它們基于壓電式陶瓷材料,使用諧振機械振動來生成時鐘信號。其主要優勢在于采用簡單的集成封裝,比晶體振蕩器及其支持元件占用空間更小。
然而,與晶體振蕩器一樣,它們對環境因素很敏感,包括溫度、濕度、振動和電氣干擾。 在選擇外部振蕩器時,功耗可能是一個重要的決定性因素。
離散振蕩器電路的功耗主要由反饋放大器的電源電流及其電容值決定。一個典型的晶體振蕩器電路會消耗數十毫安電流。
陶瓷諧振器電路通常需要比晶體振蕩器更大的負載電容值,因此需要更多的功率。硅振蕩器的功耗主要與工作頻率成正比。不過,它們有多種選項可供選擇,從消耗幾毫安電流的低功耗設備到消耗數十毫安的標準設備。
結論
總而言之,您需要為微控制器使用的時鐘信號類型主要取決于其嵌入的器件性質及其操作環境。與高速異步通信總線和高頻模擬信號的接口將需要精確的時鐘信號。
假設器件需要在惡劣的環境中運行,無論是在廣泛的溫度范圍內,還是在高電磁干擾水平下,或是受到機械振動的影響,這都可能限制可選方案。對于沒有如此時間敏感或環境挑戰性的微控制器時鐘,可以采用更便宜的解決方案。
審核編輯:劉清
-
微控制器
+關注
關注
48文章
6838瀏覽量
147940 -
處理器
+關注
關注
68文章
18415瀏覽量
222854 -
振蕩器
+關注
關注
28文章
3543瀏覽量
137690 -
串行通信
+關注
關注
4文章
539瀏覽量
35035 -
時鐘源
+關注
關注
0文章
87瀏覽量
15783
原文標題:【技術博客】微控制器時鐘源有多重要?
文章出處:【微信號:AltiumChina,微信公眾號:Altium】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論