第3章-存儲器與通用IO口_第1頁
第3章-存儲器與通用IO口_第2頁
第3章-存儲器與通用IO口_第3頁
第3章-存儲器與通用IO口_第4頁
第3章-存儲器與通用IO口_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

DSP原理與應(yīng)用技術(shù)第三章存儲器與通用I/O端口第三章存儲器與通用I/O接口3.1存儲器3.2外部擴(kuò)展接口3.3通用I/O(GPIO)多路復(fù)用器F2812采用增強(qiáng)的哈佛結(jié)構(gòu),可以并行訪問程序和數(shù)據(jù)存儲器。內(nèi)部集成了大量的SRAM、ROM以及Flash等存儲器,并且采用統(tǒng)一尋址方式(程序、數(shù)據(jù)和I/O統(tǒng)一尋址)

—提高了存儲空間的利用率,方便程序的開發(fā)。

F2812還提供外部并行總線擴(kuò)展接口

—有利于開發(fā)大規(guī)模復(fù)雜系統(tǒng)第三章存儲器與通用I/O接口F2812存儲器包括片內(nèi)存儲器和外部存儲器接口兩部分。片內(nèi)存儲器操作的優(yōu)點(diǎn):速度快、價格低、功耗小。

外部存儲器操作的優(yōu)點(diǎn):可以訪問更大的地址空間。第三章存儲器與通用I/O接口TMS320F2812所有存儲空間采用統(tǒng)一尋址:低64KB地址存儲器——相當(dāng)于F24x/F240x處理器的數(shù)據(jù)存儲空間,高64KB地址存儲器——相當(dāng)于F24x/F240x處理器的程序存儲空間,與F24x/F240x兼容的代碼只能定位在高64KB地址的存儲空間運(yùn)行。

XMP/MC=0:頂部的32KBFlash和H0SARAM模塊可以用來運(yùn)行24x/240x兼容的代碼;

XMP/MC=1:F2812的代碼則從外部存儲器接口的(XINTF)Zone7空間開始執(zhí)行

XMP/MC是ZINTF配置寄存器XINTCHF2中的D8(P70)第三章存儲器與通用I/O接口基本概念片內(nèi)雙訪問存儲器(DARAM)

——每個機(jī)器周期可被訪問2次的存儲器

片內(nèi)單訪問程序/數(shù)據(jù)RAM(SARAM)

√每個存儲器塊都可以被單獨(dú)訪問。

√每個存儲器塊都可映像到程序空間或數(shù)據(jù)空間,用以存放指令代碼或存儲數(shù)據(jù)變量。

√每個存儲器塊在讀/寫訪問時都可以全速運(yùn)行,即等待狀態(tài)為零等待。3.1存儲器掩膜型片內(nèi)ROM存儲器

——出廠時已寫好的存儲器,用戶只能讀不能寫閃速存儲器(Flash)

——電可擦除與編程的非易失性存儲器

一次性可編程存儲器(OTP-OneTimeProgrammable)

——只能編程一次,而不能擦除3.1存儲器C28x具有32位的數(shù)據(jù)地址和22位的程序地址,總地址空間可達(dá)232=4G字(每個字16位)的數(shù)據(jù)空間和222=4M字的程序空間。

C28x所有存儲器塊都統(tǒng)一映像到程序空間和數(shù)據(jù)空間。3.1存儲器存儲器映射分成三部分1.片內(nèi)程序/數(shù)據(jù)存儲器:C28x芯片具有片內(nèi)單周期隨機(jī)存儲器SRAM、只讀存儲器ROM和Flash存儲器。它們被映像到程序空間或數(shù)據(jù)空間,用以存放執(zhí)行代碼或存儲數(shù)據(jù)變量。2.保留空間:數(shù)據(jù)區(qū)的某些地址被保留作為CPU的仿真寄存器使用。(用戶不可使用)3.CPU的中斷向量:在程序地址中保留了64個地址作為CPU的32個中斷向量。通過STl(P38-40)的位VMAP可以將CPU向量映像到程序空間的頂部或底部(000000H~00003FH,3FFFC0H~3FFFFFH)。3.1存儲器低64KC2xLP兼容的程序空間數(shù)據(jù)空間SP復(fù)位后0400H800H

9FFHE00HA000HFFFFFFFFHRAMM0中的向量表(VMAP=0)塊M01K×16塊M1

1K×16外設(shè)保留存儲器或外設(shè)6000H3FFH+1=400H=4×162=22×28=210=1K程序空間0000H03FFH0400H07FFH3F0000H高64KC2xLP兼容的程序空間RAMM0中的向量表(VMAP=0)塊M01K×16塊M1

