BỘ CÔNG THƯƠNG TRƯỜNGĐẠIHỌCCÔNGNGHIỆPHÀNỘI CỘNGHOÀXÃHỘICHỦNGHĨAVIỆTNAM Độc lập - Tự do - Hạnh phúc PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Vũ Ngọc Anh Mã SV: 2018600424
Trang 1-
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ KỸ THUẬT Ô TÔ
NGHIÊN CỨU HỆ THỐNG MẠNG TRUYỀN THÔNG CAN-MPX TRÊN XE TOYOTA VIOS 2010 VÀ ỨNG DỤNG
VI ĐIỀU KHIỂN MÔ PHỎNG TRUYỀN TÍN HIỆU MẠNG
CAN TRÊN PHẦN MỀM PROTEUS
Hà Nội – Năm 2022
Trang 2BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
-
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ KỸ THUẬT Ô TÔ
NGHIÊN CỨU HỆ THỐNG MẠNG TRUYỀN THÔNG CAN-MPX TRÊN XE TOYOTA VIOS 2010 VÀ ỨNG DỤNG
VI ĐIỀU KHIỂN MÔ PHỎNG TRUYỀN TÍN HIỆU MẠNG
CAN TRÊN PHẦN MỀM PROTEUS
CBHD: TS Nguyễn Anh Ngọc
Sinh viên: Vũ Ngọc Anh
Mã số sinh viên: 2018600424
Hà Nội – 2022
Trang 3BỘ CÔNG THƯƠNG
TRƯỜNGĐẠIHỌCCÔNGNGHIỆPHÀNỘI
CỘNGHOÀXÃHỘICHỦNGHĨAVIỆTNAM
Độc lập - Tự do - Hạnh phúc PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Vũ Ngọc Anh Mã SV: 2018600424 Lớp: 2018DHKTOT01 Ngành CNKTÔTÔ Khóa: K13
Tên đề tài: Nghiên cứu hệ thống mạng truyền thông CAN-MPX trên xe
Toyota Vios 2010 và ứng dụng vi điều khiển mô phỏng truyền tín hiệu mạng CAN trên phần mềm Proteus
Mục tiêu đề tài:
Giúp sinh viên hiểu rõ cấu tạo, nguyên lý làm việc của hệ thống mạng truyền thông CAN-MPX, mô phỏng truyền tín hiệu trên mạng CAN bằng Proteus thông qua module CAN MCP 2515, khảo sát đánh giá sai hỏng, nguyên nhân,
biện pháp khắc phục sửa chữa hệ thống
Kết quả dự kiến
1 Phần thuyết minh:
- Chương 1: Tổng quan về hệ thống mạng truyền thông CAN-MPX
- Chương 2: Tìm hiểu cấu tạo, nguyên lý làm việc của hệ thống kết nối thông tin điều khiển CAN-MPX trên xe Vios 2010, mô phỏng truyền tín hiệu trên mạng CAN bằng Proteus thông qua module CAN MCP 2515
- Chương 3: Những sai hỏng thường gặp, nguyên nhân, các biện pháp khắc phục sửa chữa đối với hệ thống CAN-MPX
2 Bản vẽ:
- 01 bản vẽ: Sơ đồ mạch mạng CAN-MPX trên xe Toyota Vios 2010
- 01 bản vẽ: Mạch mô phỏng truyền tín hiệu giữa 2 node trên mạng CAN
- 01 bản vẽ: Quy trình kiểm tra hở mạch trên đường CAN chính
Thời gian thực hiện: từ 21/03/2022 đến 22/05/2022
Trang 4NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Hà Nội, Ngày Tháng Năm 2022
Trang 5NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Hà Nội, Ngày Tháng Năm 2022
Trang 6MỤC LỤC MỤC LỤC I DANH MỤC HÌNH ẢNH, BẢNG BIỂU II LỜI NÓI ĐẦU III
Chương 1: Tổng quan về hệ thống mạng truyền thông CAN-MPX 1
1.1 Các giao thức mạng (protocol) 1
1.2 Mô hình OSI 2
1.3 Giới thiệu về mạng CAN 5
1.4 Cấu trúc mạng CAN 6
Chương 2: Tìm hiểu cấu tạo, nguyên lý làm việc của hệ thống kết nối thông tin điều khiển CAN-MPX trên xe Vios 2010, mô phỏng truyền tín hiệu trên mạng CAN bằng Proteus thông qua module CAN MCP 2515 12
2.1 Giao thức CAN trên xe Vios 2010 12
2.2 Cấu tạo khung tin nhắn trên đường truyền CAN xe Vios 2010 (Data frame) 18
2.3 Phần cứng 20
2.4 Nguyên lý truyền và nhận tin trên xe Toyota Vios 2010 21
2.5 Vị trí các ECU chính trên xe Vios 2010 23
2.6 Mô phỏng truyền tín hiệu trên mạng CAN bằng Proteus thông qua module CAN MCP 2515 25
Chương 3: Những sai hỏng thường gặp, nguyên nhân, các biện pháp khắc phục sửa chữa đối với hệ thống CAN-MPX 31
3.1 Hở mạch trên đường truyền chính hệ thống CAN 31
3.2 Ngắn mạch trong dây đường truyền CAN 35
3.3 Ngắn mạch với GND trong đường truyền CAN 37
Trang 7Kết luận 42 Tài liệu tham khảo 43 Phụ lục 44
Trang 8DANH MỤC HÌNH ẢNH, BẢNG BIỂU
Hình 1.1 Cấu trúc mô hình OSI 2
Hình 1.2 Chức năng các tầng trong mô hình OSI 4
Hình 1.3 Cấu trúc một mạng CAN 7
Hình 1.4 Một nút trong hệ thống CAN 7
Hình 1.5 Phương pháp mã hóa Non-return-to-zero 8
Hình 1.6 Truyền tín hiệu vi sai và tính chất chống nhiễu trên đường truyền 8
Hình 1.7 Mức điện áp trên đường truyền CAN tốc độ cao 10
Hình 1.8 Mức điện áp trên đường truyền CAN tốc độ thấp 10
Hình 1.9 Cấu trúc mạng CAN trên Vios 2010 11
Hình 2.1 Nguyên lí nhận tin dựa vào ID tin nhắn ở CAN 13
Hình 2.2 Phân giải trên đường truyền CAN 15
Hình 2.3 Khung yêu cầu truyền (Remote frame) 15
Hình 2.4 Khung báo lỗi (Error frame) 16
Hình 2.5 Hai dạng khung dữ liệu trong CAN (Data frame) 20
Hình 2.6 Truyền và nhận tín hiệu 22
Hình 2.7 Vị trí các ECU chính trên xe Vios 2010 23
Hình 2.8 Vị trí các ECU chính trên xe Vios 2010 23
Hình 2.9 Sơ đồ mạch điện cụ thể giắc đấu dây CAN trên Vios 2010 24
Hình 2.10 Giao diện Proteus 26
Hình 2.11 Module CAN MCP2515 26
Hình 2.12 Arduino Uno 27
Hình 2.13 Màn hình LCD 16x2 28
Hình 2.14 Module I2C Arduino 28
Hình 2.15 Mạch mô phỏng 29
Hình 2.16 Kết quả mô phỏng 30
Hình 3.1 Sơ đồ đường truyền chính hệ thống CAN 31
Hình 3.2 Giắc DCL trên xe Toyota 32
Hình 3.3 Phía trước giắc DLC3 33
Trang 9Hình 3.4 Phía sau giắc nối dây điện: (đến giắc đấu dây P-CAN) 33
Hình 3.5 Phía trước của giắc nối dây điện (đến ECU trợ lực lái) 34
Hình 3.6 Phía trước của giắc nối dây điện (đến ECM) 34
Hình 3.7 Phía sau của giắc nối dây điện (đến giắc đấu dây D-CAN) 34
Hình 3.8 Phía sau của giắc nối dây điện ( đến giắc đấu dây D-CAN) 35
Hình 3.9 Phía sau giắc nối dây điện (đến giắc đấu dây P-CAN) 35
Bảng 1.1 42 giao thức mạng phổ biến 2
Bảng 1.2 Các tầng trong giao thức OSI 3
Bảng 1.3 Xử lý dữ liệu máy gửi 3
Bảng 1.4 Xử lý dữ liệu từ máy nhận 4
Bảng 2.1 Sơ đồ chân của MCP2515 27
Bảng 2.2 Giao tiếp giữa Arduino với module CAN 28
Bảng 3.1 Đo giắc DCL3 33
Bảng 3.2 Kiểm tra dây chính phía giắc P-CAN 33
Bảng 3.3 Kiểm tra dây chính phía ECU trợ lực lái 33
Bảng 3.4 Kiểm tra dây chính phía giắc nối ECM 34
Bảng 3.5 Kiểm tra dây chính phía giắc nối D-CAN 34
Bảng 3.6 Kiểm tra dây chính phía từ D-CAN tới P-CAN 35
Bảng 3.7 Kiểm tra dây chính phía ECU trợ lực lái điện 35
Bảng 3.8 Kiểm tra dây nhánh DCL3 36
Bảng 3.9 Kiểm tra dây chính phía P-CAN 36
Bảng 3.10 Kiểm tra phía P-CAN – ECU trợ lực lái 36
Bảng 3.11 Kiểm tra phía D-CAN – Giắc đấu dây P-CAN 36
Bảng 3.12 Kiểm tra giắc đấu dây D-CAN - ECM 37
Bảng 3.13 Kiểm tra dây chính ECU trợ lực lái 37
Bảng 3.14 Kiểm tra dây chính ECM 37
Bảng 3.15 Kiểm tra dây nhánh DCL3 37
Bảng 3.16 Kiểm tra phía giắc đấu dây P-CAN 38
Trang 10Bảng 3.17 Kiểm tra phía dây P-CAN – ECU trợ lực lái 38
Bảng 3.18 Kiểm tra phía P-CAN – ECU thân xe chính 38
Bảng 3.19 Kiểm tra phía P-CAN – ECU đồng hồ táp lô 38
Bảng 3.20 Kiểm tra phía dây P-CAN - ECM 39
Bảng 3.21 Kiểm tra phía D-CAN – Cụm cảm biến túi khí trung tâm 39
Bảng 3.22 Kiểm tra dây chính ECU trợ lực lái 39
Bảng 3.23 Kiểm tra dây nhánh ECU thân xe chính 40
Bảng 3.24 Kiểm tra dây nhánh ECU đồng hồ táp lô 40
Bảng 3.25 Kiểm tra dây chính ECM 40
Bảng 3.26 Kiểm tra dây nhánh ECU điều khiển trượt 40
Bảng 3.27 Kiểm tra dây nhánh phía cảm biến túi khí 41
Trang 11LỜI NÓI ĐẦU
Ngành công nghiệp ô tô hiện nay đóng vai trò quan trọng trong sự phát triển của một đất nước Nó ra đời nhằm mục đích phục vụ nhu cầu vận chuyển hàng hóa và hành khách, phát triển kinh tế xã hội đất nước Từ lúc ra đời cho đến nay ô tô đã được sử dụng trong rất nhiều lĩnh vực như giao thông vận tải, quốc phòng an ninh, nông nghiệp, công nghiệp, du lịch Đất nước ta hiện nay đang trong quá trình công nghiệp hóa, hiện đại hóa, các ngành công nghiệp nặng luôn từng bước phát triển Trong đó, ngành công nghiệp ô tô luôn được chú trọng và trở thành một mũi nhọn của nền kinh tế và tỷ lệ nội địa hóa cũng ngày càng cao Xu hướng công nghệ gần đây trong ngành công nghiệp ô tô là mang sự an toàn hơn và thoải mái lên một chiếc xe bằng cách kết hợp các kỹ thuật tự động như tránh va chạm, bung túi khí và các thiết bị thông tin giải trí Trong quá trình làm nên một chiếc xe tự động thì xuất hiện ngày càng nhiều việc sử dụng các đơn vị điều khiển điện tử (ECU) Do đó, cần có một hệ thống truyền thông đặc biệt làm nhiệm vụ thông tin liên lạc giữa các ECU trong một chiếc xe Và một trong những nghiên cứu nhằm đáp ứng những yêu cầu trên đó
là nghiên cứu về hệ thống mạng truyền thông trên xe ô tô Vì vậy em chọn đồ
án: “ Nghiên cứu hệ thống mạng truyền thông CAN-MPX trên xe Toyota Vios 2010 và ứng dụng vi điều khiển mô phỏng truyền tín hiệu trên mạng CAN”
Trong thời gian làm đồ án này em đã tổng hợp và khái quát lại những kiến thức đã học, và từ kiến thức cơ sở chuyên nghành, tự rút ra nhận xét và kinh nghiệm cho bản thân trước khi vào công việc thực tế Trong phạm vi đồ
án này, em đã tìm hiểu một cách tổng quát về hệ thống mạng CAN, cấu trúc mạng, các giao thức CAN, nguyên lí làm việc và các hư hỏng thường gặp và cách sửa chữa hệ thống mạng CAN trên xe Vios 2010 Đề tài bao gồm những nội dung chính sau:
Chương 1: Tổng quan về hệ thống mạng truyền thông CAN-MPX
Trang 12Chương 2: Tìm hiểu cấu tạo, nguyên lý làm việc của hệ thống kết nối thông tin điều khiển CAN-MPX trên xe Vios 2010, mô phỏng truyền tín hiệu trên mạng CAN bằng Proteus thông qua module CAN MCP 2515
Chương 3: Những sai hỏng thường gặp, nguyên nhân, các biện pháp khắc phục sửa chữa đối với hệ thống CAN-MPX
Sau một thời gian tìm tòi nghiên cứu thực hiện đồ án chúng em đã hoàn thành Nhưng do sự hạn chế về thời gian và trình độ chuyên môn nên đồ
án không tránh khỏi những thiếu sót, kính mong nhà trường cùng các thầy cô
và các bạn góp ý để đồ án được hoàn thiện hơn
Cuối cùng em xin chân thành cảm ơn nhà trường, các thầy cô trong
Khoa Công nghệ Kỹ thuật Ô tô và thầy giáo Nguyễn Anh Ngọc đã chỉ bảo
hướng dẫn tận tình, tạo mọi điều kiện giúp đỡ em trong suốt quá trình học tập tại trường và giúp em hoàn thành đồ án này!
Hà Nội, ngày tháng năm 2022
Sinh viên thực hiện
Vũ Ngọc Anh
Trang 13Chương 1: Tổng quan về hệ thống mạng truyền thông
CAN-MPX 1.1 Các giao thức mạng (protocol)
Giao thức mạng là một tập hợp các quy tắc mà mạng phải tuân theo Giao thức mạng là những tiêu chuẩn và chính sách chính thức được tạo thành
từ các quy tắc, quy trình và định dạng xác định giao tiếp giữa hai hoặc nhiều thiết bị qua mạng Các giao thức mạng thực hiện những hành động, chính sách
và giải quyết vấn đề từ đầu đến cuối, để quá trình giao tiếp mạng hoặc dữ liệu diễn ra kịp thời, được bảo mật và quản lý Giao thức mạng xác định các quy tắc
và quy ước giao tiếp
Giao thức mạng kết hợp tất cả những yêu cầu tiến trình và có những ràng buộc khi các máy tính, router, máy chủ và các thiết bị hỗ trợ mạng khác bắt đầu thực hiện giao tiếp Các giao thức mạng phải được xác nhận và cài đặt bởi người gửi và người nhận để đảm bảo quá trình giao tiếp dữ liệu/mạng diễn
ra suôn sẻ Giao thức mạng cũng áp dụng các node phần mềm và phần cứng giao tiếp trên mạng Có 42 giao thức mạng phổ biến thường gặp:
#1 Serial
Port
#8
MODBUS RTU
#15 KNX (Konnex)
#16 Bus
M-Bus
#17
EtherCAT
#24 Bộ chuyển đổi
#33
OPC
#40
GSM/GPRS
Trang 14CC-#28 IP (Internet Protocol)
1.2 Mô hình OSI
Hình 1.1 Cấu trúc mô hình OSI
Mô hình kết nối các hệ thống mở OSI (Open Systems Interconnection)
là mô hình căn bản về các tiến trình truyền thông, thiết lập các tiêu chuẩn kiến trúc mạng ở mức Quốc tế, là cơ sở chung để các hệ thống khác nhau có thể liên kết và truyền thông được với nhau Mô hình OSI tổ chức các giao thức truyền thông thành 7 tầng, mỗi một tầng giải quyết một phần hẹp của tiến trình truyền thông, chia tiến trình truyền thông thành nhiều tầng và trong mỗi tầng có thể có nhiều giao thức khác nhau thực hiện các nhu cầu truyền thông cụ thể [1]
1.2.1 Các chức năng trong giao thức OSI
Trang 15Giao thức biến đổi mã
5 – Session – Tầng
Phiên
Quản lý các cuộc liên lạc giữa các thực thể bằng cách thiết lập, duy trì, đồng bộ hóa và hủy
bỏ các phiên truyền thông giữa các ứng dụng
Giao diện DTE - DCE
Bảng 1.2 Các tầng trong giao thức OSI
1.2.2 Xử lý dữ liệu từ máy gửi
Tầng 1 Chuỗi thành các chuỗi bit nhị phân
Bảng 1.3 Xử lý dữ liệu máy gửi
1.2.3 Xử lý dữ liệu từ máy nhận
Tầng 1 Nhận chuỗi nhị phân vào vùng đệm
Trang 16Tầng 2 Kiểm tra các frame lỗi, khi phát hiện frame lỗi sẽ hủy bỏ frame
đó, kiểm tra địa chỉ data link có khớp địa chỉ máy nhận hay không
Tầng 3 Kiểm tra IP, đúng thì gỡ dữ liệu
Trang 171.3 Giới thiệu về mạng CAN
CAN viết tắt của Controller Area Network, tạm dịch là "mạng khu vực điều khiển", hay gọi đơn giản Mạng CAN, là một công nghệ mạng ghép nối tiếp khởi nguồn được thiết kế dùng cho công nghiệp xe ô tô, đặc biệt các loại
xe Châu Âu Kênh dữ liệu CAN (CAN bus) khởi đầu được dùng cho các hệ thống nhúng, và như tên đã bao hàm ý là một công nghệ mạng cung cấp truyền thông tin nhanh chóng trong các vi điều khiển theo yêu cầu thời gian thực đang dần thay thế cho công nghệ sử dụng bộ nhớ cổng đôi (Dual-Ported RAM) đắt
đỏ và phức tạp hơn nhiều
Một trong những yếu tố thúc đẩy trong ngành công nghiệp ô tô để phát triển mạng giao tiếp CAN (Controller Network Area) và các giao thức giao tiếp khác chính là nhu cầu tìm ra các giải pháp mới cho vấn đề mạng giao tiếp, đi song song với nhu cầu hạn chế sự phức tạp hệ thống đường dây điện trên xe
Hệ thống dây điện trong xe ô tô có thể dài đến vài dặm và nặng hơn 100 kg Điều đó gây cản trở không ít trong quá trình sản xuất, bao gồm lắp đặt, chi phí cũng như quá trình bảo dưỡng
Kể từ đầu những năm 1980, hầu hết tất cả các nhà sản xuất ô tô đã bắt đầu nỗ lực chuyên sâu để tìm và phát triển các giao thức truyền thông phù hợp cho từng cụm hệ thống điều khiển trên ô tô Những hệ thống như quản lý động
cơ, truyền động, phanh, ổn định xe yêu cầu xử lý thời gian thực lớn hơn nên sử dụng mạng truyền thông với tốc độ truyền nhanh hơn Ở những hệ thống điều khiển điện thân xe, ví dụ như đối với điều khiển gương, cửa sổ điện, khóa cửa, điều chỉnh ghế ngồi, kiểm soát khí hậu, ánh sáng, yêu cầu tốc độ truyền thông thấp hơn, do đó đòi hỏi băng thông truyền thấp hơn Ngoài ra để đáp ứng nhu cầu cho các nhiều ứng dụng khác nhau, các giao thức khác nhau đã xuất hiện, như CAN, Mạng kết nối cục bộ (LIN), Truyền tải truyền thông (MOST) và FlexRay
Ý tưởng của mạng CAN được nhóm kỹ sư tại GmbH Robert Bosch, Đức,
ấp ủ từ đầu thập niên 1980 Họ đã nghiên cứu thị trường cho một công nghệ
Trang 18bus trường mới dùng trong xe ô tô mà có thể cho phép họ đưa thêm các chức năng vào nữa Họ tập trung chủ yếu vào hệ thống thông tin giữa các bộ điều khiển điện tử trong xe hơi của hãng Mercedes-Benz
Từ đó đến nay có nhiều nhà sản xuất linh kiện bán dẫn khác đã quyết định sản xuất loại bộ điều khiển CAN độc lập, hoặc thực hiện chúng trong những thiết kế chíp đơn
Một bước phát triển thành công CAN đáng kể khác là sự thành lập tổ chức nhóm các nhà sản xuất và người sử dụng quốc tế, gọi là Hội CAN tự động hóa (CiA = CAN in Automation) năm 1992, hoạt động của hội này dựa trên mối quan tâm, tham gia và khởi xướng của các thành viên
1991: Bosch xuất bản thông số kỹ thuật CAN 2.0
1992: Thành lập nhóm các nhà sử dụng và sản xuất CAN quốc tế
1993: Xuất bản tiêu chuẩn ISO 11898
1994: CiA tổ chức Hội nghị CAN quốc tế lần thứ nhất (iCC)
1995: Xuất bản Tiêu chuẩn ISO 11898 sửa đổi định dạng khung mở rộng 1995: CiA xuất bản giao thức CANopen [2]
1.4 Cấu trúc mạng CAN
1.4.1 Hệ thống nút (node) trong mạng lưới CAN
Trong một hệ thống CAN thông thường bao gồm nhiều nhiều nút (node) Các nút giao tiếp với nhau bằng hai đường truyền CAN là CAN_H và CAN_L
Trang 19Hình 1.3 Cấu trúc một mạng CAN
Trong mỗi nút CAN gồm có vi điều khiển (microcontroller) phục vụ cho tầng ứng dụng, bộ điều khiển CAN (CAN controller) và bộ thu phát CAN (CAN transceiver) Bộ điều khiển CAN chịu trách nhiệm cho các chế độ truyền
và nhận tin Nó nhận thông tin cần truyền đi từ vi điều khiển và đóng gói thông tin đó thành một khung truyền (Frames) gồm dãy các bit tín hiệu theo chuẩn của CAN và chuyển tiếp đến bộ thu phát bằng kênh TxD Bộ thu phát khuếch đại các tín hiệu vừa nhận được, tạo ra mức điện áp cần thiết theo tiêu chuẩn của truyền dữ liệu vi sai trên đường truyền CAN và đưa chuỗi bit vừa được xử lý lên đường truyền (CAN_H và CAN_L)
Ngược lại, tin (message) đến được bộ thu phát xử lý và gửi đến bộ điều khiển CAN bằng kênh RxD Vi điều khiển ở tầng ứng dụng được dùng để chạy chương trình ứng dụng (ví dụ như hệ thống chỉnh gương), quản lý và điều khiển
bộ điều khiển CAN, chuẩn bị dữ liệu gửi đi và đánh giá, xử lý dữ liệu nhận được
Hình 1.4 Một nút trong hệ thống CAN
Trang 201.4.2 Mã hóa tín hiệu truyền đi
Trên đường truyền, mạng CAN sử dụng hai trạng thái bit để giao tiếp thông tin, dominant (bit 0) và recessive (bit 1) Mỗi bit trong mạng CAN được
mã hóa bằng phương pháp None‐return‐to‐zero Trong suốt quá trình truyền của một bit, mức điện áp của dây được giữ nguyên, có nghĩa trong suốt quá trình một bit được tạo, giá trị của nó không đổi Với phương pháp này, không
có bắt buộc về 0 giữa hai trạng thái truyền có cùng giá trị Khi nhận được tin nhắn, bộ thu phát CAN chuyển đổi mức tín hiệu trở lại trạng thái logic Trong quá trình này, bộ khuếch đại vi sai sẽ trừ mức điện áp CAN_L đi cho CAN_H
để quyết định xem đó là bit dominant hay bit recessive Vì vậy, trên đường truyền khi gặp xung nhiễu (ví dụ như trong hệ thống đánh lửa), thì xung nhiễu
đó tác dụng đều trên cả hai đường, điều này giúp cho việc lọc nhiễu trở dễ dàng hơn
Hình 1.5 Phương pháp mã hóa Non-return-to-zero
Trang 21Một số bộ thu phát cũng đánh giá mức điện áp trên dòng CAN_H và CAN_L một cách riêng biệt, tức không dùng tín hiệu vi sai từ CAN_H và CAN_L Do đó, có thể hoạt động tiếp tục ở chế độ một đường dây nếu một trong hai bị hỏng do ngắn mạch hoặc đứt cáp Tuy nhiên, các nút sẽ phải sử dụng chung một mức điện áp tham chiếu (ground) để đảm bảo chức năng khi đường dây gặp trục trặc
1.4.3 Bộ phận truyền tín hiệu điện và dây dẫn
- Truyền tín hiệu điện bằng hai dây dẫn
Hai dây phục vụ truyền tín hiệu trong CAN, gồm CAN_H và CAN_L Cặp dây hỗ trợ truyền dữ liệu đối xứng (symmetrical data transfer), trong đó các bit được đặt trên cả hai dây và được áp bằng các mức điện áp khác nhau Truyền bằng cách này giúp hạn chế độ nhạy với tín hiệu nhiễu trên đường truyền vì như đã đề cập từ trước, tín hiệu nhiễu ảnh hưởng đến hai đường truyền
là như nhau và nhờ vậy mà có thể lọc ra Ngoài ra việc tăng cường thêm vỏ bọc trên dây dẫn làm giảm bớt bức xạ do chính dây dẫn phát ra khi truyền, đặc biệt
là khi truyền ở tốc độ cao
- Truyền tín hiệu điện bằng một dây dẫn
Để truyền dữ liệu bằng một dây dẫn thì tất cả các nút trong mạng CAN phải có chung một điện áp tham chiếu, giả sử mức điện áp đó bằng với mức điện áp của đường truyền còn lại Việc truyền dữ liệu trên một đường dây dễ bị nhiễu hơn vì không thể lọc các xung nhiễu như với đường dây hai dây Vì điều này mà mức điện áp cao cấp cho tín hiệu khi truyền cần được nâng lên Truyền tín hiệu bằng dây dẫn đơn chỉ thích hợp khi truyền tín hiệu ở tốc độ thấp (CAN low-speed)
1.4.4 Mức điện áp
Bộ thu phát CAN (CAN transceiver) chuyển đổi các bit logic 0 và 1 nhận được từ bộ điều khiển CAN (CAN controller) thành tín hiệu điện với các mức điện áp khác nhau và đưa lên đường truyền Mạng CAN tốc độ thấp (CAN low speed) và CAN tốc độ cao (CAN high speed) định nghĩa mức điện áp trên
Trang 22đường truyền cho trạng thái dominant và trạng thái recessive khác nhau Ở trạng thái recessive, CAN tốc độ cao sử dụng mức điện áp 2.5V cho hai đường dây
Ở trạng thái dominant, sử dụng mức điện áp 3.5V cho đường CAN_H và điện
áp 1.5V cho đường CAN_L Ở CAN tốc độ thấp, mức điện áp 0V đặt trên đường truyền CAN_H khi ở trạng thái recessive và 5V trên đường CAN_L Ở trạng thái domiant, điện áp 3.6V cho đường CAN_H và 1.4V cho đường CAN_L
Hình 1.7 Mức điện áp trên đường truyền CAN tốc độ cao
Hình 1.8 Mức điện áp trên đường truyền CAN tốc độ thấp
1.4.5 Điện trở hai đầu đường dây truyền tín hiệu
Phản xạ tín hiệu điện ở cuối đường dây truyền có thể gây ảnh hưởng đến tính ổn định của đường truyền Để ngăn chặn nó, ở cuối hai đầu đường dây truyền thường được lắp thêm điện trở giá trị 120 Ohm Ở một số hệ thống, điện trở này được tích hợp bên trong bộ điều khiển Với Vios 2010, điện trở giá trị
120 Ohm được tích hợp bên trong hộp ECM và hộp ECU trợ lực lái (Power Steering ECU Assembly) [3]
Trang 23[4]
Hình 1.9 Cấu trúc mạng CAN trên Vios 2010
Trang 24Chương 2: Tìm hiểu cấu tạo, nguyên lý làm việc của hệ thống kết nối thông tin điều khiển CAN-MPX trên xe Vios 2010, mô phỏng truyền tín hiệu trên mạng CAN bằng Proteus thông
qua module CAN MCP 2515 2.1 Giao thức CAN trên xe Vios 2010
2.1.1 Các tầng trong giao thức CAN
Đối với các giao thức truyền thông, theo tiêu chuẩn người ta thường gộp các tác vụ liên quan đến nhau thành một nhóm, gọi là tầng (layer), tạo độ linh hoạt cho hệ thống khi thực hiện giao tiếp Với mạng CAN trên xe Vios
2010, cả phần cứng và phần mềm của CAN được chia ra thành bốn tầng như sau: Tầng ứng dụng (Application layer), tầng đối tượng (Object layer), tầng vận chuyển (Transport layer) và tầng vật lý (Physical layer)
2.1.2 Tầng ứng dụng (Application layer)
Tầng ứng dụng sắp xếp thông tin dưới dạng những cấu trúc dữ liệu được ứng dụng sử dụng Những cấu trúc dữ liệu đó khi cần được chuyển qua tầng đối tượng phục vụ cho việc ứng dụng ở tầng ứng dụng của các nút CAN trong
hệ thống
2.1.3 Tầng đối tượng (Object layer)
Nhiệm vụ của tầng này là quản lý tin nhắn Tầng này quyết định tin nhắn nào được gửi đi và gửi vào thời điểm nào Đối với tin nhắn đến, tầng này
có nhiệm vụ lọc tin
2.1.4 Tầng vận chuyển (Transport layer)
Tầng vận chuyển xử lý tin nhắn nhận được bởi tầng vật lý và gửi nó cho tầng đối tượng Ngược lại, nhận tin nhắn cần gửi đi từ tầng đối tượng và xử lý tin sao cho tầng vật lý có thể truyền nó trên đường truyền Tầng vận chuyển đảm nhận nhiệm vụ phân và phát hiện lỗi giải khi truyền
Trang 252.1.7 Nguyên tắc gửi tin dựa vào nội dung tin (Content-based addressing)
Mạng CAN trên Vios không đánh dấu địa chỉ trên nút truyền mà ghi trực tiếp trên mỗi tin nhắn truyền đi Mỗi tin truyền đi được gán một địa chỉ, gọi ID (identifier) Chính ID này định nghĩa nội dung cho tin nhắn truyền đi Mỗi một nút trong hệ thống có thể phát tin cho tất cả các nút còn lại trong hệ thống Các nút còn lại trong hệ thống chỉ đọc tin này khi ID này nằm trong danh sách ID tin cần đọc được lưu trong bộ nhớ của nó Bằng cách này, mỗi một nút
có thể tự quyết định xem có cần nhận tin nhắn đang truyền trên đường dây dẫn vào hay không
Hình 2.1 Nguyên lí nhận tin dựa vào ID tin nhắn ở CAN
Trang 26ID tin nhắn của CAN cơ bản có hai phiên bản: bản tiêu chuẩn 11 bit (standard format, phiên CAN 2.0A) và bản mở rộng 29 bit (extended format, CAN 2.0 B) Với bản 11 bit, mạng CAN cho phép tối đa 2048 nội dung tin nhắn được truyền trên đường truyền Con số này lên đến 536 triệu đối với bản mở rộng
Điểm mạnh của phương pháp đặt ID cho từng tin nhắn này là không cần có quá nhiều ràng buộc giữa các nút trong hệ thống, các nút vì vậy có thể hoạt động độc lập với nhau, tạo sự linh hoạt cho hệ thống Nếu một nút cần một thông tin nào đó đã có sẵn trên đường truyền, tất cả những gì nó cần làm là chỉ cần phát đi lệnh yêu cầu cho đường truyền Có thể thêm một nút bất kì vào hệ thống mà không cần hiệu chỉnh lại hệ thống
2.1.8 Quản lý đường truyền
+ Phân giải:
Nếu đường truyền đang trống (đang ở trạng thái recessive) và chỉ có một nút muốn phát tin nhắn đi thì nút đó sẽ khởi tạo đường truyền và bắt đầu truyền tin nhắn đi Tin nhắn truyền đi bắt đầu với bit dominat ( gọi là Start-of-frame bit), theo sau là các bit ID Khi có nhiều nút bắt đầu truyền tin cùng một lúc, hệ thống bắt đầu CAN thiệp vào sử dụng thuật phân giải “wire-and” Tin nhắn với ưu tiên cao nhất (thường có giá trị nhị phân của ID thấp nhất) được phép đưa tin lên đường truyền đầu tiên mà không có lỗi nội dung tin hay bị trễ
Nguyên tắc phân giải ở đây là: đường truyền cho phép bit dominat ở một nút ghi đè lên bit recessive ở một nút khác Mỗi nút khi truyền các bit ID
đi, các bit được truyền lần lượt trên đường truyền, với bit ID quan trọng nhất được truyền đi đầu tiên Ở khâu phân giải, các nút đang truyền tin đi so sánh trạng thái bit của tin nó đang truyền đi với trạng thái bit của hệ thống Một nút khi truyền bit recessive gặp bit dominant sẽ bị mất lượt ưu tiên Nút nào với mức độ ưu tiên cao nhất sẽ được phát tin đi trước trong khi các nút còn lại trở thành nút nhận tin, và đợi đến khi đường truyền trống mới có thể truyền tiếp
Trang 27Không có khâu phân giải, các tin truyền sẽ đụng chạm nhau khi truyền cũng một lúc, sinh ra lỗi Nhưng để đảm bảo khâu phân giải có thể hoạt động, bắt buộc ID của mỗi tin truyền đi không được giống nhau
Hình 2.2 Phân giải trên đường truyền CAN
+ Mức độ ưu tiên của tin nhắn:
Tin nhắn với giá trị logic của ID bit thấp nhất có mức độ ưu tiên cao nhất ID được xác định bởi người dùng Độ ưu tiên của tin nhắn tùy thuộc vào mức độ thay đổi của thông tin mà tin nhắn đó truyền đi
2.1.9 Định dạng của tin nhắn trong CAN
Để dữ liệu được truyền tin, khung tin nhắn (frame) được tạo ra Khung (frame) tin nhắn trên đường truyền CAN có bốn định dạng khác nhau:
• Data frame: frame để chứa dữ liệu hay thông tin cần truyền đi bởi một nút
• Remote frame: các nút có thể yêu cầu thông tin hay dữ liệu từ nút khác sử dụng Remote frame
Hình 2.3 Khung yêu cầu truyền (Remote frame)
• Error frame: nếu một nút phát hiện lỗi, nó sẽ phát tin báo lỗi sử dụng frame tin này
Trang 28Hình 2.4 Khung báo lỗi (Error frame)
• Overload frame: frame được dùng để tạo trễ giữa hai tin truyền Nút truyền dùng khung over frame này để thông báo nó không thể truyền thêm một tin nào khác
2.1.10 Phát hiện lỗi trong CAN
Trong quá trình hoạt động, đường truyền có thể bị nhiễu, ví dụ: nhiễu điện từ Để hạn chế nguy bị nhiễu dẫn đến lỗi, dữ liệu truyền phải được kiểm tra Một số cơ chế kiểm soát để phát hiện lỗi được tích hợp trong giao thức CAN
Cyclic redundancy check
Đối với mỗi tin nhắn được truyền đi, nút truyền sẽ dùng thuật toán tính toán bắt đầu từ Start-of-frame, vùng phân xử, vùng điều khiển và vùng dữ liệu Kết quả trả về được gọi là checksum Checksum được sử dụng để phát hiện lỗi trong quá trình truyền dữ liệu Khi vùng CRC đã được nhận, nút nhận có thể kiểm tra lại xem tin được nhận có đầy đủ chính xác hay không bằng cách thực hiện chính thuật toán kiểm tra như nút gửi và đối chiếu kết quả lại với checksum
để kiểm tra
Frame check
Frame check được các nút trong hệ thống dùng để kiểm tra tin nhắn trên đường truyền có tuân thủ theo giao thức CAN đã quy ước hay không (Start-of-frame, End-of-frame, Delimiter)
ACK check
Trang 29Với ACK check, phía nút nhận xác nhận xem tin nhận được có chính xác hay không bằng cách gửi một bit dominant trong ô ACK Phía gửi nhờ đó
có thể xác minh xem tin nhắn có được chuyển chính xác hay không Việc không
có bit này chỉ ra rằng có lỗi trong khi truyền tin nhắn
Kiểm tra đường truyền
Nút gửi liên tục theo dõi mức điện áp của đường truyền Nó có thể phát hiện lỗi truyền bằng cách so sánh bit đã gửi và bit được lấy mẫu
2.1.11 Xử lý lỗi trong CAN
Nếu phát hiện lỗi truyền hay lỗi định dạng, bộ điều khiển CAN sẽ thực hiện làm gián đoạn quá trình truyền hiện tại bằng cách gửi một khung lỗi (Error frame) bao gồm sáu bit dominat liên tiếp Sáu bit dominant làm phá vỡ nguyên tắc Bit Stuffing Khi nút gửi phát hiện rằng tin nhắn của nó đã bị gián đoạn bởi một khung báo lỗi, nó sẽ dừng truyền và thực hiện lại lần sau Bằng cách này,
hệ thống sẽ ngăn chặn các tin lỗi gửi đến các nút, đồng thời bảo đảm được tính
ổn định và chính xác của dữ liệu được truyền trên hệ thống Trong một vài trường hợp, một nút bị lỗi có thể ảnh hưởng lớn đến đường truyền nếu nó thường xuyên gửi tin nhắn lỗi hoặc làm gián đoạn việc truyền tin bằng cách liên tục gửi khung lỗi (Error frame) Giao thức CAN khoanh vùng các nút lỗi bằng phương pháp phân tích lỗi thống kê (statististical error analysis) Một trạm
có thể nhận ra xác suất xảy ra sự cố của chính nó bằng cách phát hiện tần suất hủy bỏ các tin nhắn trước khi các trạm khác gửi khung lỗi Biện pháp đầu tiên của hệ thống trong trường hợp này là ngăn chặn một trạm như thế này tiếp tục hủy bỏ đường truyền Trong trường hợp khẩn cấp, nút lỗi sẽ tự động tắt