微機原理與接口技術(shù)第10章_第1頁
微機原理與接口技術(shù)第10章_第2頁
微機原理與接口技術(shù)第10章_第3頁
微機原理與接口技術(shù)第10章_第4頁
微機原理與接口技術(shù)第10章_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、10.1 概述,10.1.1 并行通信 1. 并行接口 并行接口中各位數(shù)據(jù)都是并行傳輸?shù)?,它以字?jié)(或字)為單位。并行通信以同步方式傳輸,其特點是:傳輸速度快;硬件開銷大;只適合近距離傳輸。一個并行接口中包括狀態(tài)信息、控制信息和數(shù)據(jù)信息。 狀態(tài)信息 狀態(tài)信息表示外設(shè)當(dāng)前所處的工作狀態(tài)。,第10章 并行和串行接口電路,控制信息 控制信息是由CPU發(fā)出的,用于控制外設(shè)接口的工作方式以及外設(shè)的啟動和停機信息等。 數(shù)據(jù)信息 CPU與并行外設(shè)數(shù)據(jù)交換的內(nèi)容。 狀態(tài)信息、控制信息和數(shù)據(jù)信息,通常都是通過數(shù)據(jù)總線傳送,這些信息在外設(shè)接口中分別存放在不同的端口中。,寄存CPU對外設(shè)的操作命令,存放外設(shè)的信息,

2、CPU通過它了解外設(shè)的狀態(tài),暫存數(shù)據(jù),因為CPU的速度遠(yuǎn)高于外設(shè),撤銷“輸入數(shù)據(jù)準(zhǔn)備好” 在狀態(tài)寄存器中設(shè)置“準(zhǔn)備好輸入”狀態(tài)位,3. 數(shù)據(jù)輸入過程,CPU可以用軟件查詢方式,也可以用中斷的方式將接口中的數(shù)據(jù)輸入到CPU中。,3. 數(shù)據(jù)輸入過程,撤銷“輸入數(shù)據(jù)準(zhǔn)備好”,撤銷“輸出數(shù)據(jù)準(zhǔn)備好”,4. 數(shù)據(jù)輸出過程 當(dāng)數(shù)據(jù)輸出后,輸出緩沖寄存器“空”,狀態(tài)寄存的“輸出數(shù)據(jù)準(zhǔn)備好”位有效,CPU可以用軟件查詢方式查詢。同時接口也可向CPU發(fā)出一個中斷請求信號,將CPU的數(shù)據(jù)輸出到接口。,4. 數(shù)據(jù)輸出過程,撤銷“輸出數(shù)據(jù)準(zhǔn)備好”,10.1.2 串行通信 串行通信是通過一位一位地進行數(shù)據(jù)傳輸來實現(xiàn)通信

3、。串行通信具有傳輸線少,成本低等優(yōu)點,適合遠(yuǎn)距離傳送。缺點是速度慢,若并行傳送n位數(shù)據(jù)需時間T,則串行傳送的時間最少為nT。通過一對導(dǎo)線傳送信息。 1. 串行接口的組成 串行接口主要由控制寄存器、狀態(tài)寄存器、數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器4部分組成。,圖10.2 串行接口與CPU、外設(shè)的連接,數(shù)據(jù)寄存器 數(shù)據(jù)輸入寄存器:在輸入過程中,串行數(shù)據(jù)一位一位地從傳輸線進入串行接口的移位寄存器,經(jīng)過串入并出(串行輸入并行輸出)電路的轉(zhuǎn)換,當(dāng)接收完一個字符之后,數(shù)據(jù)就從移位寄存器傳送到數(shù)據(jù)輸入寄存器,等待CPU讀取。 數(shù)據(jù)輸出寄存器:在輸出過程中,當(dāng)CPU輸出一個數(shù)據(jù)時,先送到數(shù)據(jù)輸出緩沖寄存器,然后,數(shù)

