




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章串行通訊6.1計算機串行通信基礎
6.280C51的串行口
6.3單片機串行口應用舉例
2/4/202316.1計算機串行通信基礎
隨著多微機系統(tǒng)的廣泛應用和計算機網絡技術的普及,計算機的通信功能愈來愈顯得重要。計算機通信是指計算機與外部設備或計算機與計算機之間的信息交換。通信有并行通信和串行通信兩種方式。在多微機系統(tǒng)以及現代測控系統(tǒng)中信息的交換多采用串行通信方式。2/4/202326.1計算機串行通信基礎計算機通信是將計算機技術和通信技術的相結合,完成計算機與外部設備或計算機與計算機之間的信息交換。可以分為兩大類:并行通信與串行通信。并行通信通常是將數據字節(jié)的各位用多條數據線同時進行傳送。并行通信控制簡單、傳輸速度快;由于傳輸線較多,長距離傳送時成本高且接收方的各位同時接收存在困難。
2/4/202336.1計算機串行通信基礎串行通信是將數據字節(jié)分成一位一位的形式在一條傳輸線上逐個地傳送。串行通信的特點:傳輸線少,長距離傳送時成本低,且可以利用電話網等現成的設備,但數據的傳送控制比并行通信復雜。
2/4/202346.1.1串行通信的基本概念異步通信是指通信的發(fā)送與接收設備使用各自的時鐘控制數據的發(fā)送和接收過程。為使雙方的收發(fā)協調,要求發(fā)送和接收設備的時鐘盡可能一致。
一、異步通信與同步通信
1、異步通信
2/4/202356.1.1串行通信的基本概念異步通信是以字符(構成的幀)為單位進行傳輸,字符與字符之間的間隙(時間間隔)是任意的,但每個字符中的各位是以固定的時間傳送的,即字符之間是異步的(字符之間不一定有“位間隔”的整數倍的關系),但同一字符內的各位是同步的(各位之間的距離均為“位間隔”的整數倍)。
2/4/202366.1.1串行通信的基本概念異步通信的特點:不要求收發(fā)雙方時鐘的嚴格一致,實現容易,設備開銷較小,但每個字符要附加2~3位用于起止位,各幀之間還有間隔,因此傳輸效率不高。
異步通信的數據格式:2/4/202376.1.1串行通信的基本概念同步通信時要建立發(fā)送方時鐘對接收方時鐘的直接控制,使雙方達到完全同步。此時,傳輸數據的位之間的距離均為“位間隔”的整數倍,同時傳送的字符間不留間隙,即保持位同步關系,也保持字符同步關系。發(fā)送方對接收方的同步可以通過兩種方法實現
2、同步通信外同步
內同步
2/4/202386.1.1串行通信的基本概念
此時,傳送的數據和控制信息都必須由規(guī)定的字符集(如ASCII碼)中的字符所組成。圖中幀頭為1個或2個同步字符SYN(ASCII碼為16H)。SOH為序始字符(ASCII碼為01H),表示標題的開始,標題中包含源地址、目標地址和路由指示等信息。STX為文始字符(ASCII碼為02H),表示傳送的數據塊開始。數據塊是傳送的正文內容,由多個字符組成。數據塊后面是組終字符ETB(ASCII碼為17H)或文終字符ETX(ASCII碼為03H)。然后是校驗碼。典型的面向字符的同步規(guī)程如IBM的二進制同步規(guī)程BSC。
面向字符的同步格式
2/4/202396.1.1串行通信的基本概念
此時,將數據塊看作數據流,并用序列01111110作為開始和結束標志。為了避免在數據流中出現序列01111110時引起的混亂,發(fā)送方總是在其發(fā)送的數據流中每出現5個連續(xù)的1就插入一個附加的0;接收方則每檢測到5個連續(xù)的1并且其后有一個0時,就刪除該0。
典型的面向位的同步協議如ISO的高級數據鏈路控制規(guī)程HDLC和IBM的同步數據鏈路控制規(guī)程SDLC。
同步通信的特點是以特定的位組合“01111110”作為幀的開始和結束標志,所傳輸的一幀數據可以是任意位。所以傳輸的效率較高,但實現的硬件設備比異步通信復雜。面向位的同步格式
2/4/2023106.1.1串行通信的基本概念二、串行通信的傳輸方向
1、單工單工是指數據傳輸僅能沿一個方向,不能實現反向傳輸。2、半雙工半雙工是指數據傳輸可以沿兩個方向,但需要分時進行。3、全雙工全雙工是指數據可以同時進行雙向傳輸。
2/4/2023116.1.1串行通信的基本概念三、信號的調制與解調
利用調制器(Modulator)把數字信號轉換成模擬信號,然后送到通信線路上去,再由解調器(Demodulator)把從通信線路上收到的模擬信號轉換成數字信號。由于通信是雙向的,調制器和解調器合并在一個裝置中,這就是調制解調器MODEM。
2/4/2023126.1.1串行通信的基本概念四、串行通信的錯誤校驗
1、奇偶校驗
在發(fā)送數據時,數據位尾隨的1位為奇偶校驗位(1或0)。奇校驗時,數據中“1”的個數與校驗位“1”的個數之和應為奇數;偶校驗時,數據中“1”的個數與校驗位“1”的個數之和應為偶數。接收字符時,對“1”的個數進行校驗,若發(fā)現不一致,則說明傳輸數據過程中出現了差錯。2、代碼和校驗
代碼和校驗是發(fā)送方將所發(fā)數據塊求和(或各字節(jié)異或),產生一個字節(jié)的校驗字符(校驗和)附加到數據塊末尾。接收方接收數據同時對數據塊(除校驗字節(jié)外)求和(或各字節(jié)異或),將所得的結果與發(fā)送方的“校驗和”進行比較,相符則無差錯,否則即認為傳送過程中出現了差錯。3、循環(huán)冗余校驗這種校驗是通過某種數學運算實現有效信息與校驗位之間的循環(huán)校驗,常用于對磁盤信息的傳輸、存儲區(qū)的完整性校驗等。這種校驗方法糾錯能力強,廣泛應用于同步通信中。2/4/2023136.1.1串行通信的基本概念五、傳輸速率與傳輸距離
1、傳輸速率
比特率是每秒鐘傳輸二進制代碼的位數,單位是:位/秒(bps)。如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位、1個停止位、8個數據位),這時的比特率為:
10位×240個/秒=2400bps
波特率表示每秒鐘調制信號變化的次數,單位是:波特(Baud)。
波特率和比特率不總是相同的,對于將數字信號1或0直接用兩種不同電壓表示的所謂基帶傳輸,比特率和波特率是相同的。所以,我們也經常用波特率表示數據的傳輸速率。
2/4/2023146.1.1串行通信的基本概念串行接口或終端直接傳送串行信息位流的最大距離與傳輸速率及傳輸線的電氣特性有關。當傳輸線使用每0.3m(約1英尺)有50PF電容的非平衡屏蔽雙絞線時,傳輸距離隨傳輸速率的增加而減小。當比特率超過1000bps時,最大傳輸距離迅速下降,如9600bps時最大距離下降到只有76m(約250英尺)。
2、傳輸距離與傳輸速率的關系
2/4/2023156.1.2串行通信接口標準
RS-232C是EIA(美國電子工業(yè)協會)1969年修訂RS-232C標準。RS-232C定義了數據終端設備(DTE)與數據通信設備(DCE)之間的物理接口標準。
一、RS-232C接口
1、機械特性RS-232C接口規(guī)定使用25針連接器,連接器的尺寸及每個插針的排列位置都有明確的定義。(陽頭)2/4/2023166.1.2串行通信接口標準2、功能特性
2/4/2023176.1.2串行通信接口標準3、過程特性
過程特性規(guī)定了信號之間的時序關系,以便正確地接收和發(fā)送數據
。
遠程通信連接
2/4/2023186.1.2串行通信接口標準近程通信連接
2/4/2023196.1.2串行通信接口標準4、RS-232C電平與TTL電平轉換驅動電路
2/4/2023206.1.2串行通信接口標準1、傳輸距離短,傳輸速率低
RS-232C總線標準受電容允許值的約束,使用時傳輸距離一般不要超過15米(線路條件好時也不超過幾十米)。最高傳送速率為20Kbps。2、有電平偏移
RS-232C總線標準要求收發(fā)雙方共地。通信距離較大時,收發(fā)雙方的地電位差別較大,在信號地上將有比較大的地電流并產生壓降。3、抗干擾能力差
RS-232C在電平轉換時采用單端輸入輸出,在傳輸過程中當干擾和噪聲混在正常的信號中。為了提高信噪比,RS-232C總線標準不得不采用比較大的電壓擺幅。5、采用RS-232C接口存在的問題
2/4/2023216.1.2串行通信接口標準
RS-422A輸出驅動器為雙端平衡驅動器。如果其中一條線為邏輯“1”狀態(tài),另一條線就為邏輯“0”,比采用單端不平衡驅動對電壓的放大倍數大一倍。差分電路能從地線干擾中拾取有效信號,差分接收器可以分辨200mV以上電位差。若傳輸過程中混入了干擾和噪聲,由于差分放大器的作用,可使干擾和噪聲相互抵消。因此可以避免或大大減弱地線干擾和電磁干擾的影響。RS-422A傳輸速率(90Kbps)時,傳輸距離可達1200米。
二、RS-422A接口
2/4/2023226.1.2串行通信接口標準
RS-485是RS-422A的變型:RS-422A用于全雙工,而RS-485則用于半雙工。RS-485是一種多發(fā)送器標準,在通信線路上最多可以使用32對差分驅動器/接收器。如果在一個網絡中連接的設備超過32個,還可以使用中繼器。
RS-485的信號傳輸采用兩線間的電壓來表示邏輯1和邏輯0。由于發(fā)送方需要兩根傳輸線,接收方也需要兩根傳輸線。傳輸線采用差動信道,所以它的干擾抑制性極好,又因為它的阻抗低,無接地問題,所以傳輸距離可達1200米,傳輸速率可達1Mbps。三、RS-485接口
2/4/2023236.1.2串行通信接口標準
RS-485是一點對多點的通信接口,一般采用雙絞線的結構。普通的PC機一般不帶RS485接口,因此要使用RS-232C/RS-485轉換器。對于單片機可以通過芯片MAX485來完成TTL/RS-485的電平轉換。在計算機和單片機組成的RS-485通信系統(tǒng)中,下位機由單片機系統(tǒng)組成,上位機為普通的PC機,負責監(jiān)視下位機的運行狀態(tài),并對其狀態(tài)信息進行集中處理,以圖文方式顯示下位機的工作狀態(tài)以及工業(yè)現場被控設備的工作狀況。系統(tǒng)中各節(jié)點(包括上位機)的識別是通過設置不同的站地址來實現的。
2/4/2023246.280C51的串行口
有兩個物理上獨立的接收、發(fā)送緩沖器SBUF,它們占用同一地址99H;接收器是雙緩沖結構;發(fā)送緩沖器,因為發(fā)送時CPU是主動的,不會產生重疊錯誤。
6.2.180C51串行口的結構
2/4/2023256.2.280C51串行口的控制寄存器SCON是一個特殊功能寄存器,用以設定串行口的工作方式、接收/發(fā)送控制以及設置狀態(tài)標志:
SM0和SM1為工作方式選擇位,可選擇四種工作方式:
2/4/2023266.2.280C51串行口的控制寄存器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,則禁止接收。2/4/2023276.2.280C51串行口的控制寄存器TB8,在方式2或方式3中,是發(fā)送數據的第九位,可以用軟件規(guī)定其作用??梢杂米鲾祿钠媾夹r炍唬蛟诙鄼C通信中,作為地址幀/數據幀的標志位。在方式0和方式1中,該位未用。RB8,在方式2或方式3中,是接收到數據的第九位,作為奇偶校驗位或地址幀/數據幀的標志位。在方式1時,若SM2=0,則RB8是接收到的停止位。2/4/2023286.2.280C51串行口的控制寄存器TI,發(fā)送中斷標志位。在方式0時,當串行發(fā)送第8位數據結束時,或在其它方式,串行發(fā)送停止位的開始時,由內部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務程序中,必須用軟件將其清0,取消此中斷申請。RI,接收中斷標志位。在方式0時,當串行接收第8位數據結束時,或在其它方式,串行接收停止位的中間時,由內部硬件使RI置1,向CPU發(fā)中斷申請。也必須在中斷服務程序中,用軟件將其清0,取消此中斷申請。2/4/2023296.2.280C51串行口的控制寄存器SMOD(PCON.7)波特率倍增位。在串行口方式1、方式2、方式3時,波特率與SMOD有關,當SMOD=1時,波特率提高一倍。復位時,SMOD=0。
PCON中只有一位SMOD與串行口工作有關
:
2/4/2023306.2.380C51串行口的工作方式一、方式0
方式0時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴展并行輸入或輸出口。數據由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收均為8位數據,低位在先,高位在后。波特率固定為fosc/12。
1、方式0輸出
2/4/2023316.2.380C51串行口的工作方式2、方式0輸入
方式0接收和發(fā)送電路
2/4/2023326.2.380C51串行口的工作方式二、方式1
方式1是10位數據的異步通信口。TXD為數據發(fā)送引腳,RXD為數據接收引腳,傳送一幀數據的格式如圖所示。其中1位起始位,8位數據位,1位停止位。
1、方式1輸出
2/4/2023336.2.380C51串行口的工作方式用軟件置REN為1時,接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數據從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的停止位為1)時,將接收到的9位數據的前8位數據裝入接收SBUF,第9位(停止位)進入RB8,并置RI=1,向CPU請求中斷。
2、方式1輸入
2/4/2023346.2.380C51串行口的工作方式方式2和方式3時起始位1位,數據9位(含1位附加的第9位,發(fā)送時為SCON中的TB8,接收時為RB8),停止位1位,一幀數據為11位。方式2的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時器T1的溢出率決定。
方式2或方式3時為11位數據的異步通信口。TXD為數據發(fā)送引腳,RXD為數據接收引腳。三、方式2和方式3
2/4/2023356.2.380C51串行口的工作方式1、方式2和方式3輸出
發(fā)送開始時,先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出位(D0)到TXD引腳。每一個移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。第一次移位時,停止位“1”移入輸出移位寄存器的第9位上,以后每次移位,左邊都移入0。當停止位移至輸出位時,左邊其余位全為0,檢測電路檢測到這一條件時,使控制電路進行最后一次移位,并置TI=1,向CPU請求中斷。2/4/2023366.2.380C51串行口的工作方式2、方式2和方式3輸入
接收時,數據從右邊移入輸入移位寄存器,在起始位0移到最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的第9位數據為1)時,接收到的數據裝入接收緩沖器SBUF和RB8(接收數據的第9位),置RI=1,向CPU請求中斷。如果條件不滿足,則數據丟失,且不置位RI,繼續(xù)搜索RXD引腳的負跳變。
2/4/2023376.2.380C51串行口的工作方式在串行通信中,收發(fā)雙方對發(fā)送或接收數據的速率要有約定。通過軟件可對單片機串行口編程為四種工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率來決定。串行口的四種工作方式對應三種波特率。由于輸入的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不相同。
方式0的波特率=fosc/12方式2的波特率=(2SMOD/64)·fosc
方式1的波特率=(2SMOD/32)·(T1溢出率)方式3的波特率=(2SMOD/32)·(T1溢出率)
四、波特率的計算
2/4/2023386.2.380C51串行口的工作方式當T1作為波特率發(fā)生器時,最典型的用法是使T1工作在自動再裝入的8位定時器方式(即方式2,且TCON的TR1=1,以啟動定時器)。這時溢出率取決于TH1中的計數值。
T1溢出率=fosc/{12×[256-(TH1)]}
在單片機的應用中,常用的晶振頻率為:12MHz和11.0592MHz。所以,選用的波特率也相對固定。常用的串行口波特率以及各參數的關系如表所示。
2/4/2023396.2.380C51串行口的工作方式串行口工作之前,應對其進行初始化,主要是設置產生波特率的定時器1、串行口控制和中斷控制。具體步驟如下:確定T1的工作方式(編程TMOD寄存器);計算T1的初值,裝載TH1、TL1;啟動T1(編程TCON中的TR1位);確定串行口控制(編程SCON寄存器);串行口在中斷方式工作時,要進行中斷設置(編程IE、IP寄存器)。
2/4/2023406.3單片機串行口應用舉例
6.3.1單片機與單片機的通信
RS323通訊2/4/2023416.3單片機串行口應用舉例6.3.2單片機與PC機的通信
RS485通訊2/4/2023426.3單片機串行口應用舉例6.3.3PC機與單片機的主從通信
2/4/202343思考題及習題1、80C51單片機串行口有幾種工作方式?如何選擇?簡述其特點?2、串行通信的接口標準由那幾種?3、在串行通信中通信速率與傳輸距離之間的關系如何?4、在利用RS-422/RS-485通信的過程如果通信距離(波特率固定)過長,應如何處理?5、利用單片機串行口擴展24個發(fā)光二極管和8個按鍵,要求畫出電路圖并編寫程序使24個發(fā)光二極管按照不同的順序發(fā)光(發(fā)光的時間間隔為1S)。6、如何編制中斷方式的數據接收程序。7、簡述80C51單片機多機通信的特點。8、在微機與單片機構成的測控網絡中,要提高通信的可靠性要注意哪些問題?2/4/2023443.4.1標準串行總線
RS232RS485通訊模式全雙工半雙工信號特性0:+3V~+15V0:<-0.2V1:-3V~-15V1:>+0.2V接口引腳DB9、DB25兩線接口電路16腳器件:MAX232、ICL2328腳器件:75176、SP3845通訊距離15m可達1km抗干擾能力弱較強2/4/202345RS232接口C1+C1-C2+C2-VccV+V-GND5VMAX232T1INT2INR1OUTR2OUTT1OUTT2OUTR1INR2IN8051TXDRXDGND0.1uF×4GNDRXDTXD通訊設備,如:PC機2/4/202346RS485接口75176RO/REDEDIAB8051TXDP1.0RXDGNDABGND通訊設備GNDP1.0作為通訊方向控制。1:發(fā)送數據,0:接收數據2/4/2023473.4.2ModBus串行通信協議
MODBUS通訊協議有兩種傳送方式:RTU方式和ASCII方式
項目RTU方式ASCII方式
字節(jié)長度8位7位
奇偶校驗奇、偶、無奇、偶、無字節(jié)中止1、2位
1、2位
開始標記不要(冒號)
結束標記不要CR,LF
數據間隔<24位<1S
出錯檢驗方式CRC-16LRC2/4/202348查詢-回應方式設備地址功能代碼錯誤檢測數據段主設備的查詢消息從設備的回應消息設備地址功能代碼錯誤檢測數據段2/4/202349起始字符設備地址功能代碼數據LRC校驗結束符1個字節(jié)2個字節(jié)2個字節(jié)n個字節(jié)2個字節(jié)2個字節(jié)3AH
0DH,0AHASCII方式數據格式2/4/202350RTU方式數據格式讀N個位數據設備地址功能代碼第1個位的地址讀取位的個數CRC校驗1字節(jié)1字節(jié)2字節(jié)2字節(jié)2字節(jié)
1、2高字節(jié)地字節(jié)高字節(jié)地字節(jié)高字節(jié)地字節(jié)回應信息設備地址功能代碼讀取的字節(jié)數第一個字節(jié)…
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公廁管理面試題及答案
- 公司保險面試題及答案
- T/CAFFCI 66-2023化妝品修護功效測試方法
- 大專重修考試題庫及答案
- T/CAEPI 52-2022工業(yè)有機廢氣凈化用蜂窩活性炭
- c語言課程設計心得體會模版
- 傳統(tǒng)節(jié)日元宵節(jié)主題班會教案設計
- 企業(yè)辦公服務合同范本
- 教師外出參觀學校協議書
- 娛樂項目轉讓合同范本
- 精簡小型風力發(fā)電系統(tǒng)
- 《PLC技術及應用》期末試卷-B卷及答案
- 車輛維修配件管理制度
- 北京第八十中學初一新生分班(摸底)數學模擬考試(含答案)【6套試卷】
- 成人中心靜脈導管(CVC)堵塞風險評估及預防-2024團體標準
- 《護理學基礎》-15-標本采集
- 2024年四川教師招聘教育公共基礎知識真題與答案
- 解讀國有企業(yè)管理人員處分條例課件
- 2024消防維保投標文件模板
- HG∕T 3792-2014 交聯型氟樹脂涂料
- 門診部職責及管理制度(3篇)
評論
0/150
提交評論