第二章基本結(jié)構(gòu)(內(nèi)部資源)_第1頁
第二章基本結(jié)構(gòu)(內(nèi)部資源)_第2頁
第二章基本結(jié)構(gòu)(內(nèi)部資源)_第3頁
第二章基本結(jié)構(gòu)(內(nèi)部資源)_第4頁
第二章基本結(jié)構(gòu)(內(nèi)部資源)_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章第二章 TMS320 x28x系列系列DSP基本結(jié)構(gòu)基本結(jié)構(gòu)(內(nèi)部資源內(nèi)部資源)2.1 總線結(jié)構(gòu)2.2 CPU中央處理單元2.3 存儲器及其擴(kuò)展接口2.4 時鐘源模塊2.5 系統(tǒng)復(fù)位2.6 低功耗模式2.7 程序控制DSP內(nèi)部功能模塊內(nèi)部功能模塊 CPU Flash:128K字,可映射到程序空間或數(shù)據(jù)空間,受代碼安全模塊CSM的保護(hù) SARAM(單訪問隨機(jī)讀/寫存儲器) M0和M1:每塊大小為1K*16位 L0和L1:每塊大小為4K*16位 H0:大小為8K*16位 片內(nèi)片內(nèi)OTP:一次性可編程ROM,2K*16位;可映射到程序空間或數(shù)據(jù)空間,受代碼安全模塊CSM的保護(hù) Boot ROM

2、:引導(dǎo)ROM,實現(xiàn)DSP的引導(dǎo)裝載功能 代碼安全模塊代碼安全模塊CSM、中斷向量、外設(shè)幀、中斷向量、外設(shè)幀PF 外部擴(kuò)展接口外部擴(kuò)展接口2.1 總線結(jié)構(gòu)總線結(jié)構(gòu)DSP總線構(gòu)成總線構(gòu)成 內(nèi)部地址三總線內(nèi)部地址三總線 PAB:22位,程序地址總線,用來傳送來自程序空間程序空間的讀寫讀寫地址 DRAB:32位,數(shù)據(jù)讀地址總線,用來傳送來自數(shù)據(jù)數(shù)據(jù)空間空間的讀讀地址 DWAB:32位,數(shù)據(jù)寫地址總線,用來傳送來自數(shù)據(jù)數(shù)據(jù)空間空間的寫寫地址 內(nèi)部數(shù)據(jù)三總線內(nèi)部數(shù)據(jù)三總線 PRDB:32位,程序讀數(shù)據(jù)總線,在讀取程序空間讀取程序空間時用來傳送指令或數(shù)據(jù)指令或數(shù)據(jù) DRDB:32位,數(shù)據(jù)讀數(shù)據(jù)總線,在讀取數(shù)

3、據(jù)空間讀取數(shù)據(jù)空間時用來傳送數(shù)據(jù)數(shù)據(jù) DWDB:32位,數(shù)據(jù)寫數(shù)據(jù)總線,在對數(shù)據(jù)空間和程數(shù)據(jù)空間和程序空間寫數(shù)據(jù)時序空間寫數(shù)據(jù)時用來傳送數(shù)據(jù)數(shù)據(jù)存取類型存取類型地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線從程序空間讀PABPRDB向程序空間寫PABDWDB從數(shù)據(jù)空間讀DRABDRDB向數(shù)據(jù)空間寫DWABDWDB 數(shù)據(jù)空間和程序空間的總線使用:數(shù)據(jù)空間和程序空間的總線使用: 任意時刻同時發(fā)生的兩種操作不能使用同一條總線任意時刻同時發(fā)生的兩種操作不能使用同一條總線如:從程序空間讀操作不能與向程序空間寫操作同時發(fā)生,因為這兩個操作都需要PAB總線,而從數(shù)據(jù)空間讀操作與向數(shù)據(jù)空間寫操作可以同時進(jìn)行流水線操作流水線

