CAN Bus có cấu tạo đơn giản, chỉ có 2 dây kết nối các module điều khiển với nhau dễ dàng hơn cách làm truyền thống, chi phí thấp, dễ lắp đặt và dễ sửa chữa, bảo trì khi có sự cố.
CAN Bus là một giao thức chung để nhiều nhà cung cấp khác nhau có thể phát triển các module điều khiển tương thích với nhau.
CAN Bus truyền thông điệp theo mức độ ưu tiên, đảm bảo hiệu quả cao theo thời gian thực. Mỗi thông điệp được truyền đều có một mức ưu tiên. Khi nhiều thông điệp được truyền ra từ một nút (Node) hay trạm (Station) trên mạng CAN cùng lúc thì thông điệp có mức ưu tiên cao nhất sẽ được truyền. Các thông điệp có mức ưu tiên thấp hơn sẽ tạm dừng và được truyền lại khi cổng CAN rảnh. Việc xác định mức ưu tiên dựa trên cấu trúc thông điệp và cơ chế phân xử quy định trong chuẩn CAN.
CAN Bus cho phép người dùng thiết lập các thông số kỹ thuật của thông điệp một cách linh hoạt: cấu hình thời gian bit, đồng bộ, độ dài dữ liệu truyền - nhận,…
CAN Bus cho phép nhận dữ liệu đa điểm với sự đồng bộ thời gian. Một thông điệp có thể được nhận bởi nhiều node khác nhau trên mạng cùng lúc. Tất cả các node trên mạng đều có thể thấy thông điệp đang truyền, tùy vào cấu hình ở mỗi node mà node sẽ quyết định có chấp nhận thông điệp này hay không.
CAN Bus cho phép nhiều bộ điều khiển (Multimaster) cùng kết nối đồng thời vào mạng và nhận thông điệp từ các bộ phận đầu vào (Slaver) như cảm biến tốc độ, cảm biến nhiệt độ,…
CAN Bus có khả năng phát hiện và báo hiệu lỗi. Mỗi thông điệp có kèm theo mã CRC (Cyclic Redundancy Code) để kiểm tra lỗi. Nếu lỗi xuất hiện, Node nhận sẽ bỏ qua thông điệp và truyền khung báo lỗi (Error frame) lên mạng CAN. Mỗi Node có thể tự xác định trạng thái lỗi và ngắt khỏi mạng nếu lỗi xuất hiện quá nhiều.
CAN Bus tự động truyền lại các thông điệp bị lỗi khi mạng rảnh giúp đảm bảo tính toàn vẹn dữ liệu trên mạng CAN. Một thông điệp được truyền ra mang nếu bị lỗi thì Node truyền thông điệp này sẽ giữ lại và tự động phát lại thông điệp này khi cổng CAN rảnh cho đến khi thành công.
Tốc độ bit của CAN có thể khác nhau trong các hệ thống khác nhau nhưng trong một hệ thống cho trước thì tốc độ bit đồng nhất và cố định. Tốc độ bit còn tùy thuộc vào chiều dài đường truyền. Tốc độ tối đa có thể lên đến 1 Mbit/s. Đảm bảo cho mức độ phản hồi nhanh chóng của mạng CAN trong phạm vi nhỏ.
Bus Length Bit rate Bit time
25 meters 1000 kbit/s 1 µs 50 meters 800 kbit/s 1.25 µs 100 meters 500 kbit/s 2 µs 250 meters 250 kbit/s 4 µs 500 meters 125 kbit/s 8 µs 1000 meters 50 kbit/s 20 µs 2500 meters 25 kbit/s 50 µs
Bảng 4.1. Liên hệ giữa tốc độ truyền dữ liệu và chiều dài mạng