DSP控制器總體結(jié)構(gòu)學習教案_第1頁
DSP控制器總體結(jié)構(gòu)學習教案_第2頁
DSP控制器總體結(jié)構(gòu)學習教案_第3頁
DSP控制器總體結(jié)構(gòu)學習教案_第4頁
DSP控制器總體結(jié)構(gòu)學習教案_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、會計學1DSP控制器總體結(jié)構(gòu)控制器總體結(jié)構(gòu)22.6 時鐘與低功耗模式 2.7 看門狗定時器2.8 32位 CPU定時器2.9 通用輸入/輸出 2.10 片內(nèi)外設(shè)寄存器2.11 外設(shè)中斷擴展第1頁/共87頁3 下圖分別為TMS320F2812的176引腳PGF LQFP(Low-Profile Quad Flatpack)封裝圖和TMS320F2810的128引腳PBK LQFP封裝圖。 第2頁/共87頁4F2812 DSP的引腳第3頁/共87頁5F2810 DSP的引腳第4頁/共87頁6引腳說明 (見教材表格)XINTF (External Interface) 信號: 地址(19位)/數(shù)據(jù)(

2、16位)及存儲器控制信號引腳。JTAG仿真測試及其他(振蕩器、復位)引腳。A/D轉(zhuǎn)換器引腳。電源引腳。GPIOA、GPIOD或( EVA)引腳, GPIO 56個引腳。GPIOB 、GPIOD或( EVB事件管理器B)引腳。通信模塊(SPI/SCI/CAN/McBSP)或GPIOF、GPIOG引腳。外部中斷或GPIOE 引腳。通用數(shù)字I/O GPIOF或XF輸出引腳。第5頁/共87頁7XINTF 信號: 地址/數(shù)據(jù)及存儲器控制信號引腳 XA18XA0: 19根外部地址線。 XD15XD0: 16根外部數(shù)據(jù)線。 :微處理器/微計算機模式選擇 。 :外部保持請求。 :外部保持應(yīng)答。 :XINTF

3、的Zone0和 Zone1選擇。 :XINTF 的Zone2選擇。 :XINTF 的Zone6和 Zone7選擇。 :寫使能。 :讀使能。 :讀/寫選通。 XREADY :準備好信號 。MCXMP/XHOLDXHOLDAXZCS0AND1XZCS2XZCS6AND7XWEXRDWXR/第6頁/共87頁8 TI還推出了F2808、F2806、F2801等型號,其內(nèi)部結(jié)構(gòu)與F2812類似,但引腳數(shù)、時鐘頻率、內(nèi)部資源有所降低,以降低成本。 F28x DSP的硬件資源第7頁/共87頁9F281x DSP的功能框圖第8頁/共87頁102812 DSP控制器的結(jié)構(gòu)CPU片內(nèi)存儲器片內(nèi)外設(shè) (片內(nèi)接口電路

4、)第9頁/共87頁11Fast program execution out of both RAM and Flash memoryl100-120 MIPS with Flash Acceleration Technologyl150 MIPS out of RAM for time-critical code Control PeripheralsMemory Sub-SystemEvent ManagersUltra-Fast 12-bit ADCl12.5 MSPS throughputlDual sample&holds enable simultaneous samplin

5、glAuto Sequencer, up to 16 conversions w/o CPUControl PortsMultiple standard communication ports provide simple interfaces to other componentsCommunications Portsl150MIPS performancelSingle cycle 32 x32-bit MAC (or dual 16 x16 MAC)lVery Fast Interrupt ResponselSingle cycle read-modified-writelF24x/L

6、F240 x Source Code Compatible High-Performance CPU (C28xTM DSP Core) Memory Bus 128Kw Flash+ 2Kw OTP4Kw Boot ROM18Kw RAMCode securityXINTF32-bitRegister FileReal-TimeJTAG32-bitTimers (3)150 MIPs C28xTM 32-bit DSP32x32-bitMultiplierRMWAtomicALU Interrupt ManagementEvent Mgr AEvent Mgr B12-Bit ADCWatc

7、hdogGPIOMcBSPCAN 2.0BSCI-UART ASCI-UART BSPIPeripheral BusTMS320F2812 / TMS320F2810Most Powerful - Most Integrated Dual Function Digital Signal Controller第10頁/共87頁12F281x DSP的功能框圖第11頁/共87頁13Quarter of a Megabyte of on-chip Flash Memory128-bit security protects software investmentFast program executi

