微型計算機(jī)原理與及接口技術(shù)(第二版)第五 (1)_第1頁
微型計算機(jī)原理與及接口技術(shù)(第二版)第五 (1)_第2頁
微型計算機(jī)原理與及接口技術(shù)(第二版)第五 (1)_第3頁
微型計算機(jī)原理與及接口技術(shù)(第二版)第五 (1)_第4頁
微型計算機(jī)原理與及接口技術(shù)(第二版)第五 (1)_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第八節(jié)串行通訊接口

第八節(jié)串行通訊接口一、串行通訊基本概念<一>串行通訊:通訊雙方數(shù)據(jù)信息沿一根或雙根線實現(xiàn)二進(jìn)制序列傳輸稱為串行通訊。<二>兩種通訊方式1、異步通訊ASYNC:以字符為通訊單位,在信息傳輸過程中,不必與數(shù)據(jù)一起發(fā)送同步脈沖的傳送方式稱異步。收發(fā)雙方使用各自的本地時鐘。一個起始位表示字符的開始,停止位表示字符的結(jié)束。

起止式異步通信的字符格式其中共十一位編碼——1位起始位,8位數(shù)據(jù)位,2位停止位。一個字符可由10位,10.5位,11位構(gòu)成,構(gòu)成一幀信息。異步串行通訊ASYNC:以字符為通訊單位,通訊雙方以一個字符(包括附加位)作為數(shù)據(jù)傳輸單位,但發(fā)送方傳送字符的間隔時間不定的。發(fā)送及接收的數(shù)據(jù)不需要保持嚴(yán)格的同步。頻率差別不大于1/16。(在約定的波特率情況下)。用一個起始位表示通訊的開始,以一個停止位表示字符結(jié)束,以保持不斷傳送。發(fā)送方與接收方不可用統(tǒng)一時鐘。異步通訊的主要特點:1)字符幀的傳輸格式使發(fā)送方在字符之間可按要求插入不同長度的時間間隔,每個字符的發(fā)送是隨機(jī)的。2)每個字符開始總是以起始位為基準(zhǔn),使接收方和發(fā)送方保持同步。由于一個字符幀的位數(shù)最多為11位,因此,雙方的時鐘頻率有偏差,也不致于因積累造成錯位。等到下一個字符來到,又使雙方同步。異步通訊一般波特率:50~9600BAUD異步串行通信過程異步串行接口包括接收器和發(fā)送器(1).發(fā)送器:包括發(fā)送緩沖寄存器TBR、發(fā)送移位寄存器和發(fā)送同步控制。發(fā)送數(shù)據(jù)的過程:CPU發(fā)來并行數(shù)據(jù)寫入8250緩沖寄存器,再送入移位寄存器,在發(fā)送時鐘控制下,接照編程規(guī)定的格式,在發(fā)送時鐘(下降沿)控制下,經(jīng)發(fā)送移位寄存器變換為串行數(shù)據(jù)流,然后從發(fā)送引腳發(fā)送出去。(2)接收器:由接收緩沖寄存器、接收移位寄存器、接收同步電路構(gòu)成雙緩沖器結(jié)構(gòu)。接收數(shù)據(jù)的過程是,當(dāng)8250編程初始化后進(jìn)入允許接收和準(zhǔn)備好接收數(shù)據(jù)時,它監(jiān)視接收SIN線。接口的接收移位寄存器RSR對數(shù)據(jù)輸入端SIN輸入的串行數(shù)據(jù)進(jìn)行移位接收。當(dāng)接收完畢之后,按照規(guī)定的數(shù)據(jù)格式和波特率自動刪除起始位、奇偶校驗位和停止位,把串行數(shù)據(jù)移位輸入轉(zhuǎn)換成并行數(shù)據(jù)。接收完一個字符后,把它送入接收緩沖寄存器RBR。2、同步通訊SYNC:以字符序列為通訊單位,每次傳送若干字節(jié)的字符數(shù)據(jù)串,構(gòu)成一幀信息,稱同步傳輸方式。同步傳輸中,收發(fā)設(shè)備使用公共時鐘。短距離傳輸時,時鐘由一條控制線傳輸。遠(yuǎn)程通訊包含在信息塊中。同步傳送:以字符序列為傳送單位,不附加起始位、停止位,控制信息也是以字符形式表示。數(shù)據(jù)塊開始有一個或兩個SYN同步字符,中間是最多達(dá)上千個的字符串。最后的SYN結(jié)尾表示字稱序列結(jié)束,然后再尋找SYN字符。這樣構(gòu)成一組數(shù)據(jù)稱一幀可包含成百上千個字符。傳送速率高,可達(dá)幾百千波特。但雙方要求發(fā)送端和接收端時鐘嚴(yán)格同步,電路復(fù)雜。其格式如下:同步通信規(guī)程分為兩大類:1)面向字符型通信規(guī)程。如IBM公司的二進(jìn)制同步通信規(guī)程BSC(BinarySynchronousCommunication),又稱為BISYC,是一種具有兩個同步字符的雙同步通信規(guī)程。還有國際標(biāo)準(zhǔn)化組織ISO的基本型BASYC,也是一種面向字符型的同步通信規(guī)程。這兩種面向字符型通信規(guī)程的特點是,規(guī)定了10個字符作為傳輸控制專用字符,信息場的長度為8的整數(shù)倍,傳輸速率為200~4800波特。2)面向比特的通信規(guī)程。如IBM公司的同步數(shù)據(jù)鏈路控制規(guī)程SDLC(SynchronousDataLinkControl)。ISO的高級數(shù)據(jù)鏈路控制規(guī)程HDLC(High-LevelDataLinkControl)。這類規(guī)程的特點是由比特組合來實現(xiàn)傳輸控制,而這種組合與實際的字符代碼是完全相重合的,以避免引起混淆。面向比特的通信規(guī)程中規(guī)定其傳輸?shù)男畔㈤L度可變,傳輸速率達(dá)2400波特以上。在同步通信中,因為要求發(fā)送和接收的時鐘完全同步,不可有一點誤差。因此,在近距離,如幾百米甚至數(shù)千米可以在傳輸線中增加一根時鐘信號線,用同一時鐘發(fā)生器驅(qū)動收發(fā)設(shè)備;在數(shù)公里以上的遠(yuǎn)距離通信中,通過調(diào)制/解調(diào)器從數(shù)據(jù)流中提取同步信號,用鎖相技術(shù)可以得到和發(fā)送時鐘頻率完全相同的接收時鐘信號。(三)串行通信的連接方式串行通信有三種連接方式:1)單工方式(Simplex)這種方式只允許數(shù)據(jù)按照一個固定的方向傳送。采用該方式時,已經(jīng)確定了通信兩點中的一點為接收端,另一點為發(fā)送端。這種確定是不可更改的。如下圖所示,在參加通信的A、B兩端中,A只能為接收器,B只能為發(fā)送器。反之,不行。2)半雙工方式(Half-Duplex)參加通信的A、B兩端均具備接收或發(fā)送數(shù)據(jù)能力。由于A、B是由一條信道相連,故在某一特定的時刻,A、B的傳輸方式是明確的,B發(fā)A收或A發(fā)B收。決不允許A或B同一時刻中既發(fā)又收。3)全雙工方式(Full-Dupex)當(dāng)信號的發(fā)送和接收分別使用不同的傳輸線時,這樣的通信系統(tǒng)就是全雙工制,系統(tǒng)在同一時刻既可以發(fā)送又可以接收。二、調(diào)制和解調(diào)1、調(diào)制和解調(diào)計算機(jī)輸入/輸出的數(shù)據(jù)是數(shù)字信號,它的頻率范圍很寬,常從0到若干兆赫茲,在傳輸線上傳輸時要求線路的頻帶也很寬,不然就會產(chǎn)生嚴(yán)重的信號失真。長距離通信時,常需要利用電話線路,它的頻帶則只有300~3400Hz。所以,為了通過電話線路傳輸數(shù)字信號,必須先把數(shù)字信號轉(zhuǎn)換為適合在電話線路上傳送的模擬信號,這就是調(diào)制;經(jīng)過電話線路傳輸后,在接收端再將模擬信號轉(zhuǎn)換為數(shù)字信號,這就是解調(diào)。多數(shù)情況下,通信是雙向的,即半雙工或全雙工制式,具有調(diào)制和解調(diào)功能的器件合制在一個裝置中,這就是調(diào)制解調(diào)器Modem。將數(shù)字信號轉(zhuǎn)換為模擬信號的調(diào)制方法有三種:移頻鍵控FSK,移相鍵控PSK和振幅鍵控ASK。在低速場合下(波特率小于600Baud),一段采用移頻鍵控調(diào)制方式,字的基本原理是把“0”和“1”的兩種數(shù)字信號分別調(diào)制成不同頻率的兩個音頻信號。由于可用頻帶寬度的局限性,波特率高于600時,一般需要采用相位調(diào)制方式。在高速率通信時,電話線的噪聲往往過大,還必須使用品質(zhì)較好、價格較高的通信線路。2、Modem的基本部件Modem的基本部件是調(diào)制器/解調(diào)器、緩沖電路、載波檢測器、振鈴檢測器和撥號音檢測器,關(guān)鍵部件是調(diào)制器/解調(diào)器。調(diào)制器/解調(diào)器輸出的是方波信號,要經(jīng)輸出緩沖電路進(jìn)行濾波,以去掉非工作標(biāo)準(zhǔn)的其它頻率成分,向電話線送出純正的正弦波信號。輸出緩沖電路還要建立一定的輸出電壓和輸出電阻,以與電話線路相匹配。接收緩沖電路除完成接上濾波,電平轉(zhuǎn)換外,還使用一個放大限幅器向調(diào)制器/解調(diào)器送去方波信號。Modem一般都有一個載波檢測器。載波就是用于傳輸數(shù)據(jù)的模擬波形信號。如果在一段時間內(nèi)(100ms到2秒或更長),沒檢測到這個信號,則它將發(fā)出一個信號通知計算機(jī):載波丟失。沒有載波將無法傳輸數(shù)據(jù)。自動撥號功能的Modem裝配了振鈴檢測器和撥號音檢測器,Modem使用振鈴檢測器來確認(rèn)它是否被呼叫。當(dāng)它測到呼叫信號就向計算機(jī)發(fā)出“振鈴檢測到”信號。撥號音檢測器在電話系統(tǒng)就緒之前阻止Modem自動撥號器的撥號啟動。

