RS485

**EIA-485**（過去叫做 **RS-485** 或者 **RS485**）是隸屬於 OSI 模型實體層的電氣特性規定為 2 線、半雙工、平衡傳輸線多點通訊的標準。是由電信行業協會（TIA）及電子工業聯盟（EIA）聯合發佈的標準。實現此標準的數位通訊網可以在有電子雜訊的環境下進行長距離有效率的通訊。在線性多點總線的組態下，可以在一個網路上有多個接收器。因此適用在工業環境中。

EIA 一開始將 RS（Recommended Standard）做為標準的字首，不過後來為了便於識別標準的來源，已將 RS 改為 EIA/TIA。電子工業聯盟（EIA）已結束運作，此標準目前是電信行業協會（TIA）維護，名稱為 TIA-485，但工程師及應用指南仍繼續用 RS-485 來稱呼此一協定。

## 簡介

EIA-485 的電氣特性和 RS-232 不一樣。EIA-485 使用纜線兩端的電壓差值來表示傳遞訊號，不同的電壓差分別標識為邏輯 1 及邏輯 0。兩端的電壓差最小為 0.2V 以上時有效，任何不大於 12V 或者不小於－7V 的差值對接受端都被認為是正確的。

EIA-485 僅僅規定了接受端和傳送端的電氣特性。它沒有規定或推薦任何資料協定。EIA-485 可以應用於組態便宜的區域網和採用單機傳送，多機接受通訊連結，使用和 EIA-422 類似的差動雙絞線。它提供高速的資料通訊速率（10m 時 35Mbit/s；1200m 時 100kbit/s）。有一個有關 EIA-485 的經驗法則，是位元速率乘以線長（單位為公尺）的乘積無法超過 108，因此 50 m 的線上速度不會超過 2 Mbit/s，在特定條件下，其資料通訊速率可以到 64 Mbit/s.。

EIA-485 和 EIA-422 一樣使用雙絞線進行高電壓差分平衡傳輸，它可以進行大面積長距離傳輸（超過 4000 英尺，1200 公尺）。和 EIA-422 相對照的是，EIA-422 採用不可轉換的單傳送端，EIA-485 的傳送端需要設定為傳送模式，這使得 EIA-485 可以使用雙線模式實現真正的多點雙向通訊。

EIA-485 推薦使用在對等網路中，線型、匯流排型，不能是星型、環型網路。假如必須要使用星型網路，可以配合特殊的 RS-485 star/hub 中繼器，可以在多個網路中雙向的監聽資料，並且將資料再傳送到其他的網路上。

理想情況下 EIA-485 需要 2 個終端電阻，其阻值要求等於傳輸電纜的特性阻抗（一般而言，雙絞線會是 120 ohms）。沒有特性阻抗的話，當所有的裝置都靜止或者沒有能量的時候就會產生雜訊，而且線移需要雙端的電壓差。沒有終端電阻的話，會使得較快速的傳送端產生多個資料訊號的邊緣，這其中的一些是不正確的。之所以不能使用星型或者環型的拓撲結構是由於這些結構有不必要的反映，過低或者過高的終端電阻可以產生電磁干擾（EMI）。有時在一組網路線上。會加上上拉及接地電阻（偏壓電阻），若通訊線上沒有任何裝置時，上面的資料可以有失效安全的機制。這樣可以讓網路線上有固定的偏壓電壓，節點較不容易在沒有任何節點發送資料時，將線上的雜訊解讀成實際的資料。若沒有偏壓電阻，通訊線處於浮接的狀態，在所有節點都未發送資料或未供電時，最容易受到雜訊的影響。

## 標準的範圍及定義

EIA-485 隻規範了訊號產生器及接收器的電氣特性，只建議了實體層，沒有指定或是建議任何的通訊協定。EIA-485 網路上的通訊協定是由其他的標準來定義的。標準的前言建議參考「電信系統公告 TSB-89」（The Telecommunications Systems Bulletin TSB-89），其中有包括資料傳輸速度、線路長度、短線長度及組態在內的應用指南。

