




已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第6章 可編程串行接口芯片16550,6.1 串行接口系統(tǒng)概述,6.2 可編程串行接口芯片16550,6.1 串行接口系統(tǒng)概述,串行通信方式用于遠程通信。 數(shù)據(jù)在單條傳輸線上,一位接一位地按順序傳送的方式稱為串行通信。串行通信主要優(yōu)點是節(jié)省通信線路,但具有數(shù)據(jù)傳輸效率低的特點。因此,串行通信適合于遠距離傳送,可以從幾米到數(shù)千公里。對于長距離、低速率的通信,串行通信往往是唯一的選擇。,6.1 串行接口系統(tǒng)概述,6.1.1 串行I/O接口,6.1.2 串行通信基礎(chǔ),6.1.3 串行通信協(xié)議,6.1.1串行I/O接口,串行通信方式 異步方式 串行異步接口 通用異步收發(fā)器 同步方式 串行同步接口 通用同步收發(fā)器,一、串行接口的基本功能,串行接口與輸入輸出設(shè)備之間以串行方式傳送數(shù)據(jù),與CPU之間以并行方式傳送數(shù)據(jù)。,CPU,串行 接口,外部 設(shè)備,串行,并行,6.1.1串行I/O接口,功能1 實現(xiàn)串行和并行數(shù)據(jù)格式之間的轉(zhuǎn)換。,功能2 實現(xiàn)數(shù)據(jù)緩沖功能。,功能3 控制功能。接收CPU的命令,輸出接口的狀態(tài)等。,6.1.1串行I/O接口,串行接口的基本功能如下:,二、串行接口的基本結(jié)構(gòu),6.1.1串行I/O接口,串行接口的基本結(jié)構(gòu)如下:, 輸出緩沖寄存器:接收CPU從數(shù)據(jù)總線上送來的并行數(shù)據(jù),并加以保存。, 輸出移位寄存器:它接收從輸出緩沖器送來的并行數(shù)據(jù),以發(fā)送時鐘的速率把數(shù)據(jù)逐位移出,即將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)輸出。, 輸入移位寄存器:它以接收時鐘的速率把出現(xiàn)在串行數(shù)據(jù)輸入線上的數(shù)據(jù)逐位移入,當數(shù)據(jù)裝滿后,并行送往輸入緩沖寄存器,即將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)。, 輸入緩沖寄存器:它從輸入移位寄存器中接收并行數(shù)據(jù),然后由CPU取走。, 控制寄存器:它接收CPU送來的控制字,由控制字的內(nèi)容,決定通信時的傳輸方式以及數(shù)據(jù)格式等。例如采用異步方式還是同步方式,數(shù)據(jù)字符的位數(shù),有無奇偶校驗,是奇校驗還是偶校驗,停止位的位數(shù)等參數(shù)。,串行接口的基本結(jié)構(gòu)如下(續(xù)):, 狀態(tài)寄存器:狀態(tài)寄存器中存放著接口的各種狀態(tài)信息,例如輸出緩沖區(qū)是否空,輸入字符是否準備好等。在通信過程中,當符合某種狀態(tài)時,接口中的狀態(tài)檢測邏輯將狀態(tài)寄存器的相應(yīng)位置“1”,以便讓CPU查詢。,三、串行接口的工作過程,接收,發(fā)送,串行接口將CPU送來的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),并對有效數(shù)據(jù)“包裝”,即加上起始位、產(chǎn)生奇偶校驗位和停止位,再發(fā)送出去。,發(fā)送 數(shù)據(jù),接收 數(shù)據(jù),串行接口將串行輸入的數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),同樣要對有效數(shù)據(jù)進行處理(去掉起始位、校驗位和停止位)和奇偶校驗,然后等待CPU取走。,6.1.1串行I/O接口,有效數(shù)據(jù)由CPU寫入接口中的輸出緩沖寄存器,再送到輸出移位寄存器。 同時將狀態(tài)寄存器中的“發(fā)送準備好”位置“1”,并發(fā)出中斷請求信號(用中斷方式時),表示接口可以接收CPU寫入下一個有效數(shù)據(jù)。 在輸出移位寄存器中。由發(fā)送控制邏輯對有效數(shù)據(jù)進行“包裝”,即加上起始位、奇偶校驗位和停止位。 經(jīng)包裝后的數(shù)據(jù)由輸出移位寄存器按選定的傳輸率逐位移出,變成串行數(shù)據(jù)發(fā)送到串行輸出線上去。,發(fā) 送 過 程,6.1.1串行I/O接口,接收控制電路不斷地監(jiān)視串行數(shù)據(jù)輸入線上的電平,一旦出現(xiàn)持續(xù)一個位周期的低電平(異步方式下),則開始采樣有效數(shù)據(jù)位,并使數(shù)據(jù)進入輸入移位寄存器。 采樣重復(fù)進行,直至采樣到停止位。 接收控制邏輯對接收的數(shù)據(jù)進行格式檢查,若不正確,則將狀態(tài)寄存器中的相應(yīng)位置“1”;若正確,則將有效數(shù)據(jù)位并行傳送到輸入緩沖器。 然后,將狀態(tài)寄存器中的“接收數(shù)據(jù)準備好”位置“1”;若接口處于中斷允許狀態(tài),則還向CPU發(fā)出中斷請求信號。CPU可以通過查詢或中斷方式讀取輸入緩沖寄存器中的有效數(shù)據(jù)。,接 收 過 程,6.1.1串行I/O接口,9.1 串行接口系統(tǒng)概述,9.1.1串行I/O接口,接收 過程,CPU,外部設(shè)備,6.1.2 串行通信基礎(chǔ),1. 波特率(Baud),一、數(shù)據(jù)傳輸率,數(shù)據(jù)傳輸率是指單位時間內(nèi)傳輸?shù)男畔⒘?,可用比特率和波特率來表示?比特率:比特率是指每秒傳輸?shù)亩M制位數(shù),單位為bit/s ( bps)表示。, 波特率:波特率是指每秒傳輸?shù)姆枖?shù),若每個符號所含的信息量為1比特,則波特率等于比特率。單位為Baud。,在計算機中,一個符號的含義為高低電平,它們分別代表邏輯1和邏輯0,所以每個符號所含的信息為1位,因此在計算機通信中,常將比特率稱為波特率,即 1 (Baud)=1 bit/s 傳送一個二進制位所需的時間為位時間,用Td表示。位時間與波特率的關(guān)系是Td=1/B,2. 發(fā)送/接收時鐘(Txc /Rxc),發(fā)送數(shù)據(jù)時,發(fā)送器在發(fā)送時鐘作用下,將“發(fā)送移位寄存器”的數(shù)據(jù)按位串行移位輸出;,接受數(shù)據(jù)時,接受器在接收時鐘作用下,對來自通信線上的串行數(shù)據(jù)按位串行移入“接收移位寄存器”。,6.1.2 串行通信基礎(chǔ),2. 發(fā)送/接收時鐘(Txc /Rxc),波特率:單位時間內(nèi)傳送的二進制數(shù)據(jù)的位數(shù),以位/秒(b/s)表示,也稱為數(shù)據(jù)位率。它是衡量串行通信速率的重要指標。,收/發(fā)時鐘直接決定了通信線路上數(shù)據(jù)傳輸?shù)乃俾?,對于?發(fā)雙方之間數(shù)據(jù)傳輸?shù)耐接惺种匾淖饔谩?一般在發(fā)送端是由發(fā)送時鐘的下降沿使送入移位寄存器的數(shù)據(jù)串行移位輸出。而接收端則是在接收時鐘的上升沿作用下將傳輸線上的數(shù)據(jù)逐位打入移位寄存器。,6.1.2 串行通信基礎(chǔ),二、串行通信的連接方式,串行,并行,6.1.2 串行通信基礎(chǔ),三、信號的調(diào)制和解調(diào),原因:如果數(shù)字信號直接在公用電話網(wǎng)的傳輸線上傳送,高次諧波的衰減會很厲害,從而使信號到了接收端后將發(fā)生嚴重畸變和失真 解決:發(fā)送方使用調(diào)制器(Modulator),把要傳送的數(shù)字信號調(diào)制轉(zhuǎn)換為適合在線路上傳輸?shù)囊纛l模擬信號;接收方則使用解調(diào)器(Demodulator)從線路上測出這個模擬信號,并還原成數(shù)字信號,6.1.2 串行通信基礎(chǔ),四、串行通信的檢錯和糾錯,信息的正確性對計算機的可靠工作具有極其重要的意義,但在信息的存儲與傳輸過程中,??赡苡捎谀撤N干擾或其他不可靠因素的存在而發(fā)生差錯。 在串行通信中,由于線路長和噪聲干擾的存在,會導(dǎo)致信息傳輸過程中出現(xiàn)錯誤。 為保證信息傳輸?shù)恼_性,必須對傳輸?shù)臄?shù)據(jù)信息進行差錯檢查和校正,即檢錯和糾錯。 檢錯是如何發(fā)現(xiàn)傳輸中的錯誤,而糾錯是發(fā)現(xiàn) 錯誤后如何消除錯誤。 在基本通信協(xié)議中,一般采用奇偶檢驗或方陣碼檢錯,以反饋重發(fā)方式糾錯。在高級通信協(xié)議中,一般采用循環(huán)冗余碼(CRC)檢錯,以自動糾錯方式來糾錯。,6.1.2 串行通信基礎(chǔ),奇偶校驗的基本原理,這種利用信息位中“1”的個數(shù)的奇偶性來達到檢驗?zāi)康牡木幋a稱為奇偶校驗碼。使整個信息位“1”的個數(shù)為奇數(shù)的編碼叫奇校驗碼;而使整個信息位“1”的個數(shù)為偶數(shù)的編碼叫偶校驗碼。附加的信息位稱為奇偶校驗位,簡稱校驗位。需要傳送的數(shù)據(jù)位本身稱為有效信息位。,在所傳輸?shù)挠行?shù)據(jù)中附加冗余位(即檢驗位),使整個信息位(包括有效位和檢驗位)中“1”的個數(shù)具有奇數(shù)或偶數(shù)的特性。整個信息位經(jīng)過線路傳輸后,若原來所具有的“1”的個數(shù)的奇偶性發(fā)生了變化,則說明出現(xiàn)了傳輸錯誤,可由專門的檢測電路檢測出來。,6.1.2 串行通信基礎(chǔ),有效信息位是1011101,采用偶校驗,則附加的校驗位是1。最后得到的信息是10111011,有效信息位是1011011,采用奇校驗,則附加的校驗位是0。最后得到的信息是10110110,例1,例2,6.1.2 串行通信基礎(chǔ),2. 方陣碼校驗,基本原理:先在每個7位編碼的字符后附加1位奇偶校驗位,使整個字符的“1”的個數(shù)為偶數(shù)或奇數(shù)。然后使若干個字符組成一個數(shù)據(jù)塊,列成方陣,再在縱向按位加,產(chǎn)生一個字符的檢驗字符,并將它附在數(shù)據(jù)的末尾。,這一檢驗字符是所有數(shù)據(jù)字符“異或”的結(jié)果,反映了整個數(shù)據(jù)的奇偶性。 在數(shù)據(jù)接收過程中,數(shù)據(jù)塊讀出產(chǎn)生一個檢驗字符,并與發(fā)送來的檢驗字符進行比較,若兩者不同,說明出現(xiàn)差錯,則以反饋重發(fā)來糾錯。若兩者相同,表示接收數(shù)據(jù)正確。,6.1.2 串行通信基礎(chǔ),3. CRC校驗,CRC是利用編碼原理,對傳送的二進制碼序列以一定的規(guī)則產(chǎn)生一定的校驗碼,并將校驗碼放在二進制序列之后,形成符合一定規(guī)則的新的二進制碼序列(稱為編碼),并將新的二進制碼序列發(fā)送出去。 在接收時,就根據(jù)信息和校驗碼之間所遵循的規(guī)則進行檢測(稱為譯碼),從而檢測出傳輸過程中是否發(fā)生差錯。 CRC校驗是對整個數(shù)據(jù)塊進行校驗,同步串行通信都采用CRC校驗。,6.1.2 串行通信基礎(chǔ),一、概述,在串行通信中,發(fā)送端發(fā)送數(shù)據(jù)時,一位一位往外發(fā)送,沒有問題,問題是接收端,一根線傳送過來的信息0110110表示什么意思?不知道.所以發(fā)、收雙方一定要有約定。 1、接收方怎么知道數(shù)據(jù)傳送的開始和結(jié)束? 2、接收方怎么判斷所接收數(shù)據(jù)的正確性。 所以,串行通信中,如何使收發(fā)雙方同步工作是關(guān)鍵。,為了實現(xiàn)同步,互相通信的雙方必須就數(shù)據(jù)傳輸方式、同步控制方式、差錯處理、應(yīng)答方式和信號格式等問題作出共同遵守的一組規(guī)定,這種規(guī)定稱為通信協(xié)議。 常用的串行通信中數(shù)據(jù)傳輸?shù)耐椒椒ㄓ?種,即異步方式和同步方式,相應(yīng)的有異步通信協(xié)議同步通信協(xié)議。,6.1.3 串行通信協(xié)議,1、串行異步通信時的數(shù)據(jù)格式,二、異步通信協(xié)議,異步方式通信是以字符為單位進行傳輸?shù)?,字符之間沒有固定的時間間隔要求,而每個字符中的各位則以固定的時間傳送。 收、發(fā)雙方取得同步的方法是采用在字符格式中設(shè)置起始位和停止位。(把一個字符看作是一個獨立的信息單元,并且字符出現(xiàn)在數(shù)據(jù)流中相對時間是任意的。) 在一個有效字符正式發(fā)送前,發(fā)送器先發(fā)送一個起始位,然后發(fā)送有效字符位,在字符結(jié)束時再發(fā)送一個停止位,起始位至停止位構(gòu)成一幀。,6.1.3 串行通信協(xié)議,起始位每個字符開始傳送的標志,起始位采用邏輯0電平,數(shù)據(jù)位數(shù)據(jù)位緊跟著起始位傳送。由58個二進制位組成,低位先傳送,校驗位用于校驗是否傳送正確;可選擇奇檢驗、偶校驗或不傳送校驗位,停止位表示該字符傳送結(jié)束。停止位采用邏輯1電平,可選擇1、1.5或2位,空閑位傳送字符之間的邏輯1電平,表示沒有進行傳送,6.1.3 串行通信協(xié)議,比如ASCII 字符 A, 二進制是0100 0001(8位),它們在起始位和2位停止位之間傳送,并使用了1位奇偶校驗位。,6.1.3 串行通信協(xié)議,2、串行異步通信時的數(shù)據(jù)接收,接收端采樣時鐘頻率為位頻率的16倍,采樣時間基準應(yīng)確保采樣時刻在每一位的中間。,注意,在接收端設(shè)置一采樣時鐘頻率計數(shù)器,當檢測到起始位下降沿時,將其清零,并開始對采樣時鐘計數(shù)。 當計數(shù)器計到8時,表示已到達起始位的中間位置,此時采樣值為0,說明是真正的起始位,同時將計數(shù)器清零;若采樣值不為0,則說明一開始檢測到的下降沿不是真正的起始位前沿,而是一次干擾,此次檢測應(yīng)作廢,計數(shù)器清零,并重新開始檢測起始位。,6.1.3 串行通信協(xié)議,2、串行異步通信時的數(shù)據(jù)接收,檢測到真正的起始位后,計數(shù)器清零,以后每次計到16時,便采樣收到的信號波形(即每一位的中間),將采到的數(shù)值暫存起來,同時將計數(shù)器清零,重新計數(shù),直至最后的停止位被采樣。 如果停止位采樣正確(為1),則字符被接收,并由暫存器裝入寄存器。若停止位采樣值為0,說明同步或傳輸有問題,此次采樣所得字符作廢,不被接收。,6.1.3 串行通信協(xié)議,3、串行異步通信的特點, 起止式異步通信協(xié)議傳輸數(shù)據(jù)對收發(fā)雙方的時鐘同步要求不高,發(fā)送器和接收器可以不用共同的時鐘。, 串行異步通信的數(shù)據(jù)格式可以根據(jù)實際需要,通過可編程串行接口電路,用軟件命令的方式進行設(shè)置。在不同傳輸系統(tǒng)中,這些通信格式的設(shè)定完全可以不同。, 附加信息位(額外開銷),使通信效率降低。,6.1.3 串行通信協(xié)議,例題: 異步傳輸7位ASCII碼,如果需要數(shù)據(jù)傳輸速率為240字符/秒,使用1位奇偶校驗位和1位停止位,則: 1)波特率應(yīng)該是多少? 2)有效數(shù)據(jù)位傳輸位是多少? 3)傳輸效率是多少?,解: 1)波特率是 (7位數(shù)據(jù)位+1位起始位+1位校驗位+1位停止位)240 =2400b/s 2)有效數(shù)據(jù)位傳輸位是 :7240=1680b/s 3)傳輸效率是:1680/2400=70%,6.1.3 串行通信協(xié)議,1、串行同步通信的特點,三、串行同步通信協(xié)議,要求對傳送數(shù)據(jù)的每一位都必須在收、發(fā)兩端嚴格保持同步,即所謂“位同步”。因此,收、發(fā)兩端需用同一個時鐘源作為時鐘信號。,沒有起始位和停止位,它不是用起始位表示字符的開始。,(3) 通信時,字符數(shù)據(jù)不允許有空隙。當線路空閑或沒有字符可發(fā)送時,可發(fā)送收、發(fā)雙方約定的同步字符。,6.1.3 串行通信協(xié)議,(4)傳輸效率高,適合于快速、大量數(shù)據(jù)的傳送。,三、串行同步通信協(xié)議,外同步法是在發(fā)送數(shù)據(jù)之前向接收端發(fā)送一串時鐘脈沖,接收端按這個時鐘頻率調(diào)整自己的時序,使接收時鐘頻率鎖定在接收到的時鐘頻率上,并作為同步時鐘來接收數(shù)據(jù)。(沒有同步字符,靠外部時鐘同步),內(nèi)同步法是接收端從接收到的數(shù)據(jù)信息波形本身提取同步的方法。(有一個(單同步)或兩個(雙同步)同步字符),6.1.3 串行通信協(xié)議,2、同步通信協(xié)議概述,三、串行同步通信協(xié)議, 面向字符的同步通信協(xié)議 面向比特的同步通信協(xié)議,6.1.3 串行通信協(xié)議,6.1.4 RS-232C串行通信標準,一、RS-232C串行通信標準,EIA Electronic Industry Association,美國電子工業(yè)協(xié)會 RS Recommended standard,推薦標準 232 標識號 C RS232的最新一次修改(1969年),EIA-RS-232C,全稱,RS-232C串行通信標準定義說明:,當初制定此標準的目的是為了使不同廠家生產(chǎn)的設(shè)備能達到接插的“兼容性”。也就是說不同廠家所生產(chǎn)的設(shè)備,只要它們都有具有RS-232C標準接口,則不需要任何轉(zhuǎn)換電路,就可以互相插接起來。這個標準僅保證硬件兼容而沒有軟件兼容。此外,用它進行數(shù)據(jù)傳輸時,由于線路的損耗和噪聲干擾,傳輸距離一般不超過15m。通常兩計算機的近距離通信可以通過RS-232C標準接口連接起來。,最初是為遠程通信連接數(shù)據(jù)終端設(shè)備DTE (Data Terminal Equipment)與數(shù)據(jù)通信設(shè)備DCE(Data Communication Equipment)而制定的。,RS-232C標準包括機械指標和電氣指標。,6.1.4 RS-232C串行通信標準,1. 電氣特性,一、RS-232C串行通信標準,邏輯電平,邏輯1(MARK)= -3V-15V 邏輯0(SPACE)= +315V,在TxD和RxD上,信號有效(接通,ON狀態(tài),正電壓)= +3V+15V 信號無效(斷開,OFF狀態(tài),負電壓)= -3V-15V,在RTS、CTS、DSR、DTR和DCD等控制線上,!RTS:為請求發(fā)送信號。DTEDCE !CTS:為允許發(fā)送信號。 DCE DTE !DSR:為數(shù)據(jù)裝置準備好信號。有效時,表明DCE可以使用 !DTR:為數(shù)據(jù)終端準備好信號。有效時表明DTE可以使用。!DCD:載波檢測輸出。,6.1.4 RS-232C串行通信標準,1. 電氣特性,一、RS-232C串行通信標準,TTL-EIA電平轉(zhuǎn)換,為了能夠同計算機接口或終端的TTL器件連接,必須在EIA-RS-232C與TTL電路之間進行電平和邏輯關(guān)系的變換。,集成轉(zhuǎn)換器件 TTLEIA MC1488、SN75150 EIATTL MC1489、SN75154 TTLEIA MAX232,232C接口采用EIA電平 高電平為3V15V 低電平為3V15V 實際常用12V或15V,標準TTL電平 高電平:2.4V5V 低電平:0V0.4V,相互轉(zhuǎn)換,6.1.4 RS-232C串行通信標準,2. 連接器的機械特性,一、RS-232C串行通信標準,DB-25,異步通信的9個電壓信號(含信號地SG): 2,3,4,5,6,7,8,20,22 20mA電流環(huán)信號 9個: 12,13,14,15,16,17,19,23,24 空引腳6個: 9,10,11,18,21,25 保護地(PE)1個,作為設(shè)備接地端: 1,DB-9,AT機以后(不支持20mA電流環(huán)接口),使用DB-9連接器,作為提供多功能I/O卡或主板上COM1和COM2兩個串行接口的連接器。它只提供異步通信的9個信號。,DB-9型連接器的引腳分配與DB-25型引腳信號完全不同。因此,若與配接DB-25型連接器的DCE設(shè)備連接,必須使用專門的電纜線。,6.1.4 RS-232C串行通信標準,3. RS-232C的接口信號,4條數(shù)據(jù)線、 11條控制線、 3條定時線、 7條備用和未定義線,常用的只有9根,6.1.4 RS-232C串行通信標準,(1) 聯(lián)絡(luò)控制信號線,TxD:發(fā)送數(shù)據(jù) 串行數(shù)據(jù)的發(fā)送端 RxD:接收數(shù)據(jù) 串行數(shù)據(jù)的接收端,6.1.4 RS-232C串行通信標準,RTS:請求發(fā)送 當數(shù)據(jù)終端設(shè)備準備好送出數(shù)據(jù)時,就發(fā)出有效的RTS信號,用于通知數(shù)據(jù)通信設(shè)備準備接收數(shù)據(jù) CTS:清除發(fā)送(允許發(fā)送)(請求響應(yīng)) 當數(shù)據(jù)通信設(shè)備已準備好接收數(shù)據(jù)終端設(shè)備的傳送數(shù)據(jù)時,發(fā)出CTS有效信號來響應(yīng)RTS信號 RTS和CTS是數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間一對用于數(shù)據(jù)發(fā)送的聯(lián)絡(luò)信號(握手信號),6.1.4 RS-232C串行通信標準,DTR:數(shù)據(jù)終端準備好 通常當數(shù)據(jù)終端設(shè)備一加電,該信號就有效,表明數(shù)據(jù)終端設(shè)備準備就緒 DSR:數(shù)據(jù)裝置準備好 通常表示數(shù)據(jù)通信設(shè)備(即數(shù)據(jù)裝置)已接通電源連到通信線路上,并處在數(shù)據(jù)傳輸方式 DTR和DSR也可用做數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間的聯(lián)絡(luò)信號,例如表示設(shè)備的狀態(tài),6.1.4 RS-232C串行通信標準,SG:信號地 為所有的信號提供一個公共的參考電平 DCD:載波檢測(DCD) 當本地調(diào)制解調(diào)器接收到來自對方的載波信號時,該引腳向數(shù)據(jù)終端設(shè)備提供有效信號 RI:振鈴指示 當調(diào)制解調(diào)器接收到對方的撥號信號期間,該引腳信號作為電話鈴響的指示、保持有效,6.1.4 RS-232C串行通信標準,PG:保護地(機殼地) 起屏蔽保護作用的接地端,一般應(yīng)參照設(shè)備的使用規(guī)定,連接到設(shè)備的外殼或大地 TxC:發(fā)送器時鐘 控制數(shù)據(jù)終端發(fā)送串行數(shù)據(jù)的時鐘信號 RxC:接收器時鐘 控制數(shù)據(jù)終端接收串行數(shù)據(jù)的時鐘信號,6.1.4 RS-232C串行通信標準,二、串行口互連,微機利用232C接口連接調(diào)制解調(diào)器,用于實現(xiàn)通過電話線路的遠距離通信,6.1.4 RS-232C串行通信標準,9.1 串行接口系統(tǒng)概述,9.1.4 RS-232C串行通信標準,1. 零Modem 的最簡連線(3線制),微機利用232C接口直接連接進行短距離通信。這種連接不使用調(diào)制解調(diào)器,所以被稱為零調(diào)制解調(diào)器(Null Modem)連接。,6.1.4 RS-232C串行通信標準,2. 零Modem標準連接,6.1.4 RS-232C串行通信標準,6.2 可編程串行接口芯片16550,6.2.1 16550介紹,6.2.2 16550編程舉例,9.2 可編程串行口控制器8250,9.2.1 8250的邏輯結(jié)構(gòu)和引腳功能,PC微機異步通信適配器是微機與微機、微機與MODEM及微機與外設(shè)之間進行異步通信的接口。其核心是UART。 常見的UART主要有INS8250、PC16450和PC16550。此外,還有帶更大緩沖的UART,稱為PC16650和PC16750。,16550引腳簡介 數(shù)據(jù)信號D7-D0:8根數(shù)據(jù)線和CPU數(shù)據(jù)總線連接。 與地址有關(guān)的信號:CS0、CS1、!CS2、!ADS。當CS0=CS1=1、!CS2=0時,16550可被CPU訪問,并由A2- A0選擇要訪問的寄存器。地址選通信號!ADS為低電平時,鎖存三個片選信號以及A2- A0的輸入狀態(tài)。 讀寫控制信號。16550有兩對讀寫控制信號,兩對信號功能完全相同,只不過是信號電平不同而已。RD、WR為高電平有效,!RD、 !WR為低電平有效。,中斷控制和復(fù)位信號。16550具有中斷控制和中斷優(yōu)先級處理能力,INTR引腳產(chǎn)生高電平有效地中斷請求信號。PC中,使用OUT2來控制中斷請求信號INTR的輸出,而OUT1沒有使用。MR是復(fù)位信號,通常與系統(tǒng)RESET信號連接,在系統(tǒng)復(fù)位時對16550復(fù)位。 時鐘信號。XIN和XOUT是16550的主時鐘引腳,晶體振蕩器可連接在它們兩者之間,或者XIN與外部時鐘源連接。BAUDOUT輸出是由發(fā)送器的波特率發(fā)生器產(chǎn)生的時鐘信號,它常與RCLK輸入連接,產(chǎn)生與發(fā)送器相等的接收器時鐘。,與通信設(shè)備連接的信號。請求發(fā)送RTS、允許發(fā)送CTS、數(shù)據(jù)終端準備好DTR、數(shù)據(jù)裝置準備好DSR、振鈴RI、載波檢測DCD、串行數(shù)據(jù)信號RxD和TxD。這些信號經(jīng)過EIA驅(qū)動器驅(qū)動后與9腳D型連接器相連。 數(shù)據(jù)就緒信號。RxRDY和 TxRDY是接收器和發(fā)送器的就緒信號,常用于DMA方式控制數(shù)據(jù)傳送。,16550內(nèi)部有12個8位寄存器,但是只有8個端口地址,用8個地址表示12個寄存器,所采取的措施如下: 發(fā)送保持寄存器THR 和 接收數(shù)據(jù)寄存器RBR 共用一個地址,以讀寫信號來加以區(qū)分。 以讀方式訪問RBR, 以寫方式訪問THR 波特率除數(shù)寄存器的高字節(jié)TLH與中斷允許寄存器IER使用相同的地址; 波特率除數(shù)寄存器的低字節(jié)TLL與接收數(shù)據(jù)寄存器RBR和發(fā)送保持寄存器THR使用相同的地址,為了區(qū)分,借用線路控制寄存器LCR的最高位DLAB位來區(qū)分,16550內(nèi)部寄存器地址及其選擇方法,表 LCR格式,1,線路控制寄存器(LCR:Line Control Register)用于指定異步串行通信的數(shù)據(jù)格式,2,線路狀態(tài)寄存器(LSR:Line Status Register):只讀存儲器,用來向CPU提供數(shù)據(jù)接收和發(fā)送時的狀態(tài)。這些狀態(tài)可以被CPU查詢,也可以觸發(fā)中斷請求。 LSR格式,3,波特率除數(shù)寄存器(TLH與TLL),波特率除數(shù)寄存器分為高字節(jié)寄存器TLH和低字節(jié)寄存器TLL 該寄存器用于存放除數(shù)寄存器值,從而確定波特率。除數(shù)寄存器值不同,則波特率不同。(分頻系數(shù):在基準時鐘頻率的基礎(chǔ)上所作的分頻。) 除數(shù)寄存器值=基準時鐘頻率(16波特率) 注: 16為分頻系數(shù),即每16個基準時鐘頻率才會發(fā)送一位二進制數(shù)據(jù) 在寫入除數(shù)之前,應(yīng)將線路控制寄存器的最高位DLAB置1,只有這樣才可以訪問到除數(shù)寄存器 由于除數(shù)是16位的,所以應(yīng)分別向TLH和TLL兩個端口分別寫入除數(shù)值的高8位和低8位。 16550芯片輸入的基準時鐘頻率為1.18432MHz,常用波特率常數(shù),4,中斷允許寄存器(IER:Interrupt Enable Register):16550有4級中斷,按優(yōu)先級從高到低依次為:接收出錯中斷、接收緩沖器滿中斷、發(fā)送保持寄存器空中斷和MODEM輸入狀態(tài)改變中斷。這些中斷的允許或屏蔽由IER來控制,IER格式,只要IER寄存器的相應(yīng)位寫“1”就允許中斷請求,寫“0”就禁止中斷請求,5,中斷標識寄存器(IIR:Interrupt identifier Register):如果16550工作于中斷方式,IIR指出有無待處理的中斷發(fā)生及其類型,并封鎖比此類優(yōu)先級低的所有類型中斷。 IIR格式,為了具體識別究竟是哪種事件引起的中斷(即中斷源),UART內(nèi)部設(shè)置了中斷識別寄存器IIR。它保存著在請求中斷的中斷類型編碼。IIR是只讀寄存器,它的內(nèi)容隨中斷源而改變。,6,發(fā)送保持寄存器(THR:Transmit Holding Register):該寄存器寄存CPU寫入的一字節(jié)數(shù)據(jù),在發(fā)送移位寄存器空閑時,自動轉(zhuǎn)存到發(fā)送移位寄存器。按照編程制定的幀格式,發(fā)送移位寄存器為每一個數(shù)據(jù)添加起始位、校驗位和停止位,轉(zhuǎn)換成串行數(shù)據(jù),在發(fā)送器時鐘的控制下,經(jīng)SOUT端一位一位地發(fā)送出去。 7,接收緩沖寄存器(RBR:Receive Buffering Register):在接收器時鐘的控制下,接收移位寄存器從SIN端子接收的一幀數(shù)據(jù),去掉起始位、校驗位和停止位,轉(zhuǎn)換成并行數(shù)據(jù)送接收緩沖寄存器等待cpu讀取。,16550芯片數(shù)據(jù)傳輸過程,由于CPU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串并)和“發(fā)送移位寄存器”(并串)。,8,MODEM控制寄存器(MCR)。控制芯片的4個管腳的輸出和芯片的環(huán)路檢測。MCR的格式如表7所示。 MCR格式,9, MODEM狀態(tài)寄存器(MSR)。反映UART與通信設(shè)備(如MODEM)之間聯(lián)絡(luò)信號的當前狀態(tài)以及這些信號的變化情況。 MSR格式,10, FIFO控制寄存器(FCR)。16550有一個FIFO緩沖器,用于緩沖正在發(fā)出或接收的數(shù)據(jù)。 FCR格式,6.2.2 16550編程舉例,1初始化串行通信口,一 查詢方式異步串行通信編程,在查詢方式下異步通信編程一般有三個部分:初始化、發(fā)送一個字符及接收一個字符。 下面以串行口COM1(端口地址3F8H)為例,分別說明這三個部分的編程方法。,初始化串行通信口的內(nèi)容是:確定數(shù)據(jù)傳輸幀格式(包括數(shù)據(jù)位長度、停止位長度及有無奇偶校驗和校驗的類型)、確定傳輸波特率以及確定INS8250操作方式。操作方式是指自發(fā)自收的循環(huán)反饋方式(用于診斷)還是通常的兩點之間的通信方式,是程序查詢方式傳送還是中斷方式傳送。,1初始化串行通信口,初始化的一般方法是按一定的步驟分別對線路控制寄存器LCR、波特率除數(shù)寄存器TLL、TLH 和 MODEM控制寄存器MCR等進行參數(shù)寫入操作,其參數(shù)是在程序中由指令分散設(shè)定的; 通過寫除數(shù)寄存器TLL與TLH設(shè)置波特率 通過寫線路控制寄存器LCR設(shè)置通信數(shù)據(jù)格式 通過寫MODEM控制寄存器MCR設(shè)置MODEM控制字 通過寫中斷允許寄存器IER設(shè)置中斷允許控制字,1初始化串行通信口,MOV DX,LCR ;線路控制寄存器地址 MOV AL,80H OUT DX, AL ;使DLAB=1,以便下面寫除數(shù)寄存器 MOV DX,DLL ;低位除數(shù)寄存器 MOV AL,0CH ;9600波特率的除數(shù)低8位 OUT DX, AL MOV AL,00H INC DX ;高位除數(shù)寄存器 OUT DX, AL,1初始化串行通信口,MOV AL, 00011011b ;偶校驗、1位停止位 ;8位數(shù)據(jù)位 MOV DX,LCR ;線路控制寄存器地址 OUT DX, AL MOV AL, 03H ; MOV DX, MCR ;MODEM控制寄存器地址 OUT DX, AL MOV AL, 0 ;禁止中斷 MOV DX, IER ;中斷允許寄存器地址 OUT DX, AL,6.2.2 16550編程舉例,1發(fā)送一個字符程序,一 查詢方式異步串行通信編程,采用查詢方式下的字符發(fā)送編程,有兩種方法:第一種方法,近距離傳送不考慮RS-232C的MODEM控制信號,CPU只要檢測到INS8250發(fā)送保持寄存器為空(即線路狀態(tài)寄存器D5=1),即可向發(fā)送保持寄存器輸出一個字符;第二種方法,考慮到發(fā)送持續(xù)的通用性,即可能用于遠距離通信的要求,故應(yīng)按照RS-232C配置MOD
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市政污水管網(wǎng)改造項目安全管理方案(參考模板)
- 2025年混凝土攪拌運輸車合作協(xié)議書
- 城鎮(zhèn)污水管網(wǎng)建設(shè)工程數(shù)字化方案(參考模板)
- 油田開發(fā)項目規(guī)劃設(shè)計方案(參考)
- 汽車配套產(chǎn)業(yè)基地項目初步設(shè)計(參考)
- 城鎮(zhèn)污水管網(wǎng)建設(shè)項目初步設(shè)計(范文模板)
- 鄉(xiāng)村金融創(chuàng)新與城鄉(xiāng)資金流通
- 2025年門系統(tǒng)配件項目發(fā)展計劃
- 西藏銀行招聘考試會計基礎(chǔ):會計檔案考試試題
- 2025年光刻膠專用化學(xué)品項目合作計劃書
- 糖尿病中醫(yī)科普知識講座總結(jié)
- 農(nóng)資銷售半年工作總結(jié)報告
- 物業(yè)管理服務(wù)采購采購需求公示招投標書范本
- 粒缺伴發(fā)熱指南解讀課件
- 成人住院患者跌倒評估與預(yù)防(團體標準)解讀
- 心尖入路經(jīng)導(dǎo)管主動脈瓣植入手術(shù)操作規(guī)范
- 反流食管炎臨床路徑(2009年版)
- 《灸療法的臨床應(yīng)用》課件
- 工裝夾具驗收單
- 裝修工程合理化建議
- 星期一逃跑了 朗誦
評論
0/150
提交評論