4、據(jù)由輸出寄存器傳到移位寄存器,經(jīng)過并入串出(并行輸入串行輸出)電路的轉(zhuǎn)換一位一位地通過輸出傳輸線送到對方。,發(fā)送時鐘:串行數(shù)據(jù)的發(fā)送的時間間隔可由發(fā)送時鐘周期來劃分。 接收時鐘:傳輸線上送來的串行數(shù)據(jù)序列由接收時鐘作為移位寄存器的觸發(fā)脈沖,逐位打入移位寄存器。,2. 串行通信中使用的術(shù)語 發(fā)送時鐘和接收時鐘 把二進制數(shù)據(jù)序列稱為比特組。每一位持續(xù)的時間是固定的,在發(fā)送時是以發(fā)送時鐘作為數(shù)據(jù)位的劃分界限,在接收時是以接收時鐘作為數(shù)據(jù)位的檢測。,3. 串行通信中的工作方式 單工工作方式 傳輸?shù)木€路用一根線連接,通信的一端連接發(fā)送器,另一端連接接收器,只允許數(shù)據(jù)按照一個固定的方向傳送。 半雙工工作方

5、式 一根線連接,發(fā)送和接收不可能同時進行,這種傳輸方式稱為半雙工工作方式。半雙工通信工方式類似對講機,雙方不能同時進行發(fā)送和接收。,全雙工工作方式 分別用2根獨立的傳輸線(一般是雙絞線,或同軸電纜)來連接發(fā)送信號和接收信號,這樣發(fā)送方和接收方可同時進行工作,稱為全雙工的工作方式。全雙工通信工方式類似電話機,雙方可以同時進行發(fā)送和接收。,4. 同步通信和異步通信方式 同步通信方式 同步通信方式的特點是:由一個統(tǒng)一的時鐘控制發(fā)送方和接收方,字符要一個接著一個傳送;沒有字符時,也要發(fā)送“空閑”字符或者是同步字符。要求必須連續(xù)傳送字符,每個字符的位數(shù)要相同,中間不允許有間隔。 同步傳輸?shù)奶卣魇牵涸诿拷M

6、信息的開始(常稱為幀頭)要加上l一2個同步字符,后面跟著8位的字符數(shù)據(jù)。,異步通信方式 異步通信的特點是:字符是一幀一幀的傳送,每一幀字符的傳送靠起始位來同步。在數(shù)據(jù)傳輸過程中,傳輸線上允許有空字符。在異步通信中兩個字符的時間間隔是不固定的,而在同一字符中的兩個相鄰代碼間的時間間隔是固定的通信。異步通信中發(fā)送方和接收方的時鐘頻率也不要求完全一樣。,5. 通信中必須遵循的規(guī)定 字符格式的規(guī)定 通信中,傳輸字符的格式要按規(guī)定寫。,比特率、波特率(baudrate) 比特率:每秒傳輸?shù)亩M制數(shù)的位數(shù)bit/s(位/秒) ,即每秒傳輸?shù)男盘柮}沖數(shù)。 波特率:每秒鐘內(nèi)發(fā)生二進制信號的事件數(shù),用來表示一個

7、二進制數(shù)據(jù)位的持續(xù)時間。即每秒傳輸?shù)挠行?shù)據(jù)位數(shù)。,波特率1/二進制位的持續(xù)時間 比特率可以大于或等于波特率,假定用正脈沖表示“1”,負(fù)脈沖表示“0”,這時比特率就等于波特率。假如每秒鐘要傳輸10個數(shù)據(jù)位,則其速率為l0波特,若發(fā)送到傳輸介質(zhì)時,把每位數(shù)據(jù)用10個脈沖來調(diào)制,則比特率就為100b/s,即比特率大于波特率。,10.2 可編程并行接口電路Intel 8255A,并行接口電路,在早期的微機中與串行口、軟盤接口、硬盤接口等都放在一塊多功能接口卡上,插在微機的擴展槽上使用。現(xiàn)在這部分電路已在微機的主板上由與CPU配套的芯片組北橋來實現(xiàn)其功能。如果要在其他的場合實現(xiàn)并行數(shù)據(jù)傳送,在電路設(shè)計

