第2章-TMS320C54x的硬件結(jié)構(gòu)及原理-201109014_第1頁
第2章-TMS320C54x的硬件結(jié)構(gòu)及原理-201109014_第2頁
第2章-TMS320C54x的硬件結(jié)構(gòu)及原理-201109014_第3頁
第2章-TMS320C54x的硬件結(jié)構(gòu)及原理-201109014_第4頁
第2章-TMS320C54x的硬件結(jié)構(gòu)及原理-201109014_第5頁
已閱讀5頁,還剩108頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章TMS320C54x的硬件結(jié)構(gòu)及原理TMS320C54x系列DSP是一種低功耗、高性能的16位定點(diǎn)芯片采用改進(jìn)型哈佛總線結(jié)構(gòu),具有性能強(qiáng)大的CPU內(nèi)核、內(nèi)部多總線結(jié)構(gòu)、硬件重復(fù)機(jī)制及兩套獨(dú)立的地址產(chǎn)生器為組成6級(jí)流水線和并行操作提供了硬件平臺(tái)

它提供多種尋址模式和功能豐富的指令集,滿足了高速、實(shí)時(shí)的數(shù)字信號(hào)處理的需要它豐富的片內(nèi)外設(shè)資源及方便的外部擴(kuò)展能力,為芯片的嵌入式應(yīng)用奠定了基礎(chǔ)第2章TMS320C54x的硬件結(jié)構(gòu)及原理內(nèi)部硬件資源:

CPU內(nèi)核多總線結(jié)構(gòu)引腳功能系統(tǒng)控制存儲(chǔ)器映像中斷系統(tǒng)等

第2章TMS320C54x的硬件結(jié)構(gòu)及原理目錄:2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)2.2C54x的內(nèi)部多總線結(jié)構(gòu)2.3C54x的中央處理單元(CPU)2.4C54x的存儲(chǔ)器結(jié)構(gòu)2.5復(fù)位操作及省電方式2.6中斷系統(tǒng)2.7流水線2.8引腳及其功能第2章TMS320C54x的硬件結(jié)構(gòu)及原理TMS320C54x系列DSP結(jié)構(gòu)框圖

2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)①尋址⑥②③⑤⑤④⑦第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)多總線的哈佛結(jié)構(gòu)8套16位的地址總線和數(shù)據(jù)總線:PAB,PB,DAB,DB,CAB,CB,EAB,EB

1套外設(shè)總線實(shí)現(xiàn)CPU與片內(nèi)存儲(chǔ)器的數(shù)據(jù)交換。

通過6通道的直接存儲(chǔ)器訪問(DMA)可以實(shí)現(xiàn)與片內(nèi)外設(shè)的數(shù)據(jù)傳送。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)

CPU內(nèi)核

1個(gè)算術(shù)邏輯運(yùn)算單元(ALU)2個(gè)40位的累加器(ACCA、ACCB)1個(gè)40位的桶形移位器

1個(gè)乘-累加單元(MAC)(17×17位+40位加法)1個(gè)比較、選擇、存儲(chǔ)單元(CSSU)用于維特比算法

1個(gè)硬件指數(shù)編碼器

2個(gè)地址生成器(程序地址和數(shù)據(jù)地址):包括輔助寄存器運(yùn)算單元ARAU0、ARAU1和AR0~AR7第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)片內(nèi)存儲(chǔ)空間

雙口DARAM:?jiǎn)沃芷趦?nèi)可進(jìn)行一次讀取和一次寫入操作單口SARAM:?jiǎn)沃芷趦?nèi)只能進(jìn)行一次讀/寫訪問片外可擴(kuò)展的最大存儲(chǔ)空間

64千字~8兆字的程序存儲(chǔ)器64千字的數(shù)據(jù)存儲(chǔ)器64千字的I/O空間第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)

片內(nèi)外設(shè)時(shí)鐘發(fā)生器可編程定時(shí)器多緩沖串行口(McBSP)并行主機(jī)接口(HPI)DMA控制器軟件可編程等待狀態(tài)發(fā)生器可編程分區(qū)轉(zhuǎn)換邏輯電路通用數(shù)字I/O口(GPIO)片內(nèi)仿真接口JTAG第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)靈活尋址方式與適于信號(hào)處理的指令系統(tǒng)各種操作類型的指令硬件重復(fù)機(jī)制位倒序?qū)ぶ贩绞窖h(huán)尋址方式節(jié)電模式─IDLEl、IDLE2和IDLE31.8V內(nèi)核供電(VC5402)和3.3VI/O口供電(參照P328-P333設(shè)計(jì)電源電路)低功耗工作第2章TMS320C54x的硬件結(jié)構(gòu)及原理型號(hào)頻率MHzRAMKBROMKBEMIF16位DMA6-ChHPI8/16McBSP定時(shí)器根裝載UART內(nèi)核電源VI/O電源V引腳封裝BGALQFPVC5402A-160160323211131有1.63.3144VC5404-1201203212811132有11.53.3144VC5407-1201208025611132有11.53.3144VC5409A-1201206432-1131有-1.53.3144VC5409A-1601606432-1131有-1.63.3144VC5410A-1201201283211131有-1.53.3144VC5410A-1601601283211131有-1.63.3144VC5416A-1201202563211131有-1.53.3144VC5416A-1601602563211131有-1.63.3144表2-1TMS320C54x系列DSP典型芯片的結(jié)構(gòu)及技術(shù)性能

外部存儲(chǔ)器接口TMS320VC5402芯片結(jié)構(gòu)(1)存儲(chǔ)空間多總線結(jié)構(gòu)。片內(nèi)有3條16位數(shù)據(jù)總線(CB、DB、EB)、1條16位的程序總線(PB)、以及4條對(duì)應(yīng)的地址總線(PAB、CAB、DAB、EAB)。地址線20根,可尋址程序空間1M字,數(shù)據(jù)和I/O空間各64K字。片內(nèi)ROM容量為4K×16位片內(nèi)雙尋址RAM(DARAM)容量為16K×16位。(2)在片內(nèi)外圍電路軟件可編程等待狀態(tài)發(fā)生器和可編程分區(qū)切換邏輯電路。帶有內(nèi)部振蕩器或用外部時(shí)鐘源的片內(nèi)鎖相環(huán)(PLL)時(shí)鐘發(fā)生器。2個(gè)高速、全雙工多通道緩沖串行口(McBSP)(5402A是3個(gè))增強(qiáng)型8位并行主機(jī)接口(HPI8)2個(gè)16位定時(shí)器)(5402A是1個(gè))6通道DMA控制器具有符合IEEE1149.1標(biāo)準(zhǔn)的在片仿真接口JTAG。(3)電源、時(shí)鐘與封裝單周期定點(diǎn)指令的執(zhí)行周期為10ns(100MIPS)I/O電源電壓3.3V,內(nèi)核1.8V可用IDLE1、IDLE2、IDLE3指令控制芯片功耗以工作在省電方式。144引腳的薄形四邊形引腳扁平封裝(LQFP)或144腳的球柵陣列封裝(BGA)。TMS320VC5402芯片的結(jié)構(gòu)及技術(shù)性能型號(hào)頻率MHzMIPS指令周期(ns)尋址空間片內(nèi)存儲(chǔ)器程序(16位)數(shù)據(jù)(16位)RAM(16位)ROM(16位)TMS320VC5402-1001001001064K/8M64K16K4K在片外圍電路根裝載(引導(dǎo)裝載)內(nèi)核電壓(V)I/O電壓(V)緩沖串口主機(jī)接口(COM)定時(shí)器DMA通道數(shù)2McBSPHPI826ChanInt是1.8V3.3V(5402A是3個(gè))(5402A是1個(gè))第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.2C54x的內(nèi)部總線結(jié)構(gòu)

