Đồ án: Nghiên cứu, Thiết kế và Chế tạo Mô hình Mạng CAN trên Ô tô

Tìm hiểu chi tiết đồ án nghiên cứu, thiết kế, chế tạo mô hình mạng CAN trên ô tô. Tài liệu hữu ích cho sinh viên và kỹ sư ngành công nghệ ô tô.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2019

116
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng Quan Về Mạng CAN Trên Ô Tô

Mạng CAN (Controller Area Network) là giao thức giao tiếp chính được sử dụng rộng rãi trong các hệ thống ô tô hiện đại. Mạng giao tiếp trên ô tô cho phép các hộp điều khiển như ECM, TCM, BCM, ABS trao đổi thông tin qua lại mà không cần phải tăng thêm số lượng dây dẫn. Hệ thống CAN giúp tối ưu hóa việc điều khiển, hạn chế dây dẫn và giảm độ phức tạp trong kết nối các thiết bị. Ngày nay, không chỉ ô tô con, mà xe tải, đầu kéo, máy công trình, máy bay và thậm chí xe máy đều sử dụng giao thức CAN. Việc sử dụng mạng CAN trên ô tô giúp hệ thống điện ổn định, an toàn, tiết kiệm năng lượng và nâng cao hiệu quả hoạt động của toàn bộ xe.

1.1. Lịch Sử Phát Triển Mạng CAN

Mạng CAN được phát triển từ những năm 1980 bởi Bosch để đáp ứng nhu cầu giao tiếp trong các hệ thống ô tô. Chuẩn giao thức CAN đã được công bố và trở thành tiêu chuẩn ISO 11898. Sự phát triển của mạng CAN đã cách mạng hóa cách các thiết bị trên ô tô giao tiếp với nhau, giảm chi phí sản xuất và nâng cao độ tin cậy của hệ thống.

1.2. Ứng Dụng Thực Tiễn Của CAN

Hệ thống CAN được ứng dụng trong các lĩnh vực quan trọng như điều khiển động cơ, hệ thống phanh ABS, điều khiển hộp số tự động, và quản lý năng lượng. Mạng CAN trên ô tô cho phép các vi điều khiển như STM32F103 và Arduino UNO R3 giao tiếp hiệu quả, đảm bảo an toàn và hiệu năng cao cho các phương tiện.

II. Thiết Kế Mô Hình Mạng CAN

Thiết kế mô hình mạng CAN đòi hỏi sự kết hợp giữa các thành phần phần cứng và phần mềm chuyên nghiệp. Cấu trúc bức điện CAN bao gồm các phần quan trọng như SOF (Start of Frame), Identifier, RTR bit, IDE bit, DLC, Data và CRC. Quá trình thiết kế CAN cần tuân theo chuẩn giao thức CAN để đảm bảo tương thích và an toàn. Việc sử dụng các công cụ thiết kế như CATIA V5 R26 giúp tạo ra mô hình ô tô chi tiết và chính xác. Mạng CAN cần được thiết kế với cơ chế phát hiện lỗi mạnh mẽ, bao gồm CRC (Cyclic Redundancy Check) và các cơ chế báo lỗi để đảm bảo độ tin cậy cao nhất.

2.1. Các Thành Phần Phần Cứng Chính

Vi điều khiển STM32F103C8T6 là bộ xử lý trung tâm trong mô hình CAN. Transceiver CAN (TJA1050, MCP2551, SN65HVD2301-2) đóng vai trò chuyển đổi tín hiệu giữa vi điều khiểnbus CAN. Module MCP2515 cung cấp interface CAN riêng biệt. Ngoài ra, Board ARDUINO UNO R3 được sử dụng để kiểm thử và phát triển các ứng dụng CAN.

2.2. Cấu Trúc Bức Điện CAN