8、時采用專用的接口芯片最為方便??删幊痰慕涌谛酒?255A是完成并行通信的集成電路芯片。,10.2.1 8255A的主要性能和內(nèi)部結(jié)構(gòu) 8255A有三個端口(A、B和C端口),每個端口8條線。,1. 三個獨立的數(shù)據(jù)口 8255A三個數(shù)據(jù)口彼此獨立。 1) A端口 A端口對應(yīng)一個8位的輸入鎖存器和一個8位的輸出鎖存器和緩沖器,適合用在雙向的數(shù)據(jù)傳輸場合。 2) B端口和C端口 這兩個口分別是由一個8位的輸入緩沖器和一個8位的輸出鎖存器和緩沖器組成。B端口和C端口用作輸入口時,則不能對數(shù)據(jù)實現(xiàn)鎖存。,3. 讀寫控制邏輯電路,2. A組控制電路和B組控制電路 A組控制電路控制A端口和C端口的高4位(P

9、C4PC7)。B組控制電路控制B端口和C端口的低4位(PC0PC3)。,1. 與CPU相連的引腳 RESET:芯片的復(fù)位信號。復(fù)位后把8255A內(nèi)部的所有寄存器都清0,并將三個數(shù)據(jù)口自動設(shè)置為輸入口。 CS:片選信號,低電平時有效。 RD:讀信號,低電平有效。 WR:寫信號,低電平有效。 A1、A0:端口譯碼信號。用來選擇8255A內(nèi)部的三個數(shù)據(jù)端口和一個控制端口的地址。其中對控制口只能進行寫操作。,10.2.2 8255A的外部特性,(1) 當(dāng)A1A0=00時,選中A端口。 (2) 當(dāng)A1A0=01時,選中B端口。 (3) 當(dāng)A1A0=10時,選中C端口。 (4) 當(dāng)A1A0=11時,選中控

10、制端口。 D7D0:雙向三態(tài)8位數(shù)據(jù)線,與系統(tǒng)的數(shù)據(jù)總線相連接。,2. 和外設(shè)端相連的引腳 PA7PA0:A端口的輸入/輸出引腳 PB7PB0:B端口的輸入/輸出引腳 PC7PC0:C端口的輸入/輸出引腳,10.2.3 8255A的控制字和編程 8255A的控制字分為兩種,分別稱為方式選擇控制字和端口C置1/置0控制字。 1. 方式選擇控制字 方式選擇控制字決定三個數(shù)據(jù)端口的工作方式。,圖10.8 8255A的方式選擇控制字,例:要求8255A的A端口作輸入,B端口和C端口作輸出,A組工作在方式0,B組工作在方式1。,MOV AL,94H ;方式選擇控制字送AL MOV DX,控制端口地址(地

11、址長度大于8位) OUT DX,AL ;方式選擇控制字輸出給控制端口,圖10.9 8255A的C端口置1/置0控制字,2. C端口置1/置0控制字 此控制字可以單獨設(shè)置C端口某一位為0或為1。 D71:方式選擇控制字 D70:C端口置1/置0控制字,都是發(fā)送到控制端口,例如,要將C端口的PC3置0,PC7置1。 MOV AL,06H ;PC3置0控制字送AL MOV DX,控制端口地址 OUT DX,AL ;對PC3完成置0操作 MOV AL,0FH ;PC7置1控制字送AC OUT DX,AL ;完成對PC7置1操作,10.2.4 8255A的工作方式 8255A有方式0,方式1和方式2三種

12、工作方式。 A端口可以工作在方式0、方式1和方式2 ; B端口可以工作在方式0和方式1; C端口只能工作在方式0,在方式1或2下,C端口變?yōu)锳、B端口的附屬引腳。,1. 方式0:基本的輸入/輸出方式 方式0稱為基本的輸入/輸出方式,在這種方式下,A端口、B端口和C端口的輸入和輸出操作不需要應(yīng)答式聯(lián)絡(luò)信號。,方式0一般用于無條件傳送的場合,不需要應(yīng)答式聯(lián)絡(luò)信號,外設(shè)總是處于準(zhǔn)備好的狀態(tài),因此可以直接使用輸入指令(IN)和輸出(OUT)指令對A、B、C端口進行讀寫。,2. 方式1:選通輸入/輸出方式 當(dāng)A端口或B端口工作于方式1時,必須利用C端口中的固定位來作為選通和應(yīng)答等控制信號。 方式1分成2

