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

下載本文檔

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

文檔簡(jiǎn)介

第2章F281xDSP控制器總體結(jié)構(gòu)本章內(nèi)容:2.1DSP的引腳及其功能

2.2DSP的片內(nèi)硬件資源2.3存儲(chǔ)器擴(kuò)展外部接口XINTF2.4DSP片內(nèi)Flash和OTP存儲(chǔ)器2.5代碼安全模塊CSM2/6/20231山東大學(xué)控制學(xué)院張東亮2.6時(shí)鐘與低功耗模式

2.7看門(mén)狗定時(shí)器2.832位

CPU定時(shí)器2.9通用輸入/輸出GPIO2.10片內(nèi)外設(shè)寄存器2.11外設(shè)中斷擴(kuò)展PIE2/6/20232山東大學(xué)控制學(xué)院張東亮2.1DSP的引腳及其功能

下圖分別為T(mén)MS320F2812的176引腳PGFLQFP(Low-ProfileQuadFlatpack)封裝圖和TMS320F2810的128引腳PBKLQFP封裝圖。2/6/20233山東大學(xué)控制學(xué)院張東亮F2812DSP的引腳2/6/20234山東大學(xué)控制學(xué)院張東亮F2810DSP的引腳2/6/20235山東大學(xué)控制學(xué)院張東亮引腳說(shuō)明(見(jiàn)教材表格)XINTF(ExternalInterface)信號(hào):地址(19位)/數(shù)據(jù)(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/OGPIOF或XF輸出引腳。2/6/20236山東大學(xué)控制學(xué)院張東亮XINTF信號(hào):地址/數(shù)據(jù)及存儲(chǔ)器控制信號(hào)引腳XA[18]~XA[0]:19根外部地址線。XD[15]~XD[0]:16根外部數(shù)據(jù)線。:微處理器/微計(jì)算機(jī)模式選擇。:外部保持請(qǐng)求。:外部保持應(yīng)答。:XINTF的Zone0和Zone1選擇。:XINTF的Zone2選擇。:XINTF的Zone6和Zone7選擇。 :寫(xiě)使能。:讀使能。:讀/寫(xiě)選通。XREADY:準(zhǔn)備好信號(hào)。2/6/20237山東大學(xué)控制學(xué)院張東亮TI還推出了F2808、F2806、F2801等型號(hào),其內(nèi)部結(jié)構(gòu)與F2812類(lèi)似,但引腳數(shù)、時(shí)鐘頻率、內(nèi)部資源有所降低,以降低成本。F28xDSP的硬件資源2/6/20238山東大學(xué)控制學(xué)院張東亮F281xDSP的功能框圖2.2DSP的片內(nèi)硬件資源2/6/20239山東大學(xué)控制學(xué)院張東亮2812DSP控制器的結(jié)構(gòu)CPU片內(nèi)存儲(chǔ)器片內(nèi)外設(shè)(片內(nèi)接口電路)2/6/202310山東大學(xué)控制學(xué)院張東亮FastprogramexecutionoutofbothRAMand

Flashmemory100-120MIPSwithFlashAccelerationTechnology150MIPSoutofRAMfortime-criticalcode

ControlPeripherals

MemorySub-SystemEventManagersUltra-Fast12-bitADC12.5MSPSthroughputDualsample&holdsenablesimultaneoussamplingAutoSequencer,upto16conversionsw/oCPUControlPortsMultiplestandardcommunicationportsprovidesimpleinterfacestoothercomponentsCommunicationsPorts150MIPSperformanceSinglecycle32x32-bitMAC(ordual16x16MAC)VeryFastInterruptResponseSinglecycleread-modified-writeF24x/LF240xSourceCodeCompatibleHigh-PerformanceCPU(C28xTMDSPCore)MemoryBus128KwFlash+2KwOTP4KwBootROM18KwRAMCodesecurityXINTF32-bitRegisterFileReal-TimeJTAG32-bit

Timers(3)150MIPsC28xTM32-bitDSP32x32-bit

MultiplierRMWAtomicALU

InterruptManagementEventMgrAEventMgrB12-BitADCWatchdogGPIOMcBSPCAN2.0BSCI-UARTASCI-UARTBSPIPeripheralBusTMS320F2812/TMS320F2810

MostPowerful-MostIntegratedDualFunctionDigitalSignalController2/6/202311山東大學(xué)控制學(xué)院張東亮F281xDSP的功能框圖2/6/202312山東大學(xué)控制學(xué)院張東亮QuarterofaMegabyteofon-chip

FlashMemory128-bitsecurityprotectssoftwareinvestmentFastprogramexecutionoutofboth

RAMandFlashmemory100-120MIPSwithFlashAccelerationTechnology150MIPSoutofRAMfortime-criticalcodeExternalmemoryinterface(XINTF)supportssystemswithlargermemorymodels(upto1MWaddressreach)

MemorySub-SystemUpto128Kx16Flash(8x4Kand6x16KSectors)MemoryBus128KwFlash+2KwOTP4KwBootROM18KwRAMCodesecurityXINTF32-bitRegisterFileReal-TimeJTAG32-bit

Timers(3)C28xTM32-bitDSP32x32-bit

MultiplierRMWAtomicALU

InterruptManagementEventMgrAEventMgrB12-BitADCWatchdogGPIOMcBSPCAN2.0BSCI-UARTASCI-UARTBSPIPeripheralBusOn-ChipFlashMemory2/6/202313山東大學(xué)控制學(xué)院張東亮2812DSP的存儲(chǔ)器映射2/6/202314山東大學(xué)控制學(xué)院張東亮

2810DSP的存儲(chǔ)器映射2/6/202315山東大學(xué)控制學(xué)院張東亮存儲(chǔ)器地址空間281xDSP具有1M存儲(chǔ)空間:包括數(shù)據(jù),程序,I/O空間。片內(nèi)存儲(chǔ)器:

SARAM:M0(000000-0003FFH),1KW SARAM:M1(000400-0007FFH),1KW

片內(nèi)外設(shè):PF0,(000800-000CFFH),2KW

中斷矢量PIEVector-RAM:D00-DFFH,256W

片內(nèi)外設(shè):PF1/2,(006000-007FFFH),8KW SARAM:L0(008000-008FFFH),4KW,安全

SARAM:L1(009000-009FFFH),4KW,安全

OTP:(3D7800-3D7BFFH)1KW,安全

Flash:(3D8000-3F7FFFH),128KW,安全

SARAM:H0(3F8000-3FBFFFH),8KW BootROM:(3FF000-3FFFFFH),4KW2/6/202316山東大學(xué)控制學(xué)院張東亮外部存儲(chǔ)器及I/O擴(kuò)展XINTFZone0/1,Zone2,Zone6/7,1M+32K。通過(guò)數(shù)據(jù)線

XD0-XD15、地址線

XA0-XA18及控制信號(hào)線擴(kuò)展。不論是2812還是2810,“低64K”的存儲(chǔ)器地址范圍映射到24x的數(shù)據(jù)空間;“高64K”的存儲(chǔ)器地址范圍映射到24x的程序空間。24x兼容的代碼只能在“高64K”存儲(chǔ)器中執(zhí)行,因此只有最頂部的32K(0x3F0000~0x3F7FFF)的Flash/ROM和H0SARAM可以用來(lái)運(yùn)行24x兼容的代碼。2/6/202317山東大學(xué)控制學(xué)院張東亮典型的DSP應(yīng)用系統(tǒng)多采用最小系統(tǒng),即系統(tǒng)由一個(gè)F2810DSP芯片加上相應(yīng)的電源、時(shí)鐘、復(fù)位、JTAG電路及應(yīng)用電路構(gòu)成,這種系統(tǒng)也稱(chēng)為單片系統(tǒng)方案(SingleChipSolution)。在程序調(diào)試過(guò)程中,可以先將程序放入到H0SARAM、L0SRAM和L1SARAM中運(yùn)行仿真調(diào)試,對(duì)于程序長(zhǎng)度小于16KW時(shí)比較方便。調(diào)試完成后,再將程序放入Flash存儲(chǔ)器中運(yùn)行。2.3存儲(chǔ)器擴(kuò)展外部接口XINTF對(duì)于較復(fù)雜的DSP應(yīng)用系統(tǒng),程序可能較長(zhǎng)或需要擴(kuò)展一些外部存儲(chǔ)器或外部接口如D/A轉(zhuǎn)換芯片、LCD驅(qū)動(dòng)等,這時(shí)需要采用外部接口(XINTF)。外部存儲(chǔ)器或接口訪問(wèn)速度等可能差別較大,XINTF提供了時(shí)序延長(zhǎng)或加等待機(jī)制來(lái)確保通過(guò)軟件配置實(shí)現(xiàn)對(duì)這些存儲(chǔ)器或外設(shè)的正確接口。2/6/202318山東大學(xué)控制學(xué)院張東亮DSP存儲(chǔ)器擴(kuò)展CY7C1024V33:256K×16位仿真調(diào)試程序(譯碼電路)2/6/202319山東大學(xué)控制學(xué)院張東亮

2812DSP外部接口分區(qū)XINTF2/6/202320山東大學(xué)控制學(xué)院張東亮?xí)r鐘XTIMCLK和SYSCLKOUT的關(guān)系示意圖2/6/202321山東大學(xué)控制學(xué)院張東亮XINTF對(duì)外訪問(wèn)時(shí)序被分成三個(gè)階段,即起始(Lead)階段、激活(Active)階段和收尾(Trail)階段。XINTF對(duì)不同的地址區(qū)域進(jìn)行訪問(wèn)時(shí),可以通過(guò)對(duì)應(yīng)各區(qū)的XTIMING寄存器對(duì)訪問(wèn)時(shí)序加等待狀態(tài)進(jìn)行延時(shí),等待狀態(tài)可配置為若干個(gè)XTIMCLK的周期數(shù)。對(duì)訪問(wèn)時(shí)序進(jìn)行配置依賴(lài)于F2812的工作頻率SYSCLKOUT和XINTF的定時(shí)時(shí)鐘XTIMCLK。2/6/202322山東大學(xué)控制學(xué)院張東亮

