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

下載本文檔

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

文檔簡介

1、會(huì)計(jì)學(xué)1DSP控制器總體結(jié)構(gòu)控制器總體結(jié)構(gòu)第一頁,編輯于星期六:六點(diǎn) 四十一分。22.6 時(shí)鐘與低功耗模式 2.7 看門狗定時(shí)器2.8 32位 CPU定時(shí)器2.9 通用輸入/輸出 2.10 片內(nèi)外設(shè)寄存器2.11 外設(shè)中斷擴(kuò)展第1頁/共87頁第二頁,編輯于星期六:六點(diǎn) 四十一分。3 下圖分別為TMS320F2812的176引腳PGF LQFP(Low-Profile Quad Flatpack)封裝圖和TMS320F2810的128引腳PBK LQFP封裝圖。 第2頁/共87頁第三頁,編輯于星期六:六點(diǎn) 四十一分。4F2812 DSP的引腳第3頁/共87頁第四頁,編輯于星期六:六點(diǎn) 四十一分。

2、5F2810 DSP的引腳第4頁/共87頁第五頁,編輯于星期六:六點(diǎn) 四十一分。6引腳說明 (見教材表格)XINTF (External Interface) 信號(hào): 地址(19位)/數(shù)據(jù)(16位)及存儲(chǔ)器控制信號(hào)引腳。JTAG仿真測試及其他(振蕩器、復(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頁/共87頁第六頁,編輯于星期六:六

3、點(diǎn) 四十一分。7XINTF 信號(hào): 地址/數(shù)據(jù)及存儲(chǔ)器控制信號(hào)引腳 XA18XA0: 19根外部地址線。 XD15XD0: 16根外部數(shù)據(jù)線。 :微處理器/微計(jì)算機(jī)模式選擇 。 :外部保持請(qǐng)求。 :外部保持應(yīng)答。 :XINTF 的Zone0和 Zone1選擇。 :XINTF 的Zone2選擇。 :XINTF 的Zone6和 Zone7選擇。 :寫使能。 :讀使能。 :讀/寫選通。 XREADY :準(zhǔn)備好信號(hào) 。MCXMP/XHOLDXHOLDAXZCS0AND1XZCS2XZCS6AND7XWEXRDWXR/第6頁/共87頁第七頁,編輯于星期六:六點(diǎn) 四十一分。8 TI還推出了F2808、F2

4、806、F2801等型號(hào),其內(nèi)部結(jié)構(gòu)與F2812類似,但引腳數(shù)、時(shí)鐘頻率、內(nèi)部資源有所降低,以降低成本。 F28x DSP的硬件資源第7頁/共87頁第八頁,編輯于星期六:六點(diǎn) 四十一分。9F281x DSP的功能框圖第8頁/共87頁第九頁,編輯于星期六:六點(diǎn) 四十一分。102812 DSP控制器的結(jié)構(gòu)CPU片內(nèi)存儲(chǔ)器片內(nèi)外設(shè) (片內(nèi)接口電路)第9頁/共87頁第十頁,編輯于星期六:六點(diǎn) 四十一分。11Fast program execution out of both RAM and Flash memoryl100-120 MIPS with Flash Acceleration Techno

5、logyl150 MIPS out of RAM for time-critical code Control PeripheralsMemory Sub-SystemEvent ManagersUltra-Fast 12-bit ADCl12.5 MSPS throughputlDual sample&holds enable simultaneous samplinglAuto Sequencer, up to 16 conversions w/o CPUControl PortsMultiple standard communication ports provide simpl

6、e interfaces to other componentsCommunications Portsl150MIPS performancelSingle cycle 32 x32-bit MAC (or dual 16 x16 MAC)lVery Fast Interrupt ResponselSingle cycle read-modified-writelF24x/LF240 x Source Code Compatible High-Performance CPU (C28xTM DSP Core) Memory Bus 128Kw Flash+ 2Kw OTP4Kw Boot R

7、OM18Kw RAMCode securityXINTF32-bitRegister FileReal-TimeJTAG32-bitTimers (3)150 MIPs C28xTM 32-bit DSP32x32-bitMultiplierRMWAtomicALU Interrupt ManagementEvent Mgr AEvent Mgr B12-Bit ADCWatchdogGPIOMcBSPCAN 2.0BSCI-UART ASCI-UART BSPIPeripheral BusTMS320F2812 / TMS320F2810Most Powerful - Most Integr

8、ated Dual Function Digital Signal Controller第10頁/共87頁第十一頁,編輯于星期六:六點(diǎn) 四十一分。12F281x DSP的功能框圖第11頁/共87頁第十二頁,編輯于星期六:六點(diǎn) 四十一分。13Quarter of a Megabyte of on-chip Flash Memory128-bit security protects software investmentFast program execution out of bothRAM and Flash memoryl100-120 MIPS with Flash Acceleratio

9、n 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)Memory Bus 128Kw Flash+ 2Kw OTP4Kw Boot ROM18Kw RAMCode securityXINTF32-bit

10、Register 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頁/共87頁第十三頁,編輯于星期六:六點(diǎn) 四十一分。14 2812 DSP的存儲(chǔ)器映射第13頁/共87頁第十四頁,編輯于星期六:六點(diǎn) 四十一分。

11、15 2810 DSP的存儲(chǔ)器映射第14頁/共87頁第十五頁,編輯于星期六:六點(diǎn) 四十一分。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 8FFFH), 4KW,

