專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

RS-232C串行通信與單片機接口簡介

作者:mcu110   來源:51hei   點擊數(shù):  更新時間:2007年08月07日   【字體:

    在這一課里,我們一起來學(xué)習(xí)RS-232C串行通信相關(guān)標(biāo)準(zhǔn)及單片機和電腦的RS-232C串行通信接口技術(shù)簡介,為學(xué)習(xí)和開發(fā)單片機串口通信應(yīng)用系統(tǒng)打好基礎(chǔ),希望大家在看完這篇文章后對串行通信有初步的認識。

    【通信基本概念】
    
    什么是通信?簡單地說,不同的系統(tǒng)經(jīng)由線路相互交換數(shù)據(jù),就是通信。通信的主要目的是將數(shù)據(jù)從一端傳送到另一端,達到數(shù)據(jù)交換的目的。例如,從人與人之間的對話、計算機與設(shè)備之間的數(shù)據(jù)交換到計算機與計算機間的數(shù)據(jù)傳送,乃至于廣播或衛(wèi)星都是通信的一種,一個完整的通信系統(tǒng)包括發(fā)送端、接收端、轉(zhuǎn)換數(shù)據(jù)的接口及傳送數(shù)據(jù)的實際信道。

    【通信的種類】
    
    按照通信的形式可以分為兩種,其中一種為并行傳輸?shù)耐ㄐ,即并行通信(Parallel Communication),另一種則為串行通信(Serisl Communication)。這兩種通信方式的區(qū)別是,并行通信一次的傳輸數(shù)據(jù)量為8位(1個字節(jié));而串行通信則一次只能傳輸1位,傳輸1字節(jié)數(shù)據(jù)(8位)數(shù)據(jù)就需要8次才能傳出去,因此,它們兩者之間的數(shù)據(jù)傳輸速度就相差8倍?吹竭@里,估計有些朋友會問,既然并行通信的速度是串行通信的8倍,是不是串行通信就不好了?!其實不能這么認為,兩種通信方式各有特點,串行通信之所以存活了這么長時間,自然有它的長處。

串行通信一次只傳輸1位,相對來說,要處理的數(shù)據(jù)電壓只有一個,因此比較不容易漏失數(shù)據(jù),通信時候再加上一些校驗防范措施后,串行通信的出錯就更不容易了,串行通信端口(Serisl Communication Port)在系統(tǒng)控制的范疇中一直占有極其重要的角色,不僅沒有因為時代的進步而被淘汰,反而失在規(guī)格上愈來愈向其極限挑戰(zhàn),下面我們重點來介紹RS-232C串行通信。


    并行通信雖然可以在一次的數(shù)據(jù)傳輸中傳送8位,但是數(shù)據(jù)電壓在傳送的過程中,容易因為線路及干擾因素使得電壓準(zhǔn)電位發(fā)生變化(主要為電壓衰減和信號間相互干擾問題),因而使得傳輸數(shù)據(jù)發(fā)生錯誤,通信距離越長,問題越明顯,因此并行通信主要用于傳輸距離較短的場合,如電腦主板的并口LPT1,主要和并行打印機通信。

    
    【RS-232串行通信】
    
    一、RS-232C標(biāo)準(zhǔn)介紹

    RS-232C是由美國電子工業(yè)協(xié)會(EIA)正式公布的,在異步串行通信中應(yīng)用最廣泛的標(biāo)準(zhǔn)總線。RS-232C 標(biāo)準(zhǔn)(協(xié)議)的全稱是EIA-RS-232C 標(biāo)準(zhǔn),其中EIA(Electronic Industry Association)代表美國電子工業(yè)協(xié)會,其中RS是Recommended Standard的縮寫,代表推贈標(biāo)準(zhǔn),232是標(biāo)識符,C代表RS-232的最新一次修改(1969年),在這之前,有過RS-232A、RS-232B標(biāo)準(zhǔn),它規(guī)定連接電纜和機械、電氣特性、信號功能及傳送過程,F(xiàn)在,計算機上的串行通信端口(RS-232)是標(biāo)準(zhǔn)配置端口,已經(jīng)得到廣泛應(yīng)用,計算機上一般都有1~2個標(biāo)準(zhǔn)RS-232C串口,即通道COM1和COM2。下圖為計算機主板上的兩個RS-232通信端口圖片及端口屬性,我們一般可以從計算機后面查看到本機的通信端口。

 




計算機的RS-232串行通信接口圖片

