MSP430x4xx系列微控制器的獨特時鐘設計
必須明確的是,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模式,從而進一步提高系統的可靠性。
參考文獻
1.MSP430x4xx Family User's Guide(SLAU056B)
2.The MSP430x3xx Clock System(SLAA080)
3.胡大可.MSP430系列FLASH型超低功耗16位單 片機.北京航空航天大學出版社,2001
評論