Bức điện CAN bao gồm SOF (Start of Frame), Identifier định danh khung, RTR bit điều khiển loại khung, IDE bit chỉ định độ dài ID, DLC chỉ số độ dài dữ liệu và CRC kiểm tra lỗi. Cơ chế định thời bit đảm bảo đồng bộ giữa các nút. Phát hiện lỗi thông qua ACK (Acknowledge)EOF (End of Frame).

III. Chế Tạo Và Lắp Ráp Mô Hình CAN

Quá trình chế tạo mô hình mạng CAN bao gồm lắp ráp các linh kiện phần cứng, cài đặt phần mềm và kiểm thử toàn hệ thống. Mô hình CAN được xây dựng dựa trên các yêu cầu cho hệ thống bus về độ tin cậy, tốc độ truyền và khả năng sửa lỗi. Việc sử dụng Keil uVersion 5 cho ARM cho phép lập trình vi điều khiển STM32 một cách hiệu quả. Phương thức truy cập bus trong mạng CAN sử dụng CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) để tránh xung đột dữ liệu. Quá trình kiểm thử phải đảm bảo tất cả các nút CAN hoạt động đồng bộ và truyền tải dữ liệu chính xác.

3.1. Lắp Ráp Phần Cứng

Lắp ráp mô hình CAN bắt đầu bằng chuẩn bị các linh kiện: vi điều khiển STM32, transceiver, module MCP2515, và các thiết bị ngoại vi. Bộ dây CAN được kết nối theo sơ đồ mạch chuẩn để tránh nhiễu điện. Kiểm tra kỹ lưỡng tất cả kết nối các dây dẫn trước khi cấp điện để đảm bảo an toàn.

3.2. Lập Trình Và Kiểm Thử

Sử dụng Keil uVersion 5 để viết firmware cho vi điều khiển STM32. Giải thuật CAN được xây dựng để xử lý giao tiếp giữa các nút và quản lý buffer dữ liệu. Kiểm thử bằng cách gửi các khung dữ liệu CAN và xác minh tính chính xác của bộ lọctiêu chuẩn so sánh cho dữ liệu đến.

IV. Ứng Dụng ECU Và OBD II Trên CAN

ECU (Electronic Control Unit) là bộ điều khiển điện tử chính trên ô tô, giao tiếp qua mạng CAN để kiểm soát các hệ thống như động cơ, phanh và truyền động. OBD-II (On-Board Diagnostics) trên CAN cho phép chẩn đoán lỗi từ xa và theo dõi hiệu suất xe. Giao thức CAN cung cấp cơ chế giao tiếp đáng tin cậy giữa các ECU, đảm bảo truyền dữ liệu nhanh và chính xác. Các ứng dụng trong xe như hệ thống kiểm soát ổn định (ESP), hệ thống phanh tích hợp (IBS) và quản lý năng lượng đều dựa trên mạng CAN. Việc hiểu rõ cơ chế điều khiểnphương thức truyền dẫn tín hiệu giúp phát triển các ứng dụng CAN tiên tiến.

4.1. Chức Năng Của ECU Trên CAN

ECU nhận dữ liệu từ các cảm biến và gửi lệnh điều khiển qua mạng CAN. Vi điều khiển CAN trong ECU xử lý khung dữ liệu CAN và đưa ra quyết định điều khiển thích hợp. Cơ chế giao tiếp cho phép nhiều ECU hoạt động đồng thời mà không gây xung đột. Bảo toàn dữ liệu được đảm bảo thông qua các cơ chế mã hóa và kiểm tra lỗi.

4.2. Hệ Thống OBD II Trên CAN

OBD-II trên CAN cung cấp interface để đọc lỗi và dữ liệu hiệu suất từ các ECU. Bộ lọc dữ liệu CAN cho phép chọn lọc các khung dữ liệu quan trọng. Các yêu cầu cho hệ thống bus OBD-II bao gồm tốc độ truyền cao, độ chính xác cao và khả năng phát hiện lỗi nhanh chóng để hỗ trợ bảo dưỡng và sửa chữa ô tô.

