DSP技術(shù)TMSCx系列DSP硬件結(jié)構(gòu)_第1頁
DSP技術(shù)TMSCx系列DSP硬件結(jié)構(gòu)_第2頁
DSP技術(shù)TMSCx系列DSP硬件結(jié)構(gòu)_第3頁
DSP技術(shù)TMSCx系列DSP硬件結(jié)構(gòu)_第4頁
DSP技術(shù)TMSCx系列DSP硬件結(jié)構(gòu)_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

DSP技術(shù)TMSCx系列DSP硬件結(jié)構(gòu)演示文稿當(dāng)前1頁,總共76頁。3.1

TMS320C54xDSP的特點與基本結(jié)構(gòu)TMS320C54x(簡稱’C54x)是TI公司1996年推出的新一代DSP,是為了實現(xiàn)低功耗、高速實時信號處理而專門設(shè)計的數(shù)字信號處理器,采用改進(jìn)的哈佛結(jié)構(gòu),具有高度的操作靈活性和運(yùn)行速度,適應(yīng)于遠(yuǎn)程通信等實時嵌入式應(yīng)用的需要,現(xiàn)已廣泛地應(yīng)用于無線電通信系統(tǒng)中。2023/3/262當(dāng)前2頁,總共76頁。

技術(shù)指標(biāo)

對于同一系列的DSP器件,各型號器件所采用的CPU是基本相同的。TMS320C54x系列芯片中各型號器件內(nèi)部CPU結(jié)構(gòu)完全相同,只是在時鐘頻率、工作電壓、片內(nèi)存儲器容量大小、外圍設(shè)備和接口電路的設(shè)計上有所不同。當(dāng)前3頁,總共76頁。表3.1TMS320C54x系列DSP芯片的技術(shù)特征當(dāng)前4頁,總共76頁。TMS320C54x的硬件結(jié)構(gòu)圖

PAGENDAGEN

系統(tǒng)控制程序地址生成器數(shù)據(jù)地址生成器

CPU乘法累加器算術(shù)/邏輯運(yùn)算單元桶形移位器比較器外部存儲器接口外部設(shè)備接口程序存儲器數(shù)據(jù)存儲器串行口并行口定時器計數(shù)器中斷系統(tǒng)控制接口PABPBCABCBDABDBEABEB2023/3/265DSP原理及應(yīng)用當(dāng)前5頁,總共76頁。TMS320C54XDSP的主要特點1.CPU可實現(xiàn)高效的數(shù)據(jù)存儲能力和數(shù)據(jù)處理能力。

CPU是DSP芯片中的核心部分,是用來實現(xiàn)數(shù)據(jù)信號處理運(yùn)算和高速控制功能的部件。CPU的內(nèi)部包括:(1)采用先進(jìn)的多總線結(jié)構(gòu),通過1條程序總線、3條數(shù)據(jù)總線和4條地址總線來實現(xiàn)??赏瑫r訪問程序區(qū)和數(shù)據(jù)區(qū),還可進(jìn)行雙操作數(shù)讀操作,32位的雙字讀和并行的單字?jǐn)?shù)據(jù)讀/寫能力。(2)40位算術(shù)邏輯運(yùn)算單元ALU,包括1個40位桶形移位寄存器和2個獨(dú)立的40位累加器A、B。2023/3/266當(dāng)前6頁,總共76頁。(3)17×17位并行乘法器,與40位專用加法器相連,可用于進(jìn)行非流水線的單周期乘法-累加運(yùn)算。(4)比較、選擇、存儲單元(CSSU),可用于Viterbi譯碼器的加法-比較-選擇運(yùn)算。(5)指數(shù)編碼器,是一個支持單周期指令EXP的專用硬件??梢栽谝粋€周期內(nèi)計算40位累加器數(shù)值的指數(shù)。(6)集成Viterbi加速器,專門用于通信中Viterbi算法。(7)兩個地址生成器,包括8個輔助寄存器和2個輔助寄存器算術(shù)運(yùn)算單元(ARAU)。2023/3/267當(dāng)前7頁,總共76頁。

2.存儲器的組成(1)192K*16位的可選擇空間(64K字程序存儲空間、64K的數(shù)據(jù)存儲空間和64K的I/O空間)。(2)片內(nèi)ROM,可配置為程序/數(shù)據(jù)存儲器(3)片內(nèi)雙尋址RAM(DARAM)(4)部分54x含片內(nèi)單尋址RAM(SARAM)2023/3/268當(dāng)前8頁,總共76頁。

3.專業(yè)的指令集可幫助快速實現(xiàn)復(fù)雜算法和優(yōu)化編程(1)單指令重復(fù)和塊指令重復(fù)操作。(2)塊存儲移動指令,用于程序和數(shù)據(jù)管理。(3)32位長整數(shù)操作指令。(4)同時讀入2個或3個操作數(shù)的指令。(5)能并行存儲和加載的算術(shù)指令。(6)條件存儲指令。(7)快速中斷返回指令。2023/3/269當(dāng)前9頁,總共76頁。