12、 安全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頁第十六頁,編輯于星期六:六點(diǎn) 四十一分。17外部存儲(chǔ)器及I/O擴(kuò)展 XINTF Zone0/1, Zone2, Zone6/7, 1M+32K。通過數(shù)據(jù)線 XD0-XD15、地址線 XA0-XA18及控制信號(hào)線 擴(kuò)展。 不論是2812

13、還是2810,“低64K”的存儲(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頁/共87頁第十七頁,編輯于星期六:六點(diǎn) 四十一分。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)試過程中,可以先將程序放入到H

14、0 SARAM、L0 SRAM和L1 SARAM中運(yùn)行仿真調(diào)試,對(duì)于程序長度小于16K時(shí)比較方便。調(diào)試完成后,再將程序放入Flash存儲(chǔ)器中運(yùn)行。 對(duì)于較復(fù)雜的DSP應(yīng)用系統(tǒng),程序可能較長或需要擴(kuò)展一些外部存儲(chǔ)器或外部接口如D/A轉(zhuǎn)換芯片、LCD驅(qū)動(dòng)等,這時(shí)需要采用外部接口(XINTF)。外部存儲(chǔ)器或接口訪問速度等可能差別較大,XINTF提供了時(shí)序延長或加等待機(jī)制來確保通過軟件配置實(shí)現(xiàn)對(duì)這些存儲(chǔ)器或外設(shè)的正確接口。 第17頁/共87頁第十八頁,編輯于星期六:六點(diǎn) 四十一分。19 2812 DSP外部接口分區(qū) XINTF第18頁/共87頁第十九頁,編輯于星期六:六點(diǎn) 四十一分。20 時(shí)鐘XTIM

15、CLK和SYSCLKOUT的關(guān)系示意圖第19頁/共87頁第二十頁,編輯于星期六:六點(diǎn) 四十一分。21 XINTF對(duì)外訪問時(shí)序被分成三個(gè)階段,即起始(Lead)階段、激活(Active)階段和收尾(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頁/共87頁第二十一頁,編輯于星期六:六點(diǎn) 四十一分。22XINTF 時(shí)序寄存器XTIMINGx (x=0,1,2,6,7)

16、:XINTF 時(shí)序寄存器XTIMINGx用來配置建立/保持和等待時(shí)間。Bit31-232221-1817-161514 10名稱名稱ReservedX2TIMINGReservedXSIZEREADYMODEXWRTAILXINTF 配置寄存器XINTCNF2。XINTF 的Bank寄存器XBANK。XINTF 寄存器初始化程序。第21頁/共87頁第二十二頁,編輯于星期六:六點(diǎn) 四十一分。23 XINTF的寄存器 第22頁/共87頁第二十三頁,編輯于星期六:六點(diǎn) 四十一分。24Flash存儲(chǔ)器的特點(diǎn)。Flash和OTP的功耗模式。Flash和OTP的性能。Flash流水線模式。Flash和OT

17、P寄存器。第23頁/共87頁第二十四頁,編輯于星期六:六點(diǎn) 四十一分。25多個(gè)分區(qū)。有代碼安全保護(hù)。有低功耗模式??筛鶕?jù)CPU頻率調(diào)整的等待狀態(tài)。可提高性能的流水線模式。Flash存儲(chǔ)器的特點(diǎn)第24頁/共87頁第二十五頁,編輯于星期六:六點(diǎn) 四十一分。26Flash和OTP的功耗模式Sleep Mode.Standby Mode.Active Mode.第25頁/共87頁第二十六頁,編輯于星期六:六點(diǎn) 四十一分。27Flash和OTP的性能32位取指令。16位或32位數(shù)據(jù)空間讀操作。16位程序空間讀操作。Flash存儲(chǔ)器隨機(jī)存取。Flash存儲(chǔ)器頁面存取。OTP操作。第26頁/共87頁第二十七

