串并行通信及其接口技術(shù)市公開課一等獎省賽課獲獎課件_第1頁
串并行通信及其接口技術(shù)市公開課一等獎省賽課獲獎課件_第2頁
串并行通信及其接口技術(shù)市公開課一等獎省賽課獲獎課件_第3頁
串并行通信及其接口技術(shù)市公開課一等獎省賽課獲獎課件_第4頁
串并行通信及其接口技術(shù)市公開課一等獎省賽課獲獎課件_第5頁
已閱讀5頁,還剩93頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章串并行通信

及其接口技術(shù)串并行通信及其接口技術(shù)第1頁

§7.1串行通信和串行接口

§7.2可編程串行通信接口8251A

§7.3并行通信和并行接口

§7.4可編程并行通信接口8255A

教學重點為:

串并行接口用途;

8251A功效結(jié)構(gòu)與工作原理、初始化流程;

8255A控制字;

8255A工作方式;第7章串并行通信及其接口技術(shù)串并行通信及其接口技術(shù)第2頁串并行通信及其接口技術(shù)第3頁4串并行通信及其接口技術(shù)第4頁ISA插槽PCI插槽AGP插槽北橋芯片組南橋芯片組內(nèi)存插槽CPU插槽IDE接口軟驅(qū)接口并口連接器串口連接器ROMBIOS鼠標鍵盤USB接口主板電源插座串并行通信及其接口技術(shù)第5頁6PCI插槽北橋芯片組南橋芯片組內(nèi)存插槽CPU插槽IDE接口鼠標鍵盤USB接口主板電源插座Intel“4”系列原裝主板串并行通信及其接口技術(shù)第6頁

微機與I/O設備接口按照數(shù)據(jù)傳送方式不一樣,可分為:并行接口和串行接口兩種。7.0串行通信接口與并行接口概述CPUI/O接口外設串或并圖(a)并行和串行概念串并行通信及其接口技術(shù)第7頁CPU并行接口串行外設數(shù)據(jù)輸出串行接口譯碼器與邏輯控制ABCB并行外設DBDB(8根)圖(b)并行接口和串行接口結(jié)構(gòu)、功效示意圖數(shù)據(jù)輸入地串并行通信及其接口技術(shù)第8頁7.1.1串行通信包括幾個問題7.1串行通信和串行接口串行通信:將數(shù)據(jù)分解成二進制位用一條信號線,一位一位次序傳送方式。在傳輸過程中,每一位數(shù)據(jù)占據(jù)一個固定時間長度。數(shù)據(jù)各位依次由源抵達目標地→慢數(shù)據(jù)線少、抗干擾能力強→遠程,費用低01101010

RD目TD源串行通信適于長距離、中低速通信串并行通信及其接口技術(shù)第9頁1.按傳輸方式分:全雙工、半雙工、單工全雙工:雙根傳輸線,能夠同時發(fā)送和接收半雙工:單根傳輸線,不能同時發(fā)送和接收單工:單根傳輸線只用作發(fā)送或只用作接收2.按時鐘定時分:同時、異步同時通信:收發(fā)雙方采取同一個時鐘信號來定時

多個字符組成一個數(shù)據(jù)塊(或稱信息幀、信息組),在每一個數(shù)據(jù)塊前附加一個或兩個同時字符或標識符,最終以校驗字符結(jié)束在傳送過程中發(fā)送端和接收端使用同一時鐘信號進行控制使每一位數(shù)據(jù)均保持位同時。同時通信一個信息幀含有多個或上千字符。同時字符字符1字符2……字符n校驗字符數(shù)據(jù)塊串并行通信及其接口技術(shù)第10頁異步通訊:收發(fā)雙方不用統(tǒng)一時鐘來定時

每個字符一位一位地傳輸,傳輸一個字符時,以起始位開始,然后傳輸字符本身各位,接著傳輸校驗位,最終以停頓位結(jié)束該字符傳輸。所以一次傳輸起始位、字符各位、校驗位、停頓位組成一組完整信息,稱為異步通信一個信息幀(Frame),只含一個字符。幀與幀之間可有任意個空閑位。為了確保異步通信正確,必須在收發(fā)雙方通信前約定字符格式、傳送速率、時鐘和校驗方式等。

普通以若干位表示一個字符,收發(fā)是以字符為獨立通信單位,一個字符一個字符地傳輸,兩個字符之間傳輸間隔是任意。這么,為確保正確區(qū)分字符,每個字符前后要用若干位作為分隔位來進行識別。串并行通信及其接口技術(shù)第11頁起始位——每個字符開始傳送標志,起始位采取邏輯0電平數(shù)據(jù)位——數(shù)據(jù)位緊跟著起始位傳送。由5~8個二進制位組成,低位先傳送校驗位——用于校驗是否傳送正確;可選擇奇檢驗、偶校驗或不傳送校驗位停頓位——表示該字符傳送結(jié)束。停頓位采取邏輯1電平,可選擇1、1.5或2位空閑位——傳送字符之間邏輯1電平,表示沒有進行傳送圖7.1標準異步通信數(shù)據(jù)格式串并行通信及其接口技術(shù)第12頁異步通信數(shù)據(jù)格式總結(jié)說明:①無信息傳輸(或間隔)時,輸出必須為“1”狀態(tài)(標識態(tài));②1到0跳變作為字符開始——起始位;③起始位后為5~8位數(shù)據(jù)位,低位在前,高位在后;④數(shù)據(jù)位后為奇偶校驗位,可設為奇或偶校驗,也可不設;⑤最終有1、1.5或2位停頓位,均為“1”串并行通信及其接口技術(shù)第13頁傳輸速率