4、操作 由于由于DSP的多總線結(jié)構(gòu),的多總線結(jié)構(gòu),DSP芯片的程序執(zhí)行過程中可以同芯片的程序執(zhí)行過程中可以同時激活多條指令,并行處理,此即流水線操作。如下圖所示。時激活多條指令,并行處理,此即流水線操作。如下圖所示。2.2 CPU中央處理單元中央處理單元 CPU是DSP控制器的核心模塊。 28X 系列DSP器件的CPU主要包括: 算術(shù)邏輯運算單元 乘法器 桶形移位器 CPU寄存器 狀態(tài)寄存器 28X系列DSP器件的CPU還包括一個輔助寄存器算術(shù)單元ARAU乘積移位方式乘積移位方式PM乘積移位方式乘積移位方式000左移1位,低位填0001不移位010右移1位,低位丟失,符號擴(kuò)展011右移2位,低位

5、丟失,符號擴(kuò)展100右移3位,低位丟失,符號擴(kuò)展101右移4位,低位丟失,符號擴(kuò)展110右移5位,低位丟失,符號擴(kuò)展111右移6位,低位丟失,符號擴(kuò)展由ST0的97位決定:輔助寄存器指針:輔助寄存器指針:ARP輔助寄存器選擇輔助寄存器選擇000選擇XAR0 111選擇XAR7間接尋址時,指定當(dāng)前的輔助寄存器,由ST1的1513位決定:CPU寄存器寄存器寄存器名稱寄存器名稱大小大小描述描述寄存器名稱寄存器名稱大小大小描述描述ACC32bit累加器PH16bitP的高位AH16bit累加器高位PL16bitP的低位AL16bit累加器低位PC22bit程序計數(shù)器XAR0XAR732bit輔助寄存器

6、07RPC22bit返回程序計數(shù)器AR0AR716bitXAR07的低位SP16bit堆棧指針DP16bit數(shù)據(jù)頁面指針ST016bit狀態(tài)寄存器0IFR16bit中斷標(biāo)志寄存器ST116bit狀態(tài)寄存器1IER16bit中斷使能寄存器XT32bit被乘數(shù)寄存器DBGIER16bit調(diào)試中斷使能寄存器T16bitXT的高位P32bit乘積寄存器TL16bitXT的低位狀態(tài)寄存器狀態(tài)寄存器ST0和和ST1功能:包含各種標(biāo)志位和控制位操作:可被保存至數(shù)據(jù)存儲器或從數(shù)據(jù)存儲器中加載ST0: bit0:SXM, 符號擴(kuò)展模式位 bit1:OVM,ACC溢出模式位, OVM=1時,調(diào)整溢出結(jié)果 bit2

7、:TC ,測試/控制標(biāo)志位 bit3:C,進(jìn)位標(biāo)志位 bit4:Z,零標(biāo)志位,0:ACC檢測為非0;1:ACC檢測為0 bit5:N, 負(fù)標(biāo)志位,0:ACC檢測為非負(fù)數(shù);1:ACC檢測為負(fù)數(shù) bit6:V,溢出標(biāo)志位,0:標(biāo)志復(fù)位;1:檢測到溢出 bit97:PM,乘積移位方式 bit1510:OVC/OVCU,溢出計數(shù)器OVC/OVCUPMVNZC15 10 9 7 6 5 4 3 2 1 0 TCOVMSXMST1: bit0: INTM,中斷全局屏蔽位 bit1: DBGM,調(diào)試使能屏蔽位 bit2: PAGE0,PAGE0尋址模式配置位 bit3: VMAP,向量映射位 bit4: S

8、PA,堆棧指針對齊位 bit5: LOOP,循環(huán)指令狀態(tài)位 bit6: EALLOW,仿真尋址使能位 bit7: IDLESTAT,IDLE狀態(tài)標(biāo)志位 bit8: AMODE,地址模式位 bit9: OBJMODE,目標(biāo)兼容模式位 bit10: 保留保留 bit11: M0M1MAP,M0和M1映射模式位 bit12: XF,XF狀態(tài)位,0:XF輸出低電平;1: XF輸出高電平 bit15-13: ARP,輔助寄存器指針ARP XF M0M1MAP保留OBJMODE AMODE 12 11 10 9 8 7 6 5 4 3 2 1 0IDLESTAT EALLOW LOOPSPA VMAP P

