
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
KHOA CƠ KHÍ GIAO THÔNG
----------
HỆ THỐNG NHÚNG
BÁO CÁO BTVN LẦN 1:
MÔ PHỎNG QUÁ TRÌNH TRUYỀN ĐỘNG QUA
MẠNG CAN GIỮA HAI ECU TRONG HỆ THỐNG
ĐIỀU KHIỂN ĐỘNG CƠ TRÊN SIMULINK
GVHD : THS. THÁI THỊ NGỌC HẰNG
SVTH : BÙI TẤN HÙNG - 103200015
LỚP : 20C4A
Đà Nẵng, 09/2024

I) Yêu cầu của bài tập:
1. Thiết kế mô hình Simulink mô phỏng quá trình truyền thông giữa hai ECU sử
dụng mạng CAN.
2. Thu thập, truyền, và xử lý các tín hiệu liên quan đến điều khiển động cơ, cụ thể
là:
a. Tốc độ động cơ (RPM).
b. Góc bàn đạp ga (throttle position).
c. Nhiệt độ động cơ.
3. Cấu hình các thông số truyền thông CAN, đảm bảo truyền nhận dữ liệu đúng và
chính xác.
II) Yêu cầu báo cáo:
1. Mô tả hệ thống: Giải thích sơ đồ mô phỏng, vai trò của từng khối trong
Simulink.
2. Phân tích kết quả mô phỏng: Đưa ra nhận xét về kết quả mô phỏng, đánh giá độ
ổn định và chính xác của dữ liệu truyền thông qua CAN.
Thông số mô phỏng:
1. Tốc độ truyền dữ liệu CAN (Baud rate): 500 kbps.
2. Tốc độ động cơ ban đầu: 1000 RPM.
3. Góc bàn đạp ga ban đầu: 20%.
4. Nhiệt độ động cơ ban đầu: 90°C.
Các ID CAN sử dụng:
1. ID 101: Tốc độ động cơ (Engine Speed).
2. ID 102: Góc bàn đạp ga (Throttle Position).
3. ID 103: Nhiệt độ động cơ (Engine Temperature).
Cấu hình CAN trên Simulink:

1. CAN Transmit Block: Cấu hình trên ECU 1 để gửi các tín hiệu với đúng ID và
tốc độ truyền.
2. : Cấu hình trên ECU 2 để nhận tín hiệu và xử lý các giá trị đầu vào
III) Mô tả quá trình mô phỏng:
1. Mô tả hệ thống mô phỏng trên Simulink:
Hình 1- Mô hình simulink mô phỏng quá trình truyền thông giữa hai ECU sử
dụng mạng CAN.
Quá trình hoạt động:
- Constant →Byte Pack→ Subsystem (chứa CAN Pack và function) →
Bus Creator → CAN Transmit: Đóng gói các tín hiệu đầu vào và gửi
chúng qua mạng CAN.
- CAN Receive → Function-Call Subsystem (gồm CAN Unpack)
→Byte Unpack→ Scope/Display: Nhận các tín hiệu từ mạng CAN, giải
nén chúng và hiển thị kết quả.
Cụ thể:
• Constant →Byte Pack: Giá trị từ khối Constant sẽ được sử dụng
làm đầu vào cho khối Byte Pack. Sau đó, khối Byte Pack sẽ đóng

gói các giá trị này lại để chuẩn bị cho việc truyền tải hoặc xử lý
tiếp theo.
• Byte Pack→ Subsystem (chứa CAN Pack và function): Dữ liệu
đã được đóng gói sau đó được truyền vào Subsystem, nơi
mà CAN Pack sẽ xử lý dữ liệu để chuẩn bị cho việc truyền qua
mạng CAN.
• Subsystem (chứa 3 khối CAN Pack) → Bus Creator: Bus
Creator sẽ kết hợp các tín hiệu này thành một bus dữ liệu, sẵn
sàng cho việc truyền tải qua mạng CAN.
• Bus Creator → CAN Transmit: Bus dữ liệu này được đưa vào
CAN Transmit. CAN Transmit sẽ gửi bus dữ liệu qua mạng CAN
tới các nút khác.
• CAN Receive → Function-Call Subsystem (chứa 3 khối CAN
Unpack): CAN Receive nhận dữ liệu từ mạng CAN và chuyển đổi
nó thành định dạng phù hợp. Dữ liệu đã nhận được sẽ được đưa
vào Function-Call Subsystem. Bên trong Function-Call
Subsystem, các khối CAN Unpack sẽ giải nén dữ liệu và phân
phối các tín hiệu riêng lẻ cho các khối hoặc chức năng tiếp theo.
• Function-Call Subsystem (chứa 3 khối CAN Unpack) →Byte
Unpack: Các tín hiệu đã được giải nén từ CAN Unpack được gửi
tới khối Byte Unpack. Byte Unpack sẽ tiếp tục xử lý các tín hiệu
này, phân tách chúng thành các byte riêng lẻ.
• Byte Unpack→ Scope/Display: Các byte này được gửi tới khối
Scope/Display. Scope/Display hiển thị dữ liệu theo cách trực quan.
2. Giải thích các khối:

Vào môi trường Simulink trên phần matlab chọn blank model để tạo khung và
lấy các khối rồi tiến hành lắp như Hình 1.
Các khối được sử dụng trong sơ đồ đã được thiết lập:
- 3 khối constant: sử dụng để tạo ra các giá trị hằng số đại diện cho tín
hiệu đầu vào.
Hình 2- Các khối constant đã được thiết lập thông số.
- 3 khối Byte Pack: Đóng gói các tín hiệu với các định dạng dữ liệu khác
nhau (như số nguyên, số thực) thành một mảng byte (chuỗi byte). Mảng byte
này sau đó sẽ được truyền qua mạng CAN.