微機(jī)原理與接口技術(shù)第10章_第1頁(yè)
微機(jī)原理與接口技術(shù)第10章_第2頁(yè)
微機(jī)原理與接口技術(shù)第10章_第3頁(yè)
微機(jī)原理與接口技術(shù)第10章_第4頁(yè)
微機(jī)原理與接口技術(shù)第10章_第5頁(yè)
已閱讀5頁(yè),還剩72頁(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)介

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

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

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

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

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

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

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

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

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

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

11、址長(zhǎng)度大于8位) OUT DX,AL ;方式選擇控制字輸出給控制端口,圖10.9 8255A的C端口置1/置0控制字,2. C端口置1/置0控制字 此控制字可以單獨(dú)設(shè)置C端口某一位為0或?yàn)?。 D71:方式選擇控制字 D70:C端口置1/置0控制字,都是發(fā)送到控制端口,例如,要將C端口的PC3置0,PC7置1。 MOV AL,06H ;PC3置0控制字送AL MOV DX,控制端口地址 OUT DX,AL ;對(duì)PC3完成置0操作 MOV AL,0FH ;PC7置1控制字送AC OUT DX,AL ;完成對(duì)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稱(chēng)為基本的輸入/輸出方式,在這種方式下,A端口、B端口和C端口的輸入和輸出操作不需要應(yīng)答式聯(lián)絡(luò)信號(hào)。,方式0一般用于無(wú)條件傳送的場(chǎng)合,不需要應(yīng)答式聯(lián)絡(luò)信號(hào),外設(shè)總是處于準(zhǔn)備好的狀態(tài),因此可以直接使用輸入指令(IN)和輸出(OUT)指令對(duì)A、B、C端口進(jìn)行讀寫(xiě)。,2. 方式1:選通輸入/輸出方式 當(dāng)A端口或B端口工作于方式1時(shí),必須利用C端口中的固定位來(lái)作為選通和應(yīng)答等控制信號(hào)。 方式1分成2

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

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

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

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

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

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

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

20、當(dāng)打印機(jī)接收了數(shù)據(jù)時(shí),通過(guò)ACK應(yīng)答,OBF變無(wú)效,代表8255A的數(shù)據(jù)已經(jīng)送出,CPU通過(guò)查看PC4來(lái)發(fā)送下一個(gè)數(shù)據(jù),假設(shè)地址譯碼接線如圖,則8255A的片選地址為: 11111000XXB (3E0H3E3H) A端口:3E0H C端口:3E2H 控制字:3E3H,編寫(xiě)程序輸出數(shù)據(jù)段的500個(gè)字符到打印機(jī): DATA SEGMENT Buffer DB HELLO 先設(shè)計(jì)數(shù)據(jù)段,擺放500個(gè)字符 DATA ENDS 500個(gè)字符 代碼段程序: 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個(gè)字符 對(duì)于循環(huán)次數(shù)確定的,可以用LOOP指令 LOOP1:MOV AL,DI ;取字符 MOV DX,PortA ;A端口地址送DX OUT DX,AL ;從A端口輸出一個(gè)字符 MOV DX,PortC ;C端口地址送DX NEXT:IN AL,DX ;從C端口讀入打印機(jī)狀態(tài)

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

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

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

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

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

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

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

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

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

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

32、寫(xiě)入的才是控制字,這個(gè)順序不能改變。但是,當(dāng)初始化以后,如果再通過(guò)這個(gè)奇地址寫(xiě)入的字,都將進(jìn)入控制寄存器,因此控制字可以隨時(shí)寫(xiě)入。 如果要內(nèi)部復(fù)位,命令字須為40H,使8251A返回到初始化前的狀態(tài)。當(dāng)然,用外部的復(fù)位RESET,也可使825lA復(fù)位。 (8) D7(EH):該位只對(duì)同步方式才起作用。當(dāng)D7=l時(shí)表示開(kāi)始搜索同步字符,但同時(shí)要求D2(RXEN)l,D4(ER)1,同步接收工作才開(kāi)始進(jìn)行。,3. 狀態(tài)寄存器 狀態(tài)寄存器只能讀出,不能寫(xiě)入,地址與控制寄存器相同,在8251A初始化后用IN指令來(lái)讀取。,圖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只是記錄接收時(shí)的三種錯(cuò)誤,并沒(méi)有終止8251A工作的功能,由CPU通過(guò)IN指令讀取狀態(tài)寄存器來(lái)發(fā)現(xiàn)錯(cuò)誤。,10.3.5 8251A的編程應(yīng)用舉例 1. 同步方式下的初始化 同步方式下8251A的工作特點(diǎn)是:發(fā)送方和接收方是同一時(shí)鐘源。也就是說(shuō)數(shù)據(jù)和發(fā)送時(shí)鐘(或接收時(shí)鐘)是同步的。,圖10.22 8251A同步通信方式的連接,例:要求2個(gè)同步字符,外同步,奇校驗(yàn),每個(gè)字符8位,方式選擇字應(yīng)是:01011100B=5CH。工作狀態(tài)要求出錯(cuò)標(biāo)志復(fù)位。啟動(dòng)發(fā)送器和接收器,控制字應(yīng)是10110111BB7H。第一個(gè)同步字符為A5H,第二個(gè)同步字符為E7H(2

溫馨提示

  • 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)論