Phần 6 – Thiết kế & triển khai mạng CAN ngoài thực tế

Sau khi đã hiểu rõ cấu trúc frame, timingcơ chế xử lý lỗi của CAN ở các phần trước, BKAII sẽ cùng các bạn bước vào giai đoạn quan trọng nhất: thiết kế và triển khai mạng CAN ngoài hiện trường.

Thực tế cho thấy, phần lớn sự cố CAN không xuất phát từ protocol, mà đến từ:

  • Chọn sai bitrate so với chiều dài cáp
  • Topology không đúng chuẩn bus
  • Termination thiếu hoặc đặt sai vị trí
  • Nhiễu điện từ và grounding không chuẩn

Phần 6 này được BKAII thiết kế như một checklist kỹ thuật CAN công nghiệp giúp các bạn thiết kế đúng ngay từ đầu và tránh những lỗi “kinh điển” ngoài hiện trường.


1. Chọn Bitrate – Đừng chạy nhanh hơn khả năng của dây

Bitrate trong CAN không thể chọn tùy ý. Nó phụ thuộc trực tiếp vào chiều dài cápchất lượng môi trường truyền.

BitrateChiều dài bus tối đa (tham khảo)Ứng dụng phổ biến
1 Mbps ~40 m CAN trong xe, máy compact
500 kbps ~100 m Máy công nghiệp, robot
250 kbps ~250 m Nhà máy, dây chuyền
125 kbps ~500 m Khu vực rộng, môi trường nhiễu

Nguyên tắc vàng:
👉 Nếu phân vân → giảm bitrate luôn an toàn hơn tăng bitrate. Thông tin chi tiết về Bitrate xin vui lòng xem tại đây


2. Topology – CAN chỉ chấp nhận Bus, không phải sao hay vòng

CAN được thiết kế cho topology dạng bus tuyến tính.

  • ❌ Không dùng topology hình sao (star)
  • ❌ Không dùng topology vòng (ring)
  • ✅ Một đường trục chính (trunk) + nhánh rẽ ngắn

Chiều dài nhánh (stub) phải được kiểm soát:

  • Bitrate cao → stub càng phải ngắn
  • Thông thường: < 30 cm với 500 kbps

Stub dài sẽ gây phản xạ tín hiệu, làm méo cạnh bit và sinh lỗi CRC.

Thông tin chi tiết về Topology của mạng CAN xin vui lòng xem tại đây


3. Termination – Điện trở 120Ω nhỏ nhưng hậu quả rất lớn

Mạng CAN bắt buộc phải có termination.

  • 02 điện trở 120Ω
  • Đặt tại hai đầu vật lý của bus
  • Không đặt ở node giữa

Nếu đo điện trở giữa CAN_H và CAN_L:

  • ~60Ω → đúng (2 × 120Ω song song)
  • ~120Ω → thiếu 1 termination
  • < 60Ω → dư termination

Rất nhiều lỗi CAN ngoài hiện trường chỉ do thiếu hoặc dư điện trở này.


4. Dây dẫn & chống nhiễu – Đừng coi thường lớp vật lý

Khuyến nghị cho dây CAN:

  • Cặp xoắn (twisted pair) cho CAN_H / CAN_L
  • Trở kháng đặc trưng ~120Ω
  • Có shield nếu môi trường nhiễu

CAN có khả năng chống nhiễu tốt nhờ truyền vi sai, nhưng không phải miễn nhiễu tuyệt đối.

Tránh đi dây CAN song song với:

  • Dây động lực AC
  • Dây biến tần
  • Dây motor công suất lớn

5. Grounding – Lỗi “vô hình” nhưng cực kỳ nguy hiểm trong mạng CAN

Nhiều người cho rằng CAN là truyền vi sai (CAN_H / CAN_L) nên không cần quan tâm đến dây mass (GND). Đây là một hiểu lầm rất phổ biến và cũng là nguyên nhân gây ra những lỗi CAN khó debug nhất ngoài hiện trường.

5.1 Vì sao CAN vẫn cần Ground reference?

Đúng là CAN sử dụng truyền vi sai, tức là dữ liệu được xác định dựa trên độ chênh điện áp giữa CAN_H và CAN_L, không phụ thuộc tuyệt đối vào điện áp so với mass.

Tuy nhiên: Các transceiver CAN trong mỗi node không hoạt động trong môi trường “trôi nổi”, mà luôn có:

  • Ngưỡng điện áp nội bộ
  • Giới hạn common-mode voltage
  • Tham chiếu về mass nội bộ của thiết bị

