第二部分TMS320C5416結(jié)構(gòu)與工作原理_第1頁(yè)
第二部分TMS320C5416結(jié)構(gòu)與工作原理_第2頁(yè)
第二部分TMS320C5416結(jié)構(gòu)與工作原理_第3頁(yè)
第二部分TMS320C5416結(jié)構(gòu)與工作原理_第4頁(yè)
第二部分TMS320C5416結(jié)構(gòu)與工作原理_第5頁(yè)
已閱讀5頁(yè),還剩106頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、TMS320C54x結(jié)構(gòu)與工作原理,主要內(nèi)容,DSP芯片組成 中央處理器 總線結(jié)構(gòu) 存儲(chǔ)系統(tǒng) 片內(nèi)外設(shè)和引腳 中斷系統(tǒng),DSP的硬件結(jié)構(gòu),特點(diǎn) 運(yùn)算速度快 組成 CPU 存儲(chǔ)器系統(tǒng) 片內(nèi)外設(shè) 其他功能模塊,C54x芯片的基本結(jié)構(gòu),CPU,片內(nèi)存儲(chǔ)器,串行通信接口,PLL,JTAG,HPI,通用I/0口,中斷系統(tǒng),Timer,其他硬件電路,可編程分區(qū)轉(zhuǎn)換邏輯,軟件可編程等待狀態(tài)發(fā)生器,TMS320C5416的硬件結(jié)構(gòu)框圖,中央處理器CPU,40位算術(shù)邏輯運(yùn)算單元ALU 40位累加器A和B 桶形移位寄存器,支持-16至31移動(dòng)范圍 乘法/累加器 16位暫存器T 16位傳輸寄存器TRN 比較、選擇和

2、存儲(chǔ)單元CSSU 指數(shù)編碼器 CPU狀態(tài)和控制寄存器。,CPU狀態(tài)和控制寄存器,狀態(tài)寄存器0(ST0) 主要反映處理器的尋址要求和計(jì)算機(jī)的運(yùn)行狀態(tài) 狀態(tài)寄存器1(ST1) 主要反映處理器的尋址要求、計(jì)算初始狀態(tài)的設(shè)置、I/O及中斷的控制等。 處理器工作模式狀態(tài)寄存器(PMST) 主要設(shè)定和控制處理器的工作方式和存儲(chǔ)器的配置,反映處理器的工作狀態(tài) 由于三個(gè)寄存器都是存儲(chǔ)器映射的,他們都能存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器或從數(shù)據(jù)存儲(chǔ)器中獲得。它們也能用子程序或中斷服務(wù)子程序(ISR)保存或恢復(fù)。,1狀態(tài)寄存器0(ST0):主要反映處理器的尋址要求和計(jì)算機(jī)的運(yùn)行狀態(tài)。,ARP,ARP:輔助寄存器指針。 用來(lái)選擇使用

3、單操作數(shù)間接尋址時(shí)的 輔助寄存器AR0AR7。,TC,TC:測(cè)試/控制標(biāo)志。 用來(lái)保存ALU測(cè)試操作的結(jié)果。,C,C:進(jìn)位標(biāo)志位。 用來(lái)保存ALU加減運(yùn)算時(shí)所產(chǎn)生的進(jìn)/借位。,OVA/B:累加器A/B的溢出標(biāo)志。 用來(lái)反映A/B是否產(chǎn)生溢出。,DP,DP:數(shù)據(jù)存儲(chǔ)器頁(yè)指針。 用來(lái)與指令中提供的7位地址結(jié)合形成1個(gè) 16位數(shù)據(jù)存儲(chǔ)器的地址。,2狀態(tài)寄存器1 (ST1):主要反映處理器的尋址要求、計(jì)算初始狀態(tài)的設(shè)置、I/O及中斷的控制等。,BRAF:塊重復(fù)操作標(biāo)志位。 用來(lái)指示當(dāng)前是否在執(zhí)行塊重復(fù)操作。 BRAF=0 表示當(dāng)前不進(jìn)行重復(fù)塊操作; BRAF=1 表示當(dāng)前正在進(jìn)行塊重復(fù)操作。,CPL:

