串行通信和DMA控制接口_第1頁
串行通信和DMA控制接口_第2頁
串行通信和DMA控制接口_第3頁
串行通信和DMA控制接口_第4頁
串行通信和DMA控制接口_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、10 串行通信和DMA控制接口10.1 串行通信的基本概念串行通信指的是數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個固定的時間長度。這種情況只要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別適用于計算機(jī)與計算機(jī)、計算機(jī)與外部設(shè)備之間的遠(yuǎn)距離通信,但串行通信的速度比較慢。串行通信線路有如下3種方式如圖所示:(1) 單工通信:它只允許一個方向傳輸數(shù)據(jù)。A只作為數(shù)據(jù)發(fā)送器,B只作為數(shù)據(jù)接收器,不能進(jìn)行反方向傳輸。(2) 半雙工通信:它允許兩個方向傳輸數(shù)據(jù),但不能同時傳輸,只能交替進(jìn)行,A發(fā)B收或B發(fā)A收。在這種情況下,為了控制線路換向,必須對兩端設(shè)備進(jìn)行控制,以確定數(shù)據(jù)流向。這種協(xié)調(diào)可以靠增加接口的附加控制線

2、來實現(xiàn),也可用軟件約定來實現(xiàn)。(3) 全雙工通信:它允許兩個方向同時進(jìn)行數(shù)據(jù)傳輸,A收B發(fā)的同時可A發(fā)B收,如圖所示。顯然,兩個傳輸方向的資源必須完全獨立,A與B都必須有獨立的接收器和發(fā)送器,從A到B和從B到A的數(shù)據(jù)通路也必須完全分開(至少在邏輯上是分開的)。圖圖8.2110.1.2 串行通信數(shù)據(jù)的收發(fā)方式在串行通信中數(shù)據(jù)的收發(fā)可采用異步和同步兩種基本的工作方式。1. 異步通信方式異步通信所采用的數(shù)據(jù)格式是以一組不定“位數(shù)”數(shù)組組成。第1位稱起始位,它的寬度為1位,低電平;接著傳送一個字節(jié)(8位)的數(shù)據(jù),以高電平為“1”,低電平為“0”;最后是停止位,寬度可以是1位,1.5位或2位,在兩個數(shù)據(jù)

3、組之間可有空閑位。異步通信的數(shù)據(jù)格式見圖10.2。每秒傳送數(shù)據(jù)的位數(shù)稱為傳送速率,即波特率(band rate)。波特率一般在300,600,900,1,200,2,400,9,600波特之間。計算機(jī)之間的異步通信速率一經(jīng)確定后,一般不應(yīng)變動,但通信的數(shù)據(jù)是可變動的,也就是數(shù)據(jù)組之間的空閑位是可變的。2. 同步通信方式在同步通信時所使用的數(shù)據(jù)格式根據(jù)控制規(guī)程分為面向字符及面向比特的兩種。(1) 面向字符型的數(shù)據(jù)格式:面向字符型的同步通信數(shù)據(jù)格式可采用單同步、雙同步及外同步3種數(shù)據(jù)格式,如下圖所示。圖圖8.24單同步是指在傳送數(shù)據(jù)之前先傳送一個同步字符“SYNC”,雙同步則先傳送兩個同步字符“S

4、YNC”。接收端檢測到該同步字符后開始接收數(shù)據(jù)。外同步通信的數(shù)據(jù)格式中沒有同步字符,而是用一條專用控制線來傳送同步字符,使接收方及發(fā)送端實現(xiàn)同步。當(dāng)每一幀信息結(jié)束時均用兩個字節(jié)的循環(huán)控制碼CRC為結(jié)束。(2) 面向比特型的數(shù)據(jù)格式: 根據(jù)同步數(shù)據(jù)鏈路控制規(guī)程(SDLC),面向比特型的數(shù)據(jù)以幀為單位傳輸,每幀由6個部分組成。第1部分是開始標(biāo)志“7EH”;第2部分是一個字節(jié)的地址場;第3部分是一個字節(jié)的控制場;第4部分是需要傳送的數(shù)據(jù),數(shù)據(jù)都是位(bit)的集合;第5部分是兩個字節(jié)的循環(huán)控制碼CRC;最后部分又是“7EH”,作為結(jié)束標(biāo)志。面向比特型的數(shù)據(jù)格式如圖所示。圖圖8.25在SDLC規(guī)程中不

