什麼是 RS232 串列通訊協定?
RS-232 是一項於 60 年代初期推出的序列資料傳輸標準,至今仍被廣泛使用,主要因為它用途多元、易於操作與維護、易於取得,且支援度高。它不僅定義了電氣信號特性,例如信號傳輸速率、電壓位準、纜線長度、時序與短路行為,也定義了許多其他事項,包括介面的機械特性、連接器與腳位配置。
根據 RS-232 標準,所有資料都以位元的時間序列方式傳輸。對於 PC 而言,最常見的配置是非同步連線,傳送 7 位元或 8 位元封包。然而,這項標準也支援同步傳輸。
儘管它有諸多優點,RS-232 在傳輸距離和資料吞吐效能方面仍有一些嚴重的限制,因此其主要應用範圍是工業設備、網路設備和實驗室儀器。
RS-232 的主要規格
操作模式:單端
最大電纜長度:15.24 公尺(50 英尺)
最大資料吞吐量:20 kbps
最大驅動器輸出電壓:+/-25V
最大轉換速率:30V/uS
高阻抗狀態下的最大驅動器電流:+/-6mA @ +/-2v(斷電)
驅動器負載阻抗:3000-7000 歐姆
驅動器輸出訊號電平:+/-5V 至 +/-15V(有負載)或 +/-25V(無負載)
接收器輸入電阻:3000-7000 歐姆
接收器輸入電壓範圍:+/-15V
接收器輸入靈敏度:+/-3V
單條線路上的驅動器與接收器總數:1 個驅動器與 1 個接收器
RS232 標準限制
RS-232 序列埠有哪些已知問題?使用標準 COM 埠會帶來一堆你必須處理的限制。以下是該標準的明顯限制:
- 由於電壓擺幅大而導致的功耗增加,會對電源供應設計造成極大困擾。
- 許多裝置不使用握手線進行流量控制,因而使 RS-232 不可靠。
- 雖然多點(multi-drop)連線問題已透過更可靠的替代方案得到解決,但這仍無法彌補 RS232 埠在相容性與速度上的限制。
- 每當將周邊設備連接到電腦時,都需要使用空數據機(null modem)或交叉線(crossover cable)
- RS-232 無法解決單端訊號(single-ended signaling)所帶來的問題。
根據 RS-232 標準,DCE 用於母座連接器,而 DTE 用於公頭連接器。然而,有些裝置具有各種連接器性別/腳位定義組合。例如,一個終端機在機身上配備母座連接器,並隨附一條兩端皆為公頭連接器的纜線,完全符合 RS-232 標準。
截至 C 版修訂,該標準建議使用 D-sub 25 針連接器,但只有從 D 版修訂起才是強制規定。這是因為絕大多數裝置其實不需要標準所規範的那 20 條訊號,而 RS-232 的 9 針連線便宜得多,且佔用空間非常小。更精巧,也更便宜。這種 9 針 RS-232 連接器廣泛用於個人電腦及類似裝置。
DB25 連接器
值得注意的是,並非每個 25 針 D-sub 連接器都具有符合 RS-232-C 的介面。有些 PC 製造商會在其 PC COM 埠的針腳配置中,於某些針腳上採用非標準的訊號與電壓。例如,在原始的 IBM PC 上,母座 D-sub 連接器被用於平行 Centronics 印表機埠。
25 針序列埠引腳配置:
腳位 1: GND − 屏蔽接地。
腳位 2: TxD → 傳送資料。將資料從資料終端設備傳送到資料設定設備。
腳位 3: RxD ← 接收資料。將資料從資料設定設備傳送到資料終端設備。
腳位 4: RTS → 請求傳送。資料終端設備向資料設定設備發出信號,準備進行資料傳輸。
腳位 5: CTS ← 允許傳送。資料設定設備向資料終端設備發出信號,表示已準備好接收資料。
腳位 6: DSR ← 資料設定設備就緒。DCE 已準備好接收與傳送資料。
腳位 7: GND − 系統接地。零電壓參考。
腳位 8: CD ← 載波偵測。資料設定設備向資料終端設備發出信號,告知已偵測到其他裝置的載波。
腳位 9: 保留
腳位 10: 保留
腳位 11: STF → 選擇傳送通道。
腳位 12: S.CD ← 次要載波偵測。
腳位 13: S.CTS ← 次要允許傳送。
腳位 14: S.TXD → 次要傳送資料。
腳位 15: TCK ← 傳輸信號元素定時。
腳位 16: S.RXD ← 次要接收資料。
腳位 17: RCK ← 接收器信號元素定時。
腳位 18: LL → 本地迴路控制。
腳位 19: S.RTS → 次要請求傳送
腳位 20: DTR → Da 遠端迴路控制。
腳位 22: RI ← 振鈴指示。資料設定設備向資料終端設備發出信號,告知已偵測到振鈴狀態。
腳位 23: DSR → 資料信號速率選擇器。
腳位 24: XCK → 傳送信號元素定時。
腳位 25: TI ← 測試指示器。
在非同步通訊期間,RTS 與 CTS 在整個連線期間都會保持啟用。然而,如果 DTE 連接到多點線路,資料一次只會由一個站台傳送(因為回路電話線對是共用的)因此 RTS 的唯一用途是控制數據機載波的開與關。當站台準備傳送時會拉高 RTS。數據機會開啟其載波,等待其穩定(通常需要幾毫秒)並拉高 CTS。在 CTS 為高時,DTE 進行傳送。一旦傳輸完成,站台放下 RTS,接著數據機會放下 CTS 與載波。
COM 連接埠腳位配置中,序列線纜腳位 15、17 與 24 上的所有時鐘信號僅用於同步通訊。時鐘由 DSU 或數據機從資料流中擷取,或由 DSU 擷取後傳送給 DTE,以提供穩定的時鐘信號。需要強調的是,接收與傳送的時鐘信號不必相同,且可以具有不同的鮑率。
9 針 RS-232 腳位配置
所以這裡是個人電腦上使用的序列連線接腳配置的簡化版本:RS-232 9 針接腳配置。
Pin 1: DCD ← 數據載波偵測
Pin 2: RxD ← 接收資料
Pin 3: TxD → 傳送資料
Pin 4: DTR → 數據終端就緒
Pin 5: 0V/COM − 0V 或系統接地
Pin 6: DSR ← 數據設備就緒
Pin 7: RTS → 請求傳送
Pin 8: CTS ← 允許傳送
Pin 9: RI ← 鈴聲指示
RS-232 訊號
代表 RS232 串列埠針腳相對於系統共用端(電源/邏輯接地)的訊號電壓位準。相對於共用端,主動狀態(SPACE)的訊號位準為正電壓,而閒置狀態(MARK)的訊號位準為負電壓。RS-232 必須指定通訊協定。此外,RS-232(多數情況下)還有多條握手線可與數據機搭配使用。
RS-232 介面假設 DTE 與 DCE 具有相似的電氣匯流排並且接地相同。顯然,當 DTE 與 DCE 之間使用長距離線路時,這個假設可能完全不成立。
RS232 標準所規範的最大開路電壓為 25 V,但通常訊號位準為 5 V、10 V、12 V 與 15 V。
根據 RS-232 標準,所有資料都是雙極性。對大多數設備而言,ON 或 0 狀態(SPACE)以 +3 V 到 +12 V 的電壓表示,而 OFF 或 1 狀態(MARK)以 -3 V 到 -12 V 的電壓表示。然而,有些裝置不辨識任何負電位,0 V 就足以代表 OFF 狀態。而且有時較小的電壓就足以達成 ON 狀態。因此有可能大幅縮小 RS-232 傳輸/接收的整體電壓範圍。
輸出訊號的正常電壓為 +12 V 到 -12 V。另外,存在一個所謂的「死區」範圍在 +3 V 到 -3 V,用於吸收線路雜訊。在其他與 RS-232 類似的串列埠針腳配置中,這個範圍可能不同(例如 V.10 的定義有 +0.3 V 到 -0.3 V 的死區)大量的 RS-232 接收器可以輕易感測 1 V 甚至更小的差分。
RS-232 電纜規格
RS-232 標準本身並未直接定義電纜長度限制,因此主要決定因素是符合規範的驅動電路所能容忍的最大電容。一般而言,臨界長度會是 15 m(或者在僅使用低電容電纜的情況下約 300 m)坦白說,對於更長距離,RS-232 標準並不是高速長距離資料傳輸的最佳選擇。
請記住,並非所有裝置製造商都從頭到尾嚴格遵循標準,因此建議先研讀相關文件,並使用分線測試盒(breakout box)測試每一條新連線。在某些情況下,只有透過反覆嘗試的方法,才能找到用於連接每一對裝置的正確電纜。
依據 RS-232 標準,DCE 裝置必須透過兩端連接器中各針腳編號相同的電纜(稱為「直通線」連接到 DTE。任何電纜/連接器的性別(公母)不匹配,都可用性別轉接頭輕鬆解決。常見的還有一端為 25 針 D-sub 連接器、另一端為 RS-232 9 針連接器的電纜。帶有 8P8C 連接器的設備通常會配備一條帶 DB-9 或 DB-25 的電纜。有些甚至提供可互換的連接器以增加彈性。
如果不需要將 RS-232 的能力發揮到極限,可以使用最簡的 3 線連接:傳送、接收與接地。若為單向資料流,還有 2 線選項:資料與接地。而對於雙向且由硬體控制的資料傳輸,最佳替代方案是 5 線版本,也就是在 3 線的基礎上增加 RTS 與 CTS 線路。
RS-232 資料流圖
根據 RS-232 標準,資料可以以多種不同方式傳輸。然而,最常見的是傳送包含 7-8 位元字、以及起始位元、停止位元與同位元的封包。如您在下方圖表中所見,首先是起始位元(低電位有效,+3 V 至 +15 V)接著是資料位元,然後是同位元(若通訊協定需要)最後是停止位元(用於回到高電位,-3 V 至 -15 V)
RS232 與其他標準之間的關係
符合 RS-232 的連接埠不一定能與其他多種序列訊號標準(如 RS-422、RS-423、RS-449、RS-422、423、RS-485 等)一同運作。對於使用接近 +5 與 0 電壓的 TTL 電平的 GPS 接收器與測深儀而言,標記電平會落入該標準的未定義區域。你將需要電平轉換器,才能在此類環境中使用 RS-232 標準。
它們之間的關係:
- RS-422 的速度與 RS-232 類似,但訊號方式不同
- RS-423 速度相同,但沒有平衡式訊號
- RS-449 已停用
MIL-STD-188 與 RS-232 類似,但具備更出色的上升時間控制與更佳的阻抗。想要拋棄你的 RS-232 裝置?先別急!如你所見,這個序列通訊協定持續推翻所有「它已被 USB 完全取代」的說法。儘管現代通訊系統需要如 USB 這類更精密的系統,我們仍將繼續使用標準序列埠。
第三方應用程式在強化我們使用 RS-232 序列埠的方式方面表現出色。其中一個例子是 Electronic Team 開發的 RS232 轉乙太網路連接器。你可以在 使用者指南 中找到有趣的使用情境。
現代序列埠使用案例
序列埠或許不夠亮眼,但它們仍然是電子與 IT 領域中最可靠且最廣泛使用的通訊方式之一。
無論你是在處理工業系統、嵌入式裝置,或是網路硬體,了解序列埠腳位配置仍然是一項很有價值的技能。
序列埠已經演進,超越了傳統的 PC。
1. USB-轉序列通訊
轉接器讓現代筆記型電腦能輕鬆連接到序列裝置。
2. 虛擬序列埠
Virtual Serial Port Driver 可模擬用於測試的 COM 連接埠與遠端通訊。
- 適用於 IoT 與雲端連線系統
- 可透過網路啟用連接埠共用
3. 嵌入式開發
序列埠仍然是以下項目的主要除錯介面:
- 微控制器
- 物聯網裝置
- 韌體開發
4. 網路裝置組態
許多企業路由器與交換器仍然依賴序列主控台存取。
常見問題
RS(建議標準)由美國電子工業協會於 60 年代制定,用以促進數據機與電腦終端之間的通訊。
大多數工業自動化與測量實驗室儘管序列埠技術有所限制,仍持續使用它。東芝在 Tecra 個人電腦上重新引入 DB-9M 連接器,證明這些標準目前仍會持續存在。儘管兩者有所不同,USB 與 RS-232 標準在主要作業系統中都支援大多數軟體程式。