例如調(diào)制器原理圖,利用FSK(移頻鍵控方式)用兩個不同頻率的信號分別代表“0”和“1”數(shù)值,抗干擾能力強。把“0”和“1”轉(zhuǎn)換成不同頻率的模擬信號。三、串行通訊的物理標(biāo)準(zhǔn)(一)傳輸率:傳輸率是由比特率(bps)和波特率表示。比特率——每秒傳輸?shù)亩M(jìn)制位數(shù)。波特率——每秒傳送的離散狀態(tài)數(shù)的量。計算機(jī)中二者是一致的。波特率標(biāo)準(zhǔn):110,300,600,1200,2400,4800,9600,和19200波特。通訊時,依據(jù)傳送的波特率決定發(fā)送和接收時鐘頻率。時鐘頻率f=n×波特率,n可取1,16,32,64作為系數(shù)。(二)RS-232串行接口標(biāo)準(zhǔn)標(biāo)準(zhǔn)化的通用總線能簡化系統(tǒng)硬件和軟件的設(shè)計,使得系統(tǒng)結(jié)構(gòu)模塊化和標(biāo)準(zhǔn)化,為計算機(jī)系統(tǒng)所普遍采用。為了不同廠商的計算機(jī)和各種外圍設(shè)備串行連接的需要,已經(jīng)制訂了一些串行物理接口的標(biāo)準(zhǔn)。RS-232是美國電子工業(yè)協(xié)會EIA于1962年公布,并于1969年修訂的串行接口標(biāo)準(zhǔn)。RS-232已成為數(shù)據(jù)終端設(shè)備DTE如計算機(jī),與數(shù)據(jù)通信設(shè)備DCE如Modem的接口標(biāo)準(zhǔn),不僅在遠(yuǎn)距離通信中要經(jīng)常用到它,就中兩臺計算機(jī)或設(shè)備之間的近距離串行連接也普遍采用232C接口。1、RS-232C的引腳定義232C使用一個25針的連接器,其引腳排列如下圖所示。在這25個引腳中,分配20個引腳作為RS-232C信號,其中有4個數(shù)據(jù)線、11個控制線、3個定時信號線、2個地信號線;另外,有2個引腳保留,3個引腳未定義。如圖A為25針連接器DB-25的外形圖。另外,圖B中還給出了在AT機(jī)上使用的9針連接器及其對應(yīng)的引腳。232C接口中實際包括兩個信道:主信道和次信道。次信道為輔助串行通道提供數(shù)據(jù)控制和通道,但其傳輸速率比主信道要低得多。除了速率低之外,次信道跟主信道相同,但通常較少用。介紹主信道的信號定義。TxD(TransmittedData)發(fā)送數(shù)據(jù):串行數(shù)據(jù)的發(fā)送端。RxD(ReceivedData)接收數(shù)據(jù):串行數(shù)據(jù)的接收端RTS(ResquestToSend)請求發(fā)送:當(dāng)數(shù)據(jù)終端準(zhǔn)備好送出數(shù)據(jù)時,就發(fā)出有效的RTS信號,用于通知Modem準(zhǔn)備接收數(shù)據(jù)。CTS(ClearToSend)清除發(fā)送(也稱允許發(fā)送):當(dāng)Modem已準(zhǔn)備好接收數(shù)據(jù)終端的傳送數(shù)據(jù)時,發(fā)出CTS有效信號來響應(yīng)RTS信號。所以RTS和CTS是一對用于發(fā)送數(shù)據(jù)的聯(lián)絡(luò)信號。DTR(DataTerminalReady)數(shù)據(jù)終端準(zhǔn)備好:通常當(dāng)數(shù)據(jù)終端一加電,該信號就有效,表明數(shù)據(jù)終端準(zhǔn)備就緒。它可以用做數(shù)據(jù)終端設(shè)備發(fā)給數(shù)據(jù)通信設(shè)備Modem的聯(lián)絡(luò)信號。DSR(DataSetReady)數(shù)據(jù)裝置準(zhǔn)備好:通常表示Modem已接通電源連到通信線路上,并處在數(shù)據(jù)傳輸方式,而不是處于測試方式或斷開狀態(tài)。它可以用做數(shù)據(jù)通信設(shè)備Modem響應(yīng)數(shù)據(jù)終端設(shè)備DTR的聯(lián)絡(luò)信號。GND(Ground)信號地:它為所有的信號提供一個公共的參考電平,相對于其它信號它為0V電壓。保護(hù)地(機(jī)殼地):這是一個起屏蔽保護(hù)作用的接地端,一般應(yīng)參照設(shè)備的使用規(guī)定,連接到設(shè)備的外殼或機(jī)架上,必要時要連接到大地。CD(Carrier

Datected)載波檢測:當(dāng)本地Modem接收到來自遠(yuǎn)程Modem正確的載波信號時,使由該引腳向數(shù)據(jù)終端發(fā)出有效信號。該引腳也縮寫為DCD。RI(RingIndicator)振鈴指示:自動應(yīng)答的Modem用此信號作為電話鈴響的指示,在響鈴期間,該引線保持有效TxC(TransmitterClock)發(fā)送器時鐘:控制數(shù)據(jù)終端發(fā)送串行數(shù)據(jù)的時鐘信號。RxC(ReceiverClock)接收器時鐘:控制數(shù)據(jù)終端接收串行數(shù)據(jù)的時鐘信號。終端發(fā)送器時鐘(引腳24):它是由數(shù)據(jù)終端向外提供的發(fā)送時鐘,在信號電平的中間跳變。它和發(fā)送器時鐘TXC都與發(fā)送數(shù)據(jù)TXD有關(guān)。信號質(zhì)量檢測(引腳21)和數(shù)據(jù)信號速率選擇(引腳23):通常用于指示信號質(zhì)量和選擇傳輸速率。2、RS-232的連接232C廣泛用于數(shù)字終端設(shè)備如計算機(jī)與調(diào)制解調(diào)器之間的接口,以實現(xiàn)通過電話線路進(jìn)行遠(yuǎn)距離通信,如圖所示。盡管232C使用20個信號線,但通常僅使用其9個信號線。微型計算機(jī)、計算機(jī)終端和一些外部設(shè)備配有232C串行接口。在它們之間進(jìn)行短距離通信時,無需電話線和調(diào)制解調(diào)器。下圖(a)是最簡單的只用三線實現(xiàn)相連的通信方式。很明顯,為了交換信息,TxD和RxD應(yīng)當(dāng)交叉連接。圖(b)中RTS和CTS互接,這是用請求發(fā)送RTS信號來產(chǎn)生允許發(fā)送CTS,以滿足全雙工通信的聯(lián)絡(luò)控制要求。請求發(fā)送接到允許發(fā)送,表明請求傳送總是允許的。同樣,DTS和DSR互接,用數(shù)據(jù)終端準(zhǔn)備好產(chǎn)生數(shù)據(jù)裝置準(zhǔn)備好。圖(c)是另一種利用232C直接互連的通信方式,通信更加可靠,但所用連線較多。由于上述連接不使用調(diào)制解調(diào)器,所以也稱為零調(diào)制解調(diào)器連接(NullModem)。3、電平轉(zhuǎn)換:RS-232電平為EIA電平,邏輯電平不同于TTL和MOS電平。1)TXD和RXD信號線 計算機(jī)信號MARK“1”=-3~-25V-12V空號SPACE“0”=+3~+25V+12V高于+25V、低于-25V無意義