XINTF的寄存器

2/6/202323山東大學(xué)控制學(xué)院張東亮XINTF時(shí)序寄存器XTIMINGx(x=0,1,2,6,7):XINTF時(shí)序寄存器XTIMINGx用來(lái)配置建立/保持和等待時(shí)間。Bit31-232221-1817-161514…10名稱(chēng)ReservedX2TIMINGReservedXSIZEREADYMODEXWRTAIL2/6/202324山東大學(xué)控制學(xué)院張東亮XINTF配置寄存器XINTCNF22/6/202325山東大學(xué)控制學(xué)院張東亮XINTF的Bank寄存器XBANKXINTF寄存器初始化。2/6/202326山東大學(xué)控制學(xué)院張東亮Flash存儲(chǔ)器的特點(diǎn)。Flash和OTP的功耗模式。Flash和OTP的性能。Flash流水線模式。Flash和OTP寄存器。2.4DSP片內(nèi)Flash和OTP存儲(chǔ)器2/6/202327山東大學(xué)控制學(xué)院張東亮多個(gè)分區(qū)。有代碼安全保護(hù)。有低功耗模式??筛鶕?jù)CPU頻率調(diào)整的等待狀態(tài)??商岣咝阅艿牧魉€模式。Flash存儲(chǔ)器的特點(diǎn)2/6/202328山東大學(xué)控制學(xué)院張東亮Flash和OTP的功耗模式SleepMode休眠模式StandbyMode備用模式ActiveMode活躍模式2/6/202329山東大學(xué)控制學(xué)院張東亮Flash和OTP的性能32位取指令。16位或32位數(shù)據(jù)空間讀操作。16位程序空間讀操作。Flash存儲(chǔ)器隨機(jī)存取。Flash存儲(chǔ)器頁(yè)面存取。OTP操作。2/6/202330山東大學(xué)控制學(xué)院張東亮Flash和OTP配置寄存器

2/6/202331山東大學(xué)控制學(xué)院張東亮代碼安全模塊CSM(CodeSecurityModule)可以防止未被授權(quán)的人看到片內(nèi)存儲(chǔ)器的內(nèi)容,防止對(duì)受保護(hù)的代碼進(jìn)行復(fù)制和反向工程。代碼安全模塊的功能CSM對(duì)其他片內(nèi)資源的影響代碼安全功能的使用2.5代碼安全模塊2/6/202332山東大學(xué)控制學(xué)院張東亮受CSM影響的片內(nèi)資源地址塊0x8000~0x8FFFL0SARAM(4KW)0x9000~0x9FFFL1SARAM(4KW)0x3D7800~0x3D7BFFOTP(1KW)0x3D8000~0x3F7FFFFlash(128/64KW)2/6/202333山東大學(xué)控制學(xué)院張東亮CSM的狀態(tài)和控制寄存器CSMCRBit1514-76-10名稱(chēng)FORCESECReservedReservedSECURE復(fù)位值W-1R-0R-10111R-1D15,FORCESEC位:寫(xiě)1可以清除KEY寄存器,并使DSP安全。D0,SECURE:只讀位,反映了DSP目前的狀態(tài)。

1DSP安全,CSM鎖定。

0DSP不安全,CSM被解鎖。2/6/202334山東大學(xué)控制學(xué)院張東亮密碼匹配流程PMF2/6/202335山東大學(xué)控制學(xué)院張東亮解除DSP對(duì)L0和L1的安全保護(hù)的C語(yǔ)言程序。 int i5,i; volatileint*PWL; //PWL指針 PWL=&CsmPwl.PSWD0; //指向PSWD0處,即0x3F7FF8處 for(i5=0;i5<8;i5++)i=*PWL++; //進(jìn)行8次虛讀 //如果PWL=全1,以下代碼對(duì)未保護(hù)的CSM是不必要的。 //向關(guān)鍵字寄存器寫(xiě)密碼 //asm(“EALLOW”); //密碼寄存器受EALLOW保護(hù) //CsmReg.KEY0=PASSWORD0; … //CsmReg.KEY7=PASSWORD7; //asm(“EDIS”); 2/6/202336山東大學(xué)控制學(xué)院張東亮重新保護(hù)的C代碼volatileint*PWL=0x0AE0; //CSM寄存器文件,設(shè)置FORCESEC位asm(“EALLOW”); //CSMSCR寄存器受EALLOW保護(hù)*PWL=0x8000;asm(“EDIS”);2/6/202337山東大學(xué)控制學(xué)院張東亮

不同外設(shè)的時(shí)鐘和復(fù)位電路系統(tǒng)時(shí)鐘SYSCLKOUT即輸入時(shí)鐘CLKIN外部輸入時(shí)鐘X1/XCLKIN即OSCCLK2.6時(shí)鐘與低功耗模式

1.時(shí)鐘2/6/202338山東大學(xué)控制學(xué)院張東亮外設(shè)時(shí)鐘控制寄存器PCLKCRD15,D13,D9,D7-4Reserved保留位。D14ECANENCLK,若設(shè)為1,則使能CAN外設(shè)中的系統(tǒng)時(shí)鐘SYSCLKOUT。否則禁止,可以降低功耗。D12MCBSPENCLK,若設(shè)為1,則使能McBSP外設(shè)中的低速時(shí)鐘LSPCLK。D11SCIBENCLK,若設(shè)為1,則使能SCI-B外設(shè)中的低速時(shí)鐘LSPCLK。D10SCIAENCLK,若設(shè)為1,則使能SCI-A外設(shè)中的低速時(shí)鐘LSPCLK。D8SPIBENCLK,若設(shè)為1,則使能SPI外設(shè)中的低速時(shí)鐘LSPCLK。D3ADCENCLK,若設(shè)為1,則使能ADC外設(shè)中的高速時(shí)鐘HSPCLK。D2Reserved位。D1EVBENCLK,若設(shè)為1,則使能EVB外設(shè)中的高速時(shí)鐘HSPCLK。D0EVAENCLK,若設(shè)為1,則使能EVA外設(shè)中的高速時(shí)鐘HSPCLK。2/6/202339山東大學(xué)控制學(xué)院張東亮系統(tǒng)控制與外設(shè)狀態(tài)寄存器SCSRD15-3:ReservedD2:WDINTS,看門(mén)狗WD中斷狀態(tài)位。D1:WDENINT,看門(mén)狗WD中斷使能位。如果設(shè)為1,則WD復(fù)位WDRST輸出信號(hào)禁止,看門(mén)狗WD中斷使能。D0:WDOVERRIDE,WD保護(hù)位。該位是一個(gè)只能清除的位,復(fù)位后=1。通過(guò)向該位寫(xiě)1對(duì)其清0。為0保護(hù)WD,防止WD被軟件禁止。2/6/202340山東大學(xué)控制學(xué)院張東亮低速外設(shè)時(shí)鐘定標(biāo)寄存器LOSPCP若HSPCP不為0,則HSPCLK=SYSCLKOUT/(2*HISPCP2~0)。復(fù)位時(shí),默認(rèn)值001,HSPCLK=SYSCLKOUT/2若HSPCP=0,則HSPCLK=SYSCLKOUT15-32-0ReservedHSPCLK高速外設(shè)時(shí)鐘定標(biāo)寄存器HISPCP若LOSPCP不為0,則LSPCLK=SYSCLKOUT/(2*LOSPCP2~0)。復(fù)位時(shí),默認(rèn)值010,LSPCLK=SYSCLKOUT/4若HSPCP=0,則LSPCLK=SYSCLKOUT15-32-0ReservedLSPCLK2/6/202341山東大學(xué)控制學(xué)院張東亮?xí)r鐘電路振蕩器OSC和鎖相環(huán)PLL模塊2.振蕩器和鎖相環(huán)2/6/202342山東大學(xué)控制學(xué)院張東亮若DIV=0(復(fù)位值),則CLKIN=OSCCLK/2。若DIV=0001~1010,則CLKIN=OSCCLK*DIV/2。15-43-0ReservedDIV鎖相環(huán)倍頻寄存器PLLCR2/6/202343山東大學(xué)控制學(xué)院張東亮voidInitSysCtrl(void) //系統(tǒng)初始化子程序{

EALLOW; //#defineEALLOWasm(“EALLOW”)宏定義SysCtrlRegs.PLLCR=0x000A; //初始化鎖相環(huán),OSCCLK=30MHz //DIV=0x0A,CLKIN=30MHz*10/2=150MHz asm(“NOP”); asm(“NOP”); for(i=0;i<3000;i++){;} //延時(shí),等待鎖相環(huán)穩(wěn)定