4、直接尋址編輯方式標(biāo)志位; 用來(lái)指示直接尋址選用何種指針。 CPL=0 選用數(shù)據(jù)頁(yè)指針DP的直接尋址; CPL=1 選用堆棧指針SP的直接尋址。,XF:外部XF引腳狀態(tài)控制位。 用來(lá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:中斷方式控制位; 用于屏蔽或開(kāi)放所有可屏蔽中斷。 INTM=0 開(kāi)放全部可屏蔽中斷; INTM=1 禁止所有可屏蔽

5、中斷。,0:保留位,未被使用,總是讀為0。,OVM:溢出方式控制位; 用來(lái)確定累加器溢出時(shí),對(duì)累加器的加載方式。 OVM=0 將運(yùn)算的溢出結(jié)果直接加載到累加器中; OVM=1 當(dāng)正溢出時(shí),將007FFFFFFFH加載累加器; 當(dāng)負(fù)溢出時(shí),將FF80000000H加載累加器。,SXM:符號(hào)位擴(kuò)展方式控制位;用來(lái)確定數(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)算方式控制位; 用來(lái)決定ALU的算術(shù)運(yùn)算方式。 C16=0 ALU工作在雙精度算術(shù)運(yùn)算方式; C16=1 ALU工作在雙1

6、6位算術(shù)運(yùn)算方式。,FRCT:小數(shù)方式控制位; 用來(lái)確定乘法器的運(yùn)算方式。 FRCT=1 乘法器的輸出左移一位, 消除多余的符號(hào)位。,CMPT:間接尋址輔助寄存器修正方式控制位; 用來(lái)決定ARP是否進(jìn)行修正。 CMPT=0 在進(jìn)行間接尋址單操作數(shù)時(shí),不修正ARP; CMPT=1 在進(jìn)行間接尋址單操作數(shù)時(shí),修正ARP。,ASM:累加器移位方式控制位。 為某些具有移位操作的指令設(shè)定一個(gè)從-1615范圍內(nèi)的移位值。,3工作方式狀態(tài)寄存器PMST:主要設(shè)定和控制處理器的工作方式和存儲(chǔ)器的配置,反映處理器的工作狀態(tài)。,中 斷 向 量 指 針,CPU 工 作 方 式 選 擇 位,RAM 重 復(fù) 占 位 標(biāo)

7、 志,地 址 可 見(jiàn) 控 制 位,數(shù) 據(jù) ROM 映 射 選 擇 位,時(shí) 鐘 輸 出 選 擇 位,乘 法 飽 和 方 式 位,存 儲(chǔ) 飽 和 位,IPTR:用來(lái)指示中斷向量所駐留的128字程序地置; MP/MC:用來(lái)確定是否允許使用片內(nèi)ROM OVLY:用來(lái)決定片內(nèi)DARAM是否映射到程序空間。 AVIS:用來(lái)決定是否可以從器件地址引腳線看到內(nèi)部程序空間地址線; DROM:用來(lái)決定片內(nèi)程序存儲(chǔ)器是否可以映射到數(shù)據(jù)空間; CLKOFF:用來(lái)決定時(shí)鐘輸出引腳CLKOUT是否有信號(hào)輸出; SMUL:用來(lái)決定乘法結(jié)果是否需要進(jìn)行飽和處理; SST:用來(lái)決定累加器中的數(shù)據(jù)在存儲(chǔ)到存儲(chǔ)器之前,是否需要飽和

8、處理。,算術(shù)邏輯運(yùn)算單元,40位ALU(Arithmetic Logic Unit)配合累加器A和B,執(zhí)行算術(shù)、邏輯運(yùn)算、布爾運(yùn)算功能,絕大多數(shù)算術(shù)邏輯運(yùn)算指令都在一個(gè)周期內(nèi)完成。一個(gè)運(yùn)算操作在ALU執(zhí)行后,運(yùn)算的結(jié)果一般被送到累加器A或B中(執(zhí)行存儲(chǔ)操作指令A(yù)DDM、ANDM、ORM、XORM除外),ADD *AR1,A,ALU的輸入 移位器輸出(32位或16位數(shù)據(jù)存儲(chǔ)器操作數(shù)或者移位后累加器的值)。 數(shù)據(jù)總線DB的數(shù)據(jù)存儲(chǔ)器操作數(shù)。 Y端的輸入來(lái)自下列3個(gè)方向中的一個(gè): 累加器A或B。 數(shù)據(jù)總線CB的數(shù)據(jù)存儲(chǔ)器操作數(shù)。 T寄存器的數(shù)據(jù) ALU的輸出 ALU的輸出為40位,被送入累加器A或B

9、。,ALU溢出處理 和ST1中的OVM有關(guān). 發(fā)生溢出時(shí)后,溢出標(biāo)志位OVA或OVB置位,直到復(fù)位或執(zhí)行溢出條件指令時(shí)恢復(fù)。 ALU進(jìn)位位 ALU的進(jìn)位位C受大多數(shù)算術(shù)指令影響(包括循環(huán)和移位指令)。進(jìn)位位可以用來(lái)支持?jǐn)U展精度的算術(shù)運(yùn)算。進(jìn)位位不受累加器裝載、邏輯運(yùn)算、其他非算術(shù)指令或控制指令影響,所以它還可以用來(lái)進(jìn)行溢出管理。 根據(jù)進(jìn)位位的值,可以利用條件操作指令C和NC來(lái)進(jìn)行分支轉(zhuǎn)移、調(diào)用或返回操作。利用指令RSBX、SSBX或硬件復(fù)位來(lái)對(duì)進(jìn)位位置位。,雙16位算術(shù)運(yùn)算 CPU狀態(tài)寄存器ST1的C16如果處于置位狀態(tài),用戶就可以讓ALU在單周期內(nèi)進(jìn)行特殊的雙16位算術(shù)運(yùn)算,即進(jìn)行兩次16位

10、加法或兩次16位減法。 舉例 DADST Lmen,dst,;C16=1 則: ;Lmem(31至16)+Tdst(39至16) ;Lmem(15至0)-Tdst (15至0),;C16=0 則: ;dst=Lmem+(T16+T),累加器A和B,累加器(accumulator)A和B都可以配置成乘法器/加法器或ALU的目的寄存器。在執(zhí)行MIN和MAX指令或者并行指令LD|MAC時(shí),一個(gè)累加器執(zhí)行數(shù)據(jù)加載,另一個(gè)累加器執(zhí)行運(yùn)算,累加器A和B都可以匹配成乘法器/加法器或ALU的目的寄存器 A,B;可用PSHM或POPM指令將它們壓棧或出棧 AG AH AL BG BH BL 保存累加器的內(nèi)容 累

11、加器移位和循環(huán)移位 SFTA,SFTL,SFTC,ROL,ROR,ROLTC 飽和處理累加器內(nèi)容 專用指令,桶形移位寄存器,C54x的40位桶形移位寄存器主要用于累加器或數(shù)據(jù)區(qū)操作數(shù)的定標(biāo)。 在ALU運(yùn)算前,對(duì)來(lái)自數(shù)據(jù)存儲(chǔ)器的操作數(shù)或者累加器的值進(jìn)行預(yù)定標(biāo) 執(zhí)行累加器的值的一個(gè)邏輯或算術(shù)運(yùn)算 對(duì)累加器的值進(jìn)行歸一化處理 對(duì)存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器之前的累加器的值進(jìn)行定標(biāo) 它能將輸入數(shù)據(jù)進(jìn)行031位的左移和016位的右移。所移動(dòng)的位數(shù)可由ST1中的ASM或被指定的暫存器T決定。 ADD A,-4,B ;累加器A右移4位后加到累加器B ADD A,ASM,B ;累加器A按ASM規(guī)定的移位數(shù)移位后加到累加器