TMS320C54x的片內(nèi)采用了多總線結(jié)構(gòu),由8套16位的內(nèi)部總線組成。兩套程序存儲(chǔ)器操作總線程序地址總線PAB程序總線PB六套數(shù)據(jù)存儲(chǔ)器操作總線數(shù)據(jù)地址總線CAB、DAB、EAB數(shù)據(jù)數(shù)據(jù)總線CB、DB、EB第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.2.1程序存儲(chǔ)器操作總線

程序地址總線PAB為CPU提供取指令和寫指令

CPU可通過程序總線PB讀取程序存儲(chǔ)器的指令

CPU可通過數(shù)據(jù)總線EB進(jìn)行程序的寫操作。時(shí)所需要的地址。代碼和立即數(shù)。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.2.2數(shù)據(jù)存儲(chǔ)器操作總線總線CAB、DAB、EAB及CB、DB、EB與CPU、數(shù)據(jù)地址產(chǎn)生邏輯、程序地址產(chǎn)生邏輯、片內(nèi)外設(shè)及數(shù)據(jù)存儲(chǔ)器等功能單元相連,負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行尋址及讀/寫訪問。

CB、DB、EB負(fù)責(zé)傳送讀/寫數(shù)據(jù)CAB、DAB、EAB負(fù)責(zé)傳送數(shù)據(jù)存儲(chǔ)器地址表2-2內(nèi)部總線讀寫使用情況表

內(nèi)部總線讀寫使用情況表

使用總線讀/寫類型地址總線程序總線數(shù)據(jù)總線PABCABDABEABPBCBDBEB程序讀

程序?qū)?/p>

單數(shù)據(jù)讀

單數(shù)據(jù)寫

雙數(shù)據(jù)讀

Ymem

Xmem

Ymem

Xmem并行數(shù)據(jù)讀/寫讀寫讀寫32位長(zhǎng)數(shù)據(jù)讀

hw

lw

hw

lw雙數(shù)據(jù)讀/系數(shù)讀系數(shù)讀

Ymem

Xmem系數(shù)讀

Ymem

Xmem片內(nèi)外設(shè)讀

片內(nèi)外設(shè)寫

注:hw=高16位字;lw=低16位字第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3C54x的中央處理單元(CPU)CPU是DSP的核心部件。它負(fù)責(zé):程序流的控制和指令的處理完成數(shù)據(jù)的傳送執(zhí)行算術(shù)運(yùn)算,布爾邏輯及移位操作……TMS320C54xCPU結(jié)構(gòu)圖ALUMAC桶形移位寄存器CSSUEXP第2章TMS320C54x的硬件結(jié)構(gòu)及原理C54xCPU主要包括下列器件:1個(gè)40位的算術(shù)邏輯單元(ALU)2個(gè)40位的累加器(ACCA、ACCB)1個(gè)桶形移位器1個(gè)乘法器與加法器組成的乘法-累加單元(MAC)1個(gè)比較、選擇和存儲(chǔ)單元(CSSU),在圖2-2中由COM,TRN和TC等部分組成。1個(gè)指數(shù)編碼器(EXP)2個(gè)16位的狀態(tài)控制寄存器ST0、ST11個(gè)16位的處理器模式狀態(tài)寄存器PMST程序地址發(fā)生邏輯和數(shù)據(jù)地址發(fā)生邏輯第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.1累加器和算術(shù)邏輯運(yùn)算單元(ALU)BLBHBG15031

1639

32ALAHAG15

031

1639

32累加器A結(jié)構(gòu)圖

累加器B結(jié)構(gòu)圖保護(hù)位高階位低階位保護(hù)位高階位低階位累加器A和B的構(gòu)造圖:第2章TMS320C54x的硬件結(jié)構(gòu)及原理算術(shù)邏輯運(yùn)算單元ALUC54x的ALU是40位的,與累加器結(jié)合可以完成寬范圍的算術(shù)及邏輯運(yùn)算,結(jié)果為40位長(zhǎng)多數(shù)運(yùn)算可在單周期內(nèi)完成其運(yùn)算結(jié)果通常被送入累加器A或B中,除了從存儲(chǔ)器到存儲(chǔ)器的操作指令之外,如ADDM、ANDM、ORM和XORM),其運(yùn)算結(jié)果則存入指令指定的目的存儲(chǔ)器。

第2章TMS320C54x的硬件結(jié)構(gòu)及原理ALU的功能框圖

40404040401616MUXABALU符號(hào)ctr符號(hào)ctrMUXMUXCB15~CB0DB15~DB0MAC輸出SXMSXMOVMC16CZA/ZBTCXYAMUBBACTDSOVA/OVB桶形移位器輸出(1)

ALU輸入數(shù)據(jù)的40位擴(kuò)展當(dāng)16位數(shù)據(jù)存儲(chǔ)器操作數(shù)通過數(shù)據(jù)總線DB或CB輸入ALU時(shí),40位的ALU輸入將采用兩種方式形成:

若輸入的16位操作數(shù)裝在ALU的0~15位時(shí),則

當(dāng)SXM=0時(shí),高24位(39~16位)用0填充;

當(dāng)SXM=1時(shí),高24位(39~16位)擴(kuò)展為符號(hào)位。

②若輸入的16位操作數(shù)裝在ALU的16~31位時(shí),則

當(dāng)SXM=0時(shí),39~32位和15~0位用0填充;

當(dāng)SXM=1時(shí),39~32位擴(kuò)展為符號(hào)位,15~0位置0。(2)

ALU的輸出ALU的輸出為40位運(yùn)算結(jié)果,通常被送至累加器A或B。

第2章TMS320C54x的硬件結(jié)構(gòu)及原理

(3)與算術(shù)邏輯運(yùn)算單元ALU有關(guān)的標(biāo)志位、控制位

反映ALU當(dāng)前運(yùn)算結(jié)果狀態(tài)的有4個(gè)標(biāo)志位(ST0內(nèi)):控制ALU工作的有3個(gè)控制位(ST1內(nèi))

