DSP原理及應(yīng)用-TMS320DM6437 課件 第8-10章 TMS320DM6437主機(jī)接口與多通道緩沖串口、TMS320DM6437輸入輸出接口與定時(shí)器、思政教育的方法與教學(xué)建議_第1頁(yè)
DSP原理及應(yīng)用-TMS320DM6437 課件 第8-10章 TMS320DM6437主機(jī)接口與多通道緩沖串口、TMS320DM6437輸入輸出接口與定時(shí)器、思政教育的方法與教學(xué)建議_第2頁(yè)
DSP原理及應(yīng)用-TMS320DM6437 課件 第8-10章 TMS320DM6437主機(jī)接口與多通道緩沖串口、TMS320DM6437輸入輸出接口與定時(shí)器、思政教育的方法與教學(xué)建議_第3頁(yè)
DSP原理及應(yīng)用-TMS320DM6437 課件 第8-10章 TMS320DM6437主機(jī)接口與多通道緩沖串口、TMS320DM6437輸入輸出接口與定時(shí)器、思政教育的方法與教學(xué)建議_第4頁(yè)
DSP原理及應(yīng)用-TMS320DM6437 課件 第8-10章 TMS320DM6437主機(jī)接口與多通道緩沖串口、TMS320DM6437輸入輸出接口與定時(shí)器、思政教育的方法與教學(xué)建議_第5頁(yè)
已閱讀5頁(yè),還剩130頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

DSP原理及應(yīng)用第八章TMS320DM6437主機(jī)接口與多通道緩沖接口第八章TMS320DM6437主機(jī)接口與多通道緩沖串口8.1主機(jī)接口(HPI)8.2多通道緩沖串口(McBSP)8.1主機(jī)接口(HPI)1.HPI概述通用主機(jī)接口(HPI)是一個(gè)與主機(jī)通信的高速并行接口,外部主機(jī)掌管該接口的主要控制權(quán)。在TMS320C64xx系列DSP中,主機(jī)接口HPI是一個(gè)

16/32位寬度的并行端口。通過(guò)它可以實(shí)現(xiàn)一個(gè)外部主控制器同TMS320C643x系列DSP器件之間的通信,能夠?qū)崿F(xiàn)直接訪問(wèn)DSP的存儲(chǔ)空間。HPI與主機(jī)的連接是通過(guò)DMA/EDMA控制器來(lái)實(shí)現(xiàn)的,即主機(jī)不能直接訪問(wèn)CPU上的存儲(chǔ)空間,需要借助HPI,使用DMA/EDMA的附加通道,才能完成對(duì)DSP存儲(chǔ)空間的訪問(wèn)。主機(jī)和CPU都可以訪問(wèn)HPI控制寄存器(HPIC),主機(jī)一方還可以訪問(wèn)HPI地址寄存器(HPIA)以及HPI數(shù)據(jù)寄存器(HPID)。對(duì)于TMS320C64×系列,CPU還可以訪問(wèn)HPIA寄存器。8.1主機(jī)接口(HPI)HPI主機(jī)由以下五個(gè)部分組成:①HPI存儲(chǔ)器(DARAM):HPIRAM主要用于DSP與主機(jī)之間傳送數(shù)據(jù),也可以用作通用的雙尋址數(shù)據(jù)RAM或程序RAM。②HPI地址寄存器(HPIA):它只能由主機(jī)對(duì)其直接訪問(wèn),該寄存器中存放著當(dāng)前尋址的HPI存儲(chǔ)單元的地址。③HPI數(shù)據(jù)鎖存器(HPID):它只能由主機(jī)對(duì)其直接訪問(wèn)。④HPI控制寄存器(HPIC):DSP和主機(jī)都能對(duì)其直接訪問(wèn)。⑤HPI控制邏輯:用于處理HPI與主機(jī)之間的接口信號(hào)。8.1主機(jī)接口(HPI)接口特征C62x/C67xC64xC620x/C670xC621x/C671xC64xHPI16C64xHPI32數(shù)據(jù)總線長(zhǎng)度16bit16bit16bit32bit字節(jié)使能管腳/HBE[0:1]有無(wú)無(wú)無(wú)半字指示HHWIL信號(hào)使用使用使用不使用訪問(wèn)半字?jǐn)?shù)據(jù)支持不支持不支持不支持訪問(wèn)HPIA只能主機(jī)訪問(wèn)只能主機(jī)訪問(wèn)主機(jī)或CPUHPIA包括HPIAR和HPIAW主機(jī)或CPUHPIA包括HPIAR和HPIAW/HRDY操作每次訪問(wèn)一個(gè)字后無(wú)效內(nèi)部讀/寫(xiě)緩存notready時(shí)無(wú)效與C621x/C671x相同與C621x/C671x相同內(nèi)部讀緩存無(wú)有,8級(jí)深度有,16級(jí)深度有,16級(jí)深度內(nèi)部寫(xiě)緩存無(wú)有,8級(jí)深度有,32級(jí)深度,內(nèi)部定時(shí)器超時(shí)后清空有,32級(jí)深度,內(nèi)部定時(shí)器超時(shí)后清空表8-1

不同芯片的HPI接口對(duì)比2.HPI的結(jié)構(gòu)與功能圖8-1

TMS320C64x外部引腳接口8.1主機(jī)接口(HPI)信號(hào)類型管腳數(shù)主機(jī)對(duì)應(yīng)信號(hào)主機(jī)對(duì)應(yīng)信號(hào)HD[15:0]或HD[31:0]I/O/Z16或32數(shù)據(jù)總線

HCNTL[1:0]12地址或控制線HPI訪問(wèn)類型控制HHWIL11地址或控制線確認(rèn)半字(16bit)輸入/HAS11地址鎖存使能(ALE),地址選通,或者不用對(duì)復(fù)用地址/數(shù)據(jù)總線的主機(jī),區(qū)分地址和數(shù)據(jù)/HBE[1:0]12字節(jié)使能寫(xiě)數(shù)據(jù)字節(jié)使能HR/#W11讀/寫(xiě)選通讀/寫(xiě)選通/HCS11地址或控制總線輸入數(shù)據(jù)選通/HDS[1:2]11讀選通,寫(xiě)選通,數(shù)據(jù)選通輸入數(shù)據(jù)選通/HRDY01異步ready信號(hào)當(dāng)前訪問(wèn)HPI狀態(tài)準(zhǔn)備好/HINT01主機(jī)中斷輸入向主機(jī)發(fā)出的中斷信號(hào)表8-2

HPI接口信號(hào)描述注:C64x僅在HPI16模式下有HHWIL信號(hào)HPI引腳8.1主機(jī)接口(HPI)圖8-1

TMS320C64x外部引腳接口HPI引腳由以下幾個(gè)部分組成:(1)HD[15:0]或HD[31:0]:在復(fù)用模式下,數(shù)據(jù)線的寬度一般為CPU位寬的一半,一個(gè)HPI訪問(wèn)分為高低半字的兩次訪問(wèn)。8.1主機(jī)接口(HPI)(2)HCS:HPI片選信號(hào)。作為HPI的使能輸入端,在每次尋址期間必須為低電平,而在兩次尋址之間也可以停留在低電平。(3)HAS:地址選通信號(hào),此信號(hào)用于主機(jī)的數(shù)據(jù)線和地址線復(fù)用的情況。而不用時(shí)此信號(hào)應(yīng)接高。(4)HBIL:字節(jié)識(shí)別信號(hào),用于識(shí)別主機(jī)傳送過(guò)來(lái)的第一個(gè)字節(jié)還是第二個(gè)字節(jié)。(5)HCNTL0、HCNTL1:主機(jī)控制信號(hào),用來(lái)選擇主機(jī)所要尋址的寄存器。(6)HDS1、HDS2:數(shù)據(jù)選通信號(hào),在主機(jī)尋址HPI周期內(nèi)控制數(shù)據(jù)的傳送。(7)HINT:HPI中斷輸出信號(hào),受HPIC中的HINT位控制。8.1主機(jī)接口(HPI)通過(guò)HPI,主機(jī)與DSP之間可以互發(fā)中斷。①HINT是HPI送給主機(jī)的中斷信號(hào),DSP對(duì)HPIC位寫(xiě)1,HINT信號(hào)線上送出高電平信號(hào),主機(jī)可利用此信號(hào)作為中斷輸入。②DSP不能清除HPIC狀態(tài),主機(jī)在響應(yīng)中斷后,需要對(duì)HPIC位寫(xiě)1清除狀態(tài),DSP才能再次對(duì)HPIC置位發(fā)中斷。③主機(jī)通過(guò)寫(xiě)HPIC置1給DSP產(chǎn)生中斷,DSP在響應(yīng)中斷后,需要對(duì)HPIC寫(xiě)1清除狀態(tài),主機(jī)才能繼續(xù)操作給DSP發(fā)中斷。④通過(guò)HPI傳輸數(shù)據(jù),結(jié)合互發(fā)中斷作為軟件層的握手信號(hào),可有效提高通訊的效率與靈活性。8.1主機(jī)接口(HPI)(8)HRDY:HPI準(zhǔn)備好端。高電平表示HPI已準(zhǔn)備好執(zhí)行一次數(shù)據(jù)傳送;低電平表示HPI正忙于完成當(dāng)前事務(wù),用于連續(xù)高速主機(jī)。(9)HR/W:HPI讀寫(xiě)信號(hào)。高電平表示主機(jī)要讀HPI,低電平表示寫(xiě)HPI。(10)HPIENA:HPI允許信號(hào),若系統(tǒng)選中HPI則將它連到高電平,否則懸空或接低電平。(11)ALE:存在于地址數(shù)據(jù)線復(fù)用的主機(jī)上用來(lái)指示地址信號(hào)周期,這種總線復(fù)用的主機(jī)很少見(jiàn),所以通常將ALE固定上拉處理,只用HSTROBE(HDS1、HDS2、HCS)采樣控制信號(hào)。8.1主機(jī)接口(HPI)主機(jī)訪問(wèn)HPI的一個(gè)字包括兩個(gè)步驟:首先訪問(wèn)第一個(gè)字節(jié),此時(shí)HBIL為0;然后訪問(wèn)第二個(gè)字節(jié),此時(shí)HBIL為1;這兩步組成一個(gè)訪問(wèn)單元。這個(gè)訪問(wèn)單元不可被拆開(kāi)或顛倒,不管當(dāng)前訪問(wèn)的是HPIA、HPIC還是HPID。8.1主機(jī)接口(HPI)3.HPI的讀/寫(xiě)時(shí)序

