第3章 TMS320F2812 DSP的內(nèi)部資源_第1頁
第3章 TMS320F2812 DSP的內(nèi)部資源_第2頁
第3章 TMS320F2812 DSP的內(nèi)部資源_第3頁
第3章 TMS320F2812 DSP的內(nèi)部資源_第4頁
第3章 TMS320F2812 DSP的內(nèi)部資源_第5頁
已閱讀5頁,還剩129頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院3.1 中央處理單元中央處理單元CPU 3.1.1 CPU的兼容性的兼容性 3.1.2 CPU的組成及主要特性的組成及主要特性 3.1.3 CPU的結(jié)構(gòu)及總線的結(jié)構(gòu)及總線 3.1.4 CPU的寄存器的寄存器3.2 時鐘和系統(tǒng)控制時鐘和系統(tǒng)控制 3.2.1 時鐘時鐘 3.2.2 晶體振蕩器及鎖相環(huán)晶體振蕩器及鎖相環(huán)PLL 3.2.3 低功耗模式低功耗模式 3.2.4 看門狗模塊看門狗模塊 3.2.5 CPU定時器定時器周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院3.3 存儲器及外部擴(kuò)展接口存儲器及外部擴(kuò)展接口XINTF 3.

2、3.1 TMS320F2812 DSP的存儲器結(jié)構(gòu)的存儲器結(jié)構(gòu) 3.3.2 TMS320F2812 DSP的存儲器映射圖的存儲器映射圖 3.3.3 片內(nèi)片內(nèi)SARAM 3.3.4 片內(nèi)片內(nèi)Flash和和OTP存儲器存儲器 3.3.5 片內(nèi)片內(nèi)Boot ROM 3.3.6 代碼安全模塊(代碼安全模塊(CSM) 3.3.7 外設(shè)幀外設(shè)幀PF 3.3.8 外部擴(kuò)展接口外部擴(kuò)展接口XINTF3.4 程序流程序流 3.4.1 中斷中斷 3.4.2 分支、調(diào)用及返回分支、調(diào)用及返回 3.4.3 單個指令的重復(fù)執(zhí)行單個指令的重復(fù)執(zhí)行 3.4.4 指令流水線指令流水線周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程

3、電氣工程學(xué)院學(xué)院3.5 中斷系統(tǒng)及復(fù)位中斷系統(tǒng)及復(fù)位 3.5.1 TMS320F2812 DSP中斷概述中斷概述 3.5.2 中斷向量和優(yōu)先級中斷向量和優(yōu)先級 3.5.3 可屏蔽中斷可屏蔽中斷 3.5.4 不可屏蔽中斷不可屏蔽中斷 3.5.5 非法指令陷阱非法指令陷阱 3.5.6 硬件復(fù)位操作硬件復(fù)位操作 3.5.5 片內(nèi)外設(shè)中斷擴(kuò)展(片內(nèi)外設(shè)中斷擴(kuò)展(PIE)周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 TMS320C28x定點(diǎn)系列定點(diǎn)系列DSP芯片內(nèi)部資源有三個主要部分:中央處理芯片內(nèi)部資源有三個主要部分:中央處理單元(單元(CPU)、存儲器和片內(nèi)外設(shè)。所有的)、存儲器和片內(nèi)

4、外設(shè)。所有的C28x定點(diǎn)系列定點(diǎn)系列DSP芯片都采芯片都采用同樣的用同樣的CPU、總線結(jié)構(gòu)和指令集。不同的芯片具有各自不同的片內(nèi)存、總線結(jié)構(gòu)和指令集。不同的芯片具有各自不同的片內(nèi)存儲器配置和片內(nèi)外設(shè)。儲器配置和片內(nèi)外設(shè)。 本書中提到的本書中提到的32位位C28x定點(diǎn)系列定點(diǎn)系列DSP芯片包括芯片包括F281x和和C281x,其中,其中F281x包括包括F2810/1/2三款芯片,而本書主要講述三款芯片,而本書主要講述TMS320F2812芯片的相芯片的相關(guān)內(nèi)容。關(guān)內(nèi)容。TMS320F2812是是TI公司推出的功能強(qiáng)、性能優(yōu)越、低功耗的公司推出的功能強(qiáng)、性能優(yōu)越、低功耗的32位定點(diǎn)位定點(diǎn)DSP芯

5、片,其時鐘周期為芯片,其時鐘周期為6.67ns(時鐘頻率為(時鐘頻率為150MHz),采用改),采用改進(jìn)的哈佛總線結(jié)構(gòu),通過獨(dú)立的數(shù)據(jù)總線和地址總線,很大程度上提高進(jìn)的哈佛總線結(jié)構(gòu),通過獨(dú)立的數(shù)據(jù)總線和地址總線,很大程度上提高了運(yùn)算速度。了運(yùn)算速度。 本章主要講述本章主要講述TMS320F2812 DSP芯片的內(nèi)部資源,包括中央處理單芯片的內(nèi)部資源,包括中央處理單元元CPU、時鐘和系統(tǒng)控制、存儲器及外部擴(kuò)展接口、程序流以及中斷系、時鐘和系統(tǒng)控制、存儲器及外部擴(kuò)展接口、程序流以及中斷系統(tǒng)及復(fù)位等內(nèi)容。統(tǒng)及復(fù)位等內(nèi)容。 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院3.1 中央處理單元

6、中央處理單元CPU TMS320C28x系列的系列的CPU是一個低成本的是一個低成本的32位定點(diǎn)處理位定點(diǎn)處理器。它集中了數(shù)字信號處理的最佳特征,包括精簡指令集計器。它集中了數(shù)字信號處理的最佳特征,包括精簡指令集計算功能(算功能(RISC)、微控制器架構(gòu)、固件和工具集、改進(jìn)的)、微控制器架構(gòu)、固件和工具集、改進(jìn)的哈佛結(jié)構(gòu)以及循環(huán)尋址。哈佛結(jié)構(gòu)以及循環(huán)尋址。 中央處理單元(中央處理單元(CPU)負(fù)責(zé)進(jìn)行程序流的控制和指令的)負(fù)責(zé)進(jìn)行程序流的控制和指令的處理。它完成數(shù)據(jù)的傳送,執(zhí)行算數(shù)運(yùn)算、布爾邏輯、乘法處理。它完成數(shù)據(jù)的傳送,執(zhí)行算數(shù)運(yùn)算、布爾邏輯、乘法和移位操作等。當(dāng)執(zhí)行有符號的數(shù)學(xué)運(yùn)算時,和

7、移位操作等。當(dāng)執(zhí)行有符號的數(shù)學(xué)運(yùn)算時,CPU采用二采用二進(jìn)制補(bǔ)碼進(jìn)行運(yùn)算。改進(jìn)的哈佛架構(gòu)使進(jìn)制補(bǔ)碼進(jìn)行運(yùn)算。改進(jìn)的哈佛架構(gòu)使CPU的指令和數(shù)據(jù)的指令和數(shù)據(jù)獲取可并行執(zhí)行。獲取可并行執(zhí)行。CPU可以在寫入數(shù)據(jù)的同時進(jìn)行讀取指可以在寫入數(shù)據(jù)的同時進(jìn)行讀取指令和數(shù)據(jù),還可以同時進(jìn)行流水線中的單周期指令操作。令和數(shù)據(jù),還可以同時進(jìn)行流水線中的單周期指令操作。CPU通過通過6組獨(dú)立的地址和數(shù)據(jù)總線完成這些操作。組獨(dú)立的地址和數(shù)據(jù)總線完成這些操作。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 在在TMS320C2000系列中,系列中,CPU內(nèi)核為:內(nèi)核為:C20 x/C24xC240 x:C

8、2xLP:C27x/C28x:C27x、C28x 這些這些CPU的硬件結(jié)構(gòu)有一定差別,指令集也不相同,但的硬件結(jié)構(gòu)有一定差別,指令集也不相同,但是,在是,在C28x芯片中可以通過選擇兼容特性模式,使芯片中可以通過選擇兼容特性模式,使C28xCPU與與C27xCPU及及C2xLPCPU具有最佳兼容性。具有最佳兼容性。 可通過可通過狀態(tài)寄存器狀態(tài)寄存器STl的位的位OBJMODE和位和位AMODE的的組合,選定模式。組合,選定模式。 3.1.1 CPU的兼容性的兼容性周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院C28x芯片具有芯片具有3種操作模式:種操作模式: C28x模式:模式:在

9、該模式中,用戶可以使用在該模式中,用戶可以使用C28x的所有有效特性、尋址方式的所有有效特性、尋址方式 和指令系統(tǒng),因此,一般應(yīng)使和指令系統(tǒng),因此,一般應(yīng)使C28x芯片工作于該種模式。芯片工作于該種模式。 C27x目標(biāo)目標(biāo)兼容模式:兼容模式:在復(fù)位時,在復(fù)位時,C28x的的CPU處于處于C27x目標(biāo)目標(biāo)-兼兼 容模式。在該模式下,目標(biāo)碼與容模式。在該模式下,目標(biāo)碼與C27xCPU完全兼容,且它的完全兼容,且它的 循環(huán)循環(huán)計數(shù)也與計數(shù)也與C27xCPU兼容。兼容。 C2xLP源源兼容模式:兼容模式:該模式允許用戶運(yùn)行該模式允許用戶運(yùn)行C2xLP的源代碼,這的源代碼,這 些源代碼是用些源代碼是用C

10、28x代碼生成工具編譯生成的。代碼生成工具編譯生成的。 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 CPUCPU 內(nèi)核內(nèi)核能夠產(chǎn)生數(shù)據(jù)和地址存儲地址,它的主要任務(wù)是編碼和運(yùn)行指令;能夠產(chǎn)生數(shù)據(jù)和地址存儲地址,它的主要任務(wù)是編碼和運(yùn)行指令;執(zhí)行算術(shù)、邏輯和移位操作;控制寄存器陣列內(nèi)的數(shù)據(jù)轉(zhuǎn)移、數(shù)據(jù)存儲和程序存儲等。執(zhí)行算術(shù)、邏輯和移位操作;控制寄存器陣列內(nèi)的數(shù)據(jù)轉(zhuǎn)移、數(shù)據(jù)存儲和程序存儲等。 仿真邏輯單元仿真邏輯單元監(jiān)視和控制監(jiān)視和控制CPU以及以及DSP各個部分及其運(yùn)行狀態(tài),并實(shí)現(xiàn)各個部分及其運(yùn)行狀態(tài),并實(shí)現(xiàn)對設(shè)備的測試和調(diào)試。用戶通過對設(shè)備的測試和調(diào)試。用戶通過CCS的調(diào)試器工

11、具以及硬件的調(diào)試器工具以及硬件JTAG仿真器來訪問和操作仿真器來訪問和操作仿真邏輯單元。仿真邏輯單元。 CPU信號信號 產(chǎn)生存儲器和外圍設(shè)備的接口信號以及產(chǎn)生存儲器和外圍設(shè)備的接口信號以及CPU的時鐘和控的時鐘和控制信號,顯示制信號,顯示CPU狀態(tài)、仿真邏輯信號以及正在使用的中斷情況。狀態(tài)、仿真邏輯信號以及正在使用的中斷情況。內(nèi)核組成:內(nèi)核組成:3.1.2 CPU的組成及主要特性的組成及主要特性周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 存儲器接口信號:存儲器接口信號:這些信號在這些信號在CPU、存儲器和外設(shè)之間進(jìn)行數(shù)據(jù)傳、存儲器和外設(shè)之間進(jìn)行數(shù)據(jù)傳 輸;進(jìn)行程序存儲器和數(shù)據(jù)存

12、儲器的訪問;并輸;進(jìn)行程序存儲器和數(shù)據(jù)存儲器的訪問;并 根據(jù)不同的字段長度區(qū)分不同的存取操作根據(jù)不同的字段長度區(qū)分不同的存取操作(16位或位或32位位)。 時鐘和控制信號:時鐘和控制信號:這些信號為這些信號為CPU和仿真邏輯提供時鐘,它們可以用來和仿真邏輯提供時鐘,它們可以用來 監(jiān)視和控制監(jiān)視和控制CPU狀態(tài)。狀態(tài)。 復(fù)位和中斷信號:復(fù)位和中斷信號:這些信號用來產(chǎn)生硬件復(fù)位和中斷輕輕,并用來監(jiān)視中這些信號用來產(chǎn)生硬件復(fù)位和中斷輕輕,并用來監(jiān)視中 斷的狀態(tài)。斷的狀態(tài)。 仿真信號:仿真信號:這些信號用來測試和調(diào)試。這些信號用來測試和調(diào)試。CPU信號它主要包括有信號它主要包括有4種信號:種信號: 周

13、鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院C28x系列系列CPU的主要特性:的主要特性: 保護(hù)流水線:保護(hù)流水線:CPU具有具有8級流水線,可以避免同時對一個地址空間的數(shù)據(jù)進(jìn)級流水線,可以避免同時對一個地址空間的數(shù)據(jù)進(jìn) 行讀行讀/寫。寫。 獨(dú)立寄存器空間:獨(dú)立寄存器空間:在在CPU中含有一些被映像至數(shù)據(jù)空間的寄存器。這些中含有一些被映像至數(shù)據(jù)空間的寄存器。這些 寄存器可以作為系統(tǒng)控制寄存器、數(shù)學(xué)寄存器和數(shù)據(jù)寄存器可以作為系統(tǒng)控制寄存器、數(shù)學(xué)寄存器和數(shù)據(jù) 指針。指針。系統(tǒng)控制寄存器可由特殊的指令進(jìn)行操作,而系統(tǒng)控制寄存器可由特殊的指令進(jìn)行操作,而 其他寄存器則通過特殊指令或寄存器尋

14、址模式來操作其他寄存器則通過特殊指令或寄存器尋址模式來操作。 算術(shù)邏輯單元算術(shù)邏輯單元(ALU):32位的位的ALU完成二進(jìn)制補(bǔ)碼算術(shù)和布爾邏輯操作。完成二進(jìn)制補(bǔ)碼算術(shù)和布爾邏輯操作。 地址寄存器算術(shù)單元地址寄存器算術(shù)單元(ARAU):ARAU產(chǎn)生數(shù)據(jù)存儲地址以及與產(chǎn)生數(shù)據(jù)存儲地址以及與ALU 并行操作的增量和減量指針。并行操作的增量和減量指針。 桶形移位器:桶形移位器:執(zhí)行最多執(zhí)行最多16位的數(shù)據(jù)左移位和右移位操作。位的數(shù)據(jù)左移位和右移位操作。 乘法器:乘法器:執(zhí)行執(zhí)行32位位x32位的二進(jìn)制補(bǔ)碼乘法運(yùn)算,獲得位的二進(jìn)制補(bǔ)碼乘法運(yùn)算,獲得64位的乘積。乘法可位的乘積。乘法可 以在有符號數(shù)和無

15、符號數(shù)之間進(jìn)行。以在有符號數(shù)和無符號數(shù)之間進(jìn)行。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院TMS320C2000系列內(nèi)部結(jié)構(gòu)系列內(nèi)部結(jié)構(gòu)芯片組成芯片組成 特特 點(diǎn)點(diǎn) 32位位 定點(diǎn)定點(diǎn) 改進(jìn)哈佛結(jié)構(gòu)改進(jìn)哈佛結(jié)構(gòu) 循環(huán)的尋址方式。循環(huán)的尋址方式。 組組 成成 內(nèi)核內(nèi)核 存儲器存儲器 片內(nèi)外設(shè)片內(nèi)外設(shè)內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)片片 內(nèi)內(nèi) 外外 設(shè)設(shè)片內(nèi)存儲器片內(nèi)存儲器中斷處理中斷處理程序和數(shù)據(jù)存儲邏輯程序和數(shù)據(jù)存儲邏輯乘法器乘法器 桶形移位器桶形移位器地址寄存器算術(shù)單元地址寄存器算術(shù)單元算術(shù)邏輯單元算術(shù)邏輯單元內(nèi)核內(nèi)核(紅框)(紅框)可視化的實(shí)時仿真可視化的實(shí)時仿真預(yù)取隊列預(yù)取隊列 指令譯碼

16、指令譯碼程序和數(shù)據(jù)地址發(fā)生器程序和數(shù)據(jù)地址發(fā)生器3.1.3 CPU的結(jié)構(gòu)及總線的結(jié)構(gòu)及總線周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院C28x DSP的的CPU 單元主要結(jié)構(gòu)框圖單元主要結(jié)構(gòu)框圖周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 C28x的的CPU主要由總線、主要由總線、CPU寄存器、程序地址發(fā)寄存器、程序地址發(fā)生器和控制邏輯、地址寄存器算術(shù)單元生器和控制邏輯、地址寄存器算術(shù)單元(ARAU)、算術(shù)邏、算術(shù)邏輯單元輯單元(ALU)、乘法器和移位器等邏輯部件組成,還包括、乘法器和移位器等邏輯部件組成,還包括指令隊列和指令譯碼單元、中斷處理邏輯等。指令隊列和指令

17、譯碼單元、中斷處理邏輯等。 ALU為為32位的運(yùn)算邏輯單元,主要執(zhí)行算術(shù)運(yùn)算和位的運(yùn)算邏輯單元,主要執(zhí)行算術(shù)運(yùn)算和布爾運(yùn)算。在運(yùn)算之前,布爾運(yùn)算。在運(yùn)算之前,ALU從寄存器、數(shù)據(jù)存儲器或從寄存器、數(shù)據(jù)存儲器或程序控制邏輯單元接收數(shù)據(jù),然后進(jìn)行運(yùn)算,最后把結(jié)果程序控制邏輯單元接收數(shù)據(jù),然后進(jìn)行運(yùn)算,最后把結(jié)果存入寄存器或數(shù)據(jù)存儲器中。存入寄存器或數(shù)據(jù)存儲器中。 32位的乘法器,可執(zhí)行位的乘法器,可執(zhí)行3232位的補(bǔ)碼乘法,并產(chǎn)生位的補(bǔ)碼乘法,并產(chǎn)生64位的結(jié)果。乘法器采用位的結(jié)果。乘法器采用32位乘數(shù)寄存器位乘數(shù)寄存器(XT,)、32位乘積位乘積寄存器寄存器(P)和和32位累加器位累加器(ACC

18、)。CPU的移位器實(shí)現(xiàn)對操作的移位器實(shí)現(xiàn)對操作數(shù)的移位操作。數(shù)的移位操作。 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 存儲器接口有存儲器接口有3組地址總線:組地址總線: 1PAB(Program Address Bus)程序地址總線:程序地址總線:PAB用來傳送來自用來傳送來自程序空間程序空間的的讀讀寫寫地址。地址。PAB是一個是一個22位的總線。位的總線。 2DRAB(Data-Read Address Bus)數(shù)據(jù)讀地址總線數(shù)據(jù)讀地址總線:32位的位的DRAB用來傳送來自用來傳送來自數(shù)據(jù)空間數(shù)據(jù)空間的的讀讀地址。地址。 3DWAB(Data-Write Address B

19、us)數(shù)據(jù)寫地址總線數(shù)據(jù)寫地址總線:32位的位的DWAB用來傳送來用來傳送來自自數(shù)據(jù)空間數(shù)據(jù)空間的的寫寫地址。地址。 存儲器接口還有存儲器接口還有3組數(shù)據(jù)總線:組數(shù)據(jù)總線: 1PRDB(Program-Read DataBus)程序讀數(shù)據(jù)總線:程序讀數(shù)據(jù)總線:PRDB在在讀取讀取程序空間程序空間時用來時用來傳送指令或數(shù)據(jù)。傳送指令或數(shù)據(jù)。PRDB是一個是一個32位的總線。位的總線。 2DRDB(Data-ReadDataBus)數(shù)據(jù)讀數(shù)據(jù)總線數(shù)據(jù)讀數(shù)據(jù)總線:DRDB在在讀取讀取數(shù)據(jù)空間數(shù)據(jù)空間時用來傳時用來傳送數(shù)據(jù)。送數(shù)據(jù)。DRDB是一個是一個32位的總線。位的總線。 3DWDB(DataPr

20、ogram-WriteDataBus)數(shù)據(jù)程序?qū)憯?shù)據(jù)總線數(shù)據(jù)程序?qū)憯?shù)據(jù)總線:32位的位的DWDB在對在對數(shù)據(jù)空間數(shù)據(jù)空間和和程序空間程序空間寫寫數(shù)據(jù)時用來傳送數(shù)據(jù)。數(shù)據(jù)時用來傳送數(shù)據(jù)。地址和數(shù)據(jù)總線地址和數(shù)據(jù)總線周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 表表3-2給出了在訪問數(shù)據(jù)空間和程序空間時如何使用這給出了在訪問數(shù)據(jù)空間和程序空間時如何使用這些總線些總線。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 注意:注意:程序空間的讀和寫不能同時發(fā)生,因?yàn)樗鼈兌家钩绦蚩臻g的讀和寫不能同時發(fā)生,因?yàn)樗鼈兌家褂贸绦虻刂房偩€用程序地址總線PAB。程序空間的寫和數(shù)據(jù)空間的