介于+3V~-3V電壓無意義2)RTSCTSDTRDSR計算機(jī)“1”高電平+3V~+25V+12V“0”低電平-3V~-25V-12V

上述電平標(biāo)準(zhǔn)稱為EIA電平。串行通訊RS-232C接口發(fā)送TTL電平→EIA電平發(fā)送時使電平轉(zhuǎn)換器件接收EIA電平→TTL電平(三)20mA電流環(huán)

20mA電流環(huán)是曾經(jīng)流行的另一種串行接口。它采用電流轉(zhuǎn)換器取代232C標(biāo)準(zhǔn)中的電平轉(zhuǎn)換,構(gòu)成電流控制式接口。電流控制是把20mA電流作為邏輯“1”,零電流作為邏輯“0”。優(yōu)點:抗干擾能力強。20mA電流環(huán)不能連接MODEM。四、串行通訊的校驗方法(一)奇偶校驗方法:奇偶校驗的ASCII碼對每一個字符進(jìn)行校驗。ASCII碼D7位構(gòu)成最高位為“0”。奇校驗—— ASCII碼配成奇數(shù)個“1”

原ASCII碼“1”個數(shù)為奇數(shù)個,最高為“0”

原ASCII碼“1”個數(shù)為偶數(shù)個,最高位置成“1”。偶校驗—— ASCII碼配成“偶數(shù)個” 原ASCII碼“1”個數(shù)偶數(shù)個,最高位置成“0”