21/12/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề Trong quá trình truyền thông do ảnh hưởng của nhiễu và chất lượng môi trường truyền dẫn mà thông tin được truyền tải cũng không tránh khỏi bị sai lệch. Vậy làm thế nào để hạn chế lỗi cũng như khi đã xảy ra lỗi thì phải có biện pháp khắc phục, có thể phân loại lỗi như sau: - Lỗi phát hiện được không sửa được. - Lỗi phát hiện được và sửa được. - Lỗi không phát hiện được.

7 Biện pháp thứ nhất là sử dụng các thiết bị phần cứng cao cấp và các biện pháp bọc lót đường truyền để giảm thiểu tác động của nhiễu. Song, đây chỉ là biện pháp hạn chế mà không loại trừ hoàn toàn khả năng bị lỗi. Mặt khác giá thành cao cũng cản trở trong việc thực hiện. Bảo toàn dữ liệu chính là phương pháp sử dụng xử lý giao thức để phát hiện và khắc phục lỗi, trong đó phát hiện lỗi đóng vai trò hàng đầu.

Khi đã phát hiện được lỗi, có thể có cách khôi phục dữ liệu, hay biện pháp đơn giản hơn là yêu cầu gửi lại dữ liệu. Các phương pháp bảo toàn dữ liệu thông dụng là: - Bit chẵn lẻ một chiều và hai chiều. Nguyên lý c bản Nhiệm vụ bảo toàn dữ liệu có thể xắp xếp thuộc lớp 2 (lớp liên kết dữ liệu) trong mô hình tham chiếu OSI. Trong quá trình mã hóa nguồn, bên gửi bổ xung một số thông tin kèm theo, được tính theo một thuật toán quy ước vào bức điện cần gửi đi.

Dựa vào thông tin bổ trợ này mà bên nhận có thể kiểm soát và phát hiện ra lỗi trong dữ liệu nhận được (giải mã). Bit chẵn lẻ Bit chẵn lẻ là một phương pháp kiểm tra lỗi đơn giản, được áp dụng rất rộng rãi. Nguyên tắc làm việc được mô tả như sau: Tùy theo tổng số các bit 1 trong thông tin nguồn là chẵn hay lẻ mà ta thêm vào một bít thông tin phụ trợ p = 0 hoặc p = 1, gọi là parity bit, hay bit chẵn lẻ. Trong trường hợp này, ta cũng gọi là prity bit một chiều.

Phương pháp này rất đơn giản và hiệu quả. Giá trị của bít chẵn lẻ p phụ thuộc vào cách chọn. - Nếu chọn parity chẵn, thì p = 0 khi tổng số bit 1 là chẵn. - Nếu chọn parity lẻ, thì p = 0 khi tổng số bit 1 là lẻ.

- Ví dụ dùng parity chẵn: Dãy bit nguyên bản: 1001101 Dãy bit gửi đi: 10011010 Giả sử chỉ một hoặc ba bit trong một bức điện gửi đi bị đảo, bên nhận sẽ so sánh và phát hiện được. Nhưng chỉ cần hai bit trong một bức điện bị lỗi, thì bên nhận sẽ không 8 phát hiện được nhờ bit chẵn lẻ. Nói cách khác số bit chắc chắn phát hiện được ở đây chỉ là 1. CRC Là phương pháp mã đa thức hoặc mã vòng.

Phương pháp này sử dụng trong hầu hết các hệ thống truyền thông. tưởng của phương pháp này là thông tin được kiểm lỗi được gọi là checksum, phải được tính bằng một thuật toán thích hợp, trong đó giá trị mỗi bit của thông tin nguồn được tham gia nhiều lần vào quá trình tính toán. Để tính toán thông tin kiểm lỗi đó, người ta dùng một đa thức phát G (Generator polynomial) có một dạng đặc biệt. Vì vậy phương pháp này còn được gọi là phương pháp dùng đa thức G được quy ước dưới dạng nhị phân, tức các hệ số của nó chỉ có giá trị 1 hoặc 0 tương ứng với các chữ số trong một dãy bit.