5、允許在數(shù)據(jù)段和CRC段中出現(xiàn)6個“1”,否則會誤認(rèn)為是結(jié)束標(biāo)志。因此要求在發(fā)送端進(jìn)行檢驗,當(dāng)連續(xù)出現(xiàn)5個“1”,則立即插入一個“0”,到接收端要將這個插入的“0”去掉,恢復(fù)原來的數(shù)據(jù),保證通信的正常進(jìn)行 。通常,異步通信速率要比同步通信的低。最高同步通信速率可達(dá)到800k位,因此適用于傳送信息量大,要求傳送速率很高的系統(tǒng)中。10.2 可編程串行通信接口芯片8251A8251A是一個通用串行輸入/輸出接口,可用來將86系列CPU以同步或異步方式與外部設(shè)備進(jìn)行串行通信。它能將并行輸入的8位數(shù)據(jù)變換成逐位輸出的串行信號;也能將串行輸入數(shù)據(jù)變換成并行數(shù)據(jù),一次傳送給處理機(jī)。廣泛應(yīng)用于長距離通信系統(tǒng)及計

6、算機(jī)網(wǎng)絡(luò)。 10.2.1 8251A芯片內(nèi)部結(jié)構(gòu)及其功能8251A由發(fā)送器、接收器、數(shù)據(jù)總線緩沖存儲器、讀/寫控制電路及調(diào)制/解調(diào)控制電路等5部分組成,如圖10.4(a)所示。引腳信號如圖10.4(b)所示。圖圖8.26圖圖8.271. 發(fā)送器8251A的發(fā)送器包括發(fā)送緩沖存儲器,發(fā)送移位寄存器(并串轉(zhuǎn)換)及發(fā)送控制電路3部分,CPU需要發(fā)送的數(shù)據(jù)經(jīng)數(shù)據(jù)發(fā)送緩沖存儲器并行輸入,并鎖存到發(fā)送緩沖存儲器中。如果是采用同步方式,則在發(fā)送數(shù)據(jù)之前,發(fā)送器將自動送出一個(單同步)或兩個(雙同步)同步字符(Sync)。然后,逐位串行輸出數(shù)據(jù)。如果采用異步方式,則由發(fā)送控制電路在其首尾加上起始位及停止位,然

7、后從起始位開始,經(jīng)移位寄存器從數(shù)據(jù)輸出線TXD逐位串行輸出,其發(fā)送速率由TXC端上收到的發(fā)送時鐘頻率決定。2. 接收器8251A的接收器包括接收緩沖存儲器,接收移位寄存器(串并轉(zhuǎn)換)及接收控制電路3部分。外部通信數(shù)據(jù)從RXT端,逐位進(jìn)入接收移位寄存器中。如果是同步方式,則要檢測同步字符,確認(rèn)已經(jīng)達(dá)到同步,接收器才可開始串行接收數(shù)據(jù),待一組數(shù)據(jù)接收完畢,便把移位寄存器中的數(shù)據(jù)并行置入接收緩沖存儲器中;如果是異步方式,則應(yīng)識別并刪除起始位和停止位。這時RXDRY線輸出高電平,表示接收器已準(zhǔn)備好數(shù)據(jù),等待向CPU輸出。8251A接收數(shù)據(jù)的速率由RXC端輸入的時鐘頻率決定。接收緩沖存儲器和接收移位寄存