21、寫也不能同。程序空間的寫和數(shù)據(jù)空間的寫也不能同時發(fā)生,因?yàn)閮烧叨家褂脭?shù)據(jù)程序?qū)憯?shù)據(jù)總線時發(fā)生,因?yàn)閮烧叨家褂脭?shù)據(jù)程序?qū)憯?shù)據(jù)總線DWDB。而。而運(yùn)用不同總線的傳輸是可以同時發(fā)生的。運(yùn)用不同總線的傳輸是可以同時發(fā)生的。如:如:CPU可以在程序空間完成讀操作可以在程序空間完成讀操作(使用使用PAB和和PRDB), 在數(shù)據(jù)空間完成讀操作在數(shù)據(jù)空間完成讀操作(使用使用DRAB和和DRDB), 同時同時在數(shù)據(jù)空間進(jìn)行寫操作在數(shù)據(jù)空間進(jìn)行寫操作(使用使用DWAB和和DWDB)。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院累加器累加器(ACC(ACC、AHAH、AL)AL)乘數(shù)寄存器乘數(shù)寄存

22、器(XT(XT、T T、TL)TL)和乘積寄存器和乘積寄存器(P(P、PHPH、PL) PL) 數(shù)據(jù)頁指針寄存器數(shù)據(jù)頁指針寄存器(DP) (DP) 堆棧指針堆棧指針(SP) (SP) 輔助寄存器輔助寄存器(XAR0(XAR0XAR7XAR7、AR0AR0AR7) AR7) 程序計數(shù)器程序計數(shù)器(PC) (PC) 返回返回PCPC指針寄存器指針寄存器(RPC) (RPC) 中斷控制寄存器中斷控制寄存器(IFR(IFR、IERIER、DBGIER) DBGIER) 狀態(tài)寄存器狀態(tài)寄存器(ST0(ST0,STlSTl) ) 3.1.4 CPU的寄存器的寄存器周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程