9、AGE0 DBGM INTM2.3 存儲器及其擴(kuò)展接口存儲器及其擴(kuò)展接口TMS320F28X DSP處理器有兩個獨立的存儲空間,片內(nèi)存儲器和外部存儲器,存儲器的各個區(qū)塊都統(tǒng)一映射到程序空間和數(shù)據(jù)空間,劃分為如下幾個部分:程序程序/數(shù)據(jù)存儲器:數(shù)據(jù)存儲器: 片內(nèi)單訪問隨機(jī)存儲器SARAM、只讀存儲器ROM和Flash存儲器。它們被映射到程序空間或數(shù)據(jù)空間,用以存放執(zhí)行代碼或存儲數(shù)據(jù)變量CPU的中斷向量:的中斷向量: 在程序地址中保留了64個地址作為CPU的32個中斷向量。通過狀態(tài)寄存器ST1的VMAP位將CPU向量映射到程序空間的底部或頂部保留區(qū):保留區(qū): 數(shù)據(jù)區(qū)的某些地址被保留作為CPU的仿真

10、存儲器使用片內(nèi)存儲器資源不夠時,可以通過外部接口片內(nèi)存儲器資源不夠時,可以通過外部接口XINTF來外擴(kuò)存儲器來外擴(kuò)存儲器 TMS320F2812可用的片內(nèi)存儲器空間分為低可用的片內(nèi)存儲器空間分為低64K和高和高64K兩部兩部分,其中低分,其中低64K*16位的存儲器可等價于位的存儲器可等價于C24x/C240 x系列系列DSP的的數(shù)據(jù)存取空間,高數(shù)據(jù)存取空間,高64K*16位存儲器可等價于位存儲器可等價于C24x/C240 x系列系列DSP的程序空間的程序空間 Flash:128K字,可映射到程序空間或數(shù)據(jù)空間,受代碼安全模塊CSM的保護(hù) SARAM(單訪問隨機(jī)讀/寫存儲器) M0和M1:每塊

11、大小為1K*16位 L0和L1:每塊大小為4K*16位 H0:大小為8K*16位 片內(nèi)片內(nèi)OTP:一次性可編程ROM,2K*16位;可映射到程序空間或數(shù)據(jù)空間,受代碼安全模塊CSM的保護(hù) Boot ROM:引導(dǎo)ROM,實現(xiàn)DSP的引導(dǎo)裝載功能 代碼安全模塊代碼安全模塊CSM、中斷向量、外設(shè)幀、中斷向量、外設(shè)幀PF TMS320F2812的外擴(kuò)的外擴(kuò)存儲器分為存儲器分為5個固定的個固定的存儲器映射區(qū)存儲器映射區(qū)域域:XINTF區(qū)域區(qū)域0、1、2、6、7,每個,每個XINTF區(qū)區(qū)域都有一個片選信號,域都有一個片選信號,用于訪問某一個特定用于訪問某一個特定的區(qū)域的區(qū)域 XINTF接口信號接口信號 外

12、擴(kuò)存儲器時,外擴(kuò)存儲器時,DSP與外部存儲器需要對與外部存儲器需要對一些引腳進(jìn)行電氣連一些引腳進(jìn)行電氣連接,如右圖接,如右圖外部擴(kuò)展接口外部擴(kuò)展接口XINTF空間訪問空間訪問XINTF寄存器:寄存器:寄存器名稱寄存器名稱描述描述XTIMING0XINTF時序寄存器,區(qū)0XTIMING1XINTF時序寄存器,區(qū)1XTIMING2XINTF時序寄存器,區(qū)2XTIMING6XINTF時序寄存器,區(qū)6XTIMING7XINTF時序寄存器,區(qū)7XINTCNF2XINTF配置寄存器XBANKXINTF控制寄存器 對外部接口的配置主要通過設(shè)置寄存器實現(xiàn) 時序寄存器用于設(shè)置讀寫時序參數(shù);XINTF配置寄存器完

