第2章 TMS320C5416結構與工作原理_第1頁
第2章 TMS320C5416結構與工作原理_第2頁
第2章 TMS320C5416結構與工作原理_第3頁
第2章 TMS320C5416結構與工作原理_第4頁
第2章 TMS320C5416結構與工作原理_第5頁
已閱讀5頁,還剩62頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第二章TMS320C5416結構與工作原理(6學時)主要內容DSP芯片組成?中央處理器?總線結構?存儲器?片內外設和引腳?中斷系統?DSP的硬件結構特點運算速度快組成CPU:存儲器系統:片內外設:其他功能模塊DSP的硬件結構框圖JTAG測試/仿真接口McBSP1McBSP2McBSP3ClockPLLGeneratorHPIGPI/OS/WWaitstateGenerator64KRAM單訪問程序存儲器64KRAM雙訪問程序/數據存儲器16KProgramROMCPUTimerPeripheralBusProgram/DataBusesDMA電源管理2.1中央處理器CPU40位算術邏輯運算單元ALU40位累加器A和B桶形移位寄存器,支持-16至31移動范圍乘法/累加器16位暫存器T16位傳輸寄存器TRN比較、選擇和存儲單元CSSU指數編碼器CPU狀態和控制寄存器。系統控制接口程序地址產生器PAGEN數據地址產生器DAGEN存儲器和外部接口DMA控制器片內外設PABPBCABCBDABDBEABEB乘法/加法器算術邏輯單元ALU指數編碼器CPU狀態控制寄存器桶形移位寄存器比較、選擇和存儲單元累加器B累加器ACPU2.1.1算術邏輯運算單元40位ALU(ArithmeticLogicUnit)配合累加器A和B,執行算術、邏輯運算、布爾運算功能,絕大多數算術邏輯運算指令都在一個周期內完成。一個運算操作在ALU執行后,運算的結果一般被送到累加器A或B中(執行存儲操作指令ADDM、ANDM、ORM、XORM除外)算術邏輯運算單元ALU累加器A累加器B數據總線CB15-CB0數據總線DB15-DB0乘法/累加單元(MAC)輸出符號控制符號控制轉移輸出(40)ALU的輸入移位器輸出(32位或16位數據存儲器操作數或者移位后累加器的值)。數據總線DB的數據存儲器操作數。Y端的輸入來自下列3個方向中的一個:累加器A或B。數據總線CB的數據存儲器操作數。T寄存器的數據ALU的輸出ALU的輸出為40位,被送入累加器A或B。ALU溢出處理和ST1中的OVM有關.發生溢出時后,溢出標志位OVA或OVB置位,直到復位或執行溢出條件指令時恢復。ALU進位位ALU的進位位C受大多數算術指令影響(包括循環和移位指令)。進位位可以用來支持擴展精度的算術運算。進位位不受累加器裝載、邏輯運算、其他非算術指令或控制指令影響,所以它還可以用來進行溢出管理。根據進位位的值,可以利用條件操作指令C和NC來進行分支轉移、調用或返回操作。利用指令RSBX、SSBX或硬件復位來對進位位置位。雙16位算術運算CPU狀態寄存器ST1的C16如果處于置位狀態,用戶就可以讓ALU在單周期內進行特殊的雙16位算術運算,即進行兩次16位加法或兩次16位減法。舉例ADD*AR1,A ;雙字節指令,表示ALU的兩個輸入端分別累加器A和移位器ADD*AR2,*AR3,A ;雙字節指令,表示ALU的兩個輸入端分別是DB和CB2.1.2累加器A和B累加器(accumulator)A和B都可以配置成乘法器/加法器或ALU的目的寄存器。在執行MIN和MAX指令或者并行指令LD||MAC時,一個累加器執行數據加載,另一個累加器執行運算AG保護位39--32AH高位31--16AL低位15--0BG保護位39--32BH高位31--16BL低位15--0累加器A累加器B累加器A和B都可以匹配成乘法器/加法器或ALU的目的寄存器A,B;可用PSHM或POPM指令將它們壓?;虺鰲GAHALBGBHBL保存累加器的內容累加器移位和循環移位SFTA,SFTL,SFTC,ROL,ROR,ROLTC飽和處理累加器內容專用指令2.1.3桶形移位寄存器C54x的40位桶形移位寄存器主要用于累加器或數據區操作數的定標。在ALU運算前,對來自數據存儲器的操作數或者累加器的值進行預定標執行累加器的值的一個邏輯或算術運算對累加器的值進行歸一化處理對存儲到數據存儲器之前的累加器的值進行定標它能將輸入數據進行0-31位的左移和0-16位的右移。所移動的位數可由ST1中的ASM或被指定的暫存器T決定。ADDA,-4,B;累加器A右移4位后加到累加器BADDA,ASM,B;累加器A按ASM規定的移位數移位后加到累加器BNORMA;按T寄存器中的數值對累加器歸一化MSW/LSW寫選擇數據總線DB15-DB0數據總線CB15-CB0數據總線EB15-EB0桶形移位(-16至31)符號控制T寄存器:16~31ASM(4-0):-16~15指令寄存器立即數:-16至15,或者0至15累加器A累加器B2.1.4乘法/累加器C54x的MAC是由乘法器、加法器、符號控制、小數控制、零檢測器、舍入器、飽和邏輯和暫存器幾個部分組成。MAC具有強大的乘法-累加運算功能,可在一個流水線周期內完成1次乘法運算和1次加法運算。在數字濾波以及自相關等運算中,使用MAC可以大大提高系統的運算速度。舉例MPY#1234H,A ;XM來自于T,YM來自于DBMPYAB ;XM來自于T,YM來自于AMACP*AR2,pmad,A ;XM來自于DB,YM來自于PBDSPRequiresMultiplyandAccumulate來自累加器A來自累加器BCB數據總線:CB15-CB0DB數據總線:DB15-DB0PB程序總線:PB15-PB0符號控制符號控制乘法器(17×17)加法器(40)T寄存器去自累加器A和B2.1.5比較、選擇和存儲單元C54x的選擇、比較、存儲單元(CSSU)是一個特殊用途的硬件電路,專門用來完成Viterbi算法中的加法/比較/選擇(ACS)操作。從累加器(32bit)選擇出較大的字(16bit)并存儲在數據存儲器中CCS單元由比較電路COMP、狀態轉移寄存器TRN和狀態比較寄存器TC組成。舉例DADSTLmen,dst;Lmem(31至16)+T→dst(39至16),;Lmem(15至0)-T→dst(15至0)來自累加器B來自累加器A來自桶形移位器比較、選擇和存儲單元數據總線:EB15-EB0MSW/LSW選擇器2.1.6指數編碼器指數編碼器是一個在單周期內完成EXP指令的專用硬件,其結構如圖2.8所示。該指令獲得累加器中的指數值并以二進制補碼的形式(-8至31)把它存儲到T中。為消除多余符號位而將累加器中的數值左移,其左移的位數和累加器指數值冗于符號位-8有關,當累加器的值超過32位時,這個結果為負數。舉例EXPA;T把累加器A的指數→TSTT,EXPONENT;保存指數(T)到數據存儲區NORMA;歸一化寄存器A,依靠T的值移動累加器A的值來自累加器A來自累加器B指數編碼器(EXPencoder)到T寄存器2.1.7CPU狀態和控制寄存器狀態寄存器0(ST0)狀態寄存器1(ST1)處理器工作模式狀態寄存器(PMST)ST0和ST1包含各種工作條件和模式的狀態;PMST包含存儲器設置狀態和控制信息。由于三個寄存器都是存儲器映射的,他們都能存儲到數據存儲器或從數據存儲器中獲得。它們也能用子程序或中斷服務子程序(ISR)保存或恢復。狀態寄存器(ST0、ST1)寄存器ST0、ST1的每一位都可以使用SSBX、RSBX指令進行置位或者清零。例如,可以使用SSBX1,SXM指令對符號擴展模式進行設置,或者使用RSBX1,SXM指令進行復位等。ARP、DP和ASM位可以利用LD指令使用短立即操作數進行加載。ASM和DP也可以利用LD指令使用數據存儲器的值進行加載。處理器工作模式狀態寄存器(PMST)可以利用存儲器映射寄存器指令如STM對PMST寄存器進行加載。2.2總線結構C54x系列DSP的總線結構是由8條16位總線構成(4條程序/數據總線和4條地址總線)。程序總線PB:傳送來自程序存儲器的指令和立即數。數據總線CB、DB、EB:連接各個功能單元,如CPU、數據地址產生邏輯、程序地址產生邏輯、片內外設和數據存儲器。CB、DB傳送來自數據存儲器被讀取的立即數,EB傳送被寫到存儲器去的數據。地址總線PAB、CAB、DAB、EAB傳送執行指令所需要的地址??偩€結構圖:ProgramA/DBus(P)DataReadA/DBus(D)DataReadA/DBus(C)DataWriteA/DBus(E)Ext’lMemI/FADInternalMemoryExternalMemoryExternal:1access/cycleupto8MwordsprogramInternal:Upto4accesses/cycle2.3存儲器2.3.1普通存儲器的概念ROM和RAM存儲器的計算通常來說,存儲器的容量是和它的地址線和數據線有關的。在地址線、數據線不復用的情況下,比如10根地址線8根數據線組成的存儲器,通常的存儲容量就是×8bit,即尋址空間為1024,存儲容量為1K字節;又如16根地址線16根數據線組成的存儲器,通常的存儲容量就是×16bit,即尋址空間為8K,存儲容量為8K字2.3.2存儲空間分配C54x共有192K字的可尋址存儲空間。其存儲空間可分為三部分64*2KBYTE的程序存儲器64*2KBYTE的數據存儲器64*2KBYTE的IO空間片內存儲器,片外存儲器所有C54XDSP片內都有隨機存儲器RAM和只讀存儲器ROM.SRAM,DARAM在C54x系列芯片中,不同型號的芯片其內部存儲器的配置是不同的2.3.3程序存儲空間大多數C54x系列器件對外部程序存儲器的尋址范圍可為64K字,片內ROM、雙訪問RAM(DRAM)、單訪問RAM(SARAM)、雙路分享RAM等都可以通過軟件設置映射到程序存儲空間。當存儲單元被映射到程序空間時,如果尋址范圍在片內存儲器中,C54x器件能自動對片內訪問,如果程序地址產生單元(PAGEN)產生的地址在片外,C54x器件能自動對片外進行訪問。程序存儲器的配置MP/MC、OVLY位決定哪些片內存儲器屬于程序空間。當復位時,MP/MC管腳的邏輯電平被傳輸至PMST寄存器中的MP/MC位。MP/MC的值決定片內ROM的設置:MP/MC=1,C54x器件被設置成微處理器模式,片內ROM不啟動MP/MC=0,C54x器件被設置成微計算機模式,片內ROM啟動MP/MC管腳的值僅僅在復位的時候被采樣,用戶可以通過軟件的方式對PMST寄存器中MP/MC位進行置位和清零。地址第0頁程序存儲器地址第0頁程序存儲器地址數據存儲器0000H007FH保留(OVLY=1)外部使用(OVLY=0)0000H007FH保留(OVLY=1)外部(OVLY=0)0000H005FH存儲器映射寄存器0060H007FHScratch-PadRAM0080H7FFFH片內DAAM0-3(OVLY=1)外部使用(OVLY=0)0080H7FFFH片內DARAM0-3(OVLY=1)外部使用(OVLY=0)0080H7FFFH片內DARAM0-3(32K×16位)8000H0FF7FH外部使用8000H0BFFFH外部使用8000H0FFFFH片內DARAM4-7(DROM=1)或者片外(DROM=0)C000H0FEFFH片內ROM(4K×16位)0FF80H0FFFFH中斷(片外)0FF00H0FF7FH保留0FF80H0FFFFH中斷(片內)MP/MC=1微處理器模式MP/MC=0微計算機模式程序存儲器的分頁擴展VC5416有64K字數據存儲空間、64K程序存儲空間、64K的I/O存儲空間,可以采用分頁的方式擴展程序存儲空間至8192K字??梢杂肅PU狀態寄存器PMST中MP/MC、OVLY、DROM位對存儲空間進行設置分配和分頁復用。當采用分頁復用時,需要用到一個額外的存儲器映射寄存器(程序計數器擴展寄存器XPC)。擴展的程序存儲器映射

