并行和串行接口電路_第1頁
并行和串行接口電路_第2頁
并行和串行接口電路_第3頁
并行和串行接口電路_第4頁
并行和串行接口電路_第5頁
已閱讀5頁,還剩163頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

并行和串行接口電路第1頁,課件共168頁,創(chuàng)作于2023年2月10.1概述10.1.1并行通信

1.并行接口并行通信由并行接口來完成的,在并行數(shù)據(jù)傳輸中并行接口連接CPU與并行外設(shè)的通道,并行接口中各位數(shù)據(jù)都是并行傳輸?shù)?,它以字?jié)(或字)為單位與I/O設(shè)備或被控對象進行數(shù)據(jù)交換。并行通信以同步方式傳輸,其特點是:傳輸速度快;硬件開銷大;只適合近距離傳輸。一個并行接口中包括狀態(tài)信息、控制信息和數(shù)據(jù)信息。第2頁,課件共168頁,創(chuàng)作于2023年2月⑴狀態(tài)信息狀態(tài)信息表示外設(shè)當(dāng)前所處的工作狀態(tài)。例如,準備好信號表示輸入設(shè)備已經(jīng)準備好信息,可以和CPU交換數(shù)據(jù);忙信號(BUSY)表示輸出設(shè)備正在輸出信息,即在“忙”著,同時也等于指示CPU要處于等待狀態(tài)。⑵控制信息控制信息是由CPU發(fā)出的,用于控制外設(shè)接口的工作方式以及外設(shè)的啟動和停機信息等。第3頁,課件共168頁,創(chuàng)作于2023年2月⑶數(shù)據(jù)信息

CPU與并行外設(shè)數(shù)據(jù)交換的內(nèi)容。狀態(tài)信息、控制信息和數(shù)據(jù)信息,通常都是通過數(shù)據(jù)總線傳送,這些信息在外設(shè)接口中分別存取在不同的口中。所謂口是指可以由CPU讀、寫的寄存器,這些口分別是狀態(tài)口、控制口和數(shù)據(jù)口,它們分別用來存放狀態(tài)信息、控制信息和數(shù)據(jù)信息。對于一個外設(shè)接口,常常需要幾個口才能滿足和協(xié)調(diào)外部設(shè)備的工作與要求,圖10.1是一個典型的并行接口與CPU、外設(shè)的連接圖。第4頁,課件共168頁,創(chuàng)作于2023年2月圖10.1并行接口與CPU、外設(shè)的連接第5頁,課件共168頁,創(chuàng)作于2023年2月

2.并行接口的組成⑴狀態(tài)寄存器狀態(tài)寄存器用來存放外設(shè)的信息,CPU通過訪問這個寄存器來了解某個外設(shè)的狀態(tài),進而控制外設(shè)的工作,以便與外設(shè)進行數(shù)據(jù)交換。⑵控制寄存器并行接口中有一個控制寄存器,CPU對外設(shè)的操作命令都寄存在控制寄存器中。第6頁,課件共168頁,創(chuàng)作于2023年2月⑶數(shù)據(jù)緩沖寄存器在并行接口中還設(shè)置了輸入緩沖寄存器和輸出緩沖寄存器,緩沖器是用來暫存數(shù)據(jù)。因為外設(shè)與CPU交換數(shù)據(jù),CPU的速度遠遠高于外設(shè)的速度。例如,打印機的打印速度與CPU的速度相差的遠不止是一個數(shù)量級,在并行接口中設(shè)置緩沖器,把要傳送的數(shù)據(jù)先放入緩沖器中,打印機按照安排好的打印隊列進行打印,這樣可以保證輸入,輸出數(shù)據(jù)的可靠性。第7頁,課件共168頁,創(chuàng)作于2023年2月

3.數(shù)據(jù)輸入過程數(shù)據(jù)輸入過程,指的是外設(shè)向CPU輸入數(shù)據(jù)。①當(dāng)外設(shè)將數(shù)據(jù)通過數(shù)據(jù)輸入線送給接口時,先使狀態(tài)線“輸入數(shù)據(jù)準備好”為高電平。然后通過接口把數(shù)據(jù)接收到輸入緩沖寄存器中,同時把“輸入回答”信號置成高電平“1”,并發(fā)給外設(shè)。②外設(shè)接到回答信號后,將撤消“輸入數(shù)據(jù)準備好”的信號。當(dāng)接口收到數(shù)據(jù)后,會在狀態(tài)寄存器中設(shè)置“準備好輸入”狀態(tài)位,以便CPU對其進行查詢。第8頁,課件共168頁,創(chuàng)作于2023年2月③接口向CPU發(fā)出一個中斷請求信號,這樣CPU可以用軟件查詢方式,也可以用中斷的方式將接口中的數(shù)據(jù)輸入到CPU中。④CPU在接收到數(shù)據(jù)后,將“準備好輸入”的狀態(tài)位自動清除,并使數(shù)據(jù)總線處于高阻狀態(tài)。準備外設(shè)向CPU輸入下一個數(shù)據(jù)。第9頁,課件共168頁,創(chuàng)作于2023年2月

4.數(shù)據(jù)輸出過程數(shù)據(jù)輸出過程,指的是CPU向外設(shè)輸出數(shù)據(jù)。①當(dāng)外設(shè)從接口接收到一個數(shù)據(jù)后,接口的輸出緩沖寄存器“空”,使狀態(tài)寄存的“輸出數(shù)據(jù)準備好”狀態(tài)位置成高電平“1”,這表示CPU可以向外設(shè)接口輸出數(shù)據(jù),這個狀態(tài)位可供CPU查詢。②此時接口也可向CPU發(fā)出一個中斷請求信號,同上面的輸入過程相同,CPU可以用軟件查詢方式,也可以用中斷的方式將CPU中的數(shù)據(jù)通過接口輸出到外設(shè)中。當(dāng)輸出數(shù)據(jù)送到接口的輸出緩沖寄存器后,再輸出到外設(shè)。第10頁,課件共168頁,創(chuàng)作于2023年2月③與此同時,接口向外設(shè)發(fā)送一個啟動信號,啟動外設(shè)接收數(shù)據(jù)。外設(shè)接收到數(shù)據(jù)后,向接口回送一個“輸出回答”信號。④接口電路收到該信號后,自動將接口狀態(tài)寄存器中的“準備好輸出”狀態(tài)位重新置為高電平“1”,通知CPU可以向外設(shè)輸出下一個數(shù)據(jù)。第11頁,課件共168頁,創(chuàng)作于2023年2月10.1.2串行通信串行通信是微機和外部設(shè)備交換信息的方式之一。所謂串行通信是通過一位一位地進行數(shù)據(jù)傳輸來實現(xiàn)通信。與并行通信相比,串行通信具有傳輸線少,成本低等優(yōu)點,適合遠距離傳送。缺點是速度慢,若并行傳送n位數(shù)據(jù)需時間T,則串行傳送的時間最少為nT。在實際傳輸中,是通過一對導(dǎo)線傳送信息。在傳輸中每一位數(shù)據(jù)都占據(jù)一個固定的時間長度。

1.串行接口的組成串行接口是通過系統(tǒng)總線和CPU相連,串行接口部件的典型結(jié)構(gòu)如圖10.2所示。主要由控制寄存器、狀態(tài)寄存器、數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器4部分組成。第12頁,課件共168頁,創(chuàng)作于2023年2月圖10.2串行接口與CPU、外設(shè)的連接第13頁,課件共168頁,創(chuàng)作于2023年2月⑴控制寄存器控制寄存器用來保存決定接口工作方式的控制信息。⑵狀態(tài)寄存器狀態(tài)寄存器中的每一個狀態(tài)位都可以用來標識傳輸過程中某一種錯誤或當(dāng)前傳輸狀態(tài)。第14頁,課件共168頁,創(chuàng)作于2023年2月⑶數(shù)據(jù)寄存器①數(shù)據(jù)輸入寄存器:在輸入過程中,串行數(shù)據(jù)一位一位地從傳輸線進入串行接口的移位寄存器,經(jīng)過串入并出(串行輸入并行輸出)電路的轉(zhuǎn)換,當(dāng)接收完一個字符之后,數(shù)據(jù)就從移位寄存器傳送到數(shù)據(jù)輸入寄存器,等待CPU讀取。第15頁,課件共168頁,創(chuàng)作于2023年2月②數(shù)據(jù)輸出寄存器:在輸出過程中,當(dāng)CPU輸出一個數(shù)據(jù)時,先送到數(shù)據(jù)輸出緩沖寄存器,然后,數(shù)據(jù)由輸出寄存器傳到移位寄存器,經(jīng)過并入串出(并行輸入串行輸出)電路的轉(zhuǎn)換一位一位地通過輸出傳輸線送到對方。串行接口中的數(shù)據(jù)輸入移位寄存器和數(shù)據(jù)輸出移位寄存器是為了和數(shù)據(jù)輸入緩沖寄存器和數(shù)據(jù)輸出緩沖寄存器配對使用的。在學(xué)習(xí)串行通信方式時,很有必要了解一下有關(guān)串行通信中的一些基本概念,這里僅做簡單介紹。第16頁,課件共168頁,創(chuàng)作于2023年2月