18、頁,編輯于星期六:六點(diǎn) 四十一分。28Flash和OTP配置寄存器 第27頁/共87頁第二十八頁,編輯于星期六:六點(diǎn) 四十一分。29 代碼安全模塊CSM (Code Security Module) 可以防止未被授權(quán)的人看到片內(nèi)存儲(chǔ)器的內(nèi)容,防止對(duì)受保護(hù)的代碼進(jìn)行復(fù)制和反向工程。代碼安全模塊的功能CSM對(duì)其他片內(nèi)資源的影響代碼安全功能的使用第28頁/共87頁第二十九頁,編輯于星期六:六點(diǎn) 四十一分。30受CSM影響的片內(nèi)資源地址地址塊塊0 x80000 x8FFFL0 SARAM (4KW)0 x90000 x9FFFL1 SARAM (4KW)0 x3D 78000 x3D 7BFFOTP

19、(1KW)0 x3D 80000 x3F 7FFFFlash (128/64KW)第29頁/共87頁第三十頁,編輯于星期六:六點(diǎn) 四十一分。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頁/共87頁第三十一頁,編輯于星期六:六點(diǎn) 四十一分。32密碼匹配流程PMF第31頁/

20、共87頁第三十二頁,編輯于星期六:六點(diǎn) 四十一分。33解除DSP對(duì)L0和L1的安全保護(hù)的C語言程序。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

21、”); 第32頁/共87頁第三十三頁,編輯于星期六:六點(diǎn) 四十一分。34重新保護(hù)的C代碼 volatile int *PWL=0 x0AE0;/CSM寄存器文件, 設(shè)置FORCESEC位asm(“ EALLOW”);/CSMSCR寄存器受EALLOW保護(hù)*PWL=0 x8000;asm(“ EDIS”);第33頁/共87頁第三十四頁,編輯于星期六:六點(diǎn) 四十一分。35 不同外設(shè)的時(shí)鐘和復(fù)位電路 系統(tǒng)時(shí)鐘SYSCLKOUT即輸入時(shí)鐘CLKIN1. 時(shí)鐘第34頁/共87頁第三十五頁,編輯于星期六:六點(diǎn) 四十一分。36外設(shè)時(shí)鐘控制寄存器PCLKCRD15,D13, D9, D7-4 Reserved

22、位。D14 ECANENCLK , 若設(shè)為1,則使能CAN外設(shè)中的系統(tǒng)時(shí)鐘SYSCLKOUT 。否則禁止。D12 MCBSPENCLK , 若設(shè)為1,則使能McBSP外設(shè)中的低速時(shí)鐘LSPCLK 。 D11 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 ,

23、若設(shè)為1,則使能EVB外設(shè)中的高速時(shí)鐘HSPCLK 。D0 EVAENCLK , 若設(shè)為1,則使能EVA外設(shè)中的高速時(shí)鐘HSPCLK 。第35頁/共87頁第三十六頁,編輯于星期六:六點(diǎn) 四十一分。37系統(tǒng)控制與外設(shè)狀態(tài)寄存器 SCSRD15-3: ReservedD2: 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頁/共87頁第三十七頁,編輯于星期

24、六:六點(diǎn) 四十一分。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-0ReservedHSPCLK高速外設(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頁/共87頁第三

25、十八頁,編輯于星期六:六點(diǎn) 四十一分。39時(shí)鐘電路振蕩器OSC和鎖相環(huán)PLL模塊2.振蕩器和鎖相環(huán)第38頁/共87頁第三十九頁,編輯于星期六:六點(diǎn) 四十一分。40若DIV=0(復(fù)位值),則CLKIN=OSCCLK/2。若DIV=00011010,則CLKIN=OSCCLK*DIV/2。15-43-0ReservedDIV鎖相環(huán)倍頻寄存器PLLCR第39頁/共87頁第四十頁,編輯于星期六:六點(diǎn) 四十一分。41void InitSysCtrl(void) / 系統(tǒng)初始化子程序 EALLOW; /#define EALLOW asm (“ EALLOW”) 宏定義 SysCtrlRegs.PLLCR

26、=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í)鐘模塊和鎖相環(huán)初始化C語言編程。第40頁/共87頁第四十一頁,編輯于星期六:六點(diǎn) 四十一分。42除正常(Normal)工作模式外,F(xiàn)281x有3種低功耗模式: IDLE(空閑)模式HALT(停止)