👉 Nếu mass giữa các node bị lệch quá lớn, điện áp CAN_H / CAN_L có thể vượt khỏi vùng cho phép của transceiver, dẫn đến lỗi.

5.2 Điều gì xảy ra khi chênh lệch mass quá lớn?

Trong thực tế công nghiệp, các thiết bị CAN thường:

  • Cấp nguồn từ nguồn khác nhau
  • Lắp đặt ở tủ điện, khu vực khác nhau
  • đường đất (PE) không đồng nhất

Khi đó, nếu không có đường GND tham chiếu giữa các node, có thể xảy ra:

  • Chênh lệch mass vài volt (thậm chí hàng chục volt)
  • Dòng bù chạy qua dây tín hiệu CAN
  • Nhiễu common-mode tăng mạnh

Hậu quả thường gặp:

  • ❌ Lỗi bit ngẫu nhiên, không lặp lại
  • ❌ CRC error xuất hiện thất thường
  • ❌ Node tự reset không rõ nguyên nhân
  • ❌ Bus-Off xảy ra dù topology và termination đúng

5.3 Kết nối GND đúng cách trong mạng CAN

Khuyến nghị thực tế:

  • Kết nối GND giữa các node (ít nhất 1 điểm tham chiếu chung)
  • ✔ Sử dụng dây GND song song với CAN_H / CAN_L trong cáp CAN
  • ✔ Đảm bảo chênh lệch mass < ±2V giữa các thiết bị

Lưu ý: GND trong CAN không mang dữ liệu, mà chỉ đóng vai trò reference điện áp để transceiver hoạt động ổn định.

5.4 Shield & grounding – nối một đầu hay hai đầu?

Với cáp CAN có shield chống nhiễu:

  • Nối shield về đất (PE) tại một đầu – thường là đầu tủ điều khiển
  • ✔ Tránh nối shield hai đầu nếu hệ thống có nhiều điểm mass khác nhau

Nếu nối shield hai đầu trong hệ thống có ground không đồng đều:

  • ❌ Dễ hình thành vòng lặp mass (ground loop)
  • ❌ Nhiễu 50Hz / 60Hz chạy trực tiếp trên shield
  • ❌ Gây nhiễu ngược vào CAN_H / CAN_L

Trong các hệ thống công nghiệp lớn, nên tuân theo:

  • Chuẩn grounding tổng thể của nhà máy
  • Khuyến cáo từ hãng thiết bị (Siemens, Bosch, PEAK, Moxa, ADFweb…)

5.5 Ví dụ thực tế ngoài hiện trường

Một hệ thống CAN hoạt động ổn định trong phòng lab, nhưng khi đưa ra nhà máy:

  • Bus-Off xuất hiện sau vài giờ chạy
  • Lỗi không lặp lại theo chu kỳ
  • Thay dây, termination vẫn không hết lỗi

Nguyên nhân thực tế:

  • Mỗi tủ điện dùng nguồn riêng
  • Không có dây GND nối giữa các node CAN
  • Chênh lệch mass đo được ~6–8V

Giải pháp:

  • Thêm dây GND tham chiếu giữa các node
  • Nối shield đúng chuẩn
  • Lỗi CAN biến mất hoàn toàn

👉 Đây là lý do grounding được gọi là “lỗi vô hình” – không thấy trên sơ đồ logic, nhưng ảnh hưởng trực tiếp đến độ ổn định của toàn mạng CAN.

6. Checklist triển khai CAN ngoài hiện trường

  • ✔ Bitrate phù hợp chiều dài bus
  • ✔ Topology bus tuyến tính
  • ✔ Đúng 2 termination 120Ω
  • ✔ Stub ngắn, có kiểm soát
  • ✔ Dây xoắn, có shield khi cần
  • ✔ Grounding và shield hợp lý

Tổng kết Phần 6

Một mạng CAN chạy ổn định không phải nhờ may mắn, mà nhờ thiết kế đúng ngay từ đầu.

CAN rất “bao dung” về mặt protocol, nhưng rất nghiêm khắc ở tầng vật lý.

Khi nắm vững các nguyên tắc thiết kế và triển khai trong phần này, bạn đã vượt qua được 80% nguyên nhân gây lỗi CAN ngoài hiện trường.


 
 

Số lượng người đang truy cập...

Không thể hiển thị dữ liệu người dùng trực tuyến vào lúc này.