2.串行通信中使用的術(shù)語⑴發(fā)送時鐘和接收時鐘把二進制數(shù)據(jù)序列稱為比特組,由發(fā)送器發(fā)送到傳輸線上,再由接收器從傳輸線上接收。二進制數(shù)據(jù)序列在傳輸線上是以數(shù)字信號形式出現(xiàn),即用高電平表示二進制數(shù)1,低電平表示二進制數(shù)0。而且每一位持續(xù)的時間是固定的,在發(fā)送時是以發(fā)送時鐘作為數(shù)據(jù)位的劃分界限,在接收時是以接收時鐘作為數(shù)據(jù)位的檢測。第17頁,課件共168頁,創(chuàng)作于2023年2月①發(fā)送時鐘:串行數(shù)據(jù)的發(fā)送由發(fā)送時鐘控制,數(shù)據(jù)發(fā)送過程是:把并行的數(shù)據(jù)序列送入移位寄存器,然后通過移位寄存器由發(fā)送時鐘觸發(fā)進行移位輸出,數(shù)據(jù)位的時間間隔可由發(fā)送時鐘周期來劃分。②接收時鐘:串行數(shù)據(jù)的接收是由接收時鐘來檢測,數(shù)據(jù)接收過程是:傳輸線上送來的串行數(shù)據(jù)序列由接收時鐘作為移位寄存器的觸發(fā)脈沖,逐位打入移位寄存器。第18頁,課件共168頁,創(chuàng)作于2023年2月⑵DTE和DCE①數(shù)據(jù)終端設(shè)備(dataterminalequipment,DTE):是對屬于用戶所有聯(lián)網(wǎng)設(shè)備和工作站的統(tǒng)稱,它們是數(shù)據(jù)的源或目的或者即是源又是目的。例如:數(shù)據(jù)輸入/輸出設(shè)備,通信處理機或各種大、中、小型計算機等。DTE可以根據(jù)協(xié)議來控制通信的功能。第19頁,課件共168頁,創(chuàng)作于2023年2月②數(shù)據(jù)電路終端設(shè)備或數(shù)據(jù)通信設(shè)備(datacircuit-terminatingequipment或datacommunicationequipment,DCE):前者為CCITT標準所用,后者為EIA標準所用。DCE是對網(wǎng)絡(luò)設(shè)備的統(tǒng)稱,該設(shè)備為用戶設(shè)備提供入網(wǎng)的連接點。自動呼叫/應(yīng)答設(shè)備、調(diào)制解調(diào)器Modem和其他一些中間設(shè)備均屬DCE。⑶信道信道是傳輸信息所經(jīng)過的通道,是連接2個DTE的線路,它包括傳輸介質(zhì)和有關(guān)的中間設(shè)備。第20頁,課件共168頁,創(chuàng)作于2023年2月

3.串行通信中的工作方式串行通信中的工作方式分為:單工通信方式、半雙工通信方式和全雙工通信方式⑴單工工作方式在這種方式下,傳輸?shù)木€路用一根線連接,通信的一端連接發(fā)送器,另一端連接接收器,即形成單向連接,只允許數(shù)據(jù)按照一個固定的方向傳送,如圖10.3(a)所示。即數(shù)據(jù)只能從A站點傳送到B站點,而不能由B站點傳送到A站點。單工通信類似無線電廣播,電臺發(fā)送信號,收音機接收信號。收音機永遠不能發(fā)送信號。第21頁,課件共168頁,創(chuàng)作于2023年2月⑵半雙工工作方式如果在傳輸?shù)倪^程中依然用一根線連接,這樣在某一個時刻,只能進行發(fā)送,或只能進行接收。由于是一根線連接,發(fā)送和接收不可能同時進行,這種傳輸方式稱為半雙工工作方式,如圖10.3(b)所示。半雙工通信工方式類似對講機,某時刻A方發(fā)送B方接收,另一時刻B方發(fā)送A方接收,雙方不能同時進行發(fā)送和接收。第22頁,課件共168頁,創(chuàng)作于2023年2月圖10.3串行通信工作方式第23頁,課件共168頁,創(chuàng)作于2023年2月⑶全雙工工作方式對于相互通信的雙方,都可以是接收器也都可以是發(fā)送器。分別用2根獨立的傳輸線(一般是雙絞線,或同軸電纜)來連接發(fā)送信號和接收信號,這樣發(fā)送方和接收方可同時進行工作,稱為全雙工的工作方式,如圖10.3(c)所示。全雙工通信工方式類似電話機,雙方可以同時進行發(fā)送和接收。第24頁,課件共168頁,創(chuàng)作于2023年2月

4.同步通信和異步通信方式串行通信分為2種類型:一種是同步通信方式,另一種是異步通信方式。⑴同步通信方式同步通信方式的特點是:由一個統(tǒng)一的時鐘控制發(fā)送方和接收方,若干字符組成一個信息組,字符要一個接著一個傳送;沒有字符時,也要發(fā)送專用的“空閑”字符或者是同步字符,因為同步傳輸時,要求必須連續(xù)傳送字符,每個字符的位數(shù)要相同,中間不允許有間隔。同步傳輸?shù)奶卣魇牵涸诿拷M信息的開始(常稱為幀頭)要加上l一2個同步字符,后面跟著8位的字符數(shù)據(jù)。同步通信的數(shù)據(jù)格式如圖10.4所示。第25頁,課件共168頁,創(chuàng)作于2023年2月圖10.4同步通信字符格式

傳送時每個字符的后面是否要奇、偶校驗,由初始化時設(shè)同步方式字決定。第26頁,課件共168頁,創(chuàng)作于2023年2月⑵異步通信方式異步通信的特點是:字符是一幀一幀的傳送,每一幀字符的傳送靠起始位來同步。在數(shù)據(jù)傳輸過程中,傳輸線上允許有空字符。所謂異步通信,是指通信中兩個字符的時間間隔是不固定的,而在同一字符中的兩個相鄰代碼間的時間間隔是固定的通信。異步通信中發(fā)送方和接收方的時鐘頻率也不要求完全一樣,但不能超過一定的允許范圍,異步傳輸時的數(shù)據(jù)格式如圖10.5所示。第27頁,課件共168頁,創(chuàng)作于2023年2月圖10.5異步通信字符格式第28頁,課件共168頁,創(chuàng)作于2023年2月

字符的前面是一位起始位(低電平),之后跟著5~8位的數(shù)據(jù)位,低位在前、高位在后。數(shù)據(jù)位后是奇、偶校驗位,最后是停止位(高電平)。是否要奇、偶校驗位,以及停止位設(shè)定的位數(shù)是1,1.5位或2位都由初始化時設(shè)置異步方式字來決定。第29頁,課件共168頁,創(chuàng)作于2023年2月

5.通信中必須遵循的規(guī)定⑴字符格式的規(guī)定通信中,傳輸字符的格式要按規(guī)定寫,圖10.5是異步通信的字符格式。在異步傳輸方式每個字符在傳送時,前面必須加一個起始位,后面必須加停止位來結(jié)束,停止位可以為1位,1.5位,2位。奇、偶校驗位可以加也可以不加。第30頁,課件共168頁,創(chuàng)作于2023年2月⑵比特率、波特率(baudrate)①比特率:比特率作為串行傳輸中數(shù)據(jù)傳輸速度的測量單位,用每秒傳輸?shù)亩M制數(shù)的位數(shù)bit/s(位/秒)來表示。②波特率:波特率是用來描述每秒鐘內(nèi)發(fā)生二進制信號的事件數(shù),用來表示一個二進制數(shù)據(jù)位的持續(xù)時間。第31頁,課件共168頁,創(chuàng)作于2023年2月

