第7章串行通信接口技術_第1頁
第7章串行通信接口技術_第2頁
第7章串行通信接口技術_第3頁
第7章串行通信接口技術_第4頁
第7章串行通信接口技術_第5頁
已閱讀5頁,還剩66頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第七章串行通信接口技術第一節串行通信基礎第二節可編程串行通信接口8250第三節可編程串行通信接口8251第一節串行通信基礎串行通信的概念所謂串行通信是指外設和計算機間使用一根數據信號線一位一位地傳輸數據,每一位數據都占據一個固定的時間長度。“串行”是指外設與接口電路之間的信息傳送方式,CPU與接口之間仍按并行方式工作。串行通信的概念信息傳輸的檢錯和糾錯串行數據在傳輸過程中,由于干擾可能引起信息的出錯如何發現傳輸中的錯誤,叫檢錯發現錯誤后,如何消除錯誤,叫糾錯最簡單的檢錯方法是奇偶校驗,即在傳送字符的各位之外,再傳送1位奇/偶校驗位。可采用奇校驗或偶校驗。奇校驗:所有傳送的數位(含字符的各數位和校驗位)中,1的個數為奇數偶校驗:所有傳送的數位(含字符的各數位和校驗位)中,1的個數為偶數奇偶校驗能夠檢測出1位誤碼,但是不能糾錯。串行數據傳輸方式全雙工方式通訊雙方能同時進行發送和接收操作串行數據傳輸方式半雙工方式只有1根數據線傳送數據信號,要求通訊雙方的發送和接收由電子開關切換。由于只有一條信道,所以數據不能同時在兩個方向上傳送。單工方式只允許數據按照一個固定的方向傳送傳輸速率在串行通訊中,用波特率來描述數據的傳輸速率。波特率,即每秒鐘傳送的二進制位數,簡寫為bps。收、發雙方的波特率必須一致。接收時鐘/發送時鐘頻率是波特率的倍數,稱為波特率因子。例如波特率因子為32,則32個時鐘脈沖移位1次。例:波特率=9600bps,波特率因子=16,則接收時鐘和發送時鐘頻率=9600×16=153600Hz信號的調制和解調數字信號的頻帶較寬,而普通通信線路頻帶較窄,如電話線頻帶范圍僅為300~3400Hz。所以采用普通通信線路進行遠程數據通信時,需要在發送端用調制器(Modulator)把數字信號轉換為模擬信號,模擬信號經通信線路傳送到接收方,接收方再以解調器(Demodulator),把模擬信號變為數字信號。大多數情況下,調制器和解調器合在一個裝置中,稱為調制解調器——Modem在串行通信中,數據終端通常是計算機,數據要通過數據通信設備來傳送,數據通信設備一般指調制解調器。調制解調器的類型比較多,有振幅鍵控(ASK)、頻移鍵控(FSK)、相移鍵控(PSK)。實現串行通信有專用的接口芯片,常用的有USART(通用同步/異步接收/發送器)——如Intel8251和UART(通用異步接收/發送器)——如Ins8250。無論是UART,還是USART,均能實現數據發送時所需要的并串轉換以及數據被CPU接收時所需要的串并轉換。信號的調制和解調在通訊中,Modem起著傳輸信號的作用,是一種數據通訊設備,簡稱DCE。接收設備和發送設備稱為數據終端設備,簡稱DTE。信號的調制和解調串行通信的類型串行通信可以分為兩種類型:同步通信、異步通信。異步通信一個字符一個字符地傳輸,每個字符一位一位地傳輸,傳輸一個字符時,以起始位開始,然后傳輸字符本身的各位,接著傳輸校驗位,最后以停止位結束該字符的傳輸。一次傳輸的起始位、字符各位、校驗位、停止位構成一組完整的信息,稱為幀(Frame)。幀與幀之間可有任意個空閑位。起始位之后時數據的最低位。異步通信異步通信可以采用正邏輯或負邏輯。異步通信的信息格式:起始位 邏輯0 1位數據位 邏輯0或1 5位、6位、7位、8位校驗位 邏輯0或1 1位或無停止位 邏輯1 1位、1.5位或2位空閑位 邏輯1 任意數量

