第8章接口技術(8251)_第1頁
第8章接口技術(8251)_第2頁
第8章接口技術(8251)_第3頁
第8章接口技術(8251)_第4頁
第8章接口技術(8251)_第5頁
已閱讀5頁,還剩58頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1串行通信:串行通信: 使數據一位一位地依次進行傳輸而實現使數據一位一位地依次進行傳輸而實現通信。在傳輸中每一位數據都占據一通信。在傳輸中每一位數據都占據一個固定的時間長度。個固定的時間長度。 優點:傳輸線少、成本低,特別適合于遠距離傳送,優點:傳輸線少、成本低,特別適合于遠距離傳送,缺點:速度慢。若并行傳送缺點:速度慢。若并行傳送n位數據需時間位數據需時間T,則串則串 行傳送的時間至少為行傳送的時間至少為nT。 2典型內部結構典型內部結構838.3.1 串行通信的基本概念串行通信的基本概念 1全雙工方式與半雙工方式全雙工方式與半雙工方式全雙工方式:兩個串行接口之間分別用兩根獨立的全雙工方式:

2、兩個串行接口之間分別用兩根獨立的傳輸線發送和接收信號,使發送和接傳輸線發送和接收信號,使發送和接收數據可同時進行。收數據可同時進行。半雙方工方式半雙方工方式 :輸入過程和輸出過程使用同一根傳:輸入過程和輸出過程使用同一根傳輸線。輸線。 4(a) 全雙工方式全雙工方式 (b) 半雙工方式半雙工方式52. 同步通信和異步通信同步通信和異步通信(1)同步通信方式同步通信方式 同步通信時,一般將若干字符組成一個信息組,同步通信時,一般將若干字符組成一個信息組,字符一個接著一個傳輸。在每組信息(通常稱之為信字符一個接著一個傳輸。在每組信息(通常稱之為信息幀)開始要加上息幀)開始要加上1至至2個同步字符,

3、在傳輸線上沒有個同步字符,在傳輸線上沒有字符傳輸時,要發送專用的字符傳輸時,要發送專用的“空閑空閑”字符或同步字符,字符或同步字符,其原因是同步傳輸字符必須連續傳輸,不允許有間隙。其原因是同步傳輸字符必須連續傳輸,不允許有間隙。6 在同步通信時所使用的數據格式根據控制規程在同步通信時所使用的數據格式根據控制規程分為面向字符及面向比特的兩種。分為面向字符及面向比特的兩種。面向字符型的數據格式:面向字符型的數據格式:可采用單同步、雙同步及外同步可采用單同步、雙同步及外同步3種數據格式。種數據格式。7單同步單同步指在傳送數據之前先傳送一個同步字符指在傳送數據之前先傳送一個同步字符“SYNC”,雙同步

4、雙同步先傳送兩個同步字符先傳送兩個同步字符“SYNC”。接收接收端檢測到該同步字符后開始接收數據。端檢測到該同步字符后開始接收數據。外同步外同步通信的數據格式中沒有同步字符,而是通信的數據格式中沒有同步字符,而是用一條專用控制線來傳送同步字符,使用一條專用控制線來傳送同步字符,使接收方及發送端實現同步。當每一幀信接收方及發送端實現同步。當每一幀信息結束時均用兩個字節的循環控制碼息結束時均用兩個字節的循環控制碼CRC為結束。為結束。8(2)異步通信方式異步通信方式 通信中兩個字符的時間間隔是不固定的,而在通信中兩個字符的時間間隔是不固定的,而在同一字符中的兩個相鄰數位間的時間間隔是固定的。同一字