1K×16保留存儲器或外設(shè)向量表(VMAP=1)3FFFFFH3FFFC0H程序空間4M程序空間4GTMS320F2812內(nèi)存映射M0SARAM(1K)M1SARAM(1K)L0SARAM(4K)L1SARAM(4K)H0SARAM(8K)OTP(1K)FLASH(128K)reservedreservedreservedPF0(2K)reservedreservedPF1(4K)reservedPF2(4K)reservedPIEvector(256)ENPIE=1XINTZone0(8K)XINTZone1(8K)XINTZone2(0.5M)XINTZone6(0.5M)XINTZone7(16K)MP/MC=1XINTVector-RAM(32)MP/MC=1ENPIE=0reservedreservedreserved數(shù)據(jù)|程序0x0000000x0004000x0008000x000D000x0010000x0060000x0070000x0080000x0090000x00A0000x3D78000x3D80000x3F80000x3FA0000x3FF0000x3FFFC00x3FC0000x1800000x1000000x0800000x0040000x002000數(shù)據(jù)|程序128-BitPasswordreserved0x3D7C00BootROM(4K)MP/MC=0BROMvector(32)MP/MC=0ENPIE=0C28x包含兩個單周期訪問的存儲器SARAM.存儲器空間:低64K×16位地址為000000h~00FFFFh,可等價于C24x/240x的數(shù)據(jù)空間;高64K×l6位地址為3F0000h~3FFFFFh,可等價于C24x/240x的程序空間。3.1存儲器3.1.1片內(nèi)程序/數(shù)據(jù)存儲器1.片內(nèi)SARAM:為單口隨機(jī)讀/寫存儲器,在單個機(jī)器周期內(nèi)只能被訪問一次。C28x片內(nèi)共有18K×16位的SARAM,它們分別是:M0和M1:每塊的大小為1K×16位,其中,M0映像至地址000000h~0003FFh,M1映像至地址000400h~0007FFh;復(fù)位狀態(tài)下,堆棧指針指向M1塊的起始位置。所有M0和M1同時映射到程序和數(shù)據(jù)空間,因此它們既可存放執(zhí)行程序也可存放數(shù)據(jù)變量。L0和L1:每塊的大小為4K×16位,其中,L0映像至地址008000h~008FFFh,L1映像至地址009000h~009FFFh;H0:大小為8K×16位,映像至地址3F8000h~3F9FFFh0003FFH+1=000400H400H=4×162

=22×28=210

=1K0007FFH+1=000800H000800H-000400H=400H400H=4×162

=22×28=210

=1K008FFFH+1=009000H009000H-008000H=1000H1000H=1×163

=212=4K009FFFH+1=00A000H00A000H-008000H=1000H1000H=1×163

=212=4K3F9FFFH+1=3FA000H3FA000H-3F8000H=2000H2000H=2×163

=2×212=213=8K

片內(nèi)SARAM的共同特點(diǎn):(1)每個存儲器都可以被單獨(dú)訪問(2)每個存儲器塊可以映射到程序空間或數(shù)據(jù)空間,用來存放指令代碼或存儲器數(shù)據(jù)(3)每個存儲器塊在讀/寫訪問時都可以全速運(yùn)行,即等待狀態(tài)為零等待。3.1.1片內(nèi)程序/數(shù)據(jù)存儲器其各自的特點(diǎn):(1)復(fù)位時自動將堆棧指針SP設(shè)置在M1塊的頂部,即地址為400H(2)L0和L1受到代碼安全模塊的保護(hù),M0、M1及H0不受保護(hù)3.1.1片內(nèi)程序/數(shù)據(jù)存儲器2.片上FlashF28x包含128K×l6位的Flash存儲器Flash存儲器被分成4個8K×16b單元和6個16K×16b的單元用戶可以單獨(dú)地擦除、編程和驗(yàn)證每個單元,而且并不會影響其他Flash單元。Flash存儲器可以映射到程序存儲空間,存放執(zhí)行的程序;也可以映射到數(shù)據(jù)空間存儲數(shù)據(jù)信息。

3.1.1片內(nèi)程序/數(shù)據(jù)存儲器尋址空間程序和數(shù)據(jù)空間尋址空間程序和數(shù)據(jù)空間0x3D8000~0x3D9FFFSectorJ,8K×l60x3F0000~0x3F3FFFSectorC,16K×16b0x3DA000~0x3DBFFFSectorI,8K×16

0x3F4000~0x3F5FFF

SectorB,8K×160x3DC000~

0x3DFFFFSectorH,16K×16

0x3F6000SectorA,8K×160x3E0000~0x3E3FFFSectorG,16K×16

0x3F7F80~0x3F7FF5當(dāng)使用代碼安全模塊時,編程到0x0000

0x3E4000~0x3E7FFFSectorF,16K×160x3F7PP6~0x3F7FF7Boot-to-Flash(或ROM)人口(這里存放程序調(diào)轉(zhuǎn)指令)0x3E8000~0x3EBFFFSectorE,16K×160x3F7FF8~0x3F7FFF安全密碼(128位),不要將全部編程為0

