




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第二章
F281xDSP控制器的結構、性能、資源◆本章主要內容:
2.1DSP的性能指標
2.2DSP芯片引腳及其功能
2.3DSP片內硬件資源2.4DSP片內FLASH和OTP存儲器2.5時鐘與系統控制
2.632位CPU定時器
2.7通用輸入/輸出GPIO2.8外設中斷擴展PIE2.9中央處理器單元2.1TMS320F2812的性能指標◆
F2812的主要特點:
■
采用高性能的靜態(tài)CMOS技術,時鐘頻率可達150MHz;核心電壓:1.8V;I/O口電壓和Flash編程電壓:3.3V
■
32位CPU,可實現16×16位和32×32位乘法操作,哈佛總線結構,尋址程序空間可達4MB,尋址數據空間可達4GB
■
可向下兼容TMS320F24X/LF240X代碼
■
采用PLL來控制系統各模塊所需頻率■
3個32位的CPU定時器和適合電機控制的事件管理模塊EVA和EVB■
很強的外圍通信功能,包括同步串行口SPI,通用異步串行口SCI,增強的eCAN和多通道緩存串行口MCBSP■16個通道、12位精度的A/D轉換器■
56個多路通用輸入/輸出(GPIO)引腳等等2.1TMS320F2812的性能指標特征F2810F2812指令周期(150MHz)6.67ns6.67nsSRAM(16位/字)18K18K3.3V片內Flash(16位/字)64K128K片內Flash/SRAM的密鑰有有BootROM有有掩膜ROM有有外部存儲器接口無有事件管理器A和B(EVA和EVB)EVA、EVBEVA、EVB*通用定時器44*比較寄存器/脈寬調制1616*捕獲/正交解碼脈沖電路6/26/2看門狗定時器有有12位的ADC有有*通道數1616F2810和F2812的硬件特征(1)F2810和F2812的硬件特征(2)特征F2810F281232位的CPU定時器33串行外圍接口有有串行通信接口(SCI)A和BSCIA、SCIBSCIA、SCIB控制器局域網絡有有多通道緩沖串行接口有有數字輸入/輸出引腳(共享)有有外部中斷源33供電電壓核心電壓1.8VI/O電壓3.3V核心電壓1.8VI/O電壓3.3V封裝128針PBK179針GHH,176針PGF溫度選擇:A:-40℃~+85℃ S:-40℃~+125℃PBK僅適用于TMSPGF和GHH僅適用于TMS
2.2TMS320F281x芯片引腳及其功能了解引腳信號名稱、功能、特性、狀態(tài)
圖1TMS320F2812的頂視圖F2812-176引腳封裝底視圖◆F281x的引腳:
GPIO(GeneralPurposeInput/Outputpin):56個,既可作為一般的數字I/O口,又可作為外設功能引腳,如PWM、eCAN等外部存儲器接口XINTF:45個電源和地:38個A/D轉換相關:23個
JTAG接口有關:7個
所有數字輸入引腳的電平均與TTL兼容,輸出引腳均為3.3VCMOS電平,輸入不能承受5V電壓
上拉電流/下拉電流均為100μA(20μA)
所有引腳的輸出緩沖器驅動能力(有輸出功能的)典型值是4mA2.3DSP片內硬件資源TMS320F281x主要由C28x核的CPU(C28xCPU)、系統時鐘控制模塊(系統控制部分)、事件和外設管理模塊(EVA、EVB和外設中斷控制等),片內存儲模塊(FLASH、ROM、RAM等)、CPU定時器模塊(CPU定時器)、12位A/D轉換模塊(12bitADC)、擴展接口模塊(擴展接口)、以及內部總線等構成。圖2F281x片內外設連接框圖外部擴展總線和內部總線
擴展接口:A18-A0和D15-D0是表示2812外部擴存儲器的能力,2812外擴的存儲空間最大是219*16bit(512K)。F281x的內部存儲器空間被分成了2塊,一塊是程序空間,一塊是數據空間,對它們的訪問通過地址總線和數據總線進行。281x的存儲器接口具有3條地址總線和3條數據總線。PAB(ProgramAddressBus):32位程序地址總線,用于傳送程序空間的讀寫地址。DRAB(Data-ReadAddressBus):32位數據讀地址總線,用于傳送數據空間的讀地址。DWAB(Data-WriteAddressBus):32位數據寫地址總線,用于傳送數據空間寫地址。PRDW(Program-ReadDataBus):32位程序讀數據總線,用于傳送讀取程序空間時的指令或者數據。DRDB(Data-ReadDataBus):32位數據讀數據總線,用來讀取數據空間的數據。DWDB(Data/Program-WriteDataBus):32位數據/程序寫數據總線,向數據空間/程序空間寫相應的數據。TMS320F2812存儲空間的映射◆SARAM均可映射到程序存儲空間和數據存儲空間,L0和L1受片上FLASH中的密碼保護◆FLASH和一次可編程EPROM(OTP)也受FLASH的密碼保護128K×16位FLASH18K×16位RAM:分成M0、M1、L0、L1和H0這5個塊4K×16位BootROM1K×16位OTPROM
BootROM出廠時固化了BootLoader軟件,根據引導信號確定上電引導裝載方式,可從Flash引導裝載程序,也可從外部存儲器引導程序包括一些標準的數學運算表2.4DSP片內FLASH和OTP存儲器
片內Flash存儲器的特點可映射到程序空間或數據空間程序可分成多段,代碼安全保護低功耗模式可根據CPU頻率調整等待周期流水線模式可提高線性代碼執(zhí)行效率Flash和OTP存儲器功耗模式睡眠(sleep)模式或復位模式:功耗最低備用(standby)模式:在該狀態(tài)或睡眠模式下進行CPU讀或取操作,將自動使DSP工作模式變?yōu)榛钴S模式活躍(active)模式或讀模式:功耗最高CPU對Flash/OTP的操作,形式32位取址16或32位數據空間讀取16位程序空間讀Flash處于活躍狀態(tài)時,存儲器的讀/寫處理有3中類型Flash存儲器隨機存取Flash存儲器頁面存取OTP操作片內Flash和OTP存儲器的配置寄存器名稱地址功能描述FOPT0x00000A80Flash選擇寄存器Reserved0x00000A81保留FPWR0x00000A82Flash電源方式寄存器FSTATUS0x00000A83狀態(tài)寄存器FSTDBYWAIT0x00000A84Flash睡眠到待機等待寄存器FACTIVEWAIT0x00000A85Flash待機到活動等待寄存器FBANKWAIT0x00000A86Flash讀訪問等待狀態(tài)寄存器FOTPWAIT0x00000A87OTP讀訪問等待狀態(tài)寄存器Flash和OTP存儲器的工作狀態(tài)通過配置寄存器進行設置注意:
執(zhí)行Flash寄存器配置任務的代碼不能放在Flash或OTP存儲器中執(zhí)行,而應放在其他的RAM存儲器空間中。而且當Flash或OTP存儲器中正在運行程序時,也不要對Flash或OTP寄存器進行操作,程序結束后才可以進行操作。在Flash/OTP中運行的代碼可以讀Flash寄存器中的內容,但不要將內容寫進去,要避免時序上的混亂。主要內容:鎖相環(huán)PLL振蕩器OSC
時鐘
1、2、看門狗WD
給DSP做“身體檢查”維持其正常工作的。
3、相關控制寄存器的設置2.5F281x的時鐘及系統控制1、振蕩器OSC和PLL模塊F2812內的振蕩器和PLL模塊PLL模式說明SYSCLKOUTPLL禁止復位時如果XPLLDIS引腳是低電平,則PLL完全被禁止。處理器直接使用引腳X1/XCLKIN輸入的時鐘信號。XCLKINPLL旁路上電時的默認配置,如果PLL沒有被禁止,則PLL將變成旁路,在X1/XCLKIN引腳輸入的時鐘經過2分頻后提供給CPU。XCLKIN/2PLL使能使能PLL,在PLLCR寄存器中寫入一個非零值n(XCLKIN×n)/2PLL配置模式F2812內部各種信號產生情況SYSOUTCLK組:CPU定時器和eCAN總線OSCCLK:看門狗電路低速組:SCI、SPI、McBSP高速組:EVA、EVB、ADC片上外設按輸入時鐘劃分SYSCR:系統控制寄存器PLLCR:PLL控制寄存器HISPCP:高速片上外設分頻器LOSPCP:低速片上外設分頻器與PLL、時鐘配置相關的寄存器DIV=000:旁路方式DIV=0001B~1010B,對應表中n=1~10DIV=1011B~1111B,保留15 43 0ReservedDIVR-0R/W-0PLL控制寄存器(PLLCR)高速外設時鐘寄存器(HISPCP)15 32 0ReservedHSPVALR-0R/W-001如果HISPCP不等于0,HSPCLK=SYSCLKOUT/(HISPCPx2)如果HISPCP等于0,HSPCLK=SYSCLKOUT低速外設時鐘寄存器(LOSPCP)15 32 0ReservedLSPVALR-0R/W-001如果LOSPCP不等于0,LSPCLK=SYSCLKOUT/(LOSPCPx2)如果LOSPCP等于0,LSPCLK=SYSCLKOUT2、看門狗模塊看門狗加法計數寄存器WDCNTR:當計數到最大值時,產生一個輸出脈沖。看門狗復位控制寄存器WDKEY:寫入0x55+0xAA,會使WDCNTR清零,其它值使看門狗復位。防止WDCNTR溢出:(1)禁止看門狗;(2)向復位控制寄存器周期性寫入0x55+0xAA,使WDCNTR清零。2.6CPU定時器1、什么是定時器?(計時工具)
F2812內部有3個32位的CPU定時器:Time0、
Time1、Time2(系統保留)2、CPU定時器內部結構定時器的工作示意圖TIMCLK值如何確定?1)給PRDH:PRD賦值2)裝載TIMH:TIM3)每隔一個TIMCLK計數器的值減少1,一直減到0完成一個周期的計數。1)給TDDRH:TDDR賦值2)裝載PSCH:PSC3)每隔一個SYSCLKOUT
PSCH:PSC值減少1,直到為0,就會輸出一個TIMCLK。計數器每走一步所需要的時間:CPU一個周期所計量的時間為:其中:X為系統時鐘SYSCLKOUT的值(MHz)。3、定時器寄存器(書本)2.7通用輸入/輸出I/O口(GPIO)
GPIO:通用輸入輸出(56個);
GPIO引腳是多功能復用的,即可作為數字I/O口,也可作為特殊功能接口(如SCI、SPI)。
GPIO分A、B、D、E、F、G六組,通過GPxMux、GPxDIR、GPxQUAL寄存器進行控制。
如果GPIO配置為數字I/O,則可通過GPxDAT、
GPxSET、GPxCLEAR、GPxTOGGLE寄存器對其引腳進行操作。GPxDAT:GPIOx數據寄存器GPxSET:GPIOx置位寄存器GPxCLEAR:GPIOx清楚寄存器GPxTOGGLE:GPIOx取反寄存器GPxMux:GPIOx功能控制選擇寄存器GPxDIR:GPIOx方向控制寄存器GPxQUAL:GPIOx輸入限定寄存器控制數字x:A\B\D\E\F\GGPxMux:GPIOx功能選擇控制寄存器每各I/O口都有一個對應的功能選擇寄存器位,控制該口位特殊功能口或通用數字I/O口;如:GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=0;//設置GPIOA0口為數字I/O口GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=1;//設置GPIOA0口為特殊功能口(PWM1輸出口)GPxDIR:GPIOx方向控制寄存器每各I/O口都有一個對應的方向控制寄存器位,控制該口輸入輸出方向;如:GpioMuxRegs.GPADIR.bit.GPIOA0=0;//設置GPIOA0口為數字輸入口GpioMuxRegs.GPADIR.bit.GPIOA0=1;//設置GPIOA0口為數字輸出口GPxQUAL:GPIOx輸入限制寄存器控制GPIO引腳輸入信號的采樣周期,目的是消除輸入信號的噪聲。如:GpioMuxRegs.GPAQUAL.BIT.QUALPRD=5;//設置GPIOA組全部引腳輸入信號采用周期為5GPxDAT:GPIOx數據寄存器每各I/O口都有一個對應的數據寄存器位,控制該口狀態(tài);如:GpioDataRegs.GPADAT.bit.GPIOA0=0;//設置GPIOA0口為低電平GpioDataRegs.GPADAT.bit.GPIOA0=1;//設置GPIOA0口為高電平GPxSET:GPIOx置位寄存器每各I/O口都有一個對應的置位寄存器位,控制該口狀態(tài);GpioDataRegs.GPASET.bit.GPIOA0=0;//沒影響GpioDataRegs.GPASET.bit.GPIOA0=1;//將A0引腳置位高電平GPxCLEAR:GPIOx清除寄存器每各I/O口都有一個對應的清除寄存器位,將該口清楚位低電平;GpioDataRegs.GPACLEAR.bit.GPIOA0=0;//沒影響GpioDataRegs.GPACLEAR.bit.GPIOA0=1;//將A0引腳置位低電平GPxTOGGLE:GPIOx取反寄存器每各I/O口都有一個對應的取反·寄存器位,將該口電平取反;GpioDataRegs.GPATOGGLE.bit.GPIOA0=0;//沒影響GpioDataRegs.GPATOGGLE.bit.GPIOA0=1;//將A0引腳置電平取反2.8F281x外設中斷擴展模塊1、什么是中斷?中斷(Interrupt)是硬件和軟件驅動事件,它使得CPU暫停當前的主程序,并轉而去執(zhí)行一個中斷服務程序。寫代碼電話鈴聲響接電話接完電話繼續(xù)寫代碼執(zhí)行主程序有一個中斷請求暫停主程序,執(zhí)行中斷服務子程序返回主程序繼續(xù)執(zhí)行
PIE可以支持96個不同的中斷,這些中斷分成了12個組,每個組有8個中斷,而且每個組都被反饋到CPU內核的12條中斷線中的某一條上(INT1-INT12),我們平時用到的所有的外設中斷都被歸入了這96個中斷中,被分布在不同的組里,使用多路復用的原理。PIE目前只使用了96個中斷中的45個,其他的等待將來的功能擴展。
F2812的中斷是3級中斷機制,分別是外設級,PIE級以及CPU級,對于某一個具體的外設中斷請求,任意一級的不許可,CPU最終都不會執(zhí)行該外設中斷。就像一個文件需要三級領導批示一樣,任意一級領導的不同意,都不能被送至上一級領導,更不可能得到最終的批準,中斷機制的原理也是如此。F2812的中斷工作過程(1)外設級中斷假如在程序的執(zhí)行過程中,某一個外設產生了一個中斷事件,那么在這個外設的某個寄存器中與該中斷事件相關的中斷標志位(IF=InterruptFlag)被置為1。此時,如果該中斷相應的中斷使能位(IE=InterruptFlag)已經被置位,也就是為1,外設就會向PIE控制器發(fā)出一個中斷請求。相反的,如果雖然中斷事件產生了,相應的中斷標志位也被置1了,但是該中斷沒有被使能(相應的使能位為0),那么外設就不會向PIE發(fā)出中斷請求,但是相應的中斷標志位會一直保持置位狀態(tài),直到用程序清楚它為止。當然,在中斷標志位保持在1的時候,一旦該中斷被使能了,那么外設立馬會向PIE發(fā)出中斷申請。以T1PINT為例:當定時器T1的計寄存器T1CNT計數到和T1周期寄存器T1PINT的值匹配時(相等時),就產生了一個T1PINT事件,即T1的周期中斷。這時候,事件管理器EVA的中斷標志寄存器A(EVAIFRA)中的第7位T1PINTFLAG被置為1,這時候如果EVA的中斷屏蔽寄存器A(EVAIMRA)中的第7位T1PINT的使能位是1,則EVA就會向PIE發(fā)出中斷請求,當然,如果該位的值是0,也就是該中斷未被使能(被屏蔽),則EVA不會向PIE發(fā)出中斷請求,而且EVAIFRA中T1PINTFLAG位將一直保持為1,除非通過程序將其清除。需要注意的是,不管在什么情況下,外設寄存器中的中斷標志位都必須手工清除。清除T1PINT標志位的語句EvaRegs.EVAIFRA.bit.T1PINT=1;(1)外設級中斷舉例:(2)PIE級中斷當外設把中斷請求提交給PIE模塊。PIE控制器中的每組都有一個中斷標志寄存器PIEIFRx和中斷使能寄存器PIEIERx。每個寄存器的低8位對應于8個外設中斷,高8位保留。例如T1PINT對應于PIEIFR2的第4位和PIEIER2的第4位。因為PIE模塊是多路復用的,那么每一組同一時間應該只能是一個中斷被響應,PIE是怎么做到的呢?PIE除了每組具有剛才的PIEIERx,PIEIFRx寄存器之外,還有一個PIEACK寄存器,它的低12位分別對應著12個組,即INT1-INT12,高位保留。假如T1的周期中斷被響應了,則PIEACK寄存器的第2位(對應于INT2)就會被置位,并且一直保持直到手動清除這個標志位。當CPU在響應T1PNT的時候,PIEACK的第2位一直是1,這時候如果PIE2組內發(fā)生其他的外設中斷,則暫時不會被PIE響應送給CPU,必須等到PIEACK的第2位被復位之后,如果該中斷請求還存在,那么立馬由PIE控制塊將中斷請求送至CPU。所以,每個外設中斷被響應之后,一定要對PIEACK的相關位進行手動服務,否則同組內的其他中斷都不會被響應。清除PIE中與T1PINT相關的應答位的語句PieCtrl.PIEACK.bit.ACK2=1;
PIE中斷需注意的問題將PIE級的中斷和外設級的中斷相比較之后發(fā)現,外設中斷的中斷標志位是需要手工清除的,而PIE級的中斷標志位都是自動置位或者清除的。但是PIE多了一個PIEACK寄存器,相當于一個同行的關卡,同一時間只能放一個中斷過去,只有等到這個中斷被響應,給關卡一個放行命令之后,才能讓同組的下一個中斷過去,被CPU響應。(3)CPU級CPU也有中斷標志寄存器IFR和使能寄存器IER。當某一個外設中斷請求通過PIE發(fā)送到CPU時,與INTx相關的中斷標志位就會被置位。例如,T1的周期中斷T1PINT的請求到達CPU這邊時,與其相關的INT2的標志位就會被置位,該標志位就會被鎖存在IFR中,這時候,如果IER中的相關位被置位了,并且INTM的值為0,則中斷就會被CPU響應。在T1PINT的例子里,當IER的第2位即INT2被置位,INTM為0,則CPU就會響應定時器T1的周期中斷。CPU接到了中斷的請求,就得暫停正在執(zhí)行的程序,轉而去響應中斷程序,但是此時,它必須得做一些準備工作,以便于執(zhí)行完中斷程序之后回過頭來還能找到原來的地方和原來的狀態(tài)。CPU會將相應的IER和IFR位進行清除,EALLOW也被清除,INTM被置位,就是不能響應其他中斷了,CPU向其他中斷發(fā)出了通知,正在忙,沒空來處理你們的請求了,得等到處理完手上的中斷之后才能再來處理其他請求。然后,CPU會存儲返回地址并自動保存相關的信息,例如將正在處理的數據放入堆棧等等,做好這些準備工作之后,CPU會從PIE塊中取出對應的中斷向量ISR,從而轉去執(zhí)行中斷子程序。TI例程中與中斷相關的幾個文件DSP28_PieCtrl.h,這個文件定義了和PIE相關的寄存器的數據結構,我們對應于相關寄存器的定義會發(fā)現,兩者是一樣的。
DSP28_PieVect.h,這個頭文件定義了PIE的中斷向量。DSP28_PieCtrl.c文件里只有1個函數,InitPieCtrl(),其作用是對PIE模塊進行初始化的,例如在程序開始
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年米面機械休閑設備項目建議書
- 2024年河北邯鄲市惠民房地產開發(fā)有限公司招聘專業(yè)技術人才15名筆試參考題庫附帶答案詳解
- 2024年景德鎮(zhèn)市昌鼎人力資源有限公司公開招聘筆試參考題庫附帶答案詳解
- 2025年高性能氣敏傳感器項目合作計劃書
- 2025年廣東建設職業(yè)技術學院單招職業(yè)技能測試題庫完整版
- 第十四課《凱撒密碼》教學設計 2023-2024學年新世紀版(2018)初中信息技術八年級上冊
- 粵教版高中信息技術選修1教學設計-2.4.1 For循環(huán)語句
- 第18課 東晉南朝時期江南地區(qū)的開發(fā)(教學設計)2023-2024學年七年級歷史上冊同步備課系列(部編版)
- 2025年河北軌道運輸職業(yè)技術學院單招職業(yè)傾向性測試題庫審定版
- 2023-2024學年人教版高中信息技術必修一第三章第三節(jié)《數據分析與可視化》教學設計
- 研學旅行課程標準(一)-前言、課程性質與定位、課程基本理念、課程目標
- 部編版二年級下冊語文教案全冊
- 解放牌汽車CA10B后鋼板彈簧吊耳加工工藝及夾具設計哈
- 大學??啤稒C電傳動控制》課件
- 高中地理高清區(qū)域地理填圖冊
- 品管圈QCC質量持續(xù)改進案例手術室-優(yōu)化手術病理標本處置流程PDCA
- 培根鑄魂征文800字
- 基于核心素養(yǎng)的學習觀和教學觀
- 感染性腹瀉及其防控措施
- 第二篇-安全操作規(guī)程
- 罪犯教育學課程
評論
0/150
提交評論