8、器構(gòu)成接收器的雙緩沖結(jié)構(gòu)。3. 數(shù)據(jù)總線緩沖存儲器數(shù)據(jù)總線緩沖存儲器是CPU與8251A之間信息交換的通道。它包含3個8位緩沖寄存器,其中兩個用來存放CPU向8251A讀取的數(shù)據(jù)及狀態(tài),當(dāng)CPU執(zhí)行IN指令時,便從這兩個寄存器中讀取數(shù)據(jù)字及狀態(tài)字。另一個緩沖寄存器存放CPU向8251A寫入的數(shù)據(jù)或控制字。當(dāng)CPU執(zhí)行OUT指令時,可向這個寄存器寫入,由于兩者公用一個緩沖寄存器,這就要求CPU在向8251A寫入控制字時,該寄存器中無將要發(fā)送的數(shù)據(jù)。為此,該接口電路必需要有一定的措施來防止。4. 讀/寫控制電路讀/寫控制電路用來接收一系列的控制信號,由它們可確定8251A處于什么狀態(tài),并向8251

9、A內(nèi)部各功能部件發(fā)出有關(guān)的控制信號,因此它實際上是8251A的內(nèi)部控制器。由讀/寫控制電路接收的控制信號如下:(1) RESET復(fù)位信號。向8251A輸入,高電平有效。RESET有效,迫使8251A中各寄存器處于復(fù)位狀態(tài),收、發(fā)線路上均處于空閑狀態(tài)。(2) CLK主時鐘。向8251A輸入。CLK信號用來產(chǎn)生8251A內(nèi)部的定時信號。對于同步方式,CLK必須大于發(fā)送時鐘(TXC)和接收時鐘(RXC)頻率的30倍。對于異步方式,CLK必須大于發(fā)送和接收時鐘的4.5倍。8251A還規(guī)定CLK頻率要在0.743.1MHz范圍內(nèi)。(3) CS選片信號。由CPU輸入,低電平有效。CS有效,表示該8251A

10、芯片被選,通常由8251A的高位端口地址譯碼得到。(4) RD和WR讀和寫控制信號。由CPU輸入,低電平有效。(5) C/D控制/數(shù)據(jù)信號。C/D1,表示當(dāng)前通過數(shù)據(jù)總經(jīng)傳送的是控制字或狀態(tài)信息;C/D0,表示當(dāng)前通過數(shù)據(jù)總線傳送的是數(shù)據(jù);均可由一位地址碼來選擇。5. 調(diào)制/解調(diào)控制電路當(dāng)使用8251A實現(xiàn)遠(yuǎn)距離串行通信時,8251A的數(shù)據(jù)輸出端要經(jīng)過調(diào)制器將數(shù)字信號轉(zhuǎn)換成模擬信號,數(shù)據(jù)接收端收到的是經(jīng)過解調(diào)器轉(zhuǎn)換來的數(shù)字信號,因此8251A要與調(diào)制/解調(diào)器直接相連,它們之間的接口信號如下:(1) DTR數(shù)據(jù)終端準(zhǔn)備好信號,向調(diào)制/解調(diào)器輸出,低電平有效。DTR有效,表示CPU已準(zhǔn)備好接收數(shù)據(jù)

11、,它可軟件定義??刂谱种蠨TR位1時,輸出DTR為有效信號。(2) DSR數(shù)據(jù)裝置準(zhǔn)備好信號。由調(diào)制/解調(diào)器輸入,低電平有效。DSR有效,表示調(diào)制/解調(diào)器或外部設(shè)備已準(zhǔn)備好發(fā)送數(shù)據(jù),它實際上是對DTR的回答信號。CPU可利用IN指令讀入8251A狀態(tài)寄存器內(nèi)容,檢測DSR位狀態(tài),當(dāng)DSR1時,表示DSR有效。(3) RTS請求發(fā)送信號。向調(diào)制/解調(diào)器輸出,低電平有效。RTS有效,表示CPU已準(zhǔn)備好發(fā)送數(shù)據(jù),可由軟件定義??刂谱种蠷TS位1時,輸出RTS有效信號。(4) CTS清除發(fā)送信號。由調(diào)制/解調(diào)器輸入,低電平有效。CTS有效,表示調(diào)制/解調(diào)器已作為接收數(shù)據(jù)準(zhǔn)備,只要控制字中TXEN位1,