在串行通訊中,用波特率來描述數(shù)據(jù)傳輸速率。即每秒鐘傳送二進制位數(shù),簡寫為bps

串行通信不論收發(fā)都必須有時鐘脈沖信號對傳送數(shù)據(jù)進行定位和同時控制。接收時鐘/發(fā)送時鐘是波特率倍數(shù)——波特率因子?!纠浚翰ㄌ芈?9600bps,波特率因子=16,則接收時鐘和發(fā)送時鐘頻率=9600×16=153600Hz波特率因子=16,表明16個時鐘脈沖傳送1位。3.串行通信傳輸率國際上要求標準波特率:110、300、600、1200、1800、2400、4800、9600、19200。串并行通信及其接口技術(shù)第14頁設每個字符對應1個起始位、7個信息位、1個奇偶校驗位和1個停頓位,假如波特率為1200bps,那么,每秒鐘能傳輸最大字符數(shù)為1200/10=120個。以1200bps波特率工作,用4個同時字符作為信息幀頭部,但不用奇偶校驗,那么,傳輸100個字符所用時間為7(100+4)/1200=0.6067s,這就是說,每秒鐘能傳輸字符數(shù)可到達100/0.6067=165個。例1:異步傳輸過程

例2:同時傳輸過程可見,在一樣傳輸率下,同時傳輸時實際字符傳輸率要比異步傳輸時高。串并行通信及其接口技術(shù)第15頁7.1.2串行接口圖7.2可編程串行接口經(jīng)典結(jié)構(gòu)串并行通信及其接口技術(shù)第16頁7.2可編程串行通信接口8251A7.2.08251A基本性能①經(jīng)過編程,8251A能夠工作在同時方式,波特率0~64K,也能夠工作在異步方式,波特率0~19.2K;②同時方式下能夠用5~8位來表示字符,允許增加1位奇偶校驗位,能自動檢測同時字符,實現(xiàn)收發(fā)同時;③異步方式下用5~8位來表示字符,1位可選奇偶校驗位,1位開啟位,依據(jù)需要可設置1、1.5或2位停頓位;④全雙工、雙緩沖發(fā)送器和接收器;⑤含有奇偶、溢出和幀錯誤檢測功效;⑥輸入輸出電路為TTL電平。串并行通信及其接口技術(shù)第17頁8251A功效結(jié)構(gòu)7.2.18251A基本工作原理圖7.3串并行通信及其接口技術(shù)第18頁模式存放器決定工作于同時或異步模式以及接收和發(fā)送字符格式同時字符存放器存放同時模式下同時字符偶地址端口奇地址端口串并行通信及其接口技術(shù)第19頁3.8251A發(fā)送和接收(1)檢測起始位1)異步接收方式設數(shù)據(jù)接收時鐘頻率是數(shù)據(jù)傳輸頻率16倍。起始檢測確定已檢測到起始位起始位RXCRXDT16T8T串并行通信及其接口技術(shù)第20頁采樣數(shù)據(jù)起始檢測確定已檢測到起始位起始位RXCRXDT16T16T8T每隔一字符傳輸時間,對RxD進行一次采樣,數(shù)據(jù)送移位存放器移位,并進行奇偶校驗和去掉停頓位,得到并行數(shù)據(jù)。(2)8251A進行常規(guī)采樣并進行字符裝配串并行通信及其接口技術(shù)第21頁注:對于少于8位數(shù)據(jù),8251A將高位補0。

(3)通知CPU接收數(shù)據(jù)并行數(shù)據(jù)經(jīng)過內(nèi)部數(shù)據(jù)總線送接收數(shù)據(jù)緩沖器,并置RxRDY有效,通知CPU已收到一個數(shù)據(jù),能夠取用。8251A異步接收數(shù)據(jù)傳輸格式串并行通信及其接口技術(shù)第22頁2)8251A異步發(fā)送方式(2)8251A由TxD線把串行數(shù)據(jù)送出。8251A從CPU接收到一個數(shù)據(jù),移位形成串行數(shù)據(jù),再加上起始位、奇偶校驗位以及停頓位,由TxD把數(shù)據(jù)送出。注:數(shù)據(jù)及起始位、校驗位、停頓位總是在發(fā)送時鐘TxC下降沿從8251A發(fā)出,數(shù)據(jù)傳輸波特率為發(fā)送時鐘頻率1、1/16或者1/64,詳細決定于編程時給出波特率因子。(1)程序置TxEN(允許發(fā)送)有效。

檢測到外設送來CTS(請求發(fā)送信號響應信號)有效,開始發(fā)送。

串并行通信及其接口技術(shù)第23頁8251A異步發(fā)送數(shù)據(jù)傳輸格式注:對于少于8位數(shù)據(jù),8251A將高位補0。

串并行通信及其接口技術(shù)第24頁3)8251A同時接收方式單同時字符8251檢測RxD線,當RxD線出現(xiàn)一數(shù)據(jù)位時,接收送移位存放器移位,并與同時字符存放器內(nèi)容比較,如不等,繼續(xù)接收,比較。相等時,8251ASYNDET引腳為高電平,表示同時已經(jīng)實現(xiàn)。(1)搜索同時字符雙同時字符檢測到第一個同時字符后,再繼續(xù)檢測今后輸入移位存放器內(nèi)容是否與第二個同時字符存放器內(nèi)容相同,不一樣重新比較第一個同時字符;相同,則認為同時已經(jīng)實現(xiàn)。內(nèi)同時(a)串并行通信及其接口技術(shù)第25頁(b)外同時

經(jīng)過在同時輸入端SYNDET加一高電位實現(xiàn)同時。當SYNDET端出現(xiàn)一個高電平,而且維持一時鐘接收周期,8251A認為已經(jīng)完成同時。(2)數(shù)據(jù)同時傳輸