0x3EC000~0x3EFFFFSectorD,16K×163.1.1片內(nèi)程序/數(shù)據(jù)存儲器片內(nèi)Flash主要有以下幾個特點(diǎn):(1)整個Flash存儲器被分成多個單元(2)有代碼安全保護(hù),提高程序的保密性(3)工作在低功耗模式(4)可根據(jù)CPU時鐘頻率調(diào)整等待周期(5)Flash流水線模式能夠提高線性代碼的執(zhí)行效率。注意:安全密碼的初始值位1111,應(yīng)改為自己的密碼,不要寫為00003.1.1片內(nèi)程序/數(shù)據(jù)存儲器3.片上OTP(OneTimeProgrammable)2812芯片上有1K×16位的一次性可編程存儲器,地址為3D7800H~3D7BFFH.OTP可以映射到程序空間或數(shù)據(jù)空間,能夠存放程序或數(shù)據(jù)。OTP只能編程一次,不能擦除。OTP受到代碼安全模塊的保護(hù)。3.1.1片內(nèi)程序/數(shù)據(jù)存儲器4.片內(nèi)BootROMF2812內(nèi)含14K×16位的BootROM,地址空間為3FF000~3FFFFFH。存儲器內(nèi)由TI公司裝載了產(chǎn)品版本號、發(fā)布的數(shù)據(jù)、檢驗(yàn)求和信息、復(fù)位向量、CPU向量表以及標(biāo)準(zhǔn)的數(shù)學(xué)運(yùn)算表等。3.1.1片內(nèi)程序/數(shù)據(jù)存儲器BootROM主要功能是實(shí)現(xiàn)DSP的上電自動引導(dǎo)(bootloader)功能。芯片內(nèi)部在出廠時在BootROM的3FFC00~3FFFBFH空間已經(jīng)固化了TI公司提供的引導(dǎo)程序,當(dāng)芯片被設(shè)置位微計算機(jī)模式時(XMP/MC=0),CPU在復(fù)位后將執(zhí)行這段程序,從而完成Bootloader的功能。3.1.1片內(nèi)程序/數(shù)據(jù)存儲器Flash的啟動順序H0SARAM(8K)0x3F7FF60x3D80000x3F80000x3FF0000x3FFFC0BootROM(4K)BROMvector(32)0x3FFC00BootCodeRESET0x3F

FC00{SCANGPIO}FLASH(128K)Passwords(8)_c_int00LBC–startroutine“rts2800_ml.lib”“user”codesections_c_int00Boot.asmmain(){……

return;}23451SP5.代碼安全模塊CodeSecurityModule(CSM)代碼安全模塊是128位密碼,有用戶編程寫入片內(nèi)Flash的8個存儲單元3F7FF8H~3F7FFFH中,共計16位×8=128位。作用是防止非法用戶通過JTAG接口盜取L0、L1、OTP、Flash的內(nèi)容,或從外表存儲器運(yùn)行代碼去裝載某些不合法的軟件,防止程序代碼的外泄。L0SARAM(4K)L1SARAM(4K)OTP(1K)FLASH(128K)reserved0x0080000x0090000x3D78000x3D8000reserved0x00A0000x3D7C00受CSM保護(hù)的存儲區(qū):L0、L1、OTP、Flash3.1.1片內(nèi)程序/數(shù)據(jù)存儲器6.中斷向量F2812支持32個CPU級的中斷向量,每個中斷向量就是一個中斷服務(wù)程序的入口地址(32位),這些中斷向量被存放在一個連續(xù)的存儲空間。當(dāng)狀態(tài)寄存器ST1的位VMAP=0時,CPU的中斷矢量映射到程序存儲器000000H~00003FH;當(dāng)VMAP=1,ENPIE=0時,中斷矢量映射到程序存儲器3FFFC0H~3FFFFFH;當(dāng)VMAP=1,ENPIE=1時,中斷矢量映射PIE中斷向量表,地址空間000D00H~000DFFH;3.1.1片內(nèi)程序/數(shù)據(jù)存儲器7.寄存器映射空間F2812在片內(nèi)數(shù)據(jù)存儲器空間映射了3個外設(shè)幀PF0、PF1、PF2,專門用作外設(shè)寄存器的映射空間,除CPU寄存器之外,其他寄存器均為存儲器映射寄存器,它們分別映射在3個外設(shè)幀空間內(nèi)。PF0為2K×16位空間,地址000800H~000FFFH,直接映射到CPU的存儲器總線,支持16位和32位數(shù)據(jù)訪問。3.1.1片內(nèi)程序/數(shù)據(jù)存儲器PF1為4K×16位空間,地址006000H~006FFFH,映射到32位的外設(shè)總線,采用32位讀寫方式(即對偶地址訪問)。PF2為4K×16位空間,地址007000H~007FFFH,映射到16位的外設(shè)總線,僅支持16位訪問方式。3.1.1片內(nèi)程序/數(shù)據(jù)存儲器F2812的地址空間以字(16位)位基本單位當(dāng)CPU采用32位格式訪問存儲器或外設(shè)時,分配的地址必須是偶地址。如果操作的是奇地址,則CPU操作奇地址之前的偶地址。例如:對CPU定時器0的周期寄存器執(zhí)行32位寫操作時,對地址0x00C03H和0x00C02H進(jìn)行寫操作的結(jié)構(gòu)是相同,均是將32位周期值低16位寫入0x00C02H地址,高16位寫入0x00C03H地址。3.1.332位數(shù)據(jù)訪問的地址分配F2812的絕大部分指令是采用32位格式從程序存儲器空間獲得,經(jīng)過分配后執(zhí)行。當(dāng)程序存放到程序空間時,必須分配到偶地址空間。3.1.1片內(nèi)程序/數(shù)據(jù)存儲器3.2外部擴(kuò)展接口XINTF(ExternalInterface)F2812的XINTF采用異步非復(fù)用總線結(jié)構(gòu)XINTF采用16位數(shù)據(jù)總線,可提供1M字的尋址空間,用于擴(kuò)展外部存儲器或并行的外設(shè)接口芯片。F2812不支持I/O空間,當(dāng)用戶需要對片外設(shè)備進(jìn)行操作時,可以使用XINTF接口,也可以使用哪個GPIO進(jìn)行擴(kuò)展3.2.1外設(shè)接口描述3.2.1外設(shè)接口描述外部接口(XINTF)映射到5個獨(dú)立的存儲空間Zone0、Zone1、Zone2、Zone6、Zone7、當(dāng)訪問相應(yīng)的存儲空間時,就會產(chǎn)生一個片選信號;XINTF的5個空間共有3個片選引腳。其中Zone0、Zone1共用XZCS0AND1。Zone6、Zone7共用XZCS6AND7。