原ASCII碼“1”個數(shù)奇數(shù)個,最高位置成“1”。一般異步傳送——偶校驗;一般同步傳送——奇校驗。在接收時,檢查每個字符(包括奇偶校驗位),其“1”個數(shù)是否符合規(guī)定:若不符合規(guī)定,則置出錯標(biāo)志,供CPU查詢及處理。(二)方陣碼校驗:方陣校驗是奇/偶校驗和“異或校驗”的綜合。七位ASCII碼,最高位為奇/偶校驗位(奇校驗或偶校驗)。傳輸過程中,每傳輸一個字符,進(jìn)行該字符奇/偶校驗。若干個字符構(gòu)成一個數(shù)據(jù)塊,列成方陣,所有字符再進(jìn)行異或運算,得到異或結(jié)果,產(chǎn)生一個字符的檢驗字符,附在數(shù)據(jù)塊末尾。數(shù)據(jù)接收時,接收方得到一個檢驗字符,并與發(fā)送來的最后一個字符進(jìn)行比較,若二者相同,則數(shù)據(jù)正確,否則,數(shù)據(jù)錯。(三)CRC校驗碼:循環(huán)冗余校驗碼簡稱CRC碼。CRC校驗是對整個數(shù)據(jù)塊校驗一次,用于同步通訊方式。主要方法:用一個固定的數(shù)去除信息碼,得出余數(shù),將此余數(shù)附在住處碼之后,構(gòu)成CRC字符。當(dāng)接收器收到信息后,也用同樣的數(shù)除收到的信息,也得到一個余數(shù)。如果發(fā)送接收過程中無錯,那么發(fā)送方和接收方得到的兩個余數(shù)相等;如有錯則不等,這種方法稱CRC校驗方法。CRC校驗碼:要傳送的信息具有校驗?zāi)芰?,抗干撓能力,必須對傳送信息進(jìn)行編碼。編碼方法如ASCII碼、格雷碼等。冗余碼在傳送的若干位信息碼后邊,附加上若干位的校驗位,即附加冗余位構(gòu)成n位的循環(huán)碼。附加的位數(shù)越多,校驗?zāi)芰υ綇?。循環(huán)碼:一組信息是n位,其中k位信息編碼,r位冗余校驗碼,二者組合起來構(gòu)成循環(huán)碼。其中編碼形式組合起來構(gòu)成一組編碼。若其中每一位編碼循環(huán)右移一位,得到的仍然是該編碼中的一個碼字,具有這種性質(zhì)的編碼稱循環(huán)碼。二進(jìn)制多項式表示方法:二進(jìn)制數(shù)其系數(shù)可用B7、B6……B0表示,Bn只取“0”或“1”那么可用一個多項式表示一組二進(jìn)制數(shù):B(X)=B7X7+B6X6+B5X5+……+B0X0其Xn中n僅僅是表示該位系數(shù)在二進(jìn)制數(shù)中的位置。例:11000001B(X)=1·X7+1·X6+0·X5+0·X4+0·X3+0·X2+0·X1+1·X0=X7+X6+1表示八位二進(jìn)制數(shù)中第七位為1,第六位為1,第零位為1,而其余位為0。這樣表示后,一個二進(jìn)制碼唯一對應(yīng)著一個X多項式;一個X多項式也唯一對應(yīng)著一個二進(jìn)制碼。一般n位二進(jìn)制數(shù)可用n-1階多項式表示:B(X)=Bn-1Xn-1+Bn-2Xn-2+……B1X1+B0X0Bn-1=1B(X)是n-1階多項式Bn-1=0B(X)是低于n-1階多項式。B(X)稱為循環(huán)碼字的二進(jìn)制碼X多項式表示方法。二進(jìn)制多項式乘除法與普通代數(shù)的乘除法相同。二進(jìn)制多項式加減法將對應(yīng)項的系數(shù)按模2運算(異或運算),即半加不進(jìn)位(或借位)。按模2運算的加減法,其結(jié)果是相同的。那么如何產(chǎn)生冗余校驗碼呢?方法:每一種循環(huán)碼配一個專門的X多項式,用這個多項式產(chǎn)生循環(huán)碼的校驗附加位,這個多項式稱為循環(huán)碼生成多項式。如:B(X)——原來信息碼,K位信息碼G(X)——固定的生成多項式如果附加r位的校驗位后,那么B(X)提升到