12、B NORM A ;按T寄存器中的數(shù)值對(duì)累加器歸一化,乘法/累加器,C54x的MAC是由乘法器、加法器、符號(hào)控制、小數(shù)控制、零檢測(cè)器、舍入器、飽和邏輯和暫存器幾個(gè)部分組成 。 MAC具有強(qiáng)大的乘法-累加運(yùn)算功能,可在一個(gè)流水線周期內(nèi)完成1次乘法運(yùn)算和1次加法運(yùn)算。在數(shù)字濾波以及自相關(guān)等運(yùn)算中,使用MAC可以大大提高系統(tǒng)的運(yùn)算速度。 舉例 MPY #1234H,A ;XM來(lái)自于T,YM來(lái)自于DB MPYA B ;XM來(lái)自于T,YM來(lái)自于A MACP *AR2,pmad,A ;XM來(lái)自于DB,YM來(lái)自于PB,DSP Requires Multiply and Accumulate,比較、選擇和存儲(chǔ)

13、單元,C54x的選擇、比較、存儲(chǔ)單元(CSSU)是一個(gè)特殊用途的硬件電路,專門(mén)用來(lái)完成Viterbi算法中的加法/比較/選擇(ACS)操作。 從累加器(32bit)選擇出較大的字(16bit)并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中 CCS單元由比較電路COMP、狀態(tài)轉(zhuǎn)移寄存器TRN和狀態(tài)比較寄存器TC組成。,CMPS A,*AR1 ;如果A(3116)A(150) ;則A(3116)-*AR1, ;TRN左移1位,0-TRN(0),0-TC ;否則A(150)-*AR1,TRN左移1位, ;1-TRN(0),1-TC, TRN狀態(tài)轉(zhuǎn)移寄存器,TC測(cè)試控制寄存器,If (M1+D1)(M2+D2) then N1

14、= M1+D1 Else N1= M2+D2,指數(shù)編碼器,指數(shù)編碼器是一個(gè)在單周期內(nèi)完成EXP指令的專用硬件,其結(jié)構(gòu)如圖2.8所示。該指令獲得累加器中的指數(shù)值并以二進(jìn)制補(bǔ)碼的形式(-8至31)把它存儲(chǔ)到T中。為消除多余符號(hào)位而將累加器中的數(shù)值左移,其左移的位數(shù)和累加器指數(shù)值冗于符號(hào)位-8有關(guān),當(dāng)累加器的值超過(guò)32位時(shí),這個(gè)結(jié)果為負(fù)數(shù)。,舉例 EXP A ; T把累加器A的指數(shù)T ST T,EXPONENT ;保存指數(shù)(T)到數(shù)據(jù)存儲(chǔ)區(qū) NORM A ;歸一化寄存器A,依靠T的值移動(dòng)累加器A的值,若:40位累加器A中的定點(diǎn)數(shù)FF FFFF F001,則:11111111 111111111111

15、111111111,1111 1111 1000 0000 0000 1000 0000 0000 0000 0000,則:T=27-8=19,則:Norm A ; 需要左移19位,結(jié)果如下,總線結(jié)構(gòu),C54x系列DSP的總線結(jié)構(gòu)是由8條16位總線構(gòu)成(4條程序/數(shù)據(jù)總線和4條地址總線)。 程序總線PB:傳送來(lái)自程序存儲(chǔ)器的指令和立即數(shù)。 數(shù)據(jù)總線CB、DB、EB:連接各個(gè)功能單元,如CPU、數(shù)據(jù)地址產(chǎn)生邏輯、程序地址產(chǎn)生邏輯、片內(nèi)外設(shè)和數(shù)據(jù)存儲(chǔ)器。CB、DB傳送來(lái)自數(shù)據(jù)存儲(chǔ)器被讀取的立即數(shù),EB傳送被寫(xiě)到存儲(chǔ)器去的數(shù)據(jù)。 地址總線PAB、CAB、DAB、EAB傳送執(zhí)行指令所需要的地址。,總線

16、結(jié)構(gòu)圖:,Internal Memory,External Memory,External: 1 access / cycle up to 8M words program,Internal: Up to 4 accesses / cycle,存儲(chǔ)器,普通存儲(chǔ)器的概念 ROM和RAM 存儲(chǔ)器的計(jì)算 通常來(lái)說(shuō),存儲(chǔ)器的容量是和它的地址線和數(shù)據(jù)線有關(guān)的。在地址線、數(shù)據(jù)線不復(fù)用的情況下,比如10根地址線8根數(shù)據(jù)線組成的存儲(chǔ)器,通常的存儲(chǔ)容量就是8bit,即尋址空間為1024,存儲(chǔ)容量為1K字節(jié);又如16根地址線16根數(shù)據(jù)線組成的存儲(chǔ)器,通常的存儲(chǔ)容量就是16bit,即尋址空間為8K,存儲(chǔ)容量為8K字

17、,64K Words的DARAM (雙訪問(wèn)RAM) 每一塊,被分成塊,由低地址開(kāi)始記作DARAM0DARAM7 在同一塊內(nèi)一個(gè)指令周期支持兩個(gè)操作 64K Words的SARAM (單訪問(wèn)RAM) 每一塊,被分成塊,由低地址開(kāi)始記作SARAM0SARAM7 在同一塊內(nèi)一個(gè)指令周期僅支持一個(gè)操作,但支持一個(gè)指令周期同時(shí)對(duì)不同的塊完成兩個(gè)操作 16K Words的ROM 掩模ROM,只能讀不能寫(xiě),TMS320VC5416 DSP的內(nèi)部存儲(chǔ)資源,片內(nèi)ROM內(nèi)容 C54x器件提供了各種ROM尺寸(2K字、4K字、16K字、28K字、48K字)。片內(nèi)ROM引導(dǎo)區(qū)2K字(F800H-FFFFH)范圍內(nèi)一般

18、包含下列內(nèi)容,具體型號(hào)內(nèi)容可以見(jiàn)相應(yīng)芯片文檔。 自舉加載程序,可從串口、外部存儲(chǔ)器、I/O端口、主機(jī)接口加載。 256字律擴(kuò)展表 256字A律擴(kuò)展表 256正弦函數(shù)查值表 中斷向量表,TMS320VC5416 DSP 的 存 儲(chǔ) 空 間,以TMS320VC5416 DSP為例 數(shù)據(jù)空間 支持16位地址和16位數(shù)據(jù)寬度 訪問(wèn)空間為21616bit64K Words 程序空間 支持23位地址和16位數(shù)據(jù)寬度 分成27128頁(yè) 64K Words的程序空間 IO空間 支持16位地址和16位數(shù)據(jù)寬度,固定片外尋址 訪問(wèn)空間為21616bit64K Words PortR和PortW兩條匯編指令用于IO

19、空間訪問(wèn),C54x 存儲(chǔ)空間映射,I/O存儲(chǔ)空間,C54x DSP除了程序存儲(chǔ)空間和數(shù)據(jù)存儲(chǔ)空間外,還提供I/O存儲(chǔ)空間。I/O存儲(chǔ)空間64K字尋址范圍(0000H-FFFFH),僅僅存在片外。芯片通過(guò)2條指令PORTR、PORTW來(lái)訪問(wèn)這個(gè)空間。訪問(wèn)時(shí),讀時(shí)序和讀程序存儲(chǔ)空間、數(shù)據(jù)存儲(chǔ)空間不同,它是訪問(wèn)獨(dú)立的I/O映射設(shè)備而不是存儲(chǔ)器。 I/O空間還有兩個(gè)專用I/O管腳BIO和XF。分支轉(zhuǎn)移控制輸入引腳BIO用來(lái)監(jiān)控外圍設(shè)備,決定分支轉(zhuǎn)移的去向,以替代中斷,不干擾對(duì)時(shí)間要求苛刻的循環(huán)。外部標(biāo)志輸出引腳XF可以向外部設(shè)備發(fā)信號(hào),以控制外部設(shè)備工作。,TMS320VC5416 DSP的存儲(chǔ)空間映

20、射,由處理器工作方式與狀態(tài)寄存器PMST控制 具體由MP/MC、OVLY、DROM三個(gè)位控制,C54x 存儲(chǔ)空間映射,擴(kuò)展的程序存儲(chǔ)器映射,擴(kuò)展的程序存儲(chǔ)器映射(續(xù)),XPC =,C54x 存儲(chǔ)空間映射,詳細(xì)見(jiàn)第三章CMD文件設(shè)計(jì),C54x 存儲(chǔ)空間映射,片內(nèi)外設(shè),DSP片內(nèi)外設(shè)是集成在芯片內(nèi)部的外部設(shè)備. 外部設(shè)備在片內(nèi)主要有以下優(yōu)點(diǎn) 片內(nèi)外設(shè)訪問(wèn)速度快 簡(jiǎn)化電路的設(shè)計(jì) 提供一些必須的特殊功能.這些特殊功能必須以片內(nèi)外設(shè)的方式來(lái)實(shí)現(xiàn),如JTAG口,等待狀態(tài)發(fā)生器等 CPU核對(duì)片內(nèi)外設(shè)的訪問(wèn)是通過(guò)對(duì)相應(yīng)的控制寄存器的訪問(wèn)來(lái)完成的.,片內(nèi)外設(shè),軟件可編程等待狀態(tài)發(fā)生器 可編程分區(qū)轉(zhuǎn)換邏輯 1個(gè)主

21、機(jī)接口HPI 3個(gè)多通道緩沖串行口McBSPs DMA控制器 1個(gè)硬件定時(shí)器 帶鎖相環(huán)的時(shí)鐘發(fā)生器PLL,軟件可編程等待狀態(tài)發(fā)生器,它能把外部總線周期擴(kuò)展到最多14個(gè)機(jī)器周期,這樣可以方便地與慢速的外部存儲(chǔ)器和I/O設(shè)備接口。 它不需要任何外部硬件,只由軟件完成。 在訪問(wèn)外部存儲(chǔ)器時(shí),軟件等待狀態(tài)寄存器SWWR可為每32K字的程序、數(shù)據(jù)存儲(chǔ)單元塊和64K字的I/O空間確定0-14個(gè)等待狀態(tài),軟件可編程等待狀態(tài)發(fā)生器,軟件可編程等待狀態(tài)發(fā)生器可以通過(guò)編程來(lái)延長(zhǎng)總線的等待周期,最多可達(dá)到714個(gè)機(jī)器周期。這樣可以方便地使C54x DSP與慢速的片內(nèi)存儲(chǔ)器和I/O器件接口。 若外部器件要求插入的等待

22、周期大于14個(gè)機(jī)器周期時(shí),可以利用硬件READY線來(lái)實(shí)現(xiàn)。 當(dāng)所有的外部器件都配置在0等待狀態(tài)時(shí),加到等待狀態(tài)發(fā)生器的內(nèi)部時(shí)鐘將被關(guān)斷。器件工作在省電狀態(tài)。,軟件等待狀態(tài)寄存器SWWSR,軟件可編程等待狀態(tài)發(fā)生器,軟件等待狀態(tài)控制寄存器SWCR,C5416 DSP,除了有一個(gè)軟件等待狀態(tài)寄存器SWWSR外,還有一個(gè)SWCR SWCR中的SWSM位用來(lái)確定擴(kuò)展最大的等待周期,軟件可編程等待狀態(tài)發(fā)生器,可編程分區(qū)轉(zhuǎn)換邏輯,可編程分區(qū)轉(zhuǎn)換邏輯允許器件在外部存儲(chǔ)器分區(qū)之間轉(zhuǎn)換時(shí)不需要使用額外的等待狀態(tài)。 在程序空間或數(shù)據(jù)空間內(nèi),分區(qū)轉(zhuǎn)換邏輯在訪問(wèn)通過(guò)32K字存儲(chǔ)塊邊界時(shí),自動(dòng)插入一個(gè)周期。,自動(dòng)插入一

23、個(gè)附加周期的情況,當(dāng)對(duì)程序存儲(chǔ)器進(jìn)行一次讀操作后,緊隨其后對(duì)不同的存儲(chǔ)器分區(qū)進(jìn)行另一次程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器讀操作 對(duì)數(shù)據(jù)存儲(chǔ)器進(jìn)行一次讀操作后,再對(duì)一個(gè)不同的存儲(chǔ)器分區(qū)進(jìn)行另一次程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器讀操作 對(duì)C548、C549等器件,一次程序存儲(chǔ)器讀操作后,再對(duì)不同頁(yè)程序存儲(chǔ)器進(jìn)行另一次讀操作,可編程分區(qū)轉(zhuǎn)換邏輯,HPI主機(jī)接口,C54X的主機(jī)接口(HPI)是一個(gè)8位并行口,是與主設(shè)備或主處理器通信的接口(一般來(lái)說(shuō)是與其他DSP或者單片機(jī)等設(shè)備,即主控方通信)。 信息在C54X和主機(jī)之間通過(guò)C54X存儲(chǔ)器進(jìn)行交換。 主機(jī)和C54X都可以訪問(wèn)HPI控制寄存器。 外部主機(jī)是HPI的主控者,HP

24、I作為一個(gè)外設(shè)與主機(jī)相連,使主機(jī)的訪問(wèn)操作很容易。 主機(jī)通過(guò)專用地址和數(shù)據(jù)寄存器、HPI控制寄存器與HPI通信,另外還會(huì)使用外部數(shù)據(jù)與接口控制信號(hào)。,HPI口數(shù)據(jù)傳輸,HPI作為主機(jī)的一個(gè)外圍設(shè)備,共有8個(gè)外部數(shù)據(jù)線HD0-7,當(dāng)C54x與主機(jī)傳送數(shù)據(jù)時(shí),HPI能自動(dòng)將外部接口連續(xù)傳來(lái)的8位數(shù)組合成16位數(shù),傳送至C54x。 當(dāng)主機(jī)使用HPI寄存器執(zhí)行一個(gè)數(shù)據(jù)傳輸時(shí),HPI控制邏輯自動(dòng)執(zhí)行對(duì)一個(gè)專用2K字的C54x內(nèi)部的雙訪問(wèn)RAM的訪問(wèn),以完成數(shù)據(jù)處理,然后C54x可以在它的存儲(chǔ)器空間訪問(wèn)讀寫(xiě)數(shù)據(jù)。 HPI RAM也可以用做通用的雙尋址數(shù)據(jù)或程序RAM,HPI主機(jī)接口,HPI的兩種工作模式,

25、共用尋址模式SAM (常用方式) 主機(jī)和C54x都能尋址HPI存儲(chǔ)器。當(dāng)C54X與主機(jī)的周期發(fā)生沖突時(shí),則主機(jī)具有尋址優(yōu)先權(quán),C54x將等待一個(gè)周期 僅主機(jī)尋址模式HOM HPI存儲(chǔ)器只能讓主機(jī)尋址,C54x則處于復(fù)位狀態(tài)或者處于所有內(nèi)部和外部時(shí)鐘都停止工作的IDLE2空轉(zhuǎn)狀態(tài)。因此主機(jī)可以訪問(wèn)HPI RAM,而C54x處于最小功耗配置。,HPI主機(jī)接口,HPI傳輸速度,SAM方式 若HPI每5個(gè)CLKOUT傳送一個(gè)字節(jié),那么主機(jī)的運(yùn)行頻率可達(dá)F*N/5,F(xiàn)為C54x的CLKOUT頻率,N為主機(jī)每進(jìn)行一次外部尋址的周期數(shù),通常N是3或4。如C54x的CLKOUT頻率為40M,那么主機(jī)頻率可達(dá)3

26、2M或24M。且不插入等待周期。 HOM方式 主機(jī)可以獲得更高的速度每50ns尋址一個(gè)字節(jié)(160MBIT/S),且與C54x的時(shí)鐘速度無(wú)關(guān)。,HPI主機(jī)接口,HPI與主機(jī)的數(shù)據(jù)線連接,HPI通過(guò)8位數(shù)據(jù)總線與主機(jī)交換信息。 由于C54X的16位字的結(jié)構(gòu),主機(jī)與DSP之間的傳輸數(shù)據(jù)必須包含兩個(gè)連續(xù)的字節(jié)。 專用的HBIL腳用來(lái)確定傳輸?shù)氖堑谝粋€(gè)還是第二個(gè)字節(jié) HPI控制寄存器HPIC的BOB位決定第一個(gè)或第二個(gè)字節(jié),放置在16位字的高8位,而主機(jī)不必破壞兩個(gè)字節(jié)的訪問(wèn)順序。如果字節(jié)的傳輸順序被破壞,則數(shù)據(jù)可能會(huì)丟失,產(chǎn)生不可預(yù)測(cè)的結(jié)果,HPI主機(jī)接口,HPI管腳信號(hào)名稱,HAS:地址選通信號(hào)

27、HCS:片選信號(hào) HD0-HD7:數(shù)據(jù)總線 HRDY:HPI準(zhǔn)備好端 HCNTL0、HCNTL1:主機(jī)控制信號(hào) HDS1、HDS2:數(shù)據(jù)選通信號(hào) HINT:HPI中斷輸出信號(hào) HBIL:字節(jié)識(shí)別信號(hào) HR/W:讀寫(xiě)信號(hào),HPI主機(jī)接口,HAS信號(hào),地址選通信號(hào)。 若主機(jī)的地址和數(shù)據(jù)是一條多路總線,則HAS與主機(jī)的ALE引腳相連。在HAS的下降沿,鎖存HBIL、HCNT0/1和HR/W信號(hào);若主機(jī)的地址和數(shù)據(jù)線是分開(kāi)的,則HAS接高電平,此時(shí)由HDS1、HDS2或HCS中最遲的下降沿鎖存HBIL、HCNTL01和HR/W信號(hào) 若地址和數(shù)據(jù)總線非復(fù)用時(shí),接高電平。,HPI主機(jī)接口,HCS信號(hào),片選

28、信號(hào)。 作為HPI的使能輸入端,在每次尋址期間必須為低電平,而兩次尋址之間也可以停留在低電平 連接到主機(jī)的地址線或控制線,HPI主機(jī)接口,HRDY信號(hào),HPI準(zhǔn)備好端。 連接到主機(jī)的異步準(zhǔn)備好端 高電平表示HPI已準(zhǔn)備好執(zhí)行一次數(shù)據(jù)傳送;低電平表示HPI正忙于完成當(dāng)前事務(wù)。,HPI主機(jī)接口,HCNTL0、HCNTL1信號(hào),連接到主機(jī)的地址或控制信號(hào),HPI主機(jī)接口,HDS1、HDS2信號(hào),數(shù)據(jù)選通信號(hào) 連接到主機(jī)的讀選通和寫(xiě)選通或數(shù)據(jù)選通端 在主機(jī)尋址HPI周期內(nèi),控制HPI數(shù)據(jù)的傳送。HDS1和HDS2與HAS一起產(chǎn)生內(nèi)部選通信號(hào),HPI主機(jī)接口,HINT信號(hào),HPI中斷輸出信號(hào) 連接到主機(jī)

29、的中斷輸入端 受HPIC寄存器中的HINT位控制。當(dāng)C54X復(fù)位時(shí)為高電平。,HPI主機(jī)接口,HBIL信號(hào),字節(jié)識(shí)別信號(hào) 連接到主機(jī)的地址或控制線 識(shí)別主機(jī)傳送過(guò)來(lái)的是第一個(gè)字節(jié)還是第2個(gè)字節(jié) HBIL=0,第1個(gè)字節(jié) HBIL=1,第2個(gè)字節(jié) 第一個(gè)字節(jié)是高字節(jié)還是低字節(jié),由HPIC寄存器中BOB位決定,HPI主機(jī)接口,HR/W信號(hào),讀寫(xiě)信號(hào) 連接到主機(jī)的讀/寫(xiě)選通、地址線或多路地址/數(shù)據(jù) 高電平表示主機(jī)讀HPI,低電平表示寫(xiě)HPI。若主機(jī)沒(méi)有讀寫(xiě)信號(hào),可用一根地址線代替。,HPI主機(jī)接口,HPI寄存器,HPI控制寄存器HPIC HPI控制寄存器為16位寄存器,用來(lái)控制HPI的操作 HPI地

30、址寄存器HPIA HPI地址寄存器,主機(jī)直接訪問(wèn)該寄存器 HPI數(shù)據(jù)寄存器HPID。 HPI數(shù)據(jù)寄存器,只能由主機(jī)直接訪問(wèn),包含從HPI存儲(chǔ)器讀出的數(shù)據(jù),或者要寫(xiě)到HPI寄存器的數(shù)據(jù)。,HPI主機(jī)接口,HPI的寄存器訪問(wèn),兩個(gè)控制輸入(HCNTL0和HCNTL1)表示哪個(gè)HPI寄存器被訪問(wèn)。這兩個(gè)輸入與HBIL一起由主機(jī)地址總線驅(qū)動(dòng)。 使用HCNTL0/1輸入,主機(jī)可以指定對(duì)HPI寄存器的訪問(wèn):HPI控制寄存器HPIC、HPI地址寄存器HPIA、HPI數(shù)據(jù)寄存器HPID。HPIA可以使用自動(dòng)增尋址方式訪問(wèn)HPIA。 通過(guò)寫(xiě)HPIC,主機(jī)可以中斷C54X,并且HINT輸出可以被C54X用來(lái)中斷主

31、機(jī)。,HPI主機(jī)接口,C54x串行口,標(biāo)準(zhǔn)同步串口SP 帶緩沖的串行口BSP 時(shí)分復(fù)用串口TDM 多通道緩沖串口McBSP,C54x串行口,標(biāo)準(zhǔn)同步串行口SP的連接圖,C54x串行口,ADS1178 AD,C54x串行口,McBSP 的接收時(shí)序,C54x串行口,緩沖串行口在標(biāo)準(zhǔn)同步串行口的基礎(chǔ)上增加了一個(gè)自動(dòng)緩沖單元 ABU 全雙工、雙緩沖,允許連續(xù)數(shù)據(jù)流 ABU利用獨(dú)立于CPU的專用總線,讓串行口直接讀/寫(xiě)C54x的片內(nèi)存儲(chǔ)器。這樣可以使串行口處理事務(wù)的開(kāi)銷最小,并能提高效率。 BSP有兩種工作方式 非緩沖方式和自動(dòng)緩沖方式。 當(dāng)工作在非緩沖方式下時(shí),其數(shù)據(jù)傳輸和標(biāo)準(zhǔn)同步串行口一樣; 當(dāng)工作