Ví dụ: Dạng đa thức: + + + )+ + )+1 Dạng nhị phân: G = {11100101} Dạng octal: G = {345} Nguyên t c c bản của phư ng pháp CRC Giả sử đa thức G có bậc n, ví dụ: , tương ứng với dãy bit (1011) dãy bit mang thông tin nguồn I được thêm vào n bit 0 coi như một đa thức nhị phân P. Ví dụ thông tin nguồn là (110101) thì sau khi thêm 3 bit 0, ta có dãy bit (110101000) tương ứng với đa thức P = + + +. Đa thức P được chia cho đa thức G dựa vào quy tắc đơn giản của phép trừ không có nhớ như sau: 1-1=0 0–0=0 1–0=1 0–1=1 Không cần quan tâm tới kêt quả của phép chia, phần dư R (lấy n chữ số) của phép chia được thay thế vào chỗ của n chứ không bổ xung trong P, tức là ta có D = P R. Theo tính chất của phép chia đa thức nhị phân, nếu D – R chia hế t cho G thì D = P R cũng vậy.

R được gọi là checksum và D chính là dãy bít được gửi đi thay cho I. Giả sử dãy bit nhận được là D’ không chia hết cho G thì tức là D khác D’, ta có thể khẳng định được rằ ng bức điện chắc chắ n bị lỗi. Ngược lại, nếu D’ chia hết cho G, thì 9 xác suất rất cao là bức điện nhận được không có lỗi. ác suất cao là vì mỗi bit trong thông tin nguồn tham gia nhiều vòng (cyclic) vào tính toán thông tin bổ trợ nên khả năng dữ liệu sai mà kết quả đúng là rất ít.

Ví dụ: Thông tin cần truyền I = 110101 Đa thức qui ước G = 1011 { tức : } Thêm 3 bit 0 vào thông tin nguồn I, ta có P = 110101000 Chia đa thức P: G theo kiểu nhị phân 110101000 1011 1011 111101 01100 1011 01111 1011 01000 1011 001100 1011 0111 Phần dư R Dãy bit được chuyển đi D = P R = 110101111 Giả sử dữ liệu được nhận là D’ = 110101111 Chia đa thức D’: G 110101111: 1011 = 111101 Phần dư 0000 -> Xác suất rất cao là không có lỗi Phương pháp CRC có vẻ phức tạp nhưng việc thực hiện nó là hết sức đơn giản. Phép chia đa thức nhị phân ở đây được thực hiện thuần túy bởi phép trừ không có nhớ hay chính là các phép logic OR. Bên cạnh đó chỉ cần các phép sao chép và so sánh bit thông thường. Nhồi bit Nhồi bít thường không được coi như một phương pháp bảo toàn dữ liệu độc lập, mà thường được sử dụng với mục đích chính là tạo một dãy bit thuận lợi cho việc đóng gói dữ liệu và mã hóa bit.

Các bức điện thường dùng một dãy bit đặc biệt làm cờ hiệu khởi 10 đầu và kết thúc. Do vậy, đòi hỏi trong phần còn lại không được phép xuất hiện mẫu bit này. Bên cạnh đó, trong quá trình mã hóa bit cũng chú ý phải triệt tiêu dòng một chiều bằng cách loại bỏ các chuỗi bit dài 1 liên tục. Vì vậy, người ta tìm cách nhồi thêm môt số bit vào dãy bit nguyên bản để tránh xuất hiện một chuỗi dài bit 1 liên tục cũng như tránh trùng lập với mẫu bit đặc biệt.