接收器利用時鐘信號對RxD采樣,把收到數(shù)據(jù)送移位存放器。當收到數(shù)據(jù)位到達要求一個字符位數(shù)時,將移位存放器內(nèi)容送輸入緩沖存放器,且發(fā)出RxRDY信號,表示收到一數(shù)據(jù)。

串并行通信及其接口技術(shù)第26頁8251A同時接收數(shù)據(jù)傳輸格式串并行通信及其接口技術(shù)第27頁4)8251A同時發(fā)送方式(2)發(fā)送同時字符

依據(jù)編程要求,發(fā)送器先發(fā)送一個或兩個同時字符。注:如發(fā)送數(shù)據(jù)時,CPU來不及提供新數(shù)據(jù),8251A發(fā)送器會自動插入同時字符,由TxD送出。(3)發(fā)送數(shù)據(jù)塊

發(fā)送數(shù)據(jù)塊時,發(fā)送器依據(jù)要求對數(shù)據(jù)塊中數(shù)據(jù)加上奇偶校驗位或不加。(1)程序置TxEN(允許發(fā)送)有效

檢測到外設送來CTS(請求發(fā)送信號響應信號)有效,開始發(fā)送。

串并行通信及其接口技術(shù)第28頁8251A同時發(fā)送數(shù)據(jù)傳輸格式串并行通信及其接口技術(shù)第29頁30

8251A芯片共有28個引腳,其中:有17個引腳是與系統(tǒng)相連接,有6個是與外部設備相連接,另外,還有3個時鐘輸入端,1個電源端,1個接地端。

7.2.28251A外部信號TXRDY為“1”條件是:發(fā)送緩沖器空CTSTXEN=1串并行通信及其接口技術(shù)第30頁

1.用錯位連接結(jié)合軟件方法實現(xiàn)8位接口芯片與16位CPU總線連接

在硬件上將地址總線A1與8251AA0(即C/D)引腳相連接,在軟件設計時用連續(xù)偶地址代替端口奇/偶地址,就處理了8位接口芯片與16位數(shù)據(jù)總線連接;即就是將8位接口芯片與16位數(shù)據(jù)總線低8位數(shù)據(jù)線相連接。

(見前8251A與系統(tǒng)連接示意圖)

7.2.38位接口芯片與CPU總線連接串并行通信及其接口技術(shù)第31頁表7.1CPU總線與8位接口錯位連接小結(jié)CPU字長數(shù)據(jù)線位數(shù)選最低字節(jié)錯位連接低位地址初值相鄰地址差值8088168A0-A0A0=0180861616A0=0A1-A0A1A0=002803863232A1A0=0A2-A0A2A1A0=0004Pentium3264A2A1A0=0A3-A0A3A2A1A0=00008軟件上,用連續(xù)偶地址代替奇偶地址串并行通信及其接口技術(shù)第32頁

2.用硬件方法實現(xiàn)8位外設與16位數(shù)據(jù)總線連接

兩個硬件電路:(1)檢測控制電路:檢測并識別奇地址端口輸入/輸出指令,確認是奇地址I/O指令時開啟高/低字節(jié)復制器,并控制數(shù)據(jù)復制方向。(2)高/低字節(jié)復制器:執(zhí)行IN指令時,將外設來數(shù)據(jù)復制至數(shù)據(jù)總線高8位;執(zhí)行OUT指令時,將CPU高8位數(shù)據(jù)復制至數(shù)據(jù)總線低8位。串并行通信及其接口技術(shù)第33頁347.2.48251A存放器及其初始化流程8251A初始化約定: ①復位后,第一次給奇地址端口寫入值作為模式字 ②如要求為同時模式,那么,接下來往奇地址端口寫入是同時字符。假如是雙同時,則先后兩次寫入同時字符。

③接下來,只要不是復位命令,CPU給奇地址寫入是控制字,給偶地址端口寫入是要發(fā)送數(shù)據(jù)。

1.8251A初始化8251A使用前必須進行初始化,以確定工作方式、傳送速率、字符格式以及停頓位長度等;改變8251A工作方式時必須再次進行初始化編程;串并行通信及其接口技術(shù)第34頁2.模式存放器格式8251A編程包含兩個方面內(nèi)容:由CPU發(fā)出控制字,即模式命令字和操作命令控制字

由8251A向CPU送出狀態(tài)字

模式字是在對8251A進行初始化時,用程序命令寫入且只需寫一次。用于要求8251A工作方式:串并行通信及其接口技術(shù)第35頁3.控制存放器格式

控制字是在模式字之后寫入,用來控制8251A工作,使其處于要求狀態(tài)以及準備發(fā)送或接收數(shù)據(jù),可進行屢次寫入操作??刂谱趾湍J阶止灿靡粋€奇地址端口,且又無特征標志,8251A是依據(jù)寫入先后次序來加以區(qū)分,即先寫入是模式字,后寫入是控制字。串并行通信及其接口技術(shù)第36頁比如:

由控制字格式可知,8251A復位命令是給奇地址端口寫入40H。即復位命令程序段是:MOVAL,40HOUT奇地址端口,AL串并行通信及其接口技術(shù)第37頁4.狀態(tài)存放器格式