有關(guān)在遠距離傳輸時,數(shù)字信號送到傳輸介質(zhì)之前要調(diào)制為模擬信號,再用比特率來測量傳輸速度就不那么方便直觀了。因此引入波特率作為速率測量單位即:波特率=1/二進制位的持續(xù)時間比特率可以大于或等于波特率,假定用正脈沖表示“1”,負脈沖表示“0”,這時比特率就等于波特率。假如每秒鐘要傳輸10個數(shù)據(jù)位,則其速率為l0波特,若發(fā)送到傳輸介質(zhì)時,把每位數(shù)據(jù)用10個脈沖來調(diào)制,則比特率就為100b/s,即比特率大于波特率。第32頁,課件共168頁,創(chuàng)作于2023年2月

發(fā)送時鐘與波特率的關(guān)系是:時鐘頻率=72×波特率(n可以是l,16,32,64。,2為波特率因子,是傳輸一位二進制數(shù)時所用的時鐘周期數(shù)。不同芯片的n由手冊中給出)。波特率是表明傳輸速度的標準,國際上規(guī)定的一個標準的波特率系列是:110,300,600,1200,1800,2400,4800,9600,19200。大多數(shù)CRT顯示終端能在110—9600波特率下工作,異步通信允許發(fā)送方和接收方的時鐘誤差或波特率誤差在4%~5%。第33頁,課件共168頁,創(chuàng)作于2023年2月

6.信號的調(diào)制與解調(diào)計算機對數(shù)字信號的通信,要求傳輸線的頻帶很寬,但在實際的長距離傳輸中,通常是利用電話線來傳輸,電話線的頻帶一般都比較窄。為保證信息傳輸?shù)恼_,都普遍采用調(diào)制解調(diào)器(modem)來實現(xiàn)遠距離的信息傳輸,現(xiàn)在還有很多家庭上網(wǎng)仍使用modem連接。第34頁,課件共168頁,創(chuàng)作于2023年2月

調(diào)制解調(diào)器,顧名思義主要是完成調(diào)制和解調(diào)的功能。經(jīng)過調(diào)制器(modulator)可把數(shù)字信號轉(zhuǎn)換為模擬信號,經(jīng)過解調(diào)器(demodulator)把模擬信號轉(zhuǎn)換為數(shù)字信號。使用modem實現(xiàn)了對通信雙方信號的轉(zhuǎn)換過程,如圖10.6所示?,F(xiàn)在modem的數(shù)據(jù)傳輸速率理論值可達72Kb/s,而實際速率僅為33.6Kb/s。第35頁,課件共168頁,創(chuàng)作于2023年2月圖10.6調(diào)制與解調(diào)過程第36頁,課件共168頁,創(chuàng)作于2023年2月10.2可編程并行接口電路Intel8255A

并行接口電路,在早期的微機中與串行口、軟盤接口、硬盤接口等都放在一塊多功能接口卡上,插在微機的擴展槽上使用?,F(xiàn)在這部分電路已在微機的主板上由與CPU配套的芯片組北橋來實現(xiàn)其功能。如果要在其他的場合實現(xiàn)并行數(shù)據(jù)傳送,在電路設(shè)計時采用專用的接口芯片最為方便??删幊痰慕涌谛酒?255A是完成并行通信的集成電路芯片。第37頁,課件共168頁,創(chuàng)作于2023年2月10.2.18255A的主要性能和內(nèi)部結(jié)構(gòu)

8255A是為Intel公司的80系列微機配套的通用可編程并行接口芯片,具有三個可編程的端口(A端口、B端口和C端口),每個端口8條線,共有24條I/O引腳,也可分為2組工作,每組12條線,并有三種工作方式??删幊淌侵缚赏ㄟ^軟件設(shè)置芯片的工作方式,因此這個芯片在與外部設(shè)備相連接時,通常不需要附加太多的外部邏輯電路,這給用戶的使用帶來很大方便。第38頁,課件共168頁,創(chuàng)作于2023年2月

芯片的主要技術(shù)性能如下:

(1)輸入、輸出電平與TTL電平完全兼容。

(2)時序特性好。

(3)部分位可以直接置“1”/置“0”,便于實現(xiàn)控制接口使用。

(4)單一的+5V電源。

8255A的內(nèi)部結(jié)構(gòu)框圖如圖10.7(a)所示,圖10.7(b)為8255A的外引腳圖。從圖中可以看到,8255A主要由4部分組成。第39頁,課件共168頁,創(chuàng)作于2023年2月圖10.78255內(nèi)部結(jié)構(gòu)和引腳圖(a)8255A內(nèi)部結(jié)構(gòu);(b)8255A外引腳圖第40頁,課件共168頁,創(chuàng)作于2023年2月

1.三個獨立的數(shù)據(jù)口

8255A的三個數(shù)據(jù)口分別是A端口、B端口、C端口,它們彼此獨立,都是8位的數(shù)據(jù)口,用來完成和外設(shè)之間的信息交換。三個口在使用上有所不同。

1)A端口

A端口對應(yīng)一個8位的數(shù)據(jù)輸入鎖存器和一個8位的數(shù)據(jù)輸出鎖存器和緩沖器。因此A端口適合用在雙向的數(shù)據(jù)傳輸場合,用A端口傳送數(shù)據(jù),不管是輸入還是輸出,都可以鎖存。第41頁,課件共168頁,創(chuàng)作于2023年2月2)B端口和C端口這兩個口分別是由一個8位的數(shù)據(jù)輸入緩沖器和一個8位的數(shù)據(jù)輸出鎖存器和緩沖器組成。因此用B端口和C端口傳送數(shù)據(jù)作輸出端口時,數(shù)據(jù)信息可以實現(xiàn)鎖存功能;而用作輸入口時,則不能對數(shù)據(jù)實現(xiàn)鎖存,這一點在使用中要注意。在實際應(yīng)用中,A端口和B端口通常作為獨立的輸入口和輸出口,而C端口常用來配合A端口和B端口的工作使用。C端口分成兩個4位的端口,這兩個4位的端口分別作為A端口和B端口的控制信號和輸入狀態(tài)信號使用。第42頁,課件共168頁,創(chuàng)作于2023年2月

2.A組控制電路和B組控制電路控制電路分成A組控制和B組控制兩組,A組控制電路控制A端口和C端口的高4位(PC4~PC7)。B組控制電路控制B端口和C端口的低4位(PC0~PC3)。這兩組控制電路的作用是:由它們內(nèi)部的控制寄存器接收CPU輸出的方式控制命令字,還接收來自讀/寫控制邏輯電路的讀/寫命令,根據(jù)控制命令決定A組和B組的工作方式和讀/寫操作。第43頁,課件共168頁,創(chuàng)作于2023年2月

3.讀寫控制邏輯電路這部分電路是用來完成對8255A內(nèi)部三個數(shù)據(jù)口的譯碼工作,由CPU的地址總線A1、A0和8255A的片選信號CS和WR、RD信號組合后產(chǎn)生控制命令,并將產(chǎn)生的控制命令傳送給A組和B組的控制電路,從而完成對數(shù)據(jù)信息的傳輸控制。8255A的控制信號與執(zhí)行的操作之間的對應(yīng)關(guān)系如表10-1所示。第44頁,課件共168頁,創(chuàng)作于2023年2月表10-18255A的控制信號與執(zhí)行的操作之間的對應(yīng)關(guān)系A(chǔ)1A0執(zhí)行的操作000000000010101011101x1010100011x000001011010111111xxxx讀A端口(A端口數(shù)據(jù)→數(shù)據(jù)總線)寫A端口(A端口←數(shù)據(jù)總線數(shù)據(jù))讀B端口(B端口數(shù)據(jù)→數(shù)據(jù)總線)寫B(tài)端口(B端口←數(shù)據(jù)總線數(shù)據(jù))讀C端口(C端口數(shù)據(jù)→數(shù)據(jù)總線)寫C端口(C端口←數(shù)據(jù)總線數(shù)據(jù))當(dāng)D7=1時,對8255A寫入控制字當(dāng)D7=0時,對C端口置位/復(fù)位非法的信號組合數(shù)據(jù)線D7~D0進入高阻狀態(tài)未選擇第45頁,課件共168頁,創(chuàng)作于2023年2月4.數(shù)據(jù)總線緩沖器這是一個雙向、三態(tài)的8位數(shù)據(jù)總線緩沖器,是8255A和系統(tǒng)總線相連接的通道,用來傳送輸入/輸出的數(shù)據(jù)、CPU發(fā)出的控制字以及外設(shè)的狀態(tài)信息??傊?,8255A與CPU之間的所有信息傳輸都要經(jīng)過數(shù)據(jù)總線緩沖器。第46頁,課件共168頁,創(chuàng)作于2023年2月10.2.28255A的外部特性