27、模式STANDBY(備用)模式低功耗模式控制寄存器0: LPMCR0低功耗模式控制寄存器1: LPMCR1第41頁/共87頁第四十二頁,編輯于星期六:六點(diǎn) 四十一分。43F281x 低功耗模式第42頁/共87頁第四十三頁,編輯于星期六:六點(diǎn) 四十一分。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í)器控制寄存器: WDCR第43頁/共87頁第四十四頁,編輯于星期六:六點(diǎn) 四十一

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

29、該位寫1,禁止看門狗模塊; 寫0,使能看門狗模塊。復(fù)位值為0,看門狗模塊使能。只有在SCSR寄存器中的WDOVERRIDE位設(shè)為1后才能修改該位。位53 WDCHK:任何時(shí)候?qū)懺摷拇嫫?,用戶都必須向這些位寫入101。寫入任何其他數(shù)值都會(huì)引起復(fù)位(如果看門狗使能)。位20 WDPS:這些位用來配置看門狗時(shí)鐘WDCLK。第46頁/共87頁第四十七頁,編輯于星期六:六點(diǎn) 四十一分。48位20 WDPS:這些位用來配置看門狗時(shí)鐘WDCLK。000WDCLK=OSCCLK/512/1001WDCLK=OSCCLK/512/1010WDCLK=OSCCLK/512/2011WDCLK=OSCCLK/512

30、/4100WDCLK=OSCCLK/512/8101WDCLK=OSCCLK/512/16110WDCLK=OSCCLK/512/32111WDCLK=OSCCLK/512/64,OSCCLK為振蕩器頻率。第47頁/共87頁第四十八頁,編輯于星期六:六點(diǎn) 四十一分。49禁止看門狗定時(shí)器C語言程序。EALLOW; /#define EALLOW asm (“ EALLOW”) 宏定義SysCtrlRegs.WDCR=0 x0068; /屏蔽看門狗EDIS; /#define EDIS asm (“EDIS”) 宏定義InitSysCtrl( ) / 系統(tǒng)初始化子程序使用看門狗定時(shí)器的C語言程序段

31、。 EALLOW; /宏定義#define EALLOW asm (“ EALLOW”),解除保護(hù)SysCtrlRegs.WDKEY=0 x55;SysCtrlRegs.WDKEY=0 xAA; /周期性寫入0 x55,0 xAA,使WDCNTR清零EDIS; /宏定義#define EDIS asm (“EDIS”),設(shè)置保護(hù)第48頁/共87頁第四十九頁,編輯于星期六:六點(diǎn) 四十一分。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頁/共87頁第五十頁,編輯于星

32、期六:六點(diǎn) 四十一分。51CPU定時(shí)器中斷信號(hào)和輸出信號(hào)第50頁/共87頁第五十一頁,編輯于星期六:六點(diǎn) 四十一分。521. 數(shù)字并行I/O端口概述 2812 DSP有56個(gè)通用雙向的數(shù)字I/O(GPIO, General Purpose I/O)引腳,其中大多數(shù)都是基本功能和通用I/O復(fù)用引腳。 通用I/O復(fù)用寄存器可以設(shè)置281x的部分引腳功能。這些因腳可以通過GPxMUX寄存器分別設(shè)置成外設(shè)I/O端口或通用數(shù)字I/O端口,其中x代表不同的端口(A、B、D、E、F和G)。 第51頁/共87頁第五十二頁,編輯于星期六:六點(diǎn) 四十一分。532. 通用I/O的多路選擇引腳的功能可以通過如下的16