23、電氣工程學(xué)院學(xué)院寄存器寄存器大小大小描述描述復(fù)位后結(jié)果復(fù)位后結(jié)果ACC(AH,AL)32位位累加器累加器0 x00000000XAR0732位位輔助寄存器輔助寄存器070 x00000000AR0716位位輔助寄存器輔助寄存器XAR0XAR07 7的的低低1616位位0 x0000DP16位位數(shù)據(jù)頁指針數(shù)據(jù)頁指針0 x0000IFR16位位中斷標(biāo)志寄存器中斷標(biāo)志寄存器0 x0000IER16位位允許中斷寄存器允許中斷寄存器0 x0000DBGIER16位位允許中斷調(diào)試寄存器允許中斷調(diào)試寄存器0 x0000P(PH,PL)32位位乘積結(jié)果寄存器乘積結(jié)果寄存器0 x00000000PC22位位程序

24、計數(shù)器程序計數(shù)器0 x3F FFC0PAB是是22位的位的周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院寄存器寄存器大小大小描述描述復(fù)位后結(jié)果復(fù)位后結(jié)果RPC22位位返回程序計數(shù)器返回程序計數(shù)器0 x00000000SP16位位堆棧指針堆棧指針0 x400ST016位位狀態(tài)寄存器狀態(tài)寄存器00 x0000ST116位位狀態(tài)寄存器狀態(tài)寄存器10 x080BXT(T,TL)32位位被乘數(shù)寄存器被乘數(shù)寄存器0 x00000000周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院(1) 累加器累加器(ACC、AH、AL)周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院乘數(shù)

