JL
JLink Technology 傑聯特科技
詢價
RS-232 vs RS-485 vs CAN:工業串列匯流排怎麼選(物理層 vs 協定層是關鍵)
RS-232RS-485CANCAN-FDGigaDeviceGD32選型

RS-232 vs RS-485 vs CAN:工業串列匯流排怎麼選(物理層 vs 協定層是關鍵)

RS-232/RS-485/CAN 不是三個對打的協定,而是兩種層級:RS-232(單端點對點)與 RS-485(差動多點)只有物理層,要自己疊協定(如 Modbus RTU);CAN 連資料連結層(幀/仲裁/錯誤處理)都內建。本文講清這個關鍵差別,並對應 GD32 的 CAN-FD(G5/H7/F5)與古典 CAN(L235)。

JL 傑聯特科技工程團隊審校 · 更新於 2026-06-28

不是三個對打,是兩種層級

RS-232、RS-485、CAN 常被當成「三個互相競爭的協定」,但更準確的理解是:它們其實落在兩種不同的決定層級上。RS-232 與 RS-485 只是「電氣層/物理層」——它們只規定電壓怎麼在線上跑,你還得自己在上面疊一層通訊協定(例如 Modbus RTU)才能溝通。CAN 則是「物理層 + 資料連結層(協定層)」一起給——訊框格式、多主機仲裁、錯誤處理都寫進標準、由控制器硬體完成。這個「層級」差別,是工業界最常被搞混、也是選型最關鍵的一點:距離與節點數把你從 RS-232 推向 RS-485;需要內建即時多主機 + 錯誤處理,就把你推向 CAN。

RS-232 vs RS-485:單端點對點 vs 差動多點

先看兩個「純物理層」的。RS-232 是單端(single-ended)訊號:每條訊號的電壓都對共同地參考,地電位一漂、線一拉長就容易出錯,所以它是短距(約 15 公尺)、低速、一對一(1 驅動 ↔ 1 接收)的點對點介面,典型用在主控台、儀器、傳統 PC 序列埠。RS-485 改用差動(differential)訊號:用一對雙絞線上兩條互補線的電壓差來判讀,共模雜訊會在兩線同時出現而被抵銷,所以抗噪強、能拉到約 1200 公尺,而且是多點匯流排——標準是 32 個單位負載,改用低負載(⅛-UL)收發器最多可掛到約 256 顆(再用中繼器可更多)。速度最高約 10 Mbit/s,但距離越長越慢(經驗法則:位元率×距離 ≤ 10⁸)。預設半雙工(2 線),要同時收發就用 4 線全雙工。重點:RS-485 標準明文「不規定任何通訊協定」,所以它是工業 Modbus RTU 的實體層——RS-485 回答「線怎麼接」,Modbus 回答「訊息怎麼講」。

CAN:差動 + 多主機 + 內建仲裁/錯誤處理

CAN 跟前兩者本質不同:它是差動訊號(CAN_H / CAN_L,物理層在 ISO 11898-2),但標準本身還含資料連結層(ISO 11898-1)——所以它是多主機、訊息式的匯流排:任何節點在匯流排空閒時都能發話,訊框用「訊息識別碼」定址而非節點位址。最關鍵的是它有「非破壞性逐位元仲裁」:兩個節點同時發話時,識別碼數值較小(較優先)的那則會贏、而且不會被撞壞或延遲;再加上 CRC、位元填充、ACK、錯誤訊框等硬體級錯誤偵測與故障界定。換句話說,RS-485 給你的是「光有電氣層、協定自己加」,CAN 給你的是「電氣層 + 協定層一起、仲裁與錯誤處理都內建」。這就是為什麼車用與需要即時優先權、錯誤處理的工業控制偏好 CAN。

⚠️ CAN vs CAN-FD 與 GD32 對照(L235 只有古典 CAN)