8、on out of bothRAM and Flash memoryl100-120 MIPS with Flash Acceleration Technologyl150 MIPS out of RAM for time-critical codeExternal memory interface (XINTF) supports systems with larger memory models (up to 1MW address reach)Memory Sub-SystemUp to 128K x 16 Flashl (8 x 4K and 6 x 16K Sectors)Memor

9、y Bus 128Kw Flash+ 2Kw OTP4Kw Boot ROM18Kw RAMCode securityXINTF32-bitRegister FileReal-TimeJTAG32-bitTimers (3)C28xTM 32-bit DSP32x32-bitMultiplierRMWAtomicALU Interrupt ManagementEvent Mgr AEvent Mgr B12-Bit ADCWatchdogGPIOMcBSPCAN 2.0BSCI-UART ASCI-UART BSPIPeripheral BusOn-Chip Flash Memory第12頁/

10、共87頁14 2812 DSP的存儲器映射第13頁/共87頁15 2810 DSP的存儲器映射第14頁/共87頁16存儲器地址空間281xDSP 具有1M存儲空間:包括數(shù)據(jù), 程序, I/O空間。片內(nèi)存儲器:SARAM: M0 (00 0000-00 03FFH) ,1KWSARAM: M1(00 0400-00 07FFH), 1KW片內(nèi)外設(shè):PF0, ( 00 0800-00 0CFFH) , 2KW中斷矢量PIE Vector-RAM: D00-DFFH ,256W 片內(nèi)外設(shè):PF1/2, ( 00 6000-00 7FFFH) ,8KW SARAM: L0 (00 8000-00 8F

11、FFH), 4KW, 安全SARAM: L1 (00 9000-00 9FFFH) ,4KW, 安全OTP: (3D 7800-3D 7BFFH) 1KW, 安全 Flash : (3D 8000-3F 7FFFH), 128KW, 安全SARAM: H0(3F 8000-3F BFFFH) ,8KWBoot ROM: (3F F000-3F FFFFH), 4KW第15頁/共87頁17外部存儲器及I/O擴展 XINTF Zone0/1, Zone2, Zone6/7, 1M+32K。通過數(shù)據(jù)線 XD0-XD15、地址線 XA0-XA18及控制信號線 擴展。 不論是2812還是2810,“低6

12、4K”的存儲器地址范圍映射到24x的數(shù)據(jù)空間;“高64K”的存儲器地址范圍映射到24x的程序空間。24x兼容的代碼只能在“高64K”存儲器中執(zhí)行,因此只有最頂部的32K(0 x3F 00000 x3F 7FFF)的Flash/ROM和H0 SARAM可以用來運行24x兼容的代碼。第16頁/共87頁18 典型的DSP應(yīng)用系統(tǒng)多采用最小系統(tǒng),即系統(tǒng)由一個F2810 DSP芯片加上相應(yīng)的電源、時鐘、復位、JTAG電路及應(yīng)用電路構(gòu)成,這種系統(tǒng)也稱為單片系統(tǒng)方案(Single Chip Solution)。在程序調(diào)試過程中,可以先將程序放入到H0 SARAM、L0 SRAM和L1 SARAM中運行仿真調(diào)

13、試,對于程序長度小于16K時比較方便。調(diào)試完成后,再將程序放入Flash存儲器中運行。 對于較復雜的DSP應(yīng)用系統(tǒng),程序可能較長或需要擴展一些外部存儲器或外部接口如D/A轉(zhuǎn)換芯片、LCD驅(qū)動等,這時需要采用外部接口(XINTF)。外部存儲器或接口訪問速度等可能差別較大,XINTF提供了時序延長或加等待機制來確保通過軟件配置實現(xiàn)對這些存儲器或外設(shè)的正確接口。 第17頁/共87頁19 2812 DSP外部接口分區(qū) XINTF第18頁/共87頁20 時鐘XTIMCLK和SYSCLKOUT的關(guān)系示意圖第19頁/共87頁21 XINTF對外訪問時序被分成三個階段,即起始(Lead)階段、激活(Activ

14、e)階段和收尾(Trail)階段。XINTF對不同的地址區(qū)域進行訪問時,可以通過對應(yīng)各區(qū)的XTIMING寄存器對訪問時序加等待狀態(tài)進行延時,等待狀態(tài)可配置為若干個XTIMCLK的周期數(shù)。 對訪問時序進行配置依賴于F2812的工作頻率SYSCLKOUT和XINTF的定時時鐘XTIMCLK。 第20頁/共87頁22XINTF 時序寄存器XTIMINGx (x=0,1,2,6,7):XINTF 時序寄存器XTIMINGx用來配置建立/保持和等待時間。Bit31-232221-1817-161514 10名稱名稱ReservedX2TIMINGReservedXSIZEREADYMODEXWRTAIL