狀態(tài)存放器用來存放8251A狀態(tài)字,用來反應8251A狀態(tài)信息,可供CPU讀取查詢。串并行通信及其接口技術(shù)第38頁【例】假設8251A端口地址為:82H、80H,按以下要求對8251A進行初始化。(1)異步工作方式,1個停頓位,采取偶校驗,7個數(shù)據(jù)位,波特率因子為16。(2)允許接收和發(fā)送數(shù)據(jù),使錯誤位全部復位。(3)查詢8251A狀態(tài)字,當接收準備就緒時則從8251A輸入數(shù)據(jù),不然等候。7.2.58251A編程舉例1.異步方式舉例串并行通信及其接口技術(shù)第39頁 MOV AL, 40H OUT 82H, AL ;對8251A進行復位 MOV AL, 01111010B OUT 82H, AL ;寫模式字 MOV AL, 00010101B OUT 82H, AL ;寫控制字WAIT: IN AL, 82H ;讀取狀態(tài)字 AND AL, 02H ;檢驗RxRDY是否為1 JZ WAIT ;RxRDY不為1,等候 IN AL, 80H ;RxRDY為1,讀取數(shù)據(jù)初始化程序段:串并行通信及其接口技術(shù)第40頁7.2.58251A編程舉例2.同時方式舉例【例】假設8251A端口地址為:42H、40H,按以下要求對8251A進行初始化。(1)同時工作方式,2個同時字符16H,內(nèi)同時,采取偶校驗,7個數(shù)據(jù)位。(2)使8251A對同時字符進行搜索,使錯誤位全部復位,開啟發(fā)送器和接收器,通知調(diào)制/解調(diào)器CPU已準備好進行數(shù)據(jù)傳輸。串并行通信及其接口技術(shù)第41頁 MOV AL, 01000000H OUT 42H, AL ;對8251A進行復位 MOV AL, 00111000B OUT 42H, AL ;寫模式字 MOV AL, 00010110B OUT 82H, AL ;寫同時字符 MOV AL, 00010110B OUT 82H, AL ;寫同時字符 MOV AL, 10110111B OUT 82H, AL ;寫控制字初始化程序段:串并行通信及其接口技術(shù)第42頁【練習】對8251A進行初始化。

1.

設8251A工作于內(nèi)同時方式,8個數(shù)據(jù)位,無校驗,一個同時字符(均為24H);

2.同時要求8251A進行同時字符搜索,允許接收和發(fā)送數(shù)據(jù),使錯誤位全部復位。

3.假設8251A端口地址為:00E2H、00E0H。串并行通信及其接口技術(shù)第43頁答案初始化程序段: MOV AL,40H OUT 0E2H,AL ;對8251A進行復位 MOV AL,10001100H OUT 0E2H,AL ;寫模式字 MOV AL,24H OUT 0E2H,AL ;寫第一個同時字符 OUT 0E2H,AL ;寫第二個同時字符 MOV AL,10010101B OUT 41H,AL ;寫控制字

串并行通信及其接口技術(shù)第44頁7.2.58251A編程舉例3.利用狀態(tài)字舉例編程實現(xiàn)CPU接收80個字符,字符輸入后放在BUFFER所指內(nèi)存緩沖區(qū)。8251A工作于異步方式,波特率因子為16,7個數(shù)據(jù)位,偶校驗,2個停頓位。8251A端口地址:50H,52H。MOVAL,0FAH;11111010BOUT52H,AL;設置模式字MOVAL,35H;00110101BOUT52H,AL;設置控制字MOVDI,0;變址存放器初始化MOVCX,80;計數(shù)器初始化BEGIN:INAL,52H

;讀狀態(tài)字TESTAL,02H

;測試JZBEGIN

;RXRDY=0轉(zhuǎn)INAL,50H;讀取字符MOVBX,OFFSETBUFFERMOV[BX+DI],AL;保留字符INCDI ;修改緩沖區(qū)指針I(yè)NAL,52H;讀取狀態(tài)字TESTAL,38H;測試有沒有錯誤JNZERRORLOOPBEGIN

;無錯且不夠80個繼續(xù)接收JMPEXIT

;如滿80個字符,則結(jié)束ERROR:CALLERR_OUT;調(diào)用犯錯處理程序EXIT:串并行通信及其接口技術(shù)第45頁8251A與CPU之間通常采取查詢或中止方式傳輸數(shù)據(jù)。若采取中止方式,兩個狀態(tài)信號TxRDY和RxRDY經(jīng)過一個或非門接到CPU外中止輸入。其余

、RESET都是同名端相連。在編程時,先對8251A初始化,輸入命令字后就能夠進行數(shù)據(jù)傳送。在得到中止申請后,經(jīng)過調(diào)用狀態(tài)字來檢測是接收申請(RxRDY=1)還是發(fā)送申請(TxRDY=1),然后轉(zhuǎn)至對應中止服務程序進行處理即可。在接收處理時,若要判定傳輸是否犯錯,也只需讀取狀態(tài)字,檢測錯誤標志位PE等。這么,能夠很方便地實現(xiàn)雙工通信。7.2.68251A使用實例【例】試用8251A為8086CPU與CRT終端設計一串行通信接口。假設:8251A端口地址為52H、50H。要求:(1)異步工作方式,1個停頓位,8個數(shù)據(jù)位,采取奇校驗,波特率因子為16;(2)CPU用查詢方式將顯示緩沖區(qū)字符“GOOD”送CRT顯示。顯示緩沖區(qū)在數(shù)據(jù)段,首地址為H。串并行通信及其接口技術(shù)第46頁8251與CPU數(shù)據(jù)交換查詢方式/中止方式采取查詢方式,在數(shù)據(jù)交換前應讀取狀態(tài)存放器。

狀態(tài)存放器D0=1,CPU能夠向8251數(shù)據(jù)端口寫入數(shù)據(jù),完成串行數(shù)據(jù)發(fā)送狀態(tài)存放器D1=1,CPU能夠從8251數(shù)據(jù)端口讀出數(shù)據(jù),完成一幀數(shù)據(jù)接收采取中止方式,8251沒有單獨中止請求引腳:

TxRDY引腳能夠作為發(fā)送中止請求

RxRDY引腳能夠作為接收中止請求收發(fā)均采取中止方式時,TxRDY、RxRDY能夠經(jīng)過或門與系統(tǒng)總線中止請求線連接。在CPU響應中止轉(zhuǎn)到ISP中時,再對狀態(tài)存放器進行查詢,以區(qū)分是發(fā)送中止還是接收中止串并行通信及其接口技術(shù)第47頁(1)硬件連接:8086CPU與CRT終端接口連接如圖所表示。

8251A信號都是TTL電平,而CRT信號為RS-232-C電平,故經(jīng)過1488將8251A輸出變?yōu)镽S-232-C電平,再送給CRT;反過來,CRT輸出信號經(jīng)過1489將變?yōu)門TL電平,再送給8251A。串并行通信及其接口技術(shù)第48頁DATA SEGMENTDISBUF DB

47H,4FH,4FH,44H,0DH,0AH;GOOD字符ASCⅡ碼COUNT DB$-DISBUFDATA ENDS ┋ MOV AL,

40H OUT 52H,AL ;對8251A進行復位 MOV AL,01011110B ;寫入模式字 OUT 52H,AL MOV AL,00110011B ;寫控制字 OUT 52H,AL MOV BX,OFFSET

DISBUF ;顯示緩沖區(qū)首址 MOV CX,COUNTWAIT: IN AL,52H

AND AL,01H ;判斷TxRDY是否為1,不為1,等候 JZ WAIT MOV AL,ES:[BX] ;為1,則輸出數(shù)據(jù) OUT 50H,AL INC BX DEC CX JNZ WAIT HLT(2)軟件設計首次對8251A初始化,先送3個00H,再送1個40H串并行通信及其接口技術(shù)第49頁【例】經(jīng)過8251A實現(xiàn)兩臺微機相互通信硬件連接圖如圖所表示。利用兩片8251A經(jīng)過標準串行接口RS-232C實現(xiàn)兩臺8086微機之間異步串行通信。設兩臺微機中8251A命令端口地址均為3F9H,數(shù)據(jù)端口地址均為3F8H。

串并行通信及其接口技術(shù)第50頁分析:設系統(tǒng)采取查詢方式控制串行通信過程。初始化程序由兩部分組成:①將一方定義為發(fā)送方,發(fā)送方CPU查詢到TxRDY有效時,則CPU向8251A并行輸出一個待發(fā)送字節(jié)數(shù)據(jù);②將對方定義為接收方,接收方CPU查詢到RxRDY有效時,則從8251A輸入一個已接收到字節(jié)數(shù)據(jù),直到全部數(shù)據(jù)傳送完成為止。串并行通信及其接口技術(shù)第51頁L1: MOV DX,3F9H

IN

AL,DX AND AL,01H ;查詢TxRDY是否有效

JZ L1 ;無效則等候

MOV DX,3F8H MOV

AL,[DI] ;向8251A輸出一個字節(jié)數(shù)據(jù)

OUT

DX,AL

INC

DI ;修改地址指針

LOOP L1

;未傳送完,則繼續(xù)下一個

HLTSTART: MOV DX,3F9H MOV AL,7FH ;模式字(異步方式,8位數(shù)據(jù),一位停頓位

OUT DX,AL ;偶校驗,波特率因子為64,允許發(fā)送) MOV AL,11H ;操作命令字(錯誤復位,發(fā)送允許)

OUT DX,AL MOV DI,1000H ;設置地址指針

MOV CX,40H ;設置計數(shù)器初值發(fā)送程序以下:串并行通信及其接口技術(shù)第52頁BEGIN: MOV

DX,3F9H MOV AL,7FH ;異步方式,8位數(shù)據(jù),1位停頓位

OUT

DX,AL ;偶校驗,波特率因子64,允許接收

MOV AL,14H ;操作命令字(錯誤復位,接收允許)

MOV

DX,AL MOV SI,H ;設置地址指針

MOV CX,40H ;設置計數(shù)器初值L2: MOV DX,3F9H IN AL,DX ;讀取狀態(tài)字 TEST AL,38H ;查詢接收器是否有錯

JNZ ERR ;有錯則轉(zhuǎn)錯誤處理

AND AL,02H

;無誤則查狀態(tài)位D1(RxRDY)

JZ L2

;接收未準備好則等候

MOV DX,3F8H IN AL,DX

;接收準備好,則接收1個字節(jié)數(shù)據(jù)

MOV [SI],AL INC SI ;修改接收數(shù)據(jù)區(qū)地址

LOOP L2 JMP L3ERR: CALL ERR-OUT(略)L3: MOV AX,4C00H ;已接收完,返回DOS

INT 21H接收程序串并行通信及其接口技術(shù)第53頁并行通信并行通信:是指將組成一組數(shù)據(jù)各位同時進行傳送一個通信方式。比如一組8位數(shù)據(jù)或16位數(shù)據(jù)同時傳入或傳出。并行通信優(yōu)點是傳輸速度快,信息率高;缺點是電纜耗損高。并行通信適合用于數(shù)據(jù)傳輸率較高、傳輸距離較短場所。適合場所:

(1)外部設備與微機之間進行近距離、大量和快速信息交換比如:微機與并行接口打印機、磁盤驅(qū)動器(2)微機系統(tǒng)中最基本信息交換方法比如:系統(tǒng)板上各部件之間,接口電路板上各部件之間7.3并行通信和并行接口串并行通信及其接口技術(shù)第54頁并行接口:實現(xiàn)并行通信接口稱為并行接口。按照信息傳送方向,分為:輸入接口、輸出接口和輸入/輸出接口按照可編程性分類:不可編程并行接口和可編程并行接口。不可編程并行接口:接口工作方式及功效由硬件連接來設定,不能用軟件編程方法改變,接口工作方式固定不變。比如8位雙向三態(tài)緩沖驅(qū)動器74LS245、8位三態(tài)數(shù)據(jù)鎖存器74LS373等。多用于組成功效比較簡單接口電路??删幊滩⑿薪涌冢浩胀ㄓ煽删幊掏ㄓ媒涌谛酒M成,這些芯片除了含有硬件連接接口性能外,最主要就是可由編程人員經(jīng)過編程來進行設定芯片性能。如有Zilog企業(yè)Z80PIO,Intel8255A等。因而可編程接口含有廣泛適應性和很高靈活性,在微機系統(tǒng)中得到廣泛應用。2.并行I/O接口串并行通信及其接口技術(shù)第55頁3.并行接口與外設連接圖7.10并行接口連接外設示意圖串并行通信及其接口技術(shù)第56頁并行接口輸入數(shù)據(jù)過程外設將數(shù)據(jù)送到“數(shù)據(jù)輸入線”,經(jīng)過“輸入數(shù)據(jù)準備好”狀態(tài)線通知并行接口,接口將數(shù)據(jù)鎖存到“輸入緩沖器”,經(jīng)過“數(shù)據(jù)輸入響應”線通知外設,接口數(shù)據(jù)緩沖器已滿,不要再送數(shù)據(jù),同時將“狀態(tài)存放器”對應位置1,便于CPU查詢和接口向CPU發(fā)中止請求之用。CPU從接口將數(shù)據(jù)取走后,接口將“數(shù)據(jù)輸入準備好”、“數(shù)據(jù)輸入回答”信號去除,方便外設輸入下一個數(shù)據(jù)。

并行接口輸出數(shù)據(jù)過程接口“數(shù)據(jù)輸出緩沖器”空,置“數(shù)據(jù)輸出準備好”狀態(tài)線為1,收到CPU發(fā)數(shù)據(jù),將之復位清0,數(shù)據(jù)經(jīng)過“數(shù)據(jù)輸出”線送外設,由“數(shù)據(jù)輸出準備好”線通知外設取數(shù)據(jù)。外設取走數(shù)據(jù),將“數(shù)據(jù)輸出準備好”信號線置1,方便CPU輸出下一個數(shù)據(jù)。4.并行接口工作原理串并行通信及其接口技術(shù)第57頁7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號1.數(shù)據(jù)端口A、B、C

8255A三個數(shù)據(jù)端口都是8位,而各有特點。(1)端口A

是一個獨立8位數(shù)據(jù)I/O口,它內(nèi)部有對數(shù)據(jù)輸入/輸出鎖存功效。(2)端口B

是一個獨立8位數(shù)據(jù)I/O口,對輸入數(shù)據(jù)不鎖存,僅對輸出數(shù)據(jù)鎖存。串并行通信及其接口技術(shù)第58頁(3)端口C

能夠看作是一個獨立8位I/O口;也能夠看作是兩個獨立4位I/O口。還能夠用作A口和B口控制信號。對輸出數(shù)據(jù)進行鎖存,對輸入數(shù)據(jù)不鎖存。7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號串并行通信及其接口技術(shù)第59頁2.A組控制和B組控制

這兩組控制部件有兩個功效:即一是接收芯片內(nèi)部總線上控制字;二是接收來自讀/寫控制邏輯電路讀/寫命令,據(jù)此而決定兩組端口工作方式和讀/寫操作。7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號串并行通信及其接口技術(shù)第60頁3.讀/寫控制邏輯電路

負責管理8255A數(shù)據(jù)傳輸過程。它接收CS及來自地址總線信號A1、A0和控制總線信號RESET、RD、WR,將它們組合后,得到對A組控制部件和B組控制部件控制命令,并將命令送給這兩個部件,再由它們完成對數(shù)據(jù)、狀態(tài)和控制信息傳輸。7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號串并行通信及其接口技術(shù)第61頁4.數(shù)據(jù)總線緩沖器是一個雙向三態(tài)8位數(shù)據(jù)緩沖器。8255A正是經(jīng)過它與系統(tǒng)數(shù)據(jù)總線相連。輸入數(shù)據(jù)、輸出數(shù)據(jù)、CPU發(fā)給8255A控制字都是經(jīng)過該部件傳遞。7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號串并行通信及其接口技術(shù)第62頁7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號串并行通信及其接口技術(shù)第63頁8255A復位后,全部I/O均處于輸入狀態(tài),內(nèi)部存放器都被去除7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號串并行通信及其接口技術(shù)第64頁7.4可編程并行通信接口8255A7.4.2

8255A控制字控制字分為兩類方式選擇控制字C端口按位置1/置0控制字8255A有三種基本工作方式:方式0、方式1、方式2圖7.158255A方式選擇控制字串并行通信及其接口技術(shù)第65頁端口C置1/置0控制字

端口C置1/置0例子MOV AL,0FH ;對PC7置1控制字MOV DX,00EEH ;控制口地址送DXOUT DX,AL ;對PC7進行置1操作MOV AL,06H ;對PC3置0控制字OUT DX,AL ;對PC3進行置0操作圖7.13端口C置1/置0控制字串并行通信及其接口技術(shù)第66頁7.4.38255A工作方式1.方式0

也叫基本輸入輸出方式。

特點:

(1)三個端口都可作為獨立輸入或輸出口,各端口間沒有必定關(guān)系。(2)由端口A、端口B和端口C高4位、低4位,這4個端口能夠有16種不一樣組合。(3)這種方式下,輸出可鎖存數(shù)據(jù),輸入是不鎖存。方式0使用場所: 同時傳輸和查詢式傳輸。串并行通信及其接口技術(shù)第67頁使用場所