4.執(zhí)行指令速度快TMS320C54xDSP執(zhí)行單周期定點指令時間可以為25/20/15/12.5/10ns,對應(yīng)每秒指令數(shù)分別為40/66/100MIPS(百萬條/秒)。2023/3/2610當(dāng)前10頁,總共76頁。5.電源可處于低功耗狀態(tài),可在3.3V和2.7V電壓下工作,三個低功耗方式(IDLE1、IDLE2、IDLE3)可節(jié)省功耗,以便DSP更適合無線移動設(shè)備。6.智能外設(shè)可以很方便地實現(xiàn)與外部處理器的數(shù)據(jù)通信和對芯片的仿真與測試。2023/3/2611當(dāng)前11頁,總共76頁。

3.2TMS320C54xDSP的總線結(jié)構(gòu)TMS320C54x片內(nèi)有8條16位總線,即4條程序/數(shù)據(jù)總線和4條地址總線。PB是程序總線,CB、DB和EB是數(shù)據(jù)總線,地址總線分別是:PAB、CAB、DAB和EAB。程序總線PB3條數(shù)據(jù)總線CB、DB和EB4條地址總線PAB、CAB、DAB和EAB2023/3/2612當(dāng)前12頁,總共76頁。表3.2讀/寫訪問時的總線占用說明當(dāng)前13頁,總共76頁。3.3TMS320C54x的CPU結(jié)構(gòu)CPU決定了DSP的運(yùn)算速度和程序效率,為了能在一個指令周期內(nèi)完成高速的算術(shù)運(yùn)算,TMS320C54xCPU采用了流水線指令執(zhí)行結(jié)構(gòu)和相應(yīng)的并行結(jié)構(gòu)設(shè)計。TMS320C54xCPU的寄存器在存取數(shù)據(jù)時,可以使用寄存器尋址方式,以達(dá)到快速保存和恢復(fù)數(shù)據(jù)的目的。TMS320C54xCPU主要包括:一個40位的算術(shù)邏輯單元(ALU)、兩個40位的累加器、一個桶形移位乘累加器、16位的暫存器(TREG)、16位的狀態(tài)轉(zhuǎn)移寄存器(TRN)、比較/選擇/存儲單元(CSSU)和指數(shù)編碼器。當(dāng)前14頁,總共76頁。一、算術(shù)邏輯運(yùn)算單元當(dāng)前15頁,總共76頁。一、算術(shù)邏輯運(yùn)算單元ALU的兩個輸入操作數(shù)可以來自:

16位的立即數(shù)

數(shù)據(jù)存儲器中的16位字

暫存器T中的16位字

數(shù)據(jù)存儲器中讀出的2個16位字

累加器A或B中的40位數(shù)