擴展的程序存儲器映射(續)

片內ROM的組成片內ROM是被分成塊的形式來提高運行效率的。例如用戶可以從ROM的一個塊里去獲取指令而不需要從整個ROM中去獲取指令。根據具體器件,ROM可以被組成成2K、4K、8K大小的塊。對于2K-ROM,典型的ROM塊為2K;對于4K-ROM、28K-ROM,典型的ROM塊是4K;對于16K-ROM,典型的ROM塊大小為8K。程序存儲器地址映射當器件復位時,復位和中斷向量都被映射到程序存儲空間起始地址為FF80H的128字頁片內ROM的128字空間是被芯片保留的,應用代碼不可以寫到程序空間FF00H-FF7FH的128字空間片內ROM內容C54x器件提供了各種ROM尺寸(2K字、4K字、16K字、28K字、48K字)。片內ROM引導區2K字(F800H-FFFFH)范圍內一般包含下列內容,具體型號內容可以見相應芯片文檔。自舉加載程序,可從串口、外部存儲器、I/O端口、主機接口加載。256字μ律擴展表256字A律擴展表256正弦函數查值表中斷向量表用戶代碼保留中斷向量表自舉引導程序256字μ律擴展表256字A律擴展表256正弦函數查值表保留中斷向量表2.3.4數據存儲空間C54x的數據存儲器容量可達64K字。除了雙訪問RAM(DARAM)、單訪問RAM(SARAM)外,還可以通過軟件設置把片內ROM映射到數據空間。數據存儲空間設置數據存儲空間可以設置成片內的也可以設置成片外的。片內DARAM都被映射到數據存儲空間。對于一些C54x器件,用戶可以通過由PMST寄存器中的DROM位把部分片內ROM映射到數據空間。這部分片內ROM既可以數據空間(DROM=1)也可以在程序空間(MP/MC=0)。復位時,處理器將DROM清零。片內RAM組成為了提高性能,片內RAM也被分為塊結構存儲器映射寄存器64K字數據存儲空間中包括芯片的存儲器映射寄存器,存儲器映射寄存器存放在數據0頁(數據存儲空間地址為0000H-0070H)??蔁o等待訪問的CPU寄存器。片內外設的控制和數據寄存器,這些寄存器存放在0020H-005FH中,并有雙向外設總線連接2.3.5I/O存儲空間C54xDSP除了程序存儲空間和數據存儲空間外,還提供I/O存儲空間。I/O存儲空間64K字尋址范圍(0000H-FFFFH),僅僅存在片外。芯片通過2條指令PORTR、PORTW來訪問這個空間。訪問時,讀時序和讀程序存儲空間、數據存儲空間不同,它是訪問獨立的I/O映射設備而不是存儲器。I/O空間還有兩個專用I/O管腳BIO和XF。分支轉移控制輸入引腳BIO用來監控外圍設備,決定分支轉移的去向,以替代中斷,不干擾對時間要求苛刻的循環。外部標志輸出引腳XF可以向外部設備發信號,以控制外部設備工作。2.4片內外設與外部引腳軟件可編程等待狀態發生器可編程分區轉換邏輯1個主機接口HPI3個多通道緩沖串行口McBSPs1個硬件定時器帶鎖相環的時鐘發生器PLLDMA控制器2.4.1軟件可編程等待狀態發生器軟件可編程等待狀態發生器可以延長外部總線訪問時間到14個機器周期。如果器件需要的總線延長時間超過14個機器周期,則可通過硬件外部接口的READY管腳來處理。當所有的外部訪問被設置成0個等待狀態時,連接到等待狀態發生器的時鐘被自動禁止。禁止等待狀態發生的時鐘可減少功耗2.4.2可編程分區轉換邏輯可編程分區轉換邏輯允許器件在外部存儲器分區之間轉換時不需要使用額外的等待狀態。在程序空間或數據空間內,分區轉換邏輯在訪問通過32K字存儲塊邊界時,自動插入一個周期。2.4.3主機接口HPIC54x系列DSP主機接口用來和其他主設備或處理器通信。通信在C54xDSP和主設備之間通過C54xDSP的片內存儲器進行,片內存儲器被主機和C54xDSP訪問HPI的工作模式共用訪問模式SAM:主機訪問模式HOM:HPI的種類8位標準HPI88位增強型HPI-816位增強型HPI-162.4.4串行口標準同步串口SP帶緩沖的串行口BSP時分復用串口TDM多通道緩沖串口McBSP多通道緩沖串口McBSP多通道緩沖串行口McBSP是基于標準同步串行口的,允許直接與C54x/LC54x器件、編碼設備或其他設備相連,它具有如下特點全雙工通信雙緩沖數據寄存器,允許連續數據流獨立的接收/發送時鐘和幀信號支持T1/E1、MVIP、ST-BUS、IOM-2、AC97、IIS、SPI和一般的串行外設高達128個通道的多通道傳輸包括8、12、16、20、24、32位的寬范圍數據位選擇μ律和A律壓縮對發送/接收數據時鐘和幀同步信號極性可編程內部時鐘和幀信號可編程2.4.5定時器

