MSP430F5529系統時鐘頻率設置---超頻40MHz

我是Jeason                  本文章會被分享到電賽的論壇

 這是電賽的培訓網址  :    https://bbs.nuedc-training.com.cn/forum.php?fromuid=11142

先前跟大家分享了一個MSP430F5529設置25MHz的頻率的方法,但是總是感覺頻率變化的比較大,經過一番的研究,我發現25MHz下的時鐘是經過380倍頻得到的,而網上有大神有提到,倍頻的過程中存在的不穩定的情況下,故有了換晶振的想法。

我所使用的的是MSP430F5529 的launchpad,板載一個32.768K的RTC時鐘XTAL1和一個4MHz 的時鐘,原本我只是想獲得一個穩定的25MHz的時鐘,但是一次錯的的數據配置之後我發現系統時鐘居然跑到了26MHz,於是,探究頻率極限的行動開始了。現在我把這個過程分享給大家。 鏈接1 25MHz時鐘的設置方法 ---->>> 博客地址     鏈接2: 超頻的代碼下載地址----->>>>> 下載地址

 

第一階段: 切換系統的時鐘源:(試錯的過程省略,我直接分享正確的配置過程)

430 默認情況下XT2是關閉的,系統的核心電壓是一個比較低的值,在設置高頻率,並且使用外部高速時鐘之前我們需要打開時鐘,並且在這之前我們需要把系統的核心電壓升到最高。  如何提升核心電壓的部分我就不細說了, 不瞭解的小夥伴去看我的25MHz 主頻的設置方法--->>>>> 博客地址  。這裏咱們  從開啓系統時鐘開始。

上圖是我的初步設想,我們打開XT2,然後讓XT2 的時鐘(4MHz)直接輸出給SMCKL 和MCLK,然後我通過外部測量P2.2引腳的頻率(不懂爲什麼是P2.2腳的也去看上一篇博客) 我就可以知道,我的外部晶振有沒有起作用。

打開用戶手冊 查找寄存器位

這裏我們找到了幾個個關鍵的寄存器位 

相比較於 先前的25MHz 的設置方法,我們添加了XT2 的配置 包括 使能引腳,打開晶振的驅動(XT2DRIVE)

在設置玩這些之後 是我們的升壓函數

這裏的作用是將核心電壓升到最高

然後接下來就是階段性的測試了, 我們要確認我們的XT2已經可以正常的工作了

通過測量 P2.2 我們獲得了穩穩的 4MHz 的時鐘,  這就證明了 XT2CLK這條時鐘線上已經有了時鐘信號了!

接下來就是對這個時鐘信號進行倍頻的操作了

倍頻的單元是FLL  通過這裏我們可以獲得一個更高的時鐘頻率! 上圖是我們的時鐘信號的走向,我們需要向FLL引入一個 4MHz 的時鐘信號。

查找相關的寄存器位,我們的設置如下

接下來是對FLL部分進行配置了  我們的設置依據是 用戶手冊裏面的這個公式

這樣 我們只需要對FLL 相關的寄存器進行設置就可以了,查找寄存器的位如下

不過 在我們進行這些操作之前我們需要先關閉FLL 在時鐘圖上有SCG0 寄存器  

  我查找了他的作用

我們先把 FLL關閉   操作是這個 

接下來是配置 FLLN (FLLD 使用默認的參考時鐘的分頻我們默認不分頻!)

這裏  我們先假定需要24MHz的時鐘  根據公式 則可以計算出 FLLN = 5

測試效果如圖 系統的時鐘穩定在24MHz

接下來 我們調整FLLN的值

先提升到40MHz 試一下!

還是比較精準的,頻率會跳動 不過跳動的範圍還是可以接受的

當我把 FLLD 調到2時。。。。。。。此時的理論頻率範圍已經超過了我的虛擬示波器的測試範圍  於是我去借了一個實驗室示波器  效果如圖 

 

amazing!    居然真的可以達到80MHz ,不過在80MHz下的時鐘輸出極其不穩定!而且輸出的信號的峯峯值只有可憐的660mv

 顯然 80MHz下的單片機是不具備工作的能力的,我們繼續向下去探尋一個更加合理的數值   48M 或許是一個不錯的選擇, 配置參數FLLD = 1,FLLN = 5  得到了

雖然頻率還是在變化,但是變化的範圍還在可以接受的範圍之內。

這是大致的參數配置表,   更多的配置參數請讀者們自行摸索。我目前使用44MHz時很穩定

代碼1

後期我將函數進行了整理 整理出來了一款更加實用的代碼,可以直接實現超頻到自己想要頻率

 

加強版代碼

 

最後推薦一下我所用的示波器 對虛擬示波器 感興趣的小夥伴可以加 QQ羣 706769836  備註:戰神  

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章