移位寄存器的輸出。ALU通過指令識別輸入數(shù)據(jù)。ALU的40位輸出結(jié)果送入累加器A或B。當(dāng)前16頁,總共76頁。二、累加器累加器A和B可作為ALU和乘法器/加法器單元的目的寄存器,累加器也能輸出數(shù)據(jù)到ALU或乘法器/加法器中。累加器可分為三部分:保護(hù)位(或稱前導(dǎo)位)、高位字和低位字。累加器A和B的唯一區(qū)別是累加器A的32~16位能被用作乘/加單元中乘法器的輸入,而累加器B則不能。累加器A和累加器B的保護(hù)位用作算術(shù)運(yùn)算時的空白頭,目的是防止迭代運(yùn)算中的溢出。AG、AH、AL、BG、BH和BL都是存儲器映像寄存器(在存儲空間中占有地址),由特定的指令將其內(nèi)容放到16位數(shù)據(jù)存儲器中,并從數(shù)據(jù)存儲器中讀出或?qū)懭?2位累加器值。當(dāng)前17頁,總共76頁。三、移位寄存器(桶形移位器)功能:把輸入的數(shù)據(jù)進(jìn)行0~31位的左移和0~15位的右移。輸入數(shù)據(jù)來自數(shù)據(jù)總線DB的16位輸入數(shù)據(jù)、CB的16位輸入數(shù)據(jù)及任意一個40位累加器,并輸出到ALU,經(jīng)過MSW/LSW(最高有效字/最低有效字)寫選擇單元至EB總線。所移的位數(shù)就是指令中的移位數(shù)。移位數(shù)都是用二進(jìn)制補(bǔ)碼表示,正值表示左移,負(fù)值表示右移。移位數(shù)可由立即數(shù)、狀態(tài)寄存器ST1中的累加器移位方式(ASM)字段和被指定為移位數(shù)值寄存器的暫存器T來決定。當(dāng)前18頁,總共76頁。圖3.5桶形移位寄存器當(dāng)前19頁,總共76頁。四、乘累加單元TMS320C54xCPU乘累加單元由17×17bit的硬件乘法器、40位專用加法器、符號位控制邏輯、小數(shù)控制邏輯、0檢測器、溢出/飽和邏輯和16位的暫存器(T)等部分組成,能夠在一個周期內(nèi)完成一次17*17bit的乘法和一次40位的加法。乘累加單元的一個輸入操作數(shù)來自T寄存器、數(shù)據(jù)存儲器或累加器A(31~16位);另一個則來自于程序存儲器、數(shù)據(jù)存儲器、累加器A(31~16位)或立即數(shù)。乘法器的輸出加到加法器的輸入端,累加器A或B則是加法器的另一個輸入端,最后結(jié)果送往目的累加器A或B。當(dāng)前20頁,總共76頁。圖3.6乘累加單元結(jié)構(gòu)圖當(dāng)前21頁,總共76頁。五、比較選擇存儲單元(CSSU)CSSU單元(其結(jié)構(gòu)如圖3.7所示)支持各種Viterbi算法并利用優(yōu)化的片內(nèi)硬件加速Viterbi的蝶形運(yùn)算。加法由ALU單元完成,只要將ST1中的C16置1,所有的雙字指令都會變成雙16位算術(shù)運(yùn)算指令,這樣ALU就可以在一個機(jī)器周期內(nèi)完成兩個16位數(shù)的加/減法運(yùn)算,其結(jié)果分別存放在累加器的高16位和低16位中。CSSU通過CMPS指令、一個比較器和16位的轉(zhuǎn)移寄存器完成比較和選擇操作。在比較選擇中,比較指定累加器的兩個16位部分并把比較結(jié)果移入TRN寄存器的第0位,比較結(jié)果也存入ST0寄存器的T0位。根據(jù)比較結(jié)果,選擇累加器中較大的字(AH或AL)存入數(shù)據(jù)存儲器。當(dāng)前22頁,總共76頁。圖3.7比較選擇存儲單元結(jié)構(gòu)圖當(dāng)前23頁,總共76頁。六、指數(shù)編碼器指數(shù)編碼器是一個專用硬件,如下圖所示,它專門用于單周期指令EXP。它可以求出累加器中的指數(shù)值,并以二進(jìn)制補(bǔ)碼形式存放于T中。指數(shù)編碼器結(jié)構(gòu)圖當(dāng)前24頁,總共76頁。七、CPU狀態(tài)控制寄存器’C54X包括3個狀態(tài)控制寄存器,分別是:狀態(tài)寄存器ST0狀態(tài)寄存器ST1處理器工作方式狀態(tài)寄存器PMST。2023/3/2625當(dāng)前25頁,總共76頁。1.狀態(tài)寄存器0(ST0)

主要反映處理器的尋址要求和計算機(jī)的運(yùn)行狀態(tài)。

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

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

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

用來反映A/B是否產(chǎn)生溢出。OVBOVADPDP:數(shù)據(jù)存儲器頁指針。

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

