RS232與RS485誰(shuí)才是UART中的高速公路
串口通訊是電子工程師面對(duì)的最基本的一個(gè)通訊方式,RS-232是其中最簡(jiǎn)單的一種。然而,很多初學(xué)者往往搞不清楚UART和RS-232、RS-422、RS-485的聯(lián)系和區(qū)別,本文將談?wù)勎覍?duì)這幾個(gè)概念的理解,幫助大家理清它們之間的關(guān)系。
本文引用地址:http://butianyuan.cn/article/201606/292849.htm通訊問(wèn)題,和交通問(wèn)題一樣,也有高速、低速、擁堵、中斷等等各種情況。如果把串口通訊比做交通,UART比作車(chē)站,那么一幀的數(shù)據(jù)就好比汽車(chē)。汽車(chē)跑在路上,要遵守交通規(guī)則。如果是市內(nèi),一般限速30、40,而高速公路則可以到120。而汽車(chē)走什么路,限速多少,就要看協(xié)議怎么規(guī)定了。常見(jiàn)的串口協(xié)議有RS-232、RS-422、RS-485等,那么誰(shuí)才是UART中的高速公路?下面我們就一起來(lái)探討一下。
一、UART是什么
UART是通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱(chēng)作UART,是一種異步收發(fā)傳輸器,是設(shè)備間進(jìn)行異步通信的關(guān)鍵模塊。UART負(fù)責(zé)處理數(shù)據(jù)總線和串行口之間的串/并、并/串轉(zhuǎn)換,并規(guī)定了幀格式;通信雙方只要采用相同的幀格式和波特率,就能在未共享時(shí)鐘信號(hào)的情況下,僅用兩根信號(hào)線(Rx 和Tx)就可以完成通信過(guò)程,因此也稱(chēng)為異步串行通信。
若加入一個(gè)合適的電平轉(zhuǎn)換器,如SP3232E、SP3485,UART 還能用于RS-232、RS-485 通信,或與計(jì)算機(jī)的端口連接。UART 應(yīng)用非常廣泛,手機(jī)、工業(yè)控制、PC 等應(yīng)用中都要用到UART。
二、RS-232標(biāo)準(zhǔn)
RS-232是美國(guó)電子工業(yè)協(xié)會(huì)EIA(Electronic Industry Association)制定的一種串行物理接口標(biāo)準(zhǔn)。RS是英文“推薦標(biāo)準(zhǔn)”的縮寫(xiě),232為標(biāo)識(shí)號(hào)。RS-232是對(duì)電氣特性以及物理特性的規(guī)定,只作用于數(shù)據(jù)的傳輸通路上,它并不內(nèi)含對(duì)數(shù)據(jù)的處理方式。需要說(shuō)明一下,很多人經(jīng)常把RS-232、RS-422、RS-485 誤稱(chēng)為通訊協(xié)議,這是很不應(yīng)該的,其實(shí)它們僅是關(guān)于UART通訊的一個(gè)機(jī)械和電氣接口標(biāo)準(zhǔn)(頂多是網(wǎng)絡(luò)協(xié)議中的物理層面)。
該標(biāo)準(zhǔn)規(guī)定采用一個(gè)25 個(gè)腳的DB-25 連接器,對(duì)連接器的每個(gè)引腳的信號(hào)內(nèi)容加以規(guī)定,還對(duì)各種信號(hào)的電平加以規(guī)定。后來(lái)IBM的PC 機(jī)將RS-232 簡(jiǎn)化成了DB-9 連接器,從而成為今天的事實(shí)標(biāo)準(zhǔn)。而工業(yè)控制的RS-232 口一般只使用RXD(2)、TXD(3)、GND(5) 三條線。
三、RS-485/ RS-422標(biāo)準(zhǔn)
RS-232接口可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的通信方式,但這種方式不能實(shí)現(xiàn)聯(lián)網(wǎng)功能。于是,為了解決這個(gè)問(wèn)題,一個(gè)新的標(biāo)準(zhǔn)RS-485產(chǎn)生了。RS-485的數(shù)據(jù)信號(hào)采用差分傳輸方式,也稱(chēng)作平衡傳輸,它使用一對(duì)雙絞線,將其中一線定義為A,另一線定義為B。
通常情況下,發(fā)送驅(qū)動(dòng)器A、B之間的正電平在+2~+6V,是一個(gè)邏輯狀態(tài),負(fù)電平在-2~6V,是另一個(gè)邏輯狀態(tài)。另有一個(gè)信號(hào)地C,在RS-485中還有一“使能”端,而在RS-422中這是可用可不用的。
RS-422 的電氣性能與RS-485完全一樣。主要的區(qū)別在于:RS-422 有4 根信號(hào)線:兩根發(fā)送、兩根接收。由于RS-422 的收與發(fā)是分開(kāi)的所以可以同時(shí)收和發(fā)(全雙工),也正因?yàn)槿p工要求收發(fā)要有單獨(dú)的信道,所以RS-422適用于兩個(gè)站之間通信,星型網(wǎng)、環(huán)網(wǎng),不可用于總線網(wǎng);RS-485 只有2 根信號(hào)線,所以只能工作在半雙工模式,常用于總線網(wǎng)。
四、RS-232與RS-485性能對(duì)比
1. 抗干擾性:RS485 接口是采用平衡驅(qū)動(dòng)器和差分接收器的組合,抗噪聲干擾性好。RS232 接口使用一根信號(hào)線和一根信號(hào)返回線而構(gòu)成共地的傳輸形式,這種共地傳輸容易產(chǎn)生共模干擾。
2. 傳輸距離:RS485 接口的最大傳輸距離標(biāo)準(zhǔn)值為 1200 米(9600bps 時(shí)),實(shí)際上可達(dá) 3000 米。RS232 傳輸距離有限,最大傳輸距離標(biāo)準(zhǔn)值為 50 米,實(shí)際上也只能用在 15 米左右。
3. 通信能力:RS-485 接口在總線上是允許連接多達(dá)128個(gè)收發(fā)器,用戶(hù)可以利用單一的 RS-485 接口方便地建立起設(shè)備網(wǎng)絡(luò)。RS-232只允許一對(duì)一通信。
4. 傳輸速率:RS-232傳輸速率較低,在異步傳輸時(shí),波特率為 20Kbps。RS-485 的數(shù)據(jù)最高傳輸速率為 10Mbps 。
5. 信號(hào)線:RS485 接口組成的半雙工網(wǎng)絡(luò),一般只需二根信號(hào)線。RS-232 口一般只使用 RXD、TXD、GND 三條線 。
6. 電氣電平值:RS-485的邏輯"1"以?xún)删€間的電壓差為+(2-6) V 表示;邏輯"0"以?xún)删€間的電壓差為-(2-6)V 表 示 。在 RS-232-C 中任何一條信號(hào)線的電壓均為負(fù)邏輯關(guān)系。即:邏輯"1",-5- -15V;邏輯"0 " +5- +15V 。
串口是一種非常通用的設(shè)備接口,是儀器儀表設(shè)備常用的通信接口,常用于遠(yuǎn)程采集設(shè)備數(shù)據(jù)或者實(shí)現(xiàn)遠(yuǎn)程控制。串口的開(kāi)發(fā)也比較簡(jiǎn)單,是很多工程師最喜歡的接口之一。
評(píng)論