如左圖所示,我們可以從操作系統(tǒng)的設(shè)備管理器中查看電腦的通信端口屬性,進入計算機的:控制面板 -> 系統(tǒng) -> 硬件 -> 設(shè)備管理器 -> 端口,就可以看到自己電腦通信端口,在圖中顯示了這臺計算機有1個ECP打印機并行通信端口LPT1和2個RS-232串行通信端口COM1和COM2。只要顯示的端口名稱前面沒有黃色的驚嘆號的話,就表示這個端口是可以使用的。

     

    二、RS-232C電氣特性
    
    EIA-RS-232C對電器特性、邏輯電平和各種信號線功能都作了明確規(guī)定。
    
    在TXD和RXD引腳上電平定義:邏輯1(MARK) = -3V~-15V
                              邏輯0(SPACE) = +3~+15V
    
    在RTS、CTS、DSR、DTR 和DCD等控制線上電平定義:
    信號有效(接通,ON狀態(tài),正電壓)=+3V~+15V
    信號無效(斷開,OFF狀態(tài),負電壓)=-3V~-15V

    以上規(guī)定說明了RS-232C 標(biāo)準(zhǔn)對邏輯電平的定義。對于數(shù)據(jù)(信息碼):邏輯“1”的傳輸?shù)碾娖綖?3V~-15V,邏輯“0”傳輸?shù)碾娖綖?3V~+15V;對于控制信號;接通狀態(tài)(ON)即信號有效的電平為+3V~+15V,斷開狀態(tài)(OFF)即信號無效的電平為-3V~-15V,也就是當(dāng)傳輸電平的絕對值大于3V 時,電路可以有效地檢查出來;而介于-3~+3V之間的電壓即處于模糊區(qū)電位,此部分電壓將使得計算機無法準(zhǔn)確判斷傳輸信號的意義,可能會得到0,也可能會得到1,如此得到的結(jié)果是不可信的,在通信時候體現(xiàn)的是會出現(xiàn)大量誤碼,造成通信失敗。因此,實際工作時,應(yīng)保證傳輸?shù)碾娖皆凇?3~15)V 之間。

    三、RS-232C機械連接器及引腳定義
    
    目前,大部分計算機的RS-232C通信接口都使用了DB9連接器,如上面圖中所示,主板的接口連接器有9根針輸出(RS-232公頭),也有些比較舊的計算機使用DB25連接器輸出,下面我們來介紹DB9和DB25輸出接口的引腳定義。