16位數(shù)據(jù)存儲器的地址。DP2023/3/2626當(dāng)前26頁,總共76頁。2.狀態(tài)寄存器1(ST1)151413121110987654~0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAF:塊重復(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信號時,指示

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

HM=0

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

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

HM=1

CPU停止內(nèi)部操作。

INTM:中斷方式控制位;

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

INTN=0

開放全部可屏蔽中斷;

INTN=1

禁止所有可屏蔽中斷。0:保留位,未被使用,總是讀為0。OVM:溢出方式控制位;

用來確定累加器溢出時,對累加器的加載方式。

OVM=0

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

OVM=1

當(dāng)正溢出時,將007FFFFFFFH加載累加器;

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

SXM=0

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

SXM=1

數(shù)據(jù)進(jìn)入ALU之前進(jìn)行符號位擴(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

乘法器的輸出左移一位,消除多余的符號位。CMPT:間接尋址輔助寄存器修正方式控制位;

用來決定ARP是否進(jìn)行修正。

CMPT=0

在進(jìn)行間接尋址單操作數(shù)時,不修正ARP;

CMPT=1

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

為某些具有移位操作的指令設(shè)定一個從-16~15范圍內(nèi)的移位值。BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM

主要反映處理器的尋址要求、計算初始狀態(tài)的設(shè)置、I/O及中斷的控制等。2023/3/2627當(dāng)前27頁,總共76頁。在操作中,可以使用置位指令SSBX和復(fù)位指令RSBX對ST0和ST1的各個位進(jìn)行單獨(dú)置位(置1)或清零(置0)。例如:SSBXSXM ;SXM=1,允許符號擴(kuò)展RSBXSXM ;SXM=0,禁止符號擴(kuò)展APR、DP和ASM字段可以通過LD指令裝載一個短立即數(shù),ASM和DP也可以通過使用LD指令用數(shù)據(jù)存儲器的值來裝載。2023/3/2628當(dāng)前28頁,總共76頁。3.處理器工作方式狀態(tài)寄存器PMSTSSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR012345615~7

主要設(shè)定和控制處理器的工作方式和存儲器的配置,反映處理器的工作狀態(tài)。PMST寄存器內(nèi)容可由存儲器映射寄存器指令裝載,如STM指令。中斷向量指針CPU工作方式選擇位RAM重復(fù)占位標(biāo)志地址可見控制位數(shù)據(jù)ROM映射選擇位時鐘輸出選擇位乘法飽和方式位存儲飽和位2023/3/2629當(dāng)前29頁,總共76頁。八、尋址單元TMS320C54xDSP有兩個地址發(fā)生器:程序地址生成單元PAGEN(ProgramAddressGenerationLogic)和數(shù)據(jù)地址生成單元DAGEN(DataAddressGenerationLogic)。1.程序地址生成單元(PAGEN)PAGEN包括5個寄存器:程序計數(shù)器PC、重復(fù)計數(shù)器RC、塊重復(fù)計數(shù)器BRC、塊重復(fù)起始地址RSA和結(jié)束地址REA(后四個寄存器合起來也叫重復(fù)寄存器),這些寄存器可支持程序存儲器尋址。當(dāng)前30頁,總共76頁。PAGEN、邏輯寄存器和流水線硬件進(jìn)行地址生成和程序排隊操作,形成了指令的流水線。流水線共有6級:(1)程序預(yù)取:將一條指令的地址(PC的內(nèi)容)加載到程序地址總線(PAB)上。(2)程序取指:用取指得到的指令字加載PB。(3)解碼:用PB的內(nèi)容加載IR,解碼IR的內(nèi)容。(4)訪問:將指令的讀操作數(shù)地址送到數(shù)據(jù)地址總線(DAB/CAB)上。(5)讀操作數(shù):從數(shù)據(jù)總線(DB和CB)讀數(shù)據(jù)操作數(shù)。(6)執(zhí)行:執(zhí)行指令,用寫數(shù)據(jù)加載EB。2023/3/2631當(dāng)前31頁,總共76頁。2.?dāng)?shù)據(jù)地址生成單元(DAGEN)

包括輔助寄存器指針ARP、循環(huán)緩沖區(qū)大小寄存器BK、DP、堆棧指針寄存器SP、8個輔助寄存器(AR0~AR7)和2個輔助寄存器算術(shù)單元(ARAU0和ARAU1)。8個輔助寄存器和2個輔助寄存器算術(shù)單元一起可進(jìn)行16位無符號數(shù)算術(shù)運(yùn)算,支持間接尋址,AR0~AR7由ST0中的ARP來指定。當(dāng)前32頁,總共76頁。

3.4TMS320C54xDSP的存儲器結(jié)構(gòu)TMS320C54x的存儲空間為192K字,分成3個可選擇的存儲空間:64K的程序存儲空間、64K的數(shù)據(jù)存儲空間和64K的I/O空間。這個系列的芯片都有隨機(jī)存儲器(RAM)和只讀存儲器(ROM)。其中RAM有兩種:單尋址RAM(SARAM)和雙尋址RAM(DARAM)。DARAM:能夠在一個機(jī)器周期內(nèi)執(zhí)行4次存儲器操作:1次取址、讀2個操作數(shù)和寫1個操作數(shù)。

使用片內(nèi)存儲器優(yōu)點:因為無須等待周期故性能更高;比外部存儲器成本低、功耗小。

當(dāng)片內(nèi)存儲器不能滿足系統(tǒng)設(shè)計的存儲要求時,就需要擴(kuò)展片外存儲器。

2023/3/2633當(dāng)前33頁,總共76頁。表3.3常用的TMS320C54xDSP器件的片內(nèi)存儲器配置

2023/3/2634當(dāng)前34頁,總共76頁。

TMS320C54x通過3個狀態(tài)位控制(PMST中)程序存儲器和數(shù)據(jù)存儲區(qū)的“使能”和“禁止”:MP/MC位:若MP/MC=0,則片內(nèi)ROM安排到程序空間;若MP/MC=1,則片內(nèi)ROM不安排到程序空間。OVLY位:若OVLY=1,則片內(nèi)RAM安排到程序和數(shù)據(jù)空間;若OVLY=0,則片內(nèi)RAM只安排在數(shù)據(jù)存儲空間。DROM位:若DROM=1,則部分片內(nèi)ROM安排到數(shù)據(jù)空間;若DROM=0,則片內(nèi)ROM不安排到數(shù)據(jù)空間。DROM的用法與MP/MC的用法無關(guān)。2023/3/2635當(dāng)前35頁,總共76頁?!疌5402數(shù)據(jù)存儲空間結(jié)構(gòu)

0000H~0050H