溢出方式位OVM——ST1(D9)雙16位/雙精度方式位C16——ST1(D7)符號(hào)擴(kuò)展位SXM——ST1(D8)進(jìn)位位C——ST0(D11)測(cè)試位TC——ST0(D12)溢出標(biāo)志位OVA——ST0(D10)溢出標(biāo)志位OVB

——ST0(D9)(i)進(jìn)位位C功能:

ALU有一個(gè)與運(yùn)算結(jié)果有關(guān)的進(jìn)位位C,位于ST0的11位。進(jìn)位位C受大多數(shù)ALU操作指令的影響,包括算術(shù)操作、循環(huán)操作和移位操作。

用來指明是否有進(jìn)位發(fā)生;②

用來支持?jǐn)U展精度的算術(shù)運(yùn)算;③

可作為分支、調(diào)用、返回和條件操作的執(zhí)行條件。注意:①進(jìn)位位C不受裝載累加器操作、邏輯操作、非算術(shù)運(yùn)算和控制指令的影響;

②可通過指令RSBX和SSBX對(duì)其置位和復(fù)位。(ii)TC測(cè)試/控制標(biāo)志,位于ST0的12位;在以累加器A(B)為目的寄存器時(shí)算術(shù)邏輯單元的32位數(shù)的運(yùn)算結(jié)果發(fā)生溢出,或者乘法/加法單元的操作發(fā)生溢出,相應(yīng)的溢出標(biāo)志位OVA(或OVB)置1,直到發(fā)生復(fù)位、或者是執(zhí)行以AOV(BOV)和ANOV(BNOV)為條件的BC[D]、或RC[D]、CC[D]等指令,OVA(OVB)保持置1狀態(tài)。RSBX指令也可以清除OVA標(biāo)志。

(iii)溢出標(biāo)志位(OVA或OVB)位于ST0的9,10位。(iV)溢出方式位OVM及溢出處理

溢出方式位OVM是ST1的D9位,用來指定ALU運(yùn)算結(jié)果溢出的處理方式,當(dāng)溢出產(chǎn)生時(shí):

①若OVM=0,則對(duì)ALU的運(yùn)算結(jié)果不作任何調(diào)整,直接送入累加器;

②若OVM=1,則對(duì)ALU的運(yùn)行結(jié)果進(jìn)行調(diào)整。

當(dāng)正向溢出時(shí),將32位最大正數(shù)00

7FFFFFFFH裝入累加器;

當(dāng)負(fù)向溢出時(shí),將32位最小負(fù)數(shù)FF80000000H裝入累加器。

③狀態(tài)寄存器ST0中與目標(biāo)累加器相關(guān)的溢出標(biāo)志OVA或OVB被置1。

若將ST1中的C16置位,則ALU進(jìn)行雙16位算術(shù)運(yùn)算,即在一個(gè)機(jī)器周期內(nèi)完成兩個(gè)16位數(shù)的算術(shù)運(yùn)算,進(jìn)行兩次16位加法或兩次16位減法運(yùn)算。有6條雙字算數(shù)運(yùn)算指令支持這一功能(3.3.2)。(Vi)符號(hào)擴(kuò)展位SXM位于ST1的D8位。(V)C16位于ST1的D7位。分析:

ADDXmem

Ymem,dst

執(zhí)行:dst=Xmem<<16+Ymem<<16

或?qū)懗?(Xmem)+(Ymem))<<16→dst

狀態(tài)位:

AffectedbySXMandOVMAffectsCandOVdst(orOVsrc,ifdst=src)例2-1設(shè)(AR2)=0060h,(AR3)=0070h,

(0060h)=A678h,(070h)=7234h,分析指令A(yù)DD*AR2,*AR3,A的執(zhí)行情況。A678h<<16

+7234h<<16→A例2-1(AR2)=0060h,(AR3)=0070h,(0060h)=A678h(070h)=7234h,指令A(yù)DD*AR2,*AR3,A執(zhí)行情況。-5988

經(jīng)DB經(jīng)CB例2-2

分析雙字運(yùn)算指令DADD*AR3-,A,B

在C16=0和C16=1時(shí)的執(zhí)行情況。指令執(zhí)行前005677F9330000000000AB1534數(shù)據(jù)存儲(chǔ)器00603456數(shù)據(jù)存儲(chǔ)器00610060AR3解:執(zhí)行:IfC16=0,

Then(Lmem)+(src)→dstElse(Lmem(31–16))+(src(31–16))→dst(39–16)(Lmem(15–0))+(src(15–0))→dst(15–0)狀態(tài)位:

AffectedbySXMandOVM(onlyifC16=0)AffectsCandOVdst(orOVsrc,ifdstisnotspecified)無關(guān)系例2-2,分析雙字運(yùn)算指令DADD*AR3-,A,B

在C16=0和C16=1時(shí)的執(zhí)行情況。指令執(zhí)行前005677F9330000000000AB1534數(shù)據(jù)存儲(chǔ)器00603456數(shù)據(jù)存儲(chǔ)器00610060AR3C16=0時(shí),指令執(zhí)行后005677F933006BAC2D89AB1534006034560061005EAR3C16=1時(shí),

指令執(zhí)行后005677F933006BAB2D89AB1534數(shù)據(jù)存儲(chǔ)器00603456數(shù)據(jù)存儲(chǔ)器0061005EAR3解:第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.2桶形移位器數(shù)據(jù)定標(biāo)位提取擴(kuò)展精度

累加器的規(guī)格化定點(diǎn)定標(biāo)是定點(diǎn)運(yùn)算中用來確定小數(shù)點(diǎn)位置的一種操作,以保證運(yùn)算精度。C54x的40位桶形移位器可將輸入數(shù)據(jù)進(jìn)行左移0~31位或右移0~15位的操作,從而完成功能:第2章TMS320C54x的硬件結(jié)構(gòu)及原理桶形移位器結(jié)構(gòu):

MUX:選擇輸入數(shù)據(jù)符號(hào)控制SC:

符號(hào)位擴(kuò)展移位器:

定標(biāo)和移位寫選擇:選擇高有效字/低有效字

第2章TMS320C54x的硬件結(jié)構(gòu)及原理桶形移位器移位原則:左移時(shí),低位填0右移時(shí),若SXM=0,則高位填0,無符號(hào)擴(kuò)展若SXM=1時(shí),則高位進(jìn)行符號(hào)擴(kuò)展輸出:

作為ALU的輸入

寫入數(shù)據(jù)存儲(chǔ)器第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.3乘加器(MAC)功能:?jiǎn)沃芷趦?nèi)完成一次乘法操作和一次累加操作構(gòu)成:一個(gè)17×17位的乘法器一個(gè)40位的加法器第2章TMS320C54x的硬件結(jié)構(gòu)及原理乘加器結(jié)構(gòu)框圖:第2章TMS320C54x的硬件結(jié)構(gòu)及原理