EIA-485 標準的的第四章定義了產生器（傳送器或驅動器）、接收器、收發器和系統的電氣特性。這些特性包括：單位負載（unit load）的定義、電壓範圍、開路電壓、閾值和瞬態容差。其中也定義了三個產生器的訊號線："A"、"B" 及 "C"。"A" 和 "B" 是用來傳輸資料，"C" 是參考電壓。這一章也用 A 和 B 訊號線的極性來定義邏輯狀態 1（off）和 0（on），若 A 電壓比 B 要低（A-, B+），其狀態為 1，若反過來（A+, B-），其狀態為 0，不過標準中沒有定義這兩個狀態的邏輯功能。

## Master-slave 架構

若在 Master-slave 網路架構中，會有一台裝置做為 master，啟動所有網路活動，多半會由這一台來提供 EIA-485 的偏壓電路，其他 slave 裝置就不需偏壓電路。在此組態下，master 裝置一般會在 EIA-485 網路中的中間點，而由網路最末端的兩台 slave 提供終端電阻。master 也可以在網路的最末端，本身提供終端電阻，但這是不好的網路拓撲，因為 master 若在網路的中間，在運作上是最理想的，可以讓訊號強度最大，也可以提昇線長及通訊速度。若在多個裝置加上偏壓電路可能會違反 EIA-485 的規範，使得通訊誤動作。

## 全雙工的應用

EIA-485 類似 EIA-422，可以透過用四條線達到全雙工。不過因為 EIA-485 是多點的規範，在許多應中並不需要用到全雙工。EIA-485 和 EIA-422 在有一定限制的情形下可以互操作。

EIA-485 和其他通訊格式之間有轉換器可以轉換，讓個人電腦可以和遠端的裝置通訊。利用「中繼器」及「多中繼器」可以架構很大的 EIA-485 網路。TIA/EIA-485-A 的應用指南 TSB-89A 中有一張圖上面寫「星型組態，不建議使用」。利用 EIA-485 的「多中繼器」可以用進行類似多點連結的星型組態，類似 Ethernet 的 Hub/Star 組態（距離更長）。（利用多中繼器的）Hub/Star 系統可以建構非常好維護的系統，不會違反任何 EIA-485 規範中的內容。中繼器可以用來延伸網路的長度，或是增加上面的裝置數量。

## 用途

許多電腦及自動化系統中都會用到 EIA-485 通訊。電腦的 SCSI-2 和 SCSI-3 通常使用這種標準的裝置來作為實體層，以進行電腦和硬碟機之間的資料傳輸。EIA-485 經常和常用裝置 UART 一起使用來實現在飛機上的低速率資料傳輸，舉個例子，一些乘客控制單元採用這種裝置，從而只需要很少的線纜就可以實現幾個椅子共享線纜，從而減輕整個裝置的重量。

許多工業控制系統中使用的自動化通訊協定以 EIA-485 為其物理層，其中也包括了常見的 Modbus 及 Profibus。配合許多使用相同通訊協定的裝置，EIA-485 可以讓個人電腦和工業控制系統可以在區域網路上進行通訊。EIA-485 也用在可程式化邏輯控制器以及工廠的資料通訊。EIA-485 的差動特性可以抵抗馬達裝置和焊接裝置的電磁干擾。

EIA-485 使用在大型音訊系統中，可以在音樂廳和劇院見到這種裝置，可以使用普通的電腦來執行一些特殊的軟體實現遠距離音訊裝置的控制。EIA-485 通過 XLR 標準的線纜連接的裝置大量的用於麥克風上，從而實現舞台和控制台之間的連接而不需要預設線路。在劇場及演出場所也會用 EIA-485 網路上的 DMX512 通訊協定來控制燈光及其他系統。

在樓宇自動化中會使用 EIA-485 作簡單的網路應用，其支援長線的特性可以連接遠距的裝置。EIA-485 可以控制視訊監視系統，連接安全控制系統及裝置（例如大門的門禁刷卡機）。

EIA-485 也用在鐵道模型，車站和鐵道內部的通訊是用 Digital Command Control 通訊協定。車站和外部的介面一般會是 EIA-485，可能是由手持的控制器傳送，或是由網路 / 個人電腦控制。使用的連接器會是 8P8C / RJ45。

## 通訊協定

EIA-485 只是電氣訊號介面，本身是通訊協定，有許多通訊協定使用 EIA-485 準位的電氣訊號，但 EIA-485 規格書本身沒有提到通訊速度、格式以及資料傳輸的通訊協定。若二台不同廠商的裝置都使用 EIA-485，即使是類似性質的裝置，若只有電氣訊號介面相同，不保證互操作性。