15、XINTF 配置寄存器XINTCNF2。XINTF 的Bank寄存器XBANK。XINTF 寄存器初始化程序。第21頁/共87頁23 XINTF的寄存器 第22頁/共87頁24Flash存儲器的特點。Flash和OTP的功耗模式。Flash和OTP的性能。Flash流水線模式。Flash和OTP寄存器。第23頁/共87頁25多個分區(qū)。有代碼安全保護。有低功耗模式??筛鶕?jù)CPU頻率調(diào)整的等待狀態(tài)??商岣咝阅艿牧魉€模式。Flash存儲器的特點第24頁/共87頁26Flash和OTP的功耗模式Sleep Mode.Standby Mode.Active Mode.第25頁/共87頁27Flash和

16、OTP的性能32位取指令。16位或32位數(shù)據(jù)空間讀操作。16位程序空間讀操作。Flash存儲器隨機存取。Flash存儲器頁面存取。OTP操作。第26頁/共87頁28Flash和OTP配置寄存器 第27頁/共87頁29 代碼安全模塊CSM (Code Security Module) 可以防止未被授權(quán)的人看到片內(nèi)存儲器的內(nèi)容,防止對受保護的代碼進行復制和反向工程。代碼安全模塊的功能CSM對其他片內(nèi)資源的影響代碼安全功能的使用第28頁/共87頁30受CSM影響的片內(nèi)資源地址地址塊塊0 x80000 x8FFFL0 SARAM (4KW)0 x90000 x9FFFL1 SARAM (4KW)0 x

17、3D 78000 x3D 7BFFOTP (1KW)0 x3D 80000 x3F 7FFFFlash (128/64KW)第29頁/共87頁31CSM的狀態(tài)和控制寄存器CSMCRBit1514-76-10名稱名稱FORCESECReservedReservedSECURE復位值復位值W-1R-0R-10111R-1D15, FORCESEC位, 寫1可以清除KEY寄存器,并使DSP安全。D0, SECURE,只讀位,反映了DSP目前的狀態(tài)。 1 DSP安全,CSM鎖定。 0 DSP不安全,CSM被解鎖。第30頁/共87頁32密碼匹配流程PMF第31頁/共87頁33解除DSP對L0和L1的安全

18、保護的C語言程序。int i5, i;volatile int *PWL;/ PWL指針PWL=&CsmPwl.PSWD0;/指向PSWD0處,即0 x3F 7FF8處for (i5=0; i58; i5+) i=*PWL+;/進行8次虛讀/如果PWL=全1,以下代碼對未保護的CSM是不必要的。/向關(guān)鍵字寄存器寫密碼/asm (“ EALLOW”); /密碼寄存器受EALLOW保護/CsmReg.KEY0= PASSWORD0; /CsmReg.KEY7= PASSWORD7; / asm (“ EDIS”); 第32頁/共87頁34重新保護的C代碼 volatile int *PWL

19、=0 x0AE0;/CSM寄存器文件, 設(shè)置FORCESEC位asm(“ EALLOW”);/CSMSCR寄存器受EALLOW保護*PWL=0 x8000;asm(“ EDIS”);第33頁/共87頁35 不同外設(shè)的時鐘和復位電路 系統(tǒng)時鐘SYSCLKOUT即輸入時鐘CLKIN1. 時鐘第34頁/共87頁36外設(shè)時鐘控制寄存器PCLKCRD15,D13, D9, D7-4 Reserved位。D14 ECANENCLK , 若設(shè)為1,則使能CAN外設(shè)中的系統(tǒng)時鐘SYSCLKOUT 。否則禁止。D12 MCBSPENCLK , 若設(shè)為1,則使能McBSP外設(shè)中的低速時鐘LSPCLK 。 D11