乘法器操作:有符號(hào)數(shù)相乘無符號(hào)數(shù)與有符號(hào)數(shù)相乘無符號(hào)數(shù)相乘在每個(gè)16位操作數(shù)的最高位MSB前添加1位符號(hào)位,擴(kuò)展成17位數(shù),然后進(jìn)行乘法運(yùn)算。在無符號(hào)數(shù)的MSB前添加0,在有符號(hào)數(shù)的MSB前擴(kuò)展1符號(hào)位,然后進(jìn)行乘法運(yùn)算。在每個(gè)16位操作數(shù)的最高位MSB前添加0,擴(kuò)展成17位數(shù),然后進(jìn)行乘法運(yùn)算。第2章TMS320C54x的硬件結(jié)構(gòu)及原理

乘法器操作:乘法器的輸出經(jīng)過一個(gè)小數(shù)/整數(shù)調(diào)整電路,該調(diào)整受到小數(shù)方式位(ST1的D6位)FRCT的控制。當(dāng)FRCT=0時(shí),對(duì)乘積不作任何處理的送入當(dāng)FRCT=1時(shí),由硬件將乘積左移1位,然加法器XA端

后送入加法器XA端第2章TMS320C54x的硬件結(jié)構(gòu)及原理

加法器操作:累加舍入飽和零檢測(cè)舍入操作:

DSP的舍入操作與十進(jìn)制中的四舍五入操作類似,即運(yùn)算結(jié)果的低16位若≥8000H,則向高16位進(jìn)位,并將低16位清0。硬件的具體操作是:先將215(7FFFH)加至目標(biāo)累加器,然后將其低16位清0

。例2-6

分析指令MAC[R]的執(zhí)行情況。指令執(zhí)行前00000010000400AT

1234數(shù)據(jù)存儲(chǔ)器0060

0FRCT

0060AR3MAC*AR3,A執(zhí)行后000048E0000400AT123400600FRCT0060AR3MACR*AR3,A執(zhí)行后00004900000400AB123400600FRCT0060AR3解:MAC[R]*AR3,A;((AR3))×T+A[舍入]→A第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.4比較、選擇和存儲(chǔ)單元(CSSU)比較、選擇和存儲(chǔ)單元(CSSU)是一個(gè)特殊的硬件單元,它與ALU配合,支持?jǐn)?shù)據(jù)通信及模式識(shí)別中的加法-比較-選擇(ACS)運(yùn)算。例如:利用CSSU及指令CMPS可快速完成Viterbi解碼算法中的ACS算法。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.4比較、選擇和存儲(chǔ)單元(CSSU)MUXCOMPTRNTCCCSUABMSW/LSW選擇EB15~EB0來自桶形移位器比較電路COMP狀態(tài)轉(zhuǎn)移寄存器TRN狀態(tài)比較寄存器TC多路選擇器MUX第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.4比較、選擇和存儲(chǔ)單元(CSSU)CSSU、ALU與指令CMPS配合完成比較和選擇操作:比較電路COMP將指定累加器A或B的高16位與低16位進(jìn)行比較;將結(jié)果移入TRN的位D0及ST0的TC位;根據(jù)比較結(jié)果,選擇累加器中較大的l6位數(shù)據(jù);存入數(shù)據(jù)存儲(chǔ)器。第2章TMS320C54x的硬件結(jié)構(gòu)及原理

CMPS指令流程圖第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.5指數(shù)編碼器(EXP)指數(shù)編碼器是用來求累加器中數(shù)據(jù)指數(shù)的專用硬件,主要用于定點(diǎn)數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)的歸一化和標(biāo)準(zhǔn)化處理等。

指數(shù)編碼器EXP累加器A累加器BT寄存器求A的指數(shù)值,以2的補(bǔ)碼形式(-8至31)存入T累加器指數(shù)值=冗余符號(hào)位-8第2章TMS320C54x的硬件結(jié)構(gòu)及原理例2-7分析指令EXPA的執(zhí)行情況。

EXPA;若A中值為0,則0→T,否則將A中的冗余符號(hào)位數(shù)減-8→T

-2第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.6CPU的狀態(tài)和控制寄存器C54xCPU有3個(gè)狀態(tài)和控制寄存器:

狀態(tài)寄存器ST0

狀態(tài)寄存器ST1

處理器模式狀態(tài)寄存器PMST

PMST中包含有存儲(chǔ)器組織和系統(tǒng)工作的控制信息

ST0和ST1中包含著各種狀態(tài)和控制標(biāo)志位

狀態(tài)位:反映了CPU當(dāng)前的某些處理結(jié)果

控制位:提供給用戶用來控制芯片及CPU工作

第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.6CPU的狀態(tài)和控制寄存器

ST0、ST1、PMST都是16位的存儲(chǔ)器映像寄存器(MMR),其地址分別為0006h、0007h

、001Dh。訪問方式:用指令SSBX或RSBX對(duì)某些位置位或清零用裝載指令LD給某些位加載數(shù)據(jù)用存儲(chǔ)指令STM等加載設(shè)定值主要反映處理器的尋址要求和計(jì)算機(jī)的中間運(yùn)行狀態(tài)。

ST0的結(jié)構(gòu):15—1312111098—0ST0:ARPTCCOVAOVBDPARPARP:輔助寄存器指針。用來選擇使用單操作數(shù)間接尋址時(shí)的輔助寄存器AR0~AR7。ARPTCTC:測(cè)試/控制標(biāo)志。

用來保存ALU測(cè)試操作的結(jié)果。TCCC:進(jìn)位標(biāo)志位。

用來保存ALU加減運(yùn)算時(shí)所產(chǎn)生的進(jìn)/借位。COVBOVAOVA/B:累加器A/B的溢出標(biāo)志。

用來反映A/B是否產(chǎn)生溢出。OVBOVADPDP1.狀態(tài)寄存器0(ST0)DP:數(shù)據(jù)存儲(chǔ)器頁指針。

用來與指令中提供的7位地址結(jié)合形成1個(gè)

16位數(shù)據(jù)存儲(chǔ)器的地址。2.狀態(tài)寄存器1(ST1)151413121110987654~0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM0:保留位,未被使用,總是讀為0。BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM主要反映處理器的尋址要求、計(jì)算初始狀態(tài)的設(shè)置、I/O及中斷的控制等。BRAF:塊重復(fù)操作標(biāo)志位。

用來指示當(dāng)前是否在執(zhí)行塊重復(fù)操作。

BRAF=0

表示當(dāng)前不進(jìn)行重復(fù)塊操作;

BRAF=1

表示當(dāng)前正在進(jìn)行塊重復(fù)操作。CPL:直接尋址編輯方式標(biāo)志位;

用來指示直接尋址選用何種指針。

CPL=0

選用數(shù)據(jù)頁指針DP的直接尋址;

CPL=1