13、組(A組和B組),每組包含一個8位的數(shù)據(jù)端口和幾個控制/狀態(tài)線。 A組:A端口(8位數(shù)據(jù)端口)C端口某幾位作為選通和應(yīng)答信號線。 B組:B端口(8位數(shù)據(jù)端口)C端口某幾位作為選通和應(yīng)答信號線。,1) 選通的輸入方式 當(dāng)8255A的A端口或B端口工作在選通輸入方式時,規(guī)定PC3PC5分配給A端口,PC0PC2分配給B端口。 剩下的PC7、PC6由于沒有使用,繼續(xù)工作于方式0。控制字的D3位為“1”時,PC7、PC6作輸入;控制字的D3位為“0”時,PC7、PC6作輸出。,圖10.12 方式1選通輸入下對應(yīng)的控制信號 (a) 對A端口;(b) 對B端口,各控制信號的意義如下: STB(Strobe

14、):選通輸入信號。當(dāng)該信號有效時,從外部設(shè)備來的8位數(shù)據(jù)送入到8255A的輸入緩沖器中。,IBF(Input Buffer Full):輸入緩沖器滿信號。當(dāng)8255A的輸入緩沖區(qū)已有一個新數(shù)據(jù)后,輸出這個信號。可通過此信號通知外設(shè)數(shù)據(jù)已接收到,也可通知CPU有新數(shù)據(jù)到達(dá)。,INTR(Interrupt Request):中斷請求信號。當(dāng)輸入緩沖器滿時,由INTR信號向CPU發(fā)出中斷請求信號,請求CPU讀取數(shù)據(jù)。,INTE(Interrupt Enable):中斷允許信號。INTE不是引腳信號,而是由C端口置1/置0控制字來控制的。在A組中,使PC4置“1”后INTEA變高;在B組中,使PC2置

15、“1”后INTEB變高。只有在INTE有效時,才允許輸出INTR中斷請求信號。,選通輸入方式的工作過程是: 1、外設(shè)先發(fā)出STB,把數(shù)據(jù)送到8255A的A或B端口的數(shù)據(jù)線上。 2、如果A或B端口沒有數(shù)據(jù),則數(shù)據(jù)線上的數(shù)據(jù)鎖存到8255A的A或B端口里面。 3、IBF變?yōu)楦唠娖?,代表輸入緩沖器滿,阻止外設(shè)輸入新的數(shù)據(jù),同時可供CPU來查詢。同時向CPU發(fā)出中斷請求信號INTR(要在中斷允許的情況下, 也就是要使PC4或PC2置1) 。 4、查詢方式下,當(dāng)CPU發(fā)現(xiàn)IBF有效時讀入A或B端口數(shù)據(jù);中斷方式下CPU響應(yīng)INTR申請后將數(shù)據(jù)讀入。 5、當(dāng)數(shù)據(jù)被讀取后IBF、INTR變無效,由IBF通知

16、外設(shè)可以輸入新的數(shù)據(jù)。,圖10.13 8255A方式l輸入時序,2) 選通的輸出方式 對應(yīng)的C端口也是固定分配,規(guī)定是PC3、PC6、PC7分配給A端口;PC2、PC1、PC0分配給B端口。剩下的PC5、PC4由于沒有使用,繼續(xù)工作于方式0。 當(dāng)控制字的D3位為“1”時,PC4、PC5作輸入;當(dāng)控制字的D3位為“0”時,PC4、PC5作輸出。,圖10.14 方式l輸出時C端口對A、B端口的控制 (a) 對A端口;(b) 對B端口,各控制信號的意義如下: OBF(Output Buffer Fu11):輸出緩沖器滿信號。當(dāng)CPU向8255A的A或B端口中傳送了數(shù)據(jù),OBF有效,通知外設(shè)可以把數(shù)據(jù)

