串口通訊是什么?輕松讀懂串口通訊知識集
串口通訊(Serial Communication)是一種設備間非常常用的串行通訊方式,因為它簡單便捷,因此大部分電子設備都支持該通訊方式,其通訊協議可分層為協議層和物理層。
串行通信:將數據字節分成一位一位的形式在一條傳輸線上逐個傳送,示意圖如下
1.1、通訊特點
傳輸線少、長距離傳輸時成本低,且可以利用電話線網等現成的設備,但數據的傳輸控制比并行通信復雜。
1.2、異步通信和同步通信
異步通信:發送設備與接收設備使用自己各自的時鐘控制數據的發送和接收過程。為使雙方的收發協調,要求發送和接收設備的時鐘盡可能一致。
異步通信是以字符為單位進行傳輸,字符與字符之間的間隙是任意的,但是每個字符之間的詩是以固定的“位間隙”的整數倍的關系。
同步通信:同步通信時要建立發送方時鐘對接收方時鐘的控制,是雙方達到同步得效果。此時傳輸數據的位之間的距離均為“位間隙"的整數倍,同時傳輸的字符串見不留間隙,即保持同步關系。
串行通信的傳輸方向:單工、半雙工、全雙工
1.2、單工
單工是指數據傳輸僅沿一個方向,不能實現反向傳輸。
1.2、半雙工
半雙工是指數據傳輸可以沿兩個方向,但需要分時進行。
1.2、全雙工
全雙工是指數據同時進行雙向傳輸
利用調制器把數字信號轉換成模擬信號,然后送到通信線路上去,再由解調器把從通信線路上收到的模擬信號換成數字信號。
由于傳輸是雙向的,調制器和解調器合并在一個裝置中,這就是調制解調器MODDEM
1)奇偶校驗
在發送數據時,數據位尾隨的1位為奇偶校驗位(1或0)。奇校驗時,數據中“1”的個數與校驗位“1”的個數之和應為奇數;偶校驗時,數據中“1”的個數與校驗位“1”的個數之和應為偶數。接收字符時,對“1”的個數進行校驗,若發現不一致, 則說明傳輸數據過程中出現了差錯。
2)代碼和校驗
代碼和校驗是發送方將所發數據塊求和(或各字節異或)產生一個字節的校驗字符,(校驗和)附加到數據塊末尾。接收方接收數據同時對數據塊( 除校驗字節外)求和,(或各字節異或),將所得的結果寫發送方的“校驗和”進行比較,
3)循環冗余校驗
這種校驗是通過某種數學運算實現有效信息與校驗位之間的循環校驗,常用于對磁盤信息的傳輸、存儲區的完整性校驗等。這種校驗方法糾錯能力強廣泛應用于同步通信中。
1、方式0
串行接口的工作方式0為移位寄存器I/O方式。在串行口外接移位寄存器以擴展I/O接口,也可以外接串行同步I/O的設備。
(1)方式0輸出
串行口以方式0發送時,數據以RXD端串行輸出,TXD端輸出同步信號。當一個數據寫入串行口發送緩沖器以后,就啟動串行口發送器以振蕩頻率的十二分之一的波特率,將數據從RXD端串行輸出。
(2)方式0輸入
當串行口定義為方式0并置位REN后,便啟動串行口以方式0接收數據,此時RXD端為數據輸入端,TXD端為同步脈沖信號輸出端。接收器以振蕩率的十二分之一的波特率接收RXD端輸入的數據信息 7a686964616fe59b9ee7ad9431333332396234。但接收器接收到8位數據時,置1中斷標志RI。
(3)方式0接收與發送電路
2、方式1
串行接口定義為工作方式1時,則被控制為8位的異步通訊接口,傳送一幀信息為10位,其中1位為起始位,8位數據位(先低位后高位),1位停止位。
(1)方式1輸出
串行接口以方式1發送時,數據由TXD端輸出。CPU執行一條數據寫入發送緩沖
器SBUF的指令(例如,MOV SBUF,A),數據字節寫入SBUF后,便啟動串行口發送器發送,發送完一幀信息,置1放送中斷標志TI。
(2)方式1輸入
串行口以方式1接收時,數據從RXD端輸入。在REN置1以后,就允許接收器接收。接收器以所建立的波特率的16倍分頻計數器,以便實現時間同步。
計數器的16個狀態把一位的時間等分成16份,在每位時間的第7、8和9個計數狀態,位檢測器采樣RXD的值,接收的值是3次采樣中取至少二次相同的值,以排除噪聲的干擾。
如果在起始接收的值不是0,則起始位無效,復位接收電路。在檢測到另一個1到0的跳變時,再重新啟動接收器。如果接收到值為0,起始位有效,則開始接收本幀的其余信息。
當RI=0并且接收到的停止位為1(或SM2=0)時,停止位進入RB8,接收到的8位數據進入接收緩沖器SBUF,置位RI中斷標志。接著接收便搜索另一幀信息的起始位。
3、方式2和方式3
串行接口工作方式2和方式3時,則被定義為9位的異步通信接口。傳送一幀信息為11位,其中1位起始位,8位數據位(從低位至高位),1位是附加的可程控為1或0的第9位數據,1位停止位。
方式2和方式3的差別僅僅在于波特率不一樣,方式2的波特率是固定的,波特率為2SMOD/64(振蕩頻率);方式3的波特率是可變的,波特率=2SMOD/32(T1的溢出率)。
方式2和方式3在發送和接收時唯一的區別就是波特率不同。
(1)方式2和方式3發送
方式2或方式3發送時,數據由TXD端輸出,發出一幀信息為11位,附加的第9位數據是SCON中的TB8,CPU執行一條數據寫入發送緩沖器SBUF的指令,就啟動發送器發送,發送完一幀信息,置“1”TI中斷標志。
(2)方式2和方式3接收
串行口被定義為方式2或方式3接收時,數據從RXD端輸入,置REN=1以后,開始接收過程。當檢測到RXD端從高到低的負跳變時,確認起始位有效,開始接收本幀的其余信息。
在接收完一幀信息后,在RI=0、SM2=0時,或接收到第9位數據為“1”時,8位數據裝入接收緩沖器,第9位數據裝入SCON中RB8,并置RI=1。若不滿足上述的兩個條件,接收到的信息將會丟失,也不置位RI
6.1、點對點通信
6.2、多機通信
單片機構成的多機系統常采用總線型主從式結構。所謂主從式,即在數個單片機中,有一個是主機,其余的是從機,從機.要服從主機的調度、支配。
80C51單片機的串行口方式2和方式3適于這種主從式的通信結構。當然采用不同的通信標準時,還需進行相應的電平轉換,有時還要對信號進行光電隔離。在實際的多機應用系統中,常采用RS-485串 行標準總線進行數













