版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
DSP技術(shù)TMSCx系列DSP硬件結(jié)構(gòu)演示文稿目前一頁\總數(shù)七十六頁\編于十二點3.1
TMS320C54xDSP的特點與基本結(jié)構(gòu)TMS320C54x(簡稱’C54x)是TI公司1996年推出的新一代DSP,是為了實現(xiàn)低功耗、高速實時信號處理而專門設(shè)計的數(shù)字信號處理器,采用改進的哈佛結(jié)構(gòu),具有高度的操作靈活性和運行速度,適應(yīng)于遠程通信等實時嵌入式應(yīng)用的需要,現(xiàn)已廣泛地應(yīng)用于無線電通信系統(tǒng)中。2023/5/172目前二頁\總數(shù)七十六頁\編于十二點
技術(shù)指標(biāo)
對于同一系列的DSP器件,各型號器件所采用的CPU是基本相同的。TMS320C54x系列芯片中各型號器件內(nèi)部CPU結(jié)構(gòu)完全相同,只是在時鐘頻率、工作電壓、片內(nèi)存儲器容量大小、外圍設(shè)備和接口電路的設(shè)計上有所不同。目前三頁\總數(shù)七十六頁\編于十二點表3.1TMS320C54x系列DSP芯片的技術(shù)特征目前四頁\總數(shù)七十六頁\編于十二點TMS320C54x的硬件結(jié)構(gòu)圖
PAGENDAGEN
系統(tǒng)控制程序地址生成器數(shù)據(jù)地址生成器
CPU乘法累加器算術(shù)/邏輯運算單元桶形移位器比較器外部存儲器接口外部設(shè)備接口程序存儲器數(shù)據(jù)存儲器串行口并行口定時器計數(shù)器中斷系統(tǒng)控制接口PABPBCABCBDABDBEABEB2023/5/175DSP原理及應(yīng)用目前五頁\總數(shù)七十六頁\編于十二點TMS320C54XDSP的主要特點1.CPU可實現(xiàn)高效的數(shù)據(jù)存儲能力和數(shù)據(jù)處理能力。
CPU是DSP芯片中的核心部分,是用來實現(xiàn)數(shù)據(jù)信號處理運算和高速控制功能的部件。CPU的內(nèi)部包括:(1)采用先進的多總線結(jié)構(gòu),通過1條程序總線、3條數(shù)據(jù)總線和4條地址總線來實現(xiàn)??赏瑫r訪問程序區(qū)和數(shù)據(jù)區(qū),還可進行雙操作數(shù)讀操作,32位的雙字讀和并行的單字數(shù)據(jù)讀/寫能力。(2)40位算術(shù)邏輯運算單元ALU,包括1個40位桶形移位寄存器和2個獨立的40位累加器A、B。2023/5/176目前六頁\總數(shù)七十六頁\編于十二點(3)17×17位并行乘法器,與40位專用加法器相連,可用于進行非流水線的單周期乘法-累加運算。(4)比較、選擇、存儲單元(CSSU),可用于Viterbi譯碼器的加法-比較-選擇運算。(5)指數(shù)編碼器,是一個支持單周期指令EXP的專用硬件??梢栽谝粋€周期內(nèi)計算40位累加器數(shù)值的指數(shù)。(6)集成Viterbi加速器,專門用于通信中Viterbi算法。(7)兩個地址生成器,包括8個輔助寄存器和2個輔助寄存器算術(shù)運算單元(ARAU)。2023/5/177目前七頁\總數(shù)七十六頁\編于十二點
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/5/178目前八頁\總數(shù)七十六頁\編于十二點
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/5/179目前九頁\總數(shù)七十六頁\編于十二點
4.執(zhí)行指令速度快TMS320C54xDSP執(zhí)行單周期定點指令時間可以為25/20/15/12.5/10ns,對應(yīng)每秒指令數(shù)分別為40/66/100MIPS(百萬條/秒)。2023/5/1710目前十頁\總數(shù)七十六頁\編于十二點5.電源可處于低功耗狀態(tài),可在3.3V和2.7V電壓下工作,三個低功耗方式(IDLE1、IDLE2、IDLE3)可節(jié)省功耗,以便DSP更適合無線移動設(shè)備。6.智能外設(shè)可以很方便地實現(xiàn)與外部處理器的數(shù)據(jù)通信和對芯片的仿真與測試。2023/5/1711目前十一頁\總數(shù)七十六頁\編于十二點
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/5/1712目前十二頁\總數(shù)七十六頁\編于十二點表3.2讀/寫訪問時的總線占用說明目前十三頁\總數(shù)七十六頁\編于十二點3.3TMS320C54x的CPU結(jié)構(gòu)CPU決定了DSP的運算速度和程序效率,為了能在一個指令周期內(nèi)完成高速的算術(shù)運算,TMS320C54xCPU采用了流水線指令執(zhí)行結(jié)構(gòu)和相應(yīng)的并行結(jié)構(gòu)設(shè)計。TMS320C54xCPU的寄存器在存取數(shù)據(jù)時,可以使用寄存器尋址方式,以達到快速保存和恢復(fù)數(shù)據(jù)的目的。TMS320C54xCPU主要包括:一個40位的算術(shù)邏輯單元(ALU)、兩個40位的累加器、一個桶形移位乘累加器、16位的暫存器(TREG)、16位的狀態(tài)轉(zhuǎn)移寄存器(TRN)、比較/選擇/存儲單元(CSSU)和指數(shù)編碼器。目前十四頁\總數(shù)七十六頁\編于十二點一、算術(shù)邏輯運算單元目前十五頁\總數(shù)七十六頁\編于十二點一、算術(shù)邏輯運算單元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。目前十六頁\總數(shù)七十六頁\編于十二點二、累加器累加器A和B可作為ALU和乘法器/加法器單元的目的寄存器,累加器也能輸出數(shù)據(jù)到ALU或乘法器/加法器中。累加器可分為三部分:保護位(或稱前導(dǎo)位)、高位字和低位字。累加器A和B的唯一區(qū)別是累加器A的32~16位能被用作乘/加單元中乘法器的輸入,而累加器B則不能。累加器A和累加器B的保護位用作算術(shù)運算時的空白頭,目的是防止迭代運算中的溢出。AG、AH、AL、BG、BH和BL都是存儲器映像寄存器(在存儲空間中占有地址),由特定的指令將其內(nèi)容放到16位數(shù)據(jù)存儲器中,并從數(shù)據(jù)存儲器中讀出或?qū)懭?2位累加器值。目前十七頁\總數(shù)七十六頁\編于十二點三、移位寄存器(桶形移位器)功能:把輸入的數(shù)據(jù)進行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ù)都是用二進制補碼表示,正值表示左移,負值表示右移。移位數(shù)可由立即數(shù)、狀態(tài)寄存器ST1中的累加器移位方式(ASM)字段和被指定為移位數(shù)值寄存器的暫存器T來決定。目前十八頁\總數(shù)七十六頁\編于十二點圖3.5桶形移位寄存器目前十九頁\總數(shù)七十六頁\編于十二點四、乘累加單元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。目前二十頁\總數(shù)七十六頁\編于十二點圖3.6乘累加單元結(jié)構(gòu)圖目前二十一頁\總數(shù)七十六頁\編于十二點五、比較選擇存儲單元(CSSU)CSSU單元(其結(jié)構(gòu)如圖3.7所示)支持各種Viterbi算法并利用優(yōu)化的片內(nèi)硬件加速Viterbi的蝶形運算。加法由ALU單元完成,只要將ST1中的C16置1,所有的雙字指令都會變成雙16位算術(shù)運算指令,這樣ALU就可以在一個機器周期內(nèi)完成兩個16位數(shù)的加/減法運算,其結(jié)果分別存放在累加器的高16位和低16位中。CSSU通過CMPS指令、一個比較器和16位的轉(zhuǎn)移寄存器完成比較和選擇操作。在比較選擇中,比較指定累加器的兩個16位部分并把比較結(jié)果移入TRN寄存器的第0位,比較結(jié)果也存入ST0寄存器的T0位。根據(jù)比較結(jié)果,選擇累加器中較大的字(AH或AL)存入數(shù)據(jù)存儲器。目前二十二頁\總數(shù)七十六頁\編于十二點圖3.7比較選擇存儲單元結(jié)構(gòu)圖目前二十三頁\總數(shù)七十六頁\編于十二點六、指數(shù)編碼器指數(shù)編碼器是一個專用硬件,如下圖所示,它專門用于單周期指令EXP。它可以求出累加器中的指數(shù)值,并以二進制補碼形式存放于T中。指數(shù)編碼器結(jié)構(gòu)圖目前二十四頁\總數(shù)七十六頁\編于十二點七、CPU狀態(tài)控制寄存器’C54X包括3個狀態(tài)控制寄存器,分別是:狀態(tài)寄存器ST0狀態(tài)寄存器ST1處理器工作方式狀態(tài)寄存器PMST。2023/5/1725目前二十五頁\總數(shù)七十六頁\編于十二點1.狀態(tài)寄存器0(ST0)
主要反映處理器的尋址要求和計算機的運行狀態(tài)。
ST0的結(jié)構(gòu):15—1312111098——0ST0:ARPTCCOVAOVBDPARPARP:輔助寄存器指針。用來選擇使用單操作數(shù)間接尋址時的輔助寄存器AR0~AR7。ARPTCTC:測試/控制標(biāo)志。
用來保存ALU測試操作的結(jié)果。TCCC:進位標(biāo)志位。
用來保存ALU加減運算時所產(chǎn)生的進/借位。COVBOVAOVA/B:累加器A/B的溢出標(biāo)志。
用來反映A/B是否產(chǎn)生溢出。OVBOVADPDP:數(shù)據(jù)存儲器頁指針。
用來與指令中提供的7位地址結(jié)合形成1個
16位數(shù)據(jù)存儲器的地址。DP2023/5/1726目前二十六頁\總數(shù)七十六頁\編于十二點2.狀態(tài)寄存器1(ST1)151413121110987654~0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAF:塊重復(fù)操作標(biāo)志位。
用來指示當(dāng)前是否在執(zhí)行塊重復(fù)操作。
BRAF=0
表示當(dāng)前不進行重復(fù)塊操作;
BRAF=1
表示當(dāng)前正在進行塊重復(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
將運算的溢出結(jié)果直接加載到累加器中;
OVM=1
當(dāng)正溢出時,將007FFFFFFFH加載累加器;
當(dāng)負溢出時,將FF80000000H加載累加器。SXM:符號位擴展方式控制位;用來確定數(shù)據(jù)在運算之前是否需要符號位擴展。
SXM=0
數(shù)據(jù)進入ALU之前禁止符號位擴展;
SXM=1
數(shù)據(jù)進入ALU之前進行符號位擴展。C16:雙16位/雙精度算術(shù)運算方式控制位;
用來決定ALU的算術(shù)運算方式。
C16=0
ALU工作在雙精度算術(shù)運算方式;
C16=1
ALU工作在雙16位算術(shù)運算方式。FRCT:小數(shù)方式控制位;用來確定乘法器的運算方式。
FRCT=1
乘法器的輸出左移一位,消除多余的符號位。CMPT:間接尋址輔助寄存器修正方式控制位;
用來決定ARP是否進行修正。
CMPT=0
在進行間接尋址單操作數(shù)時,不修正ARP;
CMPT=1
在進行間接尋址單操作數(shù)時,修正ARP。ASM:累加器移位方式控制位。
為某些具有移位操作的指令設(shè)定一個從-16~15范圍內(nèi)的移位值。BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM
主要反映處理器的尋址要求、計算初始狀態(tài)的設(shè)置、I/O及中斷的控制等。2023/5/1727目前二十七頁\總數(shù)七十六頁\編于十二點在操作中,可以使用置位指令SSBX和復(fù)位指令RSBX對ST0和ST1的各個位進行單獨置位(置1)或清零(置0)。例如:SSBXSXM ;SXM=1,允許符號擴展RSBXSXM ;SXM=0,禁止符號擴展APR、DP和ASM字段可以通過LD指令裝載一個短立即數(shù),ASM和DP也可以通過使用LD指令用數(shù)據(jù)存儲器的值來裝載。2023/5/1728目前二十八頁\總數(shù)七十六頁\編于十二點3.處理器工作方式狀態(tài)寄存器PMSTSSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR012345615~7
主要設(shè)定和控制處理器的工作方式和存儲器的配置,反映處理器的工作狀態(tài)。PMST寄存器內(nèi)容可由存儲器映射寄存器指令裝載,如STM指令。中斷向量指針CPU工作方式選擇位RAM重復(fù)占位標(biāo)志地址可見控制位數(shù)據(jù)ROM映射選擇位時鐘輸出選擇位乘法飽和方式位存儲飽和位2023/5/1729目前二十九頁\總數(shù)七十六頁\編于十二點八、尋址單元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ù)寄存器),這些寄存器可支持程序存儲器尋址。目前三十頁\總數(shù)七十六頁\編于十二點PAGEN、邏輯寄存器和流水線硬件進行地址生成和程序排隊操作,形成了指令的流水線。流水線共有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/5/1731目前三十一頁\總數(shù)七十六頁\編于十二點2.?dāng)?shù)據(jù)地址生成單元(DAGEN)
包括輔助寄存器指針ARP、循環(huán)緩沖區(qū)大小寄存器BK、DP、堆棧指針寄存器SP、8個輔助寄存器(AR0~AR7)和2個輔助寄存器算術(shù)單元(ARAU0和ARAU1)。8個輔助寄存器和2個輔助寄存器算術(shù)單元一起可進行16位無符號數(shù)算術(shù)運算,支持間接尋址,AR0~AR7由ST0中的ARP來指定。目前三十二頁\總數(shù)七十六頁\編于十二點
3.4TMS320C54xDSP的存儲器結(jié)構(gòu)TMS320C54x的存儲空間為192K字,分成3個可選擇的存儲空間:64K的程序存儲空間、64K的數(shù)據(jù)存儲空間和64K的I/O空間。這個系列的芯片都有隨機存儲器(RAM)和只讀存儲器(ROM)。其中RAM有兩種:單尋址RAM(SARAM)和雙尋址RAM(DARAM)。DARAM:能夠在一個機器周期內(nèi)執(zhí)行4次存儲器操作:1次取址、讀2個操作數(shù)和寫1個操作數(shù)。
使用片內(nèi)存儲器優(yōu)點:因為無須等待周期故性能更高;比外部存儲器成本低、功耗小。
當(dāng)片內(nèi)存儲器不能滿足系統(tǒng)設(shè)計的存儲要求時,就需要擴展片外存儲器。
2023/5/1733目前三十三頁\總數(shù)七十六頁\編于十二點表3.3常用的TMS320C54xDSP器件的片內(nèi)存儲器配置
2023/5/1734目前三十四頁\總數(shù)七十六頁\編于十二點
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/5/1735目前三十五頁\總數(shù)七十六頁\編于十二點’C5402數(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/5/1736目前三十六頁\總數(shù)七十六頁\編于十二點內(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/5/1737目前三十七頁\總數(shù)七十六頁\編于十二點
為了便于CPU的并行操作,提高芯片的高速處理能力,從0080H開始,按每80H(128)個存儲單元為一個塊,將DARAM分成若干個數(shù)據(jù)塊。
分塊以后,用戶可以在同一個周期內(nèi)從同一塊DARAM中取出兩個操作數(shù),并將數(shù)據(jù)寫入到另一塊DARAM中。2023/5/1738目前三十八頁\總數(shù)七十六頁\編于十二點存儲器映像寄存器
在’C54x的數(shù)據(jù)存儲空間中,前80H個單元(數(shù)據(jù)頁0)包含有CPU寄存器、片內(nèi)外設(shè)寄存器和暫存器。這些寄存器全部映射到數(shù)據(jù)存儲空間,稱作存儲器映像寄存器MMR。存儲器映像寄存器MMR:
①
CPU寄存器——特殊功能寄存器;
②
片內(nèi)外設(shè)寄存器;
③
暫存器SPRAM。
2023/5/1739目前三十九頁\總數(shù)七十六頁\編于十二點
特殊功能寄存器
功能:主要用于程序的運算處理和尋址方式的選
擇和設(shè)定。地址范圍:0000H~001FH。
’C5402的CPU寄存器共有27個,CPU訪問這些寄存器時,不需要插入等待時間。外設(shè)寄存器
功能:用來控制片內(nèi)外設(shè)電路的狀態(tài)和存放數(shù)據(jù)。
地址范圍:0020H~005FH。
包括串行口通信控制寄存器組、定時器定時控制寄存器組、時鐘周期設(shè)定寄存器組等。暫存器SPRAM
功能:用來暫存變量。地址范圍:0060H~007FH。2023/5/1740目前四十頁\總數(shù)七十六頁\編于十二點第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保護位(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保護位(39~32位)1DHPMST處理器模式狀態(tài)寄存器0EH
T暫存寄存器1EHXPC程序計數(shù)器擴展寄存器0FH
TRN狀態(tài)轉(zhuǎn)移寄存器1FH保留TMS320C54x存儲器映像CPU寄存器(特殊功能寄存器)2023/5/1741DSP原理及應(yīng)用目前四十一頁\總數(shù)七十六頁\編于十二點2.存儲器映像寄存器
片內(nèi)外設(shè)寄存器存在于一個專用的外設(shè)總線結(jié)構(gòu)中,它可以發(fā)送數(shù)據(jù)至外設(shè)總線或者從外設(shè)中接收數(shù)據(jù)。設(shè)置或清除寄存器的控制位可以激活、屏蔽或者重新配置外設(shè)狀態(tài)。
不同型號的芯片具有不同的片內(nèi)外設(shè)寄存器?!疌5402DSP外設(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控制擴展寄存器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主機口(HPI)控制寄存器41H
BDXR1緩沖串行口1數(shù)據(jù)發(fā)送寄存器2D~2FH
保留42HBSPC1緩沖串行口1控制寄存器30H
TRCV
TDM串行口數(shù)據(jù)接收寄存器43HBSPCE1緩沖串行口1控制擴展寄存器31HTDXR
TDM串行口數(shù)據(jù)發(fā)送寄存器44~57H保留32HTSPCTDM串行口控制寄存器58HCLKMD時鐘模式寄存器33H
TCSR
TDM串行口通道選擇寄存器
59~5FH
保留34H
TRTA
TDM串行口接收發(fā)送寄存器
2023/5/1742DSP原理及應(yīng)用目前四十二頁\總數(shù)七十六頁\編于十二點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/5/1743目前四十三頁\總數(shù)七十六頁\編于十二點
3.5TMS320C54xDSP的片內(nèi)外設(shè)
’C54x器件除了提供哈佛結(jié)構(gòu)的總線、功能強大的CPU以及大容量的存儲空間外,還提供了必要的片內(nèi)外部設(shè)備。
不同型號的’C54x芯片,所配置的片內(nèi)外設(shè)有所不同,這些片內(nèi)外設(shè)主要包括:
①通用I/O②中斷系統(tǒng)③定時器④時鐘發(fā)生器⑤軟件可編程等待狀態(tài)發(fā)生器(SWWSR)⑥可編程的組合切換邏輯⑦串行口⑧直接存儲器訪問(DMA)控制器⑨主機接口HPI⑩外部總線接口2023/5/1744目前四十四頁\總數(shù)七十六頁\編于十二點1.通用I/O引腳
’C54x芯片為用戶提供了兩個軟件控制的通用I/O引腳。
分支轉(zhuǎn)移控制輸入引腳BIO
外部標(biāo)志輸出引腳XF
BIO:分支轉(zhuǎn)移控制輸入引腳
用來監(jiān)控外部設(shè)備的運行狀態(tài)。
在實時控制系統(tǒng)中,通過查詢此引腳控制程
序流向,以避免中斷引起的失控現(xiàn)象。
XF:外部標(biāo)志輸出引腳
用于程序向外設(shè)傳輸標(biāo)志信息。
通過此引腳的置位或復(fù)位,可以控制外設(shè)
的工作。是狀態(tài)寄存器ST1中的位。2023/5/1745目前四十五頁\總數(shù)七十六頁\編于十二點2.中斷系統(tǒng)中斷是指DSP暫時停止原程序執(zhí)行轉(zhuǎn)而為外部設(shè)備服務(wù)(執(zhí)行中斷服務(wù)程序),并在服務(wù)完成后自動返回原程序執(zhí)行的過程。CPU在和外設(shè)交換信息時通過中斷就可以避免不必要的等待和查詢,從而提高CPU的工作效率,所以中斷系統(tǒng)是衡量CPU性能好壞的一項重要指標(biāo)。目前四十六頁\總數(shù)七十六頁\編于十二點(1)中斷類型可屏蔽中斷
指可用軟件來屏蔽或開放的中斷,即通過對中斷屏蔽寄存器(IMR)中的相應(yīng)位和狀態(tài)寄存器(ST1)中的中斷允許控制位INTM編程來屏蔽或開放中斷。
MS320C54xDSP最多可支持16個用戶可屏蔽中斷。非屏蔽中斷
指通過軟件改變IMR和ST1中的位已不能影響中斷是否被屏蔽,TMS320C54x對這類中斷總是立即響應(yīng)的。TMS320C54x的非屏蔽中斷包括:所有的軟件中斷、由芯片的復(fù)位引腳引起的中斷和由芯片的外中斷引腳引起的中斷。目前四十七頁\總數(shù)七十六頁\編于十二點(2)中斷向量TMS320C54xDSP給每個中斷源都分配一個確定的偏移地址,叫中斷向量,中斷向量中存放中斷子程序的入口地址,所有的中斷向量放在一起就是中斷向量表。在TMS320C54x中,中斷向量地址的產(chǎn)生是由PMST寄存器中9位的中斷向量指針(IPTR)形成中斷向量地址的高9位,中斷向量序號乘以4(左移2位),形成中斷向量地址的低7位,二者連接并組成16位的中斷向量地址。TMS320C54xDSP內(nèi)部有兩個中斷管理寄存器:中斷標(biāo)志寄存器和中斷屏蔽寄存器。目前四十八頁\總數(shù)七十六頁\編于十二點表3.4TMS320C54xDSP中斷向量表目前四十九頁\總數(shù)七十六頁\編于十二點(3)中斷處理流程TMS320C54x中斷處理分為三個階段:接受中斷請求、響應(yīng)中斷和執(zhí)行中斷服務(wù)程序。中斷處理流程如下目前五十頁\總數(shù)七十六頁\編于十二點目前五十一頁\總數(shù)七十六頁\編于十二點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/5/1752目前五十二頁\總數(shù)七十六頁\編于十二點
定時器主要由定時寄存器TIM、定時周期寄存器PRD、定時控制寄存器TCR及相應(yīng)的邏輯控制電路組成。
寄存器TIM、PRD和TCR是存儲器映像寄存器,地址分別為0024H、0025H和0026H。(1).定時器的組成
2023/5/1753目前五十三頁\總數(shù)七十六頁\編于十二點圖3.21TMS320C54xDSP片內(nèi)定時器結(jié)構(gòu)
目前五十四頁\總數(shù)七十六頁\編于十二點定時寄存器TIM邏輯控制電路定時周期寄存器PRD定時控制寄存器TCR16位減1計數(shù)器。地址:0024H
用來存放定時時間。地址:0025H存放定時器的控制位和狀態(tài)位。地址:0026H。TCR能決定定時器的工作模式,即是連續(xù)工作,僅計數(shù)一次,還是停止計數(shù)。
用來控制定時器協(xié)調(diào)工作。2023/5/1755目前五十五頁\總數(shù)七十六頁\編于十二點
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/5/1756目前五十六頁\總數(shù)七十六頁\編于十二點
TDDR:定時器分頻系數(shù),用來對CLKOUT進行分頻,以改變定時周期。當(dāng)PSC減到0后,以TDDR中的數(shù)加載PSC。TSS:定時器停止?fàn)顟B(tài)位,用于停止或啟動定時器復(fù)位時,TSS位清0,定時器立即定時。TSS=0,定時器啟動工作;TSS=1,定時器停止工作。2023/5/1757目前五十七頁\總數(shù)七十六頁\編于十二點
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/5/1758目前五十八頁\總數(shù)七十六頁\編于十二點
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/5/1759目前五十九頁\總數(shù)七十六頁\編于十二點
注:用定時器可以產(chǎn)生系統(tǒng)所需要的定時時鐘信號。有兩種方法產(chǎn)生定時時鐘信號:其一,直接利用TOUT信號作為外圍電路的時鐘源;其二,利用定時器中斷產(chǎn)生系統(tǒng)定時。在C5402內(nèi)部有兩個完全相同的定時器:定時器0和定時器1。定時器1的輸出信號TOUT1只有在禁止HPI-8片上外設(shè)時才能使用。2023/5/1760目前六十頁\總數(shù)七十六頁\編于十二點
(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/5/1761目前六十一頁\總數(shù)七十六頁\編于十二點
(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/5/1762目前六十二頁\總數(shù)七十六頁\編于十二點
(4).定時器初始化步驟如下:①
TCR的TSS位置1,關(guān)閉定時器,停止定時;②裝載PRD值;③裝入TCR中的TDDR值。
④設(shè)置TSS=0(啟動定時器)和TRB=1(裝載PRD到TIM,裝載TDDR到PSC)。2023/5/1763目前六十三頁\總數(shù)七十六頁\編于十二點
voidset_t0(){……*(unsignedint*)TCR=?;//停止T0定時器記數(shù)*(unsignedint*)PRD=?;//設(shè)置T0的周期寄存器*(unsignedint*)TCR=?;//允許T0定時器計數(shù)……}2023/5/1764目前六十四頁\總數(shù)七十六頁\編于十二點例題:定時器C5402內(nèi)部有兩個完全相同的定時器:定時器0(Timer0)和定時器1(Timer1),現(xiàn)在需要用定時器1產(chǎn)生5ms定時,計算TDDR1和PRD1。并用C語言語句寫出初始化步驟。(設(shè)系統(tǒng)時鐘頻率為100MHZ)2023/5/1765目前六十五頁\總數(shù)七十六頁\編于十二點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/5/1766目前六十六頁\總數(shù)七十六頁\編于十二點初始化步驟:(1)TSS1=1或TCR1|=0X0010;(2)PRD1=49999;(3)TDDR1=9或T
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024暖通空調(diào)行業(yè)項目承包招標(biāo)合同2篇
- 音樂制作企業(yè)會計聘用合同
- 港口貨車司機招聘合同
- 造船廠燃油管道施工合同樣本
- 2025版駕校場地租賃及教學(xué)設(shè)備更新協(xié)議3篇
- 2024挖掘機租賃期滿后購買選項合同
- 知名車企司機勞動合同范本
- 心理咨詢中介服務(wù)合同
- 影視后期特效制作合同
- 環(huán)保工程合同變更管理策略
- 數(shù)據(jù)分析基礎(chǔ)與應(yīng)用指南
- 人教版(PEP)小學(xué)六年級英語上冊全冊教案
- 廣東省廣州市海珠區(qū)2023-2024學(xué)年六年級上學(xué)期月考英語試卷
- 消防水域救援個人防護裝備試驗 大綱
- 機電樣板施工主要技術(shù)方案
- 涉稅風(fēng)險管理方案
- 青島市2022-2023學(xué)年七年級上學(xué)期期末道德與法治試題
- 高空作業(yè)安全免責(zé)協(xié)議書范本
- 石油化學(xué)智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(xué)(華東)
- 手術(shù)后如何防止排尿困難
- 特種設(shè)備“日管控、周排查、月調(diào)度”表格
評論
0/150
提交評論