存儲器映像寄存器

0060H~007FH

暫存器SPRAM0080H~3FFFH內(nèi)部DARAM4000H~EFFFH外部存儲器DROM=1

使用內(nèi)部ROM

F000H~FEFFH內(nèi)部ROMFF00H~FFFFH保留DROM=0

不使用內(nèi)部ROM

F000H~FEFFH外部存儲器DROM=1保留

DROM=0外部存儲器FF00HFFFFHDROM=1內(nèi)部ROMDROM=0外部存儲器F000HFEFFH外部存儲器4000HEFFFH內(nèi)部DARAM(16K字)0080H3FFFH暫存器SPRAM0060H007FH存儲器映像寄存器0000H005FH數(shù)據(jù)存儲空間地址存儲器映像寄存器暫存器SPRAM內(nèi)部DARAM(16K字)外部存儲器DROM=1內(nèi)部ROM

DROM=1保留存儲器映像寄存器暫存器SPRAM內(nèi)部DARAM(16K字)外部存儲器DROM=1內(nèi)部ROM

DROM=1保留DROM=1保留

DROM=0外部存儲器DROM=1內(nèi)部ROMDROM=0外部存儲器外部存儲器內(nèi)部DARAM(16K字)暫存器SPRAM存儲器映像寄存器2023/3/2636當(dāng)前36頁,總共76頁。內(nèi)部RAM前1K的配置:0380H~03FFH0300H~037FH0280H~02FFH0200H~027FH0180H~01FFH0100H~017FH0080H~00FFH0060H~007FH0200H~005FH0000H~001FH存儲器映像的CPU寄存器存儲器映像的CPU寄存器,特殊功能寄存器0000~001FH:特殊功能寄存器存儲器映像的外設(shè)寄存器存儲器映像的外設(shè)寄存器0020~005FH:外設(shè)寄存器暫存器SPRAM(DP=0)暫存寄存器SPRAM0060~007FH:暫存寄存器DARAM(DP=7)DARAM(DP=6)DARAM(DP=5)DARAM(DP=4)DARAM(DP=3)DARAM(DP=2)DARAM(DP=1)0080~03FFH:7個DARAM數(shù)據(jù)塊。2023/3/2637當(dāng)前37頁,總共76頁。

為了便于CPU的并行操作,提高芯片的高速處理能力,從0080H開始,按每80H(128)個存儲單元為一個塊,將DARAM分成若干個數(shù)據(jù)塊。

分塊以后,用戶可以在同一個周期內(nèi)從同一塊DARAM中取出兩個操作數(shù),并將數(shù)據(jù)寫入到另一塊DARAM中。2023/3/2638當(dāng)前38頁,總共76頁。存儲器映像寄存器

在’C54x的數(shù)據(jù)存儲空間中,前80H個單元(數(shù)據(jù)頁0)包含有CPU寄存器、片內(nèi)外設(shè)寄存器和暫存器。這些寄存器全部映射到數(shù)據(jù)存儲空間,稱作存儲器映像寄存器MMR。存儲器映像寄存器MMR:

CPU寄存器——特殊功能寄存器;

片內(nèi)外設(shè)寄存器;

暫存器SPRAM。

2023/3/2639當(dāng)前39頁,總共76頁。

特殊功能寄存器

功能:主要用于程序的運(yùn)算處理和尋址方式的選

擇和設(shè)定。地址范圍:0000H~001FH。

’C5402的CPU寄存器共有27個,CPU訪問這些寄存器時,不需要插入等待時間。外設(shè)寄存器

功能:用來控制片內(nèi)外設(shè)電路的狀態(tài)和存放數(shù)據(jù)。

地址范圍:0020H~005FH。

包括串行口通信控制寄存器組、定時器定時控制寄存器組、時鐘周期設(shè)定寄存器組等。暫存器SPRAM

功能:用來暫存變量。地址范圍:0060H~007FH。2023/3/2640當(dāng)前40頁,總共76頁。第2章TMS320C54x的硬件結(jié)構(gòu)

地址符號寄存器名稱地址符號寄存器名稱00H

IMR中斷屏蔽寄存器10HAR0輔助寄存器001H

IFR中斷標(biāo)志寄存器11H

AR1輔助寄存器102H

保留(用于測試)12HAR2輔助寄存器203H保留(用于測試)13H

AR3輔助寄存器304H保留(用于測試)14H

AR4輔助寄存器405H保留(用于測試)15HAR5輔助寄存器506H

ST0狀態(tài)寄存器016H

AR6輔助寄存器607H

ST1狀態(tài)寄存器117H

AR7輔助寄存器708H

AL累加器A低字(15~0位)18H

SP堆棧指針09H

AH累加器A高字(31~16位)19H

BK循環(huán)緩沖區(qū)長度寄存器0AH

AG累加器A保護(hù)位(39~32位)1AH

BRC塊重復(fù)計數(shù)器0BH

