串口通信(課件的一些摘錄)

 

計算機通信是指計算機與外部設備或計算機與計算機之間的信息交換
計算機通信是將計算機技術和通信技術的相結合,完成計算機與外部設備或計算機與計算機之間的信息交換  。可以分爲兩大類:並行通信與串行通信。
串行通信的基本概念:
1、異步通信
     異步通信是指通信的發送與接收設備使用各自的時鐘控制數據的發送和接收過程。爲使雙方的收發協調,要求發送和接收設備的時鐘儘可能一致。
2、同步通信
同步通信時要建立發送方時鐘對接收方時鐘的直接控制,使雙方達到完全同步。此時,傳輸數據的位之間的距離均爲“位間隔”的整數倍,同時傳送的字符間不留間隙,即保持位同步關係,也保持字符同步關係。發送方對接收方的同步可以通過兩種方法實現。
面向字符的同步格式 
     此時,傳送的數據和控制信息都必須由規定的字符集(如ASCII碼)中的字符所組成。圖中幀頭爲1個或2個同步字符SYN(ASCII碼爲16H)。SOH爲序始字符(ASCII碼爲01H),表示標題的開始,標題中包含源地址、目標地址和路由指示等信息。STX爲文始字符(ASCII碼爲02H),表示傳送的數據塊開始。數據塊是傳送的正文內容,由多個字符組成。數據塊後面是組終字符ETB(ASCII碼爲17H)或文終字符ETX(ASCII碼爲03H)。然後是校驗碼。典型的面向字符的同步規程如IBM的二進制同步規程BSC。
面向位的同步格式 
此時,將數據塊看作數據流,並用序列01111110作爲開始和結束標誌。爲了避免在數據流中出現序列01111110時引起的混亂,發送方總是在其發送的數據流中每出現5個連續的1就插入一個附加的0;接收方則每檢測到5個連續的1並且其後有一個0時,就刪除該0。
     典型的面向位的同步協議如ISO的高級數據鏈路控制規程HDLC和IBM的同步數據鏈路控制規程SDLC。
     同步通信的特點是以特定的位組合“01111110”作爲幀的開始和結束標誌,所傳輸的一幀數據可以是任意位。所以傳輸的效率較高,但實現的硬件設備比異步通信複雜。
串行通信的傳輸方向:
1、單工
單工是指數據傳輸僅能沿一個方向,不能實現反向傳輸。
2、半雙工
半雙工是指數據傳輸可以沿兩個方向,但需要分時進行。
3、全雙工
全雙工是指數據可以同時進行雙向傳輸。
   單工                                                                         半雙工                                                             全雙工
串行通信的錯誤校驗 
       
1、奇偶校驗
在發送數據時,數據位尾隨的1位爲奇偶校驗位(1或0)。奇校驗時,數據中“1”的個數與校驗位“1”的個數之和應爲奇數;偶校驗時,數據中“1”的個數與校驗位“1”的個數之和應爲偶數。接收字符時,對“1”的個數進行校驗,若發現不一致,則說明傳輸數據過程中出現了差錯。
2、代碼和校驗
代碼和校驗是發送方將所發數據塊求和(或各字節異或),產生一個字節的校驗字符(校驗和)附加到數據塊末尾。接收方接收數據同時對數據塊(除校驗字節外)求和(或各字節異或),將所得的結果與發送方的“校驗和”進行比較,相符則無差錯,否則即認爲傳送過程中出現了差錯。
3、循環冗餘校驗
這種校驗是通過某種數**算實現有效信息與校驗位之間的循環校驗,常用於對磁盤信息的傳輸、存儲區的完整性校驗等。這種校驗方法糾錯能力強,廣泛應用於同步通信中。
傳輸速率與傳輸距離:   
1、傳輸速率
比特率是每秒鐘傳輸二進制代碼的位數,單位是:位/秒(bps)。如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位、1個停止位、8個數據位),這時的比特率爲:
        10位×240個/秒 = 2400 bps
80C51串行口的控制寄存器:
SCON 是一個特殊功能寄存器,用以設定串行口的工作方式、接收/發送控制以及設置狀態標誌:
SM0和SM1爲工作方式選擇位,可選擇四種工作方式:
●SM2,多機通信控制位,主要用於方式2和方式3。當接收機的SM2=1時可以利用收到的RB8來控制是否激活RI(RB8=0時不激活RI,收到的信息丟棄;RB8=1時收到的數據進入SBUF,並激活RI,進而在中斷服務中將數據從SBUF讀走)。當SM2=0時,不論收到的RB8爲0和1,均可以使收到的數據進入SBUF,並激活RI(即此時RB8不具有控制RI激活的功能)。通過控制SM2,可以實現多機通信。
在方式0時,SM2必須是0。在方式1時,若SM2=1,則只有接收到有效停止位時,RI才置1。
●REN,允許串行接收位。由軟件置REN=1,則啓動串行口接收數據;若軟件置REN=0,則禁止接收。
●TB8,在方式2或方式3中,是發送數據的第九位,可以用軟件規定其作用。可以用作數據的奇偶校驗位,或在多機通信中,作爲地址幀/數據幀的標誌位。
在方式0和方式1中,該位未用。
●RB8,在方式2或方式3中,是接收到數據的第九位,作爲奇偶校驗位或地址幀/數據幀的標誌位。在方式1時,若SM2=0,則RB8是接收到的停止位。
●TI,發送中斷標誌位。在方式0時,當串行發送第8位數據結束時,或在其它方式,串行發送停止位的開始時,由內部硬件使TI置1,向CPU發中斷申請。在中斷服務程序中,必須用軟件將其清0,取消此中斷申請。
●RI,接收中斷標誌位。在方式0時,當串行接收第8位數據結束時,或在其它方式,串行接收停止位的中間時,由內部硬件使RI置1,向CPU發中斷申請。也必須在中斷服務程序中,用軟件將其清0,取消此中斷申請。
PCON中只有一位SMOD與串行口工作有關 
     SMOD(PCON.7)  波特率倍增位。在串行口方式1、方式2、方式3時,波特率與SMOD有關,當SMOD=1時,波特率提高一倍。復位時,SMOD=0。
 
80C51串行口的工作方式:
一、方式0
   方式0時,串行口爲同步移位寄存器的輸入輸出方式。主要用於擴展並行輸入或輸出口。數據由RXD(P3.0)引腳輸入或輸出,同步移位脈衝由TXD(P3.1)引腳輸出。發送和接收均爲8位數據,低位在先,高位在後。波特率固定爲fosc/12。  
   1、方式0輸出
二、方式1
    方式1是10位數據的異步通信口。TXD爲數據發送引腳,RXD爲數據接收引腳,傳送一幀數據的格式如圖所示。其中1位起始位,8位數據位,1位停止位。
   1、方式1輸出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章