20、SCIBENCLK , 若設(shè)為1,則使能SCI-B外設(shè)中的低速時鐘LSPCLK 。D10 SCIAENCLK , 若設(shè)為1,則使能SCI-A外設(shè)中的低速時鐘LSPCLK 。D8 SPIBENCLK , 若設(shè)為1,則使能SPI外設(shè)中的低速時鐘LSPCLK 。D3 ADCENCLK , 若設(shè)為1,則使能ADC外設(shè)中的高速時鐘HSPCLK 。D2 Reserved位。D1 EVBENCLK , 若設(shè)為1,則使能EVB外設(shè)中的高速時鐘HSPCLK 。D0 EVAENCLK , 若設(shè)為1,則使能EVA外設(shè)中的高速時鐘HSPCLK 。第35頁/共87頁37系統(tǒng)控制與外設(shè)狀態(tài)寄存器 SCSRD15-3: R

21、eservedD2: WDINTS , 看門狗WD中斷狀態(tài)位。D1: WDENINT,看門狗WD中斷使能位。如果設(shè)為1,則WD復位WDRST輸出信號禁止,看門狗WD中斷使能。D0:WD OVERRIDE, WD保護位。該位是個只能清除的位,復位后=1。通過向該位寫1對其清0。為0保護WD,防止WD被軟件禁止。第36頁/共87頁38低速外設(shè)時鐘定標寄存器LOSPCP若HSPCP不為0,則HSPCLK=SYSCLKOUT/(2* HISPCP20 )。 復位時,默認值001, HSPCLK=SYSCLKOUT/2若HSPCP=0,則HSPCLK=SYSCLKOUT15-32-0ReservedHS

22、PCLK高速外設(shè)時鐘定標寄存器HISPCP若LOSPCP不為0,則LSPCLK=SYSCLKOUT/(2* LOSPCP20 )。 復位時,默認值010, LSPCLK=SYSCLKOUT/4若HSPCP=0,則LSPCLK=SYSCLKOUT15-32-0ReservedLSPCLK第37頁/共87頁39時鐘電路振蕩器OSC和鎖相環(huán)PLL模塊2.振蕩器和鎖相環(huán)第38頁/共87頁40若DIV=0(復位值),則CLKIN=OSCCLK/2。若DIV=00011010,則CLKIN=OSCCLK*DIV/2。15-43-0ReservedDIV鎖相環(huán)倍頻寄存器PLLCR第39頁/共87頁41voi

23、d InitSysCtrl(void) / 系統(tǒng)初始化子程序 EALLOW; /#define EALLOW asm (“ EALLOW”) 宏定義 SysCtrlRegs.PLLCR=0 x000A;/初始化鎖相環(huán), OSCCLK=30MHz/ DIV=0 x0A, CLKIN=30MHz*10/2=150 MHzasm(“ NOP”);asm(“ NOP”);for (i=0; i3000; i+) ; /延時,等待鎖相環(huán)穩(wěn)定 使能EVA使能EVB使能SCI_A不用的外設(shè)不使能,/以降低功耗使能ADCEDIS; /#define EDIS asm (“ EDIS”) 宏定義 時鐘模塊和鎖相

24、環(huán)初始化C語言編程。第40頁/共87頁42除正常(Normal)工作模式外,F(xiàn)281x有3種低功耗模式: IDLE(空閑)模式HALT(停止)模式STANDBY(備用)模式低功耗模式控制寄存器0: LPMCR0低功耗模式控制寄存器1: LPMCR1第41頁/共87頁43F281x 低功耗模式第42頁/共87頁44281x DSP內(nèi)置了一個看門狗定時器(WDT), 用來監(jiān)視DSP的運行狀況。當系統(tǒng)進入不可預(yù)知的狀態(tài)而造成“死機”時,WD將產(chǎn)生一個復位操作,從而使DSP進入一個已知的起始位置重新運轉(zhuǎn)。8位WD計數(shù)寄存器: WDCNTR WD復位鑰匙寄存器: WDKEYWD定時器控制寄存器: WDC