BL累加器B低字(15~0位)1BH

RSA塊重復(fù)起始地址寄存器0CH

BH累加器B高字(31~16位)1CHREA塊重復(fù)結(jié)束地址寄存器0DH

BG累加器B保護(hù)位(39~32位)1DHPMST處理器模式狀態(tài)寄存器0EH

T暫存寄存器1EHXPC程序計數(shù)器擴(kuò)展寄存器0FH

TRN狀態(tài)轉(zhuǎn)移寄存器1FH保留TMS320C54x存儲器映像CPU寄存器(特殊功能寄存器)2023/3/2641DSP原理及應(yīng)用當(dāng)前41頁,總共76頁。2.存儲器映像寄存器

片內(nèi)外設(shè)寄存器存在于一個專用的外設(shè)總線結(jié)構(gòu)中,它可以發(fā)送數(shù)據(jù)至外設(shè)總線或者從外設(shè)中接收數(shù)據(jù)。設(shè)置或清除寄存器的控制位可以激活、屏蔽或者重新配置外設(shè)狀態(tài)。

不同型號的芯片具有不同的片內(nèi)外設(shè)寄存器。’C5402DSP外設(shè)的存儲器及相應(yīng)的地址地址符號寄存器名稱地址符號寄存器名稱20H

BDRR0緩沖串行口0數(shù)據(jù)接收寄存器35HTRAD

TDM串行口接收地址寄存器

21HBDXR0緩沖串行口0數(shù)據(jù)發(fā)送寄存器36~37H保留22H

BSPC0緩沖串行口0控制寄存器38HAXR0

ABU0發(fā)送地址寄存器23H

BSPCE0緩沖串行口0控制擴(kuò)展寄存器39H

BKX0

ABU0發(fā)送緩沖范圍寄存器24H

TIM定時設(shè)定寄存器3AH

ARR0

ABU0接收地址寄存器25H

PRD定時周期寄存器3BHBKR0

ABU0接收緩沖范圍寄存器26H

TCR定時控制寄存器3CH

AXR1

ABU1發(fā)送地址寄存器27H保留3DH

BKX1

ABU1發(fā)送緩沖范圍寄存器28HSWWSR軟件等待狀態(tài)寄存器3EH

ARR1

ABU1接收地址寄存器29HBSCR多路開關(guān)控制寄存器3FH

BKR1

ABU1接收緩沖范圍寄存器2A~2BH

保留40H

BDRR1緩沖串行口1數(shù)據(jù)接收寄存器2CH

HPIC主機(jī)口(HPI)控制寄存器41H

BDXR1緩沖串行口1數(shù)據(jù)發(fā)送寄存器2D~2FH

保留42HBSPC1緩沖串行口1控制寄存器30H

TRCV

TDM串行口數(shù)據(jù)接收寄存器43HBSPCE1緩沖串行口1控制擴(kuò)展寄存器31HTDXR

TDM串行口數(shù)據(jù)發(fā)送寄存器44~57H保留32HTSPCTDM串行口控制寄存器58HCLKMD時鐘模式寄存器33H

TCSR

TDM串行口通道選擇寄存器

59~5FH

保留34H

TRTA

TDM串行口接收發(fā)送寄存器

2023/3/2642DSP原理及應(yīng)用當(dāng)前42頁,總共76頁。I/O存儲器

’C54x除了程序和數(shù)據(jù)存儲空間外,還提供了一個具有64K字的I/O空間。

主要用于對片外設(shè)備的訪問??梢允褂幂斎胫噶頟ORTR和輸出指令PORTW對I/O空間尋址。

在對I/O空間訪問時,除了使用數(shù)據(jù)總線和地址總線外,還要用到IOTRB、IS和I/W控制線。

IOTRB和IS:用于選通I/O空間;

I/W:用于控制訪問方向。

2023/3/2643當(dāng)前43頁,總共76頁。

3.5TMS320C54xDSP的片內(nèi)外設(shè)

’C54x器件除了提供哈佛結(jié)構(gòu)的總線、功能強(qiáng)大的CPU以及大容量的存儲空間外,還提供了必要的片內(nèi)外部設(shè)備。

不同型號的’C54x芯片,所配置的片內(nèi)外設(shè)有所不同,這些片內(nèi)外設(shè)主要包括:

①通用I/O②中斷系統(tǒng)③定時器④時鐘發(fā)生器⑤軟件可編程等待狀態(tài)發(fā)生器(SWWSR)⑥可編程的組合切換邏輯⑦串行口⑧直接存儲器訪問(DMA)控制器⑨主機(jī)接口HPI⑩外部總線接口2023/3/2644當(dāng)前44頁,總共76頁。1.通用I/O引腳

’C54x芯片為用戶提供了兩個軟件控制的通用I/O引腳。

分支轉(zhuǎn)移控制輸入引腳BIO