8.1主機(jī)接口(HPI)圖8-2HPI讀時(shí)序(固定接高電平)

圖8-3HPI讀時(shí)序(接口應(yīng)用了信號(hào))

圖8-4HPI寫(xiě)時(shí)序(固定接高電平)

圖8-5HPI寫(xiě)時(shí)序(接口應(yīng)用了信號(hào))

圖8-6

HPI接口總線訪問(wèn)時(shí)序圖主機(jī)CPU訪問(wèn)DSPHPI接口的順序:(1)初始化HPI控制寄存器(HPIC)。(2)初始化HPI地址寄存器(HPIA)。(3)從HPI數(shù)據(jù)寄存器(HPID)中寫(xiě)數(shù)據(jù)或者讀數(shù)據(jù)。4.HPI的操作TMS320DM6437的引導(dǎo)模式中,有一種方式是允許復(fù)位后由主機(jī)通過(guò)HP1對(duì)DSP進(jìn)行初始化的,稱為HPIboot模式。加載順序如下:(1)只有DSP內(nèi)核進(jìn)入復(fù)位狀態(tài),其余所有的模塊保持激活狀態(tài)(2)主機(jī)通過(guò)HPI接口訪問(wèn)TMS320C6000的整個(gè)存儲(chǔ)空間(包括片內(nèi)的外設(shè)寄存器),對(duì)它們進(jìn)行初始化;(3)完成有關(guān)設(shè)置之后,主機(jī)向HPIC寄存器的DSPINT位寫(xiě)1,將DSP從復(fù)位狀態(tài)喚醒;(4)DSPCPU接管DSP的控制權(quán),從地址0開(kāi)始執(zhí)行程序。8.1主機(jī)接口(HPI)TMS320DM6437提供了三個(gè)32位寄存器HPIC、HPIA、HPID和32位數(shù)據(jù)線與主處理器通信。主處理器通過(guò)HPIC、HPIA、HPID和數(shù)據(jù)線來(lái)與TMS320DM6437進(jìn)行數(shù)據(jù)交換、數(shù)據(jù)交換的過(guò)程如下:首先初始化HPIC。然后把地址寫(xiě)到HPIA。最后通過(guò)HPID讀或?qū)憯?shù)據(jù)。8.1主機(jī)接口(HPI)圖8-7

HPI接口硬件設(shè)計(jì)原理圖這里主機(jī)CPU采用Samsung的ARM9S3C2410,那么主機(jī)與目標(biāo)機(jī)之間的連接如下圖8-7所示:目標(biāo)DSP的nHCS連接到主機(jī)S3C2410的nGCS5上,同時(shí)目標(biāo)DSP的HPI寄存器映射到主機(jī)內(nèi)存中。8.1主機(jī)接口(HPI)表8-3

HPI寄存器在MCUCS5空間的地址映射表HPI寄存器讀HPI地址寫(xiě)HPI地址HPIC0x2800_00100x2800_0000HPIA0x2800_00140x2800_0004HPID(自增)0x2800_00180x2800_0008HPID0x2800_001c0x2800_000c8.1主機(jī)接口(HPI)5.HPI寄存器HPI寄存器是主要用于DSP與主機(jī)之間傳送數(shù)據(jù),也可以用作通用的雙尋址數(shù)據(jù)RAM或程序RAM。該寄存器通過(guò)3個(gè)寄存器完成主機(jī)與CPU之間的通信,這3個(gè)寄存器分別是:HPI數(shù)據(jù)寄存器、HPI地址寄存器和HPI控制寄存器。

8.1主機(jī)接口(HPI)(1)HPI數(shù)據(jù)寄存器(HPID)

寄存器用于存放主機(jī)從存儲(chǔ)空間讀取的數(shù)據(jù),或是主機(jī)要向DSP存儲(chǔ)空間寫(xiě)入的數(shù)據(jù)。如果當(dāng)前進(jìn)行讀操作,則HPID中存放的是要從HPI存儲(chǔ)器中讀出的數(shù)據(jù);如果當(dāng)前進(jìn)行寫(xiě)操作,則HPID中存放的是將要寫(xiě)到HPI存儲(chǔ)器的數(shù)據(jù)。(2)HPI地址寄存器(HPIA)

HPIA寄存器用于存放當(dāng)前主機(jī)尋址訪問(wèn)DSP存儲(chǔ)空間的地址,這是一個(gè)30位的值,也就是說(shuō)該地址是一個(gè)word地址,它的最低2位固定為O。

8.1主機(jī)接口(HPI)(3)HPI控制寄存器(HPIC)HPIC寄存器字長(zhǎng)為32位,但高16位和低16位對(duì)應(yīng)于同一個(gè)物理存儲(chǔ)區(qū),因此高16位和低16位的內(nèi)容一致。寫(xiě)HPIC時(shí),也必須保證寫(xiě)入數(shù)據(jù)的高16位和低16位的內(nèi)容一致。

HPIC對(duì)HPI的工作模式進(jìn)行控制,HPIC必須在進(jìn)行HPI訪問(wèn)前由主機(jī)初始化。當(dāng)主機(jī)要隨機(jī)訪問(wèn)HPIRAM時(shí),必須先發(fā)送一個(gè)地址到HPIA(HPI地址寄存器),然后訪問(wèn)該地址所指向的RAM單元。8.1主機(jī)接口(HPI)HPIC中每一位都有特定的功能1.HWOB(半字順序位)如果HWOB=1,第一個(gè)半字為最低有效;如果HWOB=0,第一個(gè)半字為最高有效。HWOB對(duì)地址和數(shù)據(jù)都起作用。2.DSPINT主機(jī)產(chǎn)生的Processor-to-CPU中斷,用于HPI啟動(dòng)方式中將DSP內(nèi)核從復(fù)位狀態(tài)中喚醒。3.HINTDSP-to-Host中斷,即通過(guò)向此位寫(xiě)入特定值來(lái)產(chǎn)生對(duì)主機(jī)的中斷。8.1主機(jī)接口(HPI)8.HPI的中斷申請(qǐng)HPI的中斷申請(qǐng)是由/HINT引腳向主機(jī)的/INTERRUPT引腳發(fā)出中斷信號(hào)來(lái)實(shí)現(xiàn)的。HPI有兩種工作方式:(1)共用尋址方式(SAM)(2)僅主機(jī)尋址方式(HOM)

8.1主機(jī)接口(HPI)7.HPI應(yīng)用實(shí)例

在TMS320C64xx系列DSP中,主機(jī)接口HPI是一個(gè)16/32位寬度的并行端口。主機(jī)通過(guò)HPI接口可以直接訪問(wèn)DSP的存儲(chǔ)器空間和DSP片內(nèi)存儲(chǔ)映射的外圍設(shè)備。HPI與DSP存儲(chǔ)空間之間的互聯(lián)是通過(guò)DMA控制器實(shí)現(xiàn)的。TMS320DM6437DSP提供了三種引導(dǎo)方式:1)沒(méi)有自舉過(guò)程2)ROM自舉3)HPI自舉8.1主機(jī)接口(HPI)在復(fù)位信號(hào)reset信號(hào)的上升沿檢查設(shè)置管腳BOOTMODE狀態(tài),自舉邏輯開(kāi)始生效。TMS320C64xxEMIFB地址總線上的BEA[19:18]管腳電平?jīng)Q定了引導(dǎo)配置。BOOTMODE引導(dǎo)方式00無(wú)01主機(jī)引導(dǎo)(通過(guò)HPI或PCI)10EMIFB8位寬ROM,默認(rèn)時(shí)序11保留表8-4TMS320DM6437HPIboot配置8.1主機(jī)接口(HPI)8.2多通道緩沖串口(McBSP)1.McBSP概述TMS320C64x的多通道緩沖串行接口(McBSP)是一種功能很強(qiáng)的同步串行接口,具有很強(qiáng)的可編程能力,可以直接配置成多種同步串口標(biāo)準(zhǔn),直接與各種器件無(wú)縫接口。①T1/E1標(biāo)準(zhǔn):通信器件②MVIP和ST-BUS標(biāo)準(zhǔn):通信器件③IOM-2標(biāo)準(zhǔn):ISDN器件④AC97標(biāo)準(zhǔn):PCAudioCodec器件⑤IIS標(biāo)準(zhǔn):Codec器件⑥SPI:串行A/D、D/A,串行存儲(chǔ)器等器件全雙工串行通信允許連續(xù)的數(shù)據(jù)流傳輸?shù)碾p緩沖數(shù)據(jù)寄存器,擁有兩級(jí)緩沖發(fā)送和三級(jí)緩沖接收能夠與工業(yè)標(biāo)準(zhǔn)的編/解碼器、模擬接口芯片(AICs)以及其他串行A/D、D/A器件轉(zhuǎn)換設(shè)備接口直接連接McBSP多通道緩沖串行接口具有如下的功能:數(shù)據(jù)傳輸可利用外部移位時(shí)鐘或者內(nèi)部可編程頻率移位時(shí)鐘完成。8.2多通道緩沖串口(McBSP)McBSP具有以下的特點(diǎn):(1)支持以下方式的直接接口連接(2)每個(gè)串行接口可與多達(dá)128個(gè)通道進(jìn)行多通道接收和發(fā)送。(3)支持傳輸?shù)臄?shù)據(jù)串行字長(zhǎng)度可以是8、16、32位等多種。(4)支持內(nèi)置的u-律和A-律數(shù)據(jù)壓縮擴(kuò)展。(5)對(duì)于8位數(shù)據(jù)的傳輸,可以選擇LSB先傳或MSB先傳。(6)可以編程設(shè)置幀同步信號(hào)和數(shù)據(jù)時(shí)鐘信號(hào)的極性。(7)高度可編程的內(nèi)部傳輸時(shí)鐘和幀同步信號(hào)脈沖具有相當(dāng)大的靈活性。8.2多通道緩沖串口(McBSP)McBSP主要包括以下機(jī)組功能引腳:(1)位-時(shí)鐘:CLKX,CLKR(2)幀同步信號(hào):FSX,FSR(3)串行數(shù)據(jù)流:DR,DX8.2多通道緩沖串口(McBSP)McBSP為同步串行通信接口,其協(xié)議包含:(1)串行數(shù)據(jù)起始時(shí)刻:稱為幀同步事件(2)串行數(shù)據(jù)流長(zhǎng)度:串行傳輸?shù)臄?shù)據(jù)流達(dá)到設(shè)定的長(zhǎng)度后,便結(jié)束本次傳輸,并等待下一個(gè)幀同步信號(hào)的到來(lái),進(jìn)行另一次傳輸。(3)串行數(shù)據(jù)傳輸速度:由位時(shí)鐘決定。(4)FSR、CLKR和DR三者之間的關(guān)系,即它們?nèi)绾稳〉脦绞录?、何時(shí)采樣串行數(shù)據(jù)位流、或何時(shí)輸出串行數(shù)據(jù)位流是可以控制的。通過(guò)配置McBSP的寄存器就可以實(shí)現(xiàn)。8.2多通道緩沖串口(McBSP)2.McBSP結(jié)構(gòu)與對(duì)外接口每一個(gè)McBSP接口包括23個(gè)映射到DSP數(shù)據(jù)空間的寄存器。McBSP接口工作的控制由向這些寄存器寫(xiě)入合適的數(shù)據(jù)來(lái)實(shí)現(xiàn);McBSP接口的工作狀態(tài)由從這些寄存器讀出的數(shù)據(jù)來(lái)獲得。圖8-8

