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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、)第9頁(yè)/共87頁(yè)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頁(yè)/共87頁(yè)12F281x DSP的功能框圖第11頁(yè)/共87頁(yè)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頁(yè)/

10、共87頁(yè)14 2812 DSP的存儲(chǔ)器映射第13頁(yè)/共87頁(yè)15 2810 DSP的存儲(chǔ)器映射第14頁(yè)/共87頁(yè)16存儲(chǔ)器地址空間281xDSP 具有1M存儲(chǔ)空間:包括數(shù)據(jù), 程序, I/O空間。片內(nèi)存儲(chǔ)器: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頁(yè)/共87頁(yè)17外部存儲(chǔ)器及I/O擴(kuò)展 XINTF Zone0/1, Zone2, Zone6/7, 1M+32K。通過數(shù)據(jù)線 XD0-XD15、地址線 XA0-XA18及控制信號(hào)線 擴(kuò)展。 不論是2812還是2810,“低6

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

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

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

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

16、OTP的性能32位取指令。16位或32位數(shù)據(jù)空間讀操作。16位程序空間讀操作。Flash存儲(chǔ)器隨機(jī)存取。Flash存儲(chǔ)器頁(yè)面存取。OTP操作。第26頁(yè)/共87頁(yè)28Flash和OTP配置寄存器 第27頁(yè)/共87頁(yè)29 代碼安全模塊CSM (Code Security Module) 可以防止未被授權(quán)的人看到片內(nèi)存儲(chǔ)器的內(nèi)容,防止對(duì)受保護(hù)的代碼進(jìn)行復(fù)制和反向工程。代碼安全模塊的功能CSM對(duì)其他片內(nèi)資源的影響代碼安全功能的使用第28頁(yè)/共87頁(yè)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頁(yè)/共87頁(yè)31CSM的狀態(tài)和控制寄存器CSMCRBit1514-76-10名稱名稱FORCESECReservedReservedSECURE復(fù)位值復(fù)位值W-1R-0R-10111R-1D15, FORCESEC位, 寫1可以清除KEY寄存器,并使DSP安全。D0, SECURE,只讀位,反映了DSP目前的狀態(tài)。 1 DSP安全,CSM鎖定。 0 DSP不安全,CSM被解鎖。第30頁(yè)/共87頁(yè)32密碼匹配流程PMF第31頁(yè)/共87頁(yè)33解除DSP對(duì)L0和L1的安全

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

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

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

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

22、PCLK高速外設(shè)時(shí)鐘定標(biāo)寄存器HISPCP若LOSPCP不為0,則LSPCLK=SYSCLKOUT/(2* LOSPCP20 )。 復(fù)位時(shí),默認(rèn)值010, LSPCLK=SYSCLKOUT/4若HSPCP=0,則LSPCLK=SYSCLKOUT15-32-0ReservedLSPCLK第37頁(yè)/共87頁(yè)39時(shí)鐘電路振蕩器OSC和鎖相環(huán)PLL模塊2.振蕩器和鎖相環(huán)第38頁(yè)/共87頁(yè)40若DIV=0(復(fù)位值),則CLKIN=OSCCLK/2。若DIV=00011010,則CLKIN=OSCCLK*DIV/2。15-43-0ReservedDIV鎖相環(huán)倍頻寄存器PLLCR第39頁(yè)/共87頁(yè)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+) ; /延時(shí),等待鎖相環(huán)穩(wěn)定 使能EVA使能EVB使能SCI_A不用的外設(shè)不使能,/以降低功耗使能ADCEDIS; /#define EDIS asm (“ EDIS”) 宏定義 時(shí)鐘模塊和鎖相

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

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

26、模塊使能。只有在SCSR寄存器中的WDOVERRIDE位設(shè)為1后才能修改該位。位53 WDCHK:任何時(shí)候?qū)懺摷拇嫫?,用戶都必須向這些位寫入101。寫入任何其他數(shù)值都會(huì)引起復(fù)位(如果看門狗使能)。位20 WDPS:這些位用來配置看門狗時(shí)鐘WDCLK。第46頁(yè)/共87頁(yè)48位20 WDPS:這些位用來配置看門狗時(shí)鐘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頁(yè)/共87頁(yè)49禁止看門狗定時(shí)器C語(yǔ)言程序。EALLOW; /#define EALLOW asm (“ EALLOW”) 宏定義SysCtrlRegs.WDCR=0 x0068; /屏蔽看門狗EDIS; /#define EDIS asm (“EDIS”) 宏定義InitSysCtrl( ) / 系統(tǒng)初始化子程序使用看門狗定時(shí)器的C語(yǔ)言程序段。 EALLOW; /宏定義#define EALLOW asm (“ EALLOW”),解除保護(hù)SysCtrlRegs.WDKEY=0 x55;Sys

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

29、和通用I/O復(fù)用引腳。 通用I/O復(fù)用寄存器可以設(shè)置281x的部分引腳功能。這些因腳可以通過GPxMUX寄存器分別設(shè)置成外設(shè)I/O端口或通用數(shù)字I/O端口,其中x代表不同的端口(A、B、D、E、F和G)。 第51頁(yè)/共87頁(yè)532. 通用I/O的多路選擇引腳的功能可以通過如下的16位控制寄存器設(shè)置:I/O復(fù)用控制寄存器也稱為多路選擇寄存器(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復(fù)用控制寄存器第52頁(yè)/共87頁(yè)54 如果配置為通用數(shù)字I/O端口模式,則寄存器GPxSET可以設(shè)置各個(gè)I/O信號(hào)(置1),寄存器GPxCLEAR可以清除各個(gè)I/O信號(hào)(清0),寄存器GPxTOGGLE可以翻轉(zhuǎn)各個(gè)I/O信號(hào),數(shù)據(jù)寄存器GPxDAT可以讀寫各個(gè)I/O信號(hào)。 第53頁(yè)/共87頁(yè)55GPIO工作模式框圖第54頁(yè)/共87頁(yè)56通過輸入限定的方法消除噪聲輸入尖脈沖濾波時(shí)鐘周期數(shù)第55頁(yè)/共87頁(yè)573. 數(shù)字I/O端口寄存器 每個(gè)通用I/O引腳受復(fù)用控制(MUX)、方向、數(shù)據(jù)、設(shè)置、清除和翻轉(zhuǎn)寄存器的控制。I/O復(fù)用控制寄存器

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頁(yè)/共87頁(yè)58GPxSET寄存器 每個(gè)I/O口有一個(gè)設(shè)置寄存器,只能寫。如果引腳配置成輸出,則向寄存器中寫1可以使輸出為1,寫0沒有影響。 GPxCLEAR寄存器 每個(gè)I/O口有一個(gè)清0寄存器,只能寫。如果引腳配置成輸出,則向寄存器中寫1可以使輸出清0,寫0沒有影響。

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

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論