Zone2單獨(dú)使用片選信號XZCS2(p15)。每個空間都可以獨(dú)立地設(shè)置訪問等待、選擇、建立以及保持時間,同時還可以使用XREADY信號來控制外設(shè)的訪問。

外部接口的訪問時鐘頻率由內(nèi)部的XTIMCLK提供XTIMCLK可以等于SYSCLKOUT或SYSCLKOUT/2。

3.2.1外設(shè)接口描述,XINTFZone0(8K×16位)0x002000XINTFZone1(8K×16位)0x004000XINTFZone2(512K×16位)0x080000XINTFZone6(512K×16位)0x100000XINTFZone7(16K×16位)0x3FC000,16位數(shù)據(jù)總線19位地址總線寫信號,低電平有效讀信號,低電平有效讀寫控制信號外設(shè)準(zhǔn)備好,高電平有效設(shè)定為微處理器模式或微計算機(jī)模式低電平有效,有效時表明外設(shè)請求XINTF釋放外部總線,即將地址、數(shù)據(jù)總線和宣統(tǒng)信號置為高祖狀態(tài)時鐘輸入引腳當(dāng)XINTF準(zhǔn)許XHOLD的DMA請求時,該引腳輸出低電平,表明擴(kuò)展的外設(shè)可以驅(qū)動外部總線執(zhí)行DMA操作3.2.2外部接口的訪問3.2.2外部接口的訪問1.Zone2和Zone6Zone2和Zone6共享外部19條地址總線。Zone2的片選信號為XZCS2,

Zone6的片選信號為XZCS6AND7因?yàn)閮蓚€區(qū)域采用不同的片選信號,所以對這兩個區(qū)域的訪問可以采用不同的時序。2.Zone0和Zone1Zone0和Zone1共用一個片選信號XZCS0AND1,采用不同的內(nèi)部地址。Zone0的尋址范圍是0x002000~0x003FFF,Zonel的尋址范圍是0x004000~0x005FFF。如果希望區(qū)分兩個空間,需要增加其他控制邏輯在訪問Zone0時,XA[13]=1,XA[14]=0;在訪問Zonel時,XA[l3]=0,XA[14]=1。3.2.2外部接口的訪問3.Zone7Zone7是獨(dú)立的地址空間,復(fù)位時,XMP/MC=1,Zone7空間映射到0x3FC000。復(fù)位后,通過改變寄存器XINTCNF2中的MP/MC控制位,使能或屏蔽Zone7空間。如果XMP/MC=0,則Zone7不能映射到0x3FC000存儲空間,而片上的ROM將映射到該存儲空間。

Zone7的映射與MC/MC有關(guān),而Zone0,Zonel,Zonc2,Zone6總是有效的存儲空間,與XMP/MC狀態(tài)無關(guān)。3.2.2外部接口的訪問如果用戶需要建立自己的引導(dǎo)程序,存放在外部空間,可以使用Zone7空間進(jìn)行程序的引導(dǎo)。引導(dǎo)成功后,通過軟件使能內(nèi)部的ROM,以便可以訪問存放在ROM中的數(shù)學(xué)表。BootROM映射到Zone7空間時,Zone7空間的存儲器仍然可以訪問。這是因?yàn)閆one7和Zone6空間公用一個片選信號XZCS6ANDCS7。3.2.2外部接口的訪問XINTF配置寄存器組3.2.3外部接口配置寄存器組XINTF0時序寄存器XINTF1時序寄存器XINTF2時序寄存器XINTF6時序寄存器XINTF7時序寄存器XINTF配置寄存器XINTF塊控制寄存器XINTF修正寄存器3.2.3外部接口配置寄存器組XTIMING——時序寄存器每個XINTF空間都有自己的時序寄存器,改變時序寄存器的值將會影響相應(yīng)空間的訪問時序。XTIMING——時序寄存器

R/W-1R/W-1

R/W-1

R/W-1

ReservedXRDTRAILXWRLEADXWRTRAILXWRACTIVED7D6D5D4D3D2D1D0D31D24R-0

R-0R/W-1

R-0

R/W-1

ReservedX2TIMINGRerservedReservedD23D22D21D18D17D16

R/W-1R/W-1

R/W-1

R/W-1

READYMODEUSEREADYXRDTRAILXRDACTIVED15D14D13D12D11D9D8XRDLEAD3.2.3外部接口配置寄存器組2.

XINTCNF2——配置寄存器ReservedD31D19D18D16R-0

R-0R/W-1