SysCtrlRegs.HISPCP.all=0x0000;//HSPCLK=SYSCLKOUT=150MHz SysCtrlRegs.LOSPCP.all=0x0002;//LSPCLK=SYSCLKOUT/4=37.5MHz SysCtrlRegs.PCLKCR.bit.EVAENCLK=1; //使能EVA SysCtrlRegs.PCLKCR.bit.EVBENCLK=1; //使能EVB SysCtrlRegs.PCLKCR.bit.SCIENCLKA=1; //使能SCI_A// SysCtrlRegs.PCLKCR.bit.SCIENCLKB=1;//不用的外設(shè)不使能,以降低功耗 SysCtrlRegs.PCLKCR.bit.ADCENCLK=1; //使能ADC EDIS;

//#defineEDISasm(“EDIS”)宏定義}時(shí)鐘模塊和鎖相環(huán)初始化C語(yǔ)言編程。2/6/202344山東大學(xué)控制學(xué)院張東亮除正常(Normal)工作模式外,F(xiàn)281x有3種低功耗模式:IDLE(空閑)模式HALT(停止)模式STANDBY(備用)模式低功耗模式控制寄存器0:LPMCR0低功耗模式控制寄存器1:LPMCR13.低功耗模式2/6/202345山東大學(xué)控制學(xué)院張東亮F281x低功耗模式2/6/202346山東大學(xué)控制學(xué)院張東亮281xDSP內(nèi)置了一個(gè)看門(mén)狗定時(shí)器(WDT),用來(lái)監(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ù)寄存器:WDCNTRWD復(fù)位鑰匙寄存器:WDKEYWD定時(shí)器控制寄存器:WDCR2.7看門(mén)狗定時(shí)器2/6/202347山東大學(xué)控制學(xué)院張東亮看門(mén)狗(Watchdog)模塊(OSCCLK=XCLKIN)2/6/202348山東大學(xué)控制學(xué)院張東亮8位WD計(jì)數(shù)寄存器:WDCNTRWD復(fù)位鑰匙寄存器:WDKEYWDKEY:如果先寫(xiě)入0x55,再寫(xiě)入0xAA后就會(huì)使WDCNTR清零。寫(xiě)入任何其他數(shù)值則馬上使DSP復(fù)位。讀操作返回的是WDCR寄存器的值。2/6/202349山東大學(xué)控制學(xué)院張東亮WD定時(shí)器控制寄存器:WDCR位7WDFLAG:看門(mén)狗復(fù)位狀態(tài)標(biāo)志位。如果為1,表示看門(mén)狗復(fù)位;為0,表示是外部復(fù)位或上電復(fù)位。該位寫(xiě)1清除,否則狀態(tài)一直保持。位6WDDIS:向該位寫(xiě)1,禁止看門(mén)狗模塊;寫(xiě)0,使能看門(mén)狗模塊。復(fù)位值為0,看門(mén)狗模塊使能。只有在SCSR寄存器中的WDOVERRIDE位設(shè)為1后才能修改該位。位5~3WDCHK:任何時(shí)候?qū)懺摷拇嫫?,用?hù)都必須向這些位寫(xiě)入101。寫(xiě)入任何其他數(shù)值都會(huì)引起復(fù)位(如果看門(mén)狗使能)。位2~0WDPS:這些位用來(lái)配置看門(mén)狗時(shí)鐘WDCLK。2/6/202350山東大學(xué)控制學(xué)院張東亮位2~0WDPS:這些位用來(lái)配置看門(mén)狗時(shí)鐘WDCLK。000 WDCLK=OSCCLK/512/1001 WDCLK=OSCCLK/512/1010 WDCLK=OSCCLK/512/2011 WDCLK=OSCCLK/512/4100 WDCLK=OSCCLK/512/8101 WDCLK=OSCCLK/512/16110 WDCLK=OSCCLK/512/32111 WDCLK=OSCCLK/512/64,OSCCLK為振蕩器頻率。2/6/202351山東大學(xué)控制學(xué)院張東亮禁止看門(mén)狗定時(shí)器C語(yǔ)言程序。 EALLOW; //#defineEALLOWasm(“EALLOW”)宏定義 SysCtrlRegs.WDCR=0x0068;//屏蔽看門(mén)狗 EDIS;