同時傳送時,發(fā)送方和接收方由同一時序信號來管理,所以雙方相互知道對方動作,不需要應答信號。即CPU不需要查詢外設狀態(tài),對接口要求很簡單,只要能傳送數(shù)據(jù)就行,此時8255A三個數(shù)據(jù)端口能夠?qū)崿F(xiàn)三路數(shù)據(jù)傳送。

查詢傳送時,普通將A、B口常作為數(shù)據(jù)口,把C口兩部分用來輸出一些控制信號和接收一些狀態(tài)信號,這么端口C用來配合端口A和B工作。串并行通信及其接口技術(shù)第68頁方式1又稱為選通輸入/輸出方式。特點:

(1)端口A和端口B能夠分別作為輸入端口或輸出端口。(2)假如端口A和端口B只有一個工作于方式1,端口C中就有3位被要求為配合方式1工作信號,這時,另一個端口和端口C其它位可工作于方式0。(3)假如端口A和B都工作在方式1,那么端口C則有6位分別作為A口和B口應答聯(lián)絡信號,而且其排列是固定,剩下2位可工作于方式0。串并行通信及其接口技術(shù)第69頁方式1時輸入端口對應控制信號圖7.14串并行通信及其接口技術(shù)第70頁STB:選通信號輸入端。它是由外設送往8255A,當STB有效時8255A端口A或B輸入緩沖器接收到一個來自外設8位數(shù)據(jù)。方式1輸入組態(tài)和應答信號功效

IBF:“輸入緩沖器滿”信號。它是8255A輸出狀態(tài)信號,當IBF有效時,表示當前已經(jīng)有一個新數(shù)據(jù)進入端口A或B緩沖器中。此信號是對STB響應信號,它能夠由CPU經(jīng)過查詢C口PC5或PC1位取得。當CPU查PC5(或PC1)=1時,便能夠從A口(或B口)讀入數(shù)據(jù)。IBF信號是由STB信號使其置位,而由讀信號RD上升沿使其復位。

INTR:是8255A送往CPU中止請求信號。當選通信號STB=1,置IBF=1,且端口處于中止允許狀態(tài)(INTE=1)時,將INTR端置位高電平,向CPU發(fā)出中止請求信號。當CPU響應中止讀入數(shù)據(jù)端口數(shù)據(jù)時,由RD信號下降沿使INTR復位。串并行通信及其接口技術(shù)第71頁方式1時輸出端口對應控制信號串并行通信及其接口技術(shù)第72頁方式1使用場所

對方式1,要求一個端口作為輸入口同時,自動要求了相關(guān)控制信號,尤其要求了對應中止請求信號。這么,在許多采取中止方式進行輸入輸出場所,假如外設能為8255A提供選擇信號或數(shù)據(jù)接收應答信號,那么,常使8255工作于方式1。用方式1工作比用方式0愈加方便有效。串并行通信及其接口技術(shù)第73頁

3.方式2

也叫雙向傳輸方式,含有以下特點:(1)只適合用于端口A,相當于雙向方式1傳輸。(2)端口C用5條線作為A口聯(lián)絡信號,而且排列是固定。串并行通信及其接口技術(shù)第74頁方式2使用場所

方式2是一個雙向工作方式,假如一個并行外部設備既能夠作為輸入設備,又可作為輸出設備,而且輸入輸出動作不會同時進行,那么,將這個外設和8255A端口A相連,并使它工作在方式2,就非常適當。比如,軟盤驅(qū)動器就是這么一個外設。串并行通信及其接口技術(shù)第75頁(1)要求

為某應用系統(tǒng)配置一個并行打印機接口,而且經(jīng)過接口CPU采取查詢方式把存放在BUF緩沖區(qū)256個字(ASCII碼)送去打印。(2)分析因為打印接口直接面向?qū)ο笫谴蛴C接口標準,而不是打印機本身,所以打印機接口要按照接口標準要求進行設計。相關(guān)打印機接口標準信號線定義和工作時序以下。DATA0~DATA7STROBEBUSYACK并行打印機接口數(shù)據(jù)傳送時序7.4.4

8255A應用舉例1.8255A工作于方式0例子

串并行通信及其接口技術(shù)第76頁

采取查詢方式時,打印機與CPU之間傳送數(shù)據(jù)過程是:①首先查詢BUSY。若BUSY=1,打印機忙,則等候;若BUSY=0,打印機不忙,則送數(shù)據(jù)。②經(jīng)過并行接口把數(shù)據(jù)送給標準插座DATABIT1~DATABIT8數(shù)據(jù)線上,此時數(shù)據(jù)并未送入打印機。③再送出一個數(shù)據(jù)選通信號DATASTROBE-(負脈沖)給標準插座1號引腳,把數(shù)據(jù)線上數(shù)據(jù)打入到打印機內(nèi)部緩沖器。④打印機在收到數(shù)據(jù)后,經(jīng)過插座11號引肢發(fā)出“忙”(BUSY=1)信號,表明打印機正在處理輸入數(shù)據(jù)。⑤最終在10號引腳上送出一個回答信號ACK-給主機,表示上一個字符已經(jīng)處理完成。串并行通信及其接口技術(shù)第77頁(3)設計接口電路設計包含硬件接口電路和軟件驅(qū)動程序兩部分。①打印機接口電路。打印機接口電路原理框圖如圖所表示。該電路設計思緒是:按照并行打印接口標準對打印機接口信號線定義,最基本信號線需要8根數(shù)據(jù)線(DATABIT1~8)CPU