RS-232C串口引腳定義表
9針RS-232串口(DB9)
.
25針RS-232串口(DB25)
引腳
簡寫
功能說明
引腳
簡寫
功能說明
1
CD
載波偵測(Carrier Detect)
8
CD
載波偵測(Carrier Detect)
2
RXD
接收數(shù)據(jù)(Receive)
3
RXD
接收數(shù)據(jù)(Receive)
3
TXD
發(fā)送數(shù)據(jù)(Transmit)
2
TXD
發(fā)送數(shù)據(jù)(Transmit)
4
DTR
數(shù)據(jù)終端準(zhǔn)備(Data Terminal Ready)
20
DTR
數(shù)據(jù)終端準(zhǔn)備(Data Terminal Ready)
5
GND
地線(Ground)
7
GND
地線(Ground)
6
DSR
數(shù)據(jù)準(zhǔn)備好(Data Set Ready)
6
DSR
數(shù)據(jù)準(zhǔn)備好(Data Set Ready)
7
RTS
請求發(fā)送(Request To Send)
4
RTS
請求發(fā)送(Request To Send)
8
CTS
清除發(fā)送(Clear To Send)
5
CTS
清除發(fā)送(Clear To Send)
9
RI
振鈴指示(Ring Indicator)
22
RI
振鈴指示(Ring Indicator)

    四、RS-232C的通信距離和速度
    
    RS-232規(guī)定最大的負載電容為2500pF,這個電容限制了傳輸距離和傳輸速率,由于RS-232C的發(fā)送器和接收器之間具有公共信號地(GND),屬于非平衡電壓型傳輸電路,不使用差分信號傳輸,因此不具備抗共模干擾的能力,共模噪聲會耦合到信號中,在不使用調(diào)制解調(diào)器(MODEM)時,RS-232能夠可靠進行數(shù)據(jù)傳輸?shù)淖畲笸ㄐ啪嚯x為15米,對于RS232遠程通信,必須通過調(diào)制解調(diào)器進行遠程通信連接。

    現(xiàn)在個人計算機所提供的串行端口的傳輸速度一般都可以達到115200bps甚至更高,標(biāo)準(zhǔn)串口能夠提供的傳輸速度主要有以下波特率:1200bps、2400bps、4800bps、9600bps、19200bps、38400bps、57600bps、115200bps等,在儀器儀表或工業(yè)控制場合,9600bps是最常見的傳輸速度,在傳輸距離較近時,使用最高傳輸速度也是可以的。傳輸距離與傳輸速度的關(guān)系成反比,適當(dāng)?shù)亟档蛡鬏斔俣,可以延長RS-232的傳輸距離,提高通信的穩(wěn)定性。

    五、RS-232電平轉(zhuǎn)換芯片及電路
    
    RS-232C 規(guī)定的邏輯電平與一般微處理器、單片機的邏輯電平是不同的,例如:RS-232的邏輯“1”是以-3~-15V來表示的,而單片機的邏輯“1”是以+5V來表示的,兩者完全不同。因此,單片機系統(tǒng)要和電腦的RS-232接口進行通信,就必須把單片機的信號電平(TTL電平)轉(zhuǎn)換成計算機的RS-232C電平,或者把計算機的RS-232C電平轉(zhuǎn)換成單片機的TTL電平,通信時候必須對兩種電平進行轉(zhuǎn)換。實現(xiàn)這種轉(zhuǎn)換的方法可以使用分立元件,也可以使用專用RS-232電平轉(zhuǎn)換芯片。目前較為廣泛地使用專用電平轉(zhuǎn)換芯片,如MC1488、MC1489、MAX232等電平轉(zhuǎn)換芯片來實現(xiàn)EIA到TTL電平的轉(zhuǎn)換。下面來介紹MAXIM公司的單電源電平轉(zhuǎn)換芯片MAX232及接口電路。

    如下面圖中所示,MAX232是單電源雙RS-232發(fā)送/接收芯片,采用單一 +5V電源供電,外接只需4個電容,便可以構(gòu)成標(biāo)準(zhǔn)的RS-232通信接口,硬件接口簡單,所以被廣泛采用, 其主要特性如下:

    主要特點:
        1、符合所有的RS-232C技術(shù)規(guī)范
        2、只要單一 +5V電源供電
        3、片載電荷泵,具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生 +10V 和 -10V電壓V+、V-
        4、低功耗,典型供電電流5mA
        5、內(nèi)部集成2個RS-232C驅(qū)動器
        6、內(nèi)部集成2個RS-232C接收器

MAX232CPE 引腳結(jié)構(gòu)

MAX232芯片實物圖片
 


MAX232芯片引腳排列

     

    單片機和計算機RS-232接口電路如下圖所示,圖中的C1、C2、C3、C4是電荷泵升壓及電壓反轉(zhuǎn)部分電路,產(chǎn)生V+、V-電源供EIA電平轉(zhuǎn)換使用,C5是VCC對地去耦電容,其值為0.1UF,電容C1~C5安裝時必須盡量靠近MAX232芯片引腳,以提高抗干擾能力。

采用MAX232CPE 芯片的PC機與MCS-51單片機串行通信接口電路

 

     

    下圖是一個采用分立元件構(gòu)成的簡易RS-232串行通信接口電路,使用三極管進行電平轉(zhuǎn)換,能夠由于簡單的通信,對于通信穩(wěn)定性要求較高的應(yīng)用,不建議使用分立元件,分立元件電路的穩(wěn)定性,誤碼率較高,不能完全滿足RS-232C的全部技術(shù)指標(biāo)。優(yōu)點是成本低廉,網(wǎng)上也可以看到部分網(wǎng)站產(chǎn)品使用分立元件構(gòu)成。

采用分立元件的簡易RS-232C通信接口電路

 

     

    通過對前面的學(xué)習(xí),我們對RS-232C串行通信標(biāo)準(zhǔn)已經(jīng)有了初步的了解,同時也掌握了單電源雙RS-232發(fā)送/接收芯片MAX232CPE的應(yīng)用。有了這些基礎(chǔ),我們開發(fā)單片機和電腦RS232串口通信系統(tǒng)的接口設(shè)計也就簡單了。只要給我們單片機實驗板增加RS232電平轉(zhuǎn)換電路,即可實現(xiàn)與計算機的串行通信,下面是采用MAX232CPE專用串口電平轉(zhuǎn)換芯片的S51增強型單片機實驗板和電腦通信的圖片。

S51增強型單片機實驗板與電腦串口實現(xiàn)RS232通信

 

     
關(guān)閉窗口

相關(guān)文章