帶你認識物聯網基礎 Serial 通訊 (三) -- RS232/RS485 篇

更新於 發佈於 閱讀時間約 6 分鐘

Let's learn serial communication


UART 距離不夠

在上一篇的時候我們聊到 Parallel 轉 Serial 的 UART 篇的時候你可能有注意到有提過已經從 UART 轉換完成的 Serial 訊號已經可以用來傳輸通訊了,那為什麼還要把 UART 轉出來的訊號再轉換成成其他的 Serial 介面,像是 RS232/RS485 再進行傳輸呢?原因是 UART 的 Serial 訊號傳輸的距離實在太短了。

使用 9600 Baudrate 的 UART Serial 訊號傳輸距離只有 1 米!

RS232/RS485 來湊

電訊號的通訊距離會跟它的 BaudRate 的大小成反比,想要訊號傳得遠就要降低 BaudRate 的設定;Baudrate 也跟傳輸速率成正比,想要更大的頻寬(單位時間內傳輸更多數據)就需要加大 BaudRate 的設定,結果是傳輸效率越高傳輸距離就越短、如果再考慮傳輸線上的線阻,走在上面的電訊號也會隨著傳輸距離增加逐漸衰減到零,所以整體距離還需要再打些折扣。因此 Serial 通訊設計上有必要再多加一個 EIA Driver 把 UART Serial 訊號轉成其他可實現長距離通訊的 Serial 介面,例如 RS232/RS485 這兩個經典的 Serial To Serial 的介面。

BaudRate 越大,傳輸速率越高,距離越短

單端點的 RS232

RS232 使用的實體介面的 Pin 腳有 9 根 (DB9) ,其中負責傳輸訊號有三條分別是 Rx,Tx 跟 Gnd。Gnd 又叫做地線或是參考線代表本身沒有電壓的狀態 (0V),主要是讓 Rx 或 Tx 用來參考判讀電壓用的,所以 Gnd 在 RS232 的通訊架構裡是必要的存在,這種參考地線來計算電壓的通訊模式也叫做 single-end (單端點)。

RS232, Pin Definition

RS232, Pin Definition

RS232 在訊號傳輸設計是利用拉高電壓方式來處理,RS232 的 EIA Driver 就是負責把 3.3V 的 UART Serial 訊號升壓到 5V-25V 電壓的 Serial 訊號的過程。可以想像訊號傳遞就像波浪一樣,電壓越高代表有比較多的能量(電位能),一樣是 9600 BaudRate 的 RS232 介面傳輸距離可達到 15m。過長的傳輸距離會讓訊號衰減變型的太嚴重落入判定無效區。

另外,RS232 這種 single-end 的設計也很怕外部訊號干擾也是另一個影響傳輸距離的原因,傳輸距離越常被干擾的可能性越大,沒做好隔離電磁突波很容易就把 Rx 或 Tx 上的訊號給撞到變形(Gnd 沒有電壓不受影響)。

差分訊號的 RS485

當發展來到了 RS485 的時候又有了重大的突破。首先,通訊架構進一步被簡化,UART 出來的 Serial 經過 RS485 的 EIA Driver 變成只有兩條線 D+/D-,特色是傳輸的時候這兩條線都有電壓在上面跑,如果我們把 D+/D- 的波形合併在一個畫面上看,就會看到 D+ 與 D- 是互相對稱的訊號波形,接收端利用計算電壓差 (D+ - D-) 的範圍來決定 0 或 1,這種利用計算電壓差的傳輸方式叫做 differential 差分訊號。

RS485, Pin Definition

RS485, Pin Definition

差分訊號特色是接線架構簡單、使用的電壓 1.5V 更低外,最大的好處就是訊號抗干擾的能力很強!因為 RS485 訊號傳輸的時候遇到有電磁干擾時,兩條線都會承受相同的電壓增減幅度,結果兩者的差值不變所以換算出來的 0 跟 1 不變。抗干擾能力可以讓傳輸距離大幅提升,一樣是 9600 BaudRate 的 RS485 傳輸距離一口氣來到了 1200 米了。不過,差分訊號的設計也是有困擾的地方,就是通訊時兩條線都要使用結果只能做到半雙工無法同時收送傳輸效率會減半。

網路拓墣

通過通訊介面把兩個或以上的設備給串連就能形成「網路」,所有串連在相同網路上的裝置就可以互相通訊。按照連接的型態或者叫做拓樸形態可以分成三種 Point to Point (點對點), Multidrop (多分支), Multipoint (多點)。

Point to Point 是專線只能接兩台裝置,也是 RS232 唯一支持的模式。不過 RS232 的 Pin 腳設計同時有 RX / TX,相當於提供了兩組通訊通道,所以能夠做到全雙工收發同時進行。