//#defineEDISasm(“EDIS”)宏定義 InitSysCtrl() //系統(tǒng)初始化子程序使用看門(mén)狗定時(shí)器的C語(yǔ)言程序段。EALLOW; //宏定義#defineEALLOWasm(“EALLOW”),解除保護(hù)SysCtrlRegs.WDKEY=0x55;SysCtrlRegs.WDKEY=0xAA;//周期性寫(xiě)入0x55,0xAA,使WDCNTR清零EDIS; //宏定義#defineEDISasm(“EDIS”),設(shè)置保護(hù)2/6/202352山東大學(xué)控制學(xué)院張東亮CPU定時(shí)器F281x與240x相比,增加了三個(gè)32位CPU定時(shí)器0/1/2。CPU定時(shí)器1和2保留給實(shí)時(shí)操作系統(tǒng)(RTOS),只有CPU定時(shí)器0留給用戶(hù)使用。2.832位CPU定時(shí)器2/6/202353山東大學(xué)控制學(xué)院張東亮CPU定時(shí)器中斷信號(hào)和輸出信號(hào)2/6/202354山東大學(xué)控制學(xué)院張東亮1.數(shù)字并行I/O端口概述

2812DSP有56個(gè)通用雙向的數(shù)字I/O(GPIO,GeneralPurposeI/O)引腳,其中大多數(shù)都是基本功能和通用I/O復(fù)用引腳。2.9通用輸入/輸出GPIO通用I/O復(fù)用寄存器可以設(shè)置281x的部分引腳功能。這些因腳可以通過(guò)GPxMUX寄存器分別設(shè)置成外設(shè)I/O端口或通用數(shù)字I/O端口,其中x代表不同的端口(A、B、D、E、F和G)。2/6/202355山東大學(xué)控制學(xué)院張東亮2.通用I/O的多路選擇引腳的功能可以通過(guò)如下的16位控制寄存器設(shè)置:I/O復(fù)用控制寄存器也稱(chēng)為多路選擇寄存器(GPxMUX,x=A,B,D,E,F,G):用來(lái)選擇I/O端口作為基本片內(nèi)外設(shè)功能或通用I/O功能。1:基本片內(nèi)外設(shè)功能。0:通用I/O功能。方向控制寄存器(GPxDIR):用來(lái)選擇通用I/O的數(shù)據(jù)方向。1:輸出方式;0:輸入方式。輸入限制(即輸入尖脈沖濾波)控制寄存器GPyQUAL,y=A,B,D,E。I/O復(fù)用控制寄存器2/6/202356山東大學(xué)控制學(xué)院張東亮如果配置為通用數(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可以讀寫(xiě)各個(gè)I/O信號(hào)。2/6/202357山東大學(xué)控制學(xué)院張東亮GPIO工作模式框圖2/6/202358山東大學(xué)控制學(xué)院張東亮通過(guò)輸入限定的方法消除噪聲輸入尖脈沖濾波時(shí)鐘周期數(shù)2/6/202359山東大學(xué)控制學(xué)院張東亮3.數(shù)字I/O端口寄存器每個(gè)通用I/O引腳受復(fù)用控制(MUX)、方向、數(shù)據(jù)、設(shè)置、清除和翻轉(zhuǎn)寄存器的控制。I/O復(fù)用控制寄存器(GPxMUX,x=A,B,D,E,F,G):用來(lái)選擇I/O端口作為基本片內(nèi)外設(shè)功能或通用I/O功能即多路選擇。1:基本片內(nèi)外設(shè)功能。方向控制寄存器(GPxDIR):用來(lái)選擇一般I/O的數(shù)據(jù)方向。

1:輸出方式;0:輸入方式數(shù)據(jù)寄存器GPxDAT

用來(lái)讀寫(xiě)數(shù)據(jù)。輸入限制控制寄存器GPyQUAL,y=A,B,D,E。2/6/202360山東大學(xué)控制學(xué)院張東亮GPxSET寄存器每個(gè)I/O口有一個(gè)設(shè)置寄存器,只能寫(xiě)。如果引腳配置成輸出,則向寄存器中寫(xiě)1可以使輸出為1,寫(xiě)0沒(méi)有影響。

GPxCLEAR寄存器每個(gè)I/O口有一個(gè)清0寄存器,只能寫(xiě)。如果引腳配置成輸出,則向寄存器中寫(xiě)1可以使輸出清0,寫(xiě)0沒(méi)有影響。

GPxTOGGLE寄存器每個(gè)I/O口有一個(gè)翻轉(zhuǎn)寄存器,只能寫(xiě)。如果引腳配置成輸出,則向寄存器中寫(xiě)1,可以使輸出發(fā)生翻轉(zhuǎn),即原來(lái)為1則變?yōu)?,原來(lái)為0則變?yōu)?,寫(xiě)0沒(méi)有影響。

2/6/202361山東大學(xué)控制學(xué)院張東亮GPIO初始化C語(yǔ)言程序?qū)嵗?include“DSP281x_Device.h” //包含片內(nèi)外設(shè)寄存器頭文件