起始位最低位最高位奇偶位停止位數據位傳送開始時,接收設備不斷地檢測傳輸線。當檢測到一系列的“1”之后檢測到一個“0”,便啟動內部計數器開始計數。當計數到一個數據為寬度的一半時,又一次采樣傳輸線,若其仍為低電平,則確認是一個起始位的到來,標志著一幀字符的開始。以位時間(1/波特率)為間隔,移位接收所規定的數據位和奇偶校驗位,拼裝成一個字符的并行字節,此后應接收到規定長度的停止位“1”,若沒收到,則設置幀錯誤標志。若檢測有錯,則設置校驗錯標志。只有既無幀出錯,又無奇偶校驗錯的接收數據才是正確的。一幀字符接收完畢,接收設備再繼續測試并傳輸,監測下一幀字符起始信號的到來。異步傳輸是按字符傳輸的,接收設備在收到起始位信號之后,只要在一個字符的傳輸時間內能和發送設備保持同步就能正確接收。若接收設備和發送設備兩者的時鐘略有偏差的話,字符之間的停止位和空閑位將為這種偏差提供一種緩沖,不會因累積效應而導致錯位,接收端對異步通信的每一個字符的起始位都重新校準時鐘。異步通信異步通信例:傳送8位數據45H(0100,0101B),奇校驗,1個停止位,則信號線上的波形為同步通信同步通信是靠同步字符完成收發雙方同步的。多個字符成組傳送,在每組信息的開始,加上同步字符,字符組和同步字符以及需要的其他字符構成一個信息幀。同步字符字符1字符2……字符n校驗字符數據塊串行通信的接口標準在串行通信中,DTE和DCE之間的連接要符合接口標準計算機通信中使用最普遍的是RS-232C標準PC機上的COM1、COM2接口,就是RS-232C接口,使用9針和25針連接器串行通信的接口標準串行通信的接口標準TXD 發送數據RXD 接收數據SG/GND 信號地DSR DCE準備好DTR DTE(即微機接口電路,如8250/8251)準備好RTS DTE請求DCE發送CTS DCE允許DTE發送,該信號是對RTS信號的回答。DCD 數據載波檢測當本地DCE收到對方的DCE設備送來的載波信號時,使DCD有效,通知DTE準備接收,并且由DCE將接收到的載波信號解調為數字信號,經RXD線送給DTE。RI 振鈴信號當DCE收到交換機送來的振鈴呼叫信號時,使該信號有效,通知DTE已被呼叫。串行通信的接口標準RS-232C采用負邏輯,且信號電平與TTL不兼容,規定邏輯“1”在-3V~-15V之間,邏輯“0”在+3V~+15V之間。RS-232C不是TTL電平的接口標準,當計算機與外設進行通信時,必須有相應的電平轉換電路。通常采用的是MC1488和MC1489電平轉換器。串行接口芯片8250、8251均使用TTL電平,應使用電平轉換電路與RS-232C連接器連接。MC1488:TTL電平→RS232電平(用于發送方)MC1489:TTL電平←RS232電平(用于接收方)MC1488和MC1499邏輯圖+12VINTTL電平-12VOUTRS-232電平OUTTTL電平+5VMC1489MC1488INRS-232電平串行通信的接口標準串行通信的接口標準采用Modem(DCE)和電話網通信時的信號連接串行通信的接口標準采用專用線通訊時的信號連接串行通信的接口標準無Modem的標準連接串行通信的接口標準無Modem的最簡連接串行通信的接口標準無Modem時,最大通訊距離的計算:RS-232C標準規定:當誤碼率小于4%時,要求導線的電容值應小于2500PF。普通導線的電容值約為170PF/M。則允許距離L=2500PF/(170PF/M)=15M第二節可編程串行異步通信接口82508250芯片功能功能:1、支持異步通信規程,對異步格式可編程,一個全雙工通道。

2、具有內部可編程時鐘產生電路,能產生頻率為(16×波特率)的時鐘,該時鐘可輸出。

3、具有調制/解調器控制信號。

4、具有中斷系統

5、具有狀態寄存器。