17、取走。 ACK(Acknowledge):數(shù)據(jù)接收應(yīng)答信號。這是外設(shè)的響應(yīng)信號,當(dāng)數(shù)據(jù)已由外設(shè)接收后,外設(shè)就向8255A回送一個低電平的應(yīng)答信號ACK。,INTR:中斷請求信號。當(dāng)外設(shè)通過ACK通知數(shù)據(jù)已經(jīng)被接收后,8255A向CPU發(fā)出INTR中斷請求,要求CPU輸出下一個新的數(shù)據(jù)。,INTE:中斷允許信號。INTE通過對C端口置1/置0的控制字來設(shè)置的。當(dāng)PC6置1時,A端口允許中斷;PC2置1,B端口允許中斷。,選通輸出方式的工作過程是: 1、當(dāng)CPU把數(shù)據(jù)寫入到A或B端口時,8255A令OBF有效,通知外設(shè)接收數(shù)據(jù),同時把數(shù)據(jù)從A或B端口送出。 2、當(dāng)外設(shè)收到數(shù)據(jù)后,發(fā)出ACK通知82

18、55A數(shù)據(jù)已經(jīng)接收,接著8255A使OBF無效,表示A或B端口中已無數(shù)據(jù)。 INTR變有效。 3、中斷方式下,當(dāng)INTR有效時,CPU執(zhí)行中斷程序,送出下一個數(shù)據(jù)。查詢方式下,當(dāng)CPU發(fā)現(xiàn)OBF無效時,送出下一個數(shù)據(jù)。,圖10.15 8255A方式1輸出時序,10.2.5 8255A的應(yīng)用舉例 8255A必須先初始化(寫入控制字,指定工作方式),然后才能通過編程讓它工作。 例:通過8255A把CPU中的數(shù)據(jù)輸出到打印機上,采用查詢方式傳送數(shù)據(jù)。A端口作為8位數(shù)據(jù)的輸出端口,工作在方式1輸出方式。C端口作為狀態(tài)端口和控制端口使用。,打印機的主要控制狀態(tài)信號線: 1、BUSY:高電平表示打印機處于

19、“忙”狀態(tài); 2、DATASTB:當(dāng)該信號有效時,通知打印機要打印的字符正輸出到打印機中,即通知打印機要打印的字符到達(dá); 3、ACK是打印機對主機的應(yīng)答信號,當(dāng)打印機接收完字符后發(fā)出這個信號。 當(dāng)DATASTB信號有效時,如果打印機空閑(不“忙”)時,打印機接收數(shù)據(jù),接收完后ACK有效。如果BUSY變?yōu)榈碗娖綗o效,表示數(shù)據(jù)已經(jīng)打印完畢。,通過查看了解打印機狀態(tài),(a)其他總線下的查詢方式 (b)8086總線下的查詢方式,單穩(wěn)用來展寬脈沖,滿足DATASTB的時間寬度要求。,查詢方式下8255A與打印機的接線,當(dāng)打印機處于空閑時,代表數(shù)據(jù)已經(jīng)接收并完成打印,CPU通過查看PC4來發(fā)送下一個數(shù)據(jù),

20、當(dāng)打印機接收了數(shù)據(jù)時,通過ACK應(yīng)答,OBF變無效,代表8255A的數(shù)據(jù)已經(jīng)送出,CPU通過查看PC4來發(fā)送下一個數(shù)據(jù),假設(shè)地址譯碼接線如圖,則8255A的片選地址為: 11111000XXB (3E0H3E3H) A端口:3E0H C端口:3E2H 控制字:3E3H,編寫程序輸出數(shù)據(jù)段的500個字符到打印機: DATA SEGMENT Buffer DB HELLO 先設(shè)計數(shù)據(jù)段,擺放500個字符 DATA ENDS 500個字符 代碼段程序: PortA EQU 3E0H ;定義PortA變量等于A端口地址 PortC EQU 3E2H ;定義PortC變量等于C端口地址 PortCtr

21、EQU 3E3H ;定義PortCtr變量等于控制端口地址 MOV AL,0A8H ;10101000B,A端口方式1輸出,PC4輸入 MOV DX,PortCtr ;控制口送DX OUT DX,AL ;輸出控制字,初始化,MOV DI,OFFSET Buffer ;送字符緩沖區(qū)首址 MOV CX,500 ;傳送500個字符 對于循環(huán)次數(shù)確定的,可以用LOOP指令 LOOP1:MOV AL,DI ;取字符 MOV DX,PortA ;A端口地址送DX OUT DX,AL ;從A端口輸出一個字符 MOV DX,PortC ;C端口地址送DX NEXT:IN AL,DX ;從C端口讀入打印機狀態(tài)