Xr階→Xr·B(X)Xr·B(X)/G(X)=Q(X)+R(X)/G(X)Q(X)——商的多項式R(X)——余數(shù)多項式(校驗位) 校驗位多項式

CRC校驗碼Xr·B(X)=Q(X)·G(X)+R(X)Xr·B(X)-R(X)=Q(X)·G(X)由于多項式相加結(jié)果與相減結(jié)果是相同的,那么XrB(X)+R(X)=Q(X)G(X)說明信息碼多項式可與余數(shù)多項式合并成一個新的多項式V(X)。則構(gòu)成的循環(huán)碼多項式可被G(X)生成多項式整除,其余數(shù)為0。由此可知,信息位與校驗位是分開的,附加一個余數(shù)多項式,并不影響信息位B(X)。那么整個循環(huán)碼多項式V(X)=Xr·B(X)+R(X)中

片選信息碼CRC校驗碼CRC冗余校驗碼就是附加信息碼之后,并且等于附加余數(shù)多項式R(X)系數(shù)的附加字節(jié)。五、可編程異步串行通訊接口芯片8250單一的+5V電源,可編程串行通訊接口可實現(xiàn)串行數(shù)據(jù)并行數(shù)據(jù),或并行數(shù)據(jù)串行數(shù)據(jù)的轉(zhuǎn)換。支持異步串行通訊靈活的可編程性能。(一)INS8250主要功能簡介:1、支持異步串行通訊規(guī)程,發(fā)送時可自動插入起始位、停止位和奇偶校驗位。接收時自動刪除。內(nèi)部具有可編程的時鐘產(chǎn)生電路,可對外部輸入時鐘進(jìn)行1~65535次分頻,可編程選擇分頻次數(shù)。內(nèi)部時鐘產(chǎn)生頻率為16×波特率,作為接收時鐘和發(fā)送時鐘。具有CPU發(fā)向調(diào)制調(diào)解器信號。3、具有優(yōu)先級排序中斷系統(tǒng),有多種中斷源1)數(shù)據(jù)總線緩沖器:與CPU總線D7~D0連接。2)讀/寫控制邏輯:接收讀/寫命令和地址信號,產(chǎn)生內(nèi)部控制信號,進(jìn)行讀或?qū)懖僮鳌?)數(shù)據(jù)發(fā)送和接收:接收移位寄存器接收器由:接收緩沖寄存器構(gòu)成接收同步電路雙緩沖器結(jié)構(gòu)。當(dāng)接收數(shù)據(jù)時,8250的接收移位寄存器RSR對數(shù)據(jù)輸入端SIN輸入的串行數(shù)據(jù)進(jìn)行移位接收。在接收時,首先要搜索起始位。8250的數(shù)據(jù)接收時鐘RCLK使用16倍波特率的時鐘信號。接收器用RCLK檢測到SIN輸入信號由高電平變低后,連續(xù)測試8個RCLK時鐘周期,若采樣到的都是低電平,則確認(rèn)為起始位;若低電平的保持時間不是8個RCLK時鐘周期,則認(rèn)為是傳輸線上的干擾。在確認(rèn)為是起始位后,每隔16個RCLK時鐘周期對SIN輸入的數(shù)據(jù)位進(jìn)行采樣,直至規(guī)定的數(shù)據(jù)格式結(jié)束,如圖所示。8250按照規(guī)定的數(shù)據(jù)格式和波特率自動刪除起始位、奇偶校驗位和停止位,把串行數(shù)據(jù)移位輸入轉(zhuǎn)換成并行數(shù)據(jù)。接收完一個字符后,把它送入接收緩沖寄存器RBR。接收器在接收數(shù)據(jù)的同時,還對接收數(shù)據(jù)的正確性和接收過程進(jìn)行監(jiān)視。如果發(fā)現(xiàn)出現(xiàn)奇偶校驗錯(PE)、幀錯(FE)、溢出錯(OE)或接收到中止符,由在狀態(tài)寄存器中置相應(yīng)位,并可通過中斷控制邏輯請求中斷,要求CPU處理。為了使傳遞過程更可靠,8250在接收端設(shè)立了三種出錯標(biāo)志:(1)奇偶錯誤若接收到的字符的“1”的個數(shù)不符合奇偶校驗要求,則置這個標(biāo)志,發(fā)出奇偶校驗出錯信息。(2)幀錯誤若接收到的字符格式不符合規(guī)定(如缺少停止位),由置這個標(biāo)志,發(fā)出幀錯誤信息。(3)溢出錯誤:8250是一雙緩沖器結(jié)構(gòu)。當(dāng)前一數(shù)據(jù)尚在接收數(shù)據(jù)寄存器中,而未被CPU讀走,后一個數(shù)據(jù)已經(jīng)到來而將其破壞時,該位為1。CPU讀接收緩沖寄存器時使該位清0。2)發(fā)送數(shù)據(jù):發(fā)送保持寄存器發(fā)送器包括:發(fā)送移位寄存器發(fā)送同步控制轉(zhuǎn)換過程:CPU發(fā)來并行數(shù)據(jù)寫入8250緩沖寄存器再送入移位寄存器,在發(fā)送時鐘控制下,并行數(shù)據(jù)串行數(shù)據(jù),加上起始位、停止位、奇偶校驗位,通過SOUT發(fā)送出去。4、時鐘發(fā)生環(huán)節(jié):波特率發(fā)生器和除數(shù)寄存器。8250發(fā)送和接收時鐘是波特率的16倍。外部時鐘f=1.8432MHz,基準(zhǔn)時鐘,分頻次數(shù)=1843200/(16·波特率),寫入分頻次數(shù)寄存器(除數(shù)寄存器)。5、傳輸線控制寄存器和傳輸線狀態(tài)寄存器:控制寄存器——寫入控制字狀態(tài)寄存器——記錄通訊時的狀態(tài)6、中斷控制寄存器,包括: 中斷允許寄存器 中斷識別寄存器 中斷控制邏輯實現(xiàn)中斷管理。7、MODEM控制邏輯:調(diào)制解調(diào)控制寄存器包括:調(diào)制解調(diào)狀態(tài)寄存器調(diào)制解調(diào)控制邏輯可編程提供調(diào)制調(diào)解控制信號。(三)、8250的引腳引腳功能:1、數(shù)據(jù)總線D0~D7CPU與8250之間的信息通過這些數(shù)據(jù)線交換。2、地址及地址控制線地址線A0~A2尋址8250內(nèi)部寄存器。三個片選線CS0、CS1和CS2都有效時,才選中8250這個芯片。地址選通信號ADS低有效時,鎖存上述地址線和片選線的輸入狀態(tài),保證讀寫期間的地址穩(wěn)定。若確定對芯片讀寫時,不會出現(xiàn)地址不穩(wěn)定現(xiàn)象,則不必鎖存,而將ADS引腳接地。另外,片選輸出引腳CSOUT當(dāng)三個片選線都為有效時輸出高電平,說明8250被選中。3、讀寫控制線8250讀寫控制信號有兩對,每對信號作用完全相同,只不過是有效電平不同而已。當(dāng)8250被選中時,數(shù)據(jù)輸入選通信號DISTR(高有效)和DISTR(低有效)有一個信號有效,CPU就從被選擇的內(nèi)部寄存器中讀出數(shù)據(jù);而數(shù)據(jù)輸出選通信號DOSTR(高有效)和DOSTR(低有效)有一個有效,CPU就將數(shù)據(jù)寫入8250被選擇的內(nèi)部寄存器。另外,在CPU從8250讀取數(shù)據(jù)時,8250輸出驅(qū)動器禁止信號DDIS為低電平,以用來禁止外部收發(fā)器對系統(tǒng)總線的驅(qū)動;其它時間,DDIS為高電平信號。4、復(fù)位線MR這個引腳接至系統(tǒng)的復(fù)位信號RESET。當(dāng)其有效時,8250產(chǎn)生復(fù)位,控制部分寄存器和輸出信號的狀態(tài),參見表2。5、中斷請求線INTRPT8250內(nèi)部有四種類型的中斷源,當(dāng)任一個未被屏蔽的中斷源請求時,INTRPT輸出高電平向CPU請求中斷。適當(dāng)?shù)闹袛喾?wù)或復(fù)位MR有效都使INTRPT變?yōu)榈碗娖健?、ADS——地址鎖存輸入當(dāng)ADS=0時,片選及地址信號輸入內(nèi)部;當(dāng)ADS=1時,鎖定片選及地址信號于內(nèi)部,以便穩(wěn)定譯碼。7、CSOUT——片選輸出指示。當(dāng)CS0=1,CS1=1,CS2=0時,則CSOUT=1,否則CSOUT=0。8、DISTR和DISTR——輸入選通引腳二者作用相同,但輸入極性相反。當(dāng)DISTR=1(或DISTR=0)時,CPU可從8250進(jìn)行讀操作。通常接IOR到DISTR。9、DOSTR和DOSTR——數(shù)據(jù)寫選通輸入8250選中只要DOSTR=1(或者DOSTR=0)滿足條件就可把數(shù)據(jù)寫入選中的寄存器中。10、DDIR——驅(qū)動器禁止輸出引腳每當(dāng)從8250讀出數(shù)據(jù)時,則DDIR=0,其他操作時DDIR=1。此信號可禁止緩沖器動作。11、SOUT——串行數(shù)據(jù)輸出12、SIN——串行數(shù)據(jù)輸入13、XTAL1和XTAL2:外部時鐘輸入端14、RCLK——接收時鐘輸入端(接BAUDOUT)15、BAUDOUT——波特率輸出引腳16、DTR,DSR,RTS,CTS,RI,RLSD——通信設(shè)備聯(lián)絡(luò)信號其中RLSD——接收信號檢測輸入,低電平有效。它由MODEM控制。當(dāng)RLSD=0時,說明MODEM已收到載波。RI——振鈴指示輸入。由MODEM控制,當(dāng)RI=0時說明MODEM接收到電話線上撥號呼叫,要求8250予以回答。17、OUT0和OUT1——用戶指定兩個輸出信號。該信號受控于8250內(nèi)部MODEM控制寄存器的D1和D3位。如編程使D1=1和D3=1,則OUT1和OUT2便是低電平。8、DISTR和DISTR——輸入選通引腳二者作用相同,但輸入極性相反。當(dāng)DISTR=1(或DISTR=0)時,CPU可從8250進(jìn)行讀操作。通常接IOR到DISTR。9、DOSTR和DOSTR——數(shù)據(jù)寫選通輸入8250選中只要DOSTR=1(或者DOSTR=0)滿足條件就可把數(shù)據(jù)寫入選中的寄存器中。10、DDIR——驅(qū)動器禁止輸出引腳每當(dāng)從8250讀出數(shù)據(jù)時,則DDIR=0,其他操作時DDIR=1。此信號可禁止緩沖器動作。11、SOUT——串行數(shù)據(jù)輸出12、SIN——串行數(shù)據(jù)輸入13、XTAL1和XTAL2:外部時鐘輸入端14、RCLK——接收時鐘輸入端(接BAUDOUT)15、BAUDOUT——波特率輸出引腳16、DTR,DSR,RTS,CTS,RI,RLSD——通信設(shè)備聯(lián)絡(luò)信號其中RLSD——接收信號檢測輸入,低電平有效。它由MODEM控制。當(dāng)RLSD=0時,說明MODEM已收到載波。RI——振鈴指示輸入。由MODEM控制,當(dāng)RI=0時說明MODEM接收到電話線上撥號呼叫,要求8250予以回答。17、OUT0和OUT1——用戶指定兩個輸出信號。該信號受控于8250內(nèi)部MODEM控制寄存器的D1和D3位。如編程使D1=1和D3=1,則OUT1和OUT2便是低電平。(四)、8250內(nèi)部寄存器和初始化編程1.8250內(nèi)部寄存器及其尋址:內(nèi)部有十個寄存器初始化命令控制寄存器共五個: 寫入初始化編程命令 傳輸線控制寄存器LCR MODEM控制寄存器MCR