外部標(biāo)志輸出引腳XF

BIO:分支轉(zhuǎn)移控制輸入引腳

用來監(jiān)控外部設(shè)備的運(yùn)行狀態(tài)。

在實時控制系統(tǒng)中,通過查詢此引腳控制程

序流向,以避免中斷引起的失控現(xiàn)象。

XF:外部標(biāo)志輸出引腳

用于程序向外設(shè)傳輸標(biāo)志信息。

通過此引腳的置位或復(fù)位,可以控制外設(shè)

的工作。是狀態(tài)寄存器ST1中的位。2023/3/2645當(dāng)前45頁,總共76頁。2.中斷系統(tǒng)中斷是指DSP暫時停止原程序執(zhí)行轉(zhuǎn)而為外部設(shè)備服務(wù)(執(zhí)行中斷服務(wù)程序),并在服務(wù)完成后自動返回原程序執(zhí)行的過程。CPU在和外設(shè)交換信息時通過中斷就可以避免不必要的等待和查詢,從而提高CPU的工作效率,所以中斷系統(tǒng)是衡量CPU性能好壞的一項重要指標(biāo)。當(dāng)前46頁,總共76頁。(1)中斷類型可屏蔽中斷

指可用軟件來屏蔽或開放的中斷,即通過對中斷屏蔽寄存器(IMR)中的相應(yīng)位和狀態(tài)寄存器(ST1)中的中斷允許控制位INTM編程來屏蔽或開放中斷。

MS320C54xDSP最多可支持16個用戶可屏蔽中斷。非屏蔽中斷

指通過軟件改變IMR和ST1中的位已不能影響中斷是否被屏蔽,TMS320C54x對這類中斷總是立即響應(yīng)的。TMS320C54x的非屏蔽中斷包括:所有的軟件中斷、由芯片的復(fù)位引腳引起的中斷和由芯片的外中斷引腳引起的中斷。當(dāng)前47頁,總共76頁。(2)中斷向量TMS320C54xDSP給每個中斷源都分配一個確定的偏移地址,叫中斷向量,中斷向量中存放中斷子程序的入口地址,所有的中斷向量放在一起就是中斷向量表。在TMS320C54x中,中斷向量地址的產(chǎn)生是由PMST寄存器中9位的中斷向量指針(IPTR)形成中斷向量地址的高9位,中斷向量序號乘以4(左移2位),形成中斷向量地址的低7位,二者連接并組成16位的中斷向量地址。TMS320C54xDSP內(nèi)部有兩個中斷管理寄存器:中斷標(biāo)志寄存器和中斷屏蔽寄存器。當(dāng)前48頁,總共76頁。表3.4TMS320C54xDSP中斷向量表當(dāng)前49頁,總共76頁。(3)中斷處理流程TMS320C54x中斷處理分為三個階段:接受中斷請求、響應(yīng)中斷和執(zhí)行中斷服務(wù)程序。中斷處理流程如下當(dāng)前50頁,總共76頁。當(dāng)前51頁,總共76頁。2定時器

用于事件計數(shù)和產(chǎn)生相應(yīng)中斷。在工業(yè)應(yīng)用中,計數(shù)器和定時器常用于檢測和控制中的時序協(xié)調(diào)及控制。

’C54x的片內(nèi)定時器是一個可編程的定時器,可用于周期地產(chǎn)生中斷。定時器的最高分辨率為處理器的CPU時鐘速度。通過帶4位預(yù)定標(biāo)器的16位計數(shù)器,可以獲得較大范圍的定時頻率。2023/3/2652當(dāng)前52頁,總共76頁。

定時器主要由定時寄存器TIM、定時周期寄存器PRD、定時控制寄存器TCR及相應(yīng)的邏輯控制電路組成。

寄存器TIM、PRD和TCR是存儲器映像寄存器,地址分別為0024H、0025H和0026H。(1).定時器的組成

2023/3/2653當(dāng)前53頁,總共76頁。圖3.21TMS320C54xDSP片內(nèi)定時器結(jié)構(gòu)

當(dāng)前54頁,總共76頁。定時寄存器TIM邏輯控制電路定時周期寄存器PRD定時控制寄存器TCR16位減1計數(shù)器。地址:0024H

用來存放定時時間。地址:0025H存放定時器的控制位和狀態(tài)位。地址:0026H。TCR能決定定時器的工作模式,即是連續(xù)工作,僅計數(shù)一次,還是停止計數(shù)。

用來控制定時器協(xié)調(diào)工作。2023/3/2655當(dāng)前55頁,總共76頁。

16位存儲器映像寄存器,包含定時器的控制位和狀態(tài)位。定時控制寄存器TCR

15~1211109~6543~0TCR0026h保留

Soft

Free

PSC

TRB

TSS

TDDR

軟件調(diào)試控制位

預(yù)定標(biāo)計數(shù)器

