系統(tǒng)或子系統(tǒng)之間的異步串行通信解決方案包括許多可能的接口實現(xiàn)——例如,RS-232、RS-485、RS-422、控制器局域網(wǎng) (CAN)、以太網(wǎng)、本地互連網(wǎng)絡、高速公路可尋址遠程傳感器、IO-鏈接和無線協(xié)議,如 Zigbee 或 LoRa。在許多情況下,互操作性問題是選擇協(xié)議時的最大決定因素,特別是如果您設計的子系統(tǒng)必須與現(xiàn)有網(wǎng)絡和安裝進行通信,或者與上一代設計向后兼容。
但是對于沒有這些限制的較新的應用程序,選擇正確的接口實現(xiàn)需要評估一系列因素之間的權衡,例如通信帶寬、距離、總線拓撲和節(jié)點數(shù)、總線訪問方法、解決方案成本以及與其他設備互操作的能力。系統(tǒng)。
本文旨在通過對一些常見標準的高級概述來幫助您做出更明智的接口選擇:RS-232、RS-422 和 RS-485 以及 CAN。這些標準因其穩(wěn)健性、易于實施和滿足常見應用需求的能力而繼續(xù)在工業(yè)通信中得到廣泛采用,并且盡管引入了更新的通信技術,但它們的使用預計將持續(xù)一段時間。
RS-232
RS-232 最初于 1960 年由電子工業(yè)協(xié)會 (EIA) 標準化,是仍在積極使用的最古老的數(shù)字通信技術之一。該標準的當前版本是電信行業(yè)協(xié)會 (TIA)-232-F,描述了一種單端信令方案,該方案本質上是點對點的(如圖1所示),旨在在數(shù)據(jù)終端設備 (DTE) 之間運行),例如 PC 和數(shù)據(jù)電路終端設備 (DCE),例如調制解調器。
圖 1:點對點連接(圖片:德州儀器)
TIA-232-F 定義了幾種不同的物理信號:
從 DCE 到 DTE 的數(shù)據(jù)載波檢測 (DCD)。
從 DCE 到 DTE 的數(shù)據(jù)集就緒 (DSR)。
從 DCE 接收數(shù)據(jù) (RD) 到 DTE。
從 DTE 到 DCE 的請求發(fā)送 (RTS)。
將數(shù)據(jù) (TD) 從 DTE 傳輸?shù)?DCE。
從 DCE 到 DTE 的清除發(fā)送 (CTS)。
從 DTE 到 DCE 的數(shù)據(jù)終端就緒 (DTR)。
從 DCE 到 DTE 的振鈴指示器 (RI)。
TD 和 RD(有時稱為 TxD 和 RxD)用于傳輸串行數(shù)據(jù),而其他信號有助于管理系統(tǒng)之間的數(shù)據(jù)流。存在這種流控制是為了確保系統(tǒng)僅在能夠處理串行數(shù)據(jù)時才接收串行數(shù)據(jù),以便在設備之間的運行速度不匹配時不會發(fā)生緩沖區(qū)溢出。然而,在許多現(xiàn)代實現(xiàn)中,物理流量控制信號的數(shù)量通常會減少或完全省略,以支持基于軟件的流量控制。
邏輯低或邏輯高狀態(tài)在線路上分別表示為正電壓或負電壓,其在發(fā)射器輸出端的幅度相對于地的變化范圍為 ±5 V 至 ±15 V(假設標準接收器負載條件)。在許多現(xiàn)代實現(xiàn)中,具有集成電荷泵電路的收發(fā)器基于 5 V、3.3 V 或 1.8 V 等較低電壓邏輯電源產(chǎn)生這些較高電壓的雙極軌。接收器電路可以可靠地檢測高和低狀態(tài),只要它們超過±3 V 幅度。示例發(fā)送和接收波形如圖2 所示。
圖 2:RS-232 發(fā)送和接收波形(圖片:德州儀器)
這些相對較高的電壓有助于通過合理的電纜連接擴展接口,并提供一定程度的抗噪性。然而,較大的信號擺幅確實會導致通信速度相對較慢(低波特率),因為出于電磁干擾 (EMI) 的原因,必須限制發(fā)送器輸出的轉換或壓擺率。由于這一限制,TIA-232 標準規(guī)定最大波特率僅為 20 kbits/s。然而,許多現(xiàn)代實現(xiàn)在這方面偏離了標準,并且可以使用能夠實現(xiàn)更高速度(1 Mbits/s)的收發(fā)器。
與采用平衡差分信號的較新接口標準相比,可實現(xiàn)的電纜長度是有限的。互連電容限制為 2500 pF,這通常意味著電纜長度約為 15 到 20 米 (m)。
對于許多應用而言,該標準的另一個缺點是它無法支持多點總線。只允許點對點連接,因此互連節(jié)點的數(shù)量限制為兩個。
盡管存在這些缺點,但 RS-232 仍然很受歡迎,因為它易于實施、在終端設備中無處不在,并且在現(xiàn)場安裝了數(shù)十年。
RS-422 和 RS-485
RS-422 (TIA/EIA-422) 和 RS-485 (TIA/EIA-485) 通過使用平衡差分信號而不是單端(接地參考)信號來支持更長距離的更高速通信。換句話說,邏輯高或邏輯低狀態(tài)由信號對的互補同相和反相半部分之間的正電壓差或負電壓差表示。這些半部分通常被稱為發(fā)射器的 Y 和 Z,以及接收器的 A 和 B。(在兩個方向上使用單對數(shù)據(jù)的半雙工實現(xiàn)通常僅使用 A 和 B 命名。)接收波形的示例發(fā)送如圖 3 所示。
圖 3:RS-485 示例波形;通道 2 (VOD) 顯示 A 相對于 B 的電壓(圖片:德州儀器)
使用差分信號有幾個優(yōu)點:
使用兩條互補信號線有效地使傳輸?shù)男盘柗燃颖叮瑥亩褂糜蓸藴实蛪很墸ɡ?5 V 或 3.3 V)供電的收發(fā)器實現(xiàn)更遠距離的通信。
由于接收器感應到兩條信號線之間的差異,因此通信更不受局部接地電位的微小差異(這會在接地參考信號上產(chǎn)生電壓偏移)和可能耦合到信號電纜上的電磁噪聲的影響(因為這種噪聲傾向于同等地影響差分對的兩半)。因此,該接口更適合在更長的距離以及跨電源域和電噪聲環(huán)境中運行。
電磁輻射較低,因為來自一條信號線的噪聲貢獻被來自互補線的相等和相反的貢獻有效地抵消。這與較低的電壓擺幅相結合,通常可以在不超過應用的 EMI 要求的情況下使用更高的信號速率。
假設最大總線負載(包括終端電路),RS-485 發(fā)送器將輸出至少 1.5 V 的差分電壓幅度,接收器將檢測至少 200 mV 的信號。(對于 RS-422,這些值分別為 2 V 和 200 mV。)對于以低數(shù)據(jù)速率運行的應用,傳輸距離可能超過 1 公里 (km),主要受所用電纜的串聯(lián)電阻限制. 對于較短距離的應用,可以實現(xiàn)高達 50 Mbits/s 的信號速率,盡管受到收發(fā)器切換時間和電纜寄生引起的高頻損耗所引入的定時抖動的限制。
除了增加的距離和信號速率,RS-422 和 RS-485 還可以支持多點網(wǎng)絡應用。它們的使用通過將一系列點對點連接(主機和外圍設備之間)替換為可以連接多個系統(tǒng)的單個共享總線來簡化工業(yè)安裝中的布線。
RS-422 指定支持單工多點布置,其中一個發(fā)射單元可以廣播到多達 10 個接收單元。RS-485 通過允許大量節(jié)點之間的雙向通信(半雙工或全雙工)進一步擴展了這一概念。在這種情況下,節(jié)點數(shù)受到每個接收器對共享總線貢獻的負載的限制,最多允許 32 個單元負載。單位負載定義為在施加電壓范圍內接收器泄漏電流的參考單位。
對于現(xiàn)代實現(xiàn),通過使用泄漏較低的收發(fā)器設備可以實現(xiàn)非常高的節(jié)點數(shù);例如,額定為八分之一單位負載的收發(fā)器可以支持 256 個節(jié)點 (32 × 8) 的網(wǎng)絡。多點網(wǎng)絡的一個例子如圖4所示。
圖 4:用于 RS-485 通信的多點網(wǎng)絡(圖片:德州儀器)
RS-485 支持廣泛的距離、數(shù)據(jù)速率和節(jié)點數(shù)以及出色的抗噪能力,這使得 RS-485 成為許多不同應用中的理想選擇。它在工業(yè)環(huán)境(用于電機控制的編碼器接口或工廠自動化應用中的現(xiàn)場總線)、電網(wǎng)基礎設施(作為智能電能計量的接口)和樓宇自動化應用(恒溫器或智能照明控制)中很受歡迎。
能夠
汽車行業(yè)最初開發(fā) CAN 是為了方便將消息從微控制器廣播到共享網(wǎng)絡,這樣就可以使用簡單的總線型布線,而不是單個點對點連接的復雜(和沉重)線束。這種接口的好處不僅僅在于汽車應用。如今,CAN 廣泛用于各種工業(yè)通信應用,例如樓宇自動化(供暖、通風和空調;電梯)、工業(yè)運輸和工廠自動化。它是根據(jù)國際標準化組織 11898 進行標準化的,該組織不僅定義了物理層,還定義了數(shù)據(jù)鏈路層協(xié)議。(這與迄今為止討論的標準相反,
與 RS-485 一樣,CAN 使用平衡差分信號來實現(xiàn)更長的傳輸距離、更低的 EMI 和更高的抗噪能力。然而,CAN 驅動器不是同時驅動高電平和低電平狀態(tài),而是設計為具有這兩種輸出狀態(tài),如圖5所示:
顯性,其中通過將一條線(稱為 CANH)拉高并將互補線(稱為 CANL)拉低,將差分輸出電壓驅動到總線。產(chǎn)生的驅動器差分輸出電壓必須至少為 1.5 V,并且接收器被設計為將任何大于 900 mV 的差分電壓視為主要電壓。該狀態(tài)用于表示邏輯低位值。
隱性,其中總線輸出為高阻抗,CANH 和 CANL 都被弱偏置到中等電壓。在這種狀態(tài)下,驅動器差分輸出電壓將接近 0 V,接收器能夠將任何低于 500 mV 的差分電壓視為隱性電壓。此狀態(tài)用于表示邏輯高位值。
圖 5:顯示 CANH 和 CANL 信號的 CAN 波形(圖片:德州儀器)
每個狀態(tài)下有效輸出阻抗的差異意味著如果一個或多個節(jié)點正在發(fā)送一個顯性狀態(tài),則認為總線狀態(tài)是顯性的;只有當每個節(jié)點都處于隱性狀態(tài)時,總線狀態(tài)才能被認為是隱性的。(這種類型的線與信號類似于許多其他協(xié)議中常見的開漏信號,例如 I 2 C。)
物理層的這種行為有幾個缺點:較低的有效信號擺幅和使信號的不對稱特性更容易受到位時序失真的影響,特別是在網(wǎng)絡上存在較高電容負載的情況下。然而,在不損壞數(shù)據(jù)的情況下,使協(xié)議能夠處理消息沖突(來自多個節(jié)點的同時傳輸)是關鍵。
事實上,該協(xié)議能夠在同時啟動的傳輸之間自動進行仲裁,并允許總線訪問更高優(yōu)先級的消息(如消息頭中的標識符字段所示)。因此,CAN 能夠充當多發(fā)起者接口,其中節(jié)點可以在事件觸發(fā)的基礎上進行通信,而不是由單個主機進行排序。這使得 CAN 非常適合可能沒有集中式主機的應用程序,或者受益于立即發(fā)生數(shù)據(jù)傳輸?shù)膽贸绦颉?/p>
仲裁協(xié)議確實限制了網(wǎng)絡上節(jié)點之間允許的時間延遲;然而,總的往返傳播延遲必須適當?shù)匦∮谝晃凰璧臅r間,以保持網(wǎng)絡上的同步。與 RS-485 相比,這使得 CAN 在電纜范圍和比特率方面更具限制性。
例如,一個常見的建議是將仲裁期間的比特率限制為 1 Mbits/s,并將電纜長度限制為小于 40 m。較低的比特率可以支持更長的距離;例如,工廠自動化應用經(jīng)常使用基于 CAN 的 DeviceNet 協(xié)議,該協(xié)議在某些情況下允許電纜距離長達 500 m。CAN 協(xié)議有一個靈活的數(shù)據(jù)速率變體,通過在給定消息窗口仲裁后啟用更高速的通信(高達 5 Mbits/s)來擴展數(shù)據(jù)吞吐量。
CAN 協(xié)議的另一個主要優(yōu)點是它能夠檢測和限制數(shù)據(jù)錯誤,例如連接問題或節(jié)點故障。每個節(jié)點都能夠檢測到發(fā)送和接收錯誤,如果錯誤源持續(xù)存在,將自動停止顯性狀態(tài)傳輸。這可以防止單節(jié)點問題中斷全球通信。
由于物理層和數(shù)據(jù)協(xié)議的穩(wěn)健性,CAN 是需要在不受公共主機控制的情況下獨立運行的任意數(shù)量源之間進行可靠數(shù)據(jù)傳輸?shù)膽玫氖走x解決方案。
結論
當今使用了許多工業(yè)通信協(xié)議,每種協(xié)議都有其優(yōu)點和缺點。表 1總結了本文討論的標準。
表 1:比較 RS-232、RS-485 和 RS-422 以及 CAN 協(xié)議(圖片:德州儀器)
通過了解這些協(xié)議如何與應用程序的要求相交,您可以選擇最適合您需求的協(xié)議。
審核編輯:湯梓紅
評論
查看更多