CAN 還分古典 CAN 與 CAN-FD。古典 CAN 每幀酬載最多 8 bytes、位元率最高約 1 Mbit/s(常跑 500 kbit/s);需要更大酬載(CAN-FD 到 64 bytes)或資料相更快(典型約 5~8 Mbit/s,視硬體而定,且只有資料欄位那段提速)就上 CAN-FD(ISO 11898-1:2015)。落到 GD32 料號:支援 CAN-FD 的有 GD32G5(如 GD32G553)、GD32H7(如 GD32H759)、GD32F5(F503/F505)系列;⚠️ 而 GD32L235 只有古典 CAN 2.0、沒有 CAN-FD——若你的需求是 CAN-FD,選型時務必避開 L235。另外提醒:古典 CAN 與 CAN-FD 節點不能透通混用(古典節點在 CAN-FD 幀出現時會報錯),整條匯流排要全 CAN-FD 相容。(各系列實際 CAN-FD 模組數量依料號而異,以該料號 datasheet 為準。)

怎麼選

選型心法,先問「層級」:我需要的只是一條電氣線(物理層),還是連幀/仲裁/錯誤處理都要(協定層)?這一題就把 RS-485 與 CAN 分開。具體:一對一、近距離、傳統設備(主控台/儀器/老序列埠)→ RS-232。長距離(到約 1200 公尺)、多台設備掛同一條線、現場噪音大 → RS-485(記得只有物理層,上層通常配 Modbus RTU;要同時收發走 4 線全雙工)。需要即時、多主機、訊息有優先權、且要硬體級錯誤處理 → CAN;還要大酬載/更高吞吐 → CAN-FD。MCU 落地:決定走 CAN-FD 就從 GD32G5 / GD32H7 / GD32F5 挑;低功耗但只需古典 CAN 用 GD32L235;RS-485/Modbus 應用則搭外部 RS-485 收發器 + MCU 的 UART。傑聯特科技是 GigaDevice 授權代理商,從古典 CAN(GD32L235)到 CAN-FD(GD32G5/H7/F5)全系列供應;歡迎提供你的匯流排類型、距離、節點數與即時/酬載需求,我們協助選型並回覆樣品、規格書與報價。

文中提及的產品

GD32G553 現貨

GD32G553 Cortex-M33 數位電源 MCU

GD32G553 屬 GigaDevice GD32G5 系列高效能 Arm Cortex-M33(含 DSP 與單精度 FPU)微控制器,主頻 216MHz,256~512KB 雙區 Flash、128KB SRAM(含 TCMRAM)。內建 4 組 12-bit ADC(最高 5.3MSPS)、4 組 DAC、8 顆高速比較器、3 組 CAN-FD,以及 16 通道高解析計時器(145ps)與 TMU/FAC/FFT 數學加速器。支援安全啟動/AES、IEC 61508 SIL2,適合數位電源、EV 充電、儲能變流與伺服馬達控制。

MCUCortex-M33CAN-FD
GD32H759 現貨

GD32H759 Arm Cortex-M7 600MHz 高效能 MCU

GD32H759 是 GigaDevice 高效能 Arm Cortex-M7 MCU,主頻 600MHz(含 L1 快取、雙精度 FPU),Flash 最高 3840KB、SRAM 達 1024KB(含 ITCM/DTCM 與 ECC)。整合 3× CAN-FD、雙 Ethernet MAC(含 EtherCAT)、2× USB HS/FS、6× SPI、2× OSPI、TFT-LCD 與 14-bit ADC,適合工業自動化、馬達控制與圖形 HMI。封裝 LQFP100/144/176、BGA。

MCUCortex-M7600MHz
GD32L235 現貨

GD32L235 Cortex-M23 超低功耗 MCU

GD32L235 是 GigaDevice 超低功耗 32-bit Arm Cortex-M23 微控制器,主頻 64MHz,64~128KB Flash/12~24KB SRAM。功耗極低:執行約 66µA/MHz、深睡 1.8µA(喚醒 <2µs)、待機 0.26µA,並具低功耗 LPUART 與 LPTIMER 支援常開任務。內建 12-bit ADC、DAC 與 2 顆比較器、USB 2.0 FS 與 CAN 2.0,封裝含 LQFP/QFN 及 WLCSP25。相較已收錄的 GD32L233,L235 增加 CAN 與更豐富的周邊,適合智慧門鎖、計量、穿戴與電池管理。

MCUCortex-M23Ultra-Low-Power

需要這些元件或設計支援?

傑聯特科技提供元件、規格書與工程技術支援。

立即詢價