25、寄存器乘數(shù)寄存器XT的分半單獨(dú)存取結(jié)構(gòu)的分半單獨(dú)存取結(jié)構(gòu) P寄存器的分半單獨(dú)存取結(jié)構(gòu)寄存器的分半單獨(dú)存取結(jié)構(gòu) (2) 乘數(shù)寄存器乘數(shù)寄存器(XT、T、TL)和乘積寄存器和乘積寄存器(P、PH、PL) 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院被乘數(shù)寄存器被乘數(shù)寄存器(XT) 被乘數(shù)寄存器被乘數(shù)寄存器(XT寄存器寄存器)主要用于在主要用于在32位乘法操作之前,位乘法操作之前,存放一個存放一個32位有符號整數(shù)值。位有符號整數(shù)值。XT寄存器的低寄存器的低16位部分是位部分是TL寄存器。該寄存器能裝載一個寄存器。該寄存器能裝載一個16位有符號數(shù),能自動位有符號數(shù),能自動對該數(shù)進(jìn)行符號擴(kuò)

26、展,然后將其送人對該數(shù)進(jìn)行符號擴(kuò)展,然后將其送人32位位XT寄存器。寄存器。XT寄存器的高寄存器的高16位部分是位部分是T寄存器。該寄存器主要用來寄存器。該寄存器主要用來存儲存儲16位乘法操作之前的位乘法操作之前的16位整數(shù)值。位整數(shù)值。T寄存器也可以為寄存器也可以為一些移位操作設(shè)定移位值,在這種情況下,根據(jù)指令,一些移位操作設(shè)定移位值,在這種情況下,根據(jù)指令,只可以使用只可以使用T寄存器的一部分。寄存器的一部分。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院乘積結(jié)果寄存器乘積結(jié)果寄存器(P、PH、PL) 乘積寄存器乘積寄存器P主要用來存放乘法運(yùn)算的結(jié)果。它也可以主要用來存放乘法運(yùn)

27、算的結(jié)果。它也可以直接裝入一個直接裝入一個16位常數(shù),或者從一個位常數(shù),或者從一個16位位32位的數(shù)據(jù)位的數(shù)據(jù)存儲器、存儲器、16位位32位的可尋址位的可尋址CPU寄存器以及寄存器以及32位累加位累加器中讀取數(shù)據(jù)。器中讀取數(shù)據(jù)。P寄存器可以作為一個寄存器可以作為一個32位寄存器或兩個位寄存器或兩個獨(dú)立的獨(dú)立的16位寄存器:位寄存器:PH(高高16位位)和和PL(低低16位位)來使用。來使用。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院(3) 數(shù)據(jù)頁指針寄存器數(shù)據(jù)頁指針寄存器(DP) 在直接尋址方式中,操作數(shù)的地址由兩部分組成:一在直接尋址方式中,操作數(shù)的地址由兩部分組成:一個頁地

28、址個頁地址(Data Page)和一個頁內(nèi)的偏移量。和一個頁內(nèi)的偏移量。C28x的數(shù)據(jù)的數(shù)據(jù)存儲器每存儲器每64個字構(gòu)成一個數(shù)據(jù)頁,這樣,個字構(gòu)成一個數(shù)據(jù)頁,這樣,4MW的數(shù)據(jù)存的數(shù)據(jù)存儲器共有儲器共有65536個數(shù)據(jù)頁,用個數(shù)據(jù)頁,用065535進(jìn)行標(biāo)號。在直接尋進(jìn)行標(biāo)號。在直接尋址方式下,當(dāng)前的頁地址存放于址方式下,當(dāng)前的頁地址存放于16位的數(shù)據(jù)頁指針寄存器位的數(shù)據(jù)頁指針寄存器(DP)中,可以通過給中,可以通過給DP賦新值可改變數(shù)據(jù)頁號。當(dāng)賦新值可改變數(shù)據(jù)頁號。當(dāng)CPU工作在工作在C2xLP源兼容模式時,使用一個源兼容模式時,使用一個7位的偏移量,并位的偏移量,并忽略忽略DP寄存器的最低位