選用堆棧指針SP的直接尋址。XF:外部XF引腳狀態(tài)控制位。

用來控制XF通用外部輸出引腳的狀態(tài)。執(zhí)行SSBX

XF=1

XF通用輸出引腳為1;執(zhí)行RSBX

XF=0

XF通用輸出引腳為0。HM:保持方式位;響應(yīng)HOLD信號(hào)時(shí),指示

CPU是否繼續(xù)執(zhí)行內(nèi)部操作。

HM=0

CPU從內(nèi)部程序存儲(chǔ)器取指,

繼續(xù)執(zhí)行內(nèi)部操作。

HM=1

CPU停止內(nèi)部操作。INTM:中斷方式控制位;

用于屏蔽或開放所有可屏蔽中斷。

INTN=0

開放全部可屏蔽中斷;

INTN=1

禁止所有可屏蔽中斷。OVM:溢出方式控制位;

用來確定累加器溢出時(shí),對(duì)累加器的加載方式。

OVM=0

將運(yùn)算的溢出結(jié)果直接加載到累加器中;

OVM=1

當(dāng)正溢出時(shí),將007FFFFFFFH加載累加器;當(dāng)負(fù)溢出時(shí),將FF80000000H加載累加器。SXM:符號(hào)位擴(kuò)展方式控制位;用來確定數(shù)據(jù)在運(yùn)算之前是否需要符號(hào)位擴(kuò)展。

SXM=0

數(shù)據(jù)進(jìn)入ALU之前禁止符號(hào)位擴(kuò)展;

SXM=1

數(shù)據(jù)進(jìn)入ALU之前進(jìn)行符號(hào)位擴(kuò)展。C16:雙16位/雙精度算術(shù)運(yùn)算方式控制位;

用來決定ALU的算術(shù)運(yùn)算方式。

C16=0

ALU工作在雙精度算術(shù)運(yùn)算方式;

C16=1

ALU工作在雙16位算術(shù)運(yùn)算方式。FRCT:小數(shù)方式控制位;用來確定乘法器的運(yùn)算方式。

FRCT=1

乘法器的輸出左移一位,消除多余的符號(hào)位。CMPT:間接尋址輔助寄存器修正方式控制位;用來決定ARP是否進(jìn)行修正。

CMPT=0在進(jìn)行間接尋址單操作數(shù)時(shí),不修正ARP;CMPT=1在進(jìn)行間接尋址單操作數(shù)時(shí),修正ARP。ASM:累加器移位方式控制位。

為某些具有移位操作的指令設(shè)定一個(gè)從-16~15范圍內(nèi)的移位值。3.處理器模式狀態(tài)寄存器PMSTSSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR012345615~7主要設(shè)定和控制處理器的工作方式和存儲(chǔ)器的配置,反映處理器的工作狀態(tài)。中斷向量指針CPU工作方式選擇位RAM重復(fù)占位標(biāo)志地址可見控制位數(shù)據(jù)ROM映射選擇位時(shí)鐘輸出選擇位乘法飽和方式位存儲(chǔ)飽和位SST:用來決定累加器中的數(shù)據(jù)在存儲(chǔ)到存儲(chǔ)器之前,是否需要飽和處理。SMUL:用來決定乘法結(jié)果是否需要進(jìn)行飽和處理;

CLKOFF:用來決定時(shí)鐘輸出引腳CLKOUT是否有信號(hào)輸出;DROM:用來決定片內(nèi)ROM是否可以映射到數(shù)據(jù)存儲(chǔ)空間;AVIS:用來決定是否可以從器件地址引腳線看到內(nèi)部程序空間地址線;OVLY:用來決定片內(nèi)雙尋址數(shù)據(jù)RAM是否映射到程序空間。

MP/MC:用來確定是否允許使用片內(nèi)程序存儲(chǔ)器ROMIPTR:用來指示中斷向量所駐留的128字程序存儲(chǔ)器的位置;第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4C54x的存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器空間的分類:

程序存儲(chǔ)器基本空間64K字,最大可擴(kuò)展至8M字;數(shù)據(jù)存儲(chǔ)器空間64K字;

I/O空間64K字。有下列特點(diǎn):

片內(nèi)RAM由雙口DARAM和單口SARAM相結(jié)合

儲(chǔ)存空間的交叉應(yīng)用

片內(nèi)存儲(chǔ)器與CPU同速運(yùn)行

第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.1程序存儲(chǔ)器空間程序空間用于存放指令代碼和常系數(shù)表格。

程序空間的組織:

CPU工作方式選擇位MP/MC重復(fù)占位標(biāo)志位OVLY

程序計(jì)數(shù)器擴(kuò)展寄存器XPC

程序空間的擴(kuò)展:

16條外部地址線,可擴(kuò)展64K字

20條或23條外部地址線,可擴(kuò)展至1M~8M字

第2章TMS320C54x的硬件結(jié)構(gòu)及原理C5402A

的程序存儲(chǔ)器(第0頁)結(jié)構(gòu)圖C5402

外部微處理器模式OVLY=0,MP/MC=1,OVLY=1微計(jì)算機(jī)模式OVLY=0,MP/MC=1,OVLY=1第2章TMS320C54x的硬件結(jié)構(gòu)及原理VC5402-100

的程序存儲(chǔ)器(第0頁)結(jié)構(gòu)圖微處理器模式OVLY=0,MP/MC=1,OVLY=1微計(jì)算機(jī)模式OVLY=0,MP/MC=1,OVLY=1第2章TMS320C54x的硬件結(jié)構(gòu)及原理C5402A

的程序存儲(chǔ)器(第0頁)結(jié)構(gòu)圖DROM無VC5402-100的存儲(chǔ)器結(jié)構(gòu)圖C5402的存儲(chǔ)器結(jié)構(gòu)圖根裝載在線調(diào)試第2章TMS320C54x的硬件結(jié)構(gòu)及原理

1程序存儲(chǔ)器(第0頁)芯片復(fù)位時(shí),MP/MC引腳狀態(tài)被置入位MP/MC

,或通過軟件直接設(shè)置位MP/MC

。根據(jù)位MP/MC的狀態(tài)決定了程序儲(chǔ)存器的兩種配置模式。當(dāng)MP/MC=0時(shí),將程序空間配置為微計(jì)算機(jī)模式,允許使用片內(nèi)ROM

。

當(dāng)MP/MC=1時(shí),將程序空間配置為微處理器模式,禁止使用片內(nèi)ROM

。

第2章TMS320C54x的硬件結(jié)構(gòu)及原理VC5402-100

的程序存儲(chǔ)器(第0頁)結(jié)構(gòu)圖微處理器模式OVLY=0,MP/MC=1,OVLY=1微計(jì)算機(jī)模式OVLY=0,MP/MC=1,OVLY=1第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.片內(nèi)ROMC5402片內(nèi)集成有4K字的ROM(F800h~FFFFh)。

