發布成功
贊賞金額:
支付金額:5元
支付方式:
贊賞成功!
你的贊賞是對作者最大的肯定~?
中心議題:
* MSP430微控制器介紹
* FLL+的模塊組成及工作原理
* FLL+優化系統性能
微控制器時鐘系統的設計對于系統的全局性能是十分關鍵的。為了得到廉價、準確而穩定的時鐘,在大多數情況下,可采用石英晶體或者是陶瓷振蕩器作為參考時鐘。這些器件的典型工作頻率范圍為100kHz到10MHz。然而,它們都有一些缺點,即振蕩器消耗的電流會隨振蕩器的振蕩頻率的增加而增加,因此,若采用的石英晶體振蕩器具有高Q值,那么,在系統上電后,將需要一個較長的時間才能使頻率和幅度達到穩態,所以,石英晶體振蕩器不能為中斷提供快速的響應。
對于一個電池供電的系統,最基本的要求就是功耗要低。但同時又會出現一些相互矛盾的問題,因為采用低頻時鐘雖然可以達到節能和延長電池使用時間的要求,但采用高頻時鐘卻可以實現對事件的快速反應,并增強處理突發事件的能力;另外,在某些情況下,還會要求時鐘具有很高的穩定度。
由于MSP430x4xx系列微控制器是采用一個增強型的鎖頻環FLL+(Frequency-Locked Loop Plus)來為系統提供時鐘,因此,可以較好地解決以上矛盾,從而使系統成本、功耗、處理能力以及穩定度得到了進一步的優化。
1 MSP430微控制器簡介
MSP430系列是由美國德州儀器(TI)公司推出的16位超低功耗微控制器。該系列微控制器具有處理能力強、運行速度快、指令簡單、功耗低等優點,并具有靈活而簡單的外圍設備,由于采用了JTAG技術、FLASH在線編程技術、 BOOTSTRAP等諸多先進技術,因此具有很高的性價比。MSP430系列器件采用3V電源供電,工作頻率為1MHz,其單周期16位指令的速度可以達到1MIPS(million instructions persecond),電流消耗僅為400μA。事實上,MSP430從低功耗模式3(電流消耗僅為1.5μA)到完全激活狀態僅需6μs,因此可以很好地實時處理中斷。MSP430的這些優越的特點主要源于它兩方面的設計,即16位精簡指令體系結構和獨特的時鐘系統。
MSP430x4xx系列產品的時鐘系統采用FLL而沒有采用傳統的PLL(Phase-Locked Loop)設計,這主要是考慮到FLL能夠快速的啟動并達到穩定。PLL達到鎖定狀態需要幾百甚至上千個時鐘周期,而FLL+經過預先準確設置后,可以在系統啟動時立即鎖定,從而為快速響應中斷提供了保障。并且PLL通常是用模擬元件來實現的,因此需要不斷的消耗能量。而FLL是純數字系統,可以用軟件來控制。它在非激活模式下,其電流消耗為0。
2 FLL+模塊的組成
MSP430x4xx系列的FLL+時鐘模塊是MSP430x3xx系列FLL結構的一種擴展,但卻與MSP430x1xx系列的時鐘系統有很大的不同,后者沒有硬件FLL,因此,要想獲得較精確的時鐘,需用軟件進行DCO頻率校準,這也就是所謂的“軟鎖頻”。由于FLL+支持的頻率范圍更大,因而可以采用手表晶振或者高頻晶振。圖1所示是FLL+模塊的基本組成,從圖中可以看出: FLL+主要由LFXT1振蕩器、LFXT2振蕩器、DCO振蕩器和鎖頻環以及時鐘緩沖輸出組成。
2.1 LFXT1振蕩器
LFXT1產生的信號稱為 ACLK。通過配置與之相關的寄存器和外接不同的晶體或者諧振器,LFXT1可以工作在兩種操作模式:低頻或高頻模式。低頻通常采用32768Hz的手表晶振,高頻的頻率范圍則為455kHz~8MHz。在絕大多數情況下,LFXT1運行于低頻模式,其主要原因如下:
(1)工作頻率低,功耗小。在進入低功耗模式3時,只有手表晶振處于激活狀態。此時典型的電流消耗僅為1.5μA;
(2)穩定度高;
(3)價格低廉;
(4)體積小;
(5)電路簡單,外接手表晶振時,不需要外接電容。
因手表晶振的功耗很小,所以它可以連續工作,這樣就避免了啟動和穩定所需要的時延。并且32768Hz的時鐘一直有效也意味著當其它系統處于關閉狀態時,系統的一些片上外圍設備可以繼續處于激活狀態。例如,LCD或者用作實時時鐘的某一個定時器等都可以處于激活狀態。
在有特別需要的情況下,LFXT1也可以通過外接高速晶體或者諧振器工作于高頻模式。不過此時需要外接電容。
2.2 LFXT2振蕩器
LFXT2為高頻振蕩器,其工作頻率也為455kHz~8MHz。LFXT2結構比較簡單,若是系統需要穩定度很高的高頻時鐘可以采用它,不需要時可以通過軟件將其關閉。不過高頻振蕩器的兩個引腳必須要接外部電容。
2.3 DCO振蕩器和鎖頻環(FLL)
MSP430x4xx系列FLL+模塊的DCO(Digitally-Controlled Oscillator)振蕩器是一個集成的RC振蕩器。產生的時鐘信號稱為DCOCLK,經過FLL調節和校準后可用作系統時鐘(MCLK)和外圍設備的時鐘(SMCLK)。這個模塊是整個時鐘系統的核心。其基本結構如圖2所示。
2.4時鐘緩沖輸出
由于MSP430提供有時鐘緩沖輸出(見圖1)。因此可以通過軟件編程來控制其分頻比FLL DIV,以對ACLK進行1、2、4、8等分頻。分頻后的輸出可以用來為外圍電路提供時鐘。
3 FLL+的工作原理
對于RC振蕩器,由于其頻率會隨溫度和電壓的變化而變化,因此在對時鐘精度要求較高的情況下,DCOCLK通常要通過FLL進行校頻后,才能用于系統時鐘。
3.1倍頻方案
在需要較高數據處理速度時,ACLK就不能單獨勝任,在這種情況下,就要用到倍頻技術。為了支持更大范圍的頻率變化,FLL+的倍頻方案增加了DCO+控制位。當DCO+取0、1時,fDCOCLK輸出時鐘頻率不同,具體如下:
式中,fACLK取32768Hz。可見,通過改變N、D和DCO+,可以很容易地調節用作MCLK/SMCLK的DCO頻率。但要注意,最后得到的MCLK不能超過器件的工作頻率。
3.2頻率抽頭
DCO的輸出時鐘為DCOCLK,這個時鐘被(D×(N+1))分頻后應與ACLK進行比較。若DCOCLK用于系統時鐘MCLK,則同步器將對 ACLK和MCLK/(D×(N+1))進行比較,然后用比較所得的差值來對一個10位的頻綜器進行“up”或者“down”模式計數。這樣, MCLK/SMCLK就可以在1024種可能的設置上不斷地進行調節。一旦頻率被鎖定,同步器輸出的誤差信號就變為0,此時有MCLK=N×ACLK。在頻綜器的10位輸出中,5位用于DCO頻率抽頭(NDCO),另外的5位用于頻率調整(NDCOMOD)。5個抽頭可組成29種頻率(28,29,30和31抽頭是一樣的),每一個抽頭比前一個要高約10%.
明顯可以看到:DCO只能產生一些離散的頻率分量。所以說僅僅依靠改變N、D和DCO+無法使同步器的輸出達到嚴格的0。
3.3頻率調整
DCO頻率調整器的作用是通過混合相鄰的DCO周期來減小長期的累計周期變化。換句話說,就是通過控制fn+1在一個調整周期內所占的比率來減小輸出頻率與所需頻率之間的誤差。具體的頻率調整器跳變模式如圖3所示。圖中,調整器以32個DCO時鐘周期為一個周期。NDCOMOD可用于定義需要混合的fn+1的比例常數。
下面的公式定義了DCO長期輸出頻率與相鄰跳變頻率之間的關系:
由此可見,頻率調整器通過為每個DCO周期獨立地選擇fn或者fn+1,來調整DCO的輸出頻率,進而實現分數抽頭的目的。
必須明確的是,MCLK的精度只是建立在平均的基礎上。對于短期精度,由于每個周期來自相鄰的DCO頻率抽頭,因此是不精確的;而對于長期精度,由于經過了累加平均,因而相對誤差被減小了。實際上,由于調整器的周期為32,每次調整量為每一頻率段的10%,因此相對誤差可降到低于0.33%。
也可以通過軟件編程NDCOMOD來確定DCO的輸出頻率,以便用FLL鎖頻時達到快速鎖定的目的;而在不用FLL時,可不用外部晶振來產生所需頻率。假如所需頻率f為100Hz,并假定DCO在0抽頭時的頻率為f0=700Hz。則與f相鄰的兩個頻率為:
將這兩個頻率代入上面的公式中,便可以求得NDCOOD=24。所以,若DCO中心頻率為1MHz,那么,將24寫入與NDCOMOD相應的寄存器中,即可在無外接晶振的條件下獲得所需時鐘。在這種應用條件下,需要注意幾點:
●FLL和調整器在系統復位時默認為允許,要工作在這種狀態,必須首先禁止FLL。否則DCO會自動鎖定到f0;
●f0是不確定的,在具體應用時應先測定,然后再用它來計算所需的相鄰頻率。
●由于DCO的輸出頻率會隨著穩定度和電壓的變化而漂移,所以不能應用于對時鐘精度要求較高的場合。
3.4 DCO頻率范圍控制
在通過調節倍頻因子N改變MCLK時,FLL+調節DCO的頻率將趨于目標頻率。當MCLK穩定在新的頻率抽頭之前,每向下一個DCO抽頭,其變化一次需要1024個時鐘周期的延時。可以看到,對于MCLK的大范圍頻率變化,將需要很大的時延才能達到穩定。對此,MSP430x4xx系列采用了一種頻率分段的機制來處理這種大范圍的頻率變化。即將DCO輸出的700kHz~40MHz分為5段,每一段的中心頻率基于典型頻率fnominal(2MHz)的倍數。使用時可以通過控制寄存器SCFI0的FN_8、FN_4、FN_3、FN_2等四位對它進行控制。表1列出了DCO的頻率范圍控制方法。由表中可見,通過控制這些位可在不改變當前抽頭設置的情況下改變DCO的輸出頻率MCLK(實際上是立即選擇了相鄰的抽頭,而不是逐個調節)。因此,在這種方式下,DCO調節到所需頻率的時間比僅僅通過調節倍頻因子要短得多。所以首先應根據所需頻率來調整DCO的中心頻率,或者在MCLK變化較大時及時調節 DCO的中心頻率。
4 用FLL+優化系統性能
MSP430x4xx正是由于采用了上述FLL+時鐘模塊,才使它的全局性能得到了優化。同時,它還提供有靈活的時鐘配置選擇,各個模塊的時鐘都可用軟件選擇。也可以根據系統的具體要求來動態調整系統的時鐘頻率,進而優化它的性能。 使用時,一般可按照以下原則來進行:
●若需要穩定而精確的低頻時鐘,可以采用LFXT1時鐘;
●若需要穩定而精確的高頻時鐘,可以采用LFXT2時鐘;
●若需要系統能夠快速地從節能模式切換到激活模式,可以采用DCO經鎖頻后為系統提供時鐘MCLK/SMCLK。FLL+的一個突出優點就是能夠快速地達到穩定狀態。
設計時,要盡可能地選擇較低的工作頻率來降低系統的功耗。此外,系統還提供有5種可編程的節能模式,以便更好地降低系統功耗。
另外,FLL+的振蕩器具有自動切換功能,當DCO沒有用于MCLK或SMCLK時,利用該功能可自動關閉DCO。但是一旦DCOCLK信號被用于 MCLK/SMCLK,DCO就會立即自動開啟。而當外接晶振或者諧振器出現錯誤或停振時,系統時鐘也會自動切換到DCO模式,從而進一步提高系統的可靠性。