McBSP結(jié)構(gòu)框圖8.2多通道緩沖串口(McBSP)McBSP接口工作控制的主要內(nèi)容包括以下方面:(1)內(nèi)部時(shí)鐘的產(chǎn)生(2)幀同步信號(hào)的產(chǎn)生(3)每幀中包含數(shù)據(jù)路數(shù)的選擇(4)每路中包含的數(shù)據(jù)位數(shù)的選擇(5)中斷和事件觸發(fā)信號(hào)的產(chǎn)生8.2多通道緩沖串口(McBSP)管腳I/O/Z說(shuō)明CLKRI/O/Z接收時(shí)鐘CLKXI/O/Z發(fā)送時(shí)鐘CLKSI外時(shí)鐘DRI串行數(shù)據(jù)接收DXO/Z串行數(shù)據(jù)發(fā)送FSRI/O/Z接收幀同步FSXI/O/Z發(fā)送幀同步表8-5

McBSP接口信號(hào)8.2多通道緩沖串口(McBSP)3.McBSP寄存器McBSP寄存器通過(guò)使用串口控制寄存器(SPCR)和引腳控制寄存器(PCR)來(lái)配置串口,采用子地址尋址方式。

McBSP通過(guò)復(fù)接器將一組子地址寄存器復(fù)接到存儲(chǔ)器映射的一個(gè)位置上。復(fù)接器由子塊地址寄存器(SPSAx)控制。

子塊數(shù)據(jù)寄存器(SPSAx)用于指定子地址寄存器中數(shù)據(jù)的讀/寫(xiě)。這種方法的好處是可以將多個(gè)寄存器映射到一個(gè)較小的存儲(chǔ)器空間。

8.2多通道緩沖串口(McBSP)4.McBSP的操作8.2多通道緩沖串口(McBSP)圖8-8

McBSP結(jié)構(gòu)框圖McBSP包括一個(gè)數(shù)據(jù)通道和一個(gè)控制通道。(1)數(shù)據(jù)通道通過(guò)7個(gè)引腳與外部設(shè)備連接,數(shù)據(jù)發(fā)送引腳DX負(fù)責(zé)數(shù)據(jù)的發(fā)送,數(shù)據(jù)接收引腳DR負(fù)責(zé)數(shù)據(jù)的接收,發(fā)送時(shí)鐘引腳CLKX,接收時(shí)鐘引腳CLKR,發(fā)送幀同步引腳FSX和接收幀同步引腳FSR提供串行時(shí)鐘和控制信號(hào)。McBSP的接收操作采取的是3級(jí)緩存方式,發(fā)送操作采取的是2級(jí)緩存方式。8.2多通道緩沖串口(McBSP)(2)控制通道發(fā)送數(shù)據(jù)首先由CPU或DMA控制器寫(xiě)入發(fā)送數(shù)據(jù)寄存器DXR。如果XSR寄存器為空,則在FSX和CLKX作用下DXR中的值被復(fù)制到XSR準(zhǔn)備移位輸出;否則,DXR會(huì)等待XSR中舊數(shù)據(jù)的最后1位被移位輸出到DX管腳后,才將數(shù)據(jù)復(fù)制到XSR中。CLKX、CLKR、FSX、FSR既可以由內(nèi)部采樣率發(fā)生器產(chǎn)生,也可以由外部設(shè)備驅(qū)動(dòng)。McBSP的多通道功能主要用于進(jìn)行時(shí)分復(fù)用(TDM)數(shù)據(jù)流的通信。

8.2多通道緩沖串口(McBSP)5.McBSP的應(yīng)用多通道緩沖串口McBSP的功能是提供器件內(nèi)外數(shù)據(jù)的串行交換,具有很大的靈活性。根據(jù)McBSP在通信中所處的地位和功能,可以有以下幾種工作模式:多通道緩沖模式SPI模式ABIS模式數(shù)字回環(huán)模式GPI0模式省電模式8.2多通道緩沖串口(McBSP)SPI協(xié)議是一種主從配置的,支持一個(gè)主設(shè)備,一個(gè)或多個(gè)從設(shè)備的串行通信協(xié)議。接口由4個(gè)信號(hào)組成:串行數(shù)據(jù)輸入MISO、串行數(shù)據(jù)輸出MOSI、移位時(shí)鐘SCK和從方使能SS。圖8-9SPI接口示意圖8.2多通道緩沖串口(McBSP)位域寄存器功能描述CLKSTP=10/11bSPCR1選擇時(shí)鐘停止模式(有或無(wú)時(shí)鐘延時(shí))CLKXP=0/1PCR選擇CLKX的極性為正/負(fù)CLKRP=0/1PCR選擇CLKR的極性為正/負(fù)CLKXM=0/1PCR選擇CLKX為輸入信號(hào),還是輸出信號(hào)XPHASE=0XCR2必須使用1個(gè)階段/幀RPHASE=0RCR2必須使用1個(gè)階段/幀XFRLEN1=0XCR1必須使用1個(gè)字/幀RFRLEN1=0RCR1必須使用1個(gè)字/幀XWDLEN1XCR1決定傳輸包的長(zhǎng)度,XWDLEN1和RWDLEN1必須相等RWDLEN1RCR1決定接收包的長(zhǎng)度,RWDLEN1和XWDLEN1必須相等如果希望McBSP工作于SPI模式下,需要按照下表對(duì)相應(yīng)的位進(jìn)行設(shè)置:表8-7

配置McBSP為SPI需要設(shè)置的位8.2多通道緩沖串口(McBSP)下面給出McBSP串口測(cè)試程序流程:(1)修改中斷向量表(2)初始化McBSP串口設(shè)置BLD=1,即支持?jǐn)?shù)字回環(huán)方式;設(shè)置RCOMPAND=10,即采用u律擴(kuò)展;ar3指向發(fā)送數(shù)據(jù)緩沖區(qū)ar4指向接受數(shù)據(jù)緩沖區(qū),初始化將接收數(shù)據(jù)緩沖區(qū)

全部清0。(3)編寫(xiě)接收與發(fā)送中斷程序8.2多通道緩沖串口(McBSP)本章主要介紹TMS320DM6437的主機(jī)接口(HPI)和多通道緩沖串口(Multi-channelBufferedSerialPort,McBSP)。主機(jī)接口(HPI)是主設(shè)備或主機(jī)處理器與DSP的接口,可以實(shí)現(xiàn)并行高速的數(shù)據(jù)傳送,使得主機(jī)可以直接訪問(wèn)DSP所有的存儲(chǔ)空空間及其片內(nèi)的存儲(chǔ)映射的外部設(shè)備(外設(shè))。多通道緩沖串口(Multi-channelBufferedSerialPort,McBSP)是TMS320C6xDSP最基本的片內(nèi)外設(shè)之一,每一種型號(hào)的TMS320DM有2個(gè)不等數(shù)目的多通道緩沖串口TMS320DM6437包含2個(gè)多通道緩沖串口。多通道緩沖串口的主要用于串口通信,一般用于連接串行接口的外設(shè),如串行AD和DA、串行EE、SPI設(shè)備等。本章小結(jié)DSP原理及應(yīng)用第九章TMS320DM6437的GPIO與定時(shí)器第九章TMS320DM6437通用輸入/輸出接口與定時(shí)器9.1通用輸入/輸出接口(GPIO)9.2定時(shí)器9.1通用輸入/輸出接口(GPIO)9.1.1GPIO接口概述