29、。寄存器的最低位。 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院數(shù)據(jù)存儲器的數(shù)據(jù)頁數(shù)據(jù)存儲器的數(shù)據(jù)頁 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院(4) 堆棧指針堆棧指針(SP) 堆棧指針堆棧指針(SP)允許在數(shù)據(jù)存儲器中使用軟件堆棧。堆棧指針為允許在數(shù)據(jù)存儲器中使用軟件堆棧。堆棧指針為16位,可位,可以對數(shù)據(jù)空間的低以對數(shù)據(jù)空間的低64K (數(shù)據(jù)存儲器數(shù)據(jù)存儲器0000HFFFFH)進(jìn)行尋址。當(dāng)使用進(jìn)行尋址。當(dāng)使用SP時,將時,將32位地址的高位地址的高16位置為位置為0。復(fù)位后。復(fù)位后SP指向地址指向地址00000400h。堆棧。堆棧操作說明如下:操作說明如下:

30、(1)堆棧從低地址向高地址增長。)堆棧從低地址向高地址增長。(2)SP總是指向堆棧中的下一個空域。總是指向堆棧中的下一個空域。(3)復(fù)位時,)復(fù)位時,SP被初始化,它指向地址被初始化,它指向地址0000 0400h。(4)將)將32位數(shù)值存入堆棧時,先存入低位數(shù)值存入堆棧時,先存入低16位,然后將高位,然后將高16位存入下一個位存入下一個高地址中。高地址中。(5)當(dāng)讀寫)當(dāng)讀寫32位的數(shù)值時位的數(shù)值時,C28x CPU期望存儲器或外設(shè)接口邏輯把讀寫期望存儲器或外設(shè)接口邏輯把讀寫排成偶數(shù)地址。例如,如果排成偶數(shù)地址。例如,如果SP包含一個奇數(shù)地址包含一個奇數(shù)地址0000 0083h,那么,進(jìn),那

31、么,進(jìn)行一個行一個32位的讀操作時,將從地址位的讀操作時,將從地址0000 0082h和和0000 0083h中讀取數(shù)值。中讀取數(shù)值。(6)如果增加)如果增加SP的值,使它超過的值,使它超過FFFFh,或者減少,或者減少SP的值,使它低于的值,使它低于0000h,則表明,則表明SP已經(jīng)溢出。如果增加已經(jīng)溢出。如果增加SP的值使它超過了的值使它超過了FFFFh,它就,它就會從會從0000h開始計數(shù)。例如,如果開始計數(shù)。例如,如果SP=FFFFh而而個指令又向個指令又向SP加加3,則,則結(jié)果就是結(jié)果就是00001h。當(dāng)減少。當(dāng)減少SP的值使它到達(dá)的值使它到達(dá)0000h,它就會重新從,它就會重新從F

32、FFFh計數(shù)。例如,如果計數(shù)。例如,如果SP=0002h而一個指令又從而一個指令又從SP減減4,則結(jié)果就是,則結(jié)果就是FFFFh。 (7)當(dāng)數(shù)值存入堆棧時,)當(dāng)數(shù)值存入堆棧時,SP并不要求排成奇數(shù)或偶數(shù)地址。排列由存并不要求排成奇數(shù)或偶數(shù)地址。排列由存儲器或外設(shè)接口邏輯完成。儲器或外設(shè)接口邏輯完成。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院(5) 輔助寄存器輔助寄存器(XAR0XAR7、AR0AR7)XAR0XAR7寄存器寄存器 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 CPU CPU提供提供8 8個個3232位的輔助寄存器:位的輔助寄存器:XAR0XAR0、

33、XAR1XAR1、XAR2XAR2、XAR3XAR3、XAR4XAR4、XAR5XAR5、XAR6XAR6、XAR7XAR7。它們可以作。它們可以作為地址指針指向存儲器,或者作為通用目的寄存器使為地址指針指向存儲器,或者作為通用目的寄存器使用。用。 許多指令可以訪問許多指令可以訪問XAR0-XAR7XAR0-XAR7的低的低1616位,其中,位,其中,輔助寄存器的低輔助寄存器的低1616位為位為AR0-AR7AR0-AR7,它們用作循環(huán)控制,它們用作循環(huán)控制和和1616位比較的通用目的寄存器。位比較的通用目的寄存器。 當(dāng)訪問當(dāng)訪問AR0-AR7AR0-AR7時,寄存器的高時,寄存器的高1616

34、位位(AROH-AR7H)(AROH-AR7H)可能改變或不改變,這主要取決于所應(yīng)用的指令??赡芨淖兓虿桓淖儯@主要取決于所應(yīng)用的指令。AR0H-AR7HAR0H-AR7H只能作為只能作為XAR0-XAR7XAR0-XAR7的一部分來讀取,不能的一部分來讀取,不能單獨(dú)進(jìn)行訪問。單獨(dú)進(jìn)行訪問。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院(6) 程序計數(shù)器程序計數(shù)器(PC) C28x C28x的程序計數(shù)器(的程序計數(shù)器(PCPC)是一個)是一個2222位的寄存器,存放當(dāng)前位的寄存器,存放當(dāng)前CPUCPU正在操作指令的地址。當(dāng)流水線滿的時候,正在操作指令的地址。當(dāng)流水線滿的時候,222

35、2位的程序指位的程序指針總是指向當(dāng)前操作的指令,該指令剛剛到達(dá)流水線譯碼的第針總是指向當(dāng)前操作的指令,該指令剛剛到達(dá)流水線譯碼的第二階段。一旦指令到達(dá)了流水線的這一階段,它就不會再被中二階段。一旦指令到達(dá)了流水線的這一階段,它就不會再被中斷從流水線中清除掉,而是在中斷執(zhí)行之前就被執(zhí)行。斷從流水線中清除掉,而是在中斷執(zhí)行之前就被執(zhí)行。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院(7) 返回程序寄存器返回程序寄存器(RPC) 有兩對長調(diào)用指令:有兩對長調(diào)用指令:LC和和LRET,LCR和和LRETR。LCR和和LRETR執(zhí)行效率更高,只有執(zhí)行效率更高,只有LCR和和LRETR指令使用

36、指令使用RPC。當(dāng)使用當(dāng)使用LCR指令時,當(dāng)前指令時,當(dāng)前RPC的值被壓入堆棧。返回地址將的值被壓入堆棧。返回地址將被裝載到被裝載到RPC寄存器中,而寄存器中,而22位的函數(shù)入口地址將被裝載到位的函數(shù)入口地址將被裝載到PC計數(shù)器,從而使流程轉(zhuǎn)入函數(shù)體中運(yùn)行。調(diào)用結(jié)束通過計數(shù)器,從而使流程轉(zhuǎn)入函數(shù)體中運(yùn)行。調(diào)用結(jié)束通過LRETR指令返回時,存放在指令返回時,存放在RPC內(nèi)的返回地址裝載到內(nèi)的返回地址裝載到PC中,中,而壓入堆棧中的而壓入堆棧中的RPC的值從堆棧中裝載到的值從堆棧中裝載到RPC內(nèi)。內(nèi)。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院(8) 中斷控制寄存器中斷控制寄存器(I

37、FR、IER、DBGIER) C28xC28x有有3 3個寄存器用于控制中斷:中斷標(biāo)志寄存器個寄存器用于控制中斷:中斷標(biāo)志寄存器(IFR)(IFR)、中斷使能寄存器中斷使能寄存器(IER)(IER)和調(diào)試中斷使能寄存器和調(diào)試中斷使能寄存器(DBGIER)(DBGIER)。IFRIFR包包含的標(biāo)志位用于可屏蔽中斷含的標(biāo)志位用于可屏蔽中斷( (可以用軟件進(jìn)行屏蔽可以用軟件進(jìn)行屏蔽) )。當(dāng)通過硬。當(dāng)通過硬件或軟件設(shè)定了其中某位時,則相應(yīng)的中斷就被使能??梢杂眉蜍浖O(shè)定了其中某位時,則相應(yīng)的中斷就被使能??梢杂肐ERIER中的相應(yīng)位屏蔽和使能中斷。當(dāng)中的相應(yīng)位屏蔽和使能中斷。當(dāng)DSPDSP工作在實(shí)