25、R第43頁/共87頁45看門狗(Watchdog)模塊(OSCCLK=XCLKIN)第44頁/共87頁468位WD計數(shù)寄存器: WDCNTR WD復位鑰匙寄存器: WDKEYWDKEY: 如果先寫入0 x55,在寫入0 xAA就會使WDCNTR清零。寫入任何其他數(shù)值則馬上使DSP復位。讀操作返回的是WDCR寄存器的值。 第45頁/共87頁47WD定時器控制寄存器: WDCR位7 WDFLAG: 看門狗復位狀態(tài)標志位。如果為1,表示看門狗復位;為0,表示是外部復位或上電復位。該位寫1清除,否則狀態(tài)一直保持。位6 WDDIS: 向該位寫1,禁止看門狗模塊; 寫0,使能看門狗模塊。復位值為0,看門狗

26、模塊使能。只有在SCSR寄存器中的WDOVERRIDE位設(shè)為1后才能修改該位。位53 WDCHK:任何時候?qū)懺摷拇嫫?,用戶都必須向這些位寫入101。寫入任何其他數(shù)值都會引起復位(如果看門狗使能)。位20 WDPS:這些位用來配置看門狗時鐘WDCLK。第46頁/共87頁48位20 WDPS:這些位用來配置看門狗時鐘WDCLK。000WDCLK=OSCCLK/512/1001WDCLK=OSCCLK/512/1010WDCLK=OSCCLK/512/2011WDCLK=OSCCLK/512/4100WDCLK=OSCCLK/512/8101WDCLK=OSCCLK/512/16110WDCLK=O

27、SCCLK/512/32111WDCLK=OSCCLK/512/64,OSCCLK為振蕩器頻率。第47頁/共87頁49禁止看門狗定時器C語言程序。EALLOW; /#define EALLOW asm (“ EALLOW”) 宏定義SysCtrlRegs.WDCR=0 x0068; /屏蔽看門狗EDIS; /#define EDIS asm (“EDIS”) 宏定義InitSysCtrl( ) / 系統(tǒng)初始化子程序使用看門狗定時器的C語言程序段。 EALLOW; /宏定義#define EALLOW asm (“ EALLOW”),解除保護SysCtrlRegs.WDKEY=0 x55;Sys

28、CtrlRegs.WDKEY=0 xAA; /周期性寫入0 x55,0 xAA,使WDCNTR清零EDIS; /宏定義#define EDIS asm (“EDIS”),設(shè)置保護第48頁/共87頁50CPU定時器 F281x 與240 x相比,增加了三個32位CPU定時器0/1/2。 CPU定時器1和2保留給實時操作系統(tǒng)(RTOS), 只有CPU定時器0留給用戶使用。第49頁/共87頁51CPU定時器中斷信號和輸出信號第50頁/共87頁521. 數(shù)字并行I/O端口概述 2812 DSP有56個通用雙向的數(shù)字I/O(GPIO, General Purpose I/O)引腳,其中大多數(shù)都是基本功能

29、和通用I/O復用引腳。 通用I/O復用寄存器可以設(shè)置281x的部分引腳功能。這些因腳可以通過GPxMUX寄存器分別設(shè)置成外設(shè)I/O端口或通用數(shù)字I/O端口,其中x代表不同的端口(A、B、D、E、F和G)。 第51頁/共87頁532. 通用I/O的多路選擇引腳的功能可以通過如下的16位控制寄存器設(shè)置:I/O復用控制寄存器也稱為多路選擇寄存器(GPxMUX, x=A,B,D,E,F,G): 用來選擇I/O端口作為基本片內(nèi)外設(shè)功能或通用I/O功能。1:基本片內(nèi)外設(shè)功能。0:通用I/O功能。方向控制寄存器(GPxDIR):用來選擇通用I/O的數(shù)據(jù)方向。1:輸出方式;0:輸入方式。輸入限制(即輸入尖脈沖

30、濾波)控制寄存器GPyQUAL, y=A,B,D,E。I/O復用控制寄存器第52頁/共87頁54 如果配置為通用數(shù)字I/O端口模式,則寄存器GPxSET可以設(shè)置各個I/O信號(置1),寄存器GPxCLEAR可以清除各個I/O信號(清0),寄存器GPxTOGGLE可以翻轉(zhuǎn)各個I/O信號,數(shù)據(jù)寄存器GPxDAT可以讀寫各個I/O信號。 第53頁/共87頁55GPIO工作模式框圖第54頁/共87頁56通過輸入限定的方法消除噪聲輸入尖脈沖濾波時鐘周期數(shù)第55頁/共87頁573. 數(shù)字I/O端口寄存器 每個通用I/O引腳受復用控制(MUX)、方向、數(shù)據(jù)、設(shè)置、清除和翻轉(zhuǎn)寄存器的控制。I/O復用控制寄存器