12、CTS有效時,發(fā)送器才可串行發(fā)送數(shù)據(jù)。它實際上是對RTS的回答信號。如果在數(shù)據(jù)發(fā)送過程中使CTS無效,或TXEN0,發(fā)送器將正在發(fā)送的字符結(jié)束時停止繼續(xù)發(fā)送。10.2.2 8251A芯片的編程可編程串行通信接口芯片8251A在使用前必須進(jìn)行初始化,以確定它的工作方式,傳送速率,字符格式以及停止位長度等,可使用的控制字如下: 1. 方式選擇控制字其使用格式如圖10.5所示。B2B1位用來定義8251A的工作方式是同步方式還是異步方式,如果是異步方式還可由B2B1的取值來確定傳送速率。1表示輸入的時鐘頻率與波特率相同,允許發(fā)送和接收波特率不同,RXC和TXC也可不相同,但是它們的波特率系數(shù)必須相同

13、;16表示時鐘頻率是波特率的16倍;64表示時鐘頻率是波特率的64倍。圖圖10.5因此通常稱1,16和64為波特率系數(shù),它們之間存在如下的關(guān)系:發(fā)送/接收時鐘頻率發(fā)送/接收波特率波特率系數(shù)L2L1位用來定義數(shù)據(jù)字符的長度可為5,6,7或8位。PEN位用來定義是否帶奇偶校驗,稱作校驗允許位。在PEN1情況下,由EP位定義是采用奇校驗還是偶校驗。S2S1位用來定義異步方式的停止位長度(1位、15位或2位)。對于同步方式,S1位用來定義是外同步(S11)還是內(nèi)同步(S10),S2位用來定義是單同步(S21)還是雙同步(S20)。2. 操作命令控制字其使用格式如圖10.6所示,TXEN位是允許發(fā)送位,

14、TXEN1,發(fā)送器才能通過TXD線向外部串行發(fā)送數(shù)據(jù)。圖圖10.6DTR位是數(shù)據(jù)終端準(zhǔn)備好位。DTR1,表示CPU已準(zhǔn)備好接收數(shù)據(jù),這時DTR引線端輸出有效。RXE位是允許接收位。RXE1,接收器才能通過RXD線從外部串行接收數(shù)據(jù)。SBRK位是發(fā)送斷缺字符位。SBRK1,通過TXD線一直發(fā)送“0”信號。正常通信過程中SBRK位應(yīng)保持為“0”。ER位是清除錯誤標(biāo)志位。8251A設(shè)置有3個出錯標(biāo)志,分別是奇偶校驗標(biāo)志PE,越界錯誤標(biāo)志OE和幀校驗錯標(biāo)志FE。ER1時將PE,OE和FE標(biāo)志同時清“0”。RTS位是請求發(fā)送信號。RTS1,迫使8251A輸出RTS有效,表示CPU已作好發(fā)送數(shù)據(jù)準(zhǔn)備,請求

15、向調(diào)制/解調(diào)器或外部設(shè)備發(fā)送數(shù)據(jù)。IR位是內(nèi)部復(fù)位信號。IR1,迫使8251A回到接收方式選擇控制字的狀態(tài)。EH位為跟蹤方式位。EH位只對同步方式有效,EH1,表示開始搜索同步字符,因此對于同步方式,一旦允許接收(RXE1),必須同時使EH1,并且使ER1,清除全部錯誤標(biāo)志,才能開始搜索同步字符。從此以后所有寫入的8251A的控制字都是操作命令控制字。只有外部復(fù)位命令RESET1或內(nèi)部復(fù)位命令I(lǐng)R1才能使8251A回到接收方式選擇命令字狀態(tài)。3. 狀態(tài)控制字CPU可在8251A工作過程中利用IN指令讀取當(dāng)前8251A的狀態(tài)控制字,其使用格式如圖10.7所示。圖圖10.7CPU可在任意時刻用IN

16、指令讀8251A狀態(tài)字,這時C/D引線端應(yīng)輸入為“1”,在CPU讀狀態(tài)期間,8251A將自動禁止改變狀態(tài)位。對8251A進(jìn)行初始化編程,必須在系統(tǒng)復(fù)位之后,總是先使用方式選擇控制字,并且必須緊跟在復(fù)位命令之后。如果定義8251A工作于異步方式,那么必須緊跟操作命令控制字進(jìn)行定義,然后才可開始傳送數(shù)據(jù)。在數(shù)據(jù)傳送過程中,可使用操作命令字重新定義,或使用狀態(tài)控制字讀取8251A的狀態(tài),待數(shù)據(jù)傳送結(jié)束,必須用操作命令控制字將IR位置“1”,向8251A傳送內(nèi)部復(fù)位命令后,8251A才可重新接收方式選擇命令字、改變工作方式完成其他傳送任務(wù)。如果是采用同步工作方式,那么在方式選擇控制字之后應(yīng)輸出同步字符