Multidrop, Multipoint 是 RS485 支持的架構,先說 Multidrop ,它在同一時間內只能有一台設備傳送訊息,其他設備只能接收訊息行為很像廣播,是屬於半雙工模式。那有沒有全雙工的 RS485?有的,也許你有聽過 4 線的 RS485 架構 (跟 RS422 相同) 那個就是了,所謂的 4 線 RS485 就是再多加一組 D+/D-,這樣就有兩組通訊線,一組可以拿來接收資料 Rx+/Rx- 使用,另一組拿來發送資料 Tx+/Tx-,這種 4 線全雙工且支持多點裝置連線架構就是 Multipoint 了。

Topology of 4w RS485

Topology of 4w RS485

總結

目前 RS232/RS485 仍是工控領域很 popular 的 Serial 通訊介面架構簡單實用。實務上我們還是會碰到其他的 Serial 傳輸介面 USB, CAN.. 等,不過轉換的道理都是一樣的,都是先經過電腦的 UART 轉換將 Parallel 轉成 Serial 再透過對應的的 EIA Driver 轉換後再出去,都是為了解決 UART 傳輸距離過短以及傳輸過程中的干擾問題。最後我也把一份比較表放在這裡方便日後查找。

Comparison of RS232, RS422 and RS485

Comparison of RS232, RS422 and RS485



