5/5 - (1 bình chọn)

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 Can Db
Cấu Hình Can Db

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.

Cấu Hình Mạng Toàn Bộ
Cấu Hình Mạng Toàn Bộ

Để 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.

Cấu Trúc Network, Ecu1, Ecu2
Cấu Trúc Network, Ecu1, Ecu2

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

Loại Hình Truyền Thông
Loại Hình Truyền Thông

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).

Truyền Thông Dựa Trên Tín Hiệu Theo Thời Gian (signal Based Timing Communication)
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 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.

Quy Trình Thực Hiện Gửi Tín Hiệu (signal Transmission Execution Flow)
Quy Trình Thực Hiện Gửi Tín Hiệu (signal Transmission Execution Flow)

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

Truyền Thông Sự Kiện Dựa Trên Tín Hiệu (signal Based Event Communication)
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 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 Thực Hiện Gửi Tín Hiệu
Quy Trình Thực Hiện Gửi Tín Hiệu

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 Nhận Tín Hiệu
Quy Trình Thiết Lập Nhận Tín Hiệu

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.

Quy Trình Thiết Lập Gửi Tín Hiệu
Quy Trình Thiết Lập Gửi Tín Hiệu

Xem Thêm chuyên mục :

Autosar Classic

Autosar Adaptive

Autosar OS

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây