版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、曹洪龍 DSP芯片組成 中央處理器 總線結(jié)構(gòu) 存儲系統(tǒng) 片內(nèi)外設(shè)和引腳 中斷系統(tǒng)特點(diǎn)運(yùn)算速度快組成CPU存儲器系統(tǒng)片內(nèi)外設(shè)其他功能模塊CPU片內(nèi)存儲器片內(nèi)存儲器串行通信接口串行通信接口PLLJTAGHPI通用通用I/0口口中斷系統(tǒng)中斷系統(tǒng)Timer其他硬件電路其他硬件電路可編程分區(qū)轉(zhuǎn)換邏輯可編程分區(qū)轉(zhuǎn)換邏輯軟件可編程等待狀態(tài)發(fā)生器軟件可編程等待狀態(tài)發(fā)生器JTAG 測試測試/仿真接口仿真接口McBSP1McBSP2McBSP3Clock PLL Generator HPI GP I/OS/W WaitstateGenerator64KW 單訪問單訪問RAM 64KW 雙訪問雙訪問RAM 16KW
2、 ROMCPUTimerPeripheral BusProgram/Data BusesDMA電源管理電源管理40位算術(shù)邏輯運(yùn)算單元ALU40位累加器A和B桶形移位寄存器,支持-16至31移動范圍乘法/累加器16位暫存器T16位傳輸寄存器TRN比較、選擇和存儲單元CSSU指數(shù)編碼器CPU狀態(tài)和控制寄存器。系統(tǒng)控制接口程序地址產(chǎn)生器PAGEN數(shù)據(jù)地址產(chǎn)生器DAGEN存 儲 器 和外部接口DMA控制器片內(nèi)外設(shè)PABPBCABCBDABDBEABEB乘法/加法器算 術(shù) 邏 輯單元ALU指數(shù)編碼器CPU狀態(tài)控制寄存器桶 形 移 位寄存器比較、選擇和存儲單元累加器B累加器ACPU狀態(tài)寄存器0(ST0)狀
3、態(tài)寄存器1(ST1)處理器工作模式狀態(tài)寄存器(PMST)由于三個寄存器都是存儲器映射的,他們都能存儲到數(shù)據(jù)存儲器或從數(shù)據(jù)存儲器中獲得。它們也能用子程序或中斷服務(wù)子程序(ISR)保存或恢復(fù)。 1狀態(tài)寄存器狀態(tài)寄存器0(ST0):15 1312111098 0ST0:ARPTCCOVAOVBDP2狀態(tài)寄存器狀態(tài)寄存器1 (ST1):1514131211109876540BRAF CPLXFHMINTM0OVM SXM C16 FRCT CMPTASMBRAFCPLXFHMINTM0OVM SXM C16 FRCT CMPT ASMBRAF CPLXFHMINTM0OVM SXM C16 FRCT
4、CMPTASM 3工作方式狀態(tài)寄存器工作方式狀態(tài)寄存器PMST:SSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR0123456157IPTR:用來指示中斷向量所駐留的:用來指示中斷向量所駐留的128字程序地置;字程序地置;MP/MC:用來確定是否允許使用片內(nèi):用來確定是否允許使用片內(nèi)ROM OVLY:用來決定片內(nèi):用來決定片內(nèi)DARAM是否映射到程序空間。是否映射到程序空間。 AVIS:用來決定是否可以從器件地址引腳線看到內(nèi)部程:用來決定是否可以從器件地址引腳線看到內(nèi)部程序空間地址線;序空間地址線;DROM:用來決定片內(nèi)程序存儲器是否可以映射到數(shù)據(jù)空:用來決定片內(nèi)程序存儲器
5、是否可以映射到數(shù)據(jù)空間;間;CLKOFF:用來決定時鐘輸出引腳:用來決定時鐘輸出引腳CLKOUT是否有信號是否有信號輸出;輸出;SMUL:用來決定乘法結(jié)果是否需要進(jìn)行飽和處理;:用來決定乘法結(jié)果是否需要進(jìn)行飽和處理; SST:用來決定累加器中的數(shù)據(jù)在存儲到存儲器之前,是:用來決定累加器中的數(shù)據(jù)在存儲到存儲器之前,是否需要飽和處理。否需要飽和處理。 40位ALU(Arithmetic Logic Unit)配合累加器A和B,執(zhí)行算術(shù)、邏輯運(yùn)算、布爾運(yùn)算功能,絕大多數(shù)算術(shù)邏輯運(yùn)算指令都在一個周期內(nèi)完成。一個運(yùn)算操作在ALU執(zhí)行后,運(yùn)算的結(jié)果一般被送到累加器A或B中(執(zhí)行存儲操作指令A(yù)DDM、AND
6、M、ORM、XORM除外)算術(shù)邏輯運(yùn)算單元ALU累加器A累加器B數(shù)據(jù)總線CB15-CB0數(shù)據(jù)總線DB15-DB0乘法/累加單元(MAC)輸出符號控制符號控制轉(zhuǎn)移輸出(40)ADD *AR1,AALU的輸入移位器輸出(32位或16位數(shù)據(jù)存儲器操作數(shù)或者移位后累加器的值)。數(shù)據(jù)總線DB的數(shù)據(jù)存儲器操作數(shù)。Y端的輸入來自下列3個方向中的一個:累加器A或B。數(shù)據(jù)總線CB的數(shù)據(jù)存儲器操作數(shù)。T寄存器的數(shù)據(jù)ALU的輸出ALU的輸出為40位,被送入累加器A或B。 ALU溢出處理 和ST1中的OVM有關(guān). 發(fā)生溢出時后,溢出標(biāo)志位OVA或OVB置位,直到復(fù)位或執(zhí)行溢出條件指令時恢復(fù)。 ALU進(jìn)位位 ALU的進(jìn)
7、位位C受大多數(shù)算術(shù)指令影響(包括循環(huán)和移位指令)。進(jìn)位位可以用來支持?jǐn)U展精度的算術(shù)運(yùn)算。進(jìn)位位不受累加器裝載、邏輯運(yùn)算、其他非算術(shù)指令或控制指令影響,所以它還可以用來進(jìn)行溢出管理。 根據(jù)進(jìn)位位的值,可以利用條件操作指令C和NC來進(jìn)行分支轉(zhuǎn)移、調(diào)用或返回操作。利用指令RSBX、SSBX或硬件復(fù)位來對進(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位加法或兩次16位減法。 舉例 DADST Lmen,dst;C16=1 則:則:;Lmem(31至至16)+Tdst(39至至16);Lmem(15至
8、至0)-Tdst (15至至0);C16=0 則:則:;dst=Lmem+(TAA(15150 0);則;則A A(31311616)-* *AR1AR1,;TRNTRN左移左移1 1位,位,0-TRN0-TRN(0 0),),0-TC0-TC ;否則;否則A A(15150 0)-* *AR1AR1,TRNTRN左移左移1 1位,位,;1-TRN1-TRN(0 0),),1-TC,1-TC,TRNTRN狀態(tài)轉(zhuǎn)移寄存器,狀態(tài)轉(zhuǎn)移寄存器,TCTC測試控制寄存器測試控制寄存器If (M1+D1)(M2+D2)then N1= M1+D1Else N1= M2+D2D1D2M1(尺度尺度1)M2(尺
9、度尺度2)2*J2*J+1N1JN2J+8D1D2 指數(shù)編碼器是一個在單周期內(nèi)完成EXP指令的專用硬件,其結(jié)構(gòu)如圖2.8所示。該指令獲得累加器中的指數(shù)值并以二進(jìn)制補(bǔ)碼的形式(-8至31)把它存儲到T中。為消除多余符號位而將累加器中的數(shù)值左移,其左移的位數(shù)和累加器指數(shù)值冗于符號位-8有關(guān),當(dāng)累加器的值超過32位時,這個結(jié)果為負(fù)數(shù)。EXP指數(shù)編碼器指數(shù)編碼器ABT寄存器寄存器舉例舉例EXP A EXP A ; T T把累加器把累加器A A的指數(shù)的指數(shù)T TST TST T,EXPONENT EXPONENT ;保存指數(shù)(;保存指數(shù)(T T)到數(shù)據(jù)存儲區(qū))到數(shù)據(jù)存儲區(qū)NORM A NORM A ;歸
10、一化寄存器;歸一化寄存器A A,依靠,依靠T T的值移動累加的值移動累加器器A A的值的值若:若:40位累加器位累加器A中的定點(diǎn)數(shù)中的定點(diǎn)數(shù)FF FFFF F001則:則:11111111 111111111111111111110000000000011111 1111 1000 0000 0000 1000 0000 0000 0000 0000則:則:T=27-8=19則:Norm A ; 需要左移19位,結(jié)果如下 C54x系列DSP的總線結(jié)構(gòu)是由8條16位總線構(gòu)成(4條程序/數(shù)據(jù)總線和4條地址總線)。 程序總線PB:傳送來自程序存儲器的指令和立即數(shù)。 數(shù)據(jù)總線CB、DB、EB:連接各個
11、功能單元,如CPU、數(shù)據(jù)地址產(chǎn)生邏輯、程序地址產(chǎn)生邏輯、片內(nèi)外設(shè)和數(shù)據(jù)存儲器。CB、DB傳送來自數(shù)據(jù)存儲器被讀取的立即數(shù),EB傳送被寫到存儲器去的數(shù)據(jù)。 地址總線PAB、CAB、DAB、EAB傳送執(zhí)行指令所需要的地址。 總線結(jié)構(gòu)圖:總線結(jié)構(gòu)圖:Program A/D Bus (P)Data Read A/D Bus (D)Data Read A/D Bus (C)Data Write A/D Bus (E)ExtlMemI/FADInternalMemoryExternalMemoryExternal: 1 access / cycleup to 8M words programInterna
12、l: Up to 4 accesses / cycle 普通存儲器的概念 ROM和RAM 存儲器的計(jì)算 通常來說,存儲器的容量是和它的地址線和數(shù)據(jù)線有關(guān)的。在地址線、數(shù)據(jù)線不復(fù)用的情況下,比如10根地址線8根數(shù)據(jù)線組成的存儲器,通常的存儲容量就是8bit,即尋址空間為1024,存儲容量為1K字節(jié);又如16根地址線16根數(shù)據(jù)線組成的存儲器,通常的存儲容量就是16bit,即尋址空間為8K,存儲容量為8K字 64K Words的的DARAM (雙訪問(雙訪問RAM)p 每一塊,被分成塊,由低地址開始記作每一塊,被分成塊,由低地址開始記作DARAM0DARAM7p 在同一塊內(nèi)一個指令周期支持兩個操作在
13、同一塊內(nèi)一個指令周期支持兩個操作 64K Words的的SARAM (單訪問(單訪問RAM)p 每一塊,被分成塊,由低地址開始記作每一塊,被分成塊,由低地址開始記作SARAM0SARAM7p 在同一塊內(nèi)一個指令周期僅支持一個操作,但支持一個指在同一塊內(nèi)一個指令周期僅支持一個操作,但支持一個指令周期同時對不同的塊完成兩個操作令周期同時對不同的塊完成兩個操作 16K Words的的ROMp 掩模掩模ROM,只能讀不能寫,只能讀不能寫TMS320VC5416 DSPTMS320VC5416 DSP的內(nèi)部存儲資源的內(nèi)部存儲資源 片內(nèi)ROM內(nèi)容 C54x器件提供了各種ROM尺寸(2K字、4K字、16K字
14、、28K字、48K字)。片內(nèi)ROM引導(dǎo)區(qū)2K字(F800H-FFFFH)范圍內(nèi)一般包含下列內(nèi)容,具體型號內(nèi)容可以見相應(yīng)芯片文檔。 自舉加載程序,可從串口、外部存儲器、I/O端口、主機(jī)接口加載。 256字律擴(kuò)展表 256字A律擴(kuò)展表 256正弦函數(shù)查值表 中斷向量表用戶代碼保留中斷向量表自舉引導(dǎo)程序256字律擴(kuò)展表256字A律擴(kuò)展表256正弦函數(shù)查值表保留中斷向量表TMS320VC5416 DSP 的的存存儲儲空空間間 以以TMS320VC5416 DSPTMS320VC5416 DSP為例為例 數(shù)據(jù)空間數(shù)據(jù)空間p 支持支持1616位地址和位地址和1616位數(shù)據(jù)寬度位數(shù)據(jù)寬度p 訪問空間為訪問空
15、間為2 2161616bit16bit64K Words64K Words 程序空間程序空間p 支持支持2323位地址和位地址和1616位數(shù)據(jù)寬度位數(shù)據(jù)寬度p 分成分成2 27 7128128頁頁 64K Words64K Words的程序空間的程序空間 IOIO空間空間p 支持支持1616位地址和位地址和1616位數(shù)據(jù)寬度,固定片外尋址位數(shù)據(jù)寬度,固定片外尋址p 訪問空間為訪問空間為2 2161616bit16bit64K Words64K Wordsp PortRPortR和和PortWPortW兩條匯編指令用于兩條匯編指令用于IOIO空間訪問空間訪問 C54x DSP除了程序存儲空間和數(shù)
16、據(jù)存儲空間外,還提供I/O存儲空間。I/O存儲空間64K字尋址范圍(0000H-FFFFH),僅僅存在片外。芯片通過2條指令PORTR、PORTW來訪問這個空間。訪問時,讀時序和讀程序存儲空間、數(shù)據(jù)存儲空間不同,它是訪問獨(dú)立的I/O映射設(shè)備而不是存儲器。 I/O空間還有兩個專用I/O管腳BIO和XF。分支轉(zhuǎn)移控制輸入引腳BIO用來監(jiān)控外圍設(shè)備,決定分支轉(zhuǎn)移的去向,以替代中斷,不干擾對時間要求苛刻的循環(huán)。外部標(biāo)志輸出引腳XF可以向外部設(shè)備發(fā)信號,以控制外部設(shè)備工作。TMS320VC5416 DSPTMS320VC5416 DSP的存儲空間映射的存儲空間映射 由處理器工作方式與狀態(tài)寄存器由處理器工
17、作方式與狀態(tài)寄存器PMSTPMST控制控制p 具體由具體由MP/MCMP/MC、OVLYOVLY、DROMDROM三個位控制三個位控制DROMOVLYMP/MCIPTR地址第0頁程序存儲器地址第0頁程序存儲器地址數(shù)據(jù)存儲器0000H007FH保留(OVLY=1)外部使用(OVLY=0)0000H007FH保留(OVLY=1)外部(OVLY=0)0000H005FH存儲器映射寄存器0060H007FHScratch-PadRAM0080H7FFFH片內(nèi)DAAM0-3(OVLY=1)外部使用(OVLY=0)0080H7FFFH片內(nèi)DARAM0-3(OVLY=1)外部使用(OVLY=0)0080H7
18、FFFH片內(nèi)DARAM0-3(32K16位)8000H0FF7FH外部使用8000H0BFFFH外部使用8000H0FFFFH片內(nèi)DARAM4-7(DROM=1)或者片外(DROM=0)C000H0FEFFH片內(nèi)ROM(4K16位)0FF80H0FFFFH中斷(片外)0FF00H0FF7FH保留0FF80H0FFFFH中斷(片內(nèi))MP/MC=1微處理器模式MP/MC=0微計(jì)算機(jī)模式擴(kuò)展的程序存儲器映射擴(kuò)展的程序存儲器映射 擴(kuò)展的程序存儲器映射擴(kuò)展的程序存儲器映射(續(xù)續(xù)) XPC =XPC =DROM=1OVLY=1MP/MC=10 0DARAM03塊DARAM03塊(0 x0000(0 x00
19、000 x007F保留)0 x007F保留)內(nèi)部內(nèi)部ROM映射到ROM映射到0 xFC000 xFC000 xFFFF0 xFFFFDARAM03塊DARAM03塊(0 x0000(0 x00000 x007F保留)0 x007F保留)外部尋址外部尋址DSP片內(nèi)外設(shè)是集成在芯片內(nèi)部的外部設(shè)備. 外部設(shè)備在片內(nèi)主要有以下優(yōu)點(diǎn) 片內(nèi)外設(shè)訪問速度快 簡化電路的設(shè)計(jì) 提供一些必須的特殊功能.這些特殊功能必須以片內(nèi)外設(shè)的方式來實(shí)現(xiàn),如JTAG口,等待狀態(tài)發(fā)生器等CPU核對片內(nèi)外設(shè)的訪問是通過對相應(yīng)的控制寄存器的訪問來完成的.軟件可編程等待狀態(tài)發(fā)生器可編程分區(qū)轉(zhuǎn)換邏輯1個主機(jī)接口HPI3個多通道緩沖串行口
20、McBSPs DMA控制器1個硬件定時器帶鎖相環(huán)的時鐘發(fā)生器PLL 它能把外部總線周期擴(kuò)展到最多14個機(jī)器周期,這樣可以方便地與慢速的外部存儲器和I/O設(shè)備接口。 它不需要任何外部硬件,只由軟件完成。 在訪問外部存儲器時,軟件等待狀態(tài)寄存器SWWR可為每32K字的程序、數(shù)據(jù)存儲單元塊和64K字的I/O空間確定0-14個等待狀態(tài) 軟件可編程等待狀態(tài)發(fā)生器可以通過編程來延長總線的等待周期,最多可達(dá)到714個機(jī)器周期。這樣可以方便地使C54x DSP與慢速的片內(nèi)存儲器和I/O器件接口。 若外部器件要求插入的等待周期大于14個機(jī)器周期時,可以利用硬件READY線來實(shí)現(xiàn)。 當(dāng)所有的外部器件都配置在0等待
21、狀態(tài)時,加到等待狀態(tài)發(fā)生器的內(nèi)部時鐘將被關(guān)斷。器件工作在省電狀態(tài)。位號位號復(fù)位值復(fù)位值功能功能150XPA=0XPA=0,程序存儲空間不擴(kuò)展,程序存儲空間不擴(kuò)展XPA=1XPA=1,程序存儲空間擴(kuò)展,程序存儲空間擴(kuò)展14-12111對對0000H0000HFFFFH I/OFFFFH I/O空間空間插入等待狀態(tài)數(shù)空間空間插入等待狀態(tài)數(shù)11-9111對對8000H8000HFFFFHFFFFH數(shù)據(jù)空間插入等待狀態(tài)數(shù)數(shù)據(jù)空間插入等待狀態(tài)數(shù)8-6111對對0000H0000H7FFFH7FFFH數(shù)據(jù)空間插入等待狀態(tài)數(shù)數(shù)據(jù)空間插入等待狀態(tài)數(shù)5-3111XPA=0XPA=0:XX8000HXX8000H
22、XXFFFFHXXFFFFHXPA=1XPA=1:400000H400000H7FFFFFH7FFFFFH2-0111XPA=0XPA=0:XX0000HXX0000HXX7FFFHXX7FFFHXPA=1XPA=1:000000H000000H3FFFFFH3FFFFFH軟件可編程等待狀軟件可編程等待狀態(tài)發(fā)生器態(tài)發(fā)生器 C5416 DSP,除了有一個軟件等待狀態(tài)寄存器SWWSR外,還有一個SWCR SWCR中的SWSM位用來確定擴(kuò)展最大的等待周期軟件可編程等待狀軟件可編程等待狀態(tài)發(fā)生器態(tài)發(fā)生器 可編程分區(qū)轉(zhuǎn)換邏輯允許器件在外部存儲器分區(qū)之間轉(zhuǎn)換時不需要使用額外的等待狀態(tài)。 在程序空間或數(shù)據(jù)空
23、間內(nèi),分區(qū)轉(zhuǎn)換邏輯在訪問通過32K字存儲塊邊界時,自動插入一個周期。 當(dāng)對程序存儲器進(jìn)行一次讀操作后,緊隨其后對不同的存儲器分區(qū)進(jìn)行另一次程序存儲器或數(shù)據(jù)存儲器讀操作 對數(shù)據(jù)存儲器進(jìn)行一次讀操作后,再對一個不同的存儲器分區(qū)進(jìn)行另一次程序存儲器或數(shù)據(jù)存儲器讀操作 對C548、C549等器件,一次程序存儲器讀操作后,再對不同頁程序存儲器進(jìn)行另一次讀操作 C54X的主機(jī)接口(HPI)是一個8位并行口,是與主設(shè)備或主處理器通信的接口(一般來說是與其他DSP或者單片機(jī)等設(shè)備,即主控方通信)。 信息在C54X和主機(jī)之間通過C54X存儲器進(jìn)行交換。 主機(jī)和C54X都可以訪問HPI控制寄存器。 外部主機(jī)是HP
24、I的主控者,HPI作為一個外設(shè)與主機(jī)相連,使主機(jī)的訪問操作很容易。 主機(jī)通過專用地址和數(shù)據(jù)寄存器、HPI控制寄存器與HPI通信,另外還會使用外部數(shù)據(jù)與接口控制信號。 HPI作為主機(jī)的一個外圍設(shè)備,共有8個外部數(shù)據(jù)線HD0-7,當(dāng)C54x與主機(jī)傳送數(shù)據(jù)時,HPI能自動將外部接口連續(xù)傳來的8位數(shù)組合成16位數(shù),傳送至C54x。 當(dāng)主機(jī)使用HPI寄存器執(zhí)行一個數(shù)據(jù)傳輸時,HPI控制邏輯自動執(zhí)行對一個專用2K字的C54x內(nèi)部的雙訪問RAM的訪問,以完成數(shù)據(jù)處理,然后C54x可以在它的存儲器空間訪問讀寫數(shù)據(jù)。 HPI RAM也可以用做通用的雙尋址數(shù)據(jù)或程序RAMHPIHPI主機(jī)接口主機(jī)接口 共用尋址模式
25、SAM (常用方式) 主機(jī)和C54x都能尋址HPI存儲器。當(dāng)C54X與主機(jī)的周期發(fā)生沖突時,則主機(jī)具有尋址優(yōu)先權(quán),C54x將等待一個周期 僅主機(jī)尋址模式HOM HPI存儲器只能讓主機(jī)尋址,C54x則處于復(fù)位狀態(tài)或者處于所有內(nèi)部和外部時鐘都停止工作的IDLE2空轉(zhuǎn)狀態(tài)。因此主機(jī)可以訪問HPI RAM,而C54x處于最小功耗配置。HPIHPI主機(jī)接口主機(jī)接口 SAM方式 若HPI每5個CLKOUT傳送一個字節(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á)32M或24M。且
26、不插入等待周期。 HOM方式 主機(jī)可以獲得更高的速度每50ns尋址一個字節(jié)(160MBIT/S),且與C54x的時鐘速度無關(guān)。HPIHPI主機(jī)接口主機(jī)接口 HPI通過8位數(shù)據(jù)總線與主機(jī)交換信息。 由于C54X的16位字的結(jié)構(gòu),主機(jī)與DSP之間的傳輸數(shù)據(jù)必須包含兩個連續(xù)的字節(jié)。 專用的HBIL腳用來確定傳輸?shù)氖堑谝粋€還是第二個字節(jié) HPI控制寄存器HPIC的BOB位決定第一個或第二個字節(jié),放置在16位字的高8位,而主機(jī)不必破壞兩個字節(jié)的訪問順序。如果字節(jié)的傳輸順序被破壞,則數(shù)據(jù)可能會丟失,產(chǎn)生不可預(yù)測的結(jié)果HPIHPI主機(jī)接口主機(jī)接口 HAS:地址選通信號 HCS:片選信號 HD0-HD7:數(shù)據(jù)
27、總線 HRDY:HPI準(zhǔn)備好端 HCNTL0、HCNTL1:主機(jī)控制信號 HDS1、HDS2:數(shù)據(jù)選通信號 HINT:HPI中斷輸出信號 HBIL:字節(jié)識別信號 HR/W:讀寫信號HPIHPI主機(jī)接口主機(jī)接口 地址選通信號。 若主機(jī)的地址和數(shù)據(jù)是一條多路總線,則HAS與主機(jī)的ALE引腳相連。在HAS的下降沿,鎖存HBIL、HCNT0/1和HR/W信號;若主機(jī)的地址和數(shù)據(jù)線是分開的,則HAS接高電平,此時由HDS1、HDS2或HCS中最遲的下降沿鎖存HBIL、HCNTL01和HR/W信號 若地址和數(shù)據(jù)總線非復(fù)用時,接高電平。HPIHPI主機(jī)接口主機(jī)接口 片選信號。 作為HPI的使能輸入端,在每次
28、尋址期間必須為低電平,而兩次尋址之間也可以停留在低電平 連接到主機(jī)的地址線或控制線HPIHPI主機(jī)接口主機(jī)接口 HPI準(zhǔn)備好端。 連接到主機(jī)的異步準(zhǔn)備好端 高電平表示HPI已準(zhǔn)備好執(zhí)行一次數(shù)據(jù)傳送;低電平表示HPI正忙于完成當(dāng)前事務(wù)。HPIHPI主機(jī)接口主機(jī)接口 連接到主機(jī)的地址或控制信號HCNTL0HCNTL0HCNTL1HCNTL1說明說明0 00 0主機(jī)可以讀寫主機(jī)可以讀寫HPICHPIC寄存器寄存器0 01 1主機(jī)可以讀寫主機(jī)可以讀寫HPIDHPID寄存器。每讀寄存器。每讀1 1次,次,HPIAHPIA事事后增后增1 1;每寫;每寫1 1次,次,HPIAHPIA事先增事先增1 11 1
29、0 0主機(jī)可以讀主機(jī)可以讀/ /寫寫HPIAHPIA寄存器。這個寄存器指向寄存器。這個寄存器指向C54xC54x的片內(nèi)的片內(nèi)RAMRAM1 11 1主機(jī)可以讀主機(jī)可以讀/ /寫寫HPIDHPID寄存器。寄存器。HPIAHPIA寄存器不受寄存器不受影響影響HPIHPI主機(jī)接口主機(jī)接口 數(shù)據(jù)選通信號 連接到主機(jī)的讀選通和寫選通或數(shù)據(jù)選通端 在主機(jī)尋址HPI周期內(nèi),控制HPI數(shù)據(jù)的傳送。HDS1和HDS2與HAS一起產(chǎn)生內(nèi)部選通信號HPIHPI主機(jī)接口主機(jī)接口 HPI中斷輸出信號 連接到主機(jī)的中斷輸入端 受HPIC寄存器中的HINT位控制。當(dāng)C54X復(fù)位時為高電平。HPIHPI主機(jī)接口主機(jī)接口 字節(jié)
30、識別信號 連接到主機(jī)的地址或控制線 識別主機(jī)傳送過來的是第一個字節(jié)還是第2個字節(jié) HBIL=0,第1個字節(jié) HBIL=1,第2個字節(jié) 第一個字節(jié)是高字節(jié)還是低字節(jié),由HPIC寄存器中BOB位決定HPIHPI主機(jī)接口主機(jī)接口 讀寫信號 連接到主機(jī)的讀/寫選通、地址線或多路地址/數(shù)據(jù) 高電平表示主機(jī)讀HPI,低電平表示寫HPI。若主機(jī)沒有讀寫信號,可用一根地址線代替。HPIHPI主機(jī)接口主機(jī)接口 HPI控制寄存器HPIC HPI控制寄存器為16位寄存器,用來控制HPI的操作 HPI地址寄存器HPIA HPI地址寄存器,主機(jī)直接訪問該寄存器 HPI數(shù)據(jù)寄存器HPID。 HPI數(shù)據(jù)寄存器,只能由主機(jī)直
31、接訪問,包含從HPI存儲器讀出的數(shù)據(jù),或者要寫到HPI寄存器的數(shù)據(jù)。HPIHPI主機(jī)接口主機(jī)接口 兩個控制輸入(HCNTL0和HCNTL1)表示哪個HPI寄存器被訪問。這兩個輸入與HBIL一起由主機(jī)地址總線驅(qū)動。 使用HCNTL0/1輸入,主機(jī)可以指定對HPI寄存器的訪問:HPI控制寄存器HPIC、HPI地址寄存器HPIA、HPI數(shù)據(jù)寄存器HPID。HPIA可以使用自動增尋址方式訪問HPIA。 通過寫HPIC,主機(jī)可以中斷C54X,并且HINT輸出可以被C54X用來中斷主機(jī)。HPIHPI主機(jī)接口主機(jī)接口標(biāo)準(zhǔn)同步串口SP 帶緩沖的串行口BSP 時分復(fù)用串口TDM 多通道緩沖串口McBSPC54X
32、 DX FSX CLKX C54XDRFSRCLKR緩沖串行口在標(biāo)準(zhǔn)同步串行口的基礎(chǔ)上增加了一個自動緩沖單元 ABU全雙工、雙緩沖,允許連續(xù)數(shù)據(jù)流ABU利用獨(dú)立于CPU的專用總線,讓串行口直接讀/寫C54x的片內(nèi)存儲器。這樣可以使串行口處理事務(wù)的開銷最小,并能提高效率。 BSP有兩種工作方式非緩沖方式和自動緩沖方式。當(dāng)工作在非緩沖方式下時,其數(shù)據(jù)傳輸和標(biāo)準(zhǔn)同步串行口一樣;當(dāng)工作在自動緩沖方式下時,串行口直接與C54x 片內(nèi)存儲器進(jìn)行16位數(shù)據(jù)傳輸。 帶緩沖的串行口帶緩沖的串行口BSP BSP TDM將時間分成時間段,按時間段順序周期性地與不同器件通信。時分復(fù)用串行口時分復(fù)用串行口TDM TDM
33、 多通道緩沖串行口McBSP是基于標(biāo)準(zhǔn)同步串行口的,允許直接與C54x/LC54x器件、編碼設(shè)備或其他設(shè)備相連,它具有如下特點(diǎn) 全雙工通信雙緩沖數(shù)據(jù)寄存器,允許連續(xù)數(shù)據(jù)流獨(dú)立的接收/發(fā)送時鐘和幀信號支持T1/E1、MVIP、ST-BUS、IOM-2、AC97、IIS、SPI和一般的串行外設(shè)高達(dá)128個通道的多通道傳輸包括8、12、16、20、24、32位的寬范圍數(shù)據(jù)位選擇律和A律壓縮對發(fā)送/接收數(shù)據(jù)時鐘和幀同步信號極性可編程內(nèi)部時鐘和幀信號可編程多通道緩沖串口多通道緩沖串口McBSPMcBSP多通道緩沖串口多通道緩沖串口McBSPMcBSP 器件直接內(nèi)存訪問(The device direct
34、 memory access,DMA)控制器可以不在CPU干涉的情況下直接進(jìn)行存儲器映射內(nèi)的兩點(diǎn)間的直接傳輸。DMA允許在CPU運(yùn)行的情況下進(jìn)行內(nèi)部存儲器、片內(nèi)外設(shè)、外部器件之間進(jìn)行數(shù)據(jù)移動。它有6個獨(dú)立的可編程通道,允許6個不同的內(nèi)容進(jìn)行DMA操作。DMA控制器也提供來自主機(jī)接口(HPI-8、HPI-16)需求的利用DMA總線的服務(wù) C54x片內(nèi)16位定時器是根據(jù)每個時鐘自減,當(dāng)定時器的計(jì)數(shù)器自減到0時,一個定時中斷就產(chǎn)生了。定時器能被停止、重新啟動、復(fù)位,或通過指定狀態(tài)位進(jìn)行禁止運(yùn)行。 定時器寄存器組成定時器寄存器TIM:此寄存器被PRD寄存器的值加載,并隨計(jì)數(shù)減少。定時器周期寄存器PRD
35、:此寄存器提供TIM數(shù)據(jù)加載。定時器控制寄存器TCR:此寄存器是定時器的控制和狀態(tài)寄存器, 位名稱復(fù) 位 值保留,總是01512ReservedSoft和Free一起決定在調(diào)試中遇到斷點(diǎn)時,定時器的狀態(tài)。(1) Soft=0,Free=0:定時器立即停止。(2) Soft=1,Free=0:定時器在計(jì)數(shù)器減到0時停止工作。(3) Soft=x,Free=1:定時器無視Soft位,繼續(xù)工作11Soft010Free096PSC定時器預(yù)定標(biāo)計(jì)數(shù)器值。當(dāng)PSC的值減少到0后,TDDR中的數(shù)據(jù)加載到PSC,TIM減15TRB定時器重新加載控制位。當(dāng)TRB為1時,TIM重新裝載PRD的值,PSC重新裝載
36、TDDR的值。TRB總是讀作04TSS0定時器停止位。T為0時,啟動定時器;T為1時,停止定時器30TDDR0000當(dāng)PSC被減少到0后,PSC被TDDR的值裝載 定時器公式 預(yù)標(biāo)定器PSC根據(jù)CPU提供的時鐘,每來一個時鐘自減1,當(dāng)PSC的值減少到0時,TDDR的內(nèi)容加載到PSC(當(dāng)系統(tǒng)復(fù)位(RESET輸入信號有效)或定時器單獨(dú)復(fù)位(TRB有效)時,TDDR的內(nèi)容也加載到PSC);TIM根據(jù)預(yù)標(biāo)定器PSC提供的時鐘,每來一個預(yù)標(biāo)定PSC的輸出時鐘減1,當(dāng)TIM減數(shù)到0后,PRD中的內(nèi)容自動加載到TIM(當(dāng)系統(tǒng)復(fù)位或定時器單獨(dú)復(fù)位時,PRD的內(nèi)容也加載到TIM中),同時 TIM會產(chǎn)生一個定時器
37、中斷TINT信號,該信號被送到CPU和定時器輸出TOUT管腳。 由此,定時器的中斷周期 11PRDTDDRCLKTTT C54x時鐘發(fā)生器由內(nèi)部振蕩器和鎖相環(huán)電路構(gòu)成,可通過晶振或外部時鐘驅(qū)動。鎖相環(huán)具有頻率放大和時鐘信號提純的作用。利用PLL可以對時鐘頻率進(jìn)行鎖定、為芯片提供高穩(wěn)定度的時鐘信號,對外部時鐘可以進(jìn)行倍頻,使外部時鐘的周期低于CPU機(jī)器周期,以降低因高速開關(guān)時鐘引起的高頻噪聲。 當(dāng)前鎖相環(huán)電路有兩種不同的配置方式 一些器件使用硬件配置PLL電路, 另外一些采用軟件編程的方式進(jìn)行配置 硬件配置PLL模式選擇管腳時鐘模式CLKMD1CLKMD2CLKMD3選擇1選擇2000外部時鐘源
38、,PLL3外部時鐘源,PLL5110外部時鐘源,PLL2外部時鐘源,PLL4100內(nèi)部振蕩器,PLL3內(nèi)部振蕩器,PLL5010外部時鐘源,PLL1.5外部時鐘源,PLL4.5001外部時鐘源,頻率除以2外部時鐘源,頻率除以2111內(nèi)部振蕩器,頻率除以2內(nèi)部振蕩器,頻率除以2101外部時鐘源,PLL1外部時鐘源,PLL1011停止模式停止模式軟件配置PLL軟件可編程PLL非常靈活,它包括提供時鐘的各種乘法系數(shù),能夠直接使能和禁止PLL。它可以鎖定定時器,用來延遲轉(zhuǎn)換PLL的時鐘方式,直到鎖定為止。軟件可編程PLL可以通過兩種模式來配置時鐘輸出PLL模式:輸入時鐘CLKIN以31個系數(shù)倍頻,倍頻
39、范圍為0.25至15。DIV模式:輸入時鐘被分頻,分頻范圍為2或4。當(dāng)采用DIV模式時,所有的模擬電路、包括PLL電路是被禁止的以達(dá)到減少功耗的目的。 CLKMOD寄存器初始化值為寄存器初始化值為0 x9007CLKMOD寄存器初始化值為寄存器初始化值為0 x77F7 數(shù)據(jù)信號 初始化,中斷和復(fù)位 多處理信號 存儲控制信號 時鐘信號 多通道緩沖串口0、1、2信號 主機(jī)接口信號 電源管腳 測試管腳 C54x C54x ABAB15150 0 PS PS MSTRB MSTRB R/ R/ W W DS DS IS IS IOSTRB IOSTRB DB DB15150 0 DATADATA CS
40、2 D CS2 D WE WE CS1CS1A OEA OE PGMPGMA D A D CS1 CS1 CS2 OECS2 OE I/OI/O CS1 DCS1 DCS2CS2WEWEA OEA OE 中斷系統(tǒng)是為計(jì)算機(jī)系統(tǒng)提供實(shí)時操作、多任務(wù)和多進(jìn)程的關(guān)鍵部件。 中斷信號的產(chǎn)生 中斷是由硬件驅(qū)動或者軟件驅(qū)動的信號 例如由外設(shè)向CPU傳送數(shù)據(jù)(ADC)或外設(shè)向CPU提供數(shù)據(jù)(DAC)的硬件設(shè)備來產(chǎn)生的 定時器 當(dāng)CPU響應(yīng)中斷時,將暫時停止當(dāng)前程序的執(zhí)行,而去執(zhí)行中斷服務(wù)程序ISR 可屏蔽中斷 16個用戶可屏蔽中斷 非屏蔽中斷 軟件中斷 復(fù)位RS中斷 NMI中斷 中斷屏蔽寄存器IMR中斷屏蔽
41、寄存器主要是用來屏蔽外部或內(nèi)部中斷。如果CPU狀態(tài)寄存器中的INTM位為0且IMR寄存器中有一位為1,就開放IMR寄存器中的那一位中斷。RS和NMI都不能被IMR屏蔽。用戶可以讀寫IMR寄存器。 中斷標(biāo)志寄存器IFR中斷標(biāo)志寄存器是一個存儲器映射寄存器。當(dāng)一個中斷出現(xiàn)時,IFR中相應(yīng)的中斷標(biāo)志位置1,直到此中斷被CPU處理。任何下列事件都會清除IFR中的中斷標(biāo)志 C54x DSP被硬件復(fù)位中斷觸發(fā)被響應(yīng)一個1被寫入相應(yīng)的尚未處理的IFR中斷標(biāo)志位使用相應(yīng)中斷號INTR指令被執(zhí)行接受中斷請求 應(yīng)答中斷 執(zhí)行中斷服務(wù)程序ISR 一個中斷由硬件或軟件指令請求。 當(dāng)產(chǎn)生一個中斷時,IFR寄存器中的相應(yīng)
42、的中斷標(biāo)志位被置1。不管中斷是否被處理器應(yīng)答,該標(biāo)志位都會置1。當(dāng)相應(yīng)的中斷響應(yīng)后,該標(biāo)志位自動清零 外部硬件中斷由外部中斷口的信號發(fā)出請求,而內(nèi)部硬件由片內(nèi)外設(shè)的信號發(fā)出中斷請求。例如,C54X硬件中斷可以由如下信號發(fā)出 INT3-INT0管腳 RS和NMI管腳 RINT0、XINT0、RINT1、XINT1串行中斷 TINT定時器中斷 INTR INTR指令允許執(zhí)行任何的可屏蔽中斷,包括用戶定義的中斷(從SINT0到SINT30) TRAP TRAP與INTR的不同之處是TRAP啟動中斷時,狀態(tài)寄存器ST1的中斷方式INTM位不受影響。所以在TRAP啟動中斷服務(wù)時,該中斷服務(wù)程序可以被其他
43、硬件中斷所中斷。 RESET 復(fù)位指令可在程序的任何時候產(chǎn)生,它使處理器返回一個預(yù)定狀態(tài),復(fù)位指令影響ST0和ST1寄存器,但對PMST寄存器沒有影響。 對于軟件中斷和非屏蔽中斷,CPU將立即響應(yīng),進(jìn)入相應(yīng)的中斷服務(wù)程序。對于硬件可屏蔽中斷,只要滿足下列三個條件后,CPU才能響應(yīng)中斷 當(dāng)前中斷優(yōu)先級最高 INTM位清0 IMR屏蔽位為1 滿足上述條件后,CPU響應(yīng)中斷,終止當(dāng)前正在運(yùn)行的操作,指令計(jì)數(shù)器PC自動轉(zhuǎn)向相應(yīng)的中斷向量地址,取出中斷服務(wù)程序地址,并發(fā)出硬件中斷響應(yīng)信號IACK(中斷應(yīng)答)而清除相應(yīng)的中斷標(biāo)志位 CPU執(zhí)行中斷服務(wù)程序的步驟 保護(hù)現(xiàn)場 將中斷向量的地址加載PC 獲取位于
44、向量地址的指令 執(zhí)行分支轉(zhuǎn)移 執(zhí)行ISR直到一個返回指令終止ISR 從堆棧中彈出返回地址到PC中 繼續(xù)執(zhí)行主程序 中斷向量可以映射到程序存儲器的任何128字頁面的起始位置,除保留區(qū)域外。 C54X中,中斷向量地址是由PMST寄存器中的IPTR和左移2位后的中斷向量序號所組成。 INT0被申明為低優(yōu)先級,并且IPTR=0001H,則中斷向量地址為00C0H。 復(fù)位時,IPTR所有的位置1,并按此值將復(fù)位向量映射到程序存儲器的511頁空間。所以,硬件復(fù)位后總是從0FF80H開始執(zhí)行程序。以以TMS320VC5416 TMS320VC5416 的中斷設(shè)計(jì)為例的中斷設(shè)計(jì)為例1. 1. 中斷初始化設(shè)計(jì)中
45、斷初始化設(shè)計(jì) 置置ST1ST1寄存器的寄存器的INTMINTM位為位為1 1,屏蔽所有屏蔽中斷,屏蔽所有屏蔽中斷 向向IFRIFR寄存器寫入寄存器寫入0 xFFFF0 xFFFF,清除所有的中斷標(biāo)志,清除所有的中斷標(biāo)志 根據(jù)要處理的中斷設(shè)置根據(jù)要處理的中斷設(shè)置IMRIMR寄存器,例如開放寄存器,例如開放INT0INT0中斷,向中斷,向IMRIMR中寫入中寫入0 x10 x1 設(shè)置設(shè)置PMSTPMST寄存器,主要完成以下初始化寄存器,主要完成以下初始化中斷向量指針中斷向量指針I(yè)PTRIPTR的初始化,設(shè)置中斷向量表地址的初始化,設(shè)置中斷向量表地址MP/MCMP/MC、OVLYOVLY和和DROMDROM位初始化,設(shè)置存儲空間映射位初始化,設(shè)置存儲空間映射CLKOFFCLKOFF位設(shè)置位設(shè)置置置ST1寄存器的寄存器的INTM位為位為0,響應(yīng),響應(yīng)IMR寄存器允許寄存器允許的可屏蔽中斷的可屏蔽中斷以以TMS320VC5416 TMS320VC5416 的中斷設(shè)計(jì)為例的中斷設(shè)計(jì)為例2. 2. 中斷向量地址計(jì)算方法中斷向量地址計(jì)算方法(1 1)?。┤MSTPMST寄存器的寄存器的IPTRIPTR的值的值( (中斷向量指針,中斷向量指針,9 9位位) ) (2 2)查)查DSPDSP的中斷表得到中斷向量序號的中斷表得到中斷向量序號(5(5位位) )(3 3)將中斷向量序號左移)將
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度綠色倉儲倉房買賣合同范本環(huán)保解讀3篇
- 2025年度旅游單項(xiàng)服務(wù)保障合同4篇
- 2024-2025學(xué)年高中英語Unit4Breakingboundaries突破語法大沖關(guān)教師用書外研版選擇性必修第二冊
- 2024-2025學(xué)年新教材高中歷史第八單元20世紀(jì)下半葉世界的新變化第18課冷戰(zhàn)與國際格局的演變課時作業(yè)含解析新人教版必修中外歷史綱要下
- 二零二五版工程招投標(biāo)與合同管理法律法規(guī)匯編及解讀3篇
- 2024版汽車維修工具套件租賃合同
- 2024版廣西事業(yè)單位聘用合同樣板
- 2025年屋頂雨水排水管及配套設(shè)施銷售與安裝服務(wù)合同2篇
- 二零二五年度教育合作辦班合同范本3篇
- 2024版汽車修理廠土地租賃合同
- 2023年上海英語高考卷及答案完整版
- 西北農(nóng)林科技大學(xué)高等數(shù)學(xué)期末考試試卷(含答案)
- 金紅葉紙業(yè)簡介-2 -紙品及產(chǎn)品知識
- 《連鎖經(jīng)營管理》課程教學(xué)大綱
- 《畢淑敏文集》電子書
- 頸椎JOA評分 表格
- 員工崗位能力評價標(biāo)準(zhǔn)
- 定量分析方法-課件
- 朱曦編著設(shè)計(jì)形態(tài)知識點(diǎn)
- 110kV變電站工程預(yù)算1
- 某系統(tǒng)安全安全保護(hù)設(shè)施設(shè)計(jì)實(shí)施方案
評論
0/150
提交評論