13、成選擇時鐘,設(shè)置輸入引腳狀態(tài)以及寫緩沖器深度等;控制寄存器XBANK用于設(shè)置可增加周期的特定區(qū),以及設(shè)置增加的周期。2.4 時鐘源模塊時鐘源模塊 相關(guān)引腳相關(guān)引腳 OSCBYP:振蕩器的旁路引腳 XTAL1:外部時鐘源輸入腳,外接晶振引腳1 XTAL2:外接晶振引腳2XTAL1/CLKINXTAL2OSCBYP+5VXTAL1/CLKINXTAL2OSCBYPGND外部時鐘源A、采用內(nèi)部振蕩器允許使用兩種方式為允許使用兩種方式為CPU內(nèi)核提供時鐘:內(nèi)核提供時鐘:B、采用外部時鐘源 時鐘源模塊的四種時鐘源模塊的四種輸出輸出 CPUCLK:CPU時鐘/機(jī)器時鐘,供CPU及總線使用的時鐘節(jié)拍,其周期

14、即為機(jī)器周期。其來源可能為外部時鐘、外部時鐘的兩分頻或內(nèi)部PLL電路的倍頻。 SYSCLK:系統(tǒng)時鐘,專為片內(nèi)外設(shè)服務(wù)。來自于CPU時鐘的2分頻或4分頻。 ACLK:模擬器時鐘,專門為片內(nèi)模數(shù)轉(zhuǎn)換模塊服務(wù)。其正常頻率為110MHz,不受外部時鐘頻率的影響。 WDCLK:看門狗時鐘,專為看門狗和實時時鐘模塊服務(wù)。正常頻率為16384Hz,占空比25,不受外部時鐘影響。時鐘控制寄存器時鐘控制寄存器: 對時鐘源模塊進(jìn)行設(shè)置2.5 系統(tǒng)復(fù)位系統(tǒng)復(fù)位 復(fù)位信號復(fù)位信號 電源復(fù)位:PORESET引腳出現(xiàn)一個正跳變。 復(fù)位引腳RS 軟件復(fù)位 訪問非法地址的復(fù)位 看門狗定時器溢出 欠電壓復(fù)位1WDRSTRSS

15、WRSTILLADRPin RSto deviceReset signalPORST/VCCAOR 復(fù)位后復(fù)位后CPU的寄存器按下表所示進(jìn)行復(fù)位的寄存器按下表所示進(jìn)行復(fù)位在在DBGIER寄存器中可寄存器中可屏蔽中斷被關(guān)閉屏蔽中斷被關(guān)閉在在IER寄存器中可屏蔽中寄存器中可屏蔽中斷被關(guān)閉斷被關(guān)閉沒有未響應(yīng)的中斷,所沒有未響應(yīng)的中斷,所有中斷在復(fù)位時均被清有中斷在復(fù)位時均被清0DP指向數(shù)據(jù)頁指向數(shù)據(jù)頁0PC指針由地址指針由地址00 0000H或或3F FFC0H的復(fù)位中斷的復(fù)位中斷向量賦值向量賦值SP指針指向地址指針指向地址0400H禁止符號位擴(kuò)展禁止符號位擴(kuò)展關(guān)閉溢出模式關(guān)閉溢出模式乘積移位模式被

16、設(shè)置為左乘積移位模式被設(shè)置為左移移1位位2.6 低功耗模式低功耗模式 低功耗模式可使芯片核心部分進(jìn)入休眠狀態(tài),耗散更少的功率。低功耗模式可使芯片核心部分進(jìn)入休眠狀態(tài),耗散更少的功率。有三種模式:有三種模式: 1. IDLE模式:模式: 任何被使能的中斷或NMI中斷都可以使處理器退出IDLE模式。在這種 模式下,如果低功耗模塊控制寄存器LPMCRD1:D0位都設(shè)置成零,LPM(Low-Power modes)模塊將不完成任何工作 2. HALT模式:模式: 只有復(fù)位信號XRS和XNMI_XINT13外部信號能夠喚醒器件,使其退出HALT模式。在XMNICR寄存器中,CPU有一位使能/禁止XNMI

