Site icon TAPIT

Tổng quan về giap tiếp CAN và hướng dẫn sử dụng CAN trên vi điều khiển STM32 – P1

CAN là một chuẩn giao tiếp có dây được phát triển bởi công ty BOSCH. CAN được thiết kế để cho phép liên lạc hiệu quả và đơn giản giữa các bộ điều khiển điện tử (ECU – Electronic Control Unit – Node) trong một mạng phức tạp.

Bài viết này sẽ giới thiệu tổng quan, giải thích các cơ chế hoạt động cơ bản của giao tiếp CAN, đồng thời hướng dẫn sử dụng CAN trên vi điều khiển STM32.

Các ECU trong xe hơi 

Hình 1. Ví dụ về hệ thống điện tử trên xe hơi (Source: https://www.bestproto.net/news/category/newsletter/) 

Hình 2. Sự phức tạp của hệ thống điện tử trên xe hơi (Source: https://fr.scribd.com/doc/262438555/Automobile-ECU)

CAN – Đơn giản hóa sự phức tạp

Hình 3. Ví dụ về hệ thống CANBus trên xe hơi (Source: http://www.flexautomotive.net/EMCFLEXBLOG/post/2015/09/08/can-bus-for-controller-area-network) 

Cấu tạo của một CANbus – mạng lưới các thiết bị giao tiếp với nhau sử dụng giao thức CAN

Hình 4. Cấu tạo phần cứng một Node CAN

Cơ chế truyền nhận trên dây

Hình 5. Ví dụ về các Node trên hệ thống CAN 

Hình 6. Logic 0 và Logic 1 trên CANBus

Hình 7. Khả năng kháng nhiễu của giao tiếp CAN (Source:https://www.youtube.com/watch?v=JZSCzRT9TTo) 

Cơ chế truyền gói tin

Hình 8. Cấu trúc gói tin Standard CAN (Source: https://www.ti.com/lit/an/sloa101b/sloa101b.pdf) 

Hình 9. Cấu trúc gói tin Extended CAN

Cơ chế lọc của CANbus

Cơ chế tránh xung đột của CAN khi truyền

Hình 10. Mô tả quá trình phân xử xung đột trên CANbus

Phần tiếp theo sẽ cung cấp các hướng dẫn sử dụng CAN trên vi điều khiển STM32, thiết lập kết nối giữa 2 vi điều khiển STM32 bằng giao tiếp CAN thông qua module MCP2551 và sử dụng UART để thể hiện dữ liệu lên màn hình máy tính.

Chúc các bạn thành công!
Nhóm tác giả : Trần Đình Hoàng Long, Lê Hữu Bảo Thuận

Hướng dẫn : Nguyễn Huỳnh Nhật Thương