串行通讯接口课件_第1页
串行通讯接口课件_第2页
串行通讯接口课件_第3页
串行通讯接口课件_第4页
串行通讯接口课件_第5页
已阅读5页,还剩24页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1串行通訊介面

29.1串行通訊方式

串行通訊一般有兩種方式:同步方式和非同步方式。

1.非同步方式:

以字元為單位進行傳輸,一個字元內的時間間隔是固定的,字元之間時間間隔不固定,一組數據以起始位低電平“0”開頭,停止位高電平“1”結束,停止位長度可為1位、1.5位或2位,構成一幀資訊,數據採用ASCII碼、擴展BCD碼(即EBCDIC碼),數據傳送完成後,可選擇一個奇偶校驗位,格式見圖9.1。

數據傳輸的串列傳輸速率是每秒鐘所傳輸的二進位位數,顯然,每位傳輸所花的時間是相同的,為數據傳輸速率的倒數,串列傳輸速率的單位為波特baud,常用的標準串列傳輸速率是110、300、600、1200、1800、2400、4800、9600和19200波特。例如:某非同步方式的通訊系統,一個字元包括1個起始位、8個數據位、1個停止位,數據的的傳輸速率為240字元/秒,那麼串列傳輸速率=240

10bit=2400baud。32.同步通訊在一個字元的前面和後面,都要加起始位和停止位,佔用了約20%的有效傳輸時間。在數據量傳輸很大時,為了提高傳輸速度,就要去掉這些標誌,採用同步通訊。同步通訊是指一個字元的前面和後面不加起始位和停止位,而是將數據按順序連接起來,以數據塊為單位進行傳送,數據塊開始時,只用1個或2個用戶自己設定的同步字元,最後加校驗位結束,傳送的資訊組稱為資訊幀,格式見圖9.2。非同步通訊過程中,發送方與接收方的每一位數據保持同步,雙方的時鐘信號頻率和相位,始終保持一致,所用硬體電路複雜,同步通訊速率比非同步通訊高,通常達到幾十K到幾百K。串行傳輸方式通常採用全雙工、半雙工也可採用單工。全雙工是指系統某一時刻既可以發數據,同時可以收數據;半雙工是指一條傳輸線路要麼發數據,要麼收數據,不同時進行;單工則是指一條傳輸線路只能用於發數據或只用於收數據。返回本章目錄49.2可編程的串行通訊介面8251A

9.2.1串行介面8251A的內部電路,見圖9.38251A由5個部分組成:數據匯流排緩衝器、讀寫控制邏輯電路、調製解調控制電路、接收器和發送器,其中數據匯流排緩衝器由3部分組成:狀態緩沖器、發送數據/命令緩衝器、接收數據緩衝器。

1.數據匯流排緩衝器連接8251A與系統匯流排,在CPU執行輸入/輸出指令期間,接收和發送數據,進行控制字、狀態資訊、命令字的傳輸,從功能上看,數據匯流排緩衝器是編程結構中數據輸入緩衝器、數據輸出緩衝器、控制寄存器、命令寄存器的整體部件。

2.讀寫控制邏輯電路

(1)接收複位信號RESET:輸入有效高電平時,使8251A處於空閑狀態。

(2)接收時鐘信號CLK:對8251A內部定時。5

見圖9.3

(3)接收控制/數據信號C/

:與讀/寫信號配合,通知8251A當前讀寫操作對象是控制字還是狀態字。

(4)接收讀信號:將8251A的數據或狀態字,送到匯流排上。

(5)接收寫信號

:將數據匯流排的數據和控制字,寫入8251A中。

3.調製解調控制電路用來簡化數據機與8251A的連接,進行遠程發送時,將串行介面送出的數字信號先變為模擬信號後,再發送出去;接收時,用解調器將模擬信號先變為數字信號後,由串行介面送給電腦。

4.發送器將CPU送來的並行數據,加上起始位、停止位、奇偶校驗位後,由TxD引腳發送到外設,只有當程式設置了允許發送和對調制解調發出的請求發送回應信號有效時,才能發送。6見圖9.35.接收器將外設通過RxD引腳發來的串行數據,轉為並行數據,存入接收器的數據緩衝器中。

8251A工作在非同步方式、允許接收、準備好接收數據狀態時,監測RxD引腳,無字元傳送時,RxD引腳為高電平,當RxD引腳出現低電平時,8251A認為它是數據字符的起始位,啟動內部計數器,計數到一個數據寬度的一半,重新採樣RxD引腳,若仍是低電平,則進一步確認它是起始位,而不是雜訊,此後,每隔16個脈衝採樣一次數據,送到移位寄存器,移位處理後,去掉冗餘位,變換成並行數據存入接收緩衝器,通過RxRDY引腳向CPU回答數據已經收到信號。78251A用於CPU與外部設備、CPU與數據機之間的介面,晶片引腳分為兩組:8251A與CPU的介面信號、與外設的介面信號,見圖9.4。

