




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第二章第二章 TMS320X2812的結(jié)構(gòu)、資源及性能的結(jié)構(gòu)、資源及性能 本章內(nèi)容:本章內(nèi)容: 2.1 DSP的性能指標(biāo)的性能指標(biāo) DSP芯片引腳及其功能芯片引腳及其功能 2.2 DSP片內(nèi)硬件資源片內(nèi)硬件資源 片內(nèi)片內(nèi)FLASH和和OTP存儲(chǔ)器存儲(chǔ)器 2.3 時(shí)鐘與系統(tǒng)控制時(shí)鐘與系統(tǒng)控制 32位位CPU定時(shí)器定時(shí)器 2.4 通用輸入通用輸入/輸出輸出GPIO 2.5 外設(shè)中斷擴(kuò)展外設(shè)中斷擴(kuò)展PIE 2.6 中央處理器單元中央處理器單元2.1 TMS320F2812的性能指標(biāo)的性能指標(biāo) F2812的主要特點(diǎn):的主要特點(diǎn): 采用高性能的靜態(tài)采用高性能的靜態(tài)CMOS技術(shù),時(shí)鐘頻率可達(dá)技術(shù),時(shí)鐘頻率
2、可達(dá)150MHz(6.67ns);核心電壓:);核心電壓:1.8V;I/O口口電壓和電壓和Flash編程電壓:編程電壓:3.3V 32位位CPU,可實(shí)現(xiàn),可實(shí)現(xiàn)1616位和位和3232位乘法位乘法操作,哈佛總線結(jié)構(gòu),尋址程序空間可達(dá)操作,哈佛總線結(jié)構(gòu),尋址程序空間可達(dá)4MB,尋址數(shù)據(jù)空間可達(dá)尋址數(shù)據(jù)空間可達(dá)4GB 采用采用PLL來控制系統(tǒng)各模塊所需頻率來控制系統(tǒng)各模塊所需頻率 3個(gè)個(gè)32位的位的CPU定時(shí)器和適合電機(jī)等控制的事件定時(shí)器和適合電機(jī)等控制的事件管理模塊管理模塊EVA和和EVB 很強(qiáng)的外圍通信功能,包括同步串行口很強(qiáng)的外圍通信功能,包括同步串行口SPI,通,通用異步串行口用異步串行口
3、SCI,增強(qiáng)的,增強(qiáng)的eCAN和多通道緩存串行和多通道緩存串行口口MCBSP 16個(gè)通道、個(gè)通道、12位精度的位精度的A/D轉(zhuǎn)換器轉(zhuǎn)換器 56個(gè)多路通用輸入個(gè)多路通用輸入/輸出輸出(GPIO)引腳等等引腳等等2.1 TMS320F2812的性能指標(biāo)特特 征征F2810F2812指令周期(指令周期(150MHz)6.67ns6.67nsSRAM(16位位/字)字)18K18K3.3V片內(nèi)片內(nèi)Flash(16位位/字)字)64K128K片內(nèi)片內(nèi)Flash/SRAM的密鑰的密鑰有有有有Boot ROM有有有有掩膜掩膜ROM有有有有外部存儲(chǔ)器接口外部存儲(chǔ)器接口無無有有事件管理器事件管理器A和和B(EV
4、A和和EVB)EVA、EVBEVA、EVB *通用定時(shí)器通用定時(shí)器44 *比較寄存器比較寄存器/脈寬調(diào)制脈寬調(diào)制1616 *捕獲捕獲/正交解碼脈沖電路正交解碼脈沖電路6/26/2看門狗定時(shí)器看門狗定時(shí)器有有有有12位的位的ADC有有有有 *通道數(shù)通道數(shù)1616F2810F2810和和F2812F2812的的硬件特征(硬件特征(1 1)F2810F2810和和F2812F2812的的硬件特征(硬件特征(2 2)特特 征征F2810F281232位的位的CPU定時(shí)器定時(shí)器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芯片引腳及其功能芯片引腳及其功能了解引腳信號(hào)了解引腳信號(hào)名稱、功能、名稱、功能、特性、狀態(tài)特性、狀態(tài)圖圖1 TMS320F28
6、12的頂視圖的頂視圖F2812-176引腳封裝底視圖引腳封裝底視圖 F281x的引腳的引腳1、GPIO(General Purpose Input/Output pin):56個(gè),既個(gè),既可作為一般的數(shù)字可作為一般的數(shù)字I/O口,又可作為外設(shè)功能引腳,口,又可作為外設(shè)功能引腳,如如PWM、eCAN等等2、外部存儲(chǔ)器接口、外部存儲(chǔ)器接口XINTF:45個(gè)個(gè)3、電源和地:、電源和地:38個(gè)個(gè)4、A/D轉(zhuǎn)換相關(guān):轉(zhuǎn)換相關(guān):23個(gè)個(gè)5、JTAG接口有關(guān):接口有關(guān):7個(gè)個(gè) 所有所有數(shù)字輸入數(shù)字輸入引腳的電平均與引腳的電平均與TTL兼容兼容,輸出輸出引腳引腳均為均為3.3V CMOS電平電平,輸入不能承受
7、輸入不能承受5V電壓電壓上拉電流上拉電流/下拉電流均為下拉電流均為100A(20A) 所有引腳的輸出緩沖器驅(qū)動(dòng)能力(有輸出功能的)典型值是所有引腳的輸出緩沖器驅(qū)動(dòng)能力(有輸出功能的)典型值是4mA。2.2 DSP片內(nèi)硬件資源片內(nèi)硬件資源 TMS320F281x主要由主要由C28x核的核的CPU(C28x CPU)、)、系統(tǒng)時(shí)鐘控制模塊(系統(tǒng)控制部分)、事件和外設(shè)管理模塊系統(tǒng)時(shí)鐘控制模塊(系統(tǒng)控制部分)、事件和外設(shè)管理模塊(EVA、EVB和外設(shè)中斷控制等),片內(nèi)存儲(chǔ)模塊(和外設(shè)中斷控制等),片內(nèi)存儲(chǔ)模塊(FLASH、ROM、RAM等)、等)、CPU定時(shí)器模塊定時(shí)器模塊(CPU定時(shí)器定時(shí)器)、12
8、位位A/D轉(zhuǎn)換模塊(轉(zhuǎn)換模塊(12bit ADC)、擴(kuò)展接口模塊(擴(kuò)展接口)、以)、擴(kuò)展接口模塊(擴(kuò)展接口)、以及內(nèi)部總線等構(gòu)成。及內(nèi)部總線等構(gòu)成。圖圖2 F281x2 F281x片內(nèi)外設(shè)連接框圖片內(nèi)外設(shè)連接框圖 外部擴(kuò)展總線和內(nèi)部總線外部擴(kuò)展總線和內(nèi)部總線 擴(kuò)展接口:擴(kuò)展接口:A18-A0和和D15-D0是表示是表示2812外部擴(kuò)存儲(chǔ)外部擴(kuò)存儲(chǔ)器的能力,器的能力,2812外擴(kuò)的存儲(chǔ)空間最大是外擴(kuò)的存儲(chǔ)空間最大是219*16 bit(512K)。)。 F281x的內(nèi)部存儲(chǔ)器空間被分成了的內(nèi)部存儲(chǔ)器空間被分成了2塊,一塊是程序塊,一塊是程序空間,一塊是數(shù)據(jù)空間,對(duì)它們的訪問通過地址總空間,一塊是
9、數(shù)據(jù)空間,對(duì)它們的訪問通過地址總線和數(shù)據(jù)總線進(jìn)行。線和數(shù)據(jù)總線進(jìn)行。281x的存儲(chǔ)器接口具有的存儲(chǔ)器接口具有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í)的指令或者數(shù)據(jù)。數(shù)據(jù)總線,用于傳送讀取程序空間時(shí)的指令或者數(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出廠時(shí)固化了出廠時(shí)固化了Boot Loader軟件,根據(jù)引導(dǎo)信號(hào)確定上電軟件,根據(jù)引導(dǎo)信號(hào)確定上電引導(dǎo)裝載方式,可從引導(dǎo)裝載方式,可從Flash引導(dǎo)裝載程序,也可從外部存引導(dǎo)裝載程序,也可從外部存儲(chǔ)器引導(dǎo)程序儲(chǔ)器引導(dǎo)程序包括一些標(biāo)準(zhǔn)的數(shù)學(xué)運(yùn)算表(數(shù)學(xué)函數(shù)庫)等。包括一些標(biāo)準(zhǔn)的數(shù)學(xué)運(yùn)算表(數(shù)學(xué)函數(shù)庫)等。F2812內(nèi)存內(nèi)存TMS320F2812存儲(chǔ)空間的映射存儲(chǔ)空間的映射SP復(fù)位時(shí)指向復(fù)位時(shí)指向M1塊的起塊的起始地址始地址;FLASH存儲(chǔ)器由存儲(chǔ)器由4個(gè)個(gè)8K16位
12、的扇區(qū)和位的扇區(qū)和6個(gè)個(gè)16K16位的扇區(qū)組成,位的扇區(qū)組成,用戶可對(duì)其中任何一個(gè)扇用戶可對(duì)其中任何一個(gè)扇區(qū)進(jìn)行擦除、編程和校驗(yàn)區(qū)進(jìn)行擦除、編程和校驗(yàn)18K16位位RAM:分成:分成 M0,M1(4k)、)、L0,L1(1k) 和和 H0(8k) 5塊塊外部存儲(chǔ)器外部存儲(chǔ)器XINTF 提供提供5個(gè)擴(kuò)展地址空間(個(gè)擴(kuò)展地址空間(Zone0、1、2、6、7),每個(gè)空間設(shè)置一個(gè)片選(低電平有效),每個(gè)空間設(shè)置一個(gè)片選(低電平有效) XINTF外部引腳有外部引腳有16位數(shù)據(jù)總線訪問數(shù)據(jù)、位數(shù)據(jù)總線訪問數(shù)據(jù)、19位地址總線訪問程序。位地址總線訪問程序。 XINTF訪問時(shí)序分成三個(gè)階段訪問時(shí)序分成三個(gè)階段
13、 1、起始階段、起始階段 2、激活階段、激活階段 3、收尾階段、收尾階段DSP片內(nèi)片內(nèi)FLASH和和OTP存儲(chǔ)器存儲(chǔ)器l 片內(nèi)片內(nèi)Flash存儲(chǔ)器的特點(diǎn)存儲(chǔ)器的特點(diǎn)可映射到程序空間或數(shù)據(jù)空間可映射到程序空間或數(shù)據(jù)空間程序可分成多段,代碼安全保護(hù)(程序可分成多段,代碼安全保護(hù)(CSM)低功耗模式低功耗模式流水線模式可提高線性代碼執(zhí)行效率流水線模式可提高線性代碼執(zhí)行效率l OTP 存放工程和制造信息,余下空間,用戶存放工程和制造信息,余下空間,用戶可以用來存放自己的代碼或數(shù)據(jù)可以用來存放自己的代碼或數(shù)據(jù)CSM:代碼安全模塊:代碼安全模塊 可以防止未被授權(quán)的人看到內(nèi)存儲(chǔ)器里的內(nèi)容,同時(shí)防止收安全保護(hù)
14、的代碼被修改和復(fù)制。(FLASH、RAM、OTP)l Flash和和OTP存儲(chǔ)器功耗模式存儲(chǔ)器功耗模式 睡眠(睡眠(sleep)模式或復(fù)位模式:功耗最低)模式或復(fù)位模式:功耗最低 備用(備用(standby)模式:在該狀態(tài)或睡眠模式下進(jìn)行)模式:在該狀態(tài)或睡眠模式下進(jìn)行CPU讀或取操作,將自動(dòng)使讀或取操作,將自動(dòng)使DSP工作模式變?yōu)榛钴S模工作模式變?yōu)榛钴S模式式 活躍(活躍(active)模式或讀模式:功耗最高)模式或讀模式:功耗最高l CPU對(duì)對(duì)Flash/OTP的操作,形式的操作,形式 32位取指令位取指令 16或或32位數(shù)據(jù)空間讀取位數(shù)據(jù)空間讀取 16位程序空間讀位程序空間讀片內(nèi)片內(nèi)Fla
15、sh和和OTP存儲(chǔ)器的配置寄存器存儲(chǔ)器的配置寄存器名稱名稱地址地址功能描述功能描述FOPT0 x0000 0A80 Flash 選擇寄存器選擇寄存器Reserved0 x0000 0A81 保留保留FPWR0 x0000 0A82 Flash電源方式寄存器電源方式寄存器FSTATUS0 x0000 0A83 狀態(tài)寄存器狀態(tài)寄存器FSTDBYWAIT0 x0000 0A84 Flash睡眠到待機(jī)等待寄存器睡眠到待機(jī)等待寄存器FACTIVEWAIT0 x0000 0A85 Flash待機(jī)到活動(dòng)等待寄存器待機(jī)到活動(dòng)等待寄存器FBANKWAIT0 x0000 0A86 Flash讀訪問等待狀態(tài)寄存器讀
16、訪問等待狀態(tài)寄存器FOTPWAIT0 x0000 0A87 OTP讀訪問等待狀態(tài)寄存器讀訪問等待狀態(tài)寄存器Flash和和OTP存儲(chǔ)器的工作狀態(tài)通過配置寄存器進(jìn)行設(shè)置存儲(chǔ)器的工作狀態(tài)通過配置寄存器進(jìn)行設(shè)置注意:注意: 執(zhí)行執(zhí)行Flash寄存器配置任務(wù)的代碼不能放在寄存器配置任務(wù)的代碼不能放在Flash或或OTP存儲(chǔ)器中執(zhí)行,而應(yīng)放在其他的存儲(chǔ)器中執(zhí)行,而應(yīng)放在其他的RAM存儲(chǔ)器空間中。而且當(dāng)存儲(chǔ)器空間中。而且當(dāng)Flash或或OTP存儲(chǔ)器存儲(chǔ)器中正在運(yùn)行程序時(shí),也不要對(duì)中正在運(yùn)行程序時(shí),也不要對(duì)Flash或或OTP寄存寄存器進(jìn)行操作,程序結(jié)束后才可以進(jìn)行操作。在器進(jìn)行操作,程序結(jié)束后才可以進(jìn)行操作
17、。在Flash/OTP中運(yùn)行的代碼可以讀中運(yùn)行的代碼可以讀Flash寄存器中寄存器中的內(nèi)容,但不要將內(nèi)容寫進(jìn)去,要避免時(shí)序上的的內(nèi)容,但不要將內(nèi)容寫進(jìn)去,要避免時(shí)序上的混亂?;靵y。鎖相環(huán)鎖相環(huán)PLL 振蕩器振蕩器OSC 時(shí)鐘時(shí)鐘看門狗看門狗WD 給給DSP做做“身體檢查身體檢查” 維持其正常工作的。維持其正常工作的。2.3 F281x的時(shí)鐘及系統(tǒng)控制的時(shí)鐘及系統(tǒng)控制1、振蕩器、振蕩器OSC和和PLL模塊(模塊(P38)F2812內(nèi)的振蕩器和內(nèi)的振蕩器和PLL模塊模塊PLL模式模式說明說明SYSCLKOUTPLL禁止禁止復(fù)位時(shí)如果復(fù)位時(shí)如果XPLLDIS引腳是低電平,引腳是低電平,則則PLL完全
18、被禁止。處理器直接使用完全被禁止。處理器直接使用引腳引腳X1/XCLKIN輸入的時(shí)鐘信號(hào)。輸入的時(shí)鐘信號(hào)。XCLKINPLL旁路旁路上電時(shí)的默認(rèn)配置,如果上電時(shí)的默認(rèn)配置,如果PLL沒有被沒有被禁止,則禁止,則PLL將變成旁路,在將變成旁路,在X1/XCLKIN引腳輸入的時(shí)鐘經(jīng)過引腳輸入的時(shí)鐘經(jīng)過2分分頻后提供給頻后提供給CPU。XCLKIN/2PLL使能使能使能使能PLL,在,在PLLCR寄存器中寫入一寄存器中寫入一個(gè)非零值個(gè)非零值n(P39)(XCLKINn)/2PLL配置模式配置模式F2812內(nèi)部各種時(shí)鐘信號(hào)產(chǎn)生情況內(nèi)部各種時(shí)鐘信號(hào)產(chǎn)生情況SYSOUTCLK組:組:CPU定時(shí)器和定時(shí)器和
19、eCAN總線總線OSCCLK:看門狗電路:看門狗電路低速組:低速組:SCI、SPI、McBSP高速組:高速組:EVA、EVB、ADC片上外設(shè)按輸入時(shí)鐘劃分片上外設(shè)按輸入時(shí)鐘劃分PCLKCR:外設(shè)時(shí)鐘控制寄存器外設(shè)時(shí)鐘控制寄存器SYSCR:系統(tǒng)控制寄存器:系統(tǒng)控制寄存器PLLCR:PLL控制寄存器控制寄存器HISPCP:高速片上外設(shè)分頻器:高速片上外設(shè)分頻器LOSPCP:低速片上外設(shè)分頻器:低速片上外設(shè)分頻器與與PLL、時(shí)鐘配置相關(guān)的寄存器(、時(shí)鐘配置相關(guān)的寄存器(P36-P39)高速外設(shè)時(shí)鐘寄存器(高速外設(shè)時(shí)鐘寄存器(HISPCP)153 20ReservedHSPVALR-0R/W-001如
20、果如果HISPCP不等于不等于0, HSPCLK=SYSCLKOUT/(HISPCP2)如果如果HISPCP等于等于0,HSPCLK=SYSCLKOUT低速外設(shè)時(shí)鐘寄存器(低速外設(shè)時(shí)鐘寄存器(LOSPCP)153 20ReservedLSPVALR-0R/W-001如果如果LOSPCP不等于不等于0,LSPCLK=SYSCLKOUT/(LOSPCP2)如果如果LOSPCP等于等于0,LSPCLK=SYSCLKOUTDIV=000:旁路方式:旁路方式DIV=0001B1010B,對(duì)應(yīng)表中,對(duì)應(yīng)表中n=110DIV=1011B1111B,保留,保留154 30ReservedDIVR-0R/W-0
21、PLL控制寄存器(控制寄存器(PLLCR)用來監(jiān)視用來監(jiān)視DSP程序的運(yùn)行情況。當(dāng)系統(tǒng)進(jìn)入不可預(yù)程序的運(yùn)行情況。當(dāng)系統(tǒng)進(jìn)入不可預(yù)知的狀態(tài)而造成知的狀態(tài)而造成“死機(jī)死機(jī)”時(shí),時(shí),WD將產(chǎn)生一個(gè)復(fù)位操作,將產(chǎn)生一個(gè)復(fù)位操作,從而使從而使DSP進(jìn)入一個(gè)已知的起始位置重新運(yùn)行。進(jìn)入一個(gè)已知的起始位置重新運(yùn)行??撮T狗看門狗CPU定時(shí)器定時(shí)器1、什么是定時(shí)器?(計(jì)時(shí)工具)、什么是定時(shí)器?(計(jì)時(shí)工具) F2812內(nèi)部有內(nèi)部有3個(gè)個(gè)32位的位的CPU定時(shí)器:定時(shí)器:Time0、 Time1、Time2(系統(tǒng)保留)(系統(tǒng)保留)2、CPU定時(shí)器內(nèi)部結(jié)構(gòu)(定時(shí)器內(nèi)部結(jié)構(gòu)(P43)定時(shí)器的工作示意圖定時(shí)器的工作示意圖
22、TIMCLK值如何確定?值如何確定?1)給給PRDH:PRD賦值賦值2)裝載裝載TIMH:TIM3)每隔一個(gè)每隔一個(gè)TIMCLK計(jì)數(shù)計(jì)數(shù) 器的值減少器的值減少1,一直減到,一直減到0 完成一個(gè)周期的計(jì)數(shù)。完成一個(gè)周期的計(jì)數(shù)。1)給給TDDRH:TDDR賦值賦值2)裝載裝載PSCH:PSC3)每隔一個(gè)每隔一個(gè)SYSCLKOUT PSCH:PSC值減少值減少1,直,直 到為到為0,就會(huì)輸出一個(gè),就會(huì)輸出一個(gè) TIMCLK。n 計(jì)數(shù)器每走一步所需要的時(shí)間:n CPU一個(gè)周期所計(jì)量的時(shí)間為:其中:X為系統(tǒng)時(shí)鐘SYSCLKOUT的值(MHz)。3、定時(shí)器寄存器(書本、定時(shí)器寄存器(書本P44-P45)2
23、.4 通用輸入通用輸入/輸出輸出I/O口(口(GPIO)()(P45)u GPIO:通用輸入輸出(:通用輸入輸出(56個(gè));個(gè));u GPIO引腳是多功能復(fù)用的,即可作為數(shù)字引腳是多功能復(fù)用的,即可作為數(shù)字I/O口,也可作為特殊功能接口(如口,也可作為特殊功能接口(如SCI、SPI)。)。u GPIO分分A、B、D、E、F、G六組,通過六組,通過GPxMux、 GPxDIR、 GPxQUAL寄存器進(jìn)行寄存器進(jìn)行控制??刂啤 如果如果GPIO配置為數(shù)字配置為數(shù)字I/O,則可通過,則可通過GPxDAT 、 GPxSET 、GPxCLEAR、GPxTOGGLE寄寄存器對(duì)其引腳進(jìn)行操作。存器對(duì)其引腳
24、進(jìn)行操作。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口都有一個(gè)對(duì)應(yīng)的功能選擇寄存器位,控制口都有一個(gè)對(duì)應(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口都有一個(gè)對(duì)應(yīng)的方向控制寄存器位,控制口都有一個(gè)對(duì)應(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引腳輸入信號(hào)的采樣周期,目的是消除輸引腳輸入信號(hào)的采樣周期,目的是消除輸入信號(hào)的噪聲。入信號(hào)的噪聲。 如:如: GpioMuxRegs.GPAQUAL.BIT.QUALPRD=5; /設(shè)置設(shè)置GPIO A組全部引腳輸入信號(hào)采用周期為組全部引腳輸入信號(hào)采用周期為5u GPxDAT:GPIOx數(shù)據(jù)寄存器數(shù)據(jù)寄存器 每各每各I/O口都有一個(gè)對(duì)應(yīng)的數(shù)據(jù)寄存器位,控制該口口
27、都有一個(gè)對(duì)應(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口都有一個(gè)對(duì)應(yīng)的置位寄存器位,控制該口口都有一個(gè)對(duì)應(yīng)的置位寄存器位,控制該口狀態(tài);狀態(tài); GpioDataRegs.GPASET.bit.GPIOA0=0;/沒影響沒影響 GpioDataRegs.GPASET.bit.GPIOA0=1;/將將A0引腳引
28、腳置位高電平置位高電平u GPxCLEAR: GPIOx清除寄存器清除寄存器 每各每各I/O口都有一個(gè)對(duì)應(yīng)的清除寄存器位,將該口清口都有一個(gè)對(duì)應(yīng)的清除寄存器位,將該口清楚位低電平;楚位低電平; GpioDataRegs.GPACLEAR.bit.GPIOA0=0;/沒影響沒影響 GpioDataRegs.GPACLEAR.bit.GPIOA0=1;/將將A0引腳置位低電平引腳置位低電平u GPxTOGGLE: GPIOx取反寄存器取反寄存器 每各每各I/O口都有一個(gè)對(duì)應(yīng)的取反口都有一個(gè)對(duì)應(yīng)的取反寄存器位,將該口電寄存器位,將該口電平取反;平取反; GpioDataRegs.GPATOGGLE.
29、bit.GPIOA0=0;/沒影沒影響響 GpioDataRegs.GPATOGGLE.bit.GPIOA0=1;/將將A0引腳置電平取反引腳置電平取反2.5 F281x外設(shè)中斷擴(kuò)展模塊外設(shè)中斷擴(kuò)展模塊(P55)1、什么是中斷?、什么是中斷? 中斷(中斷(Interrupt)是硬件和軟件驅(qū)動(dòng)事件,它使得)是硬件和軟件驅(qū)動(dòng)事件,它使得 CPU 暫停當(dāng)前的主程序,并轉(zhuǎn)而去執(zhí)行一個(gè)中斷服務(wù)程序。暫停當(dāng)前的主程序,并轉(zhuǎn)而去執(zhí)行一個(gè)中斷服務(wù)程序。寫代碼寫代碼電話鈴電話鈴聲響聲響接電話接電話接完電話接完電話繼續(xù)寫代碼繼續(xù)寫代碼執(zhí)行主程序有一個(gè)中斷請(qǐng)求暫停主程序,執(zhí)行中斷服務(wù)子程序返回主程序繼續(xù)執(zhí)行u PI
30、E 可以支持可以支持 96 個(gè)不同的中斷,這些中斷分成了個(gè)不同的中斷,這些中斷分成了 12 個(gè)個(gè)組組,每個(gè)組有,每個(gè)組有 8 個(gè)中斷個(gè)中斷,而且每個(gè)組都被反饋到,而且每個(gè)組都被反饋到 CPU 內(nèi)內(nèi)核的核的 12 條中斷線中的某一條上條中斷線中的某一條上(INT1-INT12),),我們平我們平時(shí)用到的所有的外設(shè)中斷都被歸入了這時(shí)用到的所有的外設(shè)中斷都被歸入了這 96 個(gè)中斷中,被個(gè)中斷中,被分布在不同的組里,使用多路復(fù)用的原理。分布在不同的組里,使用多路復(fù)用的原理。PIE 目前只使目前只使用用 了了 96 個(gè)中斷中的個(gè)中斷中的 45 個(gè),其他的等待將來的功能擴(kuò)展。個(gè),其他的等待將來的功能擴(kuò)展。
31、P62 F2812 的中斷是的中斷是 3 級(jí)中斷機(jī)制,分別是級(jí)中斷機(jī)制,分別是外設(shè)級(jí),外設(shè)級(jí),PIE 級(jí)以及級(jí)以及 CPU 級(jí),級(jí),對(duì)于某一個(gè)具體的外設(shè)中斷請(qǐng)求,任意一級(jí)的不許可對(duì)于某一個(gè)具體的外設(shè)中斷請(qǐng)求,任意一級(jí)的不許可,CPU 最終都不會(huì)執(zhí)行該外設(shè)中斷。就像一個(gè)文件需要三級(jí)領(lǐng)最終都不會(huì)執(zhí)行該外設(shè)中斷。就像一個(gè)文件需要三級(jí)領(lǐng)導(dǎo)批示一樣,導(dǎo)批示一樣, 任意一級(jí)領(lǐng)導(dǎo)的不同意,都不能被送至上一級(jí)領(lǐng)任意一級(jí)領(lǐng)導(dǎo)的不同意,都不能被送至上一級(jí)領(lǐng)導(dǎo),更不可能得到最終的批準(zhǔn),中斷機(jī)制的原理也是如此。導(dǎo),更不可能得到最終的批準(zhǔn),中斷機(jī)制的原理也是如此。F2812 的中斷工作過程的中斷工作過程(1)外設(shè)級(jí)中斷
32、)外設(shè)級(jí)中斷 假如在程序的執(zhí)行過程中,某一個(gè)外設(shè)產(chǎn)生了一個(gè)中斷假如在程序的執(zhí)行過程中,某一個(gè)外設(shè)產(chǎn)生了一個(gè)中斷事件,那么在這個(gè)外設(shè)的某個(gè)寄存器中與該中斷事件相事件,那么在這個(gè)外設(shè)的某個(gè)寄存器中與該中斷事件相關(guān)的關(guān)的中斷標(biāo)志位(中斷標(biāo)志位(IF=Interrupt Flag)被置為)被置為 1。此時(shí)。此時(shí),如果該中斷相應(yīng)的,如果該中斷相應(yīng)的中斷使能位中斷使能位(IE=Interrupt Flag)已經(jīng)已經(jīng)被置位被置位,也就是為,也就是為 1,外設(shè)就會(huì),外設(shè)就會(huì)向向 PIE 控制器控制器發(fā)出發(fā)出一個(gè)一個(gè)中斷請(qǐng)求中斷請(qǐng)求。相反的,如果雖然中斷事件產(chǎn)生了,相。相反的,如果雖然中斷事件產(chǎn)生了,相應(yīng)的中斷
33、標(biāo)志位也被置應(yīng)的中斷標(biāo)志位也被置 1 了,但是該中斷沒有被使能(了,但是該中斷沒有被使能(相應(yīng)的使能位為相應(yīng)的使能位為 0),那么外設(shè)就不會(huì)向),那么外設(shè)就不會(huì)向 PIE 發(fā)出中斷發(fā)出中斷請(qǐng)求。但是,相應(yīng)的中斷標(biāo)志位會(huì)一直保持置位狀態(tài),請(qǐng)求。但是,相應(yīng)的中斷標(biāo)志位會(huì)一直保持置位狀態(tài),直到用程序清楚它為止。當(dāng)然,在中斷標(biāo)志位保持在直到用程序清楚它為止。當(dāng)然,在中斷標(biāo)志位保持在 1 的時(shí)候,一旦該中斷被使能了,那么外設(shè)立馬會(huì)向的時(shí)候,一旦該中斷被使能了,那么外設(shè)立馬會(huì)向 PIE 發(fā)發(fā) 出中斷申請(qǐng)。出中斷申請(qǐng)。(2)PIE 級(jí)中斷級(jí)中斷當(dāng)外設(shè)把中斷請(qǐng)求提交給當(dāng)外設(shè)把中斷請(qǐng)求提交給 PIE 模塊。模塊
34、。PIE 控制器中的每組都有一個(gè)控制器中的每組都有一個(gè)中斷標(biāo)志寄存器中斷標(biāo)志寄存器 PIEIFRx 和和中斷使能寄存中斷使能寄存器器 PIEIERx。因?yàn)橐驗(yàn)?PIE 模塊是多路復(fù)用的,那么每一組同一時(shí)間應(yīng)該只能是一個(gè)中斷被模塊是多路復(fù)用的,那么每一組同一時(shí)間應(yīng)該只能是一個(gè)中斷被響應(yīng),響應(yīng),PIE 是怎么做到的呢?是怎么做到的呢?PIE 除了每組具有除了每組具有 PIEIERx,PIEIFRx 寄存寄存器之外,還有一個(gè)器之外,還有一個(gè) PIEACK 寄存器,它的低寄存器,它的低 12 位分別對(duì)應(yīng)著位分別對(duì)應(yīng)著 12 個(gè)組,個(gè)組,即即 INT1-INT12,高位保留。,高位保留。假如假如 T1
35、的周期中斷被響應(yīng)了,則的周期中斷被響應(yīng)了,則 PIEACK 寄存器的第寄存器的第 2 位(對(duì)應(yīng)于位(對(duì)應(yīng)于 INT2)就會(huì)被置位,并且一直保持直到手動(dòng)清)就會(huì)被置位,并且一直保持直到手動(dòng)清除這個(gè)標(biāo)志位。當(dāng)除這個(gè)標(biāo)志位。當(dāng) CPU 在響應(yīng)在響應(yīng) T1PNT 的時(shí)候,的時(shí)候,PIEACK 的第的第 2 位一直位一直是是 1, 這時(shí)候如果這時(shí)候如果 PIE的第的第2 組內(nèi)發(fā)生其他的外設(shè)中斷,則暫時(shí)不會(huì)把組內(nèi)發(fā)生其他的外設(shè)中斷,則暫時(shí)不會(huì)把 PIE 響應(yīng)送給響應(yīng)送給 CPU,必須等到,必須等到 PIEACK 的第的第 2 位被復(fù)位之后,如果該中位被復(fù)位之后,如果該中斷請(qǐng)求還存在,那么立馬由斷請(qǐng)求還存在
36、,那么立馬由 PIE 控制塊將中斷請(qǐng)求送至控制塊將中斷請(qǐng)求送至 CPU。所以,每個(gè)外設(shè)中斷被響應(yīng)之后,一定要對(duì)所以,每個(gè)外設(shè)中斷被響應(yīng)之后,一定要對(duì) PIEACK 的相關(guān)位進(jìn)行手動(dòng)的相關(guān)位進(jìn)行手動(dòng)服務(wù),否則同組內(nèi)的其他中斷都不會(huì)被響應(yīng)。服務(wù),否則同組內(nèi)的其他中斷都不會(huì)被響應(yīng)。(3)CPU 級(jí)級(jí) CPU 也有也有中斷標(biāo)志寄存器中斷標(biāo)志寄存器 IFR 和和使能寄存器使能寄存器 IER。當(dāng)某一個(gè)當(dāng)某一個(gè)外設(shè)中斷請(qǐng)求通過外設(shè)中斷請(qǐng)求通過 PIE 發(fā)送到發(fā)送到 CPU 時(shí),與時(shí),與 INTx 相關(guān)的中斷相關(guān)的中斷標(biāo)志位就會(huì)被置位。標(biāo)志位就會(huì)被置位。 CPU 接到了中斷的請(qǐng)求,就得暫停正在執(zhí)行的程序,轉(zhuǎn)而
37、去接到了中斷的請(qǐng)求,就得暫停正在執(zhí)行的程序,轉(zhuǎn)而去響應(yīng)中斷程序,但是此時(shí),它必須得做一響應(yīng)中斷程序,但是此時(shí),它必須得做一 些準(zhǔn)備工作,以便于些準(zhǔn)備工作,以便于執(zhí)行完中斷程序之后回過頭來還能找到原來的地方和原來的狀執(zhí)行完中斷程序之后回過頭來還能找到原來的地方和原來的狀態(tài)。如果態(tài)。如果CPU中斷響應(yīng)開始了,中斷響應(yīng)開始了,CPU 會(huì)將相應(yīng)的會(huì)將相應(yīng)的 IER 和和 IFR 位進(jìn)行清除,位進(jìn)行清除,就是不能響應(yīng)其他中斷了,就是不能響應(yīng)其他中斷了,CPU 向其他中斷發(fā)向其他中斷發(fā)出了通知,正在忙,沒空來處理你們的請(qǐng)求了,得等到處理完出了通知,正在忙,沒空來處理你們的請(qǐng)求了,得等到處理完手上的中斷之后
38、才能再來處理其他請(qǐng)求。手上的中斷之后才能再來處理其他請(qǐng)求。TI 例程中與中斷相關(guān)的幾個(gè)文件例程中與中斷相關(guān)的幾個(gè)文件 DSP28_PieCtrl.h,這個(gè)文件定義了和這個(gè)文件定義了和 PIE 相關(guān)的寄存器的相關(guān)的寄存器的數(shù)據(jù)結(jié)構(gòu),我們對(duì)應(yīng)于相關(guān)寄存器的定義會(huì)發(fā)現(xiàn),兩者是一數(shù)據(jù)結(jié)構(gòu),我們對(duì)應(yīng)于相關(guān)寄存器的定義會(huì)發(fā)現(xiàn),兩者是一樣的。樣的。 DSP28_PieVect.h,這個(gè)頭文件定義了這個(gè)頭文件定義了 PIE 的中斷向量。的中斷向量。DSP28_PieCtrl.c 文件里只有文件里只有 1 個(gè)函數(shù),個(gè)函數(shù),InitPieCtrl(),(),其作用是對(duì)其作用是對(duì) PIE 模塊進(jìn)行初始化的,例如在程
39、序開始的時(shí)候模塊進(jìn)行初始化的,例如在程序開始的時(shí)候使能某些外設(shè)中斷。使能某些外設(shè)中斷。DSP28_PieVect.c 文件是對(duì)文件是對(duì) PIE 中斷向量表進(jìn)行初始化的。中斷向量表進(jìn)行初始化的。執(zhí)行完這個(gè)程序之后,各個(gè)中斷函數(shù)都有了明確的入口地址執(zhí)行完這個(gè)程序之后,各個(gè)中斷函數(shù)都有了明確的入口地址了,這樣了,這樣 CPU 執(zhí)行起來就方便了。執(zhí)行起來就方便了。DSP28_DefaultIsr.c 文件,文件,2812 所有的與外設(shè)相關(guān)的中斷所有的與外設(shè)相關(guān)的中斷函數(shù)都在這里定義,如函數(shù)都在這里定義,如 T1 周期中斷周期中斷 T1PINT。我們自己在。我們自己在寫的時(shí)候,只要將具體的函數(shù)內(nèi)容寫進(jìn)去就可以了。寫的時(shí)候,只要將具體的函數(shù)內(nèi)容寫進(jìn)去就可以了。與與PIEPIE中斷擴(kuò)展模塊相關(guān)的寄存器(中斷擴(kuò)展模塊相關(guān)的寄存器(P63-P66P63-P66)PIECTRL: PIE控制寄存器控制寄存器PIEACK: PIE應(yīng)答寄存器應(yīng)答寄存器PIEIFRx(x=112): PIE中斷標(biāo)志寄存器中斷標(biāo)志寄存器PIEIERx(x=112): PIE中斷使能寄存器中斷使能寄存器IFR: CPU中斷標(biāo)志寄存器中斷標(biāo)志寄存器IER: CPU
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年民間借貸合同模板月息
- 六年級(jí)下冊數(shù)學(xué)教案-5.2 數(shù)與代數(shù) ︳西師大版
- 二年級(jí)下冊數(shù)學(xué)教案-4.4勤勞工作-筆算三位數(shù)加減三位數(shù)(一次進(jìn)位、退位) 青島版
- 2025年城鄉(xiāng)結(jié)對(duì)共建協(xié)議書范
- 2025年河北旅游職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案一套
- 化學(xué)-云南省三校2025屆高三2月高考備考聯(lián)考卷(六)試題和答案
- 2025江西省建筑安全員A證考試題庫及答案
- 2025年鶴崗師范高等專科學(xué)校單招職業(yè)傾向性測試題庫完整版
- 2025年度個(gè)人股份轉(zhuǎn)讓與員工分紅權(quán)合同模板
- 2025年度企業(yè)數(shù)字化轉(zhuǎn)型技術(shù)顧問合作協(xié)議
- 腹腔化療腫瘤課件
- 四川省成都市武侯區(qū)2022-2023學(xué)年七年級(jí)下學(xué)期期末英語試卷(含答案)
- 腦卒中患者護(hù)理查房
- 智能機(jī)器人與傳感器PPT完整全套教學(xué)課件
- 高效空調(diào)制冷機(jī)房智能控制系統(tǒng)技術(shù)規(guī)程
- 《動(dòng)物王國開大會(huì)》說課PPT
- GB/T 42595-2023承壓設(shè)備修理基本要求
- 春玉米套種秋黃瓜技術(shù)
- 四年級(jí)下冊勞動(dòng)技術(shù)教案
- 城市軌道交通服務(wù)禮儀和意識(shí)基本知識(shí)
- 科幻小說賞讀智慧樹知到答案章節(jié)測試2023年杭州師范大學(xué)
評(píng)論
0/150
提交評(píng)論