Truyền thông AUTOSAR CAN
Cấu hình CAN DB
Trong ngành công nghiệp ô tô, thường sử dụng CANoe của Vector để cấu hình CAN DB. CAN DB được lưu trữ dưới định dạng tệp DBC (CAN Bus Databases), trong đó bao gồm toàn bộ cấu trúc mạng (Network) do OEM ô tô định nghĩa, cũng như các thông điệp truyền và nhận của mỗi nút.

Cấu hình mạng toàn bộ
Các bộ điều khiển trên CAN Bus gửi và nhận dữ liệu theo định dạng như sau.

Để làm được điều này, cấu trúc mạng của tệp DBC được cấu hình như sau:
• Cấu trúc Network, ECU1, ECU2, …
• Thông điệp và tín hiệu.

Loại hình truyền thông
Các bộ điều khiển thực hiện truyền thông dựa trên tín hiệu (Signal). Truyền thông có các loại sau đây tùy thuộc vào cổng được triển khai:
• Timing Communication: Sử dụng tác vụ định kỳ để gửi và nhận thông điệp theo chu kỳ.
• Event Communication: Gửi và nhận thông điệp khi cần thiết

Truyền thông dựa trên tín hiệu theo thời gian (Signal Based Timing Communication)
Quy trình thực hiện nhận tín hiệu (Phần về cách người dùng đọc tín hiệu)
1. Lưu tín hiệu đã nhận vào bộ đệm (Buffer) tương ứng của COM.
2. Thông qua việc gọi Notification, lưu dữ liệu vào bộ đệm Rte (Immediate / Deferred).
3. Thực thi Runnable theo chu kỳ đã định trong Timing Task.
4. ASW Runnable gọi RTE API để đọc tín hiệu tương ứng (Read).

Quy trình thực hiện gửi tín hiệu (Signal Transmission Execution Flow)
1. Timing Task thực thi Runnable một cách định kỳ.
2. Trong Runnable, sử dụng RTE API để ghi (Write) tín hiệu tương ứng.
3. Khi gửi tín hiệu, lưu tín hiệu đó vào COM tương ứng.
o COM BUFFER được cập nhật. Việc gửi tín hiệu thực tế phụ thuộc vào trạng thái truyền thông.

Truyền thông sự kiện dựa trên tín hiệu (Signal Based Event Communication)
Quy trình thực hiện nhận tín hiệu
1. Lưu tín hiệu đã nhận vào bộ đệm (Buffer) tương ứng của COM.
2. Thông qua việc gọi Notification, lưu dữ liệu vào bộ đệm RTE.
3. Thực hiện Event Task thông qua Data Received Event.
4. Trong Runnable tương ứng với Event Task, gọi RTE API để đọc (Read) tín hiệu tương ứng

Quy trình thực hiện gửi tín hiệu
1. Thực thi Runnable trong Event Task.
2. Trong Runnable, sử dụng RTE API để ghi (Write) tín hiệu tương ứng.
3. Khi gửi tín hiệu, lưu tín hiệu đó vào COM tương ứng.

Quy trình thiết lập nhận tín hiệu
1. Tạo R-Port trong SW-C và kết nối với System Signal cần nhận.
2. Tạo Runnable để thực hiện công việc nhận và tạo RTE Event để thực thi Runnable, sau đó kết nối với R-Port.
3. Tạo Task trong OS để thực hiện công việc nhận.
4. Trong RTE, kết nối RTE Event với Task.
5. Trong COM, chỉ định Notification Function được gọi khi nhận Signal.

Quy trình thiết lập gửi tín hiệu
1. Tạo P-Port trong SW-C và kết nối với System Signal cần gửi.
2. Tạo Runnable để thực hiện công việc gửi và tạo RTE Event để thực thi Runnable, sau đó kết nối với P-Port.
3. Tạo Task trong OS để thực hiện công việc gửi.
4. Trong RTE, kết nối RTE Event với Task.

Xem Thêm chuyên mục :