1.8251A與CPU之間的介面信號

(1)數據信號線D0-D7:8根雙向數據匯流排,是CPU與8251A之間的傳送命令資訊、數據資訊、狀態資訊的匯流排。

(2)片選信號線:低電平有效的輸入線,CPU輸入的地址資訊經過解碼電路解碼後,產生有效的低電平,表示選中8215A。

(3)讀寫控制信號線:

1)

讀信號:低電平有效的輸入線,=0時通知8251A,CPU當前正從8251A中讀取數據或資訊。

2)寫信號:低電平有效的輸入線,=0時通知8251A,CPU

當前正往8251A中寫入數據或資訊。

9.2.2串行介面8251A晶片的引腳

8

見圖9.43)控制/數據信號C/

:輸入線,CPU送給8251A的控制信號,區分當前讀/寫的資訊是數據資訊還是狀態資訊。

8251A中只有兩個端口地址,數據輸入端、數據輸出端合用同一個偶地址,狀態端口、控制端口合用一個奇地址。8086系統中,將A1地址線與C/相連,8088系統中,將A0

地址線與C/

相連。(4)收發聯絡信號線

1)發送器準備好信號TxRDY:輸出有效的高電平時告訴CPU,8251A已經準備好傳送字元,CPU通過8251A向外設發送,如果採用中斷方式,TxRDY為中斷請求信號,如果採用查詢方式,TxRDY為聯絡信號。8251A收到CPU發來的一個字元後,就變為無效的低電平。9

見圖9.42)發送器已空信號TxE:輸出有效的高電平時,表示8251A發送器中並行到串行轉換器已空,指示發送工作已經完成。當8251A收到了CPU發來的一個字元後,就變為無效的低電平。

3)接收器準備好信號RxRDY:輸出有效的高電平時,表示8251A已從外設或數據機收到一個字元,等待CPU取走,如果採用中斷方式,RxRDY作為中斷請求信號,如果採用查詢方式,RxRDY作為聯絡信號。當8251A收到CPU發來的一個字元後,就變為無效的低電平,等到下一次從外設或數據機那裏接收到一個字元後,變為高電平。

4)同步檢測信號SYNDET:高電平有效,用於同步方式,輸入輸出雙向信號線,初始化時決定,工作在內同步狀態時,SYNDET作為輸出線,高電平表示8251A已經達到同步,工作在外同步狀態時,SYNDET作為輸入線,輸入一個高電平脈衝,在RxC

下降沿8251A開始裝配字元。102.8251A與外設之間的介面信號,見圖9.4。(1)收發聯絡信號

1)數據終端準備好信號:低電平有效的輸出線,CPU通過命令使之變為有效的低電平時,告訴外設CPU已經準備好。

2)數據設備準備好信號:輸出一個有效的低電平時,表示外設準備好,8251A狀態寄存器的第7位為1,CPU通過對此位的讀取來判斷。

3)請求發送信號:低電平有效的輸出線,CPU通過命令使之變為有效的低電平時告訴外設,CPU已經準備好發送數據。

4)請求發送回應信號:低電平有效的輸入線,是對的回應,輸入有效的低電平是時,8251A執行發送操作。

11

見圖9.4

它們是提供CPU與外設之間進行聯絡用的,因為CPU與外設之間不能直接相連。(2)數據信號線

1)發送器數據信號端TxD:輸出線,CPU送外設的數據,經過8251A將並行轉為串行後,通過TxD發送給外設。

2)接收器數據信號端RxD:輸入線,接收外設送來的串行數據,經過8251A將串行轉為並行。

3)其他:還有電源線、地線、3個時鐘線。128251A是可編程的串行通訊介面,使用前必須進行初始化,以確定其工作方式、數據傳送速率、字元格式等。有方式選擇控制字、操作命令控制字、狀態控制字3種

1.方式選擇控制字:見圖9.5

。

(1)D1D0定義波特係數:D1D0=00時,同步方式;D1D0=01時,非同步×1;D1D0=10時,非同步×16;D1D0=11時,非同步×64。

(2)D3D2字元長度:D3D2=00時,字元長度5位;D3D2=01時,字元長度6位;D3D2=10時,字元長度7位;D3D2=11字元長度8位。

(3)D5D4奇偶校驗:D5D4=0×時,無校驗;D5D4=10時,奇校驗;D5D4=11時,偶校驗。

9.2.3串行接口8251A的控制字

13

見圖9.5

(4)D7D6兩個功能:非同步方式時,前提是D1D0≠00,用來定義停止位長度;D7D6=00時,長度不確定;D7D6=01時,1個停止位;D7D6=10時,1.5個停止位;D7D6=11時,2個停止位。同步方式時,前提是D1D0=00,用來定義同步控制;D7D6=×0時,為內同步;D7D6=×1時,外同步;D7D6=0×時,雙同步字元;D7D6=1×時,單同步字元。14