6、具有數據回送功能,方便調試和診斷。8250INTRPT8259OUT2#IRQ4CPUINTINTR8250中斷請求信號與CPU的連接數據總線緩沖器選擇和控制邏輯接收緩沖寄存器通信線控制寄存器通信線狀態寄存器+5V地D0~D7A0A1A2CS0CS1CS2ADSMRDISTRDISTRDOSTRDOSTRDDISCSOUTXTAL1XTAL2內部數據總線發送保持寄存器調制解調器控制寄存器調制解調器狀態寄存器除數鎖存器(低位)除數鎖存器(高位)中斷允許寄存器中斷識別寄存器接收移位寄存器接收同步控制發送同步控制波特率發生器發送移位寄存器中斷控制邏輯調制解調器控制邏輯INTRPTSOUTSINRCLKBAUDOUT1、與系統相連接部分①D7~D0數據線,雙向,三態,高電平有效。

CPU與8250之間的信息,包括CPU對8250的編程信息CPU要從8250的有關寄存器中讀取的狀態,CPU要通過8250發送的數據以及由8250發送的數據以及由8250接收送往CPU的數據都是通過D7~D0。8250芯片引腳定義②DISTR及DISTR數據輸入選通線,DISTR低電平有效,DISTR高電平有效。

8250被選中期間,二者之一有效,允許CPU從8250讀取狀態信息或數據。

通常二者中只用一個信號作為選通信號,另一個可固定在無效狀態。③DOSTR及DOSTR數據輸出選通線,DOSTR高電平有效,DOSTR低電平有效

8250被選中期間,二者之一有效,允許CPU向8250寫入控制命令或數據。

通常二者中只用一個,另一個固定在無效狀態。8250芯片引腳定義④DDIS驅動器禁止信號,輸出,高電平有效;每當CPU從8250讀取信息時,DDIS變為低電平。平時DDIS輸出高電平,可用來禁止外部的數據收發器。⑤A2~A0:地址線,輸入,高電平有效,一般與系統地址總線相連,CPU通過這三個引腳尋址8250內部的各個寄存器。⑥CS0、CS1、CS2片選信號。CS0、CS1高電平有效,CS2低電平有效,必須當這三個信號都有效時,8250才能正常工作。8250芯片引腳定義⑦ADS地址選通脈沖,輸入低電平有效。當其有效時鎖存地址(A0、A1、A2)和片選信號(CS0、CS1、CS2)。⑧MR主復位信號。此信號接至系統的復位信號RESET(高電平有效),當其有效時,清除所有寄存器(除接收緩沖器、發送緩沖器和除數鎖存器外)和8250的控制邏輯以及有關的輸出信號。⑨INTRPT中斷請求信號,輸出、高電平有效。

該信號送往CPU的INTR或8259的輸入端。8250芯片引腳定義2、與通信設備相連接部分①XTAL1,XTAL2外部時鐘輸入。②RCLK接收時鐘輸入。從該引腳向8250輸入16倍于波特率的時鐘信號,以作為接收器時鐘。③BAUDOUT波特率輸出。8250輸出的一個時鐘信號,其頻率是8250的主振頻率除以除數鎖存器的值,即為16×波特率。當需要接收與發送波特率相同時,把它連至RCLK輸入端作為接收器時鐘。8250芯片引腳定義④SIN串行數據輸入信號。這是外設或Modem送來串行輸入數據的信號線。⑤SOUT串行數據輸出信號。這是8250給通信設備(外設或Modem)發送串行輸出數據的信號線。⑥OUT1,OUT2輸出信號,低電平有效。這是兩個可編程控制的輸出信號,可由對Modem控制寄存器的位2和位3編程使其輸出有效信號,此兩個輸出信號是備用信號,可作為串行通信控制的輔助控制信號或狀態指示信號。⑦CSOUT片選輸出,高電平有效。當8250的三個片選輸入端CS0,CS1和CS2都有效時,此引腳輸出高電平,此時才能開始數據傳輸。8250芯片引腳定義3、與Modem有關的控制信號①DTR數據終端準備就緒,輸出,低電平有效。當8250已準備好通信時,可使DTR輸出有效信號以通知通信設備或Modem。

可由CPU使Modem控制寄存器的位0置“1”輸出有效