17、 。 3. STANDBY模式:模式: 如果在LPMCR1寄存器中被選中,所有信號(包括XNMI)都能夠?qū)⑻幚砥鲝腟TANDBY模式喚醒,用戶必須選擇具體哪個信號喚醒處理器。在喚醒處理器之前,要通過OSCCLK確認(rèn)被選定的信號:OSCCLK的周期數(shù)在LPMCR0寄存器當(dāng)中確定。低功耗模式寄存器低功耗模式寄存器 低功耗模式通過LPMCR0和LPMCR1兩個寄存器來控制 保留保留 D15 D1 D0QUAL STDBYLPM R-0 R/W-1 R/W-0確定從低功耗模式喚醒到正常工確定從低功耗模式喚醒到正常工作模式的時鐘周期個數(shù)作模式的時鐘周期個數(shù)00000:2個個OSCCLKS00001:3個

18、個OSCCLKS11111: 65個個OSCCLKS設(shè)置低功耗模式設(shè)置低功耗模式00:IDLE模式模式01:STANDBY模式模式1x:HALT模式模式低功耗方式控制低功耗方式控制0寄存器寄存器LPMCR0低功耗方式控制低功耗方式控制0寄存器寄存器LPMCR0CANRX D15 D14 D13 D12 D11 D10 D9 D8SCIRXA C6TRIPC5TRIPC4TRIPC3TRIPC2TRIPSCIRXBC1TRIP D7 D6 D5 D4 D3 D2 D1 D0T3CTRIPT2CTRIPT1CTRIPWDINT XNMI XINT1T4CTRIP如果相應(yīng)的控制位設(shè)置為如果相應(yīng)的控制

19、位設(shè)置為1,則使能對應(yīng)的信號,將器,則使能對應(yīng)的信號,將器件從低功耗模式喚醒,進(jìn)入正常工作模式;件從低功耗模式喚醒,進(jìn)入正常工作模式;如果設(shè)置為如果設(shè)置為0,則相應(yīng)的信號沒有影響。,則相應(yīng)的信號沒有影響。2.7 程序控制程序控制 程序控制:控制一個或多個指令塊的執(zhí)行次序程序控制:控制一個或多個指令塊的執(zhí)行次序程序地址的產(chǎn)生程序地址的產(chǎn)生 通常程序是順序執(zhí)行的,即在連續(xù)的程序存儲器地址上通常程序是順序執(zhí)行的,即在連續(xù)的程序存儲器地址上取出指令并執(zhí)行。但有時程序需要轉(zhuǎn)移到不連續(xù)的地址,取出指令并執(zhí)行。但有時程序需要轉(zhuǎn)移到不連續(xù)的地址,然后再連續(xù)執(zhí)行新地址處的指令。為此提供了轉(zhuǎn)移、調(diào)用、然后再連續(xù)執(zhí)

20、行新地址處的指令。為此提供了轉(zhuǎn)移、調(diào)用、重復(fù)(循環(huán))和中斷指令重復(fù)(循環(huán))和中斷指令 在執(zhí)行當(dāng)前指令的同時,程序流要求處理器生成下一個在執(zhí)行當(dāng)前指令的同時,程序流要求處理器生成下一個指令的程序地址(順序或非順序的)指令的程序地址(順序或非順序的) 程序計數(shù)器程序計數(shù)器 PCPC:22bit,取指令時,對內(nèi)部和外部程序存儲器尋址。,取指令時,對內(nèi)部和外部程序存儲器尋址。 程序地址寄存器程序地址寄存器 PAR: PAR: 驅(qū)動程序地址總線,提供程序的讀、寫地址。驅(qū)動程序地址總線,提供程序的讀、寫地址。 堆棧堆棧STACKSTACK:16位寬位寬8級深,可保存級深,可保存8個返回地址個返回地址,也可

