帶你認識物聯網基礎 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的沙龍
22會員
70內容數
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
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
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
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News