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