8255A是40條引腳的雙列直插式芯片,引腳排列如圖10.7(b)所示。單一的+5V電源,使用時要注意它的+5V電源引腳是第26腳,地線引腳是第7腳,它不像大多數(shù)TTL芯片電源和地線在右上角和左下角的位置,除了電源和地線之外,其他引腳的信號按連接的功能可分為兩大組。第47頁,課件共168頁,創(chuàng)作于2023年2月

1.與CPU相連的引腳

RESET(35PIN):芯片的復(fù)位信號,高電平時有效。復(fù)位后把8255A內(nèi)部的所有寄存器都清0,并將三個數(shù)據(jù)口自動設(shè)置為輸入口。

CS(6PIN):片選信號,低電平時有效。只有當(dāng)CS=0時,芯片被選中,才能對8255A進行讀、寫操作。

RD(5PIN):讀信號,低電平有效。只有當(dāng)CS=0,RD=0,才允許從8255A的三個端口中讀取數(shù)據(jù)。

WR(36PIN):寫信號,低電平有效。只有當(dāng)CS=0,WR=0,才允許從8255A的三個端口寫入數(shù)據(jù)或者是寫入控制字。第48頁,課件共168頁,創(chuàng)作于2023年2月A1、A0(8,9PIN):端口譯碼信號。用來選擇8255A內(nèi)部的三個數(shù)據(jù)端口和一個控制端口的地址。其中對控制口只能進行寫操作。

(1)當(dāng)A1A0=00時,選中A端口。

(2)當(dāng)A1A0=01時,選中B端口。

(3)當(dāng)A1A0=10時,選中C端口。

(4)當(dāng)A1A0=11時,選中控制端口。

A1、A0與讀、寫信號組合對各端口所執(zhí)行的操作如表10-1所示。

D7~D0(27~34PIN):雙向三態(tài)8位數(shù)據(jù)線,與系統(tǒng)的數(shù)據(jù)總線相連接。第49頁,課件共168頁,創(chuàng)作于2023年2月8255A的數(shù)據(jù)線為8條,這樣8位的接口芯片在與8086外部數(shù)據(jù)線為16條的CPU相連接時,應(yīng)考慮接口芯片本身對地址的要求。由于在8086這樣的16位外部總線系統(tǒng)中,CPU在進行數(shù)據(jù)傳輸時,低8位對應(yīng)一個偶地址,高8位對應(yīng)一個奇地址。如果將8255A的數(shù)據(jù)線D7~D0與8086CPU的數(shù)據(jù)總線的低8位相連的話,從CPU這邊看來,要求8255A的4個端口地址都應(yīng)為偶地址,這樣才能保證對8255A的端口的讀/寫能在一個總線周期內(nèi)完成,但又要滿足8255A本身對4個端口規(guī)定的地址要求是00,01,10,11。因此將8255A的A1和A0分別與8086系統(tǒng)總線的A2和A1相連,而將最低位A0總設(shè)置為0。第50頁,課件共168頁,創(chuàng)作于2023年2月2.和外設(shè)端相連的引腳PA7~PA0(37~40PIN,l~4PIN):A端口的輸入/輸出引腳PB7~PB0(25~18PIN):B端口的輸入/輸出引腳PC7~PC0(10~13,17~14PIN):C端口的輸入/輸出引腳第51頁,課件共168頁,創(chuàng)作于2023年2月10.2.38255A的控制字和編程由CPU執(zhí)行輸出指令,向8255A的端口輸出不同的控制字來決定它的工作方式??刂谱址譃閮煞N,分別稱為方式選擇控制字和端口C置1/置0控制字。根據(jù)控制寄存器的D7位的狀態(tài)決定是哪一種控制字。

1.方式選擇控制字方式選擇控制字用來決定8255A三個數(shù)據(jù)端口各自的工作方式,它的格式如圖10.8所示。它由一個8位的寄存器組成。第52頁,課件共168頁,創(chuàng)作于2023年2月圖10.88255A的方式選擇控制字第53頁,課件共168頁,創(chuàng)作于2023年2月D7位為“1”時,為方式選擇控制字的標識位。

D6、D5位決定A端口的工作方式,D6D5位為00、01、1x時分別表示A端口工作在方式0、方式1和方式2下。

D4位決定A端口工作在輸入還是輸出方式。D4位為0時,A端口工作在輸出方式;D4位為1時,A端口工作在輸入方式。

D3位決定用于A端口的C端口高4位PC7~PC4是作為輸入端口,還是作為輸出端口。D3位為0時,PC7~PC4作輸出;D3位為1時,PC7~PC4作輸入。

D2位用來選擇B端口的工作方式。D2位為0時,B端口工作在方式0,D2位為1時,B端口工作在方式1。第54頁,課件共168頁,創(chuàng)作于2023年2月D1位決定B端口作為輸入還是輸出端口。D1位為1時B端口工作在輸入方式;D1位為0時B端口工作在輸出方式。

D0位決定用于B端口的C端口低4位PC3~PC0作為輸入,還是輸出。D0位為0時,PC3~PC0作輸出;D0位為1時,PC3~PC0作輸入。如果要求8255A的A端口作輸入,B端口和C端口作輸出,A組工作在方式0,B組工作在方式1,用三條指令可完成對芯片工作方式的選擇。第55頁,課件共168頁,創(chuàng)作于2023年2月MOV AL,94H ;方式選擇控制字送ALMOV DX,PortCtr ;控制端口地址PortCtr送DXOUT DX,AL ;方式選擇控制字輸出給8255A的控制端 口,完成方式選擇第56頁,課件共168頁,創(chuàng)作于2023年2月

2.C端口置1/置0控制字

8255A在和CPU傳輸數(shù)據(jù)的過程中,經(jīng)常將C端口的某幾位作為控制位或狀態(tài)位來使用,從而配合A端口或B端口的工作。為了方便用戶,在8255A芯片初始化時,C端口置1/置0控制字可以單獨設(shè)置C端口的某一位為0或某一位為1??刂谱值腄7位為“0”時,是C端口置1/置0控制字中的標識位,具體的格式如圖10.9所示。第57頁,課件共168頁,創(chuàng)作于2023年2月圖10.98255A的C端口置1/置0控制字第58頁,課件共168頁,創(chuàng)作于2023年2月D6~D4位可為任意值,不影響操作。D3~D1位用來決定對C端口8位中的哪一位進行操作。D0位用來決定對D3~D1所選擇的位是置1,還是置0。例如,要將C端口的PC3置0,PC7置1,可用下列程序段實現(xiàn)。MOV AL,06H ;PC3置0控制字送ALMOV DX,PortAdd ;控制端口地址PortAdd送DXOUT DX,AL ;對PC3完成置0操作MOV AL,0FH ;PC7置1控制字送ACOUT DX,AL ;完成對PC7置1操作第59頁,課件共168頁,創(chuàng)作于2023年2月10.2.48255A的工作方式

8255A有三種工作方式,分別稱為方式0,方式1和方式2。其中A端口可以工作在三種方式中的任一種;B端口只能工作在方式0和方式1;C端口通常作為控制信號使用,配合A端口和B端口的工作。每種工作方式的具體內(nèi)容如下所述。第60頁,課件共168頁,創(chuàng)作于2023年2月

1.方式0:基本的輸入/輸出方式方式0之所以被稱為基本的輸入/輸出方式,是因為在這種方式下,A端口、B端口和C端口(C端口分為2個4位使用)都可提供簡單的輸入和輸出操作,對每個端口不需要固定的應(yīng)答式聯(lián)絡(luò)信號。工作在方式0時,在程序中可直接使用輸入指令(IN)和輸出(OUT)指令對各端口進行讀寫。方式0的基本定義是2個8位的端口和2個4位的端口。任何一個端口都可以作為輸入或輸出,輸出的數(shù)據(jù)可以被鎖存,輸入的數(shù)據(jù)不能鎖存。方式0的輸入時序如圖10.10所示,輸出時序如圖10.11所示。從輸入時序圖可以看到,對各信號的要求是:第61頁,課件共168頁,創(chuàng)作于2023年2月(1)地址信號要領(lǐng)先于RD信號到達,8255A在RD信號有效以后,最長經(jīng)過250ns的時間,就可以使數(shù)據(jù)在數(shù)據(jù)總線上得到穩(wěn)定。