5、符中的兩個相鄰數位間的時間間隔是固定的。9 異步通信必須遵循的兩項規定為:異步通信必須遵循的兩項規定為: A. 字符的格式字符的格式 每個字符傳送時,必須前面加一位起始位,后面每個字符傳送時,必須前面加一位起始位,后面加上加上1、1.5或或2位停止位。位停止位。 B. 波特率(波特率(Baud Rate) 波特率波特率傳送數據位的速率,用位傳送數據位的速率,用位/秒(秒(bit/s)表表 示,稱之為波特。示,稱之為波特。例如,數據傳送的速率為例如,數據傳送的速率為120字符字符/秒,每幀包括十個秒,每幀包括十個數據位,則傳送波特率為:數據位,則傳送波特率為: 10120=1200(位位/秒秒)

6、=1200(波特波特) 每一位的傳送時間是其倒數:每一位的傳送時間是其倒數:Td=1/1200=0.833(ms)103. 信號的調制與解調信號的調制與解調在長距離串行通信中,通信的的雙方要用一對調制在長距離串行通信中,通信的的雙方要用一對調制/解解調器來實現信號的轉換。調器來實現信號的轉換。8113. 信號的調制與解調(續)信號的調制與解調(續)8124、串行通信總線標準及接口、串行通信總線標準及接口標準接口標準接口明確定義若干信號線,使接口電路標準明確定義若干信號線,使接口電路標準化、通用化,借助串行接口標準,不同化、通用化,借助串行接口標準,不同通信設備之間可以很方便的實行通信。通信設備

7、之間可以很方便的實行通信。異步串行接口標準有以下幾種異步串行接口標準有以下幾種RS-232C、RS-499(RS-422、RS-423、RS-485)13(1) RS-232C接口接口 美國電子工業協會美國電子工業協會EIA推薦的國際通用的一種串行推薦的國際通用的一種串行通信接口標準。通信接口標準。 RS(Recommeded standard)代表推薦標準代表推薦標準232是標識號是標識號C代表代表RS232的最新一次修改(的最新一次修改(1969) RS-232C作為工業標準,保證了不同廠家產品之間的兼作為工業標準,保證了不同廠家產品之間的兼容。例如,目前在容。例如,目前在IBM PC機上

8、的機上的COM1、COM2接口,接口,就是就是RS-232C接口。接口。14RS-232C接口實際是一個接口實際是一個25芯或者芯或者9芯的芯的D型連接器。型連接器。 815 RS-232C常用信號的規定常用信號的規定:16 RS-232C采用負邏輯規定邏輯電平,將采用負邏輯規定邏輯電平,將-5-15V規定為邏輯規定為邏輯“1”,將,將+5+15V規定為邏輯規定為邏輯“0”。該信號電平與常用的該信號電平與常用的TTL電平是不兼容的。電平是不兼容的。 為了能夠同計算機接口或終端的為了能夠同計算機接口或終端的TTL器件連接,器件連接,必須在必須在EIA-RS-232C與與TTL電路之間進行電平和邏

9、輯電路之間進行電平和邏輯關系的變換。實現這種變換的方法可用分立元件,關系的變換。實現這種變換的方法可用分立元件,也可用集成電路芯片。也可用集成電路芯片。 目前較為廣泛地使用集成電路轉換器件,如目前較為廣泛地使用集成電路轉換器件,如MC1488芯片可完成芯片可完成TTL電平到電平到EIA電平的轉換,而電平的轉換,而MC1489可實現可實現EIA電平到電平到TTL電平的轉換。電平的轉換。178.3.2可編程串行通信接口芯片可編程串行通信接口芯片 8251A的應用的應用18251A的基本性能的基本性能 通過編程可工作在同步方式,也可工作在異步方通過編程可工作在同步方式,也可工作在異步方式。同步方式下

10、,波特率為式。同步方式下,波特率為064Kbit/s;異步方異步方式下,波特率為式下,波特率為019.2Kbit/s。 在同步方式下,每個字符可定義為在同步方式下,每個字符可定義為5、6、7或或8位,位,并且內部能自動檢測同步字符或外部給出同步信并且內部能自動檢測同步字符或外部給出同步信號,可用兩種方法實現同步。此外,號,可用兩種方法實現同步。此外,8251A也允也允許同步方式下增加奇許同步方式下增加奇/偶校驗位進行校驗。偶校驗位進行校驗。 18 在異步方式下,每個字符可定義為在異步方式下,每個字符可定義為5、6、7、或、或8位,用位,用1位作為奇偶校驗。時鐘速率可用軟件定位作為奇偶校驗。時鐘

11、速率可用軟件定義為通信波特率的義為通信波特率的1、16或或64倍。此外,倍。此外,8251A在在異步方式下能自動為每個輸出數據增加異步方式下能自動為每個輸出數據增加1個起始個起始位,并能根據軟件編程為每個輸出數據增加位,并能根據軟件編程為每個輸出數據增加1個、個、1.5個或個或2個停止位。個停止位。 8251A能進行出錯檢測,它具有奇偶錯能進行出錯檢測,它具有奇偶錯、溢出和幀溢出和幀錯誤等檢測電路。用戶可通過輸入狀態寄存器內錯誤等檢測電路。用戶可通過輸入狀態寄存器內容進行查詢。容進行查詢。1928251A的邏輯結構及工作原理的邏輯結構及工作原理 8251A邏輯結構邏輯結構20 8251A內部工

12、作原理方框圖內部工作原理方框圖211)接收器)接收器 8251A工作于異步方式工作于異步方式 在準備好接收數據時,即開始監視在準備好接收數據時,即開始監視RXD。無字符傳送無字符傳送時,時,RXD為高電平。當為高電平。當RXD上出現了低電平時,認為它是上出現了低電平時,認為它是一幀信息的起始位,同時起動一個內部計數器,當計數到一幀信息的起始位,同時起動一個內部計數器,當計數到一個數據位寬度一半時(若時鐘脈沖頻率為波特率的一個數據位寬度一半時(若時鐘脈沖頻率為波特率的16倍,倍,則為計數到第則為計數到第8個脈沖),又重新采樣個脈沖),又重新采樣RXD線,若仍為低線,若仍為低電平,則確認它就是起始

13、位,而不是噪聲信號。此后,每電平,則確認它就是起始位,而不是噪聲信號。此后,每隔隔16個時鐘脈沖采樣一次個時鐘脈沖采樣一次RXD線,將采樣結果送到移位寄線,將采樣結果送到移位寄存器。經移位寄存器處理,再經過奇偶校驗并去掉停止位存器。經移位寄存器處理,再經過奇偶校驗并去掉停止位后,就變成了并行數據。此數據經后,就變成了并行數據。此數據經8251A內部數據總線送內部數據總線送至數據輸入緩沖器,同時發出至數據輸入緩沖器,同時發出RXRDY信號,告知信號,告知CPU已已經接收到一個數據。經接收到一個數據。 228251A工作于同步方式。工作于同步方式。 首先搜索同步字符。分為內同步和外同步方式。首先搜

14、索同步字符。分為內同步和外同步方式。 內同步方式下,內同步方式下,8251A通過監測通過監測RXD線,來搜索同步線,來搜索同步字符。每當字符。每當RXD出現一個數位就把它接收下來,并把它送出現一個數位就把它接收下來,并把它送入移位寄存器移位。直到接收一個完整字符后,即與同步入移位寄存器移位。直到接收一個完整字符后,即與同步字符寄存器內容相比較。若不相等,還要重復上述操作,字符寄存器內容相比較。若不相等,還要重復上述操作,繼續搜索同步字符。若相等,則說明繼續搜索同步字符。若相等,則說明8251A搜索到同步字搜索到同步字符了。此時,如果符了。此時,如果8251A被編程設定為采用一個同步字符被編程設

15、定為采用一個同步字符方式,方式,8251A的的SYNDET引腳就升為高電平,以示同步已引腳就升為高電平,以示同步已經實現。如果是采用雙同步字符方式,那么只有連續接收經實現。如果是采用雙同步字符方式,那么只有連續接收到兩個約定的同步字符,才認為實現了同步。到兩個約定的同步字符,才認為實現了同步。 23 外同步方式下,由其它設備在其外同步方式下,由其它設備在其SYNDET引腳(此時引腳(此時為同步輸入)加一個高電平實現同步。為同步輸入)加一個高電平實現同步。SYNDET引腳一出引腳一出現高電平,現高電平,8251A就會立即脫離對同步字符的搜索過程,就會立即脫離對同步字符的搜索過程,只要此高電平能維

16、持一個接收時鐘周期的時間,只要此高電平能維持一個接收時鐘周期的時間,8251A便便認為已經實現同步了。認為已經實現同步了。 8251A實現同步后,接收器利用時鐘信號對實現同步后,接收器利用時鐘信號對RXD線進線進行采樣,并把接收到的數據位送到移位寄存器中。每當接行采樣,并把接收到的數據位送到移位寄存器中。每當接收到的數據位夠一個字符的數位時,就把移位寄存器內容收到的數據位夠一個字符的數位時,就把移位寄存器內容送至接收數據輸入緩沖寄存器,同時發出送至接收數據輸入緩沖寄存器,同時發出RXRDY準備好信準備好信號。號。242)發送器)發送器 接收接收CPU輸出的并行數據,通過發送移位寄存輸出的并行數