主復位信號MR有效,把DTR置為高電平8250芯片引腳定義②RTS發送請求,輸出,低電平有效。有效時,用以通知通信設備8250已準備好發送。CPU使Modem控制寄存器的位1置“1”而輸出有效。

MR有效,使RTS置為高電平。③CTS允許發送,輸入,低電平有效。這是由Modem送給8250的控制信號。④DSR數據設備準備就緒,輸入,低電平有效。⑤RLSD和RI接收線路檢測和振鈴指示,都是輸入,低電平有效。當它們有效時,表示通信設備(Modem)已檢測到數據串或收到了振鈴信號。8250芯片引腳定義8250芯片由各種控制邏輯和寄存器組成,主要包括6部分:1、總線緩沖器和選擇控制邏輯。

數據總線緩沖器接收中央處理器發給8250的命令和數據,8250接收的數據和通訊狀態信息也通過數據總線緩沖器送到CPU。

選擇和控制邏輯接受來自系統地址總線的譯碼信號,控制選擇芯片內部寄存器。

控制邏輯用于對8250各寄存器的讀/寫操作控制。8250芯片的內部結構2、接收控制電路

接收控制電路由接收緩沖寄存器、接收移位寄存器和接收同步控制電路組成。

來自線路控制寄存器的命令,控制接收的串行數據移入接收移位寄存器,滿8位后送入緩沖寄存器。同步控制電路控制對輸入信號的采樣。8250芯片的內部結構3、發送控制電路

發送控制電路由發送保持寄存器,發送移位寄存器和發送同步控制電路組成。

來自線路控制寄存器的命令,控制發送保持寄存器中的數據送入發送移位寄存器,在發送同步控制電路控制下,將發送移位寄存器中數據逐位移出,送上通訊線。

接收電路和發送電路的工作狀態都可以由線路狀態狀態寄存器中讀出。8250芯片的內部結構4、傳輸速度控制電路

這部分電路由除數鎖存器和波特率發生器組成。

編程設定送到除數鎖存器中的數值應是通訊速率與8250輸入時鐘的比率,這個比率經波特率發生器產生輸入時鐘的分頻信號,作為數據傳輸速度。5、Modem控制電路

這部分控制電路由控制寄存器,狀態寄存和控制邏輯組成,用于控制Modem的工作。如果8250與Modem相連,則其控制信號由Modem控制電路產生。8250芯片的內部結構6、中斷控制電路

8250支持中斷方式的數據傳送。中斷控制電路由中斷允許寄存器,中斷識別寄存器和中斷控制邏輯組成。

由于8250支持多種情形的中斷,因此由中斷允寄存器規定開放的中斷。CPU可通過8250中斷識別寄存器判斷當前中斷類型。8250芯片的內部結構

8250內部有10個寄存器,A2~A0指定8個,另2個與別的寄存器共用,共用的二個口地址由通訊控制寄存器的最高位DLAB(除數DividerLatchAccessBit鎖存器訪問位)來識別。8250內部控制狀態寄存器的功能8250內部控制狀態寄存器的功能1、發送保存寄存器和數據接收緩沖寄存器(3F8H)

保存和接收正在串行接口上通訊的數據字節,同一地址可由CPU的I/O指令區分(IN,OUT)8250內部控制狀態寄存器的功能2、線路控制寄存器和線路狀態寄存器(3FBH和3FDH)

LCR用于控制通信數據格式,CPU可對它讀出/寫入。LSR提供串行數據傳送和接收時的狀態供CPU判斷。LCR3FBHLSR3FDH8250內部控制狀態寄存器的功能3、除數鎖存器(低8位3F8H、高8位3F9H)

當除數鎖存器訪問位

DLAB=1,A2=0,A1=0時,A0=0訪問低8位

DLAB=1,A2=0,A1=0時,A0=1訪問高8位

除數是16位的二進制數,范圍1—(2e16)-1

因8250傳送或接收串行數據時,使用的時鐘信號頻率是數據傳送波特率的16倍;且8250使用1.8432MHz基準時鐘輸入信號,所以8250用分頻產生所需波特率。故除數鎖存器的除數值可用下式計算:波特率與除數鎖存器的值的對應關系:8250內部控制狀態寄存器的功能4、中斷允許寄存器(3F9H)8250芯片本身可處理4種類型的中斷,按優先次序排列為