38、時仿真模式并工作在實(shí)時仿真模式并且且CPUCPU被掛起時,被掛起時,DBGIERDBGIER表明可以使用時間臨近中斷表明可以使用時間臨近中斷( (如果被使如果被使能能) )。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院(9) 狀態(tài)寄存器狀態(tài)寄存器(ST0,STl) C28x CPU有兩個重要的狀態(tài)寄存器:有兩個重要的狀態(tài)寄存器:ST0和和ST1,其,其中包含著不同的標(biāo)志位和控制位。中包含著不同的標(biāo)志位和控制位。ST0包含指令操作所使包含指令操作所使用或影響的控制或標(biāo)志位,如溢出、進(jìn)位、符號擴(kuò)展等。用或影響的控制或標(biāo)志位,如溢出、進(jìn)位、符號擴(kuò)展等。ST1則主要包含一些特殊的控制位,

39、如處理器的兼容模式則主要包含一些特殊的控制位,如處理器的兼容模式選擇、尋址模式配置等。選擇、尋址模式配置等。 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院狀態(tài)寄存器狀態(tài)寄存器ST0 OVC/OVCUOVC/OVCU:溢出計數(shù)器。:溢出計數(shù)器。PMPM:乘積移位模式位。:乘積移位模式位。V V:溢出標(biāo)志。:溢出標(biāo)志。N N:負(fù)標(biāo)志位。:負(fù)標(biāo)志位。Z Z:零標(biāo)志。:零標(biāo)志。C C:進(jìn)位位。:進(jìn)位位。TCTC:測試:測試/ /控制標(biāo)志??刂茦?biāo)志。OVMOVM:溢出模式位。:溢出模式位。SXMSXM:符號擴(kuò)展模式位。:符號擴(kuò)展模式位。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院

40、學(xué)院狀態(tài)寄存器狀態(tài)寄存器ST1 ARPARP:輔助寄存器指針。:輔助寄存器指針。XFXF:XFXF狀態(tài)位。該位用于控制輸出引腳狀態(tài)位。該位用于控制輸出引腳XFXF的狀態(tài)。的狀態(tài)。M0M1MAPM0M1MAP:存儲器:存儲器M0M0和和M1M1映射模式位。映射模式位。OBJMODEOBJMODE:目標(biāo)兼容模式位。用來在:目標(biāo)兼容模式位。用來在C27xC27x目標(biāo)模式目標(biāo)模式(=0)(=0)和和C28xC28x目標(biāo)目標(biāo) 模式模式(=1)(=1)之間進(jìn)行選擇。之間進(jìn)行選擇。AMODEAMODE:尋址模式位。在:尋址模式位。在C28xC28x尋址模式尋址模式 (AMODE=0)(AMODE=0)和和C

41、2xLPC2xLP尋址模尋址模 式式(AMODE=1)(AMODE=1)之間進(jìn)行選擇。之間進(jìn)行選擇。 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 IDLESTAT IDLESTAT:空閑狀態(tài)位。:空閑狀態(tài)位。 EALLOW EALLOW:仿真允許訪問使能位。為:仿真允許訪問使能位。為1 1時,可以訪問受保護(hù)的外設(shè)寄存器。時,可以訪問受保護(hù)的外設(shè)寄存器。 LOOP LOOP:循環(huán)指令狀態(tài)位。:循環(huán)指令狀態(tài)位。 SPA SPA:隊棧指針定位:隊棧指針定位(Stack Pointer Alignment)(Stack Pointer Alignment)位。位。 VMAP VMAP:

42、向量映像:向量映像(Vector Map)(Vector Map)位。位。 DBGM DBGM:調(diào)試使能屏蔽位。:調(diào)試使能屏蔽位。 INTM INTM:中斷全局屏蔽位。為:中斷全局屏蔽位。為0 0時,使能可屏蔽中斷。時,使能可屏蔽中斷。 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 本節(jié)講述本節(jié)講述F2812的時鐘、片內(nèi)的振蕩器及鎖相環(huán)的時鐘、片內(nèi)的振蕩器及鎖相環(huán)PLL、低、低功耗模式、看門狗模塊以及功耗模式、看門狗模塊以及3個個32位位CPU定時器定時器(TIMER0/1/2)。)。3.2 時鐘和系統(tǒng)控制時鐘和系統(tǒng)控制周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院

43、F2812的內(nèi)部時鐘和復(fù)位電路結(jié)構(gòu)框圖如圖的內(nèi)部時鐘和復(fù)位電路結(jié)構(gòu)框圖如圖3-9所示。所示。圖中圖中CLKIN是經(jīng)時鐘產(chǎn)生電路提供給是經(jīng)時鐘產(chǎn)生電路提供給CPU的時鐘信號,的時鐘信號,未作處理就直接從未作處理就直接從CPU輸出,成為系統(tǒng)時鐘輸出,成為系統(tǒng)時鐘SYSCLKOUT信號,作為片內(nèi)集成外設(shè)模塊的時鐘源,二者頻率相等,信號,作為片內(nèi)集成外設(shè)模塊的時鐘源,二者頻率相等,即即SYSCLKOUT=CLKIN。此外,片內(nèi)外設(shè)模塊的時鐘被。此外,片內(nèi)外設(shè)模塊的時鐘被分成分成LSPCLK(低速)(低速)和和HSPCLK(高速)(高速)兩組,以方便兩組,以方便用戶設(shè)置各個外設(shè)模塊的工作頻率。用戶設(shè)置各

44、個外設(shè)模塊的工作頻率。 3.2.1 時鐘時鐘周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 在在F2812 DSP芯片上,所有的時鐘、鎖相環(huán)、低功耗芯片上,所有的時鐘、鎖相環(huán)、低功耗模式以及看門狗等都是要通過相應(yīng)的控制寄存器配置,各模式以及看門狗等都是要通過相應(yīng)的控制寄存器配置,各個控制寄存器如表個控制寄存器如表3-8所示。所示。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院外設(shè)時鐘控制寄存器外設(shè)時鐘控制寄存器PCLKCRD15,D13, D9, D7-4 Reserved位。位。D14 ECANENCLK ,

