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