RS-232串行通信與單片機接口簡介
【通信基本概念】
什么是通信?簡單地說,不同的系統經由線路相互交換數據,就是通信。通信的主要目的是將數據從一端傳送到另一端,達到數據交換的目的。例如,從人與人之間的對話、計算機與設備之間的數據交換到計算機與計算機間的數據傳送,乃至于廣播或衛星都是通信的一種,一個完整的通信系統包括發送端、接收端、轉換數據的接口及傳送數據的實際信道。
【通信的種類】
按照通信的形式可以分為兩種,其中一種為并行傳輸的通信,即并行通信(Parallel Communication),另一種則為串行通信(Serisl Communication)。這兩種通信方式的區別是,并行通信一次的傳輸數據量為8位(1個字節);而串行通信則一次只能傳輸1位,傳輸1字節數據(8位)數據就需要8次才能傳出去,因此,它們兩者之間的數據傳輸速度就相差8倍。看到這里,估計有些朋友會問,既然并行通信的速度是串行通信的8倍,是不是串行通信就不好了?!其實不能這么認為,兩種通信方式各有特點,串行通信之所以存活了這么長時間,自然有它的長處。
串行通信一次只傳輸1位,相對來說,要處理的數據電壓只有一個,因此比較不容易漏失數據,通信時候再加上一些校驗防范措施后,串行通信的出錯就更不容易了,串行通信端口(Serisl Communication Port)在系統控制的范疇中一直占有極其重要的角色,不僅沒有因為時代的進步而被淘汰,反而失在規格上愈來愈向其極限挑戰,下面我們重點來介紹RS-232C串行通信。
并行通信雖然可以在一次的數據傳輸中傳送8位,但是數據電壓在傳送的過程中,容易因為線路及干擾因素使得電壓準電位發生變化(主要為電壓衰減和信號間相互干擾問題),因而使得傳輸數據發生錯誤,通信距離越長,問題越明顯,因此并行通信主要用于傳輸距離較短的場合,如電腦主板的并口LPT1,主要和并行打印機通信。
【RS-232串行通信】
一、RS-232C標準介紹
RS-232C是由美國電子工業協會(EIA)正式公布的,在異步串行通信中應用最廣泛的標準總線。RS-232C 標準(協議)的全稱是EIA-RS-232C 標準,其中EIA(Electronic Industry Association)代表美國電子工業協會,其中RS是Recommended Standard的縮寫,代表推贈標準,232是標識符,C代表RS-232的最新一次修改(1969年),在這之前,有過RS-232A、RS-232B標準,它規定連接電纜和機械、電氣特性、信號功能及傳送過程。現在,計算機上的串行通信端口(RS-232)是標準配置端口,已經得到廣泛應用,計算機上一般都有1~2個標準RS-232C串口,即通道COM1和COM2。下圖為計算機主板上的兩個RS-232通信端口圖片及端口屬性,我們一般可以從計算機后面查看到本機的通信端口。
![]() |
如左圖所示,我們可以從操作系統的設備管理器中查看電腦的通信端口屬性,進入計算機的:控制面板 -> 系統 -> 硬件 -> 設備管理器 -> 端口,就可以看到自己電腦通信端口,在圖中顯示了這臺計算機有1個ECP打印機并行通信端口LPT1和2個RS-232串行通信端口COM1和COM2。只要顯示的端口名稱前面沒有黃色的驚嘆號的話,就表示這個端口是可以使用的。 | |
二、RS-232C電氣特性
EIA-RS-232C對電器特性、邏輯電平和各種信號線功能都作了明確規定。
在TXD和RXD引腳上電平定義:邏輯1(MARK) = -3V~-15V
邏輯0(SPACE) = +3~+15V
在RTS、CTS、DSR、DTR 和DCD等控制線上電平定義:
信號有效(接通,ON狀態,正電壓)=+3V~+15V
信號無效(斷開,OFF狀態,負電壓)=-3V~-15V
以上規定說明了RS-232C 標準對邏輯電平的定義。對于數據(信息碼):邏輯“1”的傳輸的電平為-3V~-15V,邏輯“0”傳輸的電平為+3V~+15V;對于控制信號;接通狀態(ON)即信號有效的電平為+3V~+15V,斷開狀態(OFF)即信號無效的電平為-3V~-15V,也就是當傳輸電平的絕對值大于3V 時,電路可以有效地檢查出來;而介于-3~+3V之間的電壓即處于模糊區電位,此部分電壓將使得計算機無法準確判斷傳輸信號的意義,可能會得到0,也可能會得到1,如此得到的結果是不可信的,在通信時候體現的是會出現大量誤碼,造成通信失敗。因此,實際工作時,應保證傳輸的電平在±(3~15)V 之間。
三、RS-232C機械連接器及引腳定義
目前,大部分計算機的RS-232C通信接口都使用了DB9連接器,如上面圖中所示,主板的接口連接器有9根針輸出(RS-232公頭),也有些比較舊的計算機使用DB25連接器輸出,下面我們來介紹DB9和DB25輸出接口的引腳定義。
RS-232C串口引腳定義表 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
四、RS-232C的通信距離和速度
RS-232規定最大的負載電容為2500pF,這個電容限制了傳輸距離和傳輸速率,由于RS-232C的發送器和接收器之間具有公共信號地(GND),屬于非平衡電壓型傳輸電路,不使用差分信號傳輸,因此不具備抗共模干擾的能力,共模噪聲會耦合到信號中,在不使用調制解調器(MODEM)時,RS-232能夠可靠進行數據傳輸的最大通信距離為15米,對于RS232遠程通信,必須通過調制解調器進行遠程通信連接。
評論