版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第二章第二章 TMS320X2812的結(jié)構(gòu)、資源及性能的結(jié)構(gòu)、資源及性能 本章內(nèi)容:本章內(nèi)容: 2.1 DSP的性能指標的性能指標 DSP芯片引腳及其功能芯片引腳及其功能 2.2 DSP片內(nèi)硬件資源片內(nèi)硬件資源 片內(nèi)片內(nèi)FLASH和和OTP存儲器存儲器 2.3 時鐘與系統(tǒng)控制時鐘與系統(tǒng)控制 32位位CPU定時器定時器 2.4 通用輸入通用輸入/輸出輸出GPIO 2.5 外設(shè)中斷擴展外設(shè)中斷擴展PIE 2.6 中央處理器單元中央處理器單元2.1 TMS320F2812的性能指標的性能指標 F2812的主要特點:的主要特點: 采用高性能的靜態(tài)采用高性能的靜態(tài)CMOS技術(shù),時鐘頻率可達技術(shù),時鐘頻率
2、可達150MHz(6.67ns);核心電壓:);核心電壓:1.8V;I/O口口電壓和電壓和Flash編程電壓:編程電壓:3.3V 32位位CPU,可實現(xiàn),可實現(xiàn)1616位和位和3232位乘法位乘法操作,哈佛總線結(jié)構(gòu),尋址程序空間可達操作,哈佛總線結(jié)構(gòu),尋址程序空間可達4MB,尋址數(shù)據(jù)空間可達尋址數(shù)據(jù)空間可達4GB 采用采用PLL來控制系統(tǒng)各模塊所需頻率來控制系統(tǒng)各模塊所需頻率 3個個32位的位的CPU定時器和適合電機等控制的事件定時器和適合電機等控制的事件管理模塊管理模塊EVA和和EVB 很強的外圍通信功能,包括同步串行口很強的外圍通信功能,包括同步串行口SPI,通,通用異步串行口用異步串行口
3、SCI,增強的,增強的eCAN和多通道緩存串行和多通道緩存串行口口MCBSP 16個通道、個通道、12位精度的位精度的A/D轉(zhuǎn)換器轉(zhuǎn)換器 56個多路通用輸入個多路通用輸入/輸出輸出(GPIO)引腳等等引腳等等2.1 TMS320F2812的性能指標特特 征征F2810F2812指令周期(指令周期(150MHz)6.67ns6.67nsSRAM(16位位/字)字)18K18K3.3V片內(nèi)片內(nèi)Flash(16位位/字)字)64K128K片內(nèi)片內(nèi)Flash/SRAM的密鑰的密鑰有有有有Boot ROM有有有有掩膜掩膜ROM有有有有外部存儲器接口外部存儲器接口無無有有事件管理器事件管理器A和和B(EV
4、A和和EVB)EVA、EVBEVA、EVB *通用定時器通用定時器44 *比較寄存器比較寄存器/脈寬調(diào)制脈寬調(diào)制1616 *捕獲捕獲/正交解碼脈沖電路正交解碼脈沖電路6/26/2看門狗定時器看門狗定時器有有有有12位的位的ADC有有有有 *通道數(shù)通道數(shù)1616F2810F2810和和F2812F2812的的硬件特征(硬件特征(1 1)F2810F2810和和F2812F2812的的硬件特征(硬件特征(2 2)特特 征征F2810F281232位的位的CPU定時器定時器33串行外圍接口串行外圍接口有有有有串行通信接口(串行通信接口(SCI)A和和BSCIA、SCIBSCIA、SCIB控制器局域網(wǎng)
5、絡(luò)控制器局域網(wǎng)絡(luò)有有有有多通道緩沖串行接口多通道緩沖串行接口有有有有數(shù)字輸入數(shù)字輸入/輸出引腳(共享)輸出引腳(共享)有有有有外部中斷源外部中斷源33供電電壓供電電壓核心電壓核心電壓1.8VI/O電壓電壓3.3V核心電壓核心電壓1.8VI/O電壓電壓3.3V封裝封裝128針針PBK179針針GHH,176針針PGF溫度選擇:溫度選擇:A:- -40 +85 S:- -40 +125PBK僅適用于僅適用于TMSPGF和和GHH僅適用于僅適用于TMS TMS320F281x芯片引腳及其功能芯片引腳及其功能了解引腳信號了解引腳信號名稱、功能、名稱、功能、特性、狀態(tài)特性、狀態(tài)圖圖1 TMS320F28
6、12的頂視圖的頂視圖F2812-176引腳封裝底視圖引腳封裝底視圖 F281x的引腳的引腳1、GPIO(General Purpose Input/Output pin):56個,既個,既可作為一般的數(shù)字可作為一般的數(shù)字I/O口,又可作為外設(shè)功能引腳,口,又可作為外設(shè)功能引腳,如如PWM、eCAN等等2、外部存儲器接口、外部存儲器接口XINTF:45個個3、電源和地:、電源和地:38個個4、A/D轉(zhuǎn)換相關(guān):轉(zhuǎn)換相關(guān):23個個5、JTAG接口有關(guān):接口有關(guān):7個個 所有所有數(shù)字輸入數(shù)字輸入引腳的電平均與引腳的電平均與TTL兼容兼容,輸出輸出引腳引腳均為均為3.3V CMOS電平電平,輸入不能承受
7、輸入不能承受5V電壓電壓上拉電流上拉電流/下拉電流均為下拉電流均為100A(20A) 所有引腳的輸出緩沖器驅(qū)動能力(有輸出功能的)典型值是所有引腳的輸出緩沖器驅(qū)動能力(有輸出功能的)典型值是4mA。2.2 DSP片內(nèi)硬件資源片內(nèi)硬件資源 TMS320F281x主要由主要由C28x核的核的CPU(C28x CPU)、)、系統(tǒng)時鐘控制模塊(系統(tǒng)控制部分)、事件和外設(shè)管理模塊系統(tǒng)時鐘控制模塊(系統(tǒng)控制部分)、事件和外設(shè)管理模塊(EVA、EVB和外設(shè)中斷控制等),片內(nèi)存儲模塊(和外設(shè)中斷控制等),片內(nèi)存儲模塊(FLASH、ROM、RAM等)、等)、CPU定時器模塊定時器模塊(CPU定時器定時器)、12
8、位位A/D轉(zhuǎn)換模塊(轉(zhuǎn)換模塊(12bit ADC)、擴展接口模塊(擴展接口)、以)、擴展接口模塊(擴展接口)、以及內(nèi)部總線等構(gòu)成。及內(nèi)部總線等構(gòu)成。圖圖2 F281x2 F281x片內(nèi)外設(shè)連接框圖片內(nèi)外設(shè)連接框圖 外部擴展總線和內(nèi)部總線外部擴展總線和內(nèi)部總線 擴展接口:擴展接口:A18-A0和和D15-D0是表示是表示2812外部擴存儲外部擴存儲器的能力,器的能力,2812外擴的存儲空間最大是外擴的存儲空間最大是219*16 bit(512K)。)。 F281x的內(nèi)部存儲器空間被分成了的內(nèi)部存儲器空間被分成了2塊,一塊是程序塊,一塊是程序空間,一塊是數(shù)據(jù)空間,對它們的訪問通過地址總空間,一塊是
9、數(shù)據(jù)空間,對它們的訪問通過地址總線和數(shù)據(jù)總線進行。線和數(shù)據(jù)總線進行。281x的存儲器接口具有的存儲器接口具有3條地條地址總線和址總線和3條數(shù)據(jù)總線。條數(shù)據(jù)總線。PAB (Program Address Bus):):32位程序地址總位程序地址總線,用于傳送程序空間的讀寫地址。線,用于傳送程序空間的讀寫地址。 DRAB(Data-Read Address Bus):):32位數(shù)據(jù)讀地位數(shù)據(jù)讀地址總線,用于傳送數(shù)據(jù)空間的讀地址。址總線,用于傳送數(shù)據(jù)空間的讀地址。 DWAB(Data-Write Address Bus):):32位數(shù)據(jù)寫地位數(shù)據(jù)寫地址總線,用于傳送數(shù)據(jù)空間寫地址。址總線,用于傳送數(shù)
10、據(jù)空間寫地址。 PRDW(Program-Read Data Bus):):32位程序讀位程序讀數(shù)據(jù)總線,用于傳送讀取程序空間時的指令或者數(shù)據(jù)。數(shù)據(jù)總線,用于傳送讀取程序空間時的指令或者數(shù)據(jù)。DRDB(Data-Read Data Bus):):32位數(shù)據(jù)讀數(shù)據(jù)位數(shù)據(jù)讀數(shù)據(jù)總線,用來讀取數(shù)據(jù)空間的數(shù)據(jù)??偩€,用來讀取數(shù)據(jù)空間的數(shù)據(jù)。 DWDB(Data/Program-Write Data Bus):):32位數(shù)位數(shù)據(jù)據(jù)/程序?qū)憯?shù)據(jù)總線,向數(shù)據(jù)空間程序?qū)憯?shù)據(jù)總線,向數(shù)據(jù)空間/程序空間寫相應(yīng)的數(shù)程序空間寫相應(yīng)的數(shù)據(jù)。據(jù)。l128K16位位FLASHl18K16位位RAM:分成:分成 M0,M1(
11、4k)、)、L0,L1(1k) 和和 H0(8k) 5塊塊l1K16位位OTP ROMl4K16位位BootROMlBoot ROM出廠時固化了出廠時固化了Boot Loader軟件,根據(jù)引導信號確定上電軟件,根據(jù)引導信號確定上電引導裝載方式,可從引導裝載方式,可從Flash引導裝載程序,也可從外部存引導裝載程序,也可從外部存儲器引導程序儲器引導程序包括一些標準的數(shù)學運算表(數(shù)學函數(shù)庫)等。包括一些標準的數(shù)學運算表(數(shù)學函數(shù)庫)等。F2812內(nèi)存內(nèi)存TMS320F2812存儲空間的映射存儲空間的映射SP復位時指向復位時指向M1塊的起塊的起始地址始地址;FLASH存儲器由存儲器由4個個8K16位
12、的扇區(qū)和位的扇區(qū)和6個個16K16位的扇區(qū)組成,位的扇區(qū)組成,用戶可對其中任何一個扇用戶可對其中任何一個扇區(qū)進行擦除、編程和校驗區(qū)進行擦除、編程和校驗18K16位位RAM:分成:分成 M0,M1(4k)、)、L0,L1(1k) 和和 H0(8k) 5塊塊外部存儲器外部存儲器XINTF 提供提供5個擴展地址空間(個擴展地址空間(Zone0、1、2、6、7),每個空間設(shè)置一個片選(低電平有效),每個空間設(shè)置一個片選(低電平有效) XINTF外部引腳有外部引腳有16位數(shù)據(jù)總線訪問數(shù)據(jù)、位數(shù)據(jù)總線訪問數(shù)據(jù)、19位地址總線訪問程序。位地址總線訪問程序。 XINTF訪問時序分成三個階段訪問時序分成三個階段
13、 1、起始階段、起始階段 2、激活階段、激活階段 3、收尾階段、收尾階段DSP片內(nèi)片內(nèi)FLASH和和OTP存儲器存儲器l 片內(nèi)片內(nèi)Flash存儲器的特點存儲器的特點可映射到程序空間或數(shù)據(jù)空間可映射到程序空間或數(shù)據(jù)空間程序可分成多段,代碼安全保護(程序可分成多段,代碼安全保護(CSM)低功耗模式低功耗模式流水線模式可提高線性代碼執(zhí)行效率流水線模式可提高線性代碼執(zhí)行效率l OTP 存放工程和制造信息,余下空間,用戶存放工程和制造信息,余下空間,用戶可以用來存放自己的代碼或數(shù)據(jù)可以用來存放自己的代碼或數(shù)據(jù)CSM:代碼安全模塊:代碼安全模塊 可以防止未被授權(quán)的人看到內(nèi)存儲器里的內(nèi)容,同時防止收安全保護
14、的代碼被修改和復制。(FLASH、RAM、OTP)l Flash和和OTP存儲器功耗模式存儲器功耗模式 睡眠(睡眠(sleep)模式或復位模式:功耗最低)模式或復位模式:功耗最低 備用(備用(standby)模式:在該狀態(tài)或睡眠模式下進行)模式:在該狀態(tài)或睡眠模式下進行CPU讀或取操作,將自動使讀或取操作,將自動使DSP工作模式變?yōu)榛钴S模工作模式變?yōu)榛钴S模式式 活躍(活躍(active)模式或讀模式:功耗最高)模式或讀模式:功耗最高l CPU對對Flash/OTP的操作,形式的操作,形式 32位取指令位取指令 16或或32位數(shù)據(jù)空間讀取位數(shù)據(jù)空間讀取 16位程序空間讀位程序空間讀片內(nèi)片內(nèi)Fla
15、sh和和OTP存儲器的配置寄存器存儲器的配置寄存器名稱名稱地址地址功能描述功能描述FOPT0 x0000 0A80 Flash 選擇寄存器選擇寄存器Reserved0 x0000 0A81 保留保留FPWR0 x0000 0A82 Flash電源方式寄存器電源方式寄存器FSTATUS0 x0000 0A83 狀態(tài)寄存器狀態(tài)寄存器FSTDBYWAIT0 x0000 0A84 Flash睡眠到待機等待寄存器睡眠到待機等待寄存器FACTIVEWAIT0 x0000 0A85 Flash待機到活動等待寄存器待機到活動等待寄存器FBANKWAIT0 x0000 0A86 Flash讀訪問等待狀態(tài)寄存器讀
16、訪問等待狀態(tài)寄存器FOTPWAIT0 x0000 0A87 OTP讀訪問等待狀態(tài)寄存器讀訪問等待狀態(tài)寄存器Flash和和OTP存儲器的工作狀態(tài)通過配置寄存器進行設(shè)置存儲器的工作狀態(tài)通過配置寄存器進行設(shè)置注意:注意: 執(zhí)行執(zhí)行Flash寄存器配置任務(wù)的代碼不能放在寄存器配置任務(wù)的代碼不能放在Flash或或OTP存儲器中執(zhí)行,而應(yīng)放在其他的存儲器中執(zhí)行,而應(yīng)放在其他的RAM存儲器空間中。而且當存儲器空間中。而且當Flash或或OTP存儲器存儲器中正在運行程序時,也不要對中正在運行程序時,也不要對Flash或或OTP寄存寄存器進行操作,程序結(jié)束后才可以進行操作。在器進行操作,程序結(jié)束后才可以進行操作
17、。在Flash/OTP中運行的代碼可以讀中運行的代碼可以讀Flash寄存器中寄存器中的內(nèi)容,但不要將內(nèi)容寫進去,要避免時序上的的內(nèi)容,但不要將內(nèi)容寫進去,要避免時序上的混亂?;靵y。鎖相環(huán)鎖相環(huán)PLL 振蕩器振蕩器OSC 時鐘時鐘看門狗看門狗WD 給給DSP做做“身體檢查身體檢查” 維持其正常工作的。維持其正常工作的。2.3 F281x的時鐘及系統(tǒng)控制的時鐘及系統(tǒng)控制1、振蕩器、振蕩器OSC和和PLL模塊(模塊(P38)F2812內(nèi)的振蕩器和內(nèi)的振蕩器和PLL模塊模塊PLL模式模式說明說明SYSCLKOUTPLL禁止禁止復位時如果復位時如果XPLLDIS引腳是低電平,引腳是低電平,則則PLL完全
18、被禁止。處理器直接使用完全被禁止。處理器直接使用引腳引腳X1/XCLKIN輸入的時鐘信號。輸入的時鐘信號。XCLKINPLL旁路旁路上電時的默認配置,如果上電時的默認配置,如果PLL沒有被沒有被禁止,則禁止,則PLL將變成旁路,在將變成旁路,在X1/XCLKIN引腳輸入的時鐘經(jīng)過引腳輸入的時鐘經(jīng)過2分分頻后提供給頻后提供給CPU。XCLKIN/2PLL使能使能使能使能PLL,在,在PLLCR寄存器中寫入一寄存器中寫入一個非零值個非零值n(P39)(XCLKINn)/2PLL配置模式配置模式F2812內(nèi)部各種時鐘信號產(chǎn)生情況內(nèi)部各種時鐘信號產(chǎn)生情況SYSOUTCLK組:組:CPU定時器和定時器和
19、eCAN總線總線OSCCLK:看門狗電路:看門狗電路低速組:低速組:SCI、SPI、McBSP高速組:高速組:EVA、EVB、ADC片上外設(shè)按輸入時鐘劃分片上外設(shè)按輸入時鐘劃分PCLKCR:外設(shè)時鐘控制寄存器外設(shè)時鐘控制寄存器SYSCR:系統(tǒng)控制寄存器:系統(tǒng)控制寄存器PLLCR:PLL控制寄存器控制寄存器HISPCP:高速片上外設(shè)分頻器:高速片上外設(shè)分頻器LOSPCP:低速片上外設(shè)分頻器:低速片上外設(shè)分頻器與與PLL、時鐘配置相關(guān)的寄存器(、時鐘配置相關(guān)的寄存器(P36-P39)高速外設(shè)時鐘寄存器(高速外設(shè)時鐘寄存器(HISPCP)153 20ReservedHSPVALR-0R/W-001如
20、果如果HISPCP不等于不等于0, HSPCLK=SYSCLKOUT/(HISPCP2)如果如果HISPCP等于等于0,HSPCLK=SYSCLKOUT低速外設(shè)時鐘寄存器(低速外設(shè)時鐘寄存器(LOSPCP)153 20ReservedLSPVALR-0R/W-001如果如果LOSPCP不等于不等于0,LSPCLK=SYSCLKOUT/(LOSPCP2)如果如果LOSPCP等于等于0,LSPCLK=SYSCLKOUTDIV=000:旁路方式:旁路方式DIV=0001B1010B,對應(yīng)表中,對應(yīng)表中n=110DIV=1011B1111B,保留,保留154 30ReservedDIVR-0R/W-0
21、PLL控制寄存器(控制寄存器(PLLCR)用來監(jiān)視用來監(jiān)視DSP程序的運行情況。當系統(tǒng)進入不可預程序的運行情況。當系統(tǒng)進入不可預知的狀態(tài)而造成知的狀態(tài)而造成“死機死機”時,時,WD將產(chǎn)生一個復位操作,將產(chǎn)生一個復位操作,從而使從而使DSP進入一個已知的起始位置重新運行。進入一個已知的起始位置重新運行??撮T狗看門狗CPU定時器定時器1、什么是定時器?(計時工具)、什么是定時器?(計時工具) F2812內(nèi)部有內(nèi)部有3個個32位的位的CPU定時器:定時器:Time0、 Time1、Time2(系統(tǒng)保留)(系統(tǒng)保留)2、CPU定時器內(nèi)部結(jié)構(gòu)(定時器內(nèi)部結(jié)構(gòu)(P43)定時器的工作示意圖定時器的工作示意圖
22、TIMCLK值如何確定?值如何確定?1)給給PRDH:PRD賦值賦值2)裝載裝載TIMH:TIM3)每隔一個每隔一個TIMCLK計數(shù)計數(shù) 器的值減少器的值減少1,一直減到,一直減到0 完成一個周期的計數(shù)。完成一個周期的計數(shù)。1)給給TDDRH:TDDR賦值賦值2)裝載裝載PSCH:PSC3)每隔一個每隔一個SYSCLKOUT PSCH:PSC值減少值減少1,直,直 到為到為0,就會輸出一個,就會輸出一個 TIMCLK。n 計數(shù)器每走一步所需要的時間:n CPU一個周期所計量的時間為:其中:X為系統(tǒng)時鐘SYSCLKOUT的值(MHz)。3、定時器寄存器(書本、定時器寄存器(書本P44-P45)2
23、.4 通用輸入通用輸入/輸出輸出I/O口(口(GPIO)()(P45)u GPIO:通用輸入輸出(:通用輸入輸出(56個);個);u GPIO引腳是多功能復用的,即可作為數(shù)字引腳是多功能復用的,即可作為數(shù)字I/O口,也可作為特殊功能接口(如口,也可作為特殊功能接口(如SCI、SPI)。)。u GPIO分分A、B、D、E、F、G六組,通過六組,通過GPxMux、 GPxDIR、 GPxQUAL寄存器進行寄存器進行控制??刂?。u 如果如果GPIO配置為數(shù)字配置為數(shù)字I/O,則可通過,則可通過GPxDAT 、 GPxSET 、GPxCLEAR、GPxTOGGLE寄寄存器對其引腳進行操作。存器對其引腳
24、進行操作。GPxDAT: GPIOx數(shù)據(jù)寄存器數(shù)據(jù)寄存器GPxSET: GPIO x置位寄存器置位寄存器GPxCLEAR: GPIOx清楚寄存器清楚寄存器GPxTOGGLE: GPIOx取反寄存器取反寄存器GPxMux:GPIOx功能控制選擇寄存器功能控制選擇寄存器GPxDIR:GPIOx方向控制寄存器方向控制寄存器GPxQUAL:GPIOx輸入限定寄存器輸入限定寄存器控控制制數(shù)數(shù)字字x: ABDEFGu GPxMux:GPIOx功能選擇控制寄存器功能選擇控制寄存器 每各每各I/O口都有一個對應(yīng)的功能選擇寄存器位,控制口都有一個對應(yīng)的功能選擇寄存器位,控制該口位特殊功能口或通用數(shù)字該口位特殊功
25、能口或通用數(shù)字I/O口;口; 如:如: GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=0; /設(shè)置設(shè)置GPIO A0口為數(shù)字口為數(shù)字I/O口口 GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=1; /設(shè)置設(shè)置GPIO A0口為特殊功能口(口為特殊功能口(PWM1輸出口)輸出口)u GPxDIR:GPIOx方向控制寄存器方向控制寄存器 每各每各I/O口都有一個對應(yīng)的方向控制寄存器位,控制口都有一個對應(yīng)的方向控制寄存器位,控制該口輸入輸出方向;該口輸入輸出方向; 如:如: GpioMuxRegs.GPADIR.bit.GPIOA0=0; /設(shè)置設(shè)置GP
26、IO A0口為數(shù)字輸入口口為數(shù)字輸入口 GpioMuxRegs.GPADIR.bit.GPIOA0=1; /設(shè)置設(shè)置GPIO A0口為數(shù)字輸出口口為數(shù)字輸出口u GPxQUAL:GPIOx輸入限制寄存器輸入限制寄存器 控制控制GPIO引腳輸入信號的采樣周期,目的是消除輸引腳輸入信號的采樣周期,目的是消除輸入信號的噪聲。入信號的噪聲。 如:如: GpioMuxRegs.GPAQUAL.BIT.QUALPRD=5; /設(shè)置設(shè)置GPIO A組全部引腳輸入信號采用周期為組全部引腳輸入信號采用周期為5u GPxDAT:GPIOx數(shù)據(jù)寄存器數(shù)據(jù)寄存器 每各每各I/O口都有一個對應(yīng)的數(shù)據(jù)寄存器位,控制該口口
27、都有一個對應(yīng)的數(shù)據(jù)寄存器位,控制該口狀態(tài);狀態(tài); 如:如: GpioDataRegs.GPADAT.bit.GPIOA0=0;/設(shè)置設(shè)置GPIO A0口為低電平口為低電平 GpioDataRegs.GPADAT.bit.GPIOA0=1;/設(shè)置設(shè)置GPIO A0口為高電平口為高電平u GPxSET:GPIOx置位寄存器置位寄存器 每各每各I/O口都有一個對應(yīng)的置位寄存器位,控制該口口都有一個對應(yīng)的置位寄存器位,控制該口狀態(tài);狀態(tài); GpioDataRegs.GPASET.bit.GPIOA0=0;/沒影響沒影響 GpioDataRegs.GPASET.bit.GPIOA0=1;/將將A0引腳引
28、腳置位高電平置位高電平u GPxCLEAR: GPIOx清除寄存器清除寄存器 每各每各I/O口都有一個對應(yīng)的清除寄存器位,將該口清口都有一個對應(yīng)的清除寄存器位,將該口清楚位低電平;楚位低電平; GpioDataRegs.GPACLEAR.bit.GPIOA0=0;/沒影響沒影響 GpioDataRegs.GPACLEAR.bit.GPIOA0=1;/將將A0引腳置位低電平引腳置位低電平u GPxTOGGLE: GPIOx取反寄存器取反寄存器 每各每各I/O口都有一個對應(yīng)的取反口都有一個對應(yīng)的取反寄存器位,將該口電寄存器位,將該口電平取反;平取反; GpioDataRegs.GPATOGGLE.
29、bit.GPIOA0=0;/沒影沒影響響 GpioDataRegs.GPATOGGLE.bit.GPIOA0=1;/將將A0引腳置電平取反引腳置電平取反2.5 F281x外設(shè)中斷擴展模塊外設(shè)中斷擴展模塊(P55)1、什么是中斷?、什么是中斷? 中斷(中斷(Interrupt)是硬件和軟件驅(qū)動事件,它使得)是硬件和軟件驅(qū)動事件,它使得 CPU 暫停當前的主程序,并轉(zhuǎn)而去執(zhí)行一個中斷服務(wù)程序。暫停當前的主程序,并轉(zhuǎn)而去執(zhí)行一個中斷服務(wù)程序。寫代碼寫代碼電話鈴電話鈴聲響聲響接電話接電話接完電話接完電話繼續(xù)寫代碼繼續(xù)寫代碼執(zhí)行主程序有一個中斷請求暫停主程序,執(zhí)行中斷服務(wù)子程序返回主程序繼續(xù)執(zhí)行u PI
30、E 可以支持可以支持 96 個不同的中斷,這些中斷分成了個不同的中斷,這些中斷分成了 12 個個組組,每個組有,每個組有 8 個中斷個中斷,而且每個組都被反饋到,而且每個組都被反饋到 CPU 內(nèi)內(nèi)核的核的 12 條中斷線中的某一條上條中斷線中的某一條上(INT1-INT12),),我們平我們平時用到的所有的外設(shè)中斷都被歸入了這時用到的所有的外設(shè)中斷都被歸入了這 96 個中斷中,被個中斷中,被分布在不同的組里,使用多路復用的原理。分布在不同的組里,使用多路復用的原理。PIE 目前只使目前只使用用 了了 96 個中斷中的個中斷中的 45 個,其他的等待將來的功能擴展。個,其他的等待將來的功能擴展。
31、P62 F2812 的中斷是的中斷是 3 級中斷機制,分別是級中斷機制,分別是外設(shè)級,外設(shè)級,PIE 級以及級以及 CPU 級,級,對于某一個具體的外設(shè)中斷請求,任意一級的不許可對于某一個具體的外設(shè)中斷請求,任意一級的不許可,CPU 最終都不會執(zhí)行該外設(shè)中斷。就像一個文件需要三級領(lǐng)最終都不會執(zhí)行該外設(shè)中斷。就像一個文件需要三級領(lǐng)導批示一樣,導批示一樣, 任意一級領(lǐng)導的不同意,都不能被送至上一級領(lǐng)任意一級領(lǐng)導的不同意,都不能被送至上一級領(lǐng)導,更不可能得到最終的批準,中斷機制的原理也是如此。導,更不可能得到最終的批準,中斷機制的原理也是如此。F2812 的中斷工作過程的中斷工作過程(1)外設(shè)級中斷
32、)外設(shè)級中斷 假如在程序的執(zhí)行過程中,某一個外設(shè)產(chǎn)生了一個中斷假如在程序的執(zhí)行過程中,某一個外設(shè)產(chǎn)生了一個中斷事件,那么在這個外設(shè)的某個寄存器中與該中斷事件相事件,那么在這個外設(shè)的某個寄存器中與該中斷事件相關(guān)的關(guān)的中斷標志位(中斷標志位(IF=Interrupt Flag)被置為)被置為 1。此時。此時,如果該中斷相應(yīng)的,如果該中斷相應(yīng)的中斷使能位中斷使能位(IE=Interrupt Flag)已經(jīng)已經(jīng)被置位被置位,也就是為,也就是為 1,外設(shè)就會,外設(shè)就會向向 PIE 控制器控制器發(fā)出發(fā)出一個一個中斷請求中斷請求。相反的,如果雖然中斷事件產(chǎn)生了,相。相反的,如果雖然中斷事件產(chǎn)生了,相應(yīng)的中斷
33、標志位也被置應(yīng)的中斷標志位也被置 1 了,但是該中斷沒有被使能(了,但是該中斷沒有被使能(相應(yīng)的使能位為相應(yīng)的使能位為 0),那么外設(shè)就不會向),那么外設(shè)就不會向 PIE 發(fā)出中斷發(fā)出中斷請求。但是,相應(yīng)的中斷標志位會一直保持置位狀態(tài),請求。但是,相應(yīng)的中斷標志位會一直保持置位狀態(tài),直到用程序清楚它為止。當然,在中斷標志位保持在直到用程序清楚它為止。當然,在中斷標志位保持在 1 的時候,一旦該中斷被使能了,那么外設(shè)立馬會向的時候,一旦該中斷被使能了,那么外設(shè)立馬會向 PIE 發(fā)發(fā) 出中斷申請。出中斷申請。(2)PIE 級中斷級中斷當外設(shè)把中斷請求提交給當外設(shè)把中斷請求提交給 PIE 模塊。模塊
34、。PIE 控制器中的每組都有一個控制器中的每組都有一個中斷標志寄存器中斷標志寄存器 PIEIFRx 和和中斷使能寄存中斷使能寄存器器 PIEIERx。因為因為 PIE 模塊是多路復用的,那么每一組同一時間應(yīng)該只能是一個中斷被模塊是多路復用的,那么每一組同一時間應(yīng)該只能是一個中斷被響應(yīng),響應(yīng),PIE 是怎么做到的呢?是怎么做到的呢?PIE 除了每組具有除了每組具有 PIEIERx,PIEIFRx 寄存寄存器之外,還有一個器之外,還有一個 PIEACK 寄存器,它的低寄存器,它的低 12 位分別對應(yīng)著位分別對應(yīng)著 12 個組,個組,即即 INT1-INT12,高位保留。,高位保留。假如假如 T1
35、的周期中斷被響應(yīng)了,則的周期中斷被響應(yīng)了,則 PIEACK 寄存器的第寄存器的第 2 位(對應(yīng)于位(對應(yīng)于 INT2)就會被置位,并且一直保持直到手動清)就會被置位,并且一直保持直到手動清除這個標志位。當除這個標志位。當 CPU 在響應(yīng)在響應(yīng) T1PNT 的時候,的時候,PIEACK 的第的第 2 位一直位一直是是 1, 這時候如果這時候如果 PIE的第的第2 組內(nèi)發(fā)生其他的外設(shè)中斷,則暫時不會把組內(nèi)發(fā)生其他的外設(shè)中斷,則暫時不會把 PIE 響應(yīng)送給響應(yīng)送給 CPU,必須等到,必須等到 PIEACK 的第的第 2 位被復位之后,如果該中位被復位之后,如果該中斷請求還存在,那么立馬由斷請求還存在
36、,那么立馬由 PIE 控制塊將中斷請求送至控制塊將中斷請求送至 CPU。所以,每個外設(shè)中斷被響應(yīng)之后,一定要對所以,每個外設(shè)中斷被響應(yīng)之后,一定要對 PIEACK 的相關(guān)位進行手動的相關(guān)位進行手動服務(wù),否則同組內(nèi)的其他中斷都不會被響應(yīng)。服務(wù),否則同組內(nèi)的其他中斷都不會被響應(yīng)。(3)CPU 級級 CPU 也有也有中斷標志寄存器中斷標志寄存器 IFR 和和使能寄存器使能寄存器 IER。當某一個當某一個外設(shè)中斷請求通過外設(shè)中斷請求通過 PIE 發(fā)送到發(fā)送到 CPU 時,與時,與 INTx 相關(guān)的中斷相關(guān)的中斷標志位就會被置位。標志位就會被置位。 CPU 接到了中斷的請求,就得暫停正在執(zhí)行的程序,轉(zhuǎn)而
37、去接到了中斷的請求,就得暫停正在執(zhí)行的程序,轉(zhuǎn)而去響應(yīng)中斷程序,但是此時,它必須得做一響應(yīng)中斷程序,但是此時,它必須得做一 些準備工作,以便于些準備工作,以便于執(zhí)行完中斷程序之后回過頭來還能找到原來的地方和原來的狀執(zhí)行完中斷程序之后回過頭來還能找到原來的地方和原來的狀態(tài)。如果態(tài)。如果CPU中斷響應(yīng)開始了,中斷響應(yīng)開始了,CPU 會將相應(yīng)的會將相應(yīng)的 IER 和和 IFR 位進行清除,位進行清除,就是不能響應(yīng)其他中斷了,就是不能響應(yīng)其他中斷了,CPU 向其他中斷發(fā)向其他中斷發(fā)出了通知,正在忙,沒空來處理你們的請求了,得等到處理完出了通知,正在忙,沒空來處理你們的請求了,得等到處理完手上的中斷之后
38、才能再來處理其他請求。手上的中斷之后才能再來處理其他請求。TI 例程中與中斷相關(guān)的幾個文件例程中與中斷相關(guān)的幾個文件 DSP28_PieCtrl.h,這個文件定義了和這個文件定義了和 PIE 相關(guān)的寄存器的相關(guān)的寄存器的數(shù)據(jù)結(jié)構(gòu),我們對應(yīng)于相關(guān)寄存器的定義會發(fā)現(xiàn),兩者是一數(shù)據(jù)結(jié)構(gòu),我們對應(yīng)于相關(guān)寄存器的定義會發(fā)現(xiàn),兩者是一樣的。樣的。 DSP28_PieVect.h,這個頭文件定義了這個頭文件定義了 PIE 的中斷向量。的中斷向量。DSP28_PieCtrl.c 文件里只有文件里只有 1 個函數(shù),個函數(shù),InitPieCtrl(),(),其作用是對其作用是對 PIE 模塊進行初始化的,例如在程
39、序開始的時候模塊進行初始化的,例如在程序開始的時候使能某些外設(shè)中斷。使能某些外設(shè)中斷。DSP28_PieVect.c 文件是對文件是對 PIE 中斷向量表進行初始化的。中斷向量表進行初始化的。執(zhí)行完這個程序之后,各個中斷函數(shù)都有了明確的入口地址執(zhí)行完這個程序之后,各個中斷函數(shù)都有了明確的入口地址了,這樣了,這樣 CPU 執(zhí)行起來就方便了。執(zhí)行起來就方便了。DSP28_DefaultIsr.c 文件,文件,2812 所有的與外設(shè)相關(guān)的中斷所有的與外設(shè)相關(guān)的中斷函數(shù)都在這里定義,如函數(shù)都在這里定義,如 T1 周期中斷周期中斷 T1PINT。我們自己在。我們自己在寫的時候,只要將具體的函數(shù)內(nèi)容寫進去就可以了。寫的時候,只要將具體的函數(shù)內(nèi)容寫進去就可以了。與與PIEPIE中斷擴展模塊相關(guān)的寄存器(中斷擴展模塊相關(guān)的寄存器(P63-P66P63-P66)PIECTRL: PIE控制寄存器控制寄存器PIEACK: PIE應(yīng)答寄存器應(yīng)答寄存器PIEIFRx(x=112): PIE中斷標志寄存器中斷標志寄存器PIEIERx(x=112): PIE中斷使能寄存器中斷使能寄存器IFR: CPU中斷標志寄存器中斷標志寄存器IER: CPU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024音樂教師工作總結(jié)范文(31篇)
- 提升學科服務(wù)地方能力的策略及實施路徑
- 2024年花卉托管協(xié)議
- 2024年度中外農(nóng)產(chǎn)品進出口貿(mào)易合同3篇
- 2024建筑安裝工程勞務(wù)分包合同模板
- 2024年版汽車金融借款合同模板一
- 2024校醫(yī)校園心理危機干預與心理咨詢服務(wù)合同3篇
- 2024年起重機維修保養(yǎng)與購銷一體化合同范本3篇
- 2024房屋買賣詳細協(xié)議條款匯編版B版
- 2024年版人工智能語音助手授權(quán)使用協(xié)議
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- 急癥識別及處理課件
- 人防工程質(zhì)量監(jiān)督(共38)
- 《認識長方形》數(shù)學
- 關(guān)注體重 控制血壓課件
- 統(tǒng)編版六年級語文上冊廣東省廣州市花都區(qū)期末檢測試卷附答案
- 2022更新國家開放大學電大《生產(chǎn)與運作管理》2025-2026期末試題及答案(試卷代號:2617)
- (完整版)保溫工藝課件
- 設(shè)計驗證和生產(chǎn)確認[福特FORD]
- 工作場所空氣中有害物質(zhì)監(jiān)測的采樣規(guī)范課件159-2004
- 合同范本之采購合同誰保管
評論
0/150
提交評論