22、TEST AL,10H ;測試BUSY信號(PC4) JNZ NEXT ;如果打印機忙,等待 (JZ NEXT) 如果用OBF接PC4時 INC DI ;緩沖區(qū)首址加1 LOOP LOOP1 ;繼續(xù)輸出下一個字符,10.3 可編程串行接口電路Intel 8251A,10.3.1 8251A的主要性能和內(nèi)部結(jié)構(gòu) 825lA是可編程的串行通信接口芯片,它的基本性能如下: (1) 可工作在同步方式、異步方式。 (2) 在同步方式時,由內(nèi)部自動檢測同步字符或由外部給出同步信號兩種方法實現(xiàn)同步。允許同步方式下增加奇/偶校驗位進行校驗。 (3) 在異步方式下,用1位作奇偶校驗??捎密浖x時鐘速率,能自動

23、為每個被輸出的數(shù)據(jù)增加1個起始位,設(shè)置1位、1.5位或2位停止位。 (4) 能進行出錯檢測。,8251A的內(nèi)部結(jié)構(gòu),2) 讀/寫控制邏輯,表10-7 8251A的控制信號與執(zhí)行的操作之間的對應(yīng)關(guān)系,1) 數(shù)據(jù)總線緩沖器 數(shù)據(jù)總線緩沖器通過D7D0和CPU的數(shù)據(jù)總線相連。,3) 發(fā)送緩沖器與發(fā)送控制器 發(fā)送緩沖器包括發(fā)送移位寄存器和數(shù)據(jù)輸出寄存器,發(fā)送移位寄存器通過TXD管腳將串行數(shù)據(jù)發(fā)送出去。數(shù)據(jù)輸出寄存器寄存來自CPU的數(shù)據(jù),當(dāng)發(fā)送移位寄存器空時,數(shù)據(jù)輸出寄存器的內(nèi)容送給移位寄存器。 發(fā)送控制電路對串行數(shù)據(jù)實行發(fā)送控制。發(fā)送器的另一個功能是發(fā)送中止符(BREAK) 。,4) 接收緩沖器與接收

24、控制器 接收緩沖器包括接收移位寄存器和數(shù)據(jù)輸入寄存器。串行輸入的數(shù)據(jù)通過RXD管腳逐位進入接收移位寄存器,然后進入數(shù)據(jù)輸入寄存器,等待CPU取走。接收控制電路是用來控制數(shù)據(jù)接收工作。,10.3.2 8251A的外部特性,5) 調(diào)制/解調(diào)器控制邏輯 調(diào)制解調(diào)器控制電路是專為調(diào)制解調(diào)器提供控制信號用的。,1. 8251A與CPU的接口信號 1) 雙向的數(shù)據(jù)信號線D7D0 825lA有8條數(shù)據(jù)線D7D0。數(shù)據(jù)線上傳輸數(shù)據(jù)信息、編程命令字和狀態(tài)信息。 2) CS:片選信號,低電平時有效。 RD:讀信號,讀取數(shù)據(jù)或狀態(tài)信息。 WR:寫信號,寫入數(shù)據(jù)或控制字。 C/D:為控制/數(shù)據(jù)信號。用來區(qū)分當(dāng)前讀/寫

25、的是數(shù)據(jù)還是控制信息或狀態(tài)信息。 CLK:為主時鐘信號,用于芯片內(nèi)部的定時。 8251A共有三種時鐘信號:CLK、 TxC和RxC 。其中發(fā)送時鐘和接收時鐘由波特率和波特率因子來決定。,3) 與發(fā)送有關(guān)的聯(lián)絡(luò)信號 TXRDY:發(fā)送器準(zhǔn)備好信號。表示已經(jīng)準(zhǔn)備好發(fā)送一個字符,用于通知CPU可以輸入數(shù)據(jù)。 TxEMPTY:為發(fā)送器空信號, 控制8251A發(fā)送器發(fā)送字符的速度。對于同步方式,它的輸入時鐘頻率應(yīng)等于發(fā)送數(shù)據(jù)的波特率,對于異步方式,它的頻率應(yīng)等于發(fā)送波特率和波特率因子的乘積。,) 與接收有關(guān)的聯(lián)絡(luò)信號。 RXRDY:接收器準(zhǔn)備好信號。表示825lA已從外部設(shè)備收到一個字符,等待CPU取走。