(2)在一般的微處理器系統(tǒng)中都配備了地址鎖存器,保證CPU對先發(fā)出的地址能夠鎖存,可以滿足地址信號先于RD信號到達,對于從讀信號有效到數(shù)據(jù)穩(wěn)定的時間,應(yīng)由輸入設(shè)備給予滿足。在使用時應(yīng)注意,方式0對輸入數(shù)據(jù)不做鎖存。第62頁,課件共168頁,創(chuàng)作于2023年2月圖10.108255A方式0輸入時序第63頁,課件共168頁,創(chuàng)作于2023年2月圖10.118255A方式0輸出時序第64頁,課件共168頁,創(chuàng)作于2023年2月表10-28255方式0輸入時序各參數(shù)說明參數(shù)說明8255A最小時間/ns最大時間/nstRR讀脈沖的寬度300

tAR地址穩(wěn)定領(lǐng)先于讀信號的時間0

tIR輸入數(shù)據(jù)領(lǐng)先于的時間0

tHR讀信號過后數(shù)據(jù)繼續(xù)保持時間0

tRA讀信號無效后地址保持時間0

tRD從讀信號有效到數(shù)據(jù)穩(wěn)定的時間

250tDF讀信號撤除后數(shù)據(jù)保持時間10150第65頁,課件共168頁,創(chuàng)作于2023年2月

從輸出時序圖可以看到,為了將數(shù)據(jù)能可靠地輸出到8255A,對各信號的要求是:

(1)地址信號必須在寫信號之前有效,同時要求在信號有效(也就是為低電平時)期間內(nèi),地址信號不能發(fā)生變化,要保證一直有效,直到在撤消(變高后)后的20ns時間以后,地址信號才允許發(fā)生變化。

(2)寫脈沖(為低電平時間)的寬度最小要求是400ns。

(3)要求數(shù)據(jù)也必須在寫信號之前最少有100ns時間出現(xiàn)在數(shù)據(jù)總線上。寫信號撤消后,數(shù)據(jù)的最小保持時間是30ns。第66頁,課件共168頁,創(chuàng)作于2023年2月表10-38255A方式0輸出時序各參數(shù)說明參數(shù)說明8255A最小時間/ns最大時間/nstAW地址穩(wěn)定領(lǐng)先于讀信號的時間0

tWW寫脈沖的寬度400

tDW數(shù)據(jù)有效時間100

tWD數(shù)據(jù)保持時間30

tWA寫信號撤消后的地址保持時間20

tWB寫信號結(jié)束到數(shù)據(jù)有效的時間350第67頁,課件共168頁,創(chuàng)作于2023年2月

滿足上述條件,寫信號結(jié)束后,最長經(jīng)過350ns的時間,CPU輸出的數(shù)據(jù)就可以出現(xiàn)在8255A的指定端口。方式0一般用于無條件傳送的場合,不需要應(yīng)答式聯(lián)絡(luò)信號,外設(shè)總是處于準備好的狀態(tài)。也可以用作查詢式傳送,查詢式傳送時,需要有應(yīng)答信號??梢詫端口、B端口作為數(shù)據(jù)口使用。把C端口分為2部分,其中4位規(guī)定為輸出,用來輸出一些控制信息,另外4位規(guī)定為輸入,用來讀入外設(shè)的狀態(tài)。利用C端口配合A端口和B端口完成查詢式的I/O操作。第68頁,課件共168頁,創(chuàng)作于2023年2月

2.方式1:選通輸入/輸出方式在這種方式下,當(dāng)A端口和B端口進行輸入輸出時,必須利用C端口提供的選通和應(yīng)答信號,而且這些信號與C端口中的某些位之間有著固定的對應(yīng)關(guān)系,這種關(guān)系是硬件本身決定的不是軟件可以改變的。由于工作在方式l時,要由C端口中的固定位來作為選通和應(yīng)答等控制信號,因此稱方式1為選通的輸入/輸出方式。方式1的基本定義是,分成2組(A組和B組),每組包含一個8位的數(shù)據(jù)端口和1個4位的控制/數(shù)據(jù)端口。8位的數(shù)據(jù)端口既可以作為輸入,也可以作為輸出,輸入和輸出都可以被鎖存。4位的控制/數(shù)據(jù)端口用于傳送8位數(shù)據(jù)端口的控制和狀態(tài)信息。第69頁,課件共168頁,創(chuàng)作于2023年2月1)選通的輸入方式方式1在選通輸入方式下對應(yīng)的控制信號如圖10.12所示。圖10.13是方式1在選通輸入方式的工作時序圖。選通輸入方式的工作過程是:當(dāng)外設(shè)的數(shù)據(jù)已送到8255A某個端口的數(shù)據(jù)線上時,就發(fā)出選通輸入信號STB,將數(shù)據(jù)通過A端口或B端口鎖存到8255A的數(shù)據(jù)輸入寄存器,STB信號的寬度至少是500ns。STB信號變低后最多經(jīng)過300ns時間,使輸入緩沖器滿信號IBF變?yōu)楦唠娖?,如圖10.13中表示的箭頭①。第70頁,課件共168頁,創(chuàng)作于2023年2月輸入緩沖器滿意味著將阻止外設(shè)輸入新的數(shù)據(jù),可供CPU來查詢。在選通輸入信號結(jié)束后,最多經(jīng)過300ns時間,向CPU發(fā)出中斷請求信號(要在中斷允許的情況下),如圖10.13中表示的箭頭②,使中斷請求信號INTR變高,CPU可以響應(yīng)中斷。當(dāng)CPU響應(yīng)中斷后才發(fā)出讀信號RD,將數(shù)據(jù)讀入到CPU中,讀信號有效(低電平為有效)后,最多經(jīng)過400ns時間,STB就清除中斷請求,使中斷請求信號變低,如圖10.13中表示的箭頭③。當(dāng)讀信號結(jié)束后,才使輸入緩沖器滿信號IBF變低,如圖10.13中表示的箭頭④。IBF變低表明輸入緩沖器已空,通知外設(shè)可以輸入新的數(shù)據(jù)。第71頁,課件共168頁,創(chuàng)作于2023年2月圖10.12方式1選通輸入下對應(yīng)的控制信號(a)對A端口;(b)對B端口第72頁,課件共168頁,創(chuàng)作于2023年2月圖10.138255A方式l輸入時序第73頁,課件共168頁,創(chuàng)作于2023年2月表10-48255A方式1輸入時序參數(shù)說明參數(shù)說明8255A最小時間/ns最大時間/nstST選通脈沖的寬度500

tSIB選通脈沖有效到IBF有效之間的時間

300tSIT=1到中斷請求INTR有效之間的時間

300tPH數(shù)據(jù)保持時間180

tPS數(shù)據(jù)有效到無效之間的時間0

tRIT

有效到中斷請求撤除之間的時間

400tRIB

為1到IBF為0之間的時間

300第74頁,課件共168頁,創(chuàng)作于2023年2月

當(dāng)8255A的A端口和B端口工作在選通輸入方式時,對應(yīng)的C端口固定分配,規(guī)定是PC3~PC5分配給A端口,PC0~PC2分配給B端口,C端口剩下的2位PC7、PC6可作為簡單的輸入/輸出線使用??刂谱值腄3位為“1”時,PC7、PC6作輸入;控制字的D3位為“0”時,PC7、PC6作輸出。第75頁,課件共168頁,創(chuàng)作于2023年2月

在方式1選通輸入方式時,各控制信號的意義如下:

STB(Strobe):選通輸入信號,低電平有效。A組方式控制字中對應(yīng)PC4;B組方式控制字中對應(yīng)PC2。當(dāng)該信號有效時,從外部設(shè)備來的8位數(shù)據(jù)送入到8255A的輸入緩沖器中,負脈沖寬度最小是500ns。第76頁,課件共168頁,創(chuàng)作于2023年2月IBF(InputBufferFull):輸入緩沖器滿信號,高電平有效。A組方式控制字中對應(yīng)PC5;B組方式控制字中對應(yīng)PC1。這是8255A送給外設(shè)的聯(lián)絡(luò)信號,當(dāng)8255A的輸入緩沖區(qū)已有一個新數(shù)據(jù)后,輸出這個信號供CPU查詢。該信號在選通輸入信號STB變低后,300ns時間內(nèi)即變?yōu)橛行У母唠娖?。在RD信號撤消后的300ns時間內(nèi)IBF信號才撤消,變?yōu)闊o效的低電平,這樣保證了數(shù)據(jù)傳輸?shù)目煽啃浴5?7頁,課件共168頁,創(chuàng)作于2023年2月INTR(InterruptRequest):中斷請求信號,高電平有效。A組方式控制字中對應(yīng)PC3;B組方式控制字中對應(yīng)PC0。這是8255A向CPU發(fā)出的中斷請求信號。當(dāng)STB信號撤消變?yōu)楦唠娖胶笞疃?00ns時間內(nèi),并且IBF信號也為高電平,INTR信號產(chǎn)生變?yōu)橛行У母唠娖?。INTR信號變高后可以請求CPU讀取數(shù)據(jù)。當(dāng)CPU發(fā)出的RD信號有效后,400ns的時間內(nèi)INTR信號將撤消,變?yōu)榈碗娖?。?8頁,課件共168頁,創(chuàng)作于2023年2月INTE(InterruptEnable):中斷允許信號,高電平有效。該信號為高時,允許中斷請求,為低時則屏蔽中斷請求。INTE的狀態(tài)是用軟件通過由C端口置1/置0控制字來控制的,在A組中,使PC4置“1”后INTEA變高;在B組中,使PC2置“1”后INTEB變高,A端口和B端口才允許中斷。如果PC4和PC2都置“0”,與之對應(yīng)的INTE信號為低,則禁止中斷。對于這種選通的輸入方式,如果采用查詢式輸入時,CPU先查詢8255A的輸入緩沖器是否滿了,也就是IBF是否為高?如果輸入緩沖器滿信號IBF為高,則CPU就可以從8255A讀入數(shù)據(jù)。如果采用中斷方式傳送數(shù)據(jù)時,應(yīng)該先用C端口置1/置0的控制字使相應(yīng)的端口允許中斷,也就是要使PC4或PC2置1。第79頁,課件共168頁,創(chuàng)作于2023年2月2)選通的輸出方式方式1在選通輸出情況下對應(yīng)的控制信號如圖10.14所示,圖10.15是方式1選通輸出情況下的工作時序圖。這種方式的工作過程與選通輸入的情況相類似。第80頁,課件共168頁,創(chuàng)作于2023年2月圖10.14方式l輸出時C端口對A、B端口的控制(a)對A端口;(b)對B端口第81頁,課件共168頁,創(chuàng)作于2023年2月圖10.158255A方式1輸出時序第82頁,課件共168頁,創(chuàng)作于2023年2月

當(dāng)8255A的A端口和B端口工作在選通輸出方式時,對應(yīng)的C端口也是固定分配,規(guī)定是PC3、PC6、PC7分配給A端口;PC2、PC1、PC0分配給B端口,剩下的2位PC4、PC5可作為簡單的輸入/輸出線使用。當(dāng)控制字的D3位為“1”時,PC4、PC5作輸入;當(dāng)控制字的D3位為“0”時,PC4、PC5作輸出。第83頁,課件共168頁,創(chuàng)作于2023年2月

方式1選通輸出方式時,各控制信號的意義如下:

OBF(OutputBufferFu11):輸出緩沖器滿信號,低電平有效。A組方式控制字中對應(yīng)PC7;B組方式控制字中對應(yīng)PC1,這是8255A與外設(shè)的聯(lián)絡(luò)信號。當(dāng)CPU向8255A的端口中傳送了數(shù)據(jù)以后,由8255A向外設(shè)發(fā)出低電平的OBF信號,通知外設(shè)可以把數(shù)據(jù)取走。由輸出指令產(chǎn)生的寫信號WR的上升沿出現(xiàn)后,最多經(jīng)過650ns時間,將OBF信號置成有效即變?yōu)榈碗娖剑鐖D10.15中表示的箭頭②。當(dāng)應(yīng)答信號ACK變?yōu)橛行У牡碗娖胶?50ns時間,OBF信號撤消變?yōu)楦唠娖?,如圖10.15中表示的箭頭③。第84頁,課件共168頁,創(chuàng)作于2023年2月表10-58255A方式1輸出時序參數(shù)說明參數(shù)說明8255A最小時間/ns最大時間/nstWIT從寫信號有效到中斷請求無效的時間

850tWOB從寫信號無效到輸出緩沖器清的時間

650tAOB

有效到無效的時間

350tAK

脈沖的寬度300

tAIT

為1到發(fā)新的中斷請求的時間

350tWB寫信號撤除到數(shù)據(jù)有效的時間350第85頁,課件共168頁,創(chuàng)作于2023年2月ACK(Acknowledge):數(shù)據(jù)接收應(yīng)答信號,低電平有效。A組方式控制字中對應(yīng)PC6;B組方式控制字中對應(yīng)PC2,這是外設(shè)的響應(yīng)信號,當(dāng)CPU輸出給8255A的數(shù)據(jù)已由外設(shè)接收后,外設(shè)就向8255A回送一個低電平的應(yīng)答信號ACK。

INTR:中斷請求信號,高電平有效。A組方式控制字中對應(yīng)PC3;B組方式控制字中對應(yīng)PC0。當(dāng)外設(shè)已經(jīng)接受了CPU輸出的數(shù)據(jù)后,由8255A向CPU發(fā)出中斷請求,要求CPU輸出新的數(shù)據(jù)。當(dāng)ACK撤消后為高電平,OBF也為高電平,中斷允許信號INTE也為高時,INTR中斷請求信號被置位為高電平,如圖10.19中表示的箭頭④。作為請求CPU進行下一次數(shù)據(jù)輸出的中斷請求信號,是在WR有效的下降沿出現(xiàn)后850ns時間內(nèi)使它變?yōu)闊o效的低電平,如圖10.19中表示的箭頭①。第86頁,課件共168頁,創(chuàng)作于2023年2月INTE:中斷允許信號,高電平有效。當(dāng)該信號為“1”時,允許中斷,為“0”時,A端口(B端口)處于中斷屏蔽狀態(tài),即不發(fā)出中斷請求信號INTR。在使用時,中斷允許信號INTE是用軟件通過對C端口置1/置0的控制字來設(shè)置的。當(dāng)PC6置1時,A端口允許中斷;PC2置1,B端口允許中斷。反之,如果A、B端口所對應(yīng)的PC6、PC2置0時,則處于中斷屏蔽狀態(tài),即不允許中斷。第87頁,課件共168頁,創(chuàng)作于2023年2月

當(dāng)8255A工作在方式l輸出選通方式時,一般是采用中斷方式與CPU通信。從圖10.19方式1輸出工作時序圖中可以看到,CPU響應(yīng)中斷以后,就向8255A輸出數(shù)據(jù),寫信號出現(xiàn)。當(dāng)寫信號WR撤消,其上升沿一方面撤消中斷請求信號INTR,如圖10.19中表示的箭頭①使INTR變低,表示CPU對上一次中斷已經(jīng)響應(yīng)過。另一方面使OBF信號變?yōu)橛行У牡碗娖?,如圖10.19中表示的箭頭②,以通知外設(shè)可以接收下一個數(shù)據(jù)。第88頁,課件共168頁,創(chuàng)作于2023年2月

實際上,CPU在發(fā)出寫信號后要經(jīng)過最長350ns時間,數(shù)據(jù)才能出現(xiàn)在端口的輸出緩沖器中。當(dāng)外設(shè)收到數(shù)據(jù)后,便發(fā)出一個ACK信號,ACK信號有效后使OBF變成無效的高電平,如圖10.19中表示的箭頭③,表示數(shù)據(jù)已經(jīng)取走,當(dāng)前緩沖器空。ACK信號結(jié)束時使INTR信號變?yōu)橛行У母唠娖?,如圖10.19中表示的箭頭④,向CPU發(fā)出中斷請求信號,從而開始新的數(shù)據(jù)輸出過程。第89頁,課件共168頁,創(chuàng)作于2023年2月

3.方式2:帶選通的雙向傳輸方式在雙向的傳輸方式中,8255A可以向外設(shè)發(fā)送數(shù)據(jù),同時CPU通過這8位數(shù)據(jù)線又接收外設(shè)的數(shù)據(jù),因此稱為雙向的傳輸方式。方式2的基本定義是,只能適用于A端口,一個8位的雙向端口(A端口)和1個5位的控制端口(C端口)。A端口的輸入和輸出都可以被鎖存。5位的控制端口用于傳送8位雙向端口的控制和狀態(tài)信息。當(dāng)A端口工作在方式2時,由PA7~PA0作為8位數(shù)據(jù)線,因為要由C端口對A端口進行控制,所以稱為帶選通的雙向傳輸方式。C端口對A端口的控制信號分別如圖10.16和圖10.17所示。在這種方式下,C端口中有5位PC7~PC3作為控制信號和狀態(tài)信息使用,剩下的3位PC2~PC0可作為簡單的輸入/輸出線使用。當(dāng)控制字的D0位為1時,PC2~PC0作輸入;當(dāng)控制字的D0位為0時,PC2~PC0作輸出。第90頁,課件共168頁,創(chuàng)作于2023年2月STB:選通信號,低電平有效。對應(yīng)于PC4,由外設(shè)提供給8255A。該信號負責(zé)把外設(shè)送到8255A的數(shù)據(jù)送入輸入鎖存器。