中斷允許寄存器IER

分頻次數(shù)低八位寄存器DLL

分頻次數(shù)高八位寄存器DHL狀態(tài)寄存器三個(存放狀態(tài)信號):傳輸線狀態(tài)寄存器LSR MODEM狀態(tài)寄存器MSR

中斷識別寄存器IIR數(shù)據(jù)寄存器2個:發(fā)送緩沖器TBR

接收緩沖器RBR十個寄存器尋址由A2~A0決定。DLAB——傳輸線控制寄存器LCR其中,D7位稱DLAB位DLAB=1——尋址分頻次數(shù)寄存器

DLAB=0——尋址其他寄存器表5.4PC機(jī)8250內(nèi)部寄存器的地址開關(guān)K接J2或J1開關(guān)接J1(為COM1),A8=1選中A9 A8A7A6A5A4A3A2A1 A01 11 1111 00 0 2F8H………… ………1 111111 11 1 3FFH開關(guān)接J2(COM2),A8=0選中 A9 A8A7A6A5A4A3A2A1 A01 01 11 1100 0 2F8H………… ………1 01 11 1111 1 2FFH<二>8250的控制字8250內(nèi)部有多個寄存器,共分為兩組:一組用于工作方式、通信參數(shù)的控制和設(shè)置。屬于這一組的有波特率分頻器、傳輸線控制寄存器、MODEM控制寄存器和中斷允許寄存器。這些寄存器均是在8250初始化時用OUT指令向其中之置入初值的。另一組寄存器用于實現(xiàn)通信傳輸,包括輸入和輸出緩沖寄存器、記憶當(dāng)前狀態(tài)的傳輸線狀態(tài)寄存器、MODEM狀態(tài)寄存器和中斷標(biāo)識寄存器。1、傳輸線控制寄存器LCR:可讀寫八位寄存器初始化第二個參數(shù)是LCR,其格式如圖所示。傳輸線控制寄存器LCR確定在串行傳輸中要用的字符長度、停止位個數(shù)和奇偶校驗類型。例如:串行口1LCR地址3FBH數(shù)據(jù)長七位,2位停止位,奇校驗。