R-0

R/W-1

ReservedHOLDASMP/MCModeHOLDSD15D12D11D10D9D8

R-0R-0

R-1

R/W-0

R/W-1R/W-0WLEVELReservedCLKMODECLKOFFD7D6D5D4D3D2D1ReservedXTIMCLKHOLDWriteBufferDepth3.2.3外部接口配置寄存器組3.

XBANK寄存器ReservedD15D6D5D3D2D0R-0BANKBCYCR/W-1R/W-14.

XREVISION寄存器——識別在產(chǎn)品中使用的XINTF的特殊版本

REVISIOND15D0R-03.2.3外部接口配置寄存器組外部接口的應(yīng)用(擴(kuò)展知識)F2812片內(nèi)提供了較大容量的Flash存儲器,可以用來固化用戶程序,一般用戶無需再擴(kuò)張非易失的程序存儲器。但是由于Flash芯片的存取速度較慢,直接從Flash中運(yùn)行用戶程序時需要插入一定的等待周期,降低了DSP的執(zhí)行速度。目前的DSP芯片均提供了上電引導(dǎo)功能,即上電時DSP內(nèi)部固化的引導(dǎo)程序根據(jù)選定的引導(dǎo)模式,自動將用戶代碼從程序存儲器Flash中加載到片內(nèi)高速SARAM或擴(kuò)展的SRAM中,然后在RAM中高速運(yùn)行。由于片內(nèi)RAM無需插入等待狀態(tài),因此,通常將用戶程序加載到片內(nèi)RAM中運(yùn)行。當(dāng)片內(nèi)RAM容量不能滿足需要時,或者需要保存較多的用戶數(shù)據(jù)時,統(tǒng)稱需要擴(kuò)展外部存儲器。由于DSP采用統(tǒng)一尋址方式,擴(kuò)展的SRAM即可以用作程序存儲器,上電時將部分永和代碼從慢速的Flash存儲器中加載到SRAM存儲器中執(zhí)行,也可以用于保存用戶數(shù)據(jù)。例:通過XINTF擴(kuò)展一片SRAM芯片CY7C1021V33,容量64KW,訪問周期12ns,采用3.3V電源供電。外部接口的應(yīng)用(擴(kuò)展知識)CY7C1021V33真值表D8~D15D0~D7工作模式HXXXX高阻狀態(tài)高阻狀態(tài)后備模式LLHLL數(shù)據(jù)輸出數(shù)據(jù)輸出16位讀LH高阻狀態(tài)數(shù)據(jù)輸出低8位讀HL數(shù)據(jù)輸出高阻狀態(tài)高8位讀LXLLL數(shù)據(jù)輸入數(shù)據(jù)輸入16位寫LH高阻狀態(tài)數(shù)據(jù)輸入低8位寫HL數(shù)據(jù)輸入高阻狀態(tài)高8位寫DSP與SRAM的接口電路如圖。3.3VAB15~AB0DB15~DB0F2812XINTFAB15~AB0DB15~DB0VCCVSSCY7C1021V33F2812采用16位數(shù)據(jù)方式訪問SRAM,地址空間位于Zone6.DSP高位地址A18~A16未參加譯碼,通常取A18~A16=000SRAM地址范圍0x000000~0x00FFFF外部接口的應(yīng)用(擴(kuò)展知識)3.2.4信號說明XR/W3.2.4信號說明3.2.4信號說明XMP/MC3.2.4信號說明3.2.5外部接口的配置3.2.5外部接口的配置外部存儲器接口能夠配置各種參數(shù),以便能夠與眾多不同外部擴(kuò)展設(shè)備無縫接口主要由F2812器件的工作頻率以及XINTF的特性進(jìn)行配置配置前后,XINTF可能會產(chǎn)生很大的變化,所以盡量不要將配置程序放在XINTF擴(kuò)展的存儲器空間執(zhí)行1.XINTF配置寄存器及時序寄存器的設(shè)置過程在改變XINTF配置寄存器和時序寄存器時,為保證在改變配置過程中不訪問XINTF,任何配置XINMING0/1/2/6/7、XBANK或XINRCH2寄存器的操作,都必須按照如圖所示的流程來進(jìn)行。3.2.5外部接口的配置2.XINTF時鐘XINTF模塊有兩種時鐘模式XTIMCLK(內(nèi)部時鐘),XCLKOUT

