單片機是嵌入式系統的核心元件,使用單片機的電路由于涉及到編程要復雜得多,但在更改和添加新功能時,帶有單片機的電路更加容易實現,這也正是現在越來越多電器等設備使用單片機的原因。
作為單片機研發設計的項目,它的最小電路工作系統包含 電源 電路、復位電路、時鐘電路;這些是構成電路的基本單元。其中電源電路與復位電路,工程師一般非常容易理解與設計。然而時鐘電路,由于不同的開發項目功能需求不一樣,設計的方案選擇也不盡相同,很難得到有效的統一設計。比如:一個項目對研發成本要求較嚴格,功能較簡單;而另一個項目電路系統需要與外界電路系統完成串口通信,通信數據要求不能出錯;針對單片機的時鐘頻率電路,工程師依據不同的項目要求去設計與選擇匹配的方案,具體的選擇方案以下兩種。
所謂外部晶振方案,是指在單片機的時鐘引腳X1與X2外部連接一個晶振。如下圖所示,這種電路常用在早期的單片機電路中,或者對時鐘要求精度高的系統中。因為,內部時鐘,由于單片機內部設計空間成本考慮,所以,始終精度有限。
對于一些數據處理能力要求較高的項目,尤其是多個電路系統彼此需要信息通訊,如包含USB通訊、CAN通訊的項目,選用外部晶振的方案較多。缺點:由于增加了外部晶振,所以研發的BOM表元器件成本增加擴大了。成本會更高一些。所謂內部晶振方案,是指單片機利用內部集成的RC振蕩電路產生的時鐘頻率。
優點:省去外部晶振,工程師可以有效的節約研發BOM元器件成本。
缺點:RC振蕩電路產生的時鐘頻率精度比較低,誤差較大,容易引起一些高頻率通信的數據交互錯誤。這種電路,外部不需要晶振及電容,大批量生產,尤其節省成本,因此被多數成本敏感性方案所采納。系統時鐘控制器為單片機的CPU和所有外設系統提供時鐘源,系統時鐘有3個時鐘源可供選擇:內部高精度24MHz的IRC、內部32KHz的IRC(誤差較大)、外部晶體振蕩器或外部時鐘信號。用戶可通過程序分別使能和關閉各個時鐘源,以及內部提供時鐘分頻以達到降低功耗的目的。單片機進入掉電模式后,時鐘控制器將會關閉所有的時鐘源
總而言之,這兩個方案都有各自的優缺點,設計時需要靈活應變,根據實際需要選擇內部晶振或外部。