EIA-485 上最常使用的協定都是屬於非同步串列通訊，不過也有其他的通訊，例如簡易感測器介面協定（SSI）。

## 訊號

EIA-485 差動訊號包括以下二個訊號：

* A，也稱為非逆向（non-inverting）訊號（不過也存在其他定義，見如下說明）
* B，也稱為逆向（inverting）訊號

也可能會有第三個訊號（TIA 標準（ANSI/TIA/EIA-485-A, page 15, A.4.1）為了平衡線路可以正常動作，要求在所有的平衡線路上有一個共同 common return path）：

* SC，也稱為 G 或是參考（reference）訊號（見如下說明）'

RS-485 標準中提到：

* 若是 MARK（邏輯 1），端子 A 的訊號會比端子 B 的訊號要低。
* 若是 SPACE（邏輯 0），端子 A 的訊號會比端子 B 的訊號要高。

不同的 IC 使用的訊號標示方式不同，不過 EIA 的標準中只使用 A 和 B 的名稱。資料為 1 時，訊號 B 會比訊號 A 要高。不過因為標準其中也提到訊號 A 是「非逆向訊號」，訊號 B 是「逆向訊號」，因此訊號 A、B 的定義就更容易混淆了。許多元件製造商（錯誤的）依循了這個 A/B 的命名原則，包括以下廠商：

* 德州儀器，其 EIA-422/485 通訊的應用指南上標示 A=non-inverting, B=inverting。
* Intersil，其 ISL4489 收發器的數據表上是這樣標示的
* Maxim，其收發器的數據表上是這樣標示的
* Linear Technology 其 LTC2850、LTC2851、LTC2852 的數據表上是這樣標示的。
* Analog Devices 其 ADM3483, ADM3485, ADM3488, ADM3490, ADM3491 的數據表上是這樣標示的。
* FTDI 其 USB-RS485-WE-1800-BT 的數據表上是這樣標示的。

上述製造商元件的標示方式都不符合「若是 MARK（邏輯 1），端子 A 的訊號會比端子 B 的訊號要低」的說明，但這些元件彼此定義是相容一致的，而且實際上許多裝置使用這些元件，因此在使用 A/B 的命名方式時，需非常小心。

有一種常用的 de facto 命名方式是：

* TX+/RX+ 或 D+ 來代替 B（訊號 1 時為高電位）
* TX-/RX- 或 D- 來代替 A（訊號 1 時為低電位）

在 Modbus、BACnet 及 Profibus 通訊協定中，A/B 的標示會以 A 為 negative green 線，B 是 positive red 線，像 D-sub 接頭以及 M12 圓型接頭的定義一樣，在 Profibus 指南中也有類似的說明。

EIA-485 沒有定義連接器或是引出線。電路可以用鎖線端子、D-sub 接器或是其他的連接器來進行配線。

EIA-485 標準本身沒有提到纜線的遮蔽，不過有建議一些將線路參考地點和裝置外殼的地點互連的作法。

## 共模

除了 **A** 和 **B** 兩個端子外，EIA 標準還有提到第三個端子，稱為 **SC**，是訊號的參考點。此一端子可以限制接收器輸入端收到的共模訊號，收發器會用這個訊號做為基準值，來量測端子 A 和端子 B 旳電壓。

允許的共模電壓是在 - 7V 至 + 12V 的範圍內，也就是 0-5V 的訊號準位，再往外延伸 +/-7V。若共模電壓未在此範圍內，好的話只會造成訊號的不完整，壞的話會造成裝置的損壞。不過 SC 的接線也需要額外的考量，尤其是長線應用的情形，長的 SC 線路無法達到讓不同裝置 SC 端子連在一起的原始目的，因此最好在 SC 線路上加上一些限流的裝置。建築物中的接地線，電壓變化其實不大，但因為其阻抗很小，因此可能會產生災難性的大電流，甚至大到會讓接地線、電路板銅箔熔化，並且破壞收發器裝置。

## 波形範例

下圖列出在 RS-485 利用「非同步開始 - 停止」方式傳送一個字元（0xD3，最低位元先傳送）時，+ 端子及 −端子上的電壓

## 相關條目

* 網路總線列表
* RS-232
* EIA-422
* RS-423
* UART

## 參考資料