IBF:輸入緩沖器滿信號,高電平有效。對應(yīng)PC5,是8255A送給CPU的狀態(tài)信息,供CPU查詢用。當(dāng)該信號有效時,表示當(dāng)前已經(jīng)有一個新的數(shù)據(jù)送到了輸入鎖存器中,CPU可以取走。

OBF:輸出緩沖器滿信號,低電平有效。對應(yīng)PC7,由8255A發(fā)給外設(shè)的選通信號,當(dāng)OBF有效時,表明CPU已經(jīng)將一個數(shù)據(jù)寫入8255A的A端口中,通知外設(shè)可以取走數(shù)據(jù)。第91頁,課件共168頁,創(chuàng)作于2023年2月INTR:中斷請求信號,高電平有效。對應(yīng)PC3,不論A端口工作在輸入方式還是工作在輸出方式,當(dāng)一個操作完成,并且要進入下一個操作時,8255A都要向CPU發(fā)出中斷請求信號。

ACK:數(shù)據(jù)接收應(yīng)答信號,低電平有效。對應(yīng)PC6,這是外設(shè)對信號OBF的響應(yīng)信號,該信號為低電平時,使A端口的輸出緩沖器打開,送出數(shù)據(jù)到外設(shè)。否則,當(dāng)該信號為高電平時,方式2時輸出緩沖器處于高阻狀態(tài)。第92頁,課件共168頁,創(chuàng)作于2023年2月圖10.16方式2時C端口對A端口的控制信號第93頁,課件共168頁,創(chuàng)作于2023年2月INTEl:輸出中斷允許信號。當(dāng)該信號為“1”時,允許8255A向CPU發(fā)出由A端口輸出數(shù)據(jù)的中斷請求信號。反之,如果該信號為“0”時,即使輸出緩沖器空,也不允許8255A向CPU發(fā)中斷請求信號。INTEl信號的置1或置0,是用軟件使C端口的PC6置1或置0來實現(xiàn)的。第94頁,課件共168頁,創(chuàng)作于2023年2月INTE2:輸入中斷允許信號。當(dāng)該信號為“1”時,允許8255A中A端口的輸入處于中斷允許狀態(tài),反之,如果該信號為“0”時,A端口的輸入處于中斷屏蔽狀態(tài),即不允許中斷。INTE2信號的置1或置0,同樣是用軟件通過C端口的PC4置1或置0來實現(xiàn)。第95頁,課件共168頁,創(chuàng)作于2023年2月

通過仔細分析方式2的工作時序圖10.17,會發(fā)現(xiàn)方式2的時序基本相當(dāng)于方式1的選通輸入時序和選通輸出的時序的組合。從圖10.17中可以看到,對于輸入過程,當(dāng)外設(shè)向A端口送來數(shù)據(jù)時,選通信號STB也跟著有效變?yōu)榈碗娖?,選通信號將數(shù)據(jù)鎖存到8255A的A端口的輸入鎖存器中。同樣也正是由于STB信號的變低,才使得輸入緩沖器滿信號IBF變?yōu)楦唠娖?,如圖10.17中表示的箭頭⑦。當(dāng)選通信號STB結(jié)束,也就是變?yōu)楦唠娖綍r,又使中斷請求信號INTR有效,變?yōu)楦唠娖?,如圖10.17中表示的箭頭⑧。當(dāng)CPU響應(yīng)輸入中斷,執(zhí)行輸入指令時,會產(chǎn)生RD信號,在讀信號RD有效期間,將數(shù)據(jù)從A端口讀入到CPU中。當(dāng)RD信號結(jié)束后輸入緩沖器滿信號IBF又變?yōu)榈碗娖?,如圖10.17中表示的箭頭⑨。中斷請求信號INTR雖然為高也不再起作用。第96頁,課件共168頁,創(chuàng)作于2023年2月

對于輸出過程,當(dāng)CPU響應(yīng)中斷后,在中斷服務(wù)程序中執(zhí)行輸出指令時,將發(fā)出寫脈沖WR,WR的下降沿使中斷請求信號INTR變低,如圖10.17中表示的箭頭①。WR信號結(jié)束其上升降沿使輸出緩沖器滿OBF信號變?yōu)橛行У牡碗娖剑鐖D10.17中表示的箭頭②。OBF信號送到外設(shè),當(dāng)外設(shè)接到OBF信號后,發(fā)出應(yīng)答信號ACK,如圖10.17中表示的箭頭③。由ACK信號打開8255A的輸出緩沖器,使數(shù)據(jù)出現(xiàn)在A端口和數(shù)據(jù)總線上,ACK信號結(jié)束時使輸出緩沖器滿信號OBF變?yōu)闊o效的高電平,如圖10.17中表示的箭頭⑤,從而開始下一個數(shù)據(jù)傳輸過程。由于方式2是雙向傳輸?shù)墓ぷ鞣绞剑绻粋€外設(shè)既可以作為輸入,又可以作為輸出時,采用8255A的方式2與它相連就十分方便。第97頁,課件共168頁,創(chuàng)作于2023年2月圖10.178255A方式2時序第98頁,課件共168頁,創(chuàng)作于2023年2月表10-68255A方式2時序的參數(shù)說明參數(shù)說明8255A最小時間/ns最大時間/nstST選通脈沖的寬度500

tPH數(shù)據(jù)保持時間180

tSIB選通脈沖有效到IBFA有效之間的時間

300tPS

數(shù)據(jù)有效到無效之間的時間0tWOD從寫信號無效到,有效的時間

650tAOD

有效到無效的時間

350tAD

有效到數(shù)據(jù)輸出的時間

350tHD數(shù)據(jù)保持時間200

第99頁,課件共168頁,創(chuàng)作于2023年2月10.2.58255A的應(yīng)用舉例

8255A初始化時,先要寫入控制字,指定它的工作方式,然后才能通過編程,將總線上的數(shù)據(jù)從8255A輸出給外設(shè),或者將外部設(shè)備的數(shù)據(jù)通過8255A送到CPU中。舉一個通過8255A把CPU中的數(shù)據(jù)輸出到打印機上的例子。圖10.18(a)采用查詢方式傳送數(shù)據(jù),A端口作為8位數(shù)據(jù)的輸出端口,工作在方式1輸出方式。C端口作為狀態(tài)端口和控制端口使用,一般的打印機有3個主要的控制狀態(tài)信號線。BUSY表示打印機是否處于“忙”狀態(tài),高電平有效;DATASTB選通信號,低電平有效,當(dāng)該信號有效時,將CPU的數(shù)據(jù)輸出到打印機中;ACK是打印機對主機的應(yīng)答信號,當(dāng)打印機接收完字符后發(fā)出這個信號。當(dāng)DATASTB信號有效時,將BUSY信號置為高電平,ACK有效使BUSY置為低電平,圖中的單穩(wěn)定用來展寬脈沖,以滿足DATASTB打印機對信號要求的時間寬度。第100頁,課件共168頁,創(chuàng)作于2023年2月圖10.188255A與打印機的接口方式(a)查詢方式電路圖;(b)中斷方式電路圖第101頁,課件共168頁,創(chuàng)作于2023年2月A端口地址用PortA表示,C端口地址用PortC表示,控制端口地址用PortCtr表示。輸出500個字符程序段如下:

MOV AL,0A8H ;A端口方式1輸出,PC4輸入

MOV DX,PortCtr ;控制口送DXOUT DX,AL ;輸出控制字

MOV CX,500 ;傳送500個字符

MOV DI,Buffer ;送字符緩沖區(qū)首址LOOP1:MOVAL,[DI] MOV DX,PortA ;A端口地址送DX第102頁,課件共168頁,創(chuàng)作于2023年2月OUT DX,AL ;從A端口輸出一個字符MOV DX,PonC ;C端口地址送DXNEXT:INAL,DX ;從C端口讀入打印機狀態(tài)TEST AL,10H ;測試BUSY信號JNZ NEXT ;如果打印機忙,等待INC DI ;緩沖區(qū)首址加1LOOP LOOP1 ;繼續(xù)輸出下一個字符第103頁,課件共168頁,創(chuàng)作于2023年2月