17、據,通過發送移位寄存器,串行從器,串行從TXD引腳輸出。引腳輸出。 在異步方式下,發送器為每一個字符自動加上在異步方式下,發送器為每一個字符自動加上1個起始位,并且按照編程要求加上奇個起始位,并且按照編程要求加上奇/偶校驗位以偶校驗位以及及1個、個、1.5個或者個或者2個停止位。起始位、數據位、校個停止位。起始位、數據位、校驗位、停止位總是在發送時鐘驗位、停止位總是在發送時鐘TXC的下降沿從的下降沿從8251A發出,數據傳輸的波特率可以是發送時鐘頻發出,數據傳輸的波特率可以是發送時鐘頻率的率的1、1/16或者或者1/64,具體取決于初始化編程時方,具體取決于初始化編程時方式選擇字中的波特率因子

18、。式選擇字中的波特率因子。 25 在同步方式下,發送器在發送數據前,依據初在同步方式下,發送器在發送數據前,依據初始化編程時的設定插入一個或兩個同步字符,然后始化編程時的設定插入一個或兩個同步字符,然后發送數據塊。而在數據塊中,除了插入初始化編程發送數據塊。而在數據塊中,除了插入初始化編程時設定的奇偶校驗位外,不再插入別的位。當時設定的奇偶校驗位外,不再插入別的位。當8251A正在發送數據,而正在發送數據,而CPU卻來不及提供新數據時,卻來不及提供新數據時,8251A發送器會自動插入同步字符在發送器會自動插入同步字符在TXD端發出,因端發出,因為在同步方式時被傳送的字符間不允許存在間隙。為在同