17、,在一個或兩個同步字符之后再使用操作命令控制字,以后的過程同異步方式。10.2.3 8251A串行接口應(yīng)用舉例采用8251A實現(xiàn)串行接口通信是在兩臺微機(jī)中各設(shè)置一個RS232串行接口。每個RS232串行接口采用一片8251A芯片,其通信結(jié)構(gòu)流程圖如圖8.32所示??刹捎卯惒交蛲椒绞綄崿F(xiàn)單工、雙工或半雙工通信。當(dāng)采用查詢方式,異步傳送,雙方實現(xiàn)半雙工通信時,初始化程序由兩部分組成。一部分是將一方定義為發(fā)送器,另一部分是將對方定義為接收器。發(fā)送器CPU每查詢到TXRDY有效,則向8251A并行輸出一個字節(jié)數(shù)據(jù);接收端CPU每查詢到RXRDY有效,則從8251A并行輸入一個字節(jié)數(shù)據(jù);一直進(jìn)行到全部

18、數(shù)據(jù)傳送完畢為止。圖圖8.32發(fā)送端初始化程序與發(fā)送控制程序如下所示:STT:MOVDX,8251A控制端口;MOVAL,7FHOUTDX,ALMOVAL,11HOUTDX,ALMOV DI,發(fā)送數(shù)據(jù)塊首地址MOV CX,發(fā)送數(shù)據(jù)塊字節(jié)數(shù);NEXT:MOVDX,8251A控制端口IN AL,DXAND AL,01HJZ NEXTMOV DX,8251A控制端口;MOV AL,DIOUT DX,AL將將8251A定義為異步方式定義為異步方式;8位數(shù)據(jù),位數(shù)據(jù),1位停止位,偶校驗位停止位,偶校驗;取波特率系數(shù)為取波特率系數(shù)為64,允許發(fā)送,允許發(fā)送設(shè)置發(fā)送指針和計數(shù)值設(shè)置發(fā)送指針和計數(shù)值;查詢;查

19、詢TXRDY有效否有效否向向8251A輸出一個字節(jié)數(shù)據(jù)輸出一個字節(jié)數(shù)據(jù)INC DILOOP NEXTHLT接收端初始化程序和接收控制程序如下所示:SRR:MOV DX,8251A控制端口MOV AL,7FHOUT DX,AL ;初始化8251AMOV AL,04HOUT DX,ALMOV DL, 接收數(shù)據(jù)塊首地址 ;置接收數(shù)據(jù)塊指針和計數(shù)值MOV CX,接收數(shù)據(jù)字節(jié)數(shù)COMT:MOV DX,8251A控制端口IN AL,DXROR AL,1;查詢RXRDY有效否ROR AL,1JNC COMTROR AL,1ROR AL,1;查詢是否有奇偶校驗錯JC ERRMOV DX 8251A數(shù)據(jù)端口IN

20、 AL,DX;輸入一個字節(jié)到接收數(shù)據(jù)塊MOV DI,ALINC DILOOP COMTHLT10.3 可編程DMA控制器8237ADMA控制器8237A是Intel86系列微處理器的配套芯片,可用來接管CPU對總線的控制權(quán),在存儲器與高速外設(shè)之間建立直接進(jìn)行數(shù)據(jù)塊傳送的高速通路。8237A必須與一個8位鎖存器(8212或其他代用芯片)配套使用,才可形成完整的4通道DMA控制器。各通道可分別完成3種不同的操作:(1) DMA讀操作讀存儲器送外設(shè)。(2) DMA寫操作讀外設(shè)寫存儲器。 (3) DMA校驗操作通道不進(jìn)行數(shù)據(jù)傳送操作,只是完成校驗功能。任一通道進(jìn)入DMA校驗方式時,不產(chǎn)生對存儲器和I/

