MSP430的時(shí)鐘周期、機器周期、指令周期之間的關(guān)系
時(shí)鐘周期也稱(chēng)為振蕩周期:定義為時(shí)鐘脈沖的倒數(時(shí)鐘周期就是直接供內部CPU使用的晶振的倒數,例如12M的晶振,它的時(shí)鐘周期就是1/12us),是計算機中的最基本的、最小的時(shí)間單位。在一個(gè)時(shí)鐘周期內,CPU僅完成一個(gè)最基本的動(dòng)作。時(shí)鐘脈沖是計算機的基本工作脈沖,控制著(zhù)計算機的工作節奏。時(shí)鐘頻率越高,工作速度就越快。
機器周期:在計算機中,常把一條指令的執行過(guò)程劃分為若干個(gè)階段,每一個(gè)階段完成一項工作。每一項工作稱(chēng)為一個(gè)基本操作,完成一個(gè)基本操作所需要的時(shí)間稱(chēng)為機器周期。8051系列單片機的一個(gè)機器周期由6個(gè)S周期(狀態(tài)周期)組成。一個(gè)S周期=2個(gè)時(shí)鐘周期,所以8051單片機的一個(gè)機器周期=6個(gè)狀態(tài)周期=12個(gè)時(shí)鐘周期。
指令周期:執行一條指令所需要的時(shí)間,一般由若干個(gè)機器周期組成。指令不同,所需的機器周期也不同。
專(zhuān)用知識:
在430中,一個(gè)時(shí)鐘周期 = MCLK晶振的倒數。如果MCLK是8M,則一個(gè)時(shí)鐘周期為1/8us;
一個(gè)機器周期 = 一個(gè)時(shí)鐘周期,即430每個(gè)動(dòng)作都能完成一個(gè)基本操作;
一個(gè)指令周期 = 1~6個(gè)機器周期,具體根據具體指令而定。
另:指令長(cháng)度,只是一個(gè)存儲單位與時(shí)間沒(méi)有必然關(guān)系。
MSP430根據型號的不同最多可以選擇使用3個(gè)振蕩器。我們可以根據需要選擇合適的振蕩頻率,并可以在不需要時(shí)隨時(shí)關(guān)閉振蕩器,以節省功耗。這3個(gè)振蕩器分別為:
(1)DCO 數控RC振蕩器。它在芯片內部,不用時(shí)可以關(guān)閉。DCO的振蕩頻率會(huì )受周?chē)h(huán)境溫度和MSP430工作電壓的影響,且同一型號的芯片所產(chǎn)生的頻率也不相同。但DCO的調節功能可以改善它的性能,他的調節分為以下3步:a:選擇BCSCTL1.RSELx 確定時(shí)鐘的標稱(chēng)頻率;b:選擇DCOCTL.DCOx在標稱(chēng)頻率基礎上分段粗調;c:選擇DCOCTL.MODx的值進(jìn)行細調。
(2)LFXT1 接低頻振蕩器。典型為接32768HZ的時(shí)鐘振蕩器,此時(shí)振蕩器不需要接負載電容。也可以接450KHZ~8MHZ的標準晶體振蕩器,此時(shí)需要接負載電容。
(3)XT2 接450KHZ~8MHZ的標準晶體振蕩器。此時(shí)需要接負載電容,不用時(shí)可以關(guān)閉。
低頻振蕩器主要用來(lái)降低能量消耗,如使用電池供電的系統,高頻振蕩器用來(lái)對事件做出快速反應或者供CPU進(jìn)行大量運算。當然高端430還有鎖頻環(huán)(FLL)及FLL+等模塊,但是初步不用考慮那么多。
MSP430的3種時(shí)鐘信號:MCLK系統主時(shí)鐘;SMCLK系統子時(shí)鐘;ACLK輔助時(shí)鐘。
(1)MCLK系統主時(shí)鐘。除了CPU運算使用此時(shí)鐘以外,外圍模塊也可以使用。MCLK可以選擇任何一個(gè)振蕩器所產(chǎn)生的時(shí)鐘信號并進(jìn)行1、2、4、8分頻作為其信號源。
(2)SMCLK系統子時(shí)鐘。供外圍模塊使用。并在使用前可以通過(guò)各模塊的寄存器實(shí)現分頻。SMCLK可以選擇任何一個(gè)振蕩器所產(chǎn)生的時(shí)鐘信號并進(jìn)行1、2、4、8分頻作為其信號源。
(3)ACLK輔助時(shí)鐘。供外圍模塊使用。并在使用前可以通過(guò)各模塊的寄存器實(shí)現分頻。但ACLK只能由LFXT1進(jìn)行1、2、4、8分頻作為信號源。
PUC復位后,MCLK和SMCLK的信號源為DCO,DCO的振蕩頻率默認為800KHZ。ACLK的信號源為L(cháng)FXT1。
MSP430內部含有晶體振蕩器失效監測電路,監測LFXT1(工作在高頻模式)和XT2輸出的時(shí)鐘信號。當時(shí)鐘信號丟失50us時(shí),監測電路捕捉到振蕩器失效。如果MCLK信號來(lái)自L(fǎng)FXT1或者XT2,那么MSP430自動(dòng)把MCLK的信號切換為DCO,這樣可以保證程序繼續運行。但MSP430不對工作在低頻模式的LFXT1進(jìn)行監測。
為了實(shí)現具體的時(shí)鐘可以設置跟時(shí)鐘相關(guān)的寄存器,在低端430中是DCOCTL、 BCSCTL1和BCSCTL2三個(gè)寄存器。而對于高端的430,則要考慮SCFI0、SCFQCTL、FLL_CTL0、FLL_CTL1和BTCTL 等幾個(gè)寄存器。具體設置,參看DataSheet。
晶振相關(guān)文章:晶振原理 脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理
評論