32、在自動(dòng)緩沖方式下時(shí),串行口直接與C54x 片內(nèi)存儲(chǔ)器進(jìn)行16位數(shù)據(jù)傳輸。,C54x串行口,帶緩沖的串行口BSP,TDM將時(shí)間分成時(shí)間段,按時(shí)間段順序周期性地與不同器件通信。,C54x串行口,時(shí)分復(fù)用串行口TDM,多通道緩沖串行口McBSP是基于標(biāo)準(zhǔn)同步串行口的,允許直接與C54x/LC54x器件、編碼設(shè)備或其他設(shè)備相連,它具有如下特點(diǎn) 全雙工通信 雙緩沖數(shù)據(jù)寄存器,允許連續(xù)數(shù)據(jù)流 獨(dú)立的接收/發(fā)送時(shí)鐘和幀信號(hào) 支持T1/E1、MVIP、ST-BUS、IOM-2、AC97、IIS、SPI和一般的串行外設(shè) 高達(dá)128個(gè)通道的多通道傳輸 包括8、12、16、20、24、32位的寬范圍數(shù)據(jù)位選擇 律和

33、A律壓縮 對(duì)發(fā)送/接收數(shù)據(jù)時(shí)鐘和幀同步信號(hào)極性可編程 內(nèi)部時(shí)鐘和幀信號(hào)可編程,C54x串行口,多通道緩沖串口McBSP,C54x串行口,多通道緩沖串口McBSP,DMA控制器,器件直接內(nèi)存訪問(wèn)(The device direct memory access,DMA)控制器可以不在CPU干涉的情況下直接進(jìn)行存儲(chǔ)器映射內(nèi)的兩點(diǎn)間的直接傳輸。DMA允許在CPU運(yùn)行的情況下進(jìn)行內(nèi)部存儲(chǔ)器、片內(nèi)外設(shè)、外部器件之間進(jìn)行數(shù)據(jù)移動(dòng)。它有6個(gè)獨(dú)立的可編程通道,允許6個(gè)不同的內(nèi)容進(jìn)行DMA操作。DMA控制器也提供來(lái)自主機(jī)接口(HPI-8、HPI-16)需求的利用DMA總線的服務(wù),定時(shí)器,C54x片內(nèi)16位定時(shí)器是

34、根據(jù)每個(gè)時(shí)鐘自減,當(dāng)定時(shí)器的計(jì)數(shù)器自減到0時(shí),一個(gè)定時(shí)中斷就產(chǎn)生了。定時(shí)器能被停止、重新啟動(dòng)、復(fù)位,或通過(guò)指定狀態(tài)位進(jìn)行禁止運(yùn)行。 定時(shí)器寄存器組成 定時(shí)器寄存器TIM:此寄存器被PRD寄存器的值加載,并隨計(jì)數(shù)減少。 定時(shí)器周期寄存器PRD:此寄存器提供TIM數(shù)據(jù)加載。 定時(shí)器控制寄存器TCR:此寄存器是定時(shí)器的控制和狀態(tài)寄存器,,定時(shí)器,TCR寄存器,定時(shí)器公式 預(yù)標(biāo)定器PSC根據(jù)CPU提供的時(shí)鐘,每來(lái)一個(gè)時(shí)鐘自減1,當(dāng)PSC的值減少到0時(shí),TDDR的內(nèi)容加載到PSC(當(dāng)系統(tǒng)復(fù)位(RESET輸入信號(hào)有效)或定時(shí)器單獨(dú)復(fù)位(TRB有效)時(shí),TDDR的內(nèi)容也加載到PSC);TIM根據(jù)預(yù)標(biāo)定器PS

35、C提供的時(shí)鐘,每來(lái)一個(gè)預(yù)標(biāo)定PSC的輸出時(shí)鐘減1,當(dāng)TIM減數(shù)到0后,PRD中的內(nèi)容自動(dòng)加載到TIM(當(dāng)系統(tǒng)復(fù)位或定時(shí)器單獨(dú)復(fù)位時(shí),PRD的內(nèi)容也加載到TIM中),同時(shí) TIM會(huì)產(chǎn)生一個(gè)定時(shí)器中斷TINT信號(hào),該信號(hào)被送到CPU和定時(shí)器輸出TOUT管腳。 由此,定時(shí)器的中斷周期,PLL時(shí)鐘發(fā)生器,C54x時(shí)鐘發(fā)生器由內(nèi)部振蕩器和鎖相環(huán)電路構(gòu)成,可通過(guò)晶振或外部時(shí)鐘驅(qū)動(dòng)。鎖相環(huán)具有頻率放大和時(shí)鐘信號(hào)提純的作用。利用PLL可以對(duì)時(shí)鐘頻率進(jìn)行鎖定、為芯片提供高穩(wěn)定度的時(shí)鐘信號(hào),對(duì)外部時(shí)鐘可以進(jìn)行倍頻,使外部時(shí)鐘的周期低于CPU機(jī)器周期,以降低因高速開(kāi)關(guān)時(shí)鐘引起的高頻噪聲。 當(dāng)前鎖相環(huán)電路有兩種不同的

36、配置方式 一些器件使用硬件配置PLL電路, 另外一些采用軟件編程的方式進(jìn)行配置,硬件配置PLL,PLL時(shí)鐘發(fā)生器,軟件配置PLL 軟件可編程PLL非常靈活,它包括提供時(shí)鐘的各種乘法系數(shù),能夠直接使能和禁止PLL。它可以鎖定定時(shí)器,用來(lái)延遲轉(zhuǎn)換PLL的時(shí)鐘方式,直到鎖定為止。軟件可編程PLL可以通過(guò)兩種模式來(lái)配置時(shí)鐘輸出 PLL模式:輸入時(shí)鐘CLKIN以31個(gè)系數(shù)倍頻,倍頻范圍為0.25至15。 DIV模式:輸入時(shí)鐘被分頻,分頻范圍為2或4。當(dāng)采用DIV模式時(shí),所有的模擬電路、包括PLL電路是被禁止的以達(dá)到減少功耗的目的。,PLL時(shí)鐘發(fā)生器,舉例: CLKMOD寄存器初始化值為0 x9007 C