45、若設(shè)為若設(shè)為1,則使能,則使能CAN外設(shè)中的系統(tǒng)時鐘外設(shè)中的系統(tǒng)時鐘SYSCLKOUT 。否則禁止。否則禁止。D12 MCBSPENCLK , 若設(shè)為若設(shè)為1,則使能,則使能McBSP外設(shè)中的低速時鐘外設(shè)中的低速時鐘LSPCLK 。 D11 SCIBENCLK , 若設(shè)為若設(shè)為1,則使能,則使能SCI-B外設(shè)中的低速時鐘外設(shè)中的低速時鐘LSPCLK 。D10 SCIAENCLK , 若設(shè)為若設(shè)為1,則使能,則使能SCI-A外設(shè)中的低速時鐘外設(shè)中的低速時鐘LSPCLK 。D8 SPIBENCLK , 若設(shè)為若設(shè)為1,則使能,則使能SPI外設(shè)中的低速時鐘外設(shè)中的低速時鐘LSPCLK 。D3 ADC

46、ENCLK , 若設(shè)為若設(shè)為1,則使能,則使能ADC外設(shè)中的高速時鐘外設(shè)中的高速時鐘HSPCLK 。D2 Reserved位。位。D1 EVBENCLK , 若設(shè)為若設(shè)為1,則使能,則使能EVB外設(shè)中的高速時鐘外設(shè)中的高速時鐘HSPCLK 。D0 EVAENCLK , 若設(shè)為若設(shè)為1,則使能,則使能EVA外設(shè)中的高速時鐘外設(shè)中的高速時鐘HSPCLK 。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院系統(tǒng)控制和狀態(tài)寄存器系統(tǒng)控制和狀態(tài)寄存器 SCSR D15-3: Reserved D2: WDINTS , 看門狗看門狗WD中斷狀態(tài)位。中斷狀態(tài)位。 D1: WDENINT,看門狗看門狗

47、WD中斷使能位。如果設(shè)為中斷使能位。如果設(shè)為1,則,則WD復(fù)位復(fù)位WDRST輸出信號禁止,看門狗輸出信號禁止,看門狗WD中斷使能。中斷使能。 D0:WD OVERRIDE, WD保護(hù)位。該位是保護(hù)位。該位是個只能清除個只能清除的位,復(fù)位后的位,復(fù)位后=1。通過向該位寫。通過向該位寫1對其清對其清0。為。為0保護(hù)保護(hù)WD,防止防止WD被軟件禁止。被軟件禁止。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院低速外設(shè)時鐘預(yù)定標(biāo)寄存器低速外設(shè)時鐘預(yù)定標(biāo)寄存器LOSPCP若若HSPCP不為不為0,則,則HSPCLK=SYSCLKOUT/(2* HISPCP20 )。 復(fù)位時,默認(rèn)值復(fù)位時,默認(rèn)

48、值001, HSPCLK=SYSCLKOUT/2若若HSPCP=0,則,則HSPCLK=SYSCLKOUT高速外設(shè)時鐘預(yù)定標(biāo)寄存器高速外設(shè)時鐘預(yù)定標(biāo)寄存器HISPCP若若LOSPCP不為不為0,則,則LSPCLK=SYSCLKOUT/(2* LOSPCP20 )。 復(fù)位時,默認(rèn)值復(fù)位時,默認(rèn)值010, LSPCLK=SYSCLKOUT/4若若HSPCP=0,則,則LSPCLK=SYSCLKOUT周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 在在F2812芯片上,有基于鎖相環(huán)(芯片上,有基于鎖相環(huán)(PLL)時鐘產(chǎn)生模塊,)時鐘產(chǎn)生模塊,目的是便于通過軟件實(shí)時地配置目的是便于通過軟件

49、實(shí)時地配置CPU和各種外設(shè)的可編程時和各種外設(shè)的可編程時鐘頻率,每個外設(shè)的時鐘都可以通過相應(yīng)的寄存器使能或關(guān)鐘頻率,每個外設(shè)的時鐘都可以通過相應(yīng)的寄存器使能或關(guān)閉,以提高系統(tǒng)的靈活性和可靠性。時鐘產(chǎn)生模塊由片內(nèi)振閉,以提高系統(tǒng)的靈活性和可靠性。時鐘產(chǎn)生模塊由片內(nèi)振蕩器(蕩器(OSC)和鎖相環(huán)()和鎖相環(huán)(PLL)電路組成,如圖)電路組成,如圖3-14所示。所示。芯片內(nèi)部的芯片內(nèi)部的PLL電路利用高穩(wěn)定度的鎖相環(huán)鎖定時鐘振蕩頻電路利用高穩(wěn)定度的鎖相環(huán)鎖定時鐘振蕩頻率,可以提供穩(wěn)定、高質(zhì)量的時鐘信號。同時,可以通過鎖率,可以提供穩(wěn)定、高質(zhì)量的時鐘信號。同時,可以通過鎖相環(huán)的相環(huán)的4位倍頻系數(shù)設(shè)置位

50、來選擇不同的位倍頻系數(shù)設(shè)置位來選擇不同的CPU時鐘速率,以時鐘速率,以便用戶靈活設(shè)定需要的處理器速度。同時還提供了低功耗方便用戶靈活設(shè)定需要的處理器速度。同時還提供了低功耗方式的控制入口。式的控制入口。 3.2.2 晶體振蕩器及鎖相環(huán)晶體振蕩器及鎖相環(huán)PLL周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院時鐘電路時鐘電路周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院時鐘模塊提供兩種操作模式:時鐘模塊提供兩種操作模式: 內(nèi)部振蕩器:內(nèi)部振蕩器:如果使用內(nèi)部振蕩器,則必須在如果使用內(nèi)部振蕩器,則必須在X1XCLKIN和

51、和X2兩個引腳之間連接一個石英晶體。兩個引腳之間連接一個石英晶體。 外部時鐘源:外部時鐘源:如果采用外部時鐘,可以將輸入的時鐘信號直如果采用外部時鐘,可以將輸入的時鐘信號直接接到接接到X1XCLKIN引腳上,而引腳上,而X2懸空。在這種情況下,不使懸空。在這種情況下,不使用內(nèi)部振蕩器。用內(nèi)部振蕩器。當(dāng)當(dāng)XPLLDIS為低電平,系統(tǒng)直接采用時鐘或晶振直接作為系統(tǒng)時鐘;為低電平,系統(tǒng)直接采用時鐘或晶振直接作為系統(tǒng)時鐘;當(dāng)當(dāng)XPLLDIS為高電平,外部時鐘經(jīng)過為高電平,外部時鐘經(jīng)過PLL倍頻后,為提供時鐘。倍頻后,為提供時鐘。 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院若若DIV=0

52、(復(fù)位值復(fù)位值),則,則CLKIN=OSCCLK/2。(。(PLL旁路)旁路)若若DIV=00011010,則,則CLKIN=OSCCLK*DIV/2。鎖相環(huán)控制寄存器鎖相環(huán)控制寄存器PLLCR周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院除正常除正常(Normal)(Normal)工作模式外,工作模式外,F(xiàn)281xF281x有有3 3種低功耗模式:種低功耗模式: IDLE(IDLE(空閑空閑) )模式模式 HALT(HALT(暫停暫停) )模式模式 STANDBY(STANDBY(備用備用) )模式模式低功耗模式控制低功耗模式控制寄存器寄存器0: LPMCR0低功耗模式控制低功耗