19、步方式時被傳送的字符間不允許存在間隙。26發送器的另一個功能是發送器的另一個功能是發送中止字符發送中止字符(BREAK)。)。中止字符是由在通信線上的連續低電平信號組成。只中止字符是由在通信線上的連續低電平信號組成。只要要8251A的命令寄存器的的命令寄存器的Bit3為為“1”,發送器就始終,發送器就始終發送中止字符。發送中止字符。 273. 8251A的接口信號的接口信號 E28 8251A與與CPU接口信號接口信號 1)片選信號)片選信號 2)數據信號)數據信號D7D0 3)讀)讀/寫控制信號寫控制信號 RD讀信號讀信號 WR寫信號寫信號 C/D控制控制/數據信號,是數據信號,是CPU送往

20、送往8251A的信號,的信號,區分當前讀區分當前讀/寫的是數據、控制還是狀態寫的是數據、控制還是狀態信息。即當為高電平時,傳送的是控制信信息。即當為高電平時,傳送的是控制信息(寫過程)或者狀態信息(讀過程);息(寫過程)或者狀態信息(讀過程);為低電平時,傳送的是數據信息。為低電平時,傳送的是數據信息。 29 4)收發聯絡信號)收發聯絡信號 TXRDY發送器準備好信號發送器準備好信號。通知。通知CPU,8251A已準已準備好發送一個字符。備好發送一個字符。 若若TXRDY為高電平,為高電平,CPU可輸出一個數據至可輸出一個數據至8251A。 實際使用中,若實際使用中,若8251A和和CPU之間