(外部時鐘)(1)所有的外部擴(kuò)展訪問都是以內(nèi)部XINTF的時鐘XTIMCLK為參考,因此配置XINTF,首先要通過XINTFCNF2寄存器配置XTIMCLK。XTIMCLK可以配置為SYSCLKOUT,也可以配置為SYSCLKOUT/2,XTIMCLK默認(rèn)的值是SYSCLKOUT/2。3.2.5外部接口的配置(2)外設(shè)接口還提供一個時鐘輸出XCLKOUT,所有外部接口的訪問都是在XCLOCK的上升沿開始??梢酝ㄟ^XINTFCNF2寄存器的CLKMODE位配置XCLKOUT的頻率3.2.5外部接口的配置XINTCNF2寄存器的XTIMCLK(D18~D16)000:XTIMCLK=SYSCLOUT/1001:XTIMCLK=SYSCLOUT/2XINTCNF2寄存器的CLKMODE(D2)0:XCLK0UT=XTIMCLK1:XCLK0UT=XTIMCLK/23.2.5外部接口的配置3.寫緩沖默認(rèn)情況下寫緩沖被禁止,為提高XINTF的性能,要使能寫緩沖模式。在不停止CPU的情況下,最多可允許3個數(shù)據(jù)通過緩沖方式向XINTF寫數(shù)據(jù)。寫緩沖器的深度可以在XINTFCNF2內(nèi)配置。XINTFCNF2的D1D0位(WriteBufferDepth)3.2.5外部接口的配置4.訪問外部空間時的時序?qū)INTF空間的讀/寫操作的時序都可分為三個階段:建立(Lead)、激活(Active)和跟蹤(Trail)。通過寄存器XTIMING可設(shè)置各階段時等待的XTIMCLK周期數(shù)。讀/寫訪問操作的時序可以獨(dú)立進(jìn)行配置。為了能夠與慢速外設(shè)接口,還可以使用X2TIMING位使訪問特定空間的建立、激活和跟蹤等待狀態(tài)延長1倍。3.2.5外部接口的配置為適合具體外設(shè)接口的訪問,可配置空間的建立、激活和跟蹤周期長度。在配置過程中,需考慮:√最小等待狀態(tài)的需要;√XINTF的時序特性;√外部器件的時序特性;√C28x芯片和外設(shè)間的附加延時。3.2.5外部接口的配置5.XREADY信號的使用在對外部設(shè)備訪問的過程中,通過檢測XREADY信號,從而可以延長DSP訪問處設(shè)的激活階段。器件上所有的XINTF空間共用一個XREADY信號。每個空間都可以進(jìn)行獨(dú)立的配置檢測,或不檢測XREADY信號。此外,每個空間還可以選擇同步檢測或異步檢測XREADY信號。

3.2.5外部接口的配置(1)同步檢測如果采用同步檢測XREADY,則XREADY信號在激活狀態(tài)結(jié)束之前的一個XTIMCLK信號上升沿時被采樣,因此XREADY信號的建立和保持時間必須跨過激活狀態(tài)結(jié)束之前的一個XTIMCLK周期的上升沿。3.2.5外部接口的配置(2)異步檢測如果采用異步檢測XREADY,則XREADY信號在激活狀態(tài)結(jié)束之前的倒數(shù)第三個XTIMCLK信號上升沿時被采樣,因此XREADY信號的建立和保持時間必須跨過激活狀態(tài)結(jié)束之前的三個XTIMCLK周期的上升沿。3.2.5外部接口的配置同步檢測建立激活跟蹤異步檢測1個XTIMCLK3個XTIMCLK在異步檢測和同步檢測這兩種方式下,如果XREADY信號采用結(jié)果是低電平,則激活階段將被擴(kuò)展一個XTIMCLK周期后再次采樣XREADY信號,直到XREADY信號為高電平為止。3.2.5外部接口的配置6.空間切換——當(dāng)從XINTF的一個空間切換到另一個空間時,為了能夠及時地釋放總線給其他設(shè)備使用,慢速外設(shè)可能需要額外的周期??臻g切換允許用戶指定一個特殊的空間,可以在該空間與其他空間來回切換的過程中增加額外的周期:增加的周期數(shù)在XBANK中配置。3.2.5外部接口的配置說明XINTFZone0~Zone7中的哪一個存儲器轉(zhuǎn)換有效。復(fù)位時,選擇Zone7000:Zone0001:Zone1010:Zone2110:Zone6111:Zone73.2.5外部接口的配置指定對特定區(qū)域內(nèi)或外的連續(xù)訪問時增加的XTIMCLK周期數(shù)。復(fù)位時,默認(rèn)值為7個XTIMCLK周期(14個SYSCLKOUT周期)000:0周期001:1個XTIMCLK周期010:2個XTIMCLK周期。。。110:6個XTIMCLK周期111:7個XTIMCLK周期3.2.5外部接口的配置7.XMP/MC信號對XINTF的影響——在復(fù)位時,對XMP/MC引腳采樣,并將其值鎖存到XINTF的配置寄存器XINTFCNF2中。復(fù)位時該引腳的狀態(tài)決定使能BootROM還是使能Zone7空間。

(1)XMP/MC=1(微處理器模式),使能Zone7空間,并且從外部存儲器獲取中斷向量。在該情況下,為了能夠正確地執(zhí)行代碼,必須將復(fù)位向量指針指向一個有效的存儲空間。3.2.5外部接口的配置XMP/MC=0(微計算機(jī)模式),使能BootROM,屏蔽XINTFZone7空間。在該情況下,從內(nèi)部BootROM獲取中斷向量,XINTFZone7空間不能訪問。√復(fù)位后,可以通過XINTFCNF2寄存器中的狀態(tài)位來改變,通過軟件設(shè)置MP/MC=1,從而可以訪問Zone7空間。