53、模式控制寄存器寄存器1: LPMCR13.2.3 低功耗模式低功耗模式周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 F281x DSP內(nèi)置了一個看門狗定時器內(nèi)置了一個看門狗定時器(WDT), 用來監(jiān)視用來監(jiān)視DSP的運(yùn)的運(yùn)行狀況。當(dāng)系統(tǒng)進(jìn)入不可預(yù)知的狀態(tài)而造成行狀況。當(dāng)系統(tǒng)進(jìn)入不可預(yù)知的狀態(tài)而造成“死機(jī)死機(jī)”時,時,WD將產(chǎn)將產(chǎn)生一個復(fù)位操作,從而使生一個復(fù)位操作,從而使DSP進(jìn)入一個已知的起始位置重新運(yùn)轉(zhuǎn)。進(jìn)入一個已知的起始位置重新運(yùn)轉(zhuǎn)。 F2812的看門狗與的看門狗與240 x的基本相同,當(dāng)?shù)幕鞠嗤?,?dāng)8位的看門狗計

54、數(shù)器計數(shù)位的看門狗計數(shù)器計數(shù)到最大值時,看門狗模塊產(chǎn)生一個輸出脈沖到最大值時,看門狗模塊產(chǎn)生一個輸出脈沖(512個振蕩器時鐘寬個振蕩器時鐘寬度度)。如果不希望產(chǎn)生脈沖信號,用戶需要屏蔽計數(shù)器,或用軟件。如果不希望產(chǎn)生脈沖信號,用戶需要屏蔽計數(shù)器,或用軟件周期向看門狗復(fù)位控制寄存器寫周期向看門狗復(fù)位控制寄存器寫“0 x55+0 xAA,該寄存器能夠使,該寄存器能夠使看門狗計數(shù)器清零??撮T狗計數(shù)器清零。 為了實(shí)現(xiàn)看門狗的各項(xiàng)功能,內(nèi)部有為了實(shí)現(xiàn)看門狗的各項(xiàng)功能,內(nèi)部有3個功能寄存器。個功能寄存器。 3.2.4 看門狗模塊看門狗模塊周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院看門狗功能

55、框圖看門狗功能框圖周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院看門狗計數(shù)器寄存器看門狗計數(shù)器寄存器: WDCNTR 看門狗復(fù)位密鑰寄存器看門狗復(fù)位密鑰寄存器: WDKEYWDKEY:緊跟著緊跟著0 x55寫入寫入0 xAA將清除將清除WDCNTR位。寫位。寫任何其他值則會立即使看門狗復(fù)位。從任何其他值則會立即使看門狗復(fù)位。從WDCR寄存器讀寄存器讀取返回的值。取返回的值。 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院看門狗控制寄存器看門狗控制寄存器: WDCR 位位7 WDFLAG: 看門狗復(fù)位狀態(tài)標(biāo)志位。如果為看門狗復(fù)位狀態(tài)標(biāo)志位。如果為1,表示看門狗復(fù),表示看門

56、狗復(fù)位;為位;為0,表示是外部復(fù)位或上電復(fù)位。該位寫,表示是外部復(fù)位或上電復(fù)位。該位寫1清除,否則狀態(tài)一直清除,否則狀態(tài)一直保持。保持。 位位6 WDDIS: 向該位寫向該位寫1,禁止看門狗模塊,禁止看門狗模塊; 寫寫0,使能看門狗模塊。,使能看門狗模塊。復(fù)位值為復(fù)位值為0,看門狗模塊使能。只有在,看門狗模塊使能。只有在SCSR寄存器中的寄存器中的WDOVERRIDE位設(shè)為位設(shè)為1后才能修改該位。后才能修改該位。 位位53 WDCHK:任何時候?qū)懺摷拇嫫?,用戶都必須向這些位寫入:任何時候?qū)懺摷拇嫫鳎脩舳急仨毾蜻@些位寫入101。寫入任何其他數(shù)值都會引起復(fù)位(如果看門狗使能)。寫入任何其他數(shù)值都

57、會引起復(fù)位(如果看門狗使能)。 位位20 WDPS:這些位用來配置看門狗時鐘這些位用來配置看門狗時鐘WDCLK。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院位位20 WDPS:這些位用來配置看門狗時鐘這些位用來配置看門狗時鐘WDCLK。 000WDCLK=OSCCLK/512/1 001WDCLK=OSCCLK/512/1 010WDCLK=OSCCLK/512/2 011WDCLK=OSCCLK/512/4 100WDCLK=OSCCLK/512/8 101WDCLK=OSCCLK/512/16 110WDCLK=OSCCLK/512/32 111WDCLK=OSCCLK/51

58、2/64,OSCCLK為為振蕩器頻率。振蕩器頻率。周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院 TIM 32位的計數(shù)寄存器,重新裝載位的計數(shù)寄存器,重新裝載PRD的值。的值。 PRD 32位周期寄存器。位周期寄存器。 TCR 16位的定時器控制寄存器。位的定時器控制寄存器。 PSC 16位的預(yù)定標(biāo)寄存器,重新裝載位的預(yù)定標(biāo)寄存器,重新裝載TDDR的值。的值。 TDDR 16位的分頻寄存器。位的分頻寄存器。有有3個個32位位CPU定時器定時器(TIMER0/1/2):定時器定時器0用戶可以在應(yīng)用程序中使用。用戶可以在應(yīng)用程序中使用。定時器定時器1和定時器和定時器2預(yù)留給實(shí)時操作系統(tǒng)

59、使用預(yù)留給實(shí)時操作系統(tǒng)使用(例如例如 DSP-BIOS)。3.2.5 CPU定時器定時器周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院定時器功能框圖定時器功能框圖工作過程:工作過程:首先用首先用32位計數(shù)寄存器位計數(shù)寄存器(TIMH:TM)裝載周期寄存裝載周期寄存器器(PRDH:PRD)內(nèi)部的值。計數(shù)寄存器根據(jù)內(nèi)部的值。計數(shù)寄存器根據(jù)SYSCLKOUT時鐘時鐘遞減計數(shù)。當(dāng)計數(shù)寄存器等于遞減計數(shù)。當(dāng)計數(shù)寄存器等于0時,定時器中斷輸出產(chǎn)生一個中時,定時器中斷輸出產(chǎn)生一個中斷脈沖。斷脈沖。 周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工程電氣工程學(xué)院學(xué)院周鵬周鵬 安徽工程安徽工程大學(xué)大學(xué)電氣工

60、程電氣工程學(xué)院學(xué)院 工作原理工作原理 在每個在每個SYSCLKOUT脈沖后脈沖后PSC減減1,一直減到,一直減到0。 在下一個在下一個SYSCLKOUT周期周期 ,TDDR加載新的除數(shù)值到加載新的除數(shù)值到PSC,并使,并使TIM減減1。 重復(fù)前兩步操作,即重復(fù)前兩步操作,即PSC每次減到每次減到0后,后,TIM進(jìn)行一次減進(jìn)行一次減1操作,直到操作,直到TIM減減為為0在下一個在下一個SYSCLKOUT周期,將定時器中斷(周期,將定時器中斷(TINT)送到)送到CPU,和,和TOUT引腳。同時引腳。同時TIM裝載來自裝載來自PRD的新的定時的新的定時 計數(shù)器值,并使計數(shù)器值,并使PSC再次減再次

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論