高2K字(F800h~FFFFh)由TI公司預(yù)留,用于掩膜程序(由芯片廠家固化到ROM中的程序),并放置了一些常用的數(shù)據(jù)表格和自舉程序

(加電自檢程序)。片內(nèi)ROM的FF00h~FF7Fh這128個(gè)字內(nèi)裝有器件測(cè)試代碼,在掩膜時(shí)應(yīng)避開這段區(qū)間。引導(dǎo)程序Bootloadercodeμ律擴(kuò)展表A律擴(kuò)展表sin函數(shù)表保留中斷矢量表F800HF900HFA00HFB00HFC00HFD00HFE00HFF00HFF80H第2章TMS320C54x的硬件結(jié)構(gòu)及原理3.分頁擴(kuò)展

C5402有20條外部地址線A19~A0,16條外部數(shù)據(jù)線D15~D0,因此,最大可擴(kuò)展程序空間是1M字。(應(yīng)用電路可參考P364、P371等)特點(diǎn):擴(kuò)展后的程序空間分成16頁,每頁64K字

一個(gè)16位專用寄存器:程序計(jì)數(shù)器擴(kuò)展寄存器(XPC)可對(duì)擴(kuò)展程序空間尋址的指令FB[D]、FBACC[D]、

FCALA[D]、FCALL[D]、FRET[D]和FRETE[D]

可以通過指令READA和WRITA對(duì)擴(kuò)展程序空間的數(shù)據(jù)直接進(jìn)行訪問。第2章TMS320C54x的硬件結(jié)構(gòu)及原理3.分頁擴(kuò)展當(dāng)MP/MC=0時(shí),允許使用片內(nèi)ROM,此時(shí),片內(nèi)ROM只能在第0頁被尋址,不能映像至其它頁。當(dāng)OVLY=0時(shí),片內(nèi)DARAM不被映像至程序空間(使用外部存儲(chǔ)器),頁與頁之間沒有重疊

,如圖所示:第2章TMS320C54x的硬件結(jié)構(gòu)及原理3.分頁擴(kuò)展當(dāng)OVLY=1時(shí),每一頁由兩部分組成,每頁的前16K字為片內(nèi)DARAM,其內(nèi)容相同(共享)。除了16K字的保留空間之外,每頁的后32K字內(nèi)容各不相同。如圖所示:

第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.2數(shù)據(jù)存儲(chǔ)空間數(shù)據(jù)空間用于存放程序處理過程中的數(shù)據(jù)和結(jié)果。C54x系列DSP的數(shù)據(jù)空間尋址范圍為64K字,片內(nèi)和片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址。(程序存儲(chǔ)空間也是片內(nèi)、片外統(tǒng)一編址)不同型號(hào)的芯片其片內(nèi)DARAM和SARAM的容量有所不同,位DROM對(duì)數(shù)據(jù)空間結(jié)構(gòu)的影響也有差異。

注意:VC5402中DROM位可用。DROM=0外部,DROM=1片內(nèi)部分ROM映射為數(shù)據(jù)存儲(chǔ)器。VC5402A中沒有DROM位。DP=0DP=511頁0頁511DP=1頁100FF每頁128個(gè)字單元,共512頁DARAM0-1C5402的存儲(chǔ)器結(jié)構(gòu)圖第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.2數(shù)據(jù)存儲(chǔ)空間第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.2數(shù)據(jù)存儲(chǔ)空間數(shù)據(jù)空間0000h~005Fh為存儲(chǔ)器映像寄存器(MMR)區(qū)間。其中,在0000h~0020h中分布著27個(gè)CPU寄存器,如表所示

第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.2數(shù)據(jù)存儲(chǔ)空間在0021h~005Fh中分布著多個(gè)片內(nèi)外設(shè)MMR寄存器:

此表適用于C5402A,而C5402有差異32個(gè)第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.2數(shù)據(jù)存儲(chǔ)空間MMR方式訪問寄存器的優(yōu)點(diǎn)是:簡(jiǎn)化了尋址方式提高了訪問效率使得CPU對(duì)寄存器的讀取以及寄存器之間、寄存器與存儲(chǔ)器之間的數(shù)據(jù)交換更加靈活和方便。

C5402片內(nèi)有16K字的DARAM,地址0080h~3FFFh,分成2個(gè)8K字的數(shù)據(jù)塊DARAM0和DARAM1

訪問MMR的方法P77第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.3I/O空間特點(diǎn):

C54x的I/O空間采用I/O映像方式,即有獨(dú)立的片外尋址空間64K字

有專用訪問指令PORTR和PORTW有使能和控制信號(hào)用于系統(tǒng)的接口應(yīng)用設(shè)計(jì)

IS:I/O設(shè)備選擇信號(hào);IOSTRB:I/O設(shè)備選通信號(hào);R/W:讀/寫信號(hào);2.5復(fù)位操作及省電模式2.5.1復(fù)位操作

DSP需要進(jìn)行上電復(fù)位和人工按鍵復(fù)位,CPU、片內(nèi)外設(shè)和系統(tǒng)各部件進(jìn)入一種確定的初始狀態(tài),并從該初始態(tài)開始工作

引腳RS是外部復(fù)位信號(hào)輸入端“0”電平應(yīng)該保持100ms~200ms的時(shí)間

信號(hào)由低變高后,DSP系統(tǒng)即開始正常工作

CPU從程序存儲(chǔ)器的FF80h開始取指執(zhí)行

2.5復(fù)位操作及省電模式2.5.1復(fù)位操作在C54x處于復(fù)位時(shí),DSP將進(jìn)行以下操作:1.處理器模式狀態(tài)寄存器PMST的位IPTR=1FFh

2.使程序計(jì)數(shù)器PC=FF80h

3.將MP/MC引腳上的狀態(tài)送給PMST的位MP/MC4.使?fàn)顟B(tài)寄存器ST0=1800h,ST1=2900H;

5.使ST1的位INTM=1,關(guān)斷所有可屏蔽中斷;第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.5.1復(fù)位操作6.使中斷標(biāo)志寄存器IFR=0,清除所有可屏蔽中斷標(biāo)志7.使控制程序計(jì)數(shù)器XPC=0,指向程序存儲(chǔ)空間第0頁8.使數(shù)據(jù)總線處于高阻狀態(tài)9.使控制線處于無效狀態(tài)10.產(chǎn)生應(yīng)答信號(hào)IACK(CPU的中斷響應(yīng)信號(hào)輸出)11.產(chǎn)生同步復(fù)位信號(hào),用于初始化片內(nèi)外設(shè)。注意:復(fù)位時(shí)沒有對(duì)堆棧指針SP進(jìn)行初始化,因此在應(yīng)用軟件中對(duì)SP進(jìn)行設(shè)定。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.5.2省電方式

C54x系列DSP提供了多種省電工作方式,主要有下列4種:空閑方式1空閑方式2空閑方式3保持方式