3.2.5外部接口的配置3.2.6外部接口DMA訪問外部接口支持對片外擴(kuò)展的數(shù)據(jù)/程序空間進(jìn)行直接存儲器訪問DMA(directmemoryaccess).DMA操作由XHOLD和XHOLDA信號控制。步驟如下1.外設(shè)產(chǎn)生一個低電平信號通過XHOLD引腳向CPU發(fā)出DMA請求.2.當(dāng)CPU檢測到有效的XHOLD信號時,若XINTCNF2寄存器中的D9位HOLD=0,表明CPU允許對外部總線的訪問。CPU使信號XHOLDA=0。3.隨后XINTF的數(shù)據(jù)/地址總線和讀寫、片選信號均處于高祖狀態(tài),外部設(shè)備可以控制對外部程序和數(shù)據(jù)存儲器的訪問。4.在HOLD模式下,CPU可以繼續(xù)執(zhí)行內(nèi)部存儲器中的程序。如果此時訪問外部接口,將會導(dǎo)致暫停處理器運(yùn)行,直到XHOLD變?yōu)楦唠娖健?.2.6外部接口DMA訪問3.2.7外部接口操作時序

XTIMCLK和XCLKOUT模式的時序圖設(shè)寄存器XTIMING中D22位的X2TIMING=0,Lead=2,Action=2,Trail=21.XTIMCLK=SYSCLKOUT,XCLKOUT=XTIMCLK圖3-2-11

XTIMCLK和XCLKOUT模式的時序圖設(shè)寄存器XTIMING中D22位的X2TIMING=0,Lead=2,Action=2,Trail=22.XTIMCLK=SYSCLKOUT,XCLKOUT=XTIMCLK/2(2分頻)圖3-2-11

XTIMCLK和XCLKOUT模式的時序圖設(shè)寄存器XTIMING中D22位的X2TIMING=0,Lead=2,Action=2,Trail=23.XTIMCLK=SYSCLKOUT/2(2分頻),XCLKOUT=XTIMCLK圖3-2-11

XTIMCLK和XCLKOUT模式的時序圖設(shè)寄存器XTIMING中D22位的X2TIMING=0,Lead=2,Action=2,Trail=24.XTIMCLK=SYSCLKOUT/2(2分頻),XCLKOUT=XTIMCLK/2(2分頻)5.當(dāng)XITMCLK=SYSCLKOUT時讀周期波形如圖3.3通用輸入/輸出(GPIO)多路復(fù)用器3.3.1概述數(shù)字I/O是微處理器系統(tǒng)和外界聯(lián)系的一種典型接口。通過數(shù)字輸入可以檢測外部引腳的邏輯電平變化,如鍵盤/開關(guān)的狀態(tài)、故障信號的有/無等。通過設(shè)置數(shù)字輸出為高電平或低電平,可以控制外設(shè)的開關(guān)狀態(tài),如電機(jī)的啟動/停止、指示燈的亮/滅等。F2812芯片提供了多大56個通用I/O引腳(GPIO),這些端口中絕大部分是功能復(fù)用的引腳,即可以用作通用I/O接口,實(shí)現(xiàn)一般的數(shù)字信號輸入/輸出,也可以專門用片內(nèi)外設(shè)接口,如SCI、SPI接口等。當(dāng)某個外設(shè)模塊被屏蔽時,對應(yīng)的引腳可以用作通用的I/O,從而提高了DSP芯片的引腳利用率。3.3通用輸入/輸出(GPIO)多路復(fù)用器GPIOAGPIOA0/PWM1GPIOA1/PWM2GPIOA2/PWM3GPIOA3/PWM4GPIOA4/PWM5GPIOA5/PWM6GPIOA6/T1PWM_T1CMPGPIOA7/T2PWM_T2CMPGPIOA8/CAP1_QEP1GPIOA9/CAP2_QEP2GPIOA10/CAP3_QEPI1GPIOA11/TDIRAGPIOA12/TCLKINAGPIOA13/C1TRIPGPIOA14/C2TRIPGPIOA15/C3TRIP

GPIOBGPIOB0/PWM7GPIOB1/PWM8GPIOB2/PWM9GPIOB3/PWM10GPIOB4/PWM11GPIOB5/PWM12GPIOB6/T3PWM_T3CMPGPIOB7/T4PWM_T4CMPGPIOB8/CAP4_QEP3GPIOB9/CAP5_QEP4GPIOB10/CAP6_QEPI2GPIOB11/TDIRBGPIOB12/TCLKINBGPIOB13/C4TRIPGPIOB14/C5TRIPGPIOB15/C6TRIP

C28xGPIO引腳分配

Note:GPIOarepinfunctionsatresetGPIOA,B,D,EincludeInputQualificationfeatureGPI0或PWM輸出引腳GPI0或定時器輸出引腳GPI0或捕獲單元輸入引腳GPI0或計數(shù)器方向GPI0或計數(shù)器時鐘輸入GPI0或比較器輸出觸發(fā)信號GPI0或定時器2比較輸出或EVA開啟外部AD轉(zhuǎn)換輸出GPIODGPIOD0/T1CTRIP_PDPINTAGPIOD1/T2CTRIP/EVASOCGPIOD5/T3CTRIP_PDPINTBGPIOD6/T4CTRIP/EVBSOC