21、O設(shè)備的讀/寫控制信號,但是仍保持對系統(tǒng)總線的控制權(quán),并且每一個DMA周期都將響應(yīng)外部設(shè)備的DMA請求,發(fā)出DACKi信號,外設(shè)可使用這一響應(yīng)信號對所得到的數(shù)據(jù)進(jìn)行某種校驗操作,因此,DMA校驗操作并不是由8237A本身完成的。8237A可處于兩種不同的工作狀態(tài),在8237A未取得總線控制權(quán)以前,CPU處于主控狀態(tài),而8237A處于從屬狀態(tài),一旦8237A取得總線控制權(quán)后,8237A便上升為主控狀態(tài),完全在8237A控制下完成存儲器和外設(shè)之間的數(shù)據(jù)傳送功能,CPU不再參與數(shù)據(jù)傳送的操作。10.3.1 8237A芯片內(nèi)部結(jié)構(gòu)8237A可編程DMA控制器由數(shù)據(jù)總線緩沖存儲器、讀寫邏輯部件、工作方式

22、寄存器、狀態(tài)寄存器、優(yōu)先選擇邏輯及四個DMA通道組成,內(nèi)部結(jié)構(gòu)如圖10.9所示。8237A芯片有40條引腳,采用雙列直插式封裝,其引腳信號功能如圖10.10所示。圖圖10.9圖圖10.101. DMA通道0通道3作為8237A芯片的主體是4個結(jié)構(gòu)完全相同的DMA通道。每個通道內(nèi)包含兩個16位寄存器,它們是地址寄存器和終點計數(shù)寄存器,前者用來存放進(jìn)行DMA操作的存儲器區(qū)域的首地址的偏移地址值;后者的低14位(D13D0)用來存放要求傳送的字節(jié)數(shù)n-1,n為本次DMA操作所需要執(zhí)行的DMA周期數(shù),因此,一個數(shù)據(jù)塊的最大容量為214=16KB。在任何DMA操作周期內(nèi),這2位不允許修改,但是可在各個數(shù)

23、據(jù)塊傳送之間進(jìn)行修改。這就是說,一旦被定義,任何一個通道的DMA寫、DMA讀或DMA校驗操作就一直進(jìn)行到整個數(shù)據(jù)塊操作完成為止。每個通道各有一條DMA請求線和一條DMA認(rèn)可線。DMA請求線DRQ0DRQ3,由請求傳送數(shù)據(jù)的外部設(shè)備輸入,高電平有效;DMA認(rèn)可線DACK0DACK3,由8237A取得總線控制權(quán)后向發(fā)出請求的外部設(shè)備輸出,低電平有效,它實際上是DRQi的回答信號。2. 數(shù)據(jù)總線緩沖存儲器這是一個雙向三態(tài)8位緩沖存儲器,是與系統(tǒng)數(shù)據(jù)總線的接口,當(dāng)8237A處于從屬狀態(tài)時,CPU通過這個緩沖存儲器對8237A進(jìn)行讀/寫操作。當(dāng)8237A處于主控狀態(tài)時,在DMA周期內(nèi),8237A將所選通

24、道的地址寄存器的高8位地址碼(A15A8)經(jīng)過這個緩沖存儲器鎖存到8212鎖存器中,然后該緩沖存儲器將處于浮空狀態(tài)。3. 讀/寫邏輯部件當(dāng)8237A處于從屬狀態(tài)時,用來接收由CPU輸入的讀/寫控制信號和端口地址等信息;當(dāng)8237A處于主控狀態(tài)時,通過它發(fā)出讀/寫控制信號和地址信息。(1) I/OR讀信號,雙向三態(tài),低電平有效。當(dāng)8237A處于從屬狀態(tài)時, I/OR為輸入線,是CPU向8237A發(fā)出的讀命令,可讀取8237A中某個通道內(nèi)某個寄存器的內(nèi)容。當(dāng)8237A處于主控狀態(tài)時, I/OR為輸出線,是8237A向外部設(shè)備發(fā)出的讀命令,可從外部設(shè)備中讀取數(shù)據(jù)。(2) I/OW輸入/輸出寫控制信號