可以通過執(zhí)行IDLE1、IDLE2、IDLE3這三條指令使DSP進(jìn)入相應(yīng)的空閑方式;或通過控制信號(hào)的配置實(shí)現(xiàn)保持方式.

C54x的4種省電方式√√√

RS復(fù)位√√√

NMI非屏蔽中斷發(fā)生√√√外部可屏蔽硬件中斷√內(nèi)部可屏蔽硬件中斷√

HOLD變?yōu)楦唠娖礁鞣N原因結(jié)束省電工作方式√外部控制信號(hào)線處于高阻狀態(tài)√外部數(shù)據(jù)線處于高阻狀態(tài)√外部地址線處于高阻狀態(tài)√鎖相環(huán)(PLL)停止工作√√外圍電路時(shí)鐘停止工作√√√

CPU時(shí)鐘停止工作√√√√

CPU處于暫停工作狀態(tài)HOLDIDLE3

IDLE2

IDLE1

操作/特性

第2章TMS320C54x的硬件結(jié)構(gòu)及原理第2章TMS320C54x的硬件結(jié)構(gòu)及原理其它降低功耗的功能:

C54x還可以通過關(guān)閉外部總線和關(guān)閉時(shí)鐘輸出CLKOUT來降低芯片的功耗。關(guān)閉外部總線是指關(guān)斷片內(nèi)的外部接口時(shí)鐘,使接口處于低功耗狀態(tài)(將分區(qū)開關(guān)控制寄存器BSCR的D0位置1)。

關(guān)閉時(shí)鐘輸出是指通過指令來禁CLKOUT信號(hào)的輸出(令PMST的位CLKOFF=1)。嵌入式微處理器都具有實(shí)時(shí)處理功能,對(duì)外部隨機(jī)事件能夠進(jìn)行及時(shí)的響應(yīng)和處理,這是靠中斷技術(shù)來實(shí)現(xiàn)的。

處理流程:外部中斷申請(qǐng)引腳或片內(nèi)外設(shè)發(fā)出中斷申請(qǐng)CPU終止主程序的正常執(zhí)行轉(zhuǎn)去執(zhí)行中斷服務(wù)程序(ISR)再返回主程序被打斷位置繼續(xù)執(zhí)行主程序。

2.6中斷系統(tǒng)第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.6.1C54x的中斷申請(qǐng)?jiān)?.中斷的分類

:軟件中斷硬件中斷中斷申請(qǐng)?jiān)吹牟煌帘蔚慕嵌?/p>

可屏蔽中斷

非屏蔽中斷

2.中斷優(yōu)先級(jí):中斷的優(yōu)先級(jí)是由芯片本身確定的,CPU將按照其優(yōu)先級(jí)的高低來確定響應(yīng)次序第2章TMS320C54x的硬件結(jié)構(gòu)及原理3中斷源的地址偏移量和優(yōu)先級(jí)表(30個(gè))軟件中斷#21——18HSINT216軟件中斷#22——1CHSINT227軟件中斷#20——14HSINT205軟件中斷#19——10HSINT194軟件中斷#18——0CHSINT183軟件中斷#17

——08H2不可屏蔽中斷

204H1復(fù)位(硬件和軟件復(fù)位)

100HRS/SINTR0功能

中斷優(yōu)先級(jí)

地址偏移中斷名稱

中斷序號(hào)

NMI/SINT16SINT17C5402A第2章TMS320C54x的硬件結(jié)構(gòu)及原理3中斷源的地址偏移量和優(yōu)先級(jí)表

中斷序號(hào)

中斷名稱

中斷地址

中斷優(yōu)先級(jí)

功能

8SINT2320H——軟件中斷#239SINT2424H——軟件中斷#2410SINT2528H——軟件中斷#25

11SINT262CH——軟件中斷#2612SINT2730H——軟件中斷#2713SINT2834H——軟件中斷#2814SINT2938H——軟件中斷#2915SINT303CH——軟件中斷#30C5402A第2章TMS320C54x的硬件結(jié)構(gòu)及原理3中斷源的地址偏移量和優(yōu)先級(jí)表中斷序號(hào)

中斷名稱

中斷地址

中斷優(yōu)先級(jí)

功能

16INT0/SINT040H3外部用戶中斷#0

17INT1/SINT144H4外部用戶中斷#1

18INT2/SINT248H5外部用戶中斷#219TINT0/SINT34CH6內(nèi)部定時(shí)器0中斷

20RINT0/SINT450H7緩沖串口McBSP0接收中斷

21XINT0/SINT554H8緩沖串口McBSP0發(fā)送中斷

22RINT2/SINT658H9緩沖串口McBSP2接收中斷

C5402A第2章TMS320C54x的硬件結(jié)構(gòu)及原理3中斷源的地址偏移量和優(yōu)先級(jí)表中斷序號(hào)

中斷名稱

中斷地址

中斷優(yōu)先級(jí)

功能

23

XINT2/SINT7

5CH10緩沖串口McBSP2發(fā)送中斷

24INT3/SINT8

60H11外部用戶中斷#325

HINT/SINT9

64H12HPI中斷

26RINT1/SINT10

68H13緩沖串口McBSP1接收中斷27XINT1/SINT116CH14緩沖串口McBSP1發(fā)送中斷

C5402A第2章TMS320C54x的硬件結(jié)構(gòu)及原理3中斷源的地址偏移量和優(yōu)先級(jí)表中斷序號(hào)

中斷名稱

中斷地址

中斷優(yōu)先級(jí)

功能

28

DMAC4/SINT12

70H

15DMA通道4中斷

29

DMAC5/SINT13

74H16DMA通道5中斷

78H~7FH——保留

C5402AC5402與C5402A在22,23號(hào)等中斷源上有差別。第2章TMS320C54x的硬件結(jié)構(gòu)及原理4.中斷向量地址的計(jì)算形成一個(gè)中斷向量地址的方法是:由IPTR給出高9位地址,地址偏移表的地址偏移量為低7位地址,兩者結(jié)合組成一個(gè)16位的地址,即為某個(gè)中斷的入口地址。

由于每個(gè)中斷僅占4個(gè)字單元,一般無法容納下中斷服務(wù)程序,因此,通常在此位置上寫一條跳轉(zhuǎn)指令,轉(zhuǎn)至相應(yīng)的中斷服務(wù)程序位置上去。共30個(gè)中斷源,128個(gè)字單元第2章TMS320C54x的硬件結(jié)構(gòu)及原理4.中斷向量地址的計(jì)算4CH第2章TMS320C54x的硬件結(jié)構(gòu)及原理5.軟件中斷指令C54x提供了3條軟件中斷指令I(lǐng)NTR、TRAP和RESET。

1)指令RESET:可在程序的任何位置使用。執(zhí)行該指令會(huì)引起芯片的軟件復(fù)位。