重新加載位停止?fàn)顟B(tài)位分頻系數(shù)2023/3/2656當(dāng)前56頁,總共76頁。

TDDR:定時器分頻系數(shù),用來對CLKOUT進(jìn)行分頻,以改變定時周期。當(dāng)PSC減到0后,以TDDR中的數(shù)加載PSC。TSS:定時器停止?fàn)顟B(tài)位,用于停止或啟動定時器復(fù)位時,TSS位清0,定時器立即定時。TSS=0,定時器啟動工作;TSS=1,定時器停止工作。2023/3/2657當(dāng)前57頁,總共76頁。

TRB:定時器重新加載位,用來復(fù)位片內(nèi)定時器。當(dāng)TRB置1時,以PRD中的數(shù)加載TIM,以及以TDDR中的值加載PSC。PSC:定時器預(yù)定標(biāo)計數(shù)器,其標(biāo)定范圍為1~16。當(dāng)PSC減到0后,TDDR位域中的數(shù)加載到PSC,TIM減1。2023/3/2658當(dāng)前58頁,總共76頁。

Free、Soft:軟件調(diào)試控制位。Free和Soft位結(jié)合使用,用來控制調(diào)試程序斷點操作情況下的定時器工作狀態(tài)。Soft

Free

定時器狀態(tài)

0

0

定時器立即停止工作

1

0

當(dāng)計數(shù)器減至0時停止工作

X

1

定時器繼續(xù)工作

保留:讀成0。2023/3/2659當(dāng)前59頁,總共76頁。

注:用定時器可以產(chǎn)生系統(tǒng)所需要的定時時鐘信號。有兩種方法產(chǎn)生定時時鐘信號:其一,直接利用TOUT信號作為外圍電路的時鐘源;其二,利用定時器中斷產(chǎn)生系統(tǒng)定時。在C5402內(nèi)部有兩個完全相同的定時器:定時器0和定時器1。定時器1的輸出信號TOUT1只有在禁止HPI-8片上外設(shè)時才能使用。2023/3/2660當(dāng)前60頁,總共76頁。

(2).定時器的定時時間公式為:

Tt=CLKOUT×(TDDR+1)×(PRD+1)其中:Tt為定時周期,單位是s(秒);CLKOUT為時鐘周期,即主頻的倒數(shù)。

定時器的最大定時周期為:Tt=CLKOUT×(65535+1)×(15+1)=220×CLKOUT=1048576×CLKOUT當(dāng)主頻為100MHz時,則CLKOUT=1/100MHz=10-8s=10-5ms時,因此Tt=10.48576ms。2023/3/2661當(dāng)前61頁,總共76頁。

(3).舉例:用定時器中斷在主頻為4MHz的應(yīng)用系統(tǒng)中,產(chǎn)生脈沖周期為8ms的輸出信號。解:因為輸出的周期為8ms,所以定時中斷周期為4ms,每中斷一次,輸出端電平取反一次。

先計算CLKOUT:CLKOUT=1/(4MHz)=0.25×10-6s

再計算TDDR和PRD:Tt=CLKOUT×(TDDR+1)×(PRD+1)即:(TDDR+1)×(PRD+1)=Tt÷CLKOUT

=4×10-3÷0.25×10-6=16000=1600×10∴TDDR=9,PRD=15992023/3/2662當(dāng)前62頁,總共76頁。

(4).定時器初始化步驟如下:①

TCR的TSS位置1,關(guān)閉定時器,停止定時;②裝載PRD值;③裝入TCR中的TDDR值。

④設(shè)置TSS=0(啟動定時器)和TRB=1(裝載PRD到TIM,裝載TDDR到PSC)。2023/3/2663當(dāng)前63頁,總共76頁。

voidset_t0(){……*(unsignedint*)TCR=?;//停止T0定時器記數(shù)*(unsignedint*)PRD=?;//設(shè)置T0的周期寄存器*(unsignedint*)TCR=?;//允許T0定時器計數(shù)……}2023/3/2664當(dāng)前64頁,總共76頁。例題:定時器C5402內(nèi)部有兩個完全相同的定時器:定時器0(Timer0)和定時器1(Timer1),現(xiàn)在需要用定時器1產(chǎn)生5ms定時,計算TDDR1和PRD1。并用C語言語句寫出初始化步驟。(設(shè)系統(tǒng)時鐘頻率為100MHZ)2023/3/2665當(dāng)前65頁,總共76頁。Tt=CLKOUT×(TDDR1+1)×(PRD1+1)

(TDDR1+1)×(PRD1+1)=Tt/CLKOUT=5×10(-3)×100×10(6)=500000=(49999+1)×(9+1) 所以PRD1=49999,TDDR1=92023/3/2666當(dāng)前66頁,總共76頁。初始化步驟:(1)TSS1=1或TCR1|=0X0010;(2)PRD1=49

溫馨提示

  • 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

提交評論