26、它可以作為中斷請求信號或查詢聯(lián)絡(luò)信號與CPU聯(lián)系。,SYNDET/BRKDET:同步檢測/斷缺檢測信號。 同步方式下,此引腳為SYNDET,執(zhí)行同步檢測功能。 同步檢測分為內(nèi)同步和外同步兩種方式: 當(dāng)8251A工作在內(nèi)同步方式時,是在8251A內(nèi)部檢測同步字符。 SYNDET作為輸出端。如果8251A檢測到所要求的同步字符時,SYNDET輸出高電平,表示已達(dá)到同步,接著收到有效數(shù)據(jù)。 當(dāng)8251A工作在外同步方式時,SYNDET作為輸入端。 外同步是由外部其他機構(gòu)來檢測同步字符,當(dāng)外部檢測到同步字符以后,從SYNDET端輸入高電平信號,表示已達(dá)到同步,接收器可以串行接收數(shù)據(jù)。,異步方式下,此引

27、腳為BRKDET,實現(xiàn)斷缺檢測功能。 當(dāng)RXC端連續(xù)收到8個0信號時,BRKDET端呈高電平,表示當(dāng)前處于數(shù)據(jù)斷缺狀態(tài), RXC端沒有收到數(shù)據(jù)。當(dāng)RXC端收到1信號時,BRKDET端變?yōu)榈碗娖健?2. 8251A與外部裝置之間的接口信號 8251A與外部裝置進行遠(yuǎn)距離通信時,一般要通過調(diào)制解調(diào)器連接。 1) 數(shù)據(jù)信號 TXD:發(fā)送數(shù)據(jù)信號端。 RXD:接收數(shù)據(jù)信號端。,2) 發(fā)送數(shù)據(jù)時的聯(lián)絡(luò)信號 RTS:請求發(fā)送信號。這是8251A向調(diào)制解調(diào)器或外設(shè)發(fā)送的控制信息,表示CPU請求通過825lA向調(diào)制解調(diào)器發(fā)送數(shù)據(jù)。 CTS:發(fā)送允許信號。這是由調(diào)制解調(diào)器或外設(shè)送給8251A的信號,是RTS對的

28、響應(yīng)信號,只有當(dāng)CTS為低電平時,825lA才能執(zhí)行發(fā)送操作。,3) 接收數(shù)據(jù)時的聯(lián)絡(luò)信號 DTR:數(shù)據(jù)終端準(zhǔn)備好信號。表示為接收數(shù)據(jù)做好了準(zhǔn)備,CPU可以通過8251A從調(diào)制解調(diào)器接收數(shù)據(jù)。 DSR :數(shù)據(jù)裝置準(zhǔn)備好信號。這是由調(diào)制解調(diào)器或外設(shè)向8251A送入的、DTR的回答信號。 DTR可以作為一個CPU發(fā)出的選通信號,DSR可以作為外設(shè)的狀態(tài)信號。,10.3.3 8251A的編程地址 8251A實際上只有數(shù)據(jù)端口和控制端口兩個端口地址。數(shù)據(jù)輸入、輸出合用一個端口;狀態(tài)端口和控制端口也合用一個端口。用RD和WR區(qū)分是數(shù)據(jù)輸入還是數(shù)據(jù)輸出,是狀態(tài)端口還是控制端口(因為狀態(tài)端口只能讀)。,由于

