Trả lời nhanh
RS-485 và CAN đều hoạt động trên một cặp vi sai được kết cuối, nhưng chúng giải quyết các vấn đề khác nhau.RS-485 là một lớp vật lý: nó truyền các byte một cách tin cậy qua cáp dài, còn bạn cung cấp giao thức, định địa chỉ và xử lý lỗi bằng phần mềm.CAN là một lớp liên kết dữ liệu hoàn chỉnh: nó bổ sung đóng khung, phân xử, phát hiện lỗi và tự động truyền lại trong phần cứng. Chọn RS-485 khi bạn cần khoảng cách và sự đơn giản, chọn CAN khi bạn cần tính tất định đa chủ và xử lý lỗi tích hợp. Ở 250 kbps, RS-485 bao phủ thoải mái 300 m trong khi CAN đã gần giới hạn 250 m của nó — và lợi thế thực sự của CAN không phải là khoảng cách, mà là giao thức.
Điểm chính dành cho ban điều hành
- Khoảng cách là vấn đề về cáp và kết cuối, không phải vấn đề về giao thức.Ở 250 kbps, giới hạn thực tế của CAN là khoảng 250 m; RS-485 có thể đi xa hơn với cùng cặp dây và tốc độ bit chậm hơn.
- Giá trị của CAN nằm ở cơ chế phân xử.Nhiều node có thể bắt đầu truyền cùng lúc và khung có độ ưu tiên cao hơn sẽ thắng mà không xảy ra xung đột; RS-485 cần một master hoặc một giao thức phần mềm để tránh xung đột.
- Dải common-mode của RS-485 rộng hơn(−7 V to +12 V) so với của bộ thu phát CAN điển hình, điều này quan trọng trong các lắp đặt công nghiệp có độ lệch điện thế đất.
- Cả hai đều cần kết cuối ở cả hai đầu, các nhánh ngắn và mạng phân cực; hầu hết các lỗi hiện trường là do đi dây và kết cuối, không phải bộ thu phát.
1. Mỗi bus thực chất là gì
RS-485 (TIA/EIA-485-A) chỉ định nghĩa lớp điện: các bộ phát và bộ thu vi sai, dải common-mode, giới hạn tải đơn vị và quy tắc kết cuối. Nó không nói gì về đánh địa chỉ, tạo khung, xử lý va chạm hay khôi phục lỗi. Một UART cộng với bộ thu phát RS-485 cho bạn một đường ống byte vững chắc; giao thức bên trên là do bạn thiết kế.
CAN (ISO 11898-2) định nghĩa lớp vật lývàvà lớp liên kết dữ liệu. Các khung mang một bộ nhận dạng, một trường dữ liệu, CRC và xác nhận; việc phân xử diễn ra theo từng bit và không phá hủy; lỗi được phát hiện và các khung được truyền lại tự động. Đó là rất nhiều hành vi được tích hợp vào bộ điều khiển và bộ thu phát, và đó là lý do CAN chiếm ưu thế trong ô tô và máy móc di động.
Một tiêu chuẩn liên quan, RS-422, sử dụng cùng kiểu truyền tín hiệu vi sai với một cặp bộ phát và bộ thu riêng (bốn dây) và hỗ trợ tốc độ cao hơn trên các đoạn ngắn hơn. RS-485 là phiên bản hai dây, nhiều điểm; khi bài viết này nói RS-485, nó có nghĩa là trường hợp nhiều điểm hai dây trừ khi có nói khác.
2. Tốc độ so với khoảng cách
| Tốc độ bit | Khoảng cách thực tế của RS-485 | Khoảng cách thực tế của CAN |
|---|---|---|
| 10 Mbps | ~10–15 m | not supported (classic CAN) |
| 1 Mbps | ~100–120 m | ~40 m |
| 500 kbps | ~200–300 m | ~100 m |
| 250 kbps | ~300–600 m | ~250 m |
| 125 kbps | ~600–1200 m | ~500 m |
| 50 kbps | ~1200 m | ~1000 m |
Bảng này là hướng dẫn lập kế hoạch, không phải bảo đảm: điện dung cáp, chiều dài nhánh rẽ, dung sai kết cuối và số lượng nút đều làm thay đổi giới hạn. Điểm so sánh quan trọng là hình dạng: cả hai đều giảm gần như theo cùng một nguyên lý vật lý, nhưng CAN mất khoảng cách sớm hơn vì định thời bit và phân xử của nó đòi hỏi tính toàn vẹn tín hiệu chặt chẽ hơn.
3. Cấu trúc liên kết, kết cuối và thiên áp
Cả hai bus đều là cặp vi sai nhiều điểm đấu, được kết cuối ở cả hai đầu vật lý. RS-485 dùng một điện trở 120 Ω duy nhất ở mỗi đầu; CAN thường dùng mộtkết cuối chia đôi— hai điện trở 60 Ω mắc nối tiếp với điểm giữa được nối tắt xuống mass — giúp cải thiện độ ổn định common-mode và EMC.
Bias trạng thái nghỉ là nửa còn lại. Một cặp đã được kết cuối không có driver tích cực sẽ trôi gần 0 V, là mức logic không xác định. Mạng RS-485 dùng mạng bias fail-safe — thường là pull-up trên một đường và pull-down trên đường kia — để giữ trạng thái nghỉ đã biết. Với hai kết cuối 120 Ω song song (60 Ω), chênh lệch trạng thái nghỉ 200 mV cần khoảng 3,3 mA, từ nguồn 5 V nghĩa là tổng khoảng 1,4 kΩ, hoặc 680 Ω mỗi bên.
Bộ thu phát CAN thường cung cấp bias bên trong và chỉ định mức recessive; đó là một lý do việc đấu dây CAN dễ làm đúng hơn.
4. Giao thức: sự khác biệt thực sự
RS-485 là bán song công trên một cặp hai dây (tồn tại loại bốn dây song công toàn phần). Chỉ một driver được bật tại một thời điểm, nên mạng cần một master, một token hoặc một cơ chế tránh xung đột được triển khai trong phần mềm. Điều đó ổn cho Modbus, DMX, các giao thức kiểu Profibus và nhiều liên kết độc quyền, nhưng tính tất định chỉ tốt bằng phần mềm.
CAN là đa master theo thiết kế. Bất kỳ nút nào cũng có thể bắt đầu một khung khi bus rảnh; nếu hai nút bắt đầu cùng lúc, nút có định danh dominant thắng phân xử và nút kia tự động thử lại. Do đó các thông điệp ưu tiên cao hơn có độ trễ có giới hạn, đó là lý do CAN được dùng cho các vòng điều khiển trong xe và máy móc.
| Khía cạnh | RS-485 | CAN / CAN FD |
|---|---|---|
| Layer defined | Physical only | Physical + data link |
| Multi-master | No (software) | Yes, by arbitration |
| Error handling | Application | CRC, ACK, retransmission |
| Max nodes | 32 unit loads (256 with 1/8 UL) | Typically 110–120 |
| Common-mode range | −7 V to +12 V | About −2 V to +7 V |
| Typical use | Modbus, DMX, long sensor runs | Automotive, machinery, battery packs |
5. Ví dụ minh họa: 300 m, 250 kbps, 16 nút
Một mạng công nghiệp cần 16 nút trên 300 m ở 250 kbps, với nguồn cấp bộ thu phát 5 V. Chọn bus nào?
- CAN ở 250 kbpsđược quy định ở khoảng 250 m, vì vậy 300 m đã vượt quá giới hạn lập kế hoạch; sẽ cần bộ lặp hoặc tốc độ bit thấp hơn.
- RS-485 ở 250 kbpsthoải mái ở 300 m. Với cáp 50 pF/m, cặp dây có khoảng 15 nF; với 60 Ω kết cuối hiệu dụng, hằng số thời gian RC là 0.9 µs, và thời gian lên 10–90% là khoảng 2 µs so với một bit 4 µs — chấp nhận được, với biên dự phòng cho các nhánh rẽ và đầu nối.
- Kết cuối:120 Ω ở mỗi đầu.Phân cực:Các điện trở kéo lên và kéo xuống 680 Ω cho chênh lệch ở trạng thái nghỉ khoảng 200 mV.
Câu trả lời thực tế là RS-485 trừ khi ứng dụng cần cơ chế trọng tài của CAN hoặc ngăn xếp chẩn đoán của nó. Chỉ riêng khoảng cách không quyết định điều đó.
Tính toán với cùng các con số cho CAN thì bức tranh rõ ràng: ở 250 kbps, giới hạn của CAN là 250 m, vì vậy 300 m sẽ yêu cầu giảm xuống 125 kbps (500 m) hoặc thêm bộ lặp. Đó là thay đổi hệ thống, không phải lựa chọn linh kiện.
6. Cách ly, bảo vệ và cáp
Các bus hiện trường dài dễ bị ảnh hưởng bởi xung đột biến và độ lệch đất. Tại đầu nối, một mảng TVS hoặc ESD bảo vệ bộ thu phát khỏi ESD và xung đột biến; cuộn kháng chế độ chung giảm phát xạ tần số cao và cải thiện khả năng miễn nhiễm. Cả hai đều không thay thế nhu cầu về một tham chiếu đất xác định hoặc cách ly khi độ lệch lớn.
Cách ly galvanic là câu trả lời vững chắc cho các tuyến dài giữa các tòa nhà hoặc giữa các thiết bị trên các nền đất khác nhau. Bộ thu phát cách ly kết hợp bộ phát, bộ thu và hàng rào cách ly trong một vỏ; các bộ cách ly kỹ thuật số rời cùng với bộ thu phát không cách ly đạt được kết quả tương tự với nhiều linh kiện hơn. Lựa chọn thường là chi phí và không gian bo mạch, không phải hiệu năng.
Cáp quan trọng không kém phần silicon. Một cặp xoắn với trở kháng đặc trưng 100–120 Ω, 50–60 pF/m và lớp chắn lá kim loại hoặc bện là mức cơ bản. Nối đất lớp chắn ở một đầu giúp tránh vòng lặp đất trong hầu hết lắp đặt; ngoại lệ là lắp đặt có dây dẫn tham chiếu riêng, nơi có thể nối đất cả hai đầu.
7. Ví dụ về giao thức
Trên RS-485, Modbus RTU là giao thức phổ biến nhất: master thăm dò các slave theo địa chỉ, với CRC trên mỗi khung. DMX512 sử dụng cùng lớp vật lý cho chiếu sáng, với tốc độ khung cố định. Cả hai đều hoạt động vì master điều khiển bus; không bên nào cung cấp xử lý va chạm bằng phần cứng.
Trên CAN, CANopen và J1939 bổ sung địa chỉ hóa và các profile trên lớp khung. Vì phân xử nằm trong phần cứng, các thông điệp có độ ưu tiên cao hơn được truy cập bus trước, và các khung lỗi buộc truyền lại nhanh. Đó là một mô hình độ tin cậy khác với RS-485, nơi một khung va chạm đơn giản là bị mất trừ khi phần mềm phát hiện ra.
Đáng nói rõ những bus này không phải là gì. Cả hai đều không thay thế Ethernet công nghiệp khi payload lớn hoặc khi chẩn đoán từ xa và đồng bộ thời gian là quan trọng. Ethernet bổ sung magnetics, PHYs và switch, và nó giải quyết các vấn đề khác; field bus vẫn là lựa chọn đúng cho lưu lượng điều khiển nhỏ, mang tính xác định trên một cặp dây.
8. Lựa chọn
Chọn RS-485 khi:tuyến dài, giao thức đã được xác định (Modbus, độc quyền), số node ít đến trung bình và cấu trúc master-slave là chấp nhận được. Đây cũng là lựa chọn đơn giản hơn khi cùng một cặp dây phải cùng tồn tại với các tín hiệu khác hoặc khi dự kiến có offset common-mode.
Chọn CAN khi:nhiều node phải phân xử mà không có master, các thông điệp có độ ưu tiên và ứng dụng được hưởng lợi từ CRC phần cứng, xác nhận và truyền lại. Ô tô, quản lý pin, truyền động động cơ và máy móc di động là những trường hợp điển hình.
Chọn CAN FD khi:bạn cần mô hình CAN nhưng băng thông cao hơn — lên đến 5 Mbps trong pha dữ liệu với cùng pha phân xử.
9. Ai không nên sử dụng loại nào
- Không sử dụng RS-485 cho điều khiển đa chủ tối quan trọng về an toàntrừ khi bạn đã chứng minh được giao thức phần mềm; không có cơ chế phân xử phần cứng hay ngăn chặn lỗi.
- Không sử dụng CAN cho các tuyến cảm biến tốc độ thấp, rất dàikhi một liên kết Modbus đơn giản là đủ; bộ thu phát và bộ điều khiển làm tăng chi phí mà không mang lại lợi ích.
- Không sử dụng cả hai cho một liên kết điểm-điểm đơndưới vài mét; UART hoặc SPI thông thường đơn giản và rẻ hơn.
- Không dùng bất kỳ loại nào trong hai loại này mà không có cách lykhi chênh lệch điện thế đất vượt quá dải common-mode; thêm bộ cách ly số hoặc bộ thu phát cách ly.
Thời gian lên và điện dung cáp
Cặp dây hoạt động như một đường RC:tr≈ 2.2 × Rhạng tử× Ccáp, với Rhạng tửgiá trị song song của hai kết cuối (60 Ω) và Ccáptổng điện dung. Tại 50 pF/m và 300 m, C = 15 nF, vậy tr≈ 2 µs — nửa bit ở 250 kbps. Đó là lý do khoảng cách giảm nhanh khi tốc độ bit tăng, và vì sao thêm node hoặc stub làm tình hình xấu hơn.
Hãy kiểm tra kết quả theo thời gian bit, không theo tốc độ tối đa trên datasheet. Một bộ thu phát được định mức 10 Mbps vẫn sẽ hỏng một liên kết 300 m ở 10 Mbps vì cáp, chứ không phải bộ thu phát, quyết định giới hạn. Đây cũng là lý do một bài kiểm tra tỷ lệ lỗi bit ở chiều dài cáp thực tế có giá trị hơn bất kỳ bảng nào.
10. Bố trí và EMC
Cả hai bus đều vi sai, vì vậy hãy đi dây cặp cùng nhau, giữ trở kháng nhất quán và tránh các chỗ tách trong mặt phẳng tham chiếu. Đặt điện trở kết cuối tại đầu nối, không phải đâu đó giữa một stub. Giữ các stub ngắn: theo nguyên tắc, một stub phải là một phần nhỏ của độ dài bit, thấp hơn nhiều so với 0.3 m ở 1 Mbps.
Thêm cuộn kháng common-mode và bảo vệ TVS tại đầu nối để chống xung quá áp và ESD, cùng một dây dẫn tham chiếu đất nếu việc lắp đặt không thể đảm bảo đất chung. Dải common-mode của bộ thu phát không phải là giấy phép để bỏ qua nối đất; đó là biên dự trữ, không phải phương pháp thiết kế.
11. Năm sai lầm
1. Một điện trở kết cuối.Một điện trở 120 Ω duy nhất ở một đầu sẽ để lại phản xạ ở đầu kia; cả hai đầu đều cần nó.
2. Không có thiên áp fail-safe.Mức rỗi bị trôi nổi và các bộ thu nhận nhiễu thành dữ liệu.
3. Các nhánh rẽ dài đến từng nút.Các nhánh rẽ làm tăng phản xạ và giới hạn tốc độ bit khả dụng nhiều hơn hẳn so với chiều dài cáp.
4. Trộn bộ thu phát RS-485 và CAN trên một cặp dây.Kỳ vọng về tín hiệu và kết cuối khác nhau; mạng sẽ không đáng tin cậy.
5. Giả định khoảng cách của CAN giống với RS-485.Ở cùng tốc độ bit, CAN chỉ đạt chưa bằng một nửa khoảng cách trong nhiều trường hợp.
Một khác biệt thực tế nữa: bộ thu phát RS-485 có sẵn tính năng giới hạn tốc độ chuyển (slew-rate limiting), giúp giảm EMI nhưng phải đánh đổi bằng tốc độ bit tối đa. Bộ thu phát CAN được quy định cho một dải tốc độ bit cố định và tính đối xứng của chúng là một phần của tiêu chuẩn. Đừng giả định hai loại có thể thay thế cho nhau ngay cả khi sơ đồ chân trông giống nhau.
12. Danh sách kiểm tra
- Tốc độ bit yêu cầu và chiều dài cáp tối đa.
- Số lượng nút và hạn mức tải đơn vị.
- Kiến trúc đa chủ hoặc chủ–tớ.
- Yêu cầu về phân xử và độ trễ.
- Điện áp chế độ chung giữa các nút.
- Kết cuối ở cả hai đầu, với giá trị và vị trí đúng.
- Bias fail-safe (RS-485) hoặc mức recessive (CAN).
- Yêu cầu cách ly.
- Bảo vệ chống xung quá áp/ESD tại đầu nối.
- Xác minh: giản đồ mắt hoặc kiểm tra lỗi bit ở chiều dài cáp thực tế.
Mười bước kiểm tra trước khi layout, và một bước sau: chạy kiểm tra lỗi bit hoặc chụp giản đồ mắt ở chiều dài cáp thực tế. Một mạng trông có vẻ đúng trên cáp bàn thử dài hai mét vẫn có thể lỗi ở chiều dài lắp đặt, và kiểu lỗi — lỗi bit thỉnh thoảng, không phải bus chết — dễ bị chẩn đoán nhầm là vấn đề phần mềm.
FAQ
RS-485 và CAN có thể dùng chung một cáp không?
Không. Chúng sử dụng tín hiệu, kết cuối và định dạng khung khác nhau. Chạy cả hai trên cùng một cặp dây sẽ gây lỗi trên cả hai mạng.
Tại sao CAN đạt khoảng cách ngắn hơn RS-485 ở cùng tốc độ bit?
Việc phân xử và định thời bit của CAN yêu cầu tính toàn vẹn tín hiệu chặt chẽ hơn, và các bộ thu phát của nó có dải common-mode hẹp hơn. RS-485 có khả năng chịu đựng tốt hơn vì lớp giao thức nằm ngoài bộ thu phát.
RS-485 có thể hỗ trợ bao nhiêu nút?
32 tải đơn vị với bộ thu phát tiêu chuẩn, hoặc lên đến 256 với các linh kiện 1/8 tải đơn vị. Cáp, mạng kết cuối và mạng phân cực phải được định cỡ theo số lượng nút.
Tôi có cần một dây nối đất riêng không?
Nếu các node có thể có độ lệch đất đáng kể, có — một dây dẫn tham chiếu hoặc cách ly sẽ an toàn hơn là dựa vào dải common-mode của transceiver.
Tôi có thể bắc cầu RS-485 và CAN bằng một gateway không?
Có, và điều này phổ biến khi một thiết bị RS-485 cũ phải tham gia mạng CAN. Gateway chạy cả hai giao thức và ánh xạ địa chỉ sang định danh; hai lớp vật lý vẫn tách biệt.
Điện trở đầu cuối có tiêu tán nhiều công suất không?
Chỉ khi driver đang hoạt động: với 60 Ω hiệu dụng và mức điều khiển vi sai 5 V, dòng điện qua điện trở đầu cuối là vài chục miliamp. Dùng điện trở 1/4 W hoặc lớn hơn và đặt chúng ở nơi nhiệt độ có thể chấp nhận được.
Tôi có thể dùng bộ thu phát CAN cho RS-485 không?
Không. Mức tín hiệu, yêu cầu kết cuối và định dạng khung khác nhau. Hãy dùng bộ thu phát RS-485 cho RS-485 và bộ thu phát CAN cho CAN.
Số lượng nút ảnh hưởng đến khoảng cách như thế nào?
Mỗi nút thêm điện dung và dòng rò. Một mạng 32 nút ở 250 kbps hoạt động khác với mạng 4 nút ở cùng tốc độ; hãy giảm khoảng cách thiết kế cho số lượng nút cao và nhánh rẽ dài.
CAN FD có đáng dùng cho các thiết kế mới không?
Nếu ứng dụng cần payload hơn 1 Mbps và các bộ điều khiển hỗ trợ, thì có. Hành vi trọng tài không thay đổi, nên mô hình hệ thống vẫn giữ nguyên.
Bảng thuật ngữ
- Tải đơn vị
- Trở kháng đầu vào được chuẩn hóa cho các bộ thu RS-485; 32 tải đơn vị là giới hạn cổ điển.
- Phân cực an toàn khi lỗi
- Các điện trở giữ một mức rỗi xác định trên cặp RS-485 không có tín hiệu điều khiển.
- Phân xử
- Phương pháp của CAN để giải quyết các truyền đồng thời bằng ưu tiên định danh.
- Kết cuối phân tách
- Hai điện trở 60 Ω với một tụ điện ở điểm giữa, được dùng trên CAN để ổn định chế độ chung.
- Nhánh rẽ
- Nhánh từ bus chính đến một nút; các nhánh rẽ dài gây phản xạ.
Nguồn
- Texas Instruments, Hướng dẫn thiết kế RS-485 (SLLA272)— kết cuối, thiên áp và chiều dài cáp.
- Texas Instruments, Tổng quan tiêu chuẩn RS-422 và RS-485 (SLLA070)— tiêu chuẩn và dải chế độ chung.
- Texas Instruments, Tổng quan bộ thu phát CAN 3.3 V (SLLA337)— lớp vật lý và các mức tín hiệu CAN.
- ISO 11898-2 cho lớp vật lý CAN tốc độ cao, và TIA/EIA-485-A cho RS-485.