Bus CAN (Mạng khu vực điều khiển) là giao thức truyền thông nối tiếp được sử dụng rộng rãi, đặc biệt phù hợp với lĩnh vực tự động hóa ô tô và công nghiệp. Các loại thông báo trên bus CAN có thể được phân loại rộng rãi như sau, mỗi loại có mục đích và định dạng cụ thể.
I. Khung dữ liệu
Khung dữ liệu là loại thông báo cơ bản nhất trên bus CAN và được sử dụng để truyền dữ liệu giữa các nút. Khung dữ liệu bao gồm nhiều phân đoạn, bao gồm Bắt đầu khung, Trường trọng tài, Trường điều khiển, Trường dữ liệu, Trường CRC, Trường ACK và Kết thúc khung.
1. Bắt đầu khung (SOF)
- Định nghĩa: Một phân đoạn biểu thị sự bắt đầu của khung dữ liệu, bao gồm một bit hoạt động duy nhất (logic 0).
- Chức năng: Khi bus không hoạt động, nút truyền sẽ gửi Bắt đầu khung; các nút nhận khác đồng bộ hóa với bit Bắt đầu khung này.
2. Lĩnh vực trọng tài
- Định nghĩa: Một phân đoạn cho biết mức độ ưu tiên của khung. Tùy thuộc vào độ dài của mã ID trường trọng tài, các khung được phân loại thành khung tiêu chuẩn (CAN 2.0A) và khung mở rộng (CAN 2.0B).
- Nội dung: Trường trọng tài của khung định dạng{0}}chuẩn bao gồm mã định danh (ID) 11-bit và bit yêu cầu truyền từ xa (RTR); trường trọng tài của khung định dạng mở rộng bao gồm mã định danh 29 bit và bit RTR.
- Chức năng: Được sử dụng để xác định loại khung được truyền (khung dữ liệu hoặc khung điều khiển từ xa) và định dạng khung (khung tiêu chuẩn hoặc khung mở rộng), cũng như để thiết lập mức độ ưu tiên của khung.
3. Trường điều khiển
- Định nghĩa: Một trường xác định số byte trong dữ liệu và các bit dự trữ.
- Nội dung: Bao gồm Mã độ dài dữ liệu (DLC) và hai bit dành riêng (r0, r1). DLC cho biết số byte trong trường dữ liệu, có thể nằm trong khoảng từ 0 đến 8 byte.
- Chức năng: Thông báo cho nút nhận về độ dài của trường dữ liệu để dữ liệu có thể được nhận chính xác.
4. Trường dữ liệu
- Định nghĩa: Nội dung của dữ liệu; 0 đến 8 byte dữ liệu có thể được truyền đi.
- Mục đích: Để truyền tải thông tin dữ liệu thực tế.
5. Trường CRC (Trường kiểm tra dự phòng theo chu kỳ)
- Định nghĩa: Một trường được sử dụng để kiểm tra lỗi truyền trong khung, bao gồm chuỗi CRC và dấu phân cách CRC.
- Chức năng: Đảm bảo tính toàn vẹn và chính xác của dữ liệu thông qua xác minh CRC.
6. Trường ACK (Trường xác nhận)
- Định nghĩa: Một phân đoạn chỉ ra sự xác nhận việc tiếp nhận thành công, bao gồm một khe ACK và một dấu phân cách ACK.
- Chức năng: Khi người nhận nhận được một tin nhắn hợp lệ một cách chính xác, nó sẽ gửi một bit dương đến bộ phát trong khe ACK để xác nhận đã nhận.
7. Kết thúc khung (EOF)
- Định nghĩa: Một đoạn biểu thị phần cuối của khung dữ liệu, bao gồm 7 bit âm.
- Chức năng: Báo hiệu kết thúc khung dữ liệu.
II. Khung từ xa
Khung từ xa được sử dụng để yêu cầu truyền khung dữ liệu có cùng ID. Khi nút nhận cần dữ liệu nhất định nhưng không có, nó sẽ gửi một khung từ xa để yêu cầu nút truyền gửi khung dữ liệu tương ứng. Cấu trúc của khung từ xa tương tự như khung dữ liệu, nhưng phân đoạn dữ liệu trống và bit RTR được đặt thành 1.
III. Khung lỗi
Khung lỗi bao gồm hai trường: cờ lỗi và dấu phân cách lỗi. Khi nút nhận phát hiện lỗi trong thông báo trên bus, nó sẽ tự động truyền "cờ lỗi hoạt động"; các nút khác, khi phát hiện cờ lỗi đang hoạt động, sẽ gửi "cờ xác nhận lỗi". Việc truyền khung lỗi sẽ làm gián đoạn giao tiếp bus hiện tại cho đến khi lỗi được giải quyết.
IV. Khung quá tải
Khung quá tải bao gồm cờ quá tải và dấu phân cách quá tải. Khung quá tải được truyền đi khi nút nhận yêu cầu quá nhiều thời gian để xử lý dữ liệu hiện tại trước khi nhận khung tiếp theo hoặc khi phát hiện thấy mức vượt trội trong trường không gian giữa các khung. Việc truyền khung quá tải sẽ trì hoãn việc truyền các khung tiếp theo để đảm bảo rằng việc liên lạc trên xe buýt không bị gián đoạn do quá tải.
V. Các loại tin nhắn khác
Ngoài bốn loại thông báo cơ bản được đề cập ở trên, giao thức CAN bus còn xác định một số loại thông báo đặc biệt khác, chẳng hạn như các loại thông báo Không gian liên khung và N_PCI (ví dụ: khung đơn, khung bắt đầu, khung liên tục, khung điều khiển luồng, v.v.). Các loại tin nhắn này được sử dụng trong các tình huống giao tiếp cụ thể để đáp ứng các yêu cầu giao tiếp khác nhau.
Bản tóm tắt
Các loại thông báo trên bus CAN bao gồm các loại cơ bản như khung dữ liệu, khung điều khiển từ xa, khung lỗi và khung quá tải, cũng như các loại đặc biệt như loại thông báo Interframe Space và N_PCI. Mỗi loại thông báo có cấu trúc và mục đích cụ thể, cùng nhau tạo thành nền tảng của giao tiếp CAN bus. Trong các ứng dụng thực tế, việc chọn loại bản tin thích hợp để truyền dữ liệu dựa trên các yêu cầu liên lạc cụ thể sẽ đảm bảo liên lạc hiệu quả và đáng tin cậy.