21、采用中斷方式,則之間采用中斷方式,則TXRDY可作為中斷請求信號;若可作為中斷請求信號;若8251A和和CPU之間采之間采用查詢方式,則用查詢方式,則TXRDY可作為一狀態信號。不論是用可作為一狀態信號。不論是用中斷方式還是查詢方式,當中斷方式還是查詢方式,當8251A收到來自收到來自CPU的一的一個數據后,個數據后, TXRDY信號變為低電平。信號變為低電平。30 TXE 發送器空信號,高電平有效發送器空信號,高電平有效 8251A完成一個數據發送過程后,發送器空信號完成一個數據發送過程后,發送器空信號變為高電平。變為高電平。 當當8251A從從CPU得到一個數據時,得到一個數據時, TXE

22、 變為低變為低電平。在同步方式下,因不允許傳送字符(數據)間電平。在同步方式下,因不允許傳送字符(數據)間有空隙,若有空隙,若CPU來不及向來不及向8251A中輸出字符(數據),中輸出字符(數據),此時此時TXE將變為高電平,發送器自動地在輸出線上插將變為高電平,發送器自動地在輸出線上插入同步字符,從而填補傳輸間隙。入同步字符,從而填補傳輸間隙。31RXRDY 接收器準備好信號,高電平有效接收器準備好信號,高電平有效 表示當前表示當前8251A已經從外部設備或調制解調器已經從外部設備或調制解調器上接收到了一個字符,正等待上接收到了一個字符,正等待CPU輸入。此信號在輸入。此信號在中斷傳送方式下

23、,可以作為中斷請求信號;在查詢中斷傳送方式下,可以作為中斷請求信號;在查詢傳送方式下,可以作為狀態信號供傳送方式下,可以作為狀態信號供CPU查詢。當查詢。當CPU從從8251A處輸入一個字符后,處輸入一個字符后, RXRDY Y變為變為低電平。低電平。 32SYNDET同步檢測信號,只用于同步方式。同步檢測信號,只用于同步方式。 在內同步方式下,作為輸出端,在在內同步方式下,作為輸出端,在CPU執行一次執行一次讀操作后,變為低電平。讀操作后,變為低電平。 在外同步方式下,作為輸入端,電平信號取決于在外同步方式下,作為輸入端,電平信號取決于外部啟動信號。外部啟動信號。 在復位時,在復位時,SYN

24、DET變為低電平。變為低電平。 33 8251A與外部裝置之間的接口信號與外部裝置之間的接口信號1)數據信號)數據信號 TXD發送數據信號端。發送數據信號端。CPU送往送往8251A的并行數的并行數據,在據,在8251A內部轉變為串行數據后,通過內部轉變為串行數據后,通過TXD端輸出。端輸出。 RXD 接收數據信號端。接收數據信號端。RXD用來接收外部裝置用來接收外部裝置通過傳輸線送來的串行數據,數據進入通過傳輸線送來的串行數據,數據進入8251A后后被變換成并行數據,供被變換成并行數據,供CPU輸入。輸入。 342)收發聯絡信號)收發聯絡信號 DTR數據終端準備好信號。這是數據終端準備好信號

25、。這是8251A送往外設送往外設的輸出信號,低電平有效。用以表示的輸出信號,低電平有效。用以表示CPU已經準備已經準備好接收數據,可通過對好接收數據,可通過對8251A的初始化編程使其變的初始化編程使其變為有效。為有效。 DSR數據裝置準備好信號。這是一個來自外設的數據裝置準備好信號。這是一個來自外設的輸入信號,低電平有效,表示外設已經準備好發送輸入信號,低電平有效,表示外設已經準備好發送數據。數據。CPU可通過讀取可通過讀取8251A的狀態寄存器內容,的狀態寄存器內容,在狀態寄存器的在狀態寄存器的Bit7檢測到該信號。檢測到該信號。35 RTS請求發送信號。由請求發送信號。由8251A送往外

26、設的信號,送往外設的信號,低電平有效。低電平有效。CPU可以通過對可以通過對8251A的編程使其的編程使其有效,以表示有效,以表示CPU已經準備好發送數據。已經準備好發送數據。 CTS清除發送信號。來自外設的輸入信號,低電清除發送信號。來自外設的輸入信號,低電平有效。這是調制器或外設對平有效。這是調制器或外設對RTS的響應信號,的響應信號,當其有效時當其有效時8251A才能執行發送操作。才能執行發送操作。363)時鐘信號)時鐘信號CLK8251A內部工作時鐘信號內部工作時鐘信號 RXC接收器時鐘信號,輸入。此時鐘信號控制接收器時鐘信號,輸入。此時鐘信號控制8251A接收器接收字符的速度。接收器