31、(GPxMUX, x=A,B,D,E,F,G): 用來選擇I/O端口作為基本片內(nèi)外設(shè)功能或通用I/O功能即多路選擇。1:基本片內(nèi)外設(shè)功能。方向控制寄存器(GPxDIR):用來選擇一般I/O的數(shù)據(jù)方向。 1:輸出方式;0:輸入方式數(shù)據(jù)寄存器GPxDAT 用來讀寫數(shù)據(jù)。輸入限制控制寄存器GPyQUAL, y=A,B,D,E。第56頁/共87頁58GPxSET寄存器 每個I/O口有一個設(shè)置寄存器,只能寫。如果引腳配置成輸出,則向寄存器中寫1可以使輸出為1,寫0沒有影響。 GPxCLEAR寄存器 每個I/O口有一個清0寄存器,只能寫。如果引腳配置成輸出,則向寄存器中寫1可以使輸出清0,寫0沒有影響。

32、GPxTOGGLE寄存器 每個I/O口有一個翻轉(zhuǎn)寄存器,只能寫。如果引腳配置成輸出,則向寄存器中寫1,可以使輸出發(fā)生翻轉(zhuǎn),即原來為1則變?yōu)?,原來為0則變?yōu)?,寫0沒有影響。 第57頁/共87頁59GPIO初始化C語言程序?qū)嵗?include “DSP281x_Device.h” /包含片內(nèi)外設(shè)寄存器頭文件 void InitGPIO(void) / GPIO初始化子程序asm (“ EALLOW”) ;/解除寫保護 方向, GPIOA12,11,7為輸出 asm (“ EDIS”) ; /恢復寫保護 第58頁/共87頁601.外設(shè)寄存器空間DSP控制器片內(nèi)外設(shè)的功能是通過片內(nèi)外設(shè)寄存器實現(xiàn)

33、的。這些寄存器被安排在3個數(shù)據(jù)存儲器地址空間,分別是:(1) 外設(shè)幀0(Peripheral Frame 0, PF0)。這些外設(shè)寄存器直接映射到CPU存儲器總線,支持16位和32位訪問。(2) 外設(shè)幀1(PF1)。這些外設(shè)寄存器映射到32位外設(shè)總線,支持16位和32位訪問,所有32位操作對齊到偶數(shù)地址邊界。(3) 外設(shè)幀2(PF2)。這些外設(shè)寄存器映射到16位外設(shè)總線,只允許16位訪問,32位操作被忽略。 第59頁/共87頁61外設(shè)幀0寄存器第60頁/共87頁62外設(shè)幀1寄存器第61頁/共87頁63外設(shè)幀2寄存器第62頁/共87頁642. 受EALLOW保護的寄存器 281x中有許多外設(shè)控制

34、寄存器受EALLOW保護,即CPU不能寫。CPU狀態(tài)寄存器ST1的EALLOW位(ST1.6)指明了寄存器的保護狀態(tài)。 受EALLOW保護的寄存器有:DSP仿真寄存器、Flash寄存器、CSM寄存器、PIE向量表、系統(tǒng)控制寄存器、GPIO MUX寄存器、特定的eCAN寄存器。 第63頁/共87頁65 外設(shè)中斷擴展模塊PIE (Peripheral Interrupt Expansion)將高達96個中斷源每8個一組,共12個中斷信號送入CPU(INT1INT12)。1. PIE控制器 F281x CPU支持一個不可屏蔽中斷和16個可屏蔽中斷 (INT1INT14,CPU實時操作系統(tǒng)中斷RTOS

35、INT, CPU數(shù)據(jù)進出中斷DLOGINT)。 281x有許多外設(shè),每個外設(shè)都可以產(chǎn)生一個或多個中斷請求,需要一種集中外設(shè)所有中斷的控制器PIE來裁定從不同中斷源來的中斷請求。 第64頁/共87頁66Multiplexing of Interrupts Using the PIE Block采用PIE模塊的外設(shè)中斷信號多路傳送第65頁/共87頁67(1)外設(shè)級 一旦外設(shè)產(chǎn)生中斷事件,對應(yīng)中斷標志寄存器中的中斷標志位就置1。如果對應(yīng)的中斷使能位設(shè)為1,則外設(shè)的中斷請求信號INTx.y(x=112, y=18),可以送到PIE控制器。(2)PIE級 PIE部分的每一個中斷都有一個中斷標志位PIEI

36、FRx.y和一個中斷使能位PIEIERx.y。對每個CPU中斷組INT1INT12都有一個應(yīng)答位PIEACKx。(3)CPU級 一旦中斷請求送入CPU后,CPU級的中斷標志寄存器IFR中的中斷標志位就置1。如果此時CPU中斷使能寄存器IER或仿真中斷使能寄存器DBGIER中的相應(yīng)位為1,且全局中斷屏蔽位INTM (ST1.0)為0,則CPU就進入中斷服務(wù)程序,響應(yīng)中斷。中斷響應(yīng)可以分成下面三個層次:第66頁/共87頁68典型的PIE/CPU中斷響應(yīng)過程第67頁/共87頁69DSP內(nèi)核中斷: INT1-INT12。每個外設(shè)中斷連接到內(nèi)核中斷。支持軟件中斷與硬件中斷 軟件中斷是由指令I(lǐng)NTR 、T

37、RAP 、NMI請求的中斷。硬件中斷由硬件引起。外部中斷(由外部中斷引腳引起)與內(nèi)部中斷(由片內(nèi)外設(shè)動作事件引起)可屏蔽中斷(都是硬件中斷,可以用指令屏蔽或允許)與不可屏蔽中斷(包括所有軟件中斷和硬件復位中斷RS。)第68頁/共87頁702. 中斷矢量表映射 在C28X系列DSP中,中斷矢量表可以映射到5個不同的區(qū)間:M1 SARAM, M0 SARAM, BROM, XINTF Zone 7塊,PIE矢量塊。但在F2812/F2810中,只有PIE矢量表可以使用。 復位后PIE矢量表是空的,初始化程序應(yīng)將矢量表從Flash中復制到PIE矢量表中來,然后使能PIE矢量表,即令ENPIE=1,

38、此后中斷矢量從PIE矢量表中取地址。 PIE中斷矢量表見教材。第69頁/共87頁71 PIE中斷矢量表映射第70頁/共87頁723. 中斷源中斷源第71頁/共87頁73 片內(nèi)外設(shè)中斷與外部引腳中斷XINT1和XINT2全部連接到了PIE中,共組成了12個中斷組 。第72頁/共87頁744. PIE配置和控制寄存器PIECRL PIE控制寄存器PIEACKPIE應(yīng)答寄存器PIEIERx (x=112) INTx組使能寄存器PIEIFRx (x=112) INTx組標志寄存器第73頁/共87頁75PIE控制寄存器PIECRLD15-1 ,PIEVECT, 表示從矢量表中取出的矢量地址。D0,ENP

39、IE,使能矢量獲取。為1時,使能。PIE應(yīng)答寄存器PIEACKD11-0 ,PIEACK, 寫入1到對應(yīng)的中斷位可以清除該位,清除后當該組的中斷申請到來時,允許PIE向CPU申請中斷。第74頁/共87頁76PIE中斷標志寄存器PIEIFRx, x=112D70 ,INTx.8 INTx.1 , 表示中斷是否激活。類似CPU中斷標志位。當一個中斷激活時,相應(yīng)位置1。第75頁/共87頁77D70 ,INTx.8 INTx.1 , 表示中斷使能。類似CPU中斷使能位。為1時,使能。PIE中斷使能寄存器PIEIERx, x=112第76頁/共87頁78 D15: RTOSINT 。 D14: DLOGINT flag, D14=1 有中斷申請。向該位寫1,可清除中斷請求。 D13-D0: 為INT14-INT1中斷申請標志。CPU中斷標志寄存器IFR (Interrupt Flag Register) 地址0006H第77頁/共87頁79CPU中斷使能寄存器IER ( Interrupt Enable Register) 地址0004H D15: RTOSINT 。 D14:

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論