21、將用作暫存存儲器。也可將用作暫存存儲器。 微堆棧微堆棧 MSTACK: MSTACK: 16位、位、1級深,保存一個返回地址。級深,保存一個返回地址。 重復(fù)計數(shù)器重復(fù)計數(shù)器 RPTCRPTC:16位,與重復(fù)指令(位,與重復(fù)指令(RPT)一起,用來確定)一起,用來確定 RPT后面的一條指令重復(fù)執(zhí)行多次。后面的一條指令重復(fù)執(zhí)行多次。用到的硬件:用到的硬件: 順序操作:順序操作:程序的地址來源于程序的地址來源于PC程序計數(shù)器(程序地址程序計數(shù)器(程序地址+1) 空(?。┲芷冢嚎眨▎。┲芷冢撼绦虻牡刂穪碓从诔绦虻牡刂穪碓从赑AR (程序地址(程序地址+1) 從子程序返回:從子程序返回:程序的地址來源于

22、棧頂(程序的地址來源于棧頂(TOS) 從表傳送或塊傳送返回:從表傳送或塊傳送返回:程序的地址來源于微堆棧(程序的地址來源于微堆棧(MSTACK) 轉(zhuǎn)移到或調(diào)用指令中指定的地址:轉(zhuǎn)移到或調(diào)用指令中指定的地址:程序的地址來源于轉(zhuǎn)移或調(diào)用指程序的地址來源于轉(zhuǎn)移或調(diào)用指 令。即利用程序讀總線(令。即利用程序讀總線(PRDB)的方式獲取程序地址。)的方式獲取程序地址。 轉(zhuǎn)移到或調(diào)用累加器低半部分指定的地址:轉(zhuǎn)移到或調(diào)用累加器低半部分指定的地址:程序地址來源于累加程序地址來源于累加 器的低半部分。即利用數(shù)據(jù)讀總線(器的低半部分。即利用數(shù)據(jù)讀總線(DRDB)的方式獲取程序地址。)的方式獲取程序地址。 轉(zhuǎn)移到

23、中斷服務(wù)程序:轉(zhuǎn)移到中斷服務(wù)程序:程序地址來源于中斷矢量單元。即利用程序讀總程序地址來源于中斷矢量單元。即利用程序讀總 線線 ( PRDB)的方式獲取程序地址。)的方式獲取程序地址。程序地址產(chǎn)生的情況:程序地址產(chǎn)生的情況: PCPC中存放將被執(zhí)行的下一條指令的地址。中存放將被執(zhí)行的下一條指令的地址。 有有5 5種方式加載種方式加載PCPC,從而適應(yīng)連續(xù)和不連續(xù)的程序流程。,從而適應(yīng)連續(xù)和不連續(xù)的程序流程。程序計數(shù)器程序計數(shù)器PC:順序執(zhí)行順序執(zhí)行: 若當(dāng)前指令是一個字,則將若當(dāng)前指令是一個字,則將PC+1加載到加載到PC 若當(dāng)前指令是兩個字,則將若當(dāng)前指令是兩個字,則將PC+2加載到加載到PC 分支(轉(zhuǎn)移):分支(轉(zhuǎn)移): 轉(zhuǎn)移指令后的長立即數(shù)直接加載到轉(zhuǎn)移指令后的長立即數(shù)直接加載到PC 子程序調(diào)用和返回子程序調(diào)用和返回 : 調(diào)用指令調(diào)用指令 將將PC中下一條指令的地址壓入堆棧,然后將調(diào)用指令后的長中下一條指令的地址壓入堆棧,然后將調(diào)用指令后的長 立即數(shù)直接加載到立即數(shù)直接加載到PC 返回指令返回指令 將返回地址從堆棧中彈回將返回地址

溫馨提示

  • 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

提交評論