27、接收字符的速度。 在同步方式下,等于接收數據的波特率。在異步方在同步方式下,等于接收數據的波特率。在異步方式,可以取波特率的式,可以取波特率的1、16或或64倍,在倍,在8251A初始初始化時由波特率系數指明化時由波特率系數指明 TXC發送器時鐘信號,輸入。此時鐘信號控制發送器時鐘信號,輸入。此時鐘信號控制8251A發送器發送字符的速度。頻率和波特率之發送器發送字符的速度。頻率和波特率之間的關系與間的關系與RXC相同相同 3748251A的編程的編程 (1)芯片復位后,向其奇地址端口(芯片復位后,向其奇地址端口(C/D=1)寫入方式寫入方式 選擇控制字。選擇控制字。(2)如果在同步方式,向其奇

28、地址端口(如果在同步方式,向其奇地址端口( C/D =1)再)再 寫入寫入1個或者個或者2個字節的同步字符。個字節的同步字符。 (3)不論是同步方式還是異步方式,均應向其奇地址不論是同步方式還是異步方式,均應向其奇地址端端 口(口( C/D =1 )寫入操作命令控制字,)寫入操作命令控制字,38為為8251A初始化編程流程圖初始化編程流程圖 39 方式選擇控制字方式選擇控制字40例例1 有一有一8251A芯片用于異步串行通信,要求波特率芯片用于異步串行通信,要求波特率系數為系數為16,字符長度為,字符長度為7位,偶校驗,位,偶校驗,2個停止位。個停止位。此時的方式選擇控制字應為:此時的方式選擇

29、控制字應為:11111010B=FAH例例2 將將8251A用于同步通信接口,且要求內同步、用于同步通信接口,且要求內同步、2個同步字符、字符長度為個同步字符、字符長度為7位、偶校驗。位、偶校驗。 其方式選擇控制字應為:其方式選擇控制字應為:00111000B=38H41(2)操作命令控制字)操作命令控制字 DTR位是數據終端準備好位。位是數據終端準備好位。DTR1,表示表示CPU已準備好接收數據,這時已準備好接收數據,這時DTR引線端輸引線端輸出有效。出有效。RXE位是允許接收位。位是允許接收位。RXE1,接收器才能接收器才能通過通過RXD線從外部串行接收數據。線從外部串行接收數據。SBRK

30、位是發送斷缺字符位。位是發送斷缺字符位。SBRK1,通過通過TXD線一直發送線一直發送“0”信號。正常通信過程中信號。正常通信過程中SBRK位應保持為位應保持為“0”。43ER位是清除錯誤標志位。位是清除錯誤標志位。8251A設置有設置有3個個出錯標志,分別是奇偶校驗標志出錯標志,分別是奇偶校驗標志PE,越越界錯誤標志界錯誤標志OE和幀校驗錯標志和幀校驗錯標志FE。ER1時將時將PE,OE和和FE標志同時清標志同時清“0”。RTS位是請求發送信號。位是請求發送信號。RTS1,迫使迫使8251A輸出輸出RTS有效,表示有效,表示CPU已作好發已作好發送數據準備,請求向調制送數據準備,請求向調制/

31、解調器或外部解調器或外部設備發送數據。設備發送數據。IR位是內部復位信號。位是內部復位信號。IR1,迫使迫使8251A回回到接收方式選擇控制字的狀態。到接收方式選擇控制字的狀態。EH位為跟蹤方式位。位為跟蹤方式位。EH位只對同步方式有效,位只對同步方式有效,EH1,表示開始搜索同步字符,因此對于同表示開始搜索同步字符,因此對于同步方式,一旦允許接收步方式,一旦允許接收(RXE1),必須同時使必須同時使EH1,并且使并且使ER1,清除全部錯誤標志,清除全部錯誤標志,才能開始搜索同步字符。從此以后所有寫入的才能開始搜索同步字符。從此以后所有寫入的8251A的控制字都是操作命令控制字。只有外的控制字