TMS320DM6437的GPIO接口提供了通用輸入/輸出引腳,其既可配置為輸出,也可配置為輸入。當(dāng)配置為輸出時(shí),通過(guò)寫(xiě)內(nèi)部寄存器來(lái)控制輸出引腳狀態(tài);當(dāng)配置為輸入時(shí),通過(guò)讀內(nèi)部寄存器來(lái)檢測(cè)輸入狀態(tài)。此外,GPIO接口還可通過(guò)不同的中斷或事件產(chǎn)生模式來(lái)觸發(fā)CPU中斷和EDMA(增強(qiáng)型直接內(nèi)存存取)事件。TMS320DM6437有多達(dá)111個(gè)GPIO信號(hào)引腳,提供了與外部設(shè)備的通用連接,GPIO接口分為7組(Banks),前6組各包含16位,如0組為GP[0:15],第7組GPIO包含15位,即GP[96:110],GPIO接口與ZWT封裝芯片的引腳對(duì)應(yīng)關(guān)系可參考附錄B。GPIO外設(shè)的輸入時(shí)鐘表示為鎖相環(huán)PLL1的6分頻,最大的運(yùn)行速度為10MHz。TMS320DM6437通過(guò)引腳多路復(fù)用來(lái)實(shí)現(xiàn)在盡可能小的封裝上容納盡可能多的外設(shè)功能。引腳多路復(fù)用可通過(guò)硬件配置器件復(fù)位和寄存器軟件編程設(shè)置來(lái)控制。9.1.2GPIO功能

TMS320DM6437的GPIO接口支持如下功能:①、多達(dá)111個(gè)3.3VGPIO引腳,即GP[0:110];②、中斷:

?多達(dá)8個(gè)位于Bank0的獨(dú)立中斷GP[0:7];

?所有GPIO信號(hào)都可作為中斷源,7組GPIO都有其各自的中斷信號(hào);

?可規(guī)定每組GPIO中斷使能信號(hào),通過(guò)上升沿或下降沿來(lái)觸發(fā)中斷。③、直接內(nèi)存存取DMA事件

?多達(dá)8個(gè)位于Bank0的獨(dú)立的GPIODMA事件;

?7組GPIO都有其各自的DMA事件信號(hào)。④、設(shè)置/清除功能位:固件寫(xiě)1到對(duì)應(yīng)的位來(lái)設(shè)置或清除GPIO信號(hào),這允許多個(gè)固件進(jìn)程在沒(méi)有臨界區(qū)保護(hù)(禁用中斷、編程GPIO、重啟中斷、防止上下文在GPIO編程中切換到另一個(gè)進(jìn)程)的情況下切換GPIO輸出信號(hào)。9.1通用輸入/輸出接口(GPIO)9.1通用輸入/輸出接口(GPIO)⑤、獨(dú)立的輸入/輸出寄存器:通過(guò)讀輸入/輸出寄存器可反映輸入/輸出引腳狀態(tài)。⑥、輸出寄存器除了設(shè)置/清除,還可通過(guò)直接寫(xiě)輸出寄存器來(lái)切換GPIO輸出信號(hào)。⑦、當(dāng)讀輸出寄存器時(shí),其反映了輸出驅(qū)動(dòng)狀態(tài)。GPIO結(jié)構(gòu)如圖9-1所示,下面分別介紹使用GPIO信號(hào)作為輸出或輸入的設(shè)置方法:(1)、使用GPIO信號(hào)作為輸出GPIO信號(hào)可通過(guò)寫(xiě)GPIO方向寄存器(DIR)來(lái)配置輸入或輸出操作。要將給定的GPIO信號(hào)配置為輸出,需在DIR中清除該GPIO相關(guān)的位信號(hào)。當(dāng)GPIO被配置為輸出時(shí),共有3個(gè)寄存器用來(lái)控制GPIO輸出驅(qū)動(dòng)狀態(tài):

?GPIO設(shè)置數(shù)據(jù)寄存器(SET_DATA)控制驅(qū)動(dòng)GPIO信號(hào)為高;

?GPIO清除數(shù)據(jù)寄存器(CLR_DATA)控制驅(qū)動(dòng)GPIO信號(hào)為低;

?GPIO輸出數(shù)據(jù)寄存器(OUT_DATA)包含當(dāng)前的輸出信號(hào)狀態(tài)。

讀SET_DATA、CLR_DATA和OUT_DATA返回的輸出狀態(tài)不一定是真正的信號(hào)狀態(tài),因?yàn)橐恍┬盘?hào)可能被配置為輸入,實(shí)際的信號(hào)狀態(tài)通過(guò)GPIO相關(guān)的輸入數(shù)據(jù)寄存器(IN_DATA)讀取,IN_DATA包含外部信號(hào)的實(shí)際邏輯狀態(tài)。為了驅(qū)動(dòng)GPIO信號(hào)為高,可選以下任一種方法:一是將邏輯1寫(xiě)入該GPIO相關(guān)的SET_DATA位,SET_DATA中包含0的比特位不影響相關(guān)輸出信號(hào)的狀態(tài);二是通過(guò)使用讀-修改-寫(xiě)(read-modify-write)操作,修改該GPIO相關(guān)的OUT_DATA位,在GPIO輸出信號(hào)上驅(qū)動(dòng)的邏輯狀態(tài)與寫(xiě)入到OUT_DATA所有位的邏輯值相匹配。同樣,為了驅(qū)動(dòng)GPIO信號(hào)為低,可選以下任一方法:一是將邏輯1寫(xiě)入該GPIO相關(guān)的CLR_DATA位,CLR_DATA中包含0的比特位不影響相關(guān)輸出信號(hào)的狀態(tài);二是通過(guò)使用讀-修改-寫(xiě)(read-modify-write)操作,修改該GPIO相關(guān)的OUT_DATA位,在GPIO輸出信號(hào)上驅(qū)動(dòng)的邏輯狀態(tài)與寫(xiě)入到OUT_DATA所有位的邏輯值相匹配。圖9-1GPIO結(jié)構(gòu)框圖9.1通用輸入/輸出接口(GPIO)(2)、使用GPIO信號(hào)作為輸入

要將給定的GPIO信號(hào)配置為輸入,在方向寄存器DIR中設(shè)置所需GPIO的相關(guān)位。使用GPIO輸入數(shù)據(jù)寄存器(IN_DATA)讀取GPIO信號(hào)的當(dāng)前狀態(tài):對(duì)于配置為輸入的GPIO信號(hào),讀取IN_DATA返回與GPIO外設(shè)時(shí)鐘同步的輸入信號(hào)狀態(tài);對(duì)于配置為輸出的GPIO信號(hào),讀取IN_DATA返回由設(shè)備驅(qū)動(dòng)的輸出值。9.1通用輸入/輸出接口(GPIO)9.1.3中斷和事件產(chǎn)生(1)、中斷①中斷事件和請(qǐng)求GPIO外設(shè)可以向DSPCPU發(fā)送一個(gè)中斷事件,即所有GPIO信號(hào)都可以配置來(lái)產(chǎn)生中斷,TMS320DM6437支持單一GPIO信號(hào)中斷、GPIO組信號(hào)中斷,或這兩種形式混合。GPIO外設(shè)到DSPCPU的中斷映射如表9-1所示。9.1通用輸入/輸出接口(GPIO)