2.操作命令控制字:見圖9.6。

(1)D0允許發送位:D0=0時,禁止發送;D0=1時,允許發送。

(2)D1數據終端準備好位:D1=0時,CPU未準備好;D1=1時,CPU已經準備好接收數據。

(3)D2允許接收位:D2=0時,禁止接收;D2=1時,允許接收。

(4)D3送終止位:D3=0時,正常工作;D3=1時,中止工作。

(5)D4清除錯誤標誌位:8251A有3個出錯標誌,分別是PE奇偶校驗標誌、OE越界錯誤標誌、PE幀校驗錯誤標誌;D4=0時,將它們都清為“0”。

(6)D5請求發送位:D5=1時,表示CPU已經準備好數據,請求向數據機或外設發送數據。

(7)D6內部複位:D6=1時,使8251A回到方式選擇控制字狀態

(8)D7跟蹤方式位:D7=1時,啟動搜索同步字元,從此以後所有寫入8251A的控制字全部是操作命令控制字。15

3.狀態控制字,格式見圖9.7。

1)D0發送準備好標誌位:D0=1時,當前發送數據緩衝器已空,與引腳TxRDY有差別。

2)D1、D2、D6位:與RxRDY、TxEMPTY、SYNDET/BRKDET同名的引腳功能相同。

3)D3PE奇偶校驗標誌出錯位:D3=1時,表示當前奇偶校驗錯誤,但不中止8251A的工作。

4)D4OE溢出錯誤標誌位:D4=1時,表示當前有溢出錯誤,但不中止8251A的工作。

5)D5FE幀校驗出錯標誌位:D5=1時,表示未檢測到停止位,但不中止8251A的工作。

16

流程見圖9.8。

1.設置8251A的工作方式:見圖9.5

設置8251A是同步工作方式還是非同步工作方式。對於同步方式,隨後要指出同步字元的個數,將同步字元送入8251A的同步字元寄存器中。

2.寫入命令控制字:見圖9.6

方式控制字寫完後,無論是同步方式還是非同步方式,寫入8251A的命令控制字,控制字中包括對8251A操作的各種控制命令,如果設置D6=1,則使8251A複位,恢復到初始狀態,重新進行工作方式控制、命令控制字的設置;如果設置D6=0,進行下一步。

3.數據傳輸數據傳輸過程中或是數據傳輸完成後,可以向命令控制字寫入新的命令字來改變8251A的操作。

4.8251A的初始化:見圖9.8。9.2.4串行介面8251A的初始化17

(1)晶片複位後,第1次用奇地址端口寫入的值,作為工作方式寫入工作方式控制寄存器。(2)如規定同步方式,往奇地址寫入的1-2個位元組的同步字元。

(3)不管是哪種工作方式,CPU先向奇地址端口寫入的字作為控制字送去控制字寄存器,後由偶地址端口寫入的字送到數據緩衝寄存器。例如:8251A採用非同步工作方式,設定字元為7位,1位偶校驗,2位停止位,波特係數為16。程式段為:

MOVAL,0FAH;設置方式控制字,FAH=11111010B

OUT51H,AL;這時設定8251A的奇地址為51HMOVAL,37H;設置命令字,37H=00110111B,對照圖9.6來讀

OUT51H,AL;18

例如:8251A採用同步工作方式,設定字元數據為7位,偶校驗,2位同步字元。程式段為:

MOVAL,38H

;設置方式控制字,38H=00111000B

OUT51H,AL

;這時設定8251A的奇地址為51H

MOVAL,16H

;2個同步字元,值為16HOUT51H,AL

;寫入第1個同步字元16HOUT51H,AL

;寫入第2個同步字元16HMOVAL,97H;設置命令字,97H=10010111B,對照圖9.6來讀這裏設置命令字97H,啟動8251A的發送器,啟動接收器,開始對同步字元進行搜索,CPU已經準備好進行數據傳送,使狀態寄存器中的3個出錯標誌位複位。返回本章目錄199.3串行介面8251A應用舉例

例如:某微機8251A用於顯示器CRT的串行介面,見圖9.9。

(1)8251A的時鐘CLK:由微機系統主頻提供,為8MHZ。

(2)8251A的發送時鐘TxC、接收時鐘RxC:由定時計數器8253的輸出OUT2提供。

(3)8251A的片選信號:由地址線經地址解碼器解碼後提供。

(4)8251A的讀、寫信號:與CPU的相應控制線、相連。

(5)8251A的數據線D0-D7:

與數據匯流排的低8位D0-D7相連。

(6)8251A為TTL電平,CRT為RS-232C電平,用1488、1489來進行電平之間的轉換。208251A設置工作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论