32、都是操作命令控制字。只有外部復位命令部復位命令RESET1或內部復位命令或內部復位命令IR1才能使才能使8251A回到接收方式選擇命令字狀態。回到接收方式選擇命令字狀態。45 對于對于8251A芯片,在通過方式選擇控制字,規芯片,在通過方式選擇控制字,規定了其工作方式之后,可以根據對定了其工作方式之后,可以根據對8251A工作狀態的工作狀態的不同要求,隨時向其奇地址端口寫入操作命令控制不同要求,隨時向其奇地址端口寫入操作命令控制字。字。 若要改變若要改變8251A工作方式,則必須先使工作方式,則必須先使8251A芯芯片復位。操作命令控制字為片復位。操作命令控制字為40H時,表示是內部復位時,表

33、示是內部復位命令。只要把命令。只要把40H輸出到輸出到8251A奇地址端口,奇地址端口,8251A芯片即被復位。之后,又可重新向芯片即被復位。之后,又可重新向8251A寫入方式選寫入方式選擇控制字,規定其新的工作方式。擇控制字,規定其新的工作方式。46(3) 狀態寄存器格式狀態寄存器格式 通過讀取通過讀取8251A奇地址端口,可獲得其狀態字。奇地址端口,可獲得其狀態字。PE是奇偶錯標志位。是奇偶錯標志位。PE1表示當前產生了奇偶錯。表示當前產生了奇偶錯。它不中止它不中止8251A的工作。的工作。OE是溢出錯標志位。是溢出錯標志位。OE1,表示當前產生了溢出表示當前產生了溢出錯,錯,CPU沒有來

34、得及將上一字符讀走,下一字符又沒有來得及將上一字符讀走,下一字符又來到來到RXD端,它不中止端,它不中止8251A繼續接收下一字符,繼續接收下一字符,但上一字符將被丟失。但上一字符將被丟失。FE是幀校驗錯標志位。是幀校驗錯標志位。FE只對異步方式有效。只對異步方式有效。FE1,表示未檢測到停止位,不中止表示未檢測到停止位,不中止8251A工作。工作。上述上述3個標志允許用操作命令控制字中的個標志允許用操作命令控制字中的ER位復位。位復位。48TXRDY位是發送準備好標志,它與引腳端位是發送準備好標志,它與引腳端TXRDY的意義有些區別。的意義有些區別。TXRDY狀態標狀態標志為志為“1”只反映

35、當前發送數據緩沖存儲器只反映當前發送數據緩沖存儲器已已空,而空,而TXRDY引腳端為引腳端為“1”,除發送數據,除發送數據緩沖存儲器已空外,還有兩個附加條件是緩沖存儲器已空外,還有兩個附加條件是CTS0和和TXEN1。在數據發送過程中,上面兩者總是相同,通常在數據發送過程中,上面兩者總是相同,通常TXRDY狀態位供狀態位供CPU查詢,查詢,TXRDY引引腳腳端端可用作向可用作向CPU發出的中斷請求信號。發出的中斷請求信號。RXRDY位、位、TXEMPTY位和位和SYNDET/BRKDET位與同名引腳端的狀態完位與同名引腳端的狀態完全相同,可供全相同,可供CPU查詢。查詢。DSR是數據裝置準備好

36、位。是數據裝置準備好位。DSR1,表示外表示外部設備或調制部設備或調制/解調器已準備好發送數據,這解調器已準備好發送數據,這時輸入引腳端時輸入引腳端DSR有效。有效。5058251A初始化編程及應用舉例初始化編程及應用舉例 異步方式下的初始化編程異步方式下的初始化編程 設在某設在某8086系統中有一片系統中有一片8251A,其占用的端口其占用的端口地址分別為地址分別為1A0H和和1A2H,并要求其工作方式選擇為:并要求其工作方式選擇為:異步通信異步通信,字符用字符用7位二進制數表示位二進制數表示,偶校驗偶校驗,2個停止位個停止位,波特率系數為波特率系數為16。 對其工作狀態的要求是:復位出錯標