中斷源縮寫(xiě)DSP中斷號(hào)GP[0]GPIO064GP[1]GPIO165GP[2]GPIO266GP[3]GPIO367GP[4]GPIO468GP[5]GPIO569GP[6]GPIO670GP[7]GPIO771GPIOBank0GPIOBNK072GPIOBank1GPIOBNK173GPIOBank2GPIOBNK274GPIOBank3GPIOBNK375GPIOBank4GPIOBNK476GPIOBank5GPIOBNK577GPIOBank6GPIOBNK678表9-1GPIO到DSPCPU的中斷映射9.1通用輸入/輸出接口(GPIO)②使能GPIO中斷事件通過(guò)在GPIO中斷使能寄存器(BINTEN)中設(shè)置適當(dāng)?shù)谋忍匚粊?lái)使能GPIO中斷事件,例如,為了使能bank0(GP[15-0])中斷,置位BINTEN的位0,為了使能bank3(GP[63-48]中斷,置位BINTEN的位3。③配置GPIO中斷的邊沿觸發(fā)每個(gè)GPIO中斷源可以配置為在GPIO信號(hào)上升沿、下降沿、兩者兼具或兩者均無(wú)(無(wú)事件)下產(chǎn)生中斷,邊沿檢測(cè)與GPIO外設(shè)模塊時(shí)鐘同步,以下4個(gè)寄存器用來(lái)控制GPIO中斷的邊沿檢測(cè)方式:

●GPIO設(shè)置上升沿中斷寄存器(SET_RIS_TRIG)在GPIO信號(hào)中出現(xiàn)一個(gè)上升沿時(shí)允許GPIO中斷;

●GPIO清除上升沿中斷寄存器(CLR_RIS_TRIG)在GPIO信號(hào)中出現(xiàn)一個(gè)上升沿時(shí)禁止GPIO中斷;

●GPIO設(shè)置下降沿中斷寄存器(SET_FAL_TRIG)在GPIO信號(hào)中出現(xiàn)一個(gè)下降沿時(shí)允許GPIO中斷;

●GPIO清除下降沿中斷寄存器(CLR_FAL_TRIG)在GPIO信號(hào)中出現(xiàn)一個(gè)下降沿時(shí)禁止GPIO中斷。9.1通用輸入/輸出接口(GPIO)要配置GPIO中斷,只發(fā)生在GPIO信號(hào)的上升沿:

●寫(xiě)邏輯1到SET_RIS_TRIG的相關(guān)位;

●寫(xiě)邏輯1到CLR_FAL_TRIG的相關(guān)位。要配置GPIO中斷,只發(fā)生在GPIO信號(hào)的下降沿:

●寫(xiě)邏輯1到SET_FAL_TRIG的相關(guān)位;

●寫(xiě)邏輯1到CLR_RIS_TRIG的相關(guān)位。要配置GPIO中斷,發(fā)生在GPIO信號(hào)的上升沿和下降沿:

●寫(xiě)邏輯1到SET_RIS_TRIG的相關(guān)位;

●寫(xiě)邏輯1到SET_FAL_TRIG的相關(guān)位。要禁止一個(gè)特定的GPIO中斷:

●寫(xiě)邏輯1到CLR_RIS_TRIG的相關(guān)位;

●寫(xiě)邏輯1到CLR_FAL_TRIG的相關(guān)位。注意,當(dāng)GPIO信號(hào)被配置為輸出時(shí),軟件可以改變GPIO信號(hào)狀態(tài),然后生成一個(gè)中斷。這對(duì)于調(diào)試中斷信號(hào)連通性非常有用。9.1通用輸入/輸出接口(GPIO)④GPIO中斷狀態(tài)GPIO中斷事件的狀態(tài)可以通過(guò)讀取GPIO中斷狀態(tài)寄存器(INTSTAT)來(lái)監(jiān)控。在相關(guān)比特位上用邏輯1表示等待GPIO中斷,不被等待的中斷用邏輯0表示。對(duì)于直接到DSP子系統(tǒng)的獨(dú)立GPIO中斷,中斷狀態(tài)可以通過(guò)相關(guān)的CPU中斷標(biāo)志讀取。對(duì)于GPIO組中斷,INTSTAT可以用于確定是哪個(gè)GPIO中斷發(fā)生。等待GPIO中斷標(biāo)志位清除是通過(guò)寫(xiě)邏輯1到INTSTAT中相關(guān)的比特位。9.1通用輸入/輸出接口(GPIO)(2)、EDMA事件產(chǎn)生GPIO外設(shè)可以向EDMA提供同步事件,GPIO同步EDMA事件如表9-2所示。事件源事件名EDMA同步事件號(hào)GP[0]中斷GPINT032GP[1]中斷GPINT133GP[2]中斷GPINT234GP[3]中斷GPINT335GP[4]中斷GPINT436GP[5]中斷GPINT537GP[6]中斷GPINT638GP[7]中斷GPINT739GPIOBank0中斷GPBNKINT040GPIOBank1中斷GPBNKINT141GPIOBank2中斷GPBNKINT242GPIOBank3中斷GPBNKINT343GPIOBank4中斷GPBNKINT444GPIOBank5中斷GPBNKINT545GPIOBank6中斷GPBNKINT646表9-2GPIO同步事件到EDMA9.1通用輸入/輸出接口(GPIO)9.1.4GPIO寄存器

TMS320DM6437有7組GPIO信號(hào),這些GPIO信號(hào)通過(guò)與其相關(guān)的多個(gè)寄存器來(lái)控制,在這些寄存器中,對(duì)于每個(gè)GPIO信號(hào)有多個(gè)控制域。對(duì)每個(gè)GPIO信號(hào)組,GPIO控制寄存器被組織為1個(gè)32位寄存器,這些控制寄存器進(jìn)一步被分組,每組又含有一系列控制寄存器。每組控制寄存器的寄存器名均定義為register_nameXY形式,其中X和Y是兩組GPIO控制位,例如01、23、45等。與每個(gè)GPIO相關(guān)的寄存器域均定義為field_nameN形式,其中N是GPIO信號(hào)的數(shù)目,例如,GP[0]位于第0組的GPIO,控制寄存器名為register_name01,與GP[0]相關(guān)的寄存器域?yàn)閒ield_name0,GP[0]的控制位位于寄存器的位0。與之相比,GP[110]位于第6組的GPIO,控制寄存器名為register_name6,與GP[110]相關(guān)的寄存器域?yàn)閒ield_name110,GP[110]的控制位位于寄存器的位14。表9-3顯示了與GPIO引腳相關(guān)的寄存器組及控制位信息,其可用于定位寄存器控制位。9.1通用輸入/輸出接口(GPIO)9.1.4GPIO寄存器

表9-3寄存器組及控制位GPIO信號(hào)組數(shù)控制寄存器寄存器域位數(shù)GP[0]~GP[15]0register_name01field_name0~field_name15Bit0~Bit15GP[16]~GP[31]1register_name01field_name16~field_name31Bit16~Bit31GP[32]~GP[47]2register_name23field_name32~field_name47Bit0~Bit15GP[48]~GP[63]3register_name23field_name48~field_name63Bit16~Bit31GP[64]~GP[79]4register_name45field_name64~field_name79GP[80]~GP[95]5register_name45field_name80~field_name95Bit16~Bit31GP[96]~GP[110]6register_name6field_name96~field_name110Bit0~Bit14由于有奇數(shù)組的GPIO,最后一組GPIO寄存器的第16位缺省,沒(méi)有作用。對(duì)于中斷配置,與GPIO相關(guān)的不支持中斷的寄存器也缺省。GPIO寄存器映射如表9-4所示。表9-4GPIO寄存器HEX地址范圍縮寫(xiě)寄存器名PID外設(shè)識(shí)別寄存器PeripheralIdentificationRegister0x01C67004PCR外部控制寄存器0x01C67008BINTEN中斷使能GPIOinterruptper-bankenable第0、1組GPIO0x01C6700C—預(yù)留0x01C67010DIR010組和1組GPIO方向寄存器(GP[0:31])0x01C67014OUT_DATA010組和1組GPIO輸出數(shù)據(jù)寄存器(GP[0:31])0x01C67018SET_DATA010組和1組GPIO設(shè)置數(shù)據(jù)寄存器(GP[0:31])0x01C6701CCLR_DATA010組和1組GPIO清除數(shù)據(jù)(GP[0:31])0x01C67020IN_DATA010組和1組GPIO輸入數(shù)據(jù)寄存器(GP[0:31])0x01C67024SET_RIS_TRIG010組和1組GPIO設(shè)置上升沿中斷寄存器(GP[0:31])0x01C67028CLR_RIS_TRIG010組和1組GPIO清除上升沿中斷寄存器(GP[0:31])0x01C6702CSET_FAL_TRIG010組和1組GPIO設(shè)置下降沿中斷寄存器(GP[0:31])0x01C67030CLR_FAL_TRIG010組和1組GPIO清除下降沿中斷寄存器(GP[0:31])0x01C67034INSTAT010組和1組GPIO中斷狀態(tài)寄存器(GP[0:31])第2、3組GPIO0x01C67038DIR232組和3組GPIO方向寄存器(GP[32:63])0x01C6703COUT_DATA232組和3組GPIO輸出數(shù)據(jù)寄存器(GP[32:63])0x01C67040SET_DATA232組和3組GPIO設(shè)置數(shù)據(jù)寄存器(GP[32:63])0x01C67044CLR_DATA232組和3組GPIO清除數(shù)據(jù)(GP[32:63])0x01C67048IN_DATA232組和3組GPIO輸入數(shù)據(jù)寄存器(GP[32:63])0x01C6704CSET_RIS_TRIG232組和3組GPIO設(shè)置上升沿中斷寄存器(GP[32:63])0x01C67050CLR_RIS_TRIG232組和3組GPIO清除上升沿中斷寄存器(GP[32:63])0x01C67054SET_FAL_TRIG232組和3組GPIO設(shè)置下降沿中斷寄存器(GP[32:63])0x01C67058CLR_FAL_TRIG232組和3組GPIO清除下降沿中斷寄存器(GP[32:63])0x01C6705CINSTAT232組和3組GPIO中斷狀態(tài)寄存器(GP[32:63])表9-4GPIO寄存器9.1通用輸入/輸出接口(GPIO)第4、5組GPIO0x01C67060DIR454組和5組GPIO方向寄存器(GP[64:95])0x01C67064OUT_DATA454組和5組GPIO輸出數(shù)據(jù)寄存器(GP[64:95])0x01C67068SET_DATA454組和5組GPIO設(shè)置數(shù)據(jù)寄存器(GP[64:95])0x01C6706CCLR_DATA454組和5組GPIO清除數(shù)據(jù)(GP[64:95])0x01C67070IN_DATA454組和5組GPIO輸入數(shù)據(jù)寄存器(GP[64:95])0x01C67074SET_RIS_TRIG454組和5組GPIO設(shè)置上升沿中斷寄存器(GP[64:95])0x01C67078CLR_RIS_TRIG454組和5組GPIO清除上升沿中斷寄存器(GP[64:95])0x01C6707CSET_FAL_TRIG454組和5組GPIO設(shè)置下降沿中斷寄存器(GP[64:95])0x01C67080CLR_FAL_TRIG454組和5組GPIO清除下降沿中斷寄存器(GP[64:95])0x01C67084INSTAT454組和5組GPIO中斷狀態(tài)寄存器(GP[64:95])第6組GPIO0x01C67088DIR6第6組GPIO方向寄存器(GP[64:95])0x01C6708COUT_DATA6第6組GPIO輸出數(shù)據(jù)寄存器(GP[64:95])0x01C67090SET_DATA6第6組GPIO設(shè)置數(shù)據(jù)寄存器(GP[64:95])0x01C67094CLR_DATA6第6組GPIO清除數(shù)據(jù)(GP[64:95])0x01C67098IN_DATA6第6組GPIO輸入數(shù)據(jù)寄存器(GP[64:95])0x01C6709CSET_RIS_TRIG6第6組GPIO設(shè)置上升沿中斷寄存器(GP[64:95])0x01C670A0CLR_RIS_TRIG6第6組GPIO清除上升沿中斷寄存器(GP[64:95])0x01C670A4SET_FAL_TRIG6第6組GPIO設(shè)置下降沿中斷寄存器(GP[64:95])0x01C670A8CLR_FAL_TRIG6第6組GPIO清除下降沿中斷寄存器(GP[64:95])0x01C670ACINSTAT6第6組GPIO中斷狀態(tài)寄存器(GP[64:95])0x01C670B0-0x01C67FFF—預(yù)留9.1通用輸入/輸出接口(GPIO)