voidInitGPIO(void) //GPIO初始化子程序{ asm(“EALLOW”); //解除寫(xiě)保護(hù) GpioMuxRegs.GPAMUX.all=0x077F; //EVA:CAP1~3,PWM1-6,T1PWM

GpioMuxRegs.GPADIR.all=0x01880; //方向,GPIOA12,11,7為輸出

… GpioMuxRegs.GPGMUX.bit.SCITXDB_GPIO4=1; //TXDB GpioMuxRegs.GPGMUX.bit.SCIRXDB_GPIO5=1; //RXDB asm(“EDIS”); //恢復(fù)寫(xiě)保護(hù)

}2/6/202362山東大學(xué)控制學(xué)院張東亮2.10片內(nèi)外設(shè)寄存器外設(shè)寄存器空間DSP控制器片內(nèi)外設(shè)的功能是通過(guò)片內(nèi)外設(shè)寄存器實(shí)現(xiàn)的。這些寄存器被安排在3個(gè)數(shù)據(jù)存儲(chǔ)器地址空間,分別是:(1)外設(shè)幀0(PeripheralFrame0,PF0)。這些外設(shè)寄存器直接映射到CPU存儲(chǔ)器總線,支持16位和32位訪問(wèn)。(2)外設(shè)幀1(PF1)。這些外設(shè)寄存器映射到32位外設(shè)總線,支持16位和32位訪問(wèn),所有32位操作對(duì)齊到偶數(shù)地址邊界。(3)外設(shè)幀2(PF2)。這些外設(shè)寄存器映射到16位外設(shè)總線,只允許16位訪問(wèn),32位操作被忽略。2/6/202363山東大學(xué)控制學(xué)院張東亮外設(shè)幀0寄存器2/6/202364山東大學(xué)控制學(xué)院張東亮外設(shè)幀1寄存器2/6/202365山東大學(xué)控制學(xué)院張東亮外設(shè)幀2寄存器2/6/202366山東大學(xué)控制學(xué)院張東亮2.受EALLOW保護(hù)的寄存器281x中有許多外設(shè)控制寄存器受EALLOW保護(hù),即CPU不能寫(xiě)。CPU狀態(tài)寄存器ST1的EALLOW位(ST1.6)指明了寄存器的保護(hù)狀態(tài)。受EALLOW保護(hù)的寄存器有:DSP仿真寄存器、Flash寄存器、CSM寄存器、PIE向量表、系統(tǒng)控制寄存器、GPIOMUX寄存器、特定的eCAN寄存器。2/6/202367山東大學(xué)控制學(xué)院張東亮2.11外設(shè)中斷擴(kuò)展PIE外設(shè)中斷擴(kuò)展模塊PIE(PeripheralInterruptExpansion)將高達(dá)96個(gè)中斷源每8個(gè)一組,共12個(gè)中斷信號(hào)送入CPU(INT1~INT12)。1.PIE控制器F281xCPU支持一個(gè)不可屏蔽中斷和16個(gè)可屏蔽中斷(INT1~INT14,CPU實(shí)時(shí)操作系統(tǒng)中斷RTOSINT,CPU數(shù)據(jù)記錄中斷DLOGINT)。281x有許多外設(shè),每個(gè)外設(shè)都可以產(chǎn)生一個(gè)或多個(gè)中斷請(qǐng)求,需要一種集中外設(shè)所有中斷的控制器PIE來(lái)裁定從不同中斷源來(lái)的中斷請(qǐng)求。2/6/202368山東大學(xué)控制學(xué)院張東亮MultiplexingofInterruptsUsingthePIEBlock采用PIE模塊的外設(shè)中斷信號(hào)多路傳送2/6/202369山東大學(xué)控制學(xué)院張東亮(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=1~12,y=1~8),可以送到PIE控制器。(2)PIE級(jí)PIE部分的每一個(gè)中斷都有一個(gè)中斷標(biāo)志位PIEIFRx.y和一個(gè)中斷使能位PIEIERx.y。對(duì)每個(gè)CPU中斷組INT1~INT12都有一個(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è)層次:2/6/202370山東大學(xué)控制學(xué)院張東亮典型的PIE/CPU中斷響應(yīng)過(guò)程2/6/202371山東大學(xué)控制學(xué)院張東亮DSP內(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。)2/6/202372山東大學(xué)控制學(xué)院張東亮2.中斷矢量表映射在C28X系列DSP中,中斷矢量表可以映射到5個(gè)不同的區(qū)間:M1SARAM,M0SARAM,BROM,XINTFZone7塊,PIE矢量塊。但在F2812/F2810中,只有PIE矢量表可以使用。復(fù)位后PIE矢量表是空的,初始化程序應(yīng)將矢量表從Flash中復(fù)制到PIE矢量表中來(lái),然后使能PIE矢量表,即令ENPIE=1,此后中斷矢量從PIE矢量表中取地址。2/6/202373山東大學(xué)控制學(xué)院張東亮PIE中斷矢量表映射2/6/202374山東大學(xué)控制學(xué)院張東亮PIE中斷矢量表2/6/202375山東大學(xué)控制學(xué)院張東亮2/6/202376山東大學(xué)控制學(xué)院張東亮3.中斷源中斷源2/6/202377山東大學(xué)控制學(xué)院張東亮片內(nèi)外設(shè)中斷與外部引腳中斷XINT1和XINT2全部連接到了PIE中,共組成了12個(gè)中斷組。2/6/202378山東大學(xué)控制學(xué)院張東亮CPU中斷PIE中斷INTx.1INTx.2INTx.3INTx.4INTx.5INTx.6INTx.7INTx.8INTlPDPINTA(EV-A)PDPINTB(EV-B)reservedXINTlXINT2ADCINT(ADC)TINT0(TIMER0)WAKEINT(LPM/WD)INT2CMP1INT(EV-A)CMP2INT(EV-A)CMP3INT(EV-A)T1PINT(EV-A)T1CINT(EV-A)T1UFINT(EV-A)T1OFINT(EV-A)reservedINT3T2PINT(EV-A)T2CINT(EV-A)T2UFINT(EV-A)T2OFINT(EV-A)CAPINT1(EV-A)CAPINT2(EV-A)CAPINT3(EV-A)reservedINT4CMP4INT(EV-B)CMP5INT(EV-B)CMP6INT(EV-B)T3PINT(EV-B)T3CINT(EV-B)T3UFINT(EV-B)T3OFINT(EV-B)reservedINT5T4PINT(EV-B)T4CINT(EV-B)T4UFINT(EV-B)T4OFINT(EV-B)CAPINT4(EV-B)CAPINT5(EV-B)CAPINT6(EV-B)reservedINT6SPIRXINTA(SPI)SPITXINTA(SPI)reservedreservedMRINT(McBSP)MXINT(McBSP)reservedreservedINT7reservedreservedreservedreservedreservedreservedreservedreservedINT8reservedreservedreservedreservedreservedreservedreservedreservedINT9SCIRXINTA(SCI-A)SCITXINTA(SCI-A)SCIRXINTB(SCI-B)SCITXINTB(SCI-B)ECAN0INT(CAN)ECANlINT(CAN)reservedreservedINT10reservedreservedreservedreservedreservedreservedreservedreservedINT11reservedreservedreservedreservedreservedreservedreservedreservedINT12reservedreservedreservedreservedreservedreservedreservedreservedPIE外設(shè)中斷2/6/202379山東大學(xué)控制學(xué)院張東亮4.PIE配置和控制寄存器PIECRLPIE控制寄存器PIEACK PIE應(yīng)答寄存器PIEIERx(x=1~12)INTx組使能寄存器PIEIFRx(x=1~12)INTx組標(biāo)志寄存器2/6/202380山東大學(xué)控制學(xué)院張東亮PIE控制寄存器PIECRLD15~1,PIEVECT,表示從矢量表中取出的矢量地址。D0,ENPIE,使能矢量獲取。PIE應(yīng)答寄存器PIEACKD11~0,PIEACK,寫(xiě)入1到對(duì)應(yīng)的中斷位可以清除該位,清除后當(dāng)該組的中斷申請(qǐng)到來(lái)時(shí),允許PIE向CPU申請(qǐng)中斷。2/6/202381山東大學(xué)控制學(xué)院張東亮PIE中斷標(biāo)志寄存器PIEIFRx,x=1~12D7~0,INTx.8~INTx.1,表示中斷是否激活。類(lèi)似CPU中斷標(biāo)志位。當(dāng)一個(gè)中斷激活時(shí),相應(yīng)位置1。2/6/202382山東大學(xué)控制學(xué)院張東亮D7~0,INTx.8~INTx.1,表示中斷使能。類(lèi)似CPU中斷使能位。PIE中斷使能寄存器PIEIERx,x=1~122/6/202383山東大學(xué)控制學(xué)院張東亮D15:RTOSINT。D14:DLOGINTflag,D14=1有中斷申請(qǐng)。向該位寫(xiě)1,可清除中斷請(qǐng)求。D13~D0:為INT14~INT1中斷申請(qǐng)標(biāo)志。CPU中斷標(biāo)志寄存器IFR(InterruptFlagRegister)地址0006H2/6/202384山東大學(xué)控制學(xué)院張東亮CPU中斷使能寄存器IER

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論