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

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

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

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






























































評(píng)論