MCU有各種各樣的外設:定時器和看門狗、UART收發(fā)器、I2C總線、SPI總線、GPIO、ADC、SW-DP調試端口、溫度傳感器等,之所以能有條不紊的穩(wěn)定運行,都離不開統(tǒng)一的時鐘。因為時鐘是MCU的脈搏,CPU執(zhí)行指令、訪問數(shù)據(jù)、DMA搬運、狀態(tài)變換等動作都離不開系統(tǒng)時鐘,串口數(shù)據(jù)收發(fā)、A/D轉換、定時器計數(shù)等外設工作也是在時鐘的驅動下完成的。

圖1. MM32F003時鐘源
另一方面,如果時鐘系統(tǒng)出現(xiàn)問題,例如振蕩器不起振、振蕩不穩(wěn)、停振等,那后果也是致命的。以下我們以32位arm Cortex M0核心的MM32F003為例,介紹MCU外接晶振究竟該如何選擇。
MCU數(shù)據(jù)表中的建議
系統(tǒng)時鐘一般由時鐘源(Clock source),總線時鐘(Bus clock)和外設時鐘(Peripheral Clock)。MM32F003時鐘源包括三部分:高速內部時鐘(HSI)、低速內部時鐘(LSI)、高速外部時鐘(HSE)。其中,HSE振蕩器的頻率位2-24MHz。

圖2. MM32F003數(shù)據(jù)表提供的HSE 2-24MHz特性
根據(jù)MM32F003數(shù)據(jù)表,高速外部時鐘(HSE)可以使用一個2~24MHz的晶體/陶瓷諧振器構成的振蕩器產(chǎn)生,布線時諧振器和負載電容必須盡可能地靠近振蕩器的引腳,以減小輸出失真和啟動時的穩(wěn)定時間。
振蕩元件的選擇
MM32F003數(shù)據(jù)所給出了典型外部元器件,以及通過綜合特性評估得到的結果。具體應用中,需要我們根據(jù)晶體/陶瓷諧振器制造商提供的詳細參數(shù) (頻率、封裝、精度等)設計振蕩電路。一般情況下,這些數(shù)據(jù)由綜合評估得出,不在生產(chǎn)中測試。

圖3. 8MHz石英晶體諧振器的典型應用
首先,我們應該應該確定諧振器應該采用石英晶體諧振器、晶體振蕩器,還是陶瓷諧振器?按照MCU廠商的圖示,內部已經(jīng)集成了兩個電容器的諧振器一般是陶瓷諧振器,或者晶體振蕩器。不過,前者頻率精度及頻率穩(wěn)定性是否符合終端產(chǎn)品要求需要仔細考慮,后者的價格估計會讓大家望而卻步。
這里,我們選擇了8MHz采用石英晶體諧振器(Xtal),因為同時符合性能、價格考量。
接下來,我們構建振蕩器電路。根據(jù)MM32F003數(shù)據(jù)表建議,對于CL1和CL2使用高質量的、為高頻應用而設計的 (典型值為)5pF~25pF之間的瓷介電容器,并挑選符合要求的晶體或諧振器。通常CL1和CL2具有相同參數(shù)。晶體制造商通常以CL1和CL2的串行組合給出負載電容的參數(shù)。在選擇CL1和CL2時,PCB和MCU引腳的容抗應該考慮在內(可以粗略地把引腳與PCB板的電容按10pF估計)。
RF一般單片機會給出,不需要自己計算或測試。相對較低的RF電阻值,能夠可以為避免在潮濕環(huán)境下使用時所產(chǎn)生的問題提供保護,這種環(huán)境下產(chǎn)生的泄漏和偏置條件都發(fā)生了變化。但是,如果MCU是應用在惡劣的潮濕條件時,設計時需要把這個參數(shù)考慮進去。
tSU(HSE)是啟動時間,是從軟件使能HSE開始測量,直至得到穩(wěn)定的8MHz振蕩這段時間。這個數(shù)值是在一個標準的晶體諧振器上測量得到,它可能因晶體制造商的不同而變化較大。
有些MCU還有一個低速外部時鐘(LSE),這就需要再外接一個低速晶振,例如32.768kHz晶振。MM32F003沒有這個接口,我們就不討論了。
審核編輯:符乾江
電子發(fā)燒友App






























































評論