接收線路出錯

接收數據就緒

發送保持寄存器已空

Modem中斷

中斷允許寄存器的低四位分別對應上述四種中斷,對應位為1時則允許對應中斷信號輸入。8250內部控制狀態寄存器的功能5、中斷識別寄存器(3FAH)

8250只能向外輸出一個總的中斷請求信號,因此,8250只能向CPU發出一個中斷信號IREQ4。8250內部控制狀態寄存器的功能6、Modem控制器和Modem狀態寄存器(3FCH、3FEH)

異步通信控制器可通過連接一臺Modem或多路通訊控制器實現遠程通訊。

利用Modem進行數據通訊,CPU必須實現對Modem的控制及讀取它的狀態,分別通過MCR和MSR進行。MCR(3FCH)MSR(3FEH)異步串行通訊程序設計

8250具有靈活的設計能力,以適應各種不同的應用場合。其設計步驟如下:1,設定通訊規律,包含波特率,奇偶校驗方式,停止位數目及數據字節長度等。2,讀取通訊線路(或Modem)狀態,以判定是否可以進行通訊。3,送出(或接收)一個數據字節4,重復上述2、3項,直至通訊完畢。

當允許中斷時,COU送出(或收到)一個字節后,并不需要不斷查詢控制器狀態,而可轉向執行其他任務。當有中斷信號INT4發生并響應后,再按2、3處理。8250初始化編程

在使用8250進行通訊之前,必須對8250進行初始化編程,給有關的內部寄存器設置相應參數。初始化的主要步驟為:1、設置除數鎖存器,確定波特率。

為了寫入除數鎖存器,要先將LCR的D7置1。2、對LCR編程,以確定通信的數據格式,而且要使它的最高位變為“0”,以便以后對接收和發送緩沖器以及中斷允許寄存器進行操作。3、若要使用中斷,則要設置中斷允許寄存器IER。

若不采用中斷,這個寄存器值可置成0。4、設置MCR。

這是為計算機與調制解調器聯系準備的。例:在PC/XT機中,若要求以9600波特率進行異步通信,每字符7位,2個停止位,奇校驗,允許所有中斷。IBMPC/XT中8250口地址3F8H~3FFH。

MOVAL,80H

MOVDX,3FBHOUTDX,AL;使LCR的D7=1MOVAL,0CH

OVDX,3F8H

OUTDX,AL;除數寄存器低8位DLLMOVAL,0

MOVDX,3F8H

OUTDX,AL;除數寄存器低8位DLH

MOVAL,0EH

MOVDX,3FBH

OUTDX,AL;LCR,7位,2位,奇校驗MOVAL,0FH

MOVDX,3F9H

OUTDX,AL;IER,允許所有中斷MOVAL,0BH

MOVDX,3FCH

OUTDX,AL;MCR,OUT1,OUT2,DTR1,RTS有效第三節可編程串行通信接口8251通過編程,可以實現異步通訊協議或面向字符的同步通訊協議,波特率:同步方式下:0-64Kbps;異步方式下:0-19.2Kbps。同步方式下,每字符為5,6,7,8位,能自動檢測同步字符,自動添加奇偶校驗。異步方式下,每字符可為5,6,7,8位,自動增加起始位、停止位和校驗位。8251的結構模式寄存器:決定工作于同步或異步模式以及接收和發送的字符格式同步字符寄存器:存放同步模式下的同步字符8251的引腳信號C/D#:該信號一般連至地址線A0,用于選擇控制端口/數據端口。數據輸入輸出寄存器合用一個端口,控制寄存器與狀態寄存器合用一個端口。TxE:通知CPU發送移位寄存器空。此時,在狀態寄存器的TxE位置1。CPU可以查詢TxE信號或狀態寄存器的TxE位TxRDY:告訴CPU,8251已準備好發送,CPU可以為其提供需要發送的字符RxRDY:通知CPU,8251已從外部設備收到一個字符,等待CPU讀取。CPU可以查詢該信號,或把該信號作為中斷請求信號。SYNDET:同步檢測信號,只用于同步方式T

溫馨提示

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

評論

0/150

提交評論