33、位控制寄存器設(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:輸入方式。輸入限制(即輸入尖脈沖濾波)控制寄存器GPyQUAL, y=A,B,D,E。I/O復(fù)用控制寄存器第52頁/共87頁第五十三頁,編輯于星期六:六點(diǎn) 四十一分。54 如果配置為通用數(shù)字I/O端口模式,則寄存器GPxSET可以設(shè)置各個(gè)I/O信號(hào)(置1),寄存器GPxCLEAR可以清除各個(gè)I/O信號(hào)(清0),寄

34、存器GPxTOGGLE可以翻轉(zhuǎn)各個(gè)I/O信號(hào),數(shù)據(jù)寄存器GPxDAT可以讀寫各個(gè)I/O信號(hào)。 第53頁/共87頁第五十四頁,編輯于星期六:六點(diǎn) 四十一分。55GPIO工作模式框圖第54頁/共87頁第五十五頁,編輯于星期六:六點(diǎn) 四十一分。56通過輸入限定的方法消除噪聲輸入尖脈沖濾波時(shí)鐘周期數(shù)第55頁/共87頁第五十六頁,編輯于星期六:六點(diǎn) 四十一分。573. 數(shù)字I/O端口寄存器 每個(gè)通用I/O引腳受復(fù)用控制(MUX)、方向、數(shù)據(jù)、設(shè)置、清除和翻轉(zhuǎn)寄存器的控制。I/O復(fù)用控制寄存器(GPxMUX, x=A,B,D,E,F,G): 用來選擇I/O端口作為基本片內(nèi)外設(shè)功能或通用I/O功能即多路選擇

35、。1:基本片內(nèi)外設(shè)功能。方向控制寄存器(GPxDIR):用來選擇一般I/O的數(shù)據(jù)方向。 1:輸出方式;0:輸入方式數(shù)據(jù)寄存器GPxDAT 用來讀寫數(shù)據(jù)。輸入限制控制寄存器GPyQUAL, y=A,B,D,E。第56頁/共87頁第五十七頁,編輯于星期六:六點(diǎn) 四十一分。58GPxSET寄存器 每個(gè)I/O口有一個(gè)設(shè)置寄存器,只能寫。如果引腳配置成輸出,則向寄存器中寫1可以使輸出為1,寫0沒有影響。 GPxCLEAR寄存器 每個(gè)I/O口有一個(gè)清0寄存器,只能寫。如果引腳配置成輸出,則向寄存器中寫1可以使輸出清0,寫0沒有影響。 GPxTOGGLE寄存器 每個(gè)I/O口有一個(gè)翻轉(zhuǎn)寄存器,只能寫。如果引腳

36、配置成輸出,則向寄存器中寫1,可以使輸出發(fā)生翻轉(zhuǎn),即原來為1則變?yōu)?,原來為0則變?yōu)?,寫0沒有影響。 第57頁/共87頁第五十八頁,編輯于星期六:六點(diǎn) 四十一分。59GPIO初始化C語言程序?qū)嵗?include “DSP281x_Device.h” /包含片內(nèi)外設(shè)寄存器頭文件 void InitGPIO(void) / GPIO初始化子程序asm (“ EALLOW”) ;/解除寫保護(hù) 方向, GPIOA12,11,7為輸出 asm (“ EDIS”) ; /恢復(fù)寫保護(hù) 第58頁/共87頁第五十九頁,編輯于星期六:六點(diǎn) 四十一分。601.外設(shè)寄存器空間DSP控制器片內(nèi)外設(shè)的功能是通過片內(nèi)外

37、設(shè)寄存器實(shí)現(xiàn)的。這些寄存器被安排在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頁/共87頁第六十頁,編輯于星期六:六點(diǎn) 四十一分。61外設(shè)幀0寄存器第60頁/共87頁第六十一頁,編輯于星期六:六點(diǎn) 四十一分。62外設(shè)幀1寄存器第61頁/共87頁第六

38、十二頁,編輯于星期六:六點(diǎn) 四十一分。63外設(shè)幀2寄存器第62頁/共87頁第六十三頁,編輯于星期六:六點(diǎn) 四十一分。642. 受EALLOW保護(hù)的寄存器 281x中有許多外設(shè)控制寄存器受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頁/共87頁第六十四頁,編輯于星期六:六點(diǎn) 四十一分。65 外設(shè)中斷擴(kuò)展模塊PIE (Peripheral Interrupt Expan

39、sion)將高達(dá)96個(gè)中斷源每8個(gè)一組,共12個(gè)中斷信號(hào)送入CPU(INT1INT12)。1. PIE控制器 F281x CPU支持一個(gè)不可屏蔽中斷和16個(gè)可屏蔽中斷 (INT1INT14,CPU實(shí)時(shí)操作系統(tǒng)中斷RTOSINT, CPU數(shù)據(jù)進(jìn)出中斷DLOGINT)。 281x有許多外設(shè),每個(gè)外設(shè)都可以產(chǎn)生一個(gè)或多個(gè)中斷請(qǐng)求,需要一種集中外設(shè)所有中斷的控制器PIE來裁定從不同中斷源來的中斷請(qǐng)求。 第64頁/共87頁第六十五頁,編輯于星期六:六點(diǎn) 四十一分。66Multiplexing of Interrupts Using the PIE Block采用PIE模塊的外設(shè)中斷信號(hào)多路傳送第65頁/

