自從USB接口問世以來,串口設(shè)備以及計算機主機上設(shè)置的串行端口均有減少,但工業(yè)聯(lián)網(wǎng)環(huán)境或商業(yè)項目上仍然對串行接口廣泛使用。今天使用了數(shù)十個串行數(shù)據(jù)接口。大多數(shù)已針對特定應(yīng)用開發(fā)。一些已經(jīng)成為普遍,如I2C、CAN、LIN、SPI、軟硬、MOST、I2S。有以太網(wǎng)、HDMI和迅雷等更高速度的串行接口。最經(jīng)典的兩個接口是RS232和RS485。這些流傳已久的以太網(wǎng)接口之所以被一直使用,必然是有存在的價值。那么就研究一下RS485和RS232原理是什么?區(qū)別是什么?什么價值能讓它們經(jīng)久不衰呢?
串行接口的整個目的是為無線或通過電纜的數(shù)據(jù)傳輸提供單一路徑。在某些應(yīng)用中仍使用并行總線。但是對于當(dāng)今如此普遍的高速數(shù)據(jù),串口服務(wù)器是在大于幾公里的任何距離上進行穩(wěn)定通信的首要實用選擇。
串行接口可用于提供從發(fā)送器到接收器的標(biāo)準(zhǔn)化邏輯級別、定義傳輸介質(zhì)和連接器,以及指定時序和數(shù)據(jù)速率。在某些情況下,他們可以執(zhí)行串行到并行和并行到串行轉(zhuǎn)換,或者指定基本數(shù)據(jù)協(xié)議。
邏輯級別、介質(zhì)和連接器的定義是物理層(PHY)或開放系統(tǒng)互連(OSI)網(wǎng)絡(luò)模型的第1層的一部分。諸如數(shù)據(jù)處理之類的任何其他功能都是OSI模型的媒體訪問控制(MAC)層或第2層的一部分。
最古老的串行接口之一通常稱為RS232。它最初成立于1962年,是一種將數(shù)據(jù)終端設(shè)備(DTE)(例如機電式電傳打字機)連接到數(shù)據(jù)通信設(shè)備(DCE)的方法。多年來,它的使用包括連接到視頻終端、計算機和調(diào)制解調(diào)器。第一臺個人計算機包括一個稱為串行端口的RS232,用于連接打印機或其他外圍設(shè)備。今天,它仍然廣泛用于嵌入式計算機開發(fā)系統(tǒng)、科學(xué)儀器以及各種工業(yè)控制設(shè)備中。
該標(biāo)準(zhǔn)的正式名稱是電子工業(yè)協(xié)會/電信工業(yè)協(xié)會EIA / TIA-232-F。字母F表示最新的標(biāo)準(zhǔn)修改和更新。該標(biāo)準(zhǔn)基本上與國際電信聯(lián)盟–電信(ITU-T)規(guī)范V.24和V.28相同。
該標(biāo)準(zhǔn)將邏輯1和–3至–25 V之間的電壓以及邏輯0定義為+3至+ 25 V之間的電壓電平(圖1)。信號電平通常被稱為邏輯1的標(biāo)記和邏輯0的間隔?!? V之間的電壓無效,從而為接口提供了巨大的噪聲容限。此范圍內(nèi)的噪聲電壓被拒絕。在通常的實踐中,邏輯0和1電平通常低至±5 V,高至±12或±15V。發(fā)送器和接收器配置為單端(非差分),具有接地基準(zhǔn)。
圖1
1.電壓電平定義邏輯1或標(biāo)記以及邏輯0或空格字符?!? V之間的電壓無效。
電纜介質(zhì)可以是簡單的平行線或雙絞線。電纜的長度決定了較高的數(shù)據(jù)速率,通常不應(yīng)超過50英尺。但是,在數(shù)據(jù)速率較低的情況下,可以使用更長的電纜長度。今天的主要目標(biāo)是使用電線之間的電容不超過2500 pF的電纜。這將上限數(shù)據(jù)速率限制為大約20 kbits / s。由于此接口使用的低速數(shù)據(jù)速率,通常不會將電纜視為正式的傳輸線。傳輸線需要匹配的發(fā)生器阻抗和負(fù)載阻抗,以消除引起數(shù)據(jù)損壞的反射。
該標(biāo)準(zhǔn)定義了一個稱為DB-25的25針連接器,該連接器旨在承載各種控制線以及串行數(shù)據(jù)發(fā)送和接收線。這種連接器如今很少使用。取而代之的是,定義了一個稱為DE-9的9針連接器,如今已成為事實上的標(biāo)準(zhǔn)(圖2)。
圖2
2.流行的DB9連接器承載所示信號。這些數(shù)字是連接器上的引腳號。
最初,機電設(shè)備的數(shù)據(jù)速率非常慢。最低速率通常為75位/秒,但通常為150和300位/秒。如今,數(shù)據(jù)速率由接口所使用的協(xié)議定義,范圍高達(dá)115.2 kbit / s。典型的數(shù)據(jù)速率是1200、2400、4800、9600、19,200、38,400和115,200比特/秒。數(shù)據(jù)速率受最大允許壓擺率30 V / μs(伏特/微秒)的限制。對于短的低電容電纜,使用適當(dāng)?shù)尿?qū)動器,數(shù)據(jù)速率可以高達(dá)每秒幾兆比特。
許多RS-232連接是單向或單工的。但是,使用可用的特殊信號和控制電壓,可以進行雙向或半雙工操作。兩個連接的設(shè)備交替進行發(fā)送和接收操作。
接口中的控制信號定義了用于發(fā)送和接收數(shù)據(jù)的協(xié)議。這些信號告訴兩個通信設(shè)備何時繁忙,正在發(fā)送,已準(zhǔn)備就緒和正在接收。發(fā)送設(shè)備是DTE(例如計算機),接收設(shè)備是DCE(例如打印機)。公用九針連接器上使用的控制信號是:
數(shù)據(jù)載體檢測(DCD):DCE告知DTE它正在接收有效的輸入信號。
數(shù)據(jù)集準(zhǔn)備就緒(DSR):DCE告知DTE它已連接并準(zhǔn)備接收。
接收數(shù)據(jù)(RD):這是從DTE接收到的實際信號。
發(fā)送請求(RTS):來自DTE的此信號告訴DCE準(zhǔn)備發(fā)送。
發(fā)送數(shù)據(jù)(TD):這是DTE發(fā)送的信號。
清除發(fā)送(CTS):DCE上的此行告訴DTE它已準(zhǔn)備好接收數(shù)據(jù)。
數(shù)據(jù)終端就緒(DTR):這條線從DTE到DCE,表明已準(zhǔn)備好發(fā)送或接收數(shù)據(jù)。
振鈴指示器(RI):這條線用于較舊的調(diào)制解調(diào)器連接中,但不再使用。
信號接地:這是所有信號的公共接地。
圖3顯示了從DTE到DCE的電纜連接。注意控制線引腳之間的互連。這些引腳上的信號在稱為流控制或“握手”過程中相互響應(yīng)。
圖3
3.這是DTE和DCE設(shè)備之間的常用連接。注意電纜從一個連接器到另一連接器的連接。
盡管不是RS-232標(biāo)準(zhǔn)的正式組成部分,但大多數(shù)使用該接口的串行設(shè)備也使用所謂的通用異步接收器發(fā)送器(UART)。該IC通常與線路驅(qū)動器和接收器電路分開,實現(xiàn)一種基本通信協(xié)議,該協(xié)議每次最多傳輸8位。它執(zhí)行串行到并行和并行到串行的轉(zhuǎn)換,添加開始和停止位以表示數(shù)據(jù)字的開始和結(jié)束,奇偶校驗位錯誤檢測以及數(shù)據(jù)速率的建立。
數(shù)據(jù)通常是ASCII字符,但是最多可以傳輸8位的任何數(shù)據(jù)字(圖4)。UART通常可以配置為處理不同的字長(5至8位),添加1、1.5或2個停止位,并包括奇數(shù),偶數(shù)或無奇偶校驗位。數(shù)據(jù)速率從75位/秒到115.2 kbit / s是可選的。
圖4
也由EIA / TIA標(biāo)準(zhǔn)定義,此接口現(xiàn)在稱為TIA-485。它不僅定義了單個設(shè)備到設(shè)備的接口,而且定義了可用于形成多個設(shè)備的簡單網(wǎng)絡(luò)的通信總線。它的配置和規(guī)格還擴展了RS-232接口功能之外的范圍和數(shù)據(jù)速率。
RS-485標(biāo)準(zhǔn)規(guī)定了兩條線路上的差分信號,而不是參考電壓為接地的單端。邏輯1的電平大于–200 mV,邏輯0的電平大于+200 mV。來自線路驅(qū)動器的典型線路電壓電平最低為±1.5 V,最高約為±6V。接收器輸入靈敏度為±200 mV?!?00 mV范圍內(nèi)的噪聲基本上被阻止。差分格式產(chǎn)生有效的共模噪聲消除。
標(biāo)準(zhǔn)傳輸介質(zhì)是#22或#24 AWG實心線的雙絞線電纜。最少兩線,但可以使用第三根參考線。如果需要全雙工操作,也可以使用四線電纜。電纜可以是屏蔽的也可以是非屏蔽的,最常見的是非屏蔽的。電纜被視為傳輸線。標(biāo)稱特性阻抗為100或120Ω。需要使用端接負(fù)載電阻器來確保匹配的線路狀況,以防止反射引入數(shù)據(jù)錯誤。
該標(biāo)準(zhǔn)未定義特定的連接器。已經(jīng)使用了各種連接方法,包括RS-232 DE-9連接器。簡單的螺釘端子連接在某些類型的工業(yè)控制設(shè)備中很常見。
電纜長度定義了較高的數(shù)據(jù)速率。但是由于較低的邏輯電壓電平和差分連接,取決于電纜長度,數(shù)據(jù)速率可能會超過10 Mbits / s。通常將最大電纜長度定義為1200米或約4000英尺。4000英尺處的典型最大數(shù)據(jù)速率為100 kbits / s。一般準(zhǔn)則是,以米為單位的線路長度與以每秒比特數(shù)為單位的數(shù)據(jù)速率之積不應(yīng)超過10 8。例如,一條20米長的電纜將允許5 Mbit / s的最大數(shù)據(jù)速率。
RS-485接口可通過單對電纜以半雙工的單工模式使用。可以使用兩對電纜實現(xiàn)全雙工或同時發(fā)送和接收操作。常見的配置是具有多個分支或連接的總線網(wǎng)絡(luò)。該標(biāo)準(zhǔn)規(guī)定了最多32個驅(qū)動器(發(fā)送器)和32個接收器(圖5)。不傳輸時,線路驅(qū)動器與線路斷開連接。所有接收器均已完全連接,并且總線端接有負(fù)載匹配電阻。
圖5
5.這是典型的TIA-485差分總線的表示,其中顯示了各個驅(qū)動器(D)和接收器(R)以及收發(fā)器。注意總線終端電阻的末端。
該標(biāo)準(zhǔn)尚未定義特定的通信協(xié)議。有時會使用標(biāo)準(zhǔn)UART協(xié)議。大多數(shù)應(yīng)用程序定義了唯一的協(xié)議。
在實踐中偶爾會發(fā)現(xiàn)這兩個標(biāo)準(zhǔn)的幾種變體。RS-422是RS-485的變體,具有類似的規(guī)格,但僅設(shè)計用于一個驅(qū)動器和最多10個接收器。邏輯電平范圍為±2到±6V。RS-423是RS-422的單端而不是差分版本。否則,其他規(guī)格類似于RS-485接口。
目前,TIA-232標(biāo)準(zhǔn)已部署在各種低數(shù)據(jù)速率短距離應(yīng)用中。它在嘈雜的環(huán)境中使用的設(shè)備特別有效,例如工廠,過程控制工廠和公用事業(yè)場所。電纜長度通常小于50英尺。常見的設(shè)備包括低速調(diào)制解調(diào)器,工業(yè)控制設(shè)備,例如可編程邏輯控制器(PLC),計算機數(shù)控(CNC)機床,機器人,嵌入式控制計算機,醫(yī)療儀器和設(shè)備以及嵌入式控制器開發(fā)系統(tǒng)。
TIA-485接口還廣泛用于需要更高速度和更長距離的工業(yè)應(yīng)用中。它用于與RS-232接口定義的設(shè)備類型相同的設(shè)備,以及諸如銷售點(POS)終端,計量儀器和大型專用自動化機器之類的設(shè)備。由Profibus和Modbus等現(xiàn)場總線定義的網(wǎng)絡(luò)也使用它。
大多數(shù)新設(shè)備使用流行的USB接口。但是,通常有必要或希望從一個接口轉(zhuǎn)換為另一個接口,以允許將不同類型或年齡的設(shè)備一起使用??墒褂酶鞣N轉(zhuǎn)換器將USB轉(zhuǎn)換為TIA-232或TIA-485,將TIA-232轉(zhuǎn)換為TIA 485,反之亦然。
通常,RS232最適合短距離低速要求。它簡單且成本低廉,并且可以使用許多組件(如線路驅(qū)動器和接收器,UART和連接器)來構(gòu)建接口。一些驅(qū)動程序允許短線的數(shù)據(jù)速率達(dá)到2或3 Mbit/s。大多數(shù)接口芯片都包含一個電荷泵DC-DC轉(zhuǎn)換器,該轉(zhuǎn)換器可提供正負(fù)電源電壓,從而使IC可通過3.3V或5V單電源工作。
RS485可在更長的范圍內(nèi)提供更高的速度,或者需要雙工網(wǎng)絡(luò)功能。同樣,許多標(biāo)準(zhǔn)部件可用于創(chuàng)建界面。IC的驅(qū)動器和接收器可以允許32個以上的中斷,數(shù)據(jù)速率可以高達(dá)40 Mbit/s。某些IC還包括提供雙電源電壓的dc-dc轉(zhuǎn)換器