29、825lA的D7D0通常與數(shù)據(jù)總線的低8位相連,又由于低8位的數(shù)據(jù)線是和內(nèi)存的偶地址相連,因而8251A的數(shù)據(jù)用偶地址傳送正好和內(nèi)存的低8位數(shù)據(jù)相對應(yīng)。讀寫時,當(dāng)?shù)刂房偩€的A0=0時,必定選中偶地址0。但C/D端要求兩種狀態(tài),C/D0要求選中數(shù)據(jù)輸入/輸出寄存器;C/D1要求選中方式寄存器,同步字符寄存器、控制寄存器和狀態(tài)寄存器。C/D端要求有0和1兩種電平,為滿足這種要求,又要保持A0總是為0,因此將地址線的A0和C/D相連接,片選通過地址譯碼得到,RD、WR分別與控制總線的IOR和IOW相連。,圖10.21 8251A異步通信方式的連接,圖10.22 8251A同步通信方式的連接,異步方式

30、時,TXRDY和RXRDY作為中斷申請信號使用,與外部中斷源連接;同步方式時,TXRDY和RXRDY與調(diào)制解調(diào)器連接。 8251A初始化編程的流程如圖10.23所示。初始化編程主要是對8251A的方式寄存器、控制寄存器和狀態(tài)寄存器進行編程設(shè)置。,同步方式(一個同步字符),圖10.23 8251A初始化編程流程圖,同步方式(兩個同步字符),異步方式,輸入方式選擇字,輸入第一個同步字符,輸入第一個同步字符,輸入第二個同步字符,輸入控制字,注:這里各種輸入都是C/D=1,即同一個端口,10.3.4 8251A的控制字 1. 方式選擇字(方式寄存器) 方式寄存器用于保存方式選擇字。方式選擇字最低2位全

31、為0時表示是同步方式,最低2位不全為0時表示是異步方式: 1) 8251A工作在同步方式下方式選擇字格式,2) 8251A工作在異步方式下方式選擇字格式,圖10.25 8251A異步方式下方式寄存器的格式,2. 控制字(控制寄存器) 寫入了方式選擇字后,接著要寫入的是命令字,才能啟動串行通信。,調(diào)制解調(diào)器控制電路的DTR和RTS的有效電平不是由8251A內(nèi)部產(chǎn)生,而是通過對控制字的編程來設(shè)置,這樣可便于CPU與外設(shè)直接聯(lián)系。,(7) D6(IR):當(dāng)該位被置1后,使8251A內(nèi)部復(fù)位。當(dāng)對8251A初始化時,使用同一個奇地址,先寫入方式選擇字,接著寫入同步字符(異步方式時不寫入同步字符),最后

32、寫入的才是控制字,這個順序不能改變。但是,當(dāng)初始化以后,如果再通過這個奇地址寫入的字,都將進入控制寄存器,因此控制字可以隨時寫入。 如果要內(nèi)部復(fù)位,命令字須為40H,使8251A返回到初始化前的狀態(tài)。當(dāng)然,用外部的復(fù)位RESET,也可使825lA復(fù)位。 (8) D7(EH):該位只對同步方式才起作用。當(dāng)D7=l時表示開始搜索同步字符,但同時要求D2(RXEN)l,D4(ER)1,同步接收工作才開始進行。,3. 狀態(tài)寄存器 狀態(tài)寄存器只能讀出,不能寫入,地址與控制寄存器相同,在8251A初始化后用IN指令來讀取。,圖10.27 8251A的狀態(tài)寄存器格式,Dl、D2、D6、D7這4位的狀態(tài)與82

33、51A芯片外部同名管腳的狀態(tài)完全相同,反映這些管腳當(dāng)前的狀態(tài)。 PE=1,OE1和FE1只是記錄接收時的三種錯誤,并沒有終止8251A工作的功能,由CPU通過IN指令讀取狀態(tài)寄存器來發(fā)現(xiàn)錯誤。,10.3.5 8251A的編程應(yīng)用舉例 1. 同步方式下的初始化 同步方式下8251A的工作特點是:發(fā)送方和接收方是同一時鐘源。也就是說數(shù)據(jù)和發(fā)送時鐘(或接收時鐘)是同步的。,圖10.22 8251A同步通信方式的連接,例:要求2個同步字符,外同步,奇校驗,每個字符8位,方式選擇字應(yīng)是:01011100B=5CH。工作狀態(tài)要求出錯標(biāo)志復(fù)位。啟動發(fā)送器和接收器,控制字應(yīng)是10110111BB7H。第一個同步字符為A5H,第二個同步字符為E7H(2

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論