1.前言
在上一節中,我們講到DSP28335的啟動原理,啟動后來到main函數執行用戶代碼。我們現在已經啟動完成,那么啟動后我們如何對芯片進行配置呢?
依據我們的經驗,芯片啟動后第一件事是進行初始化,具體對哪些模塊或者如何進行初始化,這期我們就來聊聊如何對芯片進行初始化。
2.InitSysCtrl
TI官網給我們提供了InitSysCtrl函數,我們芯片啟動后的第一件事,就是調用這個函數來對它進行初始化配置。
該函數在我們的工程的MCU_Library/src路徑下,其內容如上圖所示。
3.關閉看門狗
一般在器件進行所有初始化配置之前,我們需要關閉看門狗再去配置,防止在配置過程中因沒有喂狗而導致看門狗復位,程序始終跑不起來。
禁止看門狗的程序如上圖所示,在WDCR寄存器中寫入0x0068。
至于為什么寫入0x0068,詳情請看上圖的寄存器描述。
4.鎖相環配置
我們首先了解下系統的時鐘來源。
如上圖所示,系統時鐘可以由外部時鐘輸入,還可以由外部晶振通過內部振蕩器產生時鐘。
無論是哪種時鐘源,我們都可以對其進行分頻、倍頻。一般我們使用30M外部晶振,經過內部振蕩器得到時鐘源。而28335推薦最高穩定頻率為150Mhz,既然我們花較為高昂的價格使用這款產品,我們就應該盡量釋放它的性能。
時鐘源在供給到CPU之前,可通過 PLLCR[DIV]、PLLSTS[DIVSEL]對其倍頻、分頻操作。
上圖表格描述了這兩個寄存器配置相應的值后得到系統主頻的算式,我們可依據此表格進行配置。
當然,這個配置它有一定的限制條件。
這些是一些限制條件,在TI提供給我們的配置函數全部有所體現,我們就不一一描述,我們可以對照程序和文檔觀察,很容易就能發現它的配置規律。配置流程圖如下。
TI提供給我們的例程中的函數就是如上圖所示的流程所配置的。
5.外設時鐘初始化
初始化系統時鐘后,我們對外設時鐘進行初始化,外設時鐘框圖如下圖所示。
一般外設時鐘有二級分頻,首先是高速外設時鐘、低速外設時鐘對系統時鐘的分頻,然后是某個外設對高速外設時鐘或低速外設時鐘的分頻。
在某個外設對高速外設時鐘或低速外設時鐘分頻之前,我們需要使能該外設時鐘才能進行操作。為了避免后續外設使用過程中因沒開時鐘導致的一系列錯誤問題,我們在對系統進行初始化時,將外設時鐘使能(打開)。
外設時鐘的配置如下圖所示。
這里的相關寄存器配置非常清晰,這里不再重復啰嗦。特別的是,中間進行了ADC校準,所以推斷芯片默認引導方式是沒有進行ADC校準的。
本節內容講述了芯片時鐘系統和其初始化過程,那么后續還需繼續初始化其他模塊,我們下期再見。
-
芯片
+關注
關注
454文章
50460瀏覽量
421971 -
看門狗
+關注
關注
10文章
559瀏覽量
70754 -
時鐘
+關注
關注
10文章
1721瀏覽量
131378 -
函數
+關注
關注
3文章
4308瀏覽量
62445 -
DSP28335
+關注
關注
22文章
58瀏覽量
40594
發布評論請先 登錄
相關推薦
評論