37、志,將請求對其工作狀態的要求是:復位出錯標志,將請求發送信號置于有效電平,使數據終端準備好信號有效,發送信號置于有效電平,使數據終端準備好信號有效,發送允許發送允許TxEN有效,接收允許有效,接收允許RxE有效。有效。 方式選擇控制字應該為方式選擇控制字應該為11111010B(FAH) 操作命令控制字應該為操作命令控制字應該為00110111B(37H) 51 初始化編程如下:初始化編程如下: MOV DX,1A2H MOV AL,0FAH OUT DX,AL ; 設置工作方式設置工作方式 MOV AL,37H OUT DX,AL ; 設置工作狀態設置工作狀態52(2)同步方式下的初始化編程

38、)同步方式下的初始化編程 設某設某8251A芯片端口地址分別為芯片端口地址分別為1A0H和和1A2H。要求其工作方式為:同步方式、內同步、兩個同步字要求其工作方式為:同步方式、內同步、兩個同步字符、偶校驗、每個字符符、偶校驗、每個字符7位。并設第一個同步字符為位。并設第一個同步字符為EFH,第二個同步字符為第二個同步字符為EEH(注意:兩上同步字符注意:兩上同步字符可以相同,也可以不同)。要求其工作狀態是:復位可以相同,也可以不同)。要求其工作狀態是:復位出錯標志,啟動發送器和接收器,當前出錯標志,啟動發送器和接收器,當前CPU已經準備已經準備好且請求發送。假設要改變好且請求發送。假設要改變8

39、251A的工作方式,即原的工作方式,即原來來8251A已經工作于其它方式。已經工作于其它方式。 方式選擇控制字應為方式選擇控制字應為00111000B(38H) 操作命令控制字應為操作命令控制字應為10110111B(B7H)53 方式選擇控制字應為方式選擇控制字應為38H,其操作命令控制字應為其操作命令控制字應為B7H。 初始化程序段如下:初始化程序段如下: MOV DX,1A2H MOV AL,40H OUT DX,AL ;復位復位8251A MOV AL,38H OUT DX,AL;寫入方式選擇控制字,規定其工作方式寫入方式選擇控制字,規定其工作方式 MOV AL,0EFH OUT DX

40、,AL ;寫入第一個同步字符寫入第一個同步字符 MOV AL,0EEH OUT DX,AL ;寫入第二個同步字符寫入第二個同步字符 MOV AL,0B7H OUT DX,AL ;寫入操作命令控制字,設置其工作狀態寫入操作命令控制字,設置其工作狀態54 使用使用8251A狀態字進行編程狀態字進行編程 8251A工作于異步方式,工作于異步方式,7個數據位,個數據位,1.5個停止位,個停止位,奇校驗,波特率系數為奇校驗,波特率系數為64。其數據端口地址為。其數據端口地址為A0H,控控制端口地址為制端口地址為A2H。 本例中,假設本例中,假設CPU通過通過8251A完成完成100個字節的輸入。個字節的

41、輸入。 MOV AL,9BH OUT 0A2H,AL ;寫入異步方式選擇字寫入異步方式選擇字 MOV AL,37H OUT 0A2H,AL ;寫入命令指令字寫入命令指令字 MOV BX,BUFPTR ;設緩沖區首址放在設緩沖區首址放在BUFPTR MOV DI,0 ;變址寄存器清變址寄存器清0 MOV CX,0064H ;設置計數器值設置計數器值10055LP1:IN AL,0A2H ;輸入狀態字送輸入狀態字送AL TEST AL,02H ;測試狀態字第測試狀態字第2位,即位,即RXRDY JZ LP1 ;若若8251A未收到字符,則重新取狀態字未收到字符,則重新取狀態字 IN AL,0A0H ;若若RXRDY有效,則從數據口輸入數據有效,則從數據口輸入數據 MOV BX+DI,AL ;將接收到的字符送入緩沖區將接收到的字符送入緩沖區 INC DI ;緩沖區指針下移一個單元緩沖區指針下移一個單元 IN AL,0A2H ;再讀入狀態字再讀入狀態字 TEST AL,38H ;測試有無三種錯誤測試有無三種錯誤 JNZ ERROR ;若有錯,轉錯誤處理程序若有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論