C54x片內16位定時器是根據每個時鐘自減,當定時器的計數器自減到0時,一個定時中斷就產生了。定時器能被停止、重新啟動、復位,或通過指定狀態位進行禁止運行。定時器寄存器組成定時器寄存器TIM:此寄存器被PRD寄存器的值加載,并隨計數減少。定時器周期寄存器PRD:此寄存器提供TIM數據加載。定時器控制寄存器TCR:此寄存器是定時器的控制和狀態寄存器,定時器公式預標定器PSC根據CPU提供的時鐘,每來一個時鐘自減1,當PSC的值減少到0時,TDDR的內容加載到PSC(當系統復位(RESET輸入信號有效)或定時器單獨復位(TRB有效)時,TDDR的內容也加載到PSC);TIM根據預標定器PSC提供的時鐘,每來一個預標定PSC的輸出時鐘減1,當TIM減數到0后,PRD中的內容自動加載到TIM(當系統復位或定時器單獨復位時,PRD的內容也加載到TIM中),同時TIM會產生一個定時器中斷TINE信號,該信號被送到CPU和定時器輸出TOUT管腳。由此,定時器的中斷周期。2.4.6時鐘發生器PLLC54x時鐘發生器由內部振蕩器和鎖相環電路構成,可通過晶振或外部時鐘驅動。鎖相環具有頻率放大和時鐘信號提純的作用。利用PLL可以對時鐘頻率進行鎖定、為芯片提供高穩定度的時鐘信號,對外部時鐘可以進行倍頻,使外部時鐘的周期低于CPU機器周期,以降低因高速開關時鐘引起的高頻噪聲。當前鎖相環電路有兩種不同的配置方式一些器件使用硬件配置PLL電路,另外一些采用軟件編程的方式進行配置硬件配置PLL模式選擇管腳時鐘模式CLKMD1CLKMD2CLKMD3選擇1選擇2000外部時鐘源,PLL×3外部時鐘源,PLL×5110外部時鐘源,PLL×2外部時鐘源,PLL×4100內部振蕩器,PLL×3內部振蕩器,PLL×5010外部時鐘源,PLL×1.5外部時鐘源,PLL×4.5001外部時鐘源,頻率除以2外部時鐘源,頻率除以2111內部振蕩器,頻率除以2內部振蕩器,頻率除以2101外部時鐘源,PLL×1外部時鐘源,PLL×1011停止模式停止模式軟件配置PLL軟件可編程PLL非常靈活,它包括提供時鐘的各種乘法系數,能夠直接使能和禁止PLL。它可以鎖定定時器,用來延遲轉換PLL的時鐘方式,直到鎖定為止。軟件可編程PLL可以通過兩種模式來配置時鐘輸出PLL模式:輸入時鐘CLKIN以31個系數倍頻,倍頻范圍為0.25至15。DIV模式:輸入時鐘被分頻,分頻范圍為2或4。當采用DIV模式時,所有的模擬電路、包括PLL電路是被禁止的以達到減少功耗的目的。2.4.7DMA控制器器件直接內存訪問(Thedevicedirectmemoryaccess,DMA)控制器可以不在CPU干涉的情況下直接進行存儲器映射內的兩點間的直接傳輸。DMA允許在CPU運行的情況下進行內部存儲器、片內外設、外部器件之間進行數據移動。它有6個獨立的可編程通道,允許6個不同的內容進行DMA操作。DMA控制器也提供來自主機接口(HPI-8、HPI-16)需

溫馨提示

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

評論

0/150

提交評論