GPIOEGPIOE0/XINT1_XBIOGPIOE1/XINT2_ADCSOCGPIOE2/XNMI_XINT13GPIOGGPIOG4/SCITXDBGPIOG5/SCIRXDBGPI0或定時器1比較輸出GPI0或定時器3比較輸出GPI0或定時器4比較輸出或EVB開啟外部AD轉(zhuǎn)換輸出GPI0或XINT1或XBIO輸入GPI0或XINT2或開始AD轉(zhuǎn)換GPI0或XNMI或XINT13GPI0或SCI異步串行接口發(fā)送數(shù)據(jù)GPI0或SCI異步串行接口接收數(shù)據(jù)C28xGPIO引腳分配GPIOFGPIOF0/SPISIMOAGPIOF1/SPISOMIAGPIOF2/SPICLKAGPIOF3/SPISTEAGPIOF4/SCITXDAGPIOF5/SCIRXDAGPIOF6/CANTXAGPIOF7/CANRXAGPIOF8/MCLKXAGPIOF9/MCLKRAGPIOF10/MFSXAGPIOF11/MFSRAGPIOF12/MDXAGPIOF13/MDRAGPIOF14/XFGPI0或SPI從動輸入,主動輸出GPI0或SPI從動輸出,主動輸入GPI0或SPI時鐘GPI0或SPI從動傳送使能GPI0或SCI異步串行接口發(fā)送數(shù)據(jù)GPI0或SCI異步串行接口接收數(shù)據(jù)GPI0或eCAN發(fā)送數(shù)據(jù)GPI0或eCAN接收數(shù)據(jù)GPI0或發(fā)送時鐘GPI0或接收時鐘GPI0或發(fā)送幀同步信號GPI0或接收幀同步信號GPI0或發(fā)送串行數(shù)據(jù)GPI0或接收串行數(shù)據(jù)1.通用輸出引腳2.通用輸入/輸出引腳C28xGPIO引腳分配絕大部分是多功能復(fù)用引腳,通過GPIOMUX寄存器來選擇配置具體的功能??梢元?dú)立操作也可以作為外設(shè)I/O信號(通過GPxMUX寄存器配置)使用。如果引腳工作在數(shù)字量I/O模式,通過方向控制寄存器(GPxDIR)控制數(shù)字量I/O的方向,并可以通過量化寄存器(GPxQUAL)量化輸入信號,消除外部噪聲信號

GPIO多路復(fù)用器的各寄存器如下:3.3通用輸入/輸出(GPIO)多路復(fù)用器GPIOA功能選擇控制寄存器GPIOB功能選擇控制寄存器GPIOD功能選擇控制寄存器GPIOE功能選擇控制寄存器GPIOF功能選擇控制寄存器GPIOG功能選擇控制寄存器GPIOA方向控制寄存器GPIOB方向控制寄存器GPIOD方向控制寄存器GPIOE方向控制寄存器GPIOF方向控制寄存器GPIOG方向控制寄存器GPIOA輸入量化寄存器GPIOB輸入量化寄存器GPIOD輸入量化寄存器GPIOE輸入量化寄存器C28xGPIO寄存器結(jié)構(gòu)GPIOAMuxControlRegister(GPAMUX)GPIOADirectionControlRegister(GPADIR)GPIOAGPIOBMuxControlRegister(GPBMUX)GPIOBDirectionControlRegister(GPBDIR)GPIOBGPIODMuxControlRegister(GPDMUX)GPIODDirectionControlRegister(GPDDIR)GPIODGPIOEMuxControlRegister(GPEMUX)GPIOEDirectionControlRegister(GPEDIR)GPIOEGPIOFMuxControlRegister(GPFMUX)GPIOFDirectionControlRegister(GPFDIR)GPIOFGPIOGMuxControlRegister(GPGMUX)GPIOGDirectionControlRegister(GPGDIR)GPIOGInternalBusGPIOA,B,D,EincludeInputQualificationfeature如果多功能引腳配置成數(shù)字I/O模式,芯片將用寄存器來對相應(yīng)的引腳進(jìn)行操作。GPxSET寄存器設(shè)置每個I/O信號GPxCLEAR寄存器清除每個I/O信號GPxTOGGLE寄存器反轉(zhuǎn)觸發(fā)各個I/O信號GPxDAT寄存器讀寫各個I/O信號。GPIO數(shù)據(jù)寄存器如下GPIOA數(shù)據(jù)寄存器GPIOB數(shù)據(jù)寄存器GPIOD數(shù)據(jù)寄存器GPIOA置位寄存器GPIOB置位寄存器GPIOD置位寄存器GPIOA清零寄存器GPIOB清零寄存器GPIOD清零寄存器GPIOA取反寄存器GPIOB取反寄存器GPIOD取反寄存器GPIOE數(shù)據(jù)寄存器GPIOF數(shù)據(jù)寄存器GPIOG數(shù)據(jù)寄存器GPIOE置位寄存器GPIOF置位寄存器GPIOG置位寄存器GPIOE清零寄存器GPIOF清零寄存器GPIOG清零寄存器GPIOE取反寄存器GPIOF取反寄存器GPIOG取反寄存器GPIO的數(shù)據(jù)輸入功能和外設(shè)輸入功能的路徑總是暢通的,而數(shù)字輸出功能和外設(shè)輸出功能要通過多路開關(guān)切換。引腳的輸出緩沖器總是連回到輸入緩沖器,所以

溫馨提示

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

評論

0/150

提交評論