留言
avatar-img
留言分享你的想法!
avatar-img
Warren Lo的沙龍
21會員
64內容數
WarrenLo's 軟體設計武功祕笈
Warren Lo的沙龍的其他內容
2024/09/25
當我們從事軟體開發工作一段時間後,有些人會開始接觸軟體架構設計。由於每個軟體架構設計者的對問題的理解與知識經驗差異會導出不同的設計架構。近期與同事的軟體設計案例經驗交流後,就很希望自己剛開始學習軟體架構設計的時候就有人能用實際的軟體架構設計經驗來帶我入門...
Thumbnail
2024/09/25
當我們從事軟體開發工作一段時間後,有些人會開始接觸軟體架構設計。由於每個軟體架構設計者的對問題的理解與知識經驗差異會導出不同的設計架構。近期與同事的軟體設計案例經驗交流後,就很希望自己剛開始學習軟體架構設計的時候就有人能用實際的軟體架構設計經驗來帶我入門...
Thumbnail
2024/07/02
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
2024/07/02
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
2024/04/08
經過這麼多年的觀察與實踐,一個成熟的軟體工程師還需要第四個要素,它是讓決定你通往熟手的重要關鍵沒有之一。
Thumbnail
2024/04/08
經過這麼多年的觀察與實踐,一個成熟的軟體工程師還需要第四個要素,它是讓決定你通往熟手的重要關鍵沒有之一。
Thumbnail
看更多
你可能也想看
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
數位IC裡我們關注的都是0或1, 大家都知道電腦是0101在做二進位的運算, 在晶片裡又是怎麼做到的? 實際上我們在設計晶片時,會給他一個VDD跟GND, VDD-GND給的是預期的Driving volatge, 像是5V或9V 以5V為例 0或1物理上就是目前的電壓靠近0V或5
Thumbnail
數位IC裡我們關注的都是0或1, 大家都知道電腦是0101在做二進位的運算, 在晶片裡又是怎麼做到的? 實際上我們在設計晶片時,會給他一個VDD跟GND, VDD-GND給的是預期的Driving volatge, 像是5V或9V 以5V為例 0或1物理上就是目前的電壓靠近0V或5
Thumbnail
UART 轉換完成的 Serial 訊號已經可以用來傳輸通訊了,那為什麼還要把 UART 轉出來的訊號再轉換成成其他的 Serial 介面,像是 RS232/RS485 再進行傳輸呢?原因是 UART 的 Serial 訊號傳輸的距離實在太短了
Thumbnail
UART 轉換完成的 Serial 訊號已經可以用來傳輸通訊了,那為什麼還要把 UART 轉出來的訊號再轉換成成其他的 Serial 介面,像是 RS232/RS485 再進行傳輸呢?原因是 UART 的 Serial 訊號傳輸的距離實在太短了
Thumbnail
Serial 通訊數據必須先在 UART 元件把 Parallel 轉成 Serial,EIA Driver 會把 Serial 轉成特定的 Serial 訊號。UART 數據轉換要考慮兩個關鍵點,如何讓資料從直行變橫列(躺平)的方法,還要考慮如何控制 Serial 訊號輸出
Thumbnail
Serial 通訊數據必須先在 UART 元件把 Parallel 轉成 Serial,EIA Driver 會把 Serial 轉成特定的 Serial 訊號。UART 數據轉換要考慮兩個關鍵點,如何讓資料從直行變橫列(躺平)的方法,還要考慮如何控制 Serial 訊號輸出
Thumbnail
聊到 Serial 通訊就一定會提到 COM Port,它是微軟定義的一個經典 Serial 通訊實作。COM Port 在筆電還不普及的年代可以很輕鬆在 PC(桌機)的主機板上找到有標示 COM1 或者 COM2 的通訊接口,這些就是最常見的 COM Port 通常搭載的都是 R232 的通訊規格
Thumbnail
聊到 Serial 通訊就一定會提到 COM Port,它是微軟定義的一個經典 Serial 通訊實作。COM Port 在筆電還不普及的年代可以很輕鬆在 PC(桌機)的主機板上找到有標示 COM1 或者 COM2 的通訊接口,這些就是最常見的 COM Port 通常搭載的都是 R232 的通訊規格
Thumbnail
在本教學中,我們將學習如何使用Arduino和類比水位感測器來測量水位,並顯示結果。這個專案適合初學者,讓我們開始吧!
Thumbnail
在本教學中,我們將學習如何使用Arduino和類比水位感測器來測量水位,並顯示結果。這個專案適合初學者,讓我們開始吧!
Thumbnail
在這篇教學中,我們將介紹如何使用Arduino和HC-SR04P超聲波模組進行距離測量。這個專案非常適合初學者,它可以幫助你理解如何使用超聲波傳感器來測量物體的距離。
Thumbnail
在這篇教學中,我們將介紹如何使用Arduino和HC-SR04P超聲波模組進行距離測量。這個專案非常適合初學者,它可以幫助你理解如何使用超聲波傳感器來測量物體的距離。
Thumbnail
Modbus 是一種定義在通訊應用層的協議,會根據資料跑在不同的實體介面上而有不同的「版本」,例如:應用在 RS232/RS485 串列埠介面的就是 Modbus RTU/ASCII,應用在 TCP/IP 的就是 Modbus TCP 也 SCADA 的主要應用協議。
Thumbnail
Modbus 是一種定義在通訊應用層的協議,會根據資料跑在不同的實體介面上而有不同的「版本」,例如:應用在 RS232/RS485 串列埠介面的就是 Modbus RTU/ASCII,應用在 TCP/IP 的就是 Modbus TCP 也 SCADA 的主要應用協議。
Thumbnail
上一篇題到半導體可以藉由通電改變電阻,進而做成開關,實現運算這個重要的事,這裡再來提其他半導體的妙用 記憶體 半導體做成的記憶體結構其實有很多種,像是六顆MOS組成的SRAM(Static random-access memory, 靜態隨機存取記憶體)、一個電容加上一顆MOS做成的DRAM(D
Thumbnail
上一篇題到半導體可以藉由通電改變電阻,進而做成開關,實現運算這個重要的事,這裡再來提其他半導體的妙用 記憶體 半導體做成的記憶體結構其實有很多種,像是六顆MOS組成的SRAM(Static random-access memory, 靜態隨機存取記憶體)、一個電容加上一顆MOS做成的DRAM(D
Thumbnail
股海雜技:高速傳輸 高速傳輸是啥意思? 在開始前,我們來看一下下面這張圖。 有沒有聽過一句話,電腦的世界所使用的語言是由0跟1組成的!所以上面的訊號我們叫他“數位”訊號,那一個訊號我們叫他1個bit,一個1叫一個bit,一個0叫一個bit,所以故事來了,那一1bps 是什麼縮寫,就是1 bit pe
Thumbnail
股海雜技:高速傳輸 高速傳輸是啥意思? 在開始前,我們來看一下下面這張圖。 有沒有聽過一句話,電腦的世界所使用的語言是由0跟1組成的!所以上面的訊號我們叫他“數位”訊號,那一個訊號我們叫他1個bit,一個1叫一個bit,一個0叫一個bit,所以故事來了,那一1bps 是什麼縮寫,就是1 bit pe
Thumbnail
簡介   I2C (Inter - Intertraed circuit)內部整合電路,顧名思義就是主要控制短距離的內部裝置,而不適用於長距離的傳輸,I2C有不同的速度模式通常都是雙向傳輸,如標準模式100 Kbit/s、低速模式 10 Kbit/s、快速模式400Kbit/s、高速模式3.4Mbi
Thumbnail
簡介   I2C (Inter - Intertraed circuit)內部整合電路,顧名思義就是主要控制短距離的內部裝置,而不適用於長距離的傳輸,I2C有不同的速度模式通常都是雙向傳輸,如標準模式100 Kbit/s、低速模式 10 Kbit/s、快速模式400Kbit/s、高速模式3.4Mbi
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News