微機原理與接口技術10_第1頁
微機原理與接口技術10_第2頁
微機原理與接口技術10_第3頁
微機原理與接口技術10_第4頁
微機原理與接口技術10_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第10章:串行通信串行通信基礎串行異步通信接口芯片8250串行通信程序設計串行通信接口芯片8251A串行通信的特點同步異步通信的特點、異步通信的幀格式、波特率、串行數據傳輸方式8251A的特點

本章重點并行通信

多位二進制數據可以同時傳輸;提高數據傳輸的效率;每一位都要有自己的傳輸線和發送接收器件。串行通信

在單根導線上將二進制數一位一位順序傳送;傳輸線少,成本低,傳輸距離遠。通信基本方式

所有串行通信都需要一個時鐘信號來作為數據的定時參考。發送器和接收器用時鐘來決定何時發送和讀取每一個數據位。根據傳輸時采用的是統一時鐘還是本地局部時鐘,分:異步通信同步通信串行通信異步通信一個幀0/1奇偶校驗起始位0停止位1、1.5、2位10/10/10/10/10/10/10/1低位高位有效數據5~8位以“字符”為單位;用起始位和停止位來完成收發;起始位為“0”,停止位為“1”;

兩個字符間的傳輸間隔是任意的;起始位與停止位之間用空閑位隔開。幀錯誤

停止位發生錯誤校驗錯校驗位發生錯誤溢出錯前一字符還未取走,后一字符已經到來。異步通信常見錯誤同步通信同步字符數據CRC1CRC2一幀(單同步)同步字符同步字符數據CRC1CRC2(雙同步)一幀以“數據塊”為基本單位;

靠“同步字符”來完成收發同步;

將許多字符組成一個信息組(稱為幀),字符一個接一個地傳輸,在每幀的開始處加上同步字符,沒有信息傳輸時,填上空字符,同步傳輸不允許字符與字符之間有間隙。

需使用同一時鐘作為發送接收設備的同步信號。異步與同步的區別異步串行通信同步串行通信在通信的數據流中,字符間異步,字符內各位間同步。使用多個時鐘。在通信的數據流中,字符與字符之間以及字符內部的位與位之間都必須保持同步。需使用一個時鐘。信息傳送單位(1幀數據)為1個字符,即1幀數據中只包括1個字符的有效數據。字符與字符之間通信沒有嚴格定時要求。信息傳送單位(1幀數據)為數據塊(字符塊),即1幀數據中包括1個或多個字符的有效數據。傳輸方式發送器接收器發送器/接收器發送器/接收器發送器/接收器發送器/接收器單工方式如:廣播、有線電視半雙工方式如:對講機全雙工方式如:電話通信協議通信雙方對數據傳送控制的一種約定。約定中包括對數據格式、同步方式、傳送速率、傳送步驟、檢糾錯方式以及控制字符定義等問題作統一規定。通信雙方必須共同遵守。通信協議波特率波特率(通信速率)每秒鐘傳送0、1代碼的位數。單位:波特

1波特=1位/秒(1bps)常用波特率:

110、300、600、1200、2400、48009600、19200收發雙方的通信速率必須一致。波特率與時鐘頻率同步通信

收/發時鐘頻率=波特率異步通信收/發時鐘頻率=n*波特率(n為波特率系數,取1,16,64)例:某系統利用8251A芯片發送字符,字符格式由1個起始位、奇校驗、8位數據位、1個停止位組成,波特率為2200。試問:(1)該系統每分鐘發送字符多少個?(2)若波特率因子為16,求發送的時鐘頻率?接口標準:RS-232C

連接器:外形為25針或9針的D型RS-232C電平:負邏輯

“1”:-3V~-15V

“0”:

+3V~+15VTTL電平:正邏輯

“1”:3.6V~

5V

“0”:

0V~

2.4V電平轉換:

TTL→RS232:MC1488RS232→TTL:MC1489調制:將數字信號轉換為模擬信號解調:將模擬信號轉換成數字信號調制解調器(MODEM):既調制,又解調方法:根據載波Acos(t+)的三個參數:幅度、頻率、相位,產生常用的三種調制技術:1.

振幅鍵控

Amplitude-ShiftKeying(ASK)2.

頻移鍵控

Frequency-ShiftKeying(FSK)3.

相移鍵控

Phase-ShiftKeying(PSK)信號的調制解調8251A8251A是通用串行接口;是可編程的同步/異步、接收器/發送器。

兩個命令字:方式選擇命令字、工作命令字一個狀態字方式選擇命令字僅僅對8251A的工作方式做了規定,并不能使其啟動工作。因此在方式選擇命令字后必須寫入一個工作命令字,以便接收和發送數據。兩個命令字在對8251A初始化編程時必須完成,否則芯片將不工作。兩個命令字都寫入同一控制口,無特征位,所以必須按順序完成。8251A命令字方式選擇命令字D7D6D5D4D3D2D1D0通信方式與波特率選擇00:同步01:異步110:異步1611:異步64數據長度00:5位01:6位10:7位11:8位同步/幀控制D1D0≠00時:00:不確定01:1個停止位10:1.5個11:2個停止位奇偶校驗×0:無01:奇校驗11:偶校驗例:某系統利用8251A芯片傳送字符,字符格式由1個起始位、奇校驗、8位數據位、1個停止位組成,波特率為2200,時鐘頻率為35.2kHz。確定方式選擇命令字。工作命令字初始化是在芯片復位的前提下進行的,所以需先向控制口寫入40H,令8251A復位。初始化寫工作命令字時,一般定工作命令字為:

00010101B(15H)D7D6D5D4D3D2D1D01:允許發送0:禁止發送TXENRXENERSBRKDTRRTSIREH1:允許接收0:禁止接收1:錯誤標志復位1:復位數據終端是否準備好1:發送終止字符0:正常工作1:發送請求1:搜索同步字符只用于內同步狀態字為了監視和檢查芯片的工作狀態。D7D6D5D4D3D2D1D0發送準備好TXRDYRXRDYOEPEFESYNDETDSR發送器空溢出錯同步檢測接收準備好奇偶錯格式錯TXE數據設備準備好初始化編程步驟向控制口寫入3個0保證芯片處于命令狀態向控制口寫入40H延時(>28*TCLK)寫方式選擇命令字寫工作命令字令芯片復位返回空閑狀態等待內部狀態轉換完畢確定工作方式及幀格式控制實際操作8251A舉例設8251A工作在異步通信方式,字符為8位,偶校驗,2位停止位,傳輸率為9600波特,發送接收時鐘TxC和RxC接153.6kHz,8251A端口地址為C0H、C2H。初始化編程如下:波特率系數=153600/9600=16由于是異步方式,因此只需要向8251送方式選擇字(奇地址端口)和工作命令字(奇地址端口)方式選擇字為:

11111110:

2位停止位,偶校驗,8位數據,系數16舉例工作命令字:要求首先復位所有出錯標志,請求發送/RTS有效,數據終端就緒/DTR有效,發送允許TxEN有效,接收允許RxE有效(全雙工)。

即工作字為:001

10111外同步內部復位RTS有效復位出錯標志不發連續空號RxE有效DTR有效TxEN有效由于8251端口地址為C0H、C2H,因此,8251的偶地址是C0H,奇地址實際上是C2H

初始化編程為:

MOV AL, 1111,1110B OUT 0C2H, AL MOV AL, 0011,0111B OUT 0C2H, AL8251A舉例例2:查詢8251A狀態字,實現異步方式串行接收100個數據,放入BUFFER緩沖區,接收完后,發送一個結束標志字符給對方。通信格式同例1。解:8251編程約定,在初始化之前,先送3個0到奇地址,再送40H將8251A復位,之后,才進行初始化設置。要用軟件不斷檢測RxRDY標志位(讀奇地址),看是否接收到一個字符;若接收到字符,還要判斷標志字的3、4、5位,看是否出現奇/偶錯、覆蓋錯和幀格式錯;若無錯,則讀偶地址,接收一個數據,讀取一個數據后,RxRDY會自動復位。發送時,首先判斷狀態字中的TxRDY是否為1(發送緩沖器空),若為1,則輸出一個數據(通過偶地址口)8251A舉例8251A初始化讀狀態寄存器RxRDY=1?接收數據數據出錯?讀狀態寄存器數據接收完?錯誤處理讀狀態寄存器TxRDY=1?發送結束符結束是是是是否否否8251A舉例程序如下:

XOR AL,AL ;AL清0 OUT 0C2H,AL CALL DELAY ;調用延遲子程序

OUT 0C2H,AL CALL DELAY OUT 0C2H,AL CALL DELAY MOV AL,0100,0000B ;8251內部復位命令字

OUT 0C2H,AL CALL DELAY MOV AL,1111,1110B ;8251A初始化

OUT 0C2H,AL MOV AL,0011,0111B OUT 0C2H,AL

LEA BX,BUFFER ;接收緩沖區首地址

MOV DI,0 MOV CX,100 ;計數初值口)INCHR:IN AL,0C2H ;讀狀態字

TEST AL,00000010B ;測試RxRDY位

JZ INCHR ;未收到數據,繼續接收

IN AL,C0H MOV [BX][DI],AL ;放入BUFFER INC DI IN AL,0C2H ;再讀狀態字

TEST AL,00111000B ;測試PE、OE、FE JNZ ERR ;剛才接收到的數據出錯,出錯處理

LOOP INCHR ;循環直到接收完100個數據TRANS:IN AL,0C2H ;接收結束,讀狀態字準備發送數據

TEST AL,00000001B ;判斷TxRDY JZ TRANS MOV AL,’E’ ;發送結束標志字符‘E’ OUT 0C0H,AL JMP EXITERR: CALL ERRPRO8251A舉例編寫8251異步模式下的發送和接收程序:完成256個字符的發送和接收;設端口地址:208H,209H;波特率因子16,1個停止位,無奇偶校驗,每字符8位。發送程序

MOVDX,209HMOVAL,01001110B ;方式選擇命令字

OUTDX,ALMOVAL,00110111B;工作命令字

OUTDX,ALMOVCX,256 ;發送256字節NEXT:MOVDX,209HINAL,DX

溫馨提示

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

評論

0/150

提交評論