下面詳細(xì)介紹各GPIO寄存器的功能及設(shè)置方式:①外設(shè)識(shí)別寄存器(PID)外設(shè)識(shí)別寄存器(PID)包含外設(shè)的識(shí)別數(shù)據(jù)(類型、類和版本),如圖9-2和表9-5所示。圖9-2外設(shè)識(shí)別寄存器(PID)9.1通用輸入/輸出接口(GPIO)位域值描述31-30SCHEME1PID編碼方案,該域值固定為0129-28Reserved0預(yù)留27-16FUNCTION0-FFFh功能區(qū),GPIO=483h15-11RTL0-1FhRTL識(shí)別,GPIO=010-8MAJOR0-FhMajorrevision=1h7-6CUSTOM0-3h自定義標(biāo)識(shí),GPIO=05-0MINOR0-FhMinorRevision,代碼格式MAJOR_REVISION.MINOR_REVISIONMinorrevision=5h表9-5外部識(shí)別寄存器(PID)域描述②外設(shè)控制寄存器(PCR)外設(shè)控制寄存器(PCR)可確定仿真暫停模式,F(xiàn)REE位固定為1,因此,GPIO忽略了仿真暫停請(qǐng)求信號(hào),并像往常一樣在仿真暫停模式中運(yùn)行。PCR描述如圖9-3和表9-6所示。9.1通用輸入/輸出接口(GPIO)圖9-3外設(shè)控制寄存器(PCR)表9-6外設(shè)控制寄存器(PCR)域描述位域值描述31-2Reserved0預(yù)留1SOFT0軟件使能模式位。這個(gè)位與FREE位一起使用,以確定仿真暫停模式。FREE=1,所以這個(gè)位沒(méi)有影響。0FREE1不同步使能模式位。自由位固定為1,所以GPIO在仿真暫停模式中是不同步的。9.1通用輸入/輸出接口(GPIO)

下面詳細(xì)介紹各GPIO寄存器的功能及設(shè)置方式:①外設(shè)識(shí)別寄存器(PID)外設(shè)識(shí)別寄存器(PID)包含外設(shè)的識(shí)別數(shù)據(jù)(類型、類和版本),如圖9-2和表9-5所示。圖9-2外設(shè)識(shí)別寄存器(PID)9.1通用輸入/輸出接口(GPIO)

③GPIO中斷使能寄存器(BINTEN)GPIO中斷使能寄存器(BINTEN)如圖9-4所示,功能描述如表9-7所示,注意BINTEN中這些位對(duì)中斷和EDMA事件都控制。圖9-4GPIO中斷使能寄存器(BINTEN)9.1通用輸入/輸出接口(GPIO)位域值描述31-7Reserved0預(yù)留6EN601組6中斷使能用于禁用或啟用第6組GPIO中斷(GP[110-96])組6中斷禁用組6中斷啟用5EN501組5中斷使能用于禁用或啟用第5組GPIO中斷(GP[95-80])組5中斷禁用組5中斷啟用4EN401組4中斷使能用于禁用或啟用第4組GPIO中斷(GP[79-64])組4中斷禁用組4中斷啟用3EN301組3中斷使能用于禁用或啟用第3組GPIO中斷(GP[63-48])組3中斷禁用組3中斷啟用2EN201組2中斷使能用于禁用或啟用第2組GPIO中斷(GP[47-32])組2中斷禁用組2中斷啟用1EN101組1中斷使能用于禁用或啟用第1組GPIO中斷(GP[31-16])組1中斷禁用組1中斷啟用0EN001組0中斷使能用于禁用或啟用第0組GPIO中斷(GP[15-0])組0中斷禁用組0中斷啟用表9-7GPIO中斷使能寄存器(BINTEN)域描述9.1通用輸入/輸出接口(GPIO)9.1.4GPIO寄存器

TMS320DM6437有7組GPIO信號(hào),這些GPIO信號(hào)通過(guò)與其相關(guān)的多個(gè)寄存器來(lái)控制,在這些寄存器中,對(duì)于每個(gè)GPIO信號(hào)有多個(gè)控制域。對(duì)每個(gè)GPIO信號(hào)組,GPIO控制寄存器被組織為1個(gè)32位寄存器,這些控制寄存器進(jìn)一步被分組,每組又含有一系列控制寄存器。每組控制寄存器的寄存器名均定義為register_nameXY形式,其中X和Y是兩組GPIO控制位,例如01、23、45等。與每個(gè)GPIO相關(guān)的寄存器域均定義為field_nameN形式,其中N是GPIO信號(hào)的數(shù)目,例如,GP[0]位于第0組的GPIO,控制寄存器名為register_name01,與GP[0]相關(guān)的寄存器域?yàn)閒ield_name0,GP[0]的控制位位于寄存器的位0。與之相比,GP[110]位于第6組的GPIO,控制寄存器名為register_name6,與GP[110]相關(guān)的寄存器域?yàn)閒ield_name110,GP[110]的控制位位于寄存器的位14。表9-3顯示了與GPIO引腳相關(guān)的寄存器組及控制位信息,其可用于定位寄存器控制位。④GPIO方向寄存器(DIRn)GPIO方向寄存器(DIRn)決定了GPIO第l組中的第n個(gè)引腳是否為輸入或輸出,每組GPIO有多達(dá)16個(gè)GPIO引腳。默認(rèn)方式下,所有的GPIO引腳均被配置為輸入(位值=1)。GPIO方向寄存器DIR01、DIR23、DIR45和DIR6如圖9-5所示,功能描述如表9-8所示。圖9-5方向寄存器DIR01、DIR23、DIR45和DIR6表9-8GPIO方向寄存器(DIRn)域描述位域值描述31-1601DIRn位用來(lái)控制第2l+1組中引腳n的方向(輸出=0,輸入=1),其位域用來(lái)配置第1、3、5組的GPIO引腳GPIO引腳n為輸出GPIO引腳n為輸入15-0DIRn01DIRn位用來(lái)控制第2l組中引腳n的方向(輸出=0,輸入=1),其位域用來(lái)配置第0、2、4、6組的GPIO引腳GPIO引腳n為輸出GPIO引腳n為輸入⑤GPIO輸出數(shù)據(jù)寄存器(OUT_DATAn)如果引腳被配置為輸出(DIRn=0),GPIO輸出數(shù)據(jù)寄存器(OUT_DATAn)決定了在相應(yīng)的第l組GPIO引腳n上驅(qū)動(dòng)的值,此時(shí)寫(xiě)入不會(huì)影響未配置為GPIO輸出的引腳。OUT_DATAn中的位通過(guò)直接寫(xiě)入此寄存器來(lái)設(shè)置或清除。讀OUT_DATAn返回的寄存器值不是引腳的值(其可能被配置為輸入)。GPIO輸出數(shù)據(jù)寄存器(OUT_DATAn)如圖9-6所示,功能描述如表9-9所示。圖9-6GPIO輸出數(shù)據(jù)寄存器(OUT_DATAn)域值描述31-16OUTn01當(dāng)GPIO引腳n配置為輸出(DIRn=0),OUTn位用來(lái)驅(qū)動(dòng)第2l+1組中引腳n的輸出(low=0,high=1);當(dāng)GPIO引腳n配置為輸入,忽略O(shè)UTn位。該位域用來(lái)配置第1、3、5組的GPIO引腳GPIO引腳n驅(qū)動(dòng)為低GPIO引腳n驅(qū)動(dòng)為高15-0OUTn01當(dāng)GPIO引腳n配置為輸出(DIRn=0),OUTn位用來(lái)驅(qū)動(dòng)第2l組中引腳n的輸出(low=0,high=1);當(dāng)GPIO引腳n配置為輸入,忽略O(shè)UTn位。該位域用來(lái)配置第0、2、4、6組的GPIO引腳GPIO引腳n驅(qū)動(dòng)為低GPIO引腳n驅(qū)動(dòng)為高表9-9GPIO輸出數(shù)據(jù)寄存器(OUT_DATAn)域描述⑥GPIO設(shè)置數(shù)據(jù)寄存器(SET_DATAn)如果引腳被配置為輸出(DIRn=0),GPIO設(shè)置數(shù)據(jù)寄存器(SET_DATAn)控制相應(yīng)的第l組GPIO引腳n上的值驅(qū)動(dòng)為高,此時(shí)寫(xiě)入不會(huì)影響未配置為GPIO輸出的引腳。SET_DATAn中的位通過(guò)直接寫(xiě)入此寄存器來(lái)設(shè)置或清除。讀SETn位返回相應(yīng)的GPIO引腳n的輸出驅(qū)動(dòng)狀態(tài)。GPIO設(shè)置數(shù)據(jù)寄存器(SET_DATAn)如圖9-7所示,功能描述如表9-10所示。圖9-7GPIO設(shè)置數(shù)據(jù)寄存器(SET_DATAn)位域值描述31-16SETn01l+1組中引腳n的輸出;當(dāng)GPIO引腳n配置為輸入,忽略SETn位。將1寫(xiě)入SETn位設(shè)置相應(yīng)的GPIO引腳n的輸出驅(qū)動(dòng)狀態(tài);讀取SETn位會(huì)返回相應(yīng)的GPIO引腳n的輸出驅(qū)動(dòng)器狀態(tài)。該位域用來(lái)配置第1、3、5組的GPIO引腳。無(wú)影響設(shè)置GPIO引腳n輸出115-0SETn01當(dāng)GPIO引腳n配置為輸出(DIRn=0),SETn位用來(lái)設(shè)置第2l組中引腳n的輸出;當(dāng)GPIO引腳n配置為輸入,忽略SETn位。將1寫(xiě)入SETn位設(shè)置相應(yīng)的GPIO引腳n的輸出驅(qū)動(dòng)狀態(tài);讀取SETn位會(huì)返回相應(yīng)的GPIO引腳n的輸出驅(qū)動(dòng)器狀態(tài)。該位域用來(lái)配置第0、2、4、6組的GPIO引腳。無(wú)影響設(shè)置GPIO引腳n輸出1