PA0~7PC7PC2地

地BUSYSTBDATA0~71112~98255A打印機插座8255A并行打印機接口電路框圖串并行通信及其接口技術(shù)第78頁1根控制線(STB),1根狀態(tài)線(BUSY)和1根地線。選取8255APA口作數(shù)據(jù)口輸出8位打印數(shù)據(jù),工作方式為0方式。②接口驅(qū)動程序。其程序流程圖如右圖所表示。驅(qū)動程序程序段以下:結(jié)束8255A初始化BUSY=0?送數(shù)送STB內(nèi)存+1字節(jié)數(shù)-1送完?開始YNYN串并行通信及其接口技術(shù)第79頁CODE SEGMENT ASSUMECS:CODE,DS:CODE ORG 100HSTART:

MOVAX,CODE MOVCS,AX MOVDS,AX MOVDX,203H ;8255A命令口 MOVAL,10000001B ;工作方式字 OUTDX,AL ;(A口0方式,輸出,C4~C7輸出,C0~C3輸入)串并行通信及其接口技術(shù)第80頁MOV AL,00001111B ;PC7位置高,使STB--=1OUTDX,ALMOV SI,OFFSETBUF ;打印字符內(nèi)存首地址MOV CX,OFFH ;打印字符個數(shù)MOV DX,202H ;PC口地址IN AL,DX ;查BUSY=0?(PC2=0)AND AL,04H ;00000100BJNZ L ;忙,則等候;不忙,則向A口送數(shù)MOV DX,200H ;PA口地址MOV AL,[SI] ;從內(nèi)存取數(shù)OUT DX,AL ;送數(shù)據(jù)到A口MOV AL,203H ;8255A命令口MOV AL,00001110B ;置STB-信號為低(PC7=0)串并行通信及其接口技術(shù)第81頁 OUT DX, AL NOP ;負脈沖寬度(延時) NOP MOV AL, 00001111B ;置STB-為高 OUT DX, AL INC SI ;內(nèi)存地址加1 DEC CX ;字符數(shù)減1 JNZ L ;未完,繼續(xù) MOV AX, 4C00H ;已完,退出 INT 21HBUF DB 256個ASCII字符代碼CODE ENDS END START串并行通信及其接口技術(shù)第82頁

設8255A工作于方式0,A端口地址0D0H,B端口地址0D2H,C端口地址0D4H,控制端口,0D6H。PP: MOV AL,81H OUT 0D6H,AL ;方式字

MOV AL,0DH OUT 0D6H,AL ;PC置0/置1方式字LPST: IN AL,0D4H ;查狀態(tài)

AND AL,04HJNZ LPST MOV AL,CLOUT 0D0H,AL ;輸出字符送緩沖區(qū)

MOV AL,0CHOUT 0D6H,AL ;STB產(chǎn)生負脈沖INC ALOUT 0D6H,AL ;STB置1串并行通信及其接口技術(shù)第83頁2.8255A工作于方式1例子1

圖7.188255A作為中止方式打印機接口示意圖串并行通信及其接口技術(shù)第84頁8255A工作于方式1輸出方式,A端口地址0C0H,B端口地址0C2H,C端口地址0C4H,控制端口地址0C6H;中止IR3類型號為0BH,中止向量地址0002CH。程序以下:MAIN: MOV AL,0A0H OUT 0C6H,AL ;A口輸出 MOV AL,01 OUT 0C6H,AL ;PC0為1 XOR AX,AX MOV DS,AX MOV AX,H MOV WORDPTR[002CH],AX MOV AX,1000H MOV WORDPTR[002EH],AX;設置中止向量1000: MOV AL,0DH OUT 0C6H,AL ;PC6為1,允許中止 STI

串并行通信及其接口技術(shù)第85頁中止處理子程序主要程序段:TINTR: MOV AL, [DI] ;取字符送接口緩沖區(qū) OUT 0C0H,AL MOV AL, 00 OUT 0C6H,AL ;PC0為0產(chǎn)生選通信號 INC AL OUT 0C6H,AL ;PC0為1撤消選通信號 … IRET 串并行通信及其接口技術(shù)第86頁(1)要求在甲乙兩臺微機之間并行傳送1K字節(jié)數(shù)據(jù)。甲機發(fā)送,乙機接收。甲機一側(cè)8255A采取1方式工作,乙機一側(cè)8255A采取0方式工作。兩機CPU與接口之間都采取查詢方式交換數(shù)據(jù)。(2)分析

雙機均采取可編程并行接口芯片8255A組成接口電路,只是8255A工作方式不一樣。此時,雙方8255A把對方視為I/O設備。(3)設計 硬件連接: 依據(jù)上述要求,接口電路連接如圖所表示。 軟件編程: 接口驅(qū)動程序包含發(fā)送與接收兩個程序。2.8255A工作于方式1例子2

串并行通信及其接口技術(shù)第87頁0方式1方式8255APA0~7PC7PC3PC4~6PC0~2PB0~7PA0~7PC7PC6PC3PC0~2、4~5PB0~7未用8255A甲(發(fā)送)CPU乙(接收)CPUACKOBF兩種方式并行傳送接口電路框圖串并行通信及其接口技術(shù)第88頁甲機發(fā)送程序段:MOV DX,203H ;8255A命令口MOV AL,10100000B ;初始化工作方式字OUT DX,ALMOV AL,00001101B ;置發(fā)送中止允許INTEA=1OUT DX,AL ;PC6=1MOV SI,OFFSETBUFS ;設置發(fā)送數(shù)據(jù)區(qū)指針MOV CX,3FFH ;發(fā)送字節(jié)

溫馨提示

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

評論

0/150

提交評論