2)指令I(lǐng)NTRK;不管INTM及IMR的狀態(tài)如何,執(zhí)行該指令都會(huì)強(qiáng)行使CPU跳轉(zhuǎn)至

K所指出的中斷向量地址。位INTM被置1,禁止其他可屏蔽中斷。(改錯(cuò):IER應(yīng)該為IMR)

3)指令TRAPK;與INTR指令的操作類似,而TRAP

指令不影響位INTM。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.6.2中斷寄存器

C54x有2個(gè)寄存器對(duì)中斷進(jìn)行管理,分別為中斷標(biāo)志寄存器IFR和中斷屏蔽寄存器IMR。它們都是16位的存儲(chǔ)器映像寄存器,地址分別是0000h和0001h。

C5402A的IFR和IMR各位名稱和對(duì)應(yīng)中斷相同

TINT1orDMAC1RESorDMAC0C5402第2章TMS320C54x的硬件結(jié)構(gòu)及原理C5402A的IFR和IMR的位名稱及功能表

第2章TMS320C54x的硬件結(jié)構(gòu)及原理1.中斷標(biāo)志寄存器IFR當(dāng)一個(gè)中斷請(qǐng)求出現(xiàn)時(shí),將把中斷標(biāo)志寄存器IFR中的相應(yīng)位置1,表示該中斷發(fā)出了中斷申請(qǐng),并已被掛起,等待CPU的響應(yīng)。

清除IFR中的中斷標(biāo)志方法:

1)硬件或軟件復(fù)位;2)響應(yīng)指令I(lǐng)NTRK或TRAPK引發(fā)的中斷3)響應(yīng)硬件引發(fā)的中斷,執(zhí)行響應(yīng)的中斷服務(wù)程序4)向IFR中的位做寫入操作第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.中斷屏蔽寄存器IMR

IMR的各位可以看作是可屏蔽中斷的分開關(guān),CPU通過對(duì)它的設(shè)置來選擇允許產(chǎn)生中斷的中斷源。給相應(yīng)的標(biāo)志位寫入1,允許該中斷源產(chǎn)生中斷,寫入0禁止該中斷。

ST1中的INTM位是總開關(guān)。使用時(shí),令I(lǐng)NTM=0,使總開關(guān)閉合,令相應(yīng)IMR的某位=1,使分開關(guān)閉合,該可屏蔽中斷才能得到CPU的響應(yīng)。

INTM位及IMR對(duì)于復(fù)位中斷和非屏蔽中斷是不起作用的。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.6.3中斷響應(yīng)及中斷處理過程1.非屏蔽中斷或軟件中斷的處理過程2.可屏蔽中斷的處理過程第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.6.3中斷響應(yīng)及中斷處理過程3.中斷處理中的一些特殊情況1)在中斷服務(wù)程序ISR中進(jìn)行現(xiàn)場(chǎng)保護(hù)

2)DSP在響應(yīng)中斷時(shí),會(huì)有一定的延時(shí)

3)執(zhí)行單重復(fù)指令RPT和RPTZ時(shí)出現(xiàn)了斷請(qǐng)求

4)HOLD保持模式優(yōu)先于中斷

5)在指令RSBXINTM和其下一條指令之間不能響應(yīng)中斷。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7流水線C54x的流水線操作由6個(gè)階段組成:

預(yù)取指(簡(jiǎn)稱P)取指(簡(jiǎn)稱F)譯碼(簡(jiǎn)稱D)尋址(簡(jiǎn)稱A)讀數(shù)(簡(jiǎn)稱R)執(zhí)行(簡(jiǎn)稱X)

流水線結(jié)構(gòu)與操作功能:從選中的程序存儲(chǔ)單元中取指令代碼加載到PB上用指令地址PC的值加載PAB將PB上的代碼送至指令譯碼器IR譯碼讀數(shù)據(jù)1,加載DB讀數(shù)據(jù)2,加載CB若需要,將數(shù)據(jù)3寫地址加載EAB若需要,用讀數(shù)據(jù)1的地址加載至DAB;用讀數(shù)據(jù)2的地址加載至CAB修正輔助寄存器和堆棧指針執(zhí)行指令,用寫數(shù)據(jù)加載至EB第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7流水線:所謂理想的流水線是指每條指令都是單字單周期指令,都以每個(gè)時(shí)鐘一個(gè)節(jié)拍的方式流過流水線.

流水線連續(xù)運(yùn)行時(shí)的時(shí)序:執(zhí)行讀數(shù)尋址譯碼取指預(yù)取指第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7流水線:P78,3(2)32長(zhǎng)操作數(shù)存儲(chǔ)P68表3-4AR1中的內(nèi)容是數(shù)據(jù)存儲(chǔ)器的地址EB負(fù)責(zé)傳送讀/寫數(shù)據(jù)EAB負(fù)責(zé)傳送數(shù)據(jù)存儲(chǔ)器地址P59表3-1利用長(zhǎng)字尋址的32位單數(shù)據(jù)存儲(chǔ)器操作數(shù)單字雙周期指令,在兩條流水線中完成寫32位長(zhǎng)操作數(shù)第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7.2流水線操作典型問題1.有延遲和無延遲的流水線操作:在C54x的匯編指令集中存在著這樣一些指令,只要在它的末尾加“D”就可使該指令具有了延遲功能,縮短了執(zhí)行時(shí)間。表2-18具有延遲功能的指令。C54x的無延遲無條件轉(zhuǎn)移指令為雙字4周期指令.格式如下:

Bpmad;0≤pmad≤65535

指令的操作是將pmad賦給PC,實(shí)現(xiàn)程序的無條件轉(zhuǎn)移。且該指令不允許執(zhí)行緊跟在它后面的兩條單字單周期指令。P90表3-16近程無條件轉(zhuǎn)移2.7.2流水線操作典型問題(1)無延遲的流水線操作:2.7.2流水線操作典型問題(2)有延遲的流水線操作:第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7.2流水線操作典型問題2.中斷響應(yīng)的流水線操作2.中斷響應(yīng)的流水線操作第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7.2流水線操作典型問題3.流水線沖突流水線沖突的分類時(shí)序性流水線沖突邏輯性流水線沖突部分流水線沖突由CPU自行解決。例如:在雙尋址存儲(chǔ)器和單尋址存儲(chǔ)器的流水線操作中存在的流水線沖突就可以由CPU自動(dòng)插入空周期來解決。另一部分流水線沖突未加保護(hù),由編程者去設(shè)法解決。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.8引腳及其功能按照功能可將引腳劃分為下列8部分:1)時(shí)鐘信號(hào);2)外部接口地址/數(shù)據(jù)/控制信號(hào);3)通用I/O引腳;4)多緩沖串行口McBSP0,McBSP1和McBSP2的信號(hào)5)主機(jī)接口HPI信號(hào);6)初始化、中斷及復(fù)位信號(hào);7)電源引腳;8)測(cè)試引腳。(C5402A的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論