表9-10GPIO設(shè)置數(shù)據(jù)寄存器(SET_DATAn)域描述⑦GPIO清除數(shù)據(jù)寄存器(CLR_DATAn)如果引腳被配置為輸出(DIRn=0),GPIO清除數(shù)據(jù)寄存器(CLR_DATAn)控制相應(yīng)的第l組GPIO引腳n上的值驅(qū)動(dòng)為低,此時(shí)寫(xiě)入不會(huì)影響未配置為GPIO輸出的引腳。CLR_DATAn中的位通過(guò)直接寫(xiě)入此寄存器來(lái)設(shè)置或清除。讀CLRn位返回相應(yīng)的GPIO引腳n的輸出驅(qū)動(dòng)狀態(tài)。GPIO清除數(shù)據(jù)寄存器(CLR_DATAn)如圖9-8所示,功能描述如表9-11所示。圖9-8GPIO清除數(shù)據(jù)寄存器(CLR_DATAn)

表9-11GPIO清除數(shù)據(jù)寄存器(CLR_DATAn)域描述域值描述31-16CLRn01(DIRn=0),CLRn位用來(lái)清除第2l+1組中引腳n的輸出;當(dāng)GPIO引腳n配置為輸入,忽略CLRn位。將1寫(xiě)入CLRn位清除相應(yīng)的GPIO引腳n的輸出驅(qū)動(dòng)狀態(tài);讀取CLRn位會(huì)返回相應(yīng)的GPIO引腳n的輸出驅(qū)動(dòng)器狀態(tài)。該位域用來(lái)配置第1、3、5組的GPIO引腳。無(wú)影響清除GPIO引腳n輸出為015-0CLRn01當(dāng)GPIO引腳n配置為輸出(DIRn=0),CLRn位用來(lái)清除第2l組中引腳n的輸出;當(dāng)GPIO引腳n配置為輸入,忽略CLRn位。將1寫(xiě)入CLRn位清除相應(yīng)的GPIO引腳n的輸出驅(qū)動(dòng)狀態(tài);讀取CLRn位會(huì)返回相應(yīng)的GPIO引腳n的輸出驅(qū)動(dòng)器狀態(tài)。該位域用來(lái)配置第0、2、4、6組的GPIO引腳。無(wú)影響清除GPIO引腳n輸出為0

⑧GPIO輸入數(shù)據(jù)寄存器(IN_DATAn)通過(guò)使用GPIO輸入數(shù)據(jù)寄存器(IN_DATAn)讀取GPIO信號(hào)的當(dāng)前狀態(tài)。對(duì)于配置為輸入的GPIO信號(hào),讀取IN_DATAn返回與GPIO外設(shè)時(shí)鐘同步的輸入信號(hào)狀態(tài)。對(duì)于配置為輸出的GPIO信號(hào),讀取IN_DATAn將返回設(shè)備驅(qū)動(dòng)的輸出值。GPIO輸入數(shù)據(jù)寄存器(IN_DATAn)如圖9-9所示,功能描述如表9-12所示。圖9-9GPIO輸入數(shù)據(jù)寄存器(IN_DATAn)表9-12GPIO輸入數(shù)據(jù)寄存器(IN_DATAn)功能描述位域值描述31-16INn01讀INn位返回第2l+1組GPIO中引腳n的狀態(tài)。該位域用來(lái)配置第1、3、5組的GPIO引腳。GPIO引腳n為邏輯低GPIO引腳n為邏輯高15-0INn01讀INn位返回第2l組GPIO中引腳n的狀態(tài)。該位域用來(lái)配置第0、2、4、6組的GPIO引腳。GPIO引腳n為邏輯低GPIO引腳n為邏輯高⑨GPIO設(shè)置上升沿中斷寄存器(SET_RIS_TRIGn)GPIO設(shè)置上升沿中斷寄存器(SET_RIS_TRIGn)使能GPIO引腳上升沿生成一個(gè)GPIO中斷。GPIO設(shè)置上升沿中斷寄存器(SET_RIS_TRIGn)如圖9-10所示,功能描述如表9-13所示。圖9-10GPIO設(shè)置上升沿中斷寄存器(SET_RIS_TRIGn)表9-13GPIO設(shè)置上升沿中斷寄存器(SET_RIS_TRIGn)功能描述位域值描述31-16SETRISn01l+1組中引腳n的上升沿中斷生成函數(shù)被啟用。因此,如果中斷函數(shù)啟用,SET_RIS_TRIGn和CLR_RIS_TRIGn寄存器中的該位為1;如果中斷函數(shù)禁用,則這兩個(gè)寄存器中該位都為零。該位域用來(lái)配置第1、3、5組的GPIO引腳。無(wú)影響GPIO引腳n由低到高的電位變化將觸發(fā)中斷15-0SETRISn01讀取SETRISn位返回一個(gè)指示,顯示是否第2l組中引腳n的上升沿中斷生成函數(shù)被啟用。因此,如果中斷函數(shù)啟用,SET_RIS_TRIGn和CLR_RIS_TRIGn寄存器中的該位為1;如果中斷函數(shù)禁用,則這兩個(gè)寄存器中該位都為零。該位域用來(lái)配置第0、2、4、6組的GPIO引腳。無(wú)影響GPIO引腳n由低到高的電位變化將觸發(fā)中斷⑩GPIO清除上升沿中斷寄存器(CLR_RIS_TRIGn)GPIO清除上升沿中斷寄存器(CLR_RIS_TRIGn)禁用GPIO引腳上升沿生成一個(gè)GPIO中斷。GPIO清除上升沿中斷寄存器(CLR_RIS_TRIGn)如圖9-11所示,功能描述如表9-14所示。圖9-11GPIO清除上升沿中斷寄存器(CLR_RIS_TRIGn)表9-14GPIO清除上升沿中斷寄存器(CLR_RIS_TRIGn)功能描述位域值描述31-16CLRRISn01讀取CLRRISn位返回一個(gè)指示,顯示是否第2l+1組中引腳n的上升沿中斷生成函數(shù)被啟用。因此,如果中斷函數(shù)啟用,SET_RIS_TRIGn和CLR_RIS_TRIGn寄存器中的該位為1;如果中斷函數(shù)禁用,則這兩個(gè)寄存器中該位都為零。該位域用來(lái)配置第1、3、5組的GPIO引腳。無(wú)影響GPIO引腳n由低到高的電位變化不觸發(fā)中斷15-0CLRRISn01讀取SETRISn位返回一個(gè)指示,顯示是否第2l組中引腳n的上升沿中斷生成函數(shù)被啟用。因此,如果中斷函數(shù)啟用,SET_RIS_TRIGn和CLR_RIS_TRIGn寄存器中的該位為1;如果中斷函數(shù)禁用,則這兩個(gè)寄存器中該位都為零。該位域用來(lái)配置第0、2、4、6組的GPIO引腳。無(wú)影響GPIO引腳n由低到高的電位變化不觸發(fā)中斷?GPIO設(shè)置下降沿中斷寄存器(SET_FAL_TRIGn)GPIO設(shè)置下降沿中斷寄存器(SET_FAL_TRIGn)使能GPIO引腳下降沿生成一個(gè)GPIO中斷。GPIO設(shè)置下降沿中斷寄存器(SET_FAL_TRIGn)如圖9-12所示,功能描述如表9-15所示。圖9-12GPIO設(shè)置下降沿中斷寄存器(SET_FAL_TRIGn)表9-15GPIO設(shè)置下降沿中斷寄存器(SET_FAL_TRIGn)功能描述位域值描述31-16SETFALn01讀取SETFALn位返回一個(gè)指示,顯示是否第2l+1組中引腳n的下降沿中斷生成函數(shù)被啟用。因此,如果中斷函數(shù)啟用,SET_FAL_TRIGn和CLR_FAL_TRIGn寄存器中的該位為1;如果中斷函數(shù)禁用,則這兩個(gè)寄存器中該位都為零。該位域用來(lái)配置第1、3、5組的GPIO引腳。無(wú)影響GPIO引腳n由高到低的電位變化將觸發(fā)中斷15-0SETFALn01讀取SETFALn位返回一個(gè)指示,顯示是否第2l組中引腳n的下降沿中斷生成函數(shù)被啟用。因此,如果中斷函數(shù)啟用,SET_FAL_TRIGn和CLR_FAL_TRIGn寄存器中的該位為1;如果中斷函數(shù)禁用,則這兩個(gè)寄存器中該位都為零。該位域用來(lái)配置第0、2、4、6組的GPIO引腳。無(wú)影響GPIO引腳n由高到低的電位變化將觸發(fā)中斷?GPIO清除下降沿中斷寄存器(CLR_FAL_TRIGn)GPIO清除下降沿中斷寄存器(CLR_FAL_TRIGn)禁用GPIO引腳下降沿生成一個(gè)GPIO中斷。GPIO清除下降沿中斷寄存器(CLR_FAL_TRIGn)如圖9-13所示,功能描述如表9-16所示。圖9-13GPIO清除下降沿中斷寄存器(CLR_FAL_TRIGn)表9-16GPIO清除下降沿中斷寄存器(CLR_FAL_TRIGn)功能描述位域值描述31-16CLRFALn01讀取CLRFALn位返回一個(gè)指示,顯示是否第2l+1組中引腳n的下降沿中斷生成函數(shù)被啟用。因此,如果中斷函數(shù)啟用,SET_FAL_TRIGn和CLR_FAL_TRIGn寄存器中的該位為1;如果中斷函數(shù)禁用,則這兩個(gè)寄存器中該位都為零。該位域用來(lái)配置第1、3、5組的GPIO引腳。無(wú)影響GPIO引腳n由高到低的電位變化不觸發(fā)中斷15-0CLRFALn01讀取CLRFALn位返回一個(gè)指示,顯示是否第2l組中引腳n的下降沿中斷生成函數(shù)被啟用。因此,如果中斷函數(shù)啟用,SET_FAL_TRIGn和CLR_FAL_TRIGn寄存器中的該位為1;如果中斷函數(shù)禁用,則這兩個(gè)寄存器中該位都為零。該位域用來(lái)配置第0、2、4、6組的GPIO引腳。無(wú)影響GPIO引腳n由高到低的電位變化不觸發(fā)中斷?GPIO中斷狀態(tài)寄存器(INSTATn)GPIO中斷事件的狀態(tài)可以通過(guò)讀取GPIO中斷狀態(tài)寄存器(INSTATn)來(lái)監(jiān)控。在相關(guān)bit位上,在GPIO中斷掛起用邏輯1表示,而GPIO中斷未掛起用邏輯0表示。GPIO中斷狀態(tài)寄存器(INSTATn)如圖9-14所示,功能描述如表9-17所示。圖9-14GPIO中斷狀態(tài)寄存器(INSTATn)9.1通用輸入/輸出接口(GPIO)位域值描述31-16STATn01STATn位用于監(jiān)視第2l+1組中引腳n的GPIO中斷是否被掛起。該位域返回第1、3、5組的GPIO引腳狀態(tài)。寫(xiě)1到STATn位;來(lái)清除STATn位,寫(xiě)0沒(méi)有影響。GPIO引腳n無(wú)中斷掛起GPIO引腳n中斷掛起15-0STATn01STATn位用于監(jiān)視第2l組中引腳n的GPIO中斷是否被掛起。該位域返回第0、2、4、6組的GPIO引腳狀態(tài)。寫(xiě)1到STATn位;來(lái)清除STATn位,寫(xiě)0沒(méi)有影響。GPIO引腳n無(wú)中斷掛起GPIO引腳n中斷掛起表9-17GPIO中斷狀態(tài)寄存器(INSTATn)功能描述9.2定時(shí)器9.2.1定時(shí)器結(jié)構(gòu)TMS320DM6437有3個(gè)64位軟件可編程通用定時(shí)器,分別是定時(shí)器0(Timer0)、定時(shí)器1(Timer1)和定時(shí)器2(Timer2),定時(shí)器0和定時(shí)器1可在64位模式、雙32位非鏈接模式(獨(dú)立操作)和雙32位鏈接模式(相互配合操作)下編程,定時(shí)器2用作看門狗定時(shí)器(WatchdogTimer),定時(shí)器結(jié)構(gòu)框圖如圖9-15所示,其特性如下:

?64位加法計(jì)數(shù)器;

?4種定時(shí)器模式;

?2個(gè)時(shí)鐘源:內(nèi)部時(shí)鐘和通過(guò)定時(shí)器輸入引腳TINPL輸入外部時(shí)鐘(僅定時(shí)器0和1);

?2種輸出模式:脈沖模式和時(shí)鐘模式;

?2種操作模式:一次操作(定時(shí)器運(yùn)行一個(gè)周期停止)和連續(xù)操作(定時(shí)器運(yùn)行一個(gè)周期后自動(dòng)重置);?通用定時(shí)器模式可用來(lái)生成周期中斷、EDMA同步事件或外部時(shí)鐘輸出;?看門狗定時(shí)器用于在故障情況下為設(shè)備提供恢復(fù)機(jī)制,其超時(shí)會(huì)導(dǎo)致設(shè)備全局重置(僅定時(shí)器2)。圖9-15定時(shí)器結(jié)構(gòu)框圖1、時(shí)鐘控制定時(shí)器0和定時(shí)器1可使用內(nèi)部或外部時(shí)鐘源來(lái)作為計(jì)數(shù)周期,下面介紹如何選擇時(shí)鐘源,表9-18顯示了時(shí)鐘源及對(duì)應(yīng)支持的定時(shí)器。表9-18定時(shí)器支持的時(shí)鐘源時(shí)鐘源定時(shí)器0定時(shí)器1定時(shí)器2內(nèi)部時(shí)鐘源√√√外部時(shí)鐘輸入(TIN0和TIN1)√√-如圖9-16所示,使用定時(shí)器控制寄存器(TCR)中的時(shí)鐘源CLKSRC12位選擇定時(shí)器時(shí)鐘源,兩種時(shí)鐘源均可驅(qū)動(dòng)定時(shí)器時(shí)鐘。在重置時(shí),時(shí)鐘源為內(nèi)部時(shí)鐘。?內(nèi)部時(shí)鐘,設(shè)置CLKSRC12=0;?定時(shí)器0和定時(shí)器1的外部時(shí)鐘輸入(TIN0和TIN1),設(shè)置CLKSRC12=1。圖9-16定時(shí)器時(shí)鐘源框圖有關(guān)每個(gè)時(shí)鐘源的配置選項(xiàng)詳細(xì)分析如下:(1)使用內(nèi)部時(shí)鐘源內(nèi)部時(shí)鐘源是一個(gè)固定的片上27MHz時(shí)鐘。由于定時(shí)器計(jì)數(shù)上限基于時(shí)鐘源的每個(gè)周期,因此,該時(shí)鐘源決定了定時(shí)器的速度。在確定定時(shí)器的周期和預(yù)分頻器設(shè)置時(shí),根據(jù)27MHz時(shí)鐘的周期數(shù)來(lái)選擇所需的周期。定時(shí)器控制寄存器中的CLKSRC12位控制內(nèi)部或外部時(shí)鐘被用作定時(shí)器的時(shí)鐘源。如果定時(shí)器配置在64位模式或32位鏈接模式下,則CLKSRC12位控制整個(gè)定時(shí)器的時(shí)鐘源。如果定時(shí)器配置為雙32位非鏈接模式(定時(shí)器全局控制寄存器TGCR中TIMMODE=1),CLKSRC12位控制Timer1:2,Timer3:4必須使用內(nèi)部時(shí)鐘源。要選擇內(nèi)部時(shí)鐘作為定時(shí)器的時(shí)鐘源,CLKSRC12位必須清除為0。(2)使用外部時(shí)鐘源(僅定時(shí)器0和1)可以提供一個(gè)外部時(shí)鐘源,通過(guò)TIN0和TIN1引腳對(duì)定時(shí)器計(jì)時(shí)。定時(shí)器控制寄存器(TCR)中的CLKSRC12位控制內(nèi)部或外部時(shí)鐘用作定時(shí)器的時(shí)鐘源。如果定時(shí)器配置在64位模式或32位鏈接模式下,則CLKSRC12位控制整個(gè)定時(shí)器的時(shí)鐘源。如果定時(shí)器配置為雙32位鏈接模式(TGCR中的TIMMODE=1),則CLKSRC12位控制Timer1:2,Timer3:4必須使用外部時(shí)鐘。為了選擇外部時(shí)鐘作為定時(shí)器的時(shí)鐘源,CLKSRC12位必須設(shè)置為1。2、信號(hào)描述輸入信號(hào)可用于定時(shí)器0和定時(shí)器1。定時(shí)器0輸入(TIN0)和定時(shí)器1輸入(TIN1)連接到輸入時(shí)鐘電路以允許定時(shí)器同步。對(duì)于音頻應(yīng)用程序,定時(shí)器0提供了一個(gè)“÷6”分頻器,確保音頻時(shí)鐘滿足小于CLK/4的定時(shí)器模塊要求,此時(shí)CLK等于27MHz定時(shí)器外設(shè)時(shí)鐘。定時(shí)器0的“÷6”分頻器可以通過(guò)設(shè)置定時(shí)器0輸入選擇位(TINP0SEL))為1來(lái)啟用,TINP0SEL位位于系統(tǒng)模塊內(nèi)的定時(shí)器控制寄存器(TIMERCTL)。當(dāng)TINP0SEL=1時(shí),使能“÷6”選項(xiàng),并且定時(shí)器控制寄存器(TCR)中的定時(shí)器輸入反相控制(INVINP)選項(xiàng)設(shè)置為1,那么“÷6”信號(hào)的結(jié)果被反相。如果TINP0SEL位被清除為0,并且設(shè)置INVINP選項(xiàng),那么輸入信號(hào)將直接來(lái)自于定時(shí)器0的輸入引腳(TINP0L),而INVINP選項(xiàng)轉(zhuǎn)換為輸入源信號(hào)。定時(shí)器0和定時(shí)器1提供了外部時(shí)鐘輸出,有輸出模式:脈沖模式和時(shí)鐘模式。定時(shí)器輸出模式通過(guò)使用TCR中的時(shí)鐘/脈沖模式位(Clock/Pulse,CP)來(lái)選擇。在脈沖模式(CP=0)下,脈沖寬度位(PWID)可以配置為1、2、3或4個(gè)定時(shí)器時(shí)鐘周期。定時(shí)器狀態(tài)(TSTAT)變?yōu)殚e置前,脈沖寬度設(shè)置決定了定時(shí)器時(shí)鐘周期的數(shù)量。通過(guò)設(shè)置位于TCR中的定時(shí)器輸出反相控制位(INVOUT)為1,可以反轉(zhuǎn)脈沖。在時(shí)鐘模式(CP=1)下,定時(shí)器輸出引腳上的信號(hào)有50%的占空比,每次信號(hào)觸發(fā)(從高到低或從低到高)定時(shí)器計(jì)數(shù)器達(dá)到零,輸出引腳的值位于TCR中的TSTAT位。9.2定時(shí)器

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論