MOV DX,3FBH MOV AL,00001110BOUTDX,AL2、分頻次數(shù)鎖存器DLL和DLH:8250內(nèi)部具有可編程波特率發(fā)生電路。產(chǎn)生發(fā)送時鐘。外部XTAL1時鐘信號作為基準(zhǔn)時鐘。如:fsc=1.8432MHz,可進(jìn)行1~65535分頻后,在內(nèi)部產(chǎn)生發(fā)送時鐘等于波特率,并可在BAUDOUT輸出一個f=16·波特率的時鐘信號。在8250初始化時,根據(jù)要求波特率計算分頻次數(shù),并寫入分頻次數(shù)鎖存器內(nèi)

DLL——低八位,地址3F8H分頻次數(shù)鎖存器(十六位)

DLH——高八位,地址3F9H分頻次數(shù)=1843200/(波特率·16);波特率=1843200/(分頻次數(shù)·16)。依據(jù)波特率可計算分頻次數(shù)。例如: 4800 BAUD分頻次數(shù)=1843200/(4800·16)=24=18H,然后送入DLL和DLH初始化: MOV DX,03FBH MOV AL,80H OUT DX,AL;D7=1選分頻次數(shù)鎖存器

MOV DX,3F8H;DLL低八位

MOV AL,18H OUT DX,AL

MOV DX,3F9H;DLH高八位

MOV AL,00H OUTDX,AL3、調(diào)制解調(diào)器控制寄存器MCR初始化的第三個參數(shù)是調(diào)制解調(diào)器控制寄存器,其格式如圖所示。

MODEM控制寄存器MCR控制字的格式利用MCR相應(yīng)位置1,置0控制,連接8250的控制MODEM的信號線等。(四)8250初始化編程基本步驟如下:1、確認(rèn)串行口地址: COM1 2F8~2FFHCOM2 3F8~3FFH2、設(shè)置分頻次數(shù)(波特率)依據(jù)波特率,計算和查表得出分頻次數(shù)十六位,分別放入DLL和DLH中。為了訪問DLL和DLH寄存器,先將LCR其D7=1(DLAB),然后再寫入。3、設(shè)置通訊數(shù)據(jù)格式:依據(jù)要求字符代碼位數(shù)、停止位、奇/偶校驗位等,初始化LCR。 例:字符格式為七位,1位停止位,偶校驗