如果采用中斷方式傳送數(shù)據(jù),電路的連接形式如圖10.18(b)所示。由CPU控制PC4產(chǎn)生選通脈沖,PC4作輸出用,這里OBF沒有用。PC3作為中斷請求INTR,由ACK信號上升沿產(chǎn)生,使用IRQ3,中斷向量0BH。在編寫有關(guān)中斷的程序時,中斷服務(wù)程序要盡量短,把其他的處理工作都放在主程序中。第104頁,課件共168頁,創(chuàng)作于2023年2月程序段如下:MOV AL,0A0HMOV DX,PortCtrOUT DX,AL ;A端口,方式1輸出方式,PC4作輸出MOV AL,00001000B ;置PC4=1,令DATASTB=1選通無效CLI ;關(guān)中斷MOV AH,35HMOV AL,0BHINT 21H ;將0BH中斷向量取到ES、BX中第105頁,課件共168頁,創(chuàng)作于2023年2月PUSH ESPUSH BX ;保存0BH中斷向量PUSH DSMOV DX,OFFSETINTSERV ;中斷子程序的偏移地址送DXMOV AX,SEGINTSERVMOV DS,AX ;中斷子程序段地址送DS;設(shè)置0BH中斷向量,即將DS,DX的內(nèi)容傳送到中斷向量表中MOV AL,0BHMOV AH,25HINT 21H第106頁,課件共168頁,創(chuàng)作于2023年2月POP DSMOV AL,0DHMOV DX,PortCtrOUT DX,AL ;將PC6置“1”,使INTE為“1”,允許8255A端口中斷STI ;開中斷,允許中斷請求信號進入CPUCLIPOP DXPOP DS ;將開始壓棧的ES、BX的內(nèi)容彈入DX中MOV AL,0BHMOV AH,25HINT 21H ;恢復(fù)0BH原中斷向量STI……第107頁,課件共168頁,創(chuàng)作于2023年2月中斷服務(wù)程序

INTSERV:

PUSHAD ;通用寄存器進棧

MOV AL,CL ;打印字符送AL MOV DX,PortA OUT DX,AL ;打印字符送A端口

MOV AL,00H MOV DX,PortCtr OUT DX,AL ;置PC4=0,產(chǎn)生選通信號,使DATASTB為低電平

INC AL OUT DX,AL ;使PC4=1,撤消選通信號

MOV DX,20H OUT DX,20H ;發(fā)EOI命令

POPAD ;通用寄存器出棧

IRET ;中斷返回第108頁,課件共168頁,創(chuàng)作于2023年2月10.3可編程串行接口電路Intel8251A10.3.18251A的主要性能和內(nèi)部結(jié)構(gòu)

825lA是可編程的串行通信接口芯片,它的基本性能如下:

(1)可工作在同步方式,也可工作在異步方式。同步方式下波特率為0~64000波特,異步方式下波特率為0~19200波特。

(2)在同步方式時,每個字符可定義為5、6、7或8位。兩種方法實現(xiàn)同步,由內(nèi)部自動檢測同步字符或由外部給出同步信號。允許同步方式下增加奇/偶校驗位進行校驗。第109頁,課件共168頁,創(chuàng)作于2023年2月(3)在異步方式下,每個字符可定義為5、6、7或8位,用1位作奇偶校驗。時鐘速率可用軟件定義為波特率的l、16或64倍。另外,8251A在異步方式下能自動為每個被輸出的數(shù)據(jù)增加1個起始位,并能根據(jù)軟件編程為每個輸出數(shù)據(jù)設(shè)置1位、1.5位或2位停止位。第110頁,課件共168頁,創(chuàng)作于2023年2月(4)能進行出錯檢測。帶有奇偶、溢出和幀錯誤等檢測電路,用戶可通過輸入狀態(tài)寄存器的內(nèi)容進行查詢。

8251A的內(nèi)部結(jié)構(gòu)框圖如圖10.19所示。從圖中可以看出,它由數(shù)據(jù)總線緩沖器、讀/寫控制邏輯、發(fā)送緩沖器、發(fā)送控制器、接收緩沖器、接收控制器、調(diào)制/解調(diào)器控制邏輯、同步字符寄存器及控制各種操作的方式寄存器等組成。各部件實現(xiàn)的功能如下所示。第111頁,課件共168頁,創(chuàng)作于2023年2月圖10.19825lA內(nèi)部結(jié)構(gòu)原理框圖第112頁,課件共168頁,創(chuàng)作于2023年2月1)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器通過8位數(shù)據(jù)線D7~D0和CPU的數(shù)據(jù)總線相連,負責(zé)把接收口接收到的信息送給CPU,或把CPU發(fā)來的信息送給發(fā)送口。還可隨時把狀態(tài)寄存器中的內(nèi)容讀到CPU中,在825lA初始化時,分別把方式字、控制字和同步字符送到方式寄存器、控制寄存器和同步字符寄存器中。第113頁,課件共168頁,創(chuàng)作于2023年2月2)讀/寫控制邏輯表10-78251A的控制信號與執(zhí)行的操作之間的對應(yīng)關(guān)系C/執(zhí)?行?的?操?作0000010110100011CPU由8251A輸入數(shù)據(jù)CPU向8251A輸出數(shù)據(jù)CPU讀取8251A的狀態(tài)CPU向8251A寫入控制命令第114頁,課件共168頁,創(chuàng)作于2023年2月3)發(fā)送緩沖器與發(fā)送控制器發(fā)送緩沖器包括發(fā)送移位寄存器和數(shù)據(jù)輸出寄存器,發(fā)送移位寄存器通過825lA芯片的TXD管腳將串行數(shù)據(jù)發(fā)送出去。數(shù)據(jù)輸出寄存器寄存來自CPU的數(shù)據(jù),當(dāng)發(fā)送移位寄存器空時,數(shù)據(jù)輸出寄存器的內(nèi)容送給移位寄存器。發(fā)送控制電路對串行數(shù)據(jù)實行發(fā)送控制。發(fā)送器的另一個功能是發(fā)送中止符(BREAK),中止符由在通信線上的連續(xù)低電平信號組成,它是用來在全雙工通信時中止發(fā)送終端的,只要8251A的命令寄存器的bit3為“1”,發(fā)送器就始終發(fā)送終止符。第115頁,課件共168頁,創(chuàng)作于2023年2月4)接收緩沖器與接收控制器接收緩沖器包括接收移位寄存器和數(shù)據(jù)輸入寄存器。串行輸入的數(shù)據(jù)通過8251A芯片的RXD管腳逐位進入接收移位寄存器,然后變成并行格式進入數(shù)據(jù)輸入寄存器,等待CPU取走。接收控制電路是用來控制數(shù)據(jù)接收工作。第116頁,課件共168頁,創(chuàng)作于2023年2月5)調(diào)制/解調(diào)器控制邏輯利用8251A進行遠距離通信時,發(fā)送方要通過調(diào)制解調(diào)器將輸出的串行數(shù)字信號變?yōu)槟M信號,再發(fā)送出去。接收方也必須將模擬信號經(jīng)過調(diào)制解調(diào)器變?yōu)閿?shù)字信號,才能由串行接口接收。在全雙工通信方式下,每個收、發(fā)口都是要連接調(diào)制解調(diào)器。調(diào)制解調(diào)器控制電路是專為調(diào)制解調(diào)器提供控制信號用的。第117頁,課件共168頁,創(chuàng)作于2023年2月10.3.28251A的外部特性圖10.208251A引腳圖第118頁,課件共168頁,創(chuàng)作于2023年2月

1.8251A與CPU的接口信號

8251A與CPU的接口信號可以分為五類,具體如下。

1)雙向的數(shù)據(jù)信號線D7~D0825lA有8條數(shù)據(jù)線D7~D0,D7為最高位,D0為最低位。825lA通過這8根線和CPU的數(shù)據(jù)總線相連接,實際上,數(shù)據(jù)線上不只是傳輸數(shù)據(jù),還傳輸CPU對825lA的編程命令字和825lA送往CPU的狀態(tài)信息。第119頁,課件共168頁,創(chuàng)作于2023年2月2)片選信號CSCS(輸入,11引腳)為片選信號,低電平有效,芯片被選中才能工作,如果8251A未被選中,數(shù)據(jù)線D7~D0將處于高阻狀態(tài),讀/寫信號對芯片都不起作用。第120頁,課件共168頁,創(chuàng)作于

溫馨提示

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

評論

0/150

提交評論