Hiệu ứng phụ của cách làm này chính là tạo điều kiện cho bên nhận dễ phát hiện lỗi hơn, ví dụ trong trường hợp mẫu bit đặc biệt xuất hiện trong phần nội dung của bức điện nhận được. Phương pháp nhồi bit được thực hiện theo nguyên tắc sau: - Bên gửi: nếu trong dữ liệu có n bit 1 đứng liền nhau thì thêm một bit 0 vào ngay sau đó. Như vậy trong dãy bit được chuyển đi không thể xuất hiện n 1 bit 1 đi liền nhau. - Bên nhận: nếu phát hiện thấy n bit 1 liền nhau mà tiếp theo là 0 thì được tách ra, còn nếu là bit 1 thì dữ liệu chắc chắn bị lỗi.

- Ví dụ với n = 5 như ở CAN - Thông tin nguồ n I = 0111111 - Thông tin gử i đi D = 01111101 - Nếu thông tin nhận được D’ = 01111101, bên nhận có thể coi xác xuất cao không có lỗi, thông tin nguồn I sẽ được phục hồi bằng cách bỏ đi bit 0 đứng sau 5 bit 1. - Nếu thông tin nhận được D’ = 011111101, thì thông tin nhận được bị lỗi. Trong thực tế, cả 3 phương pháp bit chẵn lẻ, CRC và nhồi bit đều có thể sử dụng phối hợp. Ví dụ một thông tin nguồn, sau khi đã áp dụng phương pháp CRC, có thể tính bit chẵn lẻ cho phần thông tin bổ xung (R).

Toàn bộ dãy bit nhận được có thể có thể lại đưa qua khâu nhồi bit hoặc bức điện có thể được truyền theo từng ký tự ART với kiểm tra chẵn lẻ cho từng ký tự, trước khi thực hiện mã hóa bit. Mã hóa bit Mã hóa bit là quá trình chuyển đổi dãy bit (1, 0) sang một tín hiệu thích hợp để có thể truyền dẫn trong môi trường vật lý. Việc chuyển đổi này chính là sử dụng một tham số thông tin thích hợp để mã hóa dãy bit cần truyền tải. Các tham số thông tin có thể được chứa đựng trong biên độ, tần số pha hoặc sườn xung… Sự thích hợp ở đây phải được đánh giá dựa theo các yêu cầu kỹ thuật như khả năng chống nhiễu cũng như gây nhiễu, khả năng đồng bộ hóa và triệt tiêu dòng một chiều.

NRZ, RZ NRZ (Non-Return to Zero) là phương pháp được sử dụng phổ biến nhất trong các hệ thống bus. Thực chất cả NRZ, RZ đều là phương pháp điều chế biên độ xung. 3 M h a bít N à Hình trên mô tả bit 0 và bit 1 được mã hóa với hai mức biên độ tín hiệu khác nhau, mức tín hiệu này không thay đổi trong suốt chu kỳ T (một nhịp bus). Tên NRZ được sử dụng bởi mức tín hiệu không quay trở về 0 sau mỗi nhịp.

Các khả năng thể hiện hai mức có thể là: - Đất và điện áp dương. - Điện áp âm và đất. - Điện áp âm và điện áp dương cùng giá trị (tín hiệu lưỡng cực). Một trong những ưu điểm của phương pháp NRZ là tín hiệu có tần số thường thấp hơn nhiều so với tần số nhịp bus.

Phương pháp này không thích hợp cho việc đồng bộ hóa, bởi một dãy bit 0 hoặc 1 liên tục không làm thay đổi mức tín hiệu. Tín hiệu không được triệt tiêu dòng một chiều, ngay cả khi sử dụng tín hiệu lưỡng cực, nên không có khả năng đồng tải nguồn. Phương pháp RZ (Return to Zero) cũng mã hóa bit 0 và 1 với hai mức tín hiệu khác nhau giống như ở NRZ. Tuy nhiên mức tín hiệu cao chỉ tồn tại trong nữa đầu của chu kỳ bit T, sau đó quay trở lại 0.

Tần số cao nhất của tín hiệu chính bằng tần số nhịp bus. Giống như NRZ, tín hiệu mã RZ không mang thông tin đồng bộ hóa, không có khả năng đồng tải nguồn.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