25、,雙向、三態(tài),低電平有效。當(dāng)8237A處于從屬狀態(tài)時, I/OW為輸入線,是CPU向8237A發(fā)出的寫命令,可向8237A寫入控制字或通道數(shù)據(jù)。當(dāng)8237A處于主控狀態(tài)時, I/OW為輸出線,是8237A向外部設(shè)備發(fā)出的寫命令,可向外部設(shè)備寫入數(shù)據(jù)。(3) A3A0輸入/輸出地址線。當(dāng)8237A處于從屬狀態(tài)時,這是由CPU向8237A輸入的低4位地址碼,用來尋址8237A中的某個端口。當(dāng)8237A處于主控狀態(tài)時,這是8237A向存儲器輸出的低4位地址碼。(4) CS選片信號,輸入,低電平有效。當(dāng)8237A處于從屬狀態(tài)時,由高位地址碼(A15A2)譯碼得到對8237A的片選信號。當(dāng)8237A處于

26、主控狀態(tài)時,CS被自動禁止,以免8237A正在執(zhí)行DMA傳送期間重新被選。(5) CLK時鐘輸入,用來確定8237A的工作速率。(6) RESET復(fù)位信號,由外部輸入,高電平有效。RESET有效時,清除所有寄存器的內(nèi)容,控制線浮空,禁止DMA操作,復(fù)位之后,必須重新初始化,8237A才能工作。4. 控制邏輯部件控制邏輯部件主要用來向CPU發(fā)出總線請求,得到CPU認(rèn)可進(jìn)入主控狀態(tài)后,由它發(fā)出各種控制信號。(1) HRQ(hold request)保持請求信號,向CPU輸出,高電平有效。當(dāng)任一通道收到外部設(shè)備的DMA請求時,8237A立即向CPU發(fā)出HRQ,表示要求使用總線。(2) HLDA(ho

27、ld acknowledge)保持響應(yīng)信號,由CPU輸入,高電平有效。CPU收到HRQ信號,待當(dāng)前總線周期執(zhí)行完,向8237A回送HLDA信號,表示將總線控制權(quán)交給8237A,此后,8237A進(jìn)入主控狀態(tài),可開始DMA操作。(3) READY準(zhǔn)備就緒信號,輸入,高電平有效。8237A在主控狀態(tài)下進(jìn)行DMA的操作過程中,若存儲器或外部設(shè)備來不及完全讀/寫操作,要求延長讀/寫操作周期時,可使READY線無效,8237A將在DMA周期中增設(shè)等待周期,直到READY有效為止。(4) MEMR和MEMW讀/寫存儲器控制信號,三態(tài)輸出,低電平有效。這是8237A處于主控狀態(tài)時,向存儲器輸出的讀/寫控制信號

28、。當(dāng)MEMR有效時,必然I/OW有效,完成從存儲器向外部設(shè)備的數(shù)據(jù)傳送。反之,MEMW有效時,必然I/OR有效,完成讀外部設(shè)備寫存儲器的數(shù)據(jù)傳送。(5) A7A4地址輸出線。8237A處于主控狀態(tài)時,在DMA周期中通過這條線輸出的是16條存儲器地址的A7A4位。(6) TC(terminal count)終點計數(shù)信號,輸出,高電平有效。當(dāng)所選通道的終點計數(shù)寄存器中的計數(shù)值為0時,TC輸出有效,表示當(dāng)前正在傳送的是最后一個數(shù)據(jù)字節(jié),可用來通知外設(shè)結(jié)束數(shù)據(jù)傳送操作,使DRQi信號無效。(7) MARK(modulo 128 MARK)模128標(biāo)記,輸出,高電平有效。MARK有效可用來通知被選的外部設(shè)備,當(dāng)前是上一次輸出MARK有效后的第128個DMA周期。MARK總是在距數(shù)據(jù)塊結(jié)束每隔128周期產(chǎn)生。至于第一個MARK距數(shù)據(jù)塊開始是多少周期

溫馨提示

  • 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

提交評論