37、LKMOD寄存器初始化值為0 x77F7,PLL時(shí)鐘發(fā)生器,外部引腳,數(shù)據(jù)信號(hào) 初始化,中斷和復(fù)位 多處理信號(hào) 存儲(chǔ)控制信號(hào) 時(shí)鐘信號(hào) 多通道緩沖串口0、1、2信號(hào) 主機(jī)接口信號(hào) 電源管腳 測(cè)試管腳,知識(shí)點(diǎn)24:外部引腳,外部引腳,外部引腳,外部引腳,中斷系統(tǒng),中斷系統(tǒng)是為計(jì)算機(jī)系統(tǒng)提供實(shí)時(shí)操作、多任務(wù)和多進(jìn)程的關(guān)鍵部件。 中斷信號(hào)的產(chǎn)生 中斷是由硬件驅(qū)動(dòng)或者軟件驅(qū)動(dòng)的信號(hào) 例如由外設(shè)向CPU傳送數(shù)據(jù)(ADC)或外設(shè)向CPU提供數(shù)據(jù)(DAC)的硬件設(shè)備來(lái)產(chǎn)生的 定時(shí)器 當(dāng)CPU響應(yīng)中斷時(shí),將暫時(shí)停止當(dāng)前程序的執(zhí)行,而去執(zhí)行中斷服務(wù)程序ISR,中斷分類,可屏蔽中斷 16個(gè)用戶可屏蔽中斷 非屏蔽中

38、斷 軟件中斷 復(fù)位RS中斷 NMI中斷,中斷分類,中斷分類,中斷寄存器,中斷屏蔽寄存器IMR 中斷屏蔽寄存器主要是用來(lái)屏蔽外部或內(nèi)部中斷。如果CPU狀態(tài)寄存器中的INTM位為0且IMR寄存器中有一位為1,就開(kāi)放IMR寄存器中的那一位中斷。 RS和NMI都不能被IMR屏蔽。用戶可以讀寫(xiě)IMR寄存器。,中斷寄存器,中斷標(biāo)志寄存器IFR 中斷標(biāo)志寄存器是一個(gè)存儲(chǔ)器映射寄存器。當(dāng)一個(gè)中斷出現(xiàn)時(shí),IFR中相應(yīng)的中斷標(biāo)志位置1,直到此中斷被CPU處理。 任何下列事件都會(huì)清除IFR中的中斷標(biāo)志 C54x DSP被硬件復(fù)位 中斷觸發(fā)被響應(yīng) 一個(gè)1被寫(xiě)入相應(yīng)的尚未處理的IFR中斷標(biāo)志位 使用相應(yīng)中斷號(hào)INTR指

39、令被執(zhí)行,中斷處理步驟,接受中斷請(qǐng)求 應(yīng)答中斷 執(zhí)行中斷服務(wù)程序ISR,接收中斷請(qǐng)求,一個(gè)中斷由硬件或軟件指令請(qǐng)求。 當(dāng)產(chǎn)生一個(gè)中斷時(shí),IFR寄存器中的相應(yīng)的中斷標(biāo)志位被置1。不管中斷是否被處理器應(yīng)答,該標(biāo)志位都會(huì)置1。當(dāng)相應(yīng)的中斷響應(yīng)后,該標(biāo)志位自動(dòng)清零,硬件中斷請(qǐng)求,外部硬件中斷由外部中斷口的信號(hào)發(fā)出請(qǐng)求,而內(nèi)部硬件由片內(nèi)外設(shè)的信號(hào)發(fā)出中斷請(qǐng)求。例如,C54X硬件中斷可以由如下信號(hào)發(fā)出 INT3-INT0管腳 RS和NMI管腳 RINT0、XINT0、RINT1、XINT1串行中斷 TINT定時(shí)器中斷,軟件中斷請(qǐng)求,INTR INTR指令允許執(zhí)行任何的可屏蔽中斷,包括用戶定義的中斷(從SI

40、NT0到SINT30) TRAP TRAP與INTR的不同之處是TRAP啟動(dòng)中斷時(shí),狀態(tài)寄存器ST1的中斷方式INTM位不受影響。所以在TRAP啟動(dòng)中斷服務(wù)時(shí),該中斷服務(wù)程序可以被其他硬件中斷所中斷。 RESET 復(fù)位指令可在程序的任何時(shí)候產(chǎn)生,它使處理器返回一個(gè)預(yù)定狀態(tài),復(fù)位指令影響ST0和ST1寄存器,但對(duì)PMST寄存器沒(méi)有影響。,應(yīng)答中斷,對(duì)于軟件中斷和非屏蔽中斷,CPU將立即響應(yīng),進(jìn)入相應(yīng)的中斷服務(wù)程序。對(duì)于硬件可屏蔽中斷,只要滿足下列三個(gè)條件后,CPU才能響應(yīng)中斷 當(dāng)前中斷優(yōu)先級(jí)最高 INTM位清0 IMR屏蔽位為1 滿足上述條件后,CPU響應(yīng)中斷,終止當(dāng)前正在運(yùn)行的操作,指令計(jì)數(shù)器PC自動(dòng)轉(zhuǎn)向相應(yīng)的中斷向量地址,取出中斷服務(wù)程序地址,并發(fā)出硬件中斷響應(yīng)信號(hào)IACK(中斷應(yīng)答)而清除相應(yīng)的中斷標(biāo)志位,執(zhí)行中斷服務(wù)程序ISR,CPU執(zhí)行中斷服務(wù)程序的步驟 保護(hù)現(xiàn)場(chǎng) 將中斷向量的地址加載PC 獲取位于向量

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論