LCR控制字 00011010B

MOVDX,3FBH MOVAL,1AH;

OUTDX,AL 4、設(shè)置MODEM控制寄存器MCR如采用簡單連接方式,近程通信,空MODEM,則不需要設(shè)置MODEM控制字。若外接MODEM或需要聯(lián)絡(luò)信號時,必須設(shè)置MODEM控制字。一般情況MCR控制字設(shè)置為03H。使RTS=0,使DSR=0。在正常情況下,MCRD4=0(不使用回送),說明8250處于正常工作狀態(tài)。5、設(shè)置中斷允許寄存器IER;(3F9H)若不采用中斷方式,IER控制字設(shè)置為0,禁止中斷使LCRD7=0,執(zhí)行

MOVAL,00H MOVDX,3F9H OUTDX,AL例1:初始化編程舉例雙機(jī)COM1通訊,波特率2400波特。七位數(shù)據(jù)位,1位停止位,偶校驗,不用中斷,初始化編程。解:分頻次數(shù)=1843200/2400x16=48=0030H1. 初始化編程始下:

MOVDX,3FBH ;LCR地址傳輸控制寄存器

MOVAL,80H OUTDX,AL ;DLAB=1 MOVDX,3F8H ;DLL設(shè)置分頻數(shù)

MOVAL,30H ;設(shè)置分頻次數(shù)

OUTDX,AL MOVDX,3F9H ;DLH高字節(jié)分頻器

MOVAL,00H ;分頻次數(shù)字節(jié)鎖存器

OUTDX,AL;數(shù)據(jù)格式

MOVDX,3FBH ;LCR地址

MOVAL,1AH ;00011010

OUTDX,AL ;字符長度七位,正常偶校驗,停止1位;不用中斷,使OUT2=1,RTS=0,DTR=0 MOVDX,3FCH ;MODEM控制寄存器MCR MOVAL,03H OUTDX,AL MOVDX,3F9H ;中斷允許寄存器

MOVAL,00H ;禁止中斷

OUTDX,AL以上適用于雙機(jī)通訊,不使用中斷。MODEM設(shè)為13H(寫入控制字),8250進(jìn)入回送自檢方式,自發(fā)自收。<通訊工作程序>:第一種方法查詢方式查詢方式發(fā)送的接收,禁止中斷發(fā)送字符在LC中,接收字符放在AL中。LOOP:MOVDX,3FDH ;LSR傳輸線狀態(tài)寄存器

INAL,DX ;輸入狀態(tài)

TESTAL,1EH ;00011110任何一個為1時出錯

JNZERROR ;若有錯轉(zhuǎn)出錯處理

TESTAL,01H ;檢查接收到字符完畢沒有?

JNZRCV ;是,轉(zhuǎn)接收

TESTAL,20H ;檢查可否發(fā)送字節(jié)

JZLOOP ;重新檢查

MOVDX,3F8H ;發(fā)送緩沖器地址

MOVAL,CL ;待發(fā)送字符放在CL中

OUTDX,AL ;發(fā)送到發(fā)送緩沖器

JMPLOOPRCV:MOVDX,3F8H ;接收字符

INAL,DX MOV[BX],AL ;存入

INCDX JMPLOOP 發(fā)送字符時,利用程序查詢LSR中的D5位

D5=1發(fā)送緩沖器空

D5=0發(fā)送緩沖器未空 接收字符時,利用程序查詢LSR中的D0位

D0=1接收就緒,執(zhí)行INAL,DX指令

D0=0未就緒 并檢查接收有無錯誤。第二種方法,中斷法。初始化編程,開放中斷發(fā)送時——開放發(fā)送緩沖器空中斷,使IER中D1=1初始化后,發(fā)送第一個字符,寫入發(fā)送緩沖寄存器,發(fā)送完畢引起中斷,在中斷服務(wù)程序?qū)懭胂乱粋€字符。接收時——開放接收數(shù)據(jù)出錯中斷,令I(lǐng)ER中D2=1開放數(shù)據(jù)準(zhǔn)備就緒中斷,令I(lǐng)ER中D0=1接收時,有錯引起中斷,轉(zhuǎn)出錯處理接收就緒中斷,在中斷服務(wù)程序中讀取一個字節(jié)。五)8250應(yīng)用舉例 [例題]已知在一臺IBM-PC機(jī)的0號擴(kuò)展槽內(nèi),插了一塊以INS8250為核心異步串行通信適配卡。試編寫一程序,利用8250的循環(huán)回送特性,將IBM-PC作為發(fā)送的接收機(jī),從鍵盤輸入內(nèi)容,經(jīng)接收后再在CRT上顯示出來。設(shè):數(shù)據(jù)傳輸速率為1200波特; 通信格式為7位/字符、1個停止位; 奇校驗; 數(shù)據(jù)發(fā)送和接收均采用查詢方式; 程序為循環(huán)結(jié)構(gòu),只要按下鍵,就顯示。符合題目要求的流程如下圖。程序:

STACK SEGMENTPARASTACK‘STACK’ DB 256DUP(0)

STACK ENDS CODE SEGMENTPARARUBLIC‘CODE’ ASSUMECS:CODE,SS:STACK;……………… STARTPROCFAR MOVAX,STACK ;

MOVSS,AX;………………;初始化8250:7位數(shù)據(jù)位,1位停止位,奇校驗,波特率1200并;設(shè)定為內(nèi)部連接方式

MOV DX,3F8H MOV AL,80H OUT DX,AL ;設(shè)傳輸線控制寄存器位7為1;………………

MOV DX,3F8H;設(shè)波特率為1200 MOV AL,60H OUT DX,AL MOV DX,3F9H MOV AL,0 OUT DX,AL;……………… MOV DX,3FBH;設(shè)奇校驗,1位停止位,7位數(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

提交評論