40、共87頁第六十六頁,編輯于星期六:六點(diǎn) 四十一分。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)志位PIEIFRx.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,且全局中

41、斷屏蔽位INTM (ST1.0)為0,則CPU就進(jìn)入中斷服務(wù)程序,響應(yīng)中斷。中斷響應(yīng)可以分成下面三個(gè)層次:第66頁/共87頁第六十七頁,編輯于星期六:六點(diǎn) 四十一分。68典型的PIE/CPU中斷響應(yīng)過程第67頁/共87頁第六十八頁,編輯于星期六:六點(diǎn) 四十一分。69DSP內(nèi)核中斷: INT1-INT12。每個(gè)外設(shè)中斷連接到內(nèi)核中斷。支持軟件中斷與硬件中斷 軟件中斷是由指令I(lǐng)NTR 、TRAP 、NMI請(qǐng)求的中斷。硬件中斷由硬件引起。外部中斷(由外部中斷引腳引起)與內(nèi)部中斷(由片內(nèi)外設(shè)動(dòng)作事件引起)可屏蔽中斷(都是硬件中斷,可以用指令屏蔽或允許)與不可屏蔽中斷(包括所有軟件中斷和硬件復(fù)位中斷RS

42、。)第68頁/共87頁第六十九頁,編輯于星期六:六點(diǎn) 四十一分。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, 此后中斷矢量從PIE矢量表中取地址。 PIE中斷矢量表見教材。第69頁/共87頁第七十頁,編輯于星期六:六點(diǎn) 四十一分。71 PIE中斷矢量表映射第70頁/共87頁第七十

43、一頁,編輯于星期六:六點(diǎn) 四十一分。723. 中斷源中斷源第71頁/共87頁第七十二頁,編輯于星期六:六點(diǎn) 四十一分。73 片內(nèi)外設(shè)中斷與外部引腳中斷XINT1和XINT2全部連接到了PIE中,共組成了12個(gè)中斷組 。第72頁/共87頁第七十三頁,編輯于星期六:六點(diǎn) 四十一分。744. PIE配置和控制寄存器PIECRL PIE控制寄存器PIEACKPIE應(yīng)答寄存器PIEIERx (x=112) INTx組使能寄存器PIEIFRx (x=112) INTx組標(biāo)志寄存器第73頁/共87頁第七十四頁,編輯于星期六:六點(diǎn) 四十一分。75PIE控制寄存器PIECRLD15-1 ,PIEVECT, 表示

44、從矢量表中取出的矢量地址。D0,ENPIE,使能矢量獲取。為1時(shí),使能。PIE應(yīng)答寄存器PIEACKD11-0 ,PIEACK, 寫入1到對(duì)應(yīng)的中斷位可以清除該位,清除后當(dāng)該組的中斷申請(qǐng)到來時(shí),允許PIE向CPU申請(qǐng)中斷。第74頁/共87頁第七十五頁,編輯于星期六:六點(diǎn) 四十一分。76PIE中斷標(biāo)志寄存器PIEIFRx, x=112D70 ,INTx.8 INTx.1 , 表示中斷是否激活。類似CPU中斷標(biāo)志位。當(dāng)一個(gè)中斷激活時(shí),相應(yīng)位置1。第75頁/共87頁第七十六頁,編輯于星期六:六點(diǎn) 四十一分。77D70 ,INTx.8 INTx.1 , 表示中斷使能。類似CPU中斷使能位。為1時(shí),使能

45、。PIE中斷使能寄存器PIEIERx, x=112第76頁/共87頁第七十七頁,編輯于星期六:六點(diǎn) 四十一分。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頁/共87頁第七十八頁,編輯于星期六:六點(diǎn) 四十一分。79CPU中斷使能寄存器IER ( Interrupt Enable Register) 地址0004H D15: RTOSINT 。 D14: DLOGINT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論