1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android

92 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (16)
    • 1.1. Lý do chọn đề tài (16)
    • 1.2. Mục tiêu nghiên cứu (16)
    • 1.3. Đối tượng nghiên cứu (16)
    • 1.4. Phương pháp nghiên cứu (16)
    • 1.5. Kế hoạch thực hiện (17)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ MẠNG CAN (18)
    • 2.1 Khái quát về mạng CAN (18)
      • 2.1.1 Lịch sử hình thành và phát triển (18)
      • 2.1.2 Giới thiệu CAN (19)
      • 2.1.3 Ưu điểm mạng CAN trên ô tô (21)
    • 2.2 Cấu trúc và các thành phần trong bus CAN (22)
      • 2.2.1 Cấu trúc mạng CAN (22)
      • 2.2.2 Tín hiệu trên bus CAN (24)
    • 2.3 CAN Message (26)
      • 2.3.1 Data Frame – Khung dữ liệu (27)
      • 2.3.2 Remote Frame – Khung yêu cầu (32)
      • 2.3.3 Error Frame – Khung báo lỗi (33)
      • 2.3.4 Overload Frame – Khung báo quá tải (33)
    • 2.4 Lớp vật lý (34)
    • 2.5 CAN bit Timing (35)
  • CHƯƠNG 3: GIỚI THIỆU HỆ THỐNG OBD II VÀ PHƯƠNG PHÁP GIẢI MÃ (36)
    • 3.1 Tổng quan về OBD II (36)
      • 3.1.1 Lịch sử hình thành (36)
      • 3.1.3 Nguyên lí hoạt động (38)
    • 3.2 Giới thiệu OBD II-PIDs (39)
      • 3.2.1 Giải mã PID theo bit (41)
      • 3.2.3 Các giao thức tín hiệu OBD II (46)
      • 3.2.4 Các loại giao thức tín hiệu OBD II (49)
      • 3.2.5 Các chân giắc của OBD II (49)
  • CHƯƠNG 4: THIẾT KẾ GIAO DIỆN TIỆN NGHI THÔNG MINH BẰNG MIT APP INVENTOR (50)
    • 4.1 Giới thiệu (50)
    • 4.2 Xây dựng ứng dụng cho nền tảng Android bằng MIT (51)
      • 4.2.1 Tạo dự án (51)
      • 4.2.2 Thiết kế giao diện (52)
    • 4.3 Lập trình chức năng (56)
    • 4.4 Xây dựng giao diện và thiết lập các blocks chức năng (63)
  • CHƯƠNG 5 THIẾT KẾ BỘ GIAO TIẾP OBD II, GIẢ LẬP CÁC TÍN HIỆU TRÊN (77)
    • 5.1 Thiết kế bộ truyền nhận tín hiệu (77)
      • 5.1.1 Các thiết bị cần thiết (77)
      • 5.1.2 Sơ đồ đấu dây của bộ giao tiếp OBD II (78)
      • 5.1.3 Lập trình bộ giao tiếp OBD II (80)
    • 5.2 Thiết kế bộ giả lập các tín hiệu xe (81)
      • 5.2.1 Giả lập áp suất lốp xe (81)
      • 5.2.2 Giả lập đèn cảnh báo trên xe (81)
    • 5.3 Thử nghiệm mô hình giao diện (82)
      • 5.3.1 Thử nghiệm mô hình giao diện trên mô hình giả lập CAN (82)
      • 5.3.2 Thử nghiệm mô hình giao diện trên xe Ford Focus 2019 (88)
  • CHƯƠNG 6: KẾT LUẬN VÀ ĐỀ NGHỊ (90)
    • 6.1 Những nhiệm vụ đã đạt được (90)
    • 6.2 Những nhiệm vụ chưa đạt được (90)
    • 6.3 Những khó khăn và kiến nghị cho đề tài (90)
      • 6.3.1 Những khó khăn (90)
      • 6.3.2 Kiến nghị cho đề tài (90)
  • TÀI LIỆU THAM KHẢO (91)

Nội dung

- Tạo ra một giao thức chung giúp nhiều nhà cung cấp khác nhau dễ dàng kếtnối các module điều khiển phù hợp với nhau - Tính bảo mật của thông điệp Prioritization of messages: mỗi thông đ

TỔNG QUAN

Lý do chọn đề tài

Ngành công nghiệp ô tô là một trong những ngành công nghiệp quan trọng và có ý nghĩa rất lớn trong nền kinh tế, vì thế trong những năm gần đây Việt Nam có những chính sách ưu đãi và kích cầu nhằm giúp ngành công nghiệp ô tô có tốc độ tăng trưởng mạnh mẽ Chính vì thế các doanh nghiệp sản xuất, lắp ráp ô tô hiện nay cũng đang phải đối diện với một thị trường cạnh ngày càng khắc nghiệt.

Trong điều kiện thị trường canh tranh hiện nay các doanh nghiệp đều đặt mục tiêu thỏa mãn mọi nhu cầu câu khách hàng, tiến hành mọi biện pháp để đáp ứng tốt nhất nhu cầu của khách hàng Bây giờ, ngoài tiêu chí chọn lựa của khách hàng là khung gầm, động cơ, công suất,… mà còn là sự tiện nghi, mẫu mã và sự an toàn.Qua đó nhiều hãng xe lớn đang đầu tư mạnh về công nghệ và mẫu mã thiết kế để tăng sự cạnh tranh với việc nhu cầu về công nghệ cho xe ngày càng nhiều nhóm em chọn đề tài “Nghiên cứu, thử nghiêm giao diện tiện nghi thông minh trên ô tô cho màn hình android” để tiếp xúc gần với công nghệ xe hiện này và tìm hiểu sâu về kết nối giữa xe và phần mềm android qua sự hướng dẫn của thầy Ths Lê Quang Vũ.

Mục tiêu nghiên cứu

- Tìm hiểu cơ sở lí thuyết về mạng CAN, hệ thống OBD II, thiết kế app Android

- Thiết kế app Android trên MIT app.

- Kết hợp phát triển nhiều giao diện thông minh và thêm tính năng giọng nói.

- Lập trình cho bộ giao tiếp và giải mã các dữ liệu để hiện thị lên màn hình

- Thiết kế bộ giao tiếp và giải mã dữ liệu và giả lập các tín hiệu trên xe

Đối tượng nghiên cứu

Đối tượng nghiên cứu: Mô hình mạng CAN xe Kia Morning 2011 -AT và xeFord Focus 2019 Sử dụng MIT app để xây dựng giao diện Android.Tìm hiểu, lập trình và thiết kế bộ giao tiếp giải mã mạng CAN thông qua cổng OBD II để gửi các tín hiệu và thông số được giải mã lên màn hình và đọc các mã lỗi trên xe

Phương pháp nghiên cứu

Phương pháp nghiên cứu lý thuyết: Tìm hiểu các kiến thức lý thuyết thu thập tín hiệu mạng CAN, giải mã tín hiệu và thiết kế giao diện android bằng MIT app.

Phương pháp mô hình hóa: Thiết kế giao diện Android bằng cách kéo thả trên giao diện Block của MIT app và nghiên cứu và lập trình code cho các Block của MIT app, Thiết kế bộ giao tiếp OBD II và lập trình code để thu thập dữ liệu từ xe truyền lên màn hình.

Kế hoạch thực hiện

Bảng 1 1.Kế hoạch và thời gian thực hiện kế hoạch

STT THỜI GIAN NỘI DUNG GHI CHÚ

1 Tháng 3/2024 Tìm hiểu CAN Bus và OBD

Tìm hiểu về MIT app và cách xây dựng các khối trên app code trên MIT app, viết code trên app và MIT app

Xây dựng mô hình màn hình Android, thử nghiệm, hiệu chỉnh và thiết kế lập trình bộ giao tiếp OBD II và giả lập các tín hiệu

4 Tháng 6/2024 Hoàn chỉnh báo cáo và báo cáo đồ án

CƠ SỞ LÝ THUYẾT VỀ MẠNG CAN

Khái quát về mạng CAN

2.1.1 Lịch sử hình thành và phát triển

Vào năm 1986,Robert Bosch GmbH người Đức lần đầu tiên phát triển CAN khi được đề nghị phát triển hệ thống giao tiếp giữa các hệ thống điện thân xe bởi Mercedes.Vì họ nhận ra rằng giao tiếp điểm - điểm của UART hiện nay không còn phù hợp.Vì thế một hệ thống giao tiếp đa chủ trở nên cấp thiết."Controller Area Network" được chung tay phát triển bởi nhà sản xuất ô tô Mercedes-Benz và nhà sản xuất chất bán dẫn Intel và một vài trường đại học ở Đức.

Năm 1986, tại Đại hội SAE ở Detriut tiêu chuẩn CAN được giới thiệu cho mọi người bởi Bosch.Tập đoàn Intel đã dẫn đầu về việc sản xuất những con chip điều khiển CAN.Từ đó thế giới xe hơi có nhiều sự thay đổi đáng kể từ việc giảm trọng lượng và chi phí từ dây dẫn nhờ việc phát triển của CAN là một sản phẩm phụ may mắn, nhưng đầy thực tiễn.

Tóm tắt lịch sử phát triển

- Năm 1983 : Dự án được đề xuất và phát triển trên xe hơi trong nội bộ hãng Bosch

- Năm 1986 : Giao thức CAN được công bố

- Năm 1987 : Các chip điều khiển CAN có mặt đầu tiên tại nhà máy sản xuất linh kiện bán dẫn Intel và Philips

- Năm 1991 : Các thông số kỹ thuật CAN 2.0 được Bosch công bố

- Năm 1992 : Nhóm các nhà sử dụng và sản xuất CAN quốc tế được thành lập : Hội CAN tự động hóa (CiA) Hội CiA xuất bản giao thức Lớp ứng dụng CAN (CAN Application Layer, CAL).Và lần đầu xuất hiện những chiếc xe Mercedes- Benz được trang bị giao thức CAN

- Năm 1993 : Tiêu chuẩn ISO 11898 được xuất bản

- Năm 1994 : Hội CAN tự động hóa tổ chức Hội nghị CAN quốc tế lần đầu tiên (iCC) Allen-Bradley công bố giao thức DeviceNet.

- Năm 1995: Sửa đổi Tiêu chuẩn ISO 11898 định dạng khung mở rộng CiA xuất bản giao thức CANopen

Về mặt kỹ thuật, CAN cho phép liên kết tối đa 2032 thiết bị (ví dụ một nút với một mã ID) trên một mạng duy nhất Nó cung cấp khả năng truyền tải tốc độ cao lên đến 1 Mbits/giây và khả năng điều khiển thời gian thực Ngoài ra, tính năng giới hạn thời gian và cảnh báo lỗi làm cho CAN đáng tin cậy hơn trong môi trường nhiễu cao.

Dựa trên đặc điểm thông số kỹ thuật của Bosch Phiên bản 2.0 của CAN được chia thành hai phần:

- CAN tiêu chuẩn (Phiên bản 2.0A): sử dụng ID (Identifier) 11 bit.

- CAN mở rộng (Phiên bản 2.0B): sử dụng ID 29 bit.

Hai phần được định nghĩa bởi các ID khác nhau của thông điệp, với sự khác biệt chính là độ dài mã ID.

Có hai tiêu chuẩn ISO cho CAN Sự khác biệt là ở lớp vật lý: ISO 11898 xử lý các ứng dụng tốc độ cao lên đến 1Mbit / giây và ISO 11519 có giới hạn trên là 125 kbit/giây.

Controller Area Network (CAN hoặc CAN Bus) là hệ thống mạng nối tiếp, tốc độ cao, bán song công, hai dây Ban đầu CAN được phát triển riêng cho ngành công nghiệp ôtô, nhưng hiện nay CAN cũng đã trở thành một tiêu chuẩn quan trọng trong tự động hoá công nghiệp và các ngành khác.

Hiện nay, mạng CAN được chuẩn hóa theo tiêu chuẩn ISO 11898 Hai dây chính của mạng là CAN-High speed (CAN-H) và CAN-Low speed (CAN-L).

CAN-H: dựa theo tổ chức tiêu chuẩn hóa quốc tế (ISO) ISO 11898-2 ban đầu mạng CAN có tốc độ truyền từ 125kBit/s đến 1MBit/s, CAN-H có điện áp cao, thường là 0V khi bus không truyền và nhận dữ liệu và ở mức hoạt động thì điện áp là 2,5-3,5V.

CAN-L: Chuẩn ISO 11898-3 được phát hành ngay sau đó dành cho CAN-LOW có tốc độ truyền từ 5kBit/s đến 125 kBit/s, CAN-L có điện áp thấp, thường là 1,5-2,5V khi bus không truyền hay nhận dữ liệu.

Phân loại mạng giao tiếp CAN Đường truyền CAN chia thành 2 loại là đường truyền tốc độ cao HS-CAN và đường truyền tốc độ trung bình MS-CAN

- Đường truyền tốc độ cao (HS-CAN) là dùng kết nối các hệ thống gầm, truyền lực và hệ thống khác của xe.Đường truyền tốc độ cao còn gọi là"Đường truyền CANNo.1" và "Đường truyền CAN No.2".Nó hoạt động với tốc độ khoảng 500 kbps.Trong

ECU trung tâm và CAN No2.J/C các đường truyền CAN No1 được đặt các điện trở cực.Điện trở của đường truyền CAN No.2 chỉ đo được từ giắc DLC3.

- Đường truyền tốc độ trung bình (MS-CAN) dùng để kết nối giữa các hệ thống điện thân xe và đường truyền MS-CAN còn gọi là "Đường truyền CAN MS".Vùng tốc độ để CAN MS hoạt động là 250 kbps ECU thân xe chính và ECU chứng nhận là chỗ để đặt các điện trở cực cho đường truyền MS-CAN.Điện trở của đường truyền CAN

MS không đo được từ giắc DLC3.

Việc thông tin liên lạc giữa những mạng này được thực hiện qua ECU thân xe (cho đường truyền CAN MS) hay ECU trung tâm (cho đường truyền CAN No.2), có vai trò như một ECU trung tâm.

Hình 2 1.Sơ đồ mạng CAN tốc độ trung bình MS CAN

2.1.3 Ưu điểm mạng CAN trên ô tô

- Đơn giản, chi phí thấp:khi chưa có bus CAN xuất hiện thì việc đi dây trên xe có rất nhiêu dây gây tốn chi phí và phức tạp với bus CAN chỉ có hai dây liên kết các module lại với nhau làm đi dây đơn giản hơn và khi gặp sự cố dễ dàng sửa chữa và bảo dưỡng.

- Tạo ra một giao thức chung giúp nhiều nhà cung cấp khác nhau dễ dàng kết nối các module điều khiển phù hợp với nhau

- Tính bảo mật của thông điệp (Prioritization of messages): mỗi thông điệp được phát ra từ một nút (node) hay trạm (station) trên bus

- CAN có vùng phân xử ưu tiên nên khi nhiều thông điệp truyền qua cùng lúc thì thông điệp có mức ưu tiên hơn thì được truyền còn mức còn lại thì đợi bus rảnh sẽ được truyền tiếp.Việc mức ưu tiên của thông điệp dựa trên cấu tạo thông điệp và chế độ ưu tiên qui định trong chuẩn CAN.

- Cấu hình linh hoạt: cho phép thiết lập cấu hình thời gian bit, thời gian đồng bộ hoá, chiều dài dữ liệu truyền, dữ liệu nhận,…

- Nhận dữ liệu đa điểm với sự đồng bộ thời gian: một thông điệp có thể được truyền tới nhiều node khác nhau trong bus cùng lúc Tất cả các node trên bus đều có thể thấy thông điệp đang nhận trên bus, tuỳ thuộc vào cấu hình ở từng node mà node sẽ quyết định có chấp nhận thông điệp này hay không.

Cấu trúc và các thành phần trong bus CAN

Hình 2 2.Cấu trúc bus và node của mạng CAN

Bus CAN là bus vi sai gồm:

Dây cáp có hai dây khác nhau là dây CAN High và dây CAN Low.Tùy vào nhà sản xuất hay người sử dụng thì dây có thể dạng xoắn kép hay cáp quang.Ngoài ra, dây cáp có vỏ chống nhiễu, vỏ này được nối với điện áp tham khảo hoặc GND CAN Low có điện áp thấp,ở trạng thái không truyền,nhân dữ liệu thường là 5V,CAN High có điện áp thấp,ở trạng thái không truyền, nhận dữ liệu thường là 0V.CAN là bus vi sai vì vậy khi truyền dữ liệu trên bus thì điện áp giữa CAN Low và CAN High sẽ thay đổi, mức logic 0/1 sẽ được xác định căn cứ trên sư sai lệch giữa điện ap CAN Low và CAN High.

Hình 2 3.Dây cáp mạng CAN Điện trở đầu cuối (Termination resistor): Hai điện trở 120  được nối vào cuối CAN Bus Chúng có vai trò quan trọng trong việc kết hợp trở kháng của Bus và chống nhiễu do tín hiệu bị phản xạ gây nên giảm tốc độ truyền dữ liệu hoặc có thể không truyền được và gây hư hỏng thiết bị.

Node (Statation): là một thành phần kết nối đến bus CAN thông qua 2 dây CAN-H và CAN-L Node này là cá bo mạch hoặc module điều khiển có cấu tạo và thành phần sau :

Hình 2 4.Cấu trúc một Node

Mỗi nút CAN yêu cầu có một micro-controller- MCU kết nối với một bộ điều khiển CAN-controller Bộ điêu khiển CAN sẽ được kết nối với bộ CAN – Transceiver thông qua một đường ra dữ liệu nối tiếp Tx và một đường vào dữ liệu nối tiếp Rx Đường Vref là điện áp ra tham khảo cung cấp một mức điện áp định danh = 0.5 x Vcc.

Bộ vi điều khiển / Vi xử lý (Microcontroller / Microcomputer) Có chức năng chính là điều khiển hoạt động của các Node và phân bổ việc truyền nhận dữ liệu.

Bộ điều khiển CAN (CAN Controller) Thực hiện các chức năng của giao thức CAN (Bit Stuffing, phân xử quyền ưu tiên của tín hiệu, xử lý lỗi, kiểm tra, CRC, ). Thông thường thì bộ điều khiển CAN sẽ được tích hợp thêm bộ lọc.

Bộ thu phát CAN (CAN Transceiver) Tạo điện áp truyền cho Bus, điều chỉnh, đảm bảo dòng điện cho thiết bị hoạt động và bảo vệ hệ thống dây nối Bộ thu phát CAN hoạt động như bộ chuyển đổi từ tín hiệu số (mức logic 0/1) trên đường TX thành tín hiệu tương tự trên bus CAN và ngược lại, chuyển đổi từ tín hiệu tương tự trên bus CAN (CAN_H vàCAN_L) thành tín hiệu số trên đường RX.

Hình 2 5.Minh họa một mạng CAN

2.2.2 Tín hiệu trên bus CAN

Dựa trên tính chất vật lý của bus, cần thiết phải phân biệt 2 dạng truyền trên bus:

- Dạng truyền CAN tốc độ thấp.

- Dạng truyền CAN tốc độ cao.

Bus CAN định nghĩa hai trạng thái là “dominant” và “recessive”, tương ứng với hai trạng thái là 0 và 1 Trạng thái “dominant” chiếm ưu thế so với trạng thái “recessive”. Bus chỉ ở trạng thái “reccessive” khi không có node nào phát đi trạng thái

“dominant”.Điều này tạo ra khả năng giải quyết chanh chấp khi nhiều hơn một Master cùng muốn chiếm quyền sử dụng bus.

Bảng 2 1.So sánh hai dạng truyền của bus CAN

Thông số CAN tốc độ thấp CAN tốc độ cao

Tốc độ 125 kb/s 125kb/s tới 1Mb/s

Số node trên bus 2 tới 20 node 2 tới 30 node

Trạng thái dominant CAN High = 4V

CAN High = 3,25V CAN L = 1,5V Trạng thái recessive CAN High =1,75V

Tính chất của cáp 30pF giữa cáp và dây 2*120 ohm

Mức điện áp cung cấp 5V 5V

Hình 2 6.Mức điện áp trên đường CAN-H và CAN- L khi truyền dữ liệu

Theo thông thường thì mức áp trên CAN Low là -2V,CAN High là 7V.Quan sát hình trên thì 0V trên CAN Low và 5V trên CAN High khi dùng tốc độ cao 1 Mbit/s Đường CAN High trạng thái hoạt động có điện áp là +3.5V còn trạng thái nghỉ là +5V.Vậy thì, mức +2.5V quy định là mức 'recessive' và +3.5V là mức 'dominant' Đường CAN Low trạng thái hoạt động có điện ap là +1.5V còn trạng thái nghỉ là +0V.Vậy thì, mức +2.5V quy định là mức 'recessive' và +1.5V là mức 'dominant'

Trạng thái bus dựa vào độ sai lệch điện áp của CAN Low và CAN High.Nếu dưới +0.5V là ngưỡng tối thiếu điện áp chênh lệch đó là mức recessive (mức 1).Nếu sai lệch cao hơn điện áp ngưỡng tối thiểu là mức dominant (mức 0), trên +0.9V Vùng mà gây sai lệch dữ liệu và không phân biệt được mức logic là khoảng 0.5V đến 0.9V.

Hình 2 7.Xác định mức logic thông qua sai lệch điện áp của CAN-H và CAN-L

CAN Message

Mạng CAN được tạo nên bởi một nhóm các nodes, mỗi node có thể giao tiếp với bất kì nodes nào khác trong mạng Việc giao tiếp được thực hiện thông qua việc gửi đi và nhận các gói dữ liệu – gọi là message Mỗi loại message trong mạng CAN được gán cho một ID – số định danh – tuỳ theo mức độ quan trọng của message đó

CAN bus là một hình thức truyền dữ liệu dạng bus Nghĩa là tất cả các node đều có thể nhận thông tin của đường truyền và không có cách nào để gửi message đến một node cụ thể Tuy nhiên, phần cứng CAN cung cấp tính năng lọc cục bộ để mỗi node chỉ có thể nhận thông tin cần thiết CAN Message sử dụng các thông điệp có kích thước nhỏ, tối đa là 94 bit Các thông điệp này không có node cụ thể nào, thay vào đó các thông điệp này được cho là có nội dung mà nội dung của nó sẽ ngầm quy định node của nó.

Giao thức CAN sử dụng 4 loại thông điệp khác nhau để truyền tải dữ liệu và điều khiển.Bốn loại thông điệp này gồm:

1 Data frame là bộ mang dữ liệu từ một bộ truyền đến các bộ nhận.Khung này có vùng để mang các byte dữ liệu

2 Remote Frame là khung được truyền từ Node nào đó để yêu cầu dữ liệu từ Node khác và dữ liệu đó có ID trùng với ID đang sẵn có

3 Error Frame là khung được truyền bởi bất kỳ Node nào khi Node đó phát hiện ra lỗi

4 Overload frame có chức năng tạo thêm độ trễ giữa giữa các Data frame và Remote Frame Mỗi khi phát hiện có bus rảnh thì các Node có thể truyền ngay lập tức và khung này có thể ngăn sự truyền tiếp theo khi có một Node bất kỳ nhận quá nhiều dữ liệu

Chỉ có khung dữ liệu và khung yêu cầu là có ID, cơ chế phân xử sẽ áp dụng cho hai loại khung này khi chúng được truyền trên bus.

Khung dữ liệu và khung yêu cầu có hai định dạng khác nhau là định dạng chuẩn (Standard) và định dạng mở rộng (Extended).

- Định dạng khung chuẩn sử dụng ID có độ dài 11 bit

- Định dạng khung mở rộng sử dụng ID có độ dài 29 bit

Chuẩn CAN Specification 2.0-Part A (gọi tắt 2.0A) chỉ quy định sử dụng loại khung chuẩn Chuẩn CAN Specification 2.0-Part B (gọi tắt 2.0B) sử dụng cả loại khung chuẩn và khung mở rộng Như vậy, khi sử dụng CAN controller, bạn nên quan tâm đến việc nó tương thích chuẩn nào.

Ngoài ra, chuẩn CAN còn một loại định dạng thứ 5 là khoảng liên khung (Interframe Spacing) Nó có vai trò tạo khoảng ngăn cách giữa các khung truyền trên bus CAN.

2.3.1 Data Frame – Khung dữ liệu

Một khung dữ liệu bao gồm bảy vùng bit khác nhau theo thứ tự là:

- Vùng bắt đầu khung (Start of frame – SOF)

- Vùng phân xử (Arbitration field)

- Vùng điều khiển (Control field)

- Vùng dã liệu (Data field)

- Vùng kiểm tra (CRC field)

- Vùng báo nhận (ACK field)

- Vùng kết thúc khung (End of frame – EOF)

Mỗi vùng có chức năng nhiệm vụ khác nhau, số lượng bit khác nhau và có quy định cụ thể về mức logic và ý nghĩa các bit

2.3.1.1 Vùng bắt đầu khung – SOF (Start of frame)

SOF đánh dấu sự bắt đầu của một khung dữ liệu hoặc khung yêu cầu Nó chỉ bao gồm một bit dominant (logic 0).

Một Node chỉ được cho phép truyền khi bus rảnh, vấn đề khi nào bus rảnh sẽ được trình bày sau Khi bus rảnh thì trạng thái trên bus đang là recessive (logic 1) Lúc này, nếu có một Node bắt đầu truyền thì nó sẽ truyền SOF trước Ngay khi xuất hiện cạnh xuống (chuyển từ recessive thành dominant) của SOF thì tất cả các Node trên bus được đồng bộ theo cạnh này.Nghĩa là, các Node bắt đầu tính toán tính toán thời gian để lấy mẫu các bit trên bus CAN.Bạn có thể liên tưởng đến hoạt động của UART, UART cũng bắt đầu truyền một khung của nó bằng 1 bit START có mức logic 0 Bên nhận phát hiện cạnh xuống của bit START sẽ bắt đầu tính toán để lấy mẫu các giá trị bit của khung truyền Việc đồng bộ theo cạnh gọi là đồng bộ cứng (Hard Synchronization).

2.3.1.2 Vùng phân xử (Arbitration field) Định dạng vùng phân xử là khác nhau đối với dạng khung chuẩn và khung mở rộng.

- Định dạng chuẩn: vùng phân xử có độ dài 12 bit, bao gồm 11 bit ID và 1 bit RTR.

- Định dạng mở rộng: vùng phân xử có độ dài 32 bit, bao gồm có 29 bit ID, 1 bit SRR, 1 bit IDE và 1 bit RTR

Bit RTR (Remote Transmission Request)

- Là bit dùng để phân biệt khung là Data Frame hay Remote Frame.

- Nếu là Data Frame, bit này luôn bằng 0 (Dominant Bit).

- Nếu là Remote Frame, bit này luôn bằng 1 (Recessive Bit).

- Vị trí bit này luôn nằm sau bit ID.

Trường hợp nếu Data Frame và Remote Frame có cùng ID được gửi đi đồng thời thì Data Frame sẽ được ưu tiên hơn.

Bit SRR (Substitute Remote Request)

- Bit này chỉ có ở khung mở rộng.

- Bit này có giá trị là 1 (Recessive Bit).

- So với vị trí tương ứng trong khung chuẩn thì bit này trùng với vị trí của bit RTR nên còn được gọi là bit thay thế (Substitute).

Giả sử có hai Node cùng truyền, một Node truyền Data Frame chuẩn, một Node truyền Data Frame mở rộng có ID giống nhau thì Node truyền khung chuẩn sẽ thắng phân xử quyền ưu tiên vì đến vị trí sau ID, khung chuẩn là bit RTR = 0, còn khung mở rộng là bit SRR = 1 Như vậy, khung chuẩn chiếm ưu thế hơn so với khung mở rộng khi có ID như nhau.

- Đây là bit phân biệt giữa loại khung chuẩn và khung mở rộng: IDE = 0 quy định khung chuẩn, IDE = 1 quy định khung mở rộng.

- Bit này nằm ở trường xác định quyền ưu tiên với khung mở rộng và ở trường điều khiển với khung chuẩn.

2.3.1.3 Vùng điều khiển (Control Field)

Hình 2 9.Định dạng vùng điều khiển Định dạng vùng này ở khung chuẩn và mở rộng là khác nhau.

- Khung chuẩn gồm IDE, r0 và DLC (Data Length Code).

- Khung mở rộng gồm r1, r0 và DLC.

Bit IDE đã trình bày ở trên.

- Đây là hai bit dự trữ.

- Tuy hai bit này phải được truyền là bit recessive (bit 1) bởi bộ truyền nhưng bộ nhận không qua tâm đến giá trị 2 bit này Bộ nhận có thể nhận được các tổ hợp 00, 01, 10 hoặc 11 của r1 và r0 nhưng không coi đó là lỗi mà bỏ qua và nhận thông điệp bình thường.

Mã độ dài dữ liệu DLC (Data Length Code).

 Có độ dài 4 bit quy định số byte của vùng dữ liệu của Data Frame.

 Chỉ được mang giá trị từ 0 đến 8 tương ứng với vùng dữ liệu có từ 0 đến 8 byte dữ liệu Như vậy, khung dữ liệu có thể không có byte dữ liệu nào khi DLC = 0.

 Giá trị lớn hơn 8 không được phép sử dụng

Hình 2 10.Bảng giá trị của DLC (r = recessive = lặn = 1, d = dominant = trội = 0)

2.3.1.4 Vùng dữ liệu (Data field)

Vùng này có độ dài từ 0 đến 8 byte tùy vào giá trị của DLC ở trường điều khiển.

Trường kiểm tra hay trường CRC gồm 16 bit và được chia làm hai phần là:

Hình 2 11.Vùng kiểm tra (CRC)

- CRC Sequence: gồm 15 bit CRC tuần tự

- CRC Delimiter: là một Recessive Bit làm nhiệm vụ phân cách trường CRC với trường ACK

- Mã kiểm tra CRC phù hợp nhất cho các khung mà chuỗi bit được kiểm tra có chiều dài dưới 127 bit, mã này thích hợp cho việc phát hiện các trường hợp sai nhóm (Bus Error) Ở đây, tổng bit từ trường bắt đầu (SOF) đến trường dữ liệu (Data Field) tối đa là 83 bit (khung định dạng chuẩn) và 103 bit (khung định dạng mở rộng).

=> Trường CRC bảo vệ thông tin trong Data Frame và Remote Frame bằng cách thêm các bit kiểm tra dự phòng ở đầu khung truyền Ở đầu khung nhận, cũng sẽ tính toán CRC như bộ truyền khi đã nhận dữ liệu và so sánh kết quả đó với CRC Sequence mà nó đã nhận được, nếu khác nhau tức là đã có lỗi, nếu giống nhau tức là đã nhận đúng từ trường SOF đến trường dữ liệu.

Vùng ACK có độ dài 2 bit bao gồm hai phần là “khe ACK” (ACK slot) và phần phân cách ACK (ACK delimiter).

Khe ACK slot: độ dài 1 bit, một Node truyền dữ liệu sẽ thiết lập bit này là bit lặn(recessive) Khi một hoặc nhiều Node nhận chính xác giá trị thông điệp (không lỗi và so sánh chuỗi CRC sequence trùng khớp) thì nó sẽ báo lại cho bộ truyền bằng cách truyền ra một bit trội (dominant) ngay vị trí khe ACK slot để ghi đè lên bit lặn của bộ truyền.

ACK Delimiter: độ dài 1 bit, luôn là một bit lặn (recessive) Có thể thấy rằng khe ACK slot luôn được đặt giữa hai bit lặn (recessive) là CRC delimiter và phân cách ACK.

2.3.1.7 Vùng kết thúc khung EOF (End Of Frame)

Vùng kết thúc khung là vùng thông báo kết thúc một khung dữ liệu hay khung điều khiển Vùng này gồm 7 bit lặn (recessive).

2.3.2 Remote Frame – Khung yêu cầu

Lớp vật lý

Lớp vật lý không phải là một phần của tiêu chuẩn Bosch CAN Tuy nhiên, tiêu chuẩn ISO được sử dụng cho các quá trình thu phát.

CAN truyền tín hiệu trên bus CAN bao gồm hai dây, CAN-High và CAN-Low. Hai dây này đang hoạt động ở chế độ vi sai, nghĩa là chúng mang điện áp ngược để giảm nhiễu Các mức điện áp, cũng như các đặc tính khác của lớp vật lý, phụ thuộc vào tiêu chuẩn đang được sử dụng.

Bảng 2 2.Thông số kỹ thuật của CAN Bus

Kích thước dữ liệu Tối đa 8 bytes/Frame Tốc độ truyền Tối đa 1 Mbps trong phạm vi 40m

Phạm vi tối đa 6km với tốc độ 10Kbps

Số Node tối đa 70 Nodes

Cáp CAN theo tiêu chuẩn ISO 11898, cáp có trở kháng 120  12  Nó phải được xoắn ngang và được che chắn Và đang được áp dụng trên tiêu chuẩn của dây SAE J2411 Cáp CAN có 2 lõi, loại cáp tiêu chuẩn 24 AWG (1 x 2 x 0.25mm² ).

Tốc độ của bit phụ thuộc vào độ dài bus khi độ dài dài bus càng dài thì tốc độ của bit càng giảm Yêu cầu là mặt trước sóng của tín hiệu bit phải có thời gian để di chuyển đến node ở xa nhất và quay trở lại trước khi bit được lấy mẫu.

Bảng 2 3.Chiều dài cáp khác nhau và tốc độ bit tương ứng

Chiều dài cáp (m) Tốc độ bit

CAN bit Timing

Mỗi bit trên CAN bus, cho mục đích xác định thời gian, được chia thành ít nhất

4 lượng tử Các lượng tử được chia một cách hợp lý thành bốn nhóm hoặc phân đoạn:

Phân đoạn đồng bộ hóa

Phân đoạn truyền tín hiệu

Phân đoạn đồng bộ hóa luôn có một lượng tử dài, được sử dụng để đồng bộ hóa thời gian Một cạnh của bit sẽ đị qua tại đây khi dữ liệu thay đổi trên bus Phân đoạn truyền tín hiệu được dùng để bù khoảng thời gian trì hoãn trên bus.

GIỚI THIỆU HỆ THỐNG OBD II VÀ PHƯƠNG PHÁP GIẢI MÃ

Tổng quan về OBD II

OBD (On – Board Diagnostics), hay còn gọi là hệ thống chẩn đoán lỗi OBD, được lắp đặt trên xe nhằm giám sát và điều khiển quá trình vận hành của phương tiện Hệ thống này thu thập dữ liệu từ mạng lưới các cảm biến lắp cố định quanh xe, phát hiện lỗi hỏng hóc và báo động cho người lái xe để kịp thời đề ra biện pháp khắc phục

Hình 3 1.Sơ đồ hệ thống OBD

Hệ thống OBD được phát triển ban đầu nhầm kiểm soát khí thải.Vào năm 1966, tại Mỹ bang California đã đề ra hạn ngạch khí thải cho các loại phương tiện ô tô mới sản xuất.Sau đó, nó đã áp dụng cho toàn quốc. Để đáp ứng các tiêu tuần khí thải, các nhà sản xuất đã ứng dụng bộ điều khiển điện tử ECU và cho ra đời hệ thống OBD để chuẩn đoán lỗi thay thế bằng đèn chớp.

Vào năm 1980, hệ thống OBD thế thứ I được ra đời và giúp việc chuẩn đoán hư hỏng trên xe dễ dàng hơn và chính xác cao Bất cập của hệ thống này là chưa có sự đồng nhất giữa các hãng về các giắc kết nối, chuẩn giao tiếp và qui định mã khác nhau giúp chuẩn đoán lỗi trở nên khó khăn, phức tạp hơn. Đầu những năm 1990, tất cả các phương tiện tuân thủ OBD II được yêu cầu sử dụng chung nối chuẩn đoán tiêu chuẩn SAE J1962 và chuẩn chung bảng mã lỗi bởi Hiệp hội kỹ sư ô tô (SAE) và Tổ chức tiêu chuẩn quốc tế (ISO).

Hình 3 3.Cấu tạo hệ thống OBD

Cấu tạo của hệ thống OBD

- Bộ điều khiển trung tâm ECU

ECU là bộ phận quan trọng và nằm trung tâm của hệ thống OBD, có chức năng lấy các thông tin từ mạng lưới cảm biến trong xe từ đó để điều khiển và giám sát các bộ phận của xe

Mạng lưới cảm biến bao gồm các cảm biến nằm toàn bộ trên xe từ khung gầm, động cơ đến các hệ thống điện tử nhằm theo dõi tình trạng của các bộ phận này Bộ điều khiển trung tâm ECU sẽ giải mã các tín hiệu mà từ các cảm biến gửi trong đó các cảm biến sẽ gửi mã, chỉ định nguồn và các tham số tín hiệu

- Mã sự cố chẩn đoán DTC

DTC còn được gọi là mã sự cố chuẩn đoán hay mã lỗi chuẩn đoán được hệ thống OBD tạo nên và lưu trữ.Khi phương tiện gặp trục trặc hay lỗi thì người lái có thể nhận mã DTC trên xe để có thể biết cụ thể bộ phần nào

- Đèn báo sự cố MIL

Sau khi nhận các mã lỗi DTC thì đèn báo sự cố sẽ sáng hoặc nhấp nháy nhờ thông tin từ bộ điều khiên trung tâm ECU gửi lên.Nếu đèn bão lỗi nhấp nháy thì người lái phải dừng xe hay đưa phương pháp kịp thời vì xe đang gặp vấn đề khẩn cấp còn đèn báo lỗi sáng có nghĩa là bộ phận nào đó đang gặp trục trặc nhỏ

- Cổng kết nối liên kết chẩn đoán DLC

Cổng kết nối DLC được thiết kế nằm phía dưới taplo gần vị trí người lái, có nhiệm vụ kết nối với máy chẩn đoán và module điều khiển để trích xuất các thông số dữ liệu và mã lỗi DTC của xe.

Hệ thống OBD là một chức năng tự chẩn đoán của xe được điều khiển bởi ECU. Dựa trên các tín hiệu thu được từ bộ cảm biến để nhận thấy tình trạng của xe, ECU gửi các tín hiệu đến các bộ cảm biến để tối ưu hoá theo tình trạng hiện tại.

ECU nhận các tín hiệu từ bộ cảm biến dưới dạng điện áp Sau đó ECU có thể xác định được tình trạng của hệ thống bằng việc nhận ra những biến đổi điện áp của tín hiệu, đã được phát ra từ bộ cảm biến Vì vậy, ECU thường xuyên kiểm tra các tín hiệu

(điện áp) đầu vào, rồi so sánh chúng với các giá trị chuẩn đã được lưu giữ trong bộ nhớ của ECU, và xác định ra bất cứ tình trạng bất thường nào.

Giới thiệu OBD II-PIDs

OBD-II PIDs (On-Board Diagnostics Parameter IDS) là mã được sử dụng để yêu cầu dữ liệu từ một phương tiện, được sử dụng như một công cụ chẩn đoán.

Tiêu chuẩn J1979 định nghĩa nhiều PID-II.Ở Bắc mỹ phải hỗ trợ tập hợp con các mã này cho các xe du lịch và bán tải khi các cuộc kiểm tra khi thải bắt buộc của tiểu bang.Mỗi hãng đều xác định các PID bổ sung dành riêng cho xe của họ Nhiều xe máy cũng có hỗ trợ bộ điều khiển PID-II mặc dù không bắt buộc.

Năm 1996 và năm 2005 lần lượt các phương tiện hạng nhẹ(dưới 3900kg hoặc 8500lb) và hạng trung ( 3900kg- 6400kg hoặc 8500lb - 14000lb) đều bị buộc phải trúy cập được thông qua trình kết nối liên kết dữ liệu tiêu chuẩn hóa được xác định bởi SAE J1962

Từ năm 2010, sản xuất các xe hạng nặng (nặng hơn 6400kg hoặc 14000lb) để được bán ở Mỹ phải có hỗ trợ chuẩn đoán OBD-II thông qua tiêu chuẩn SAE J1939-13 theo CARB trong tiêu đề 13 CCR 1971.1.

Thông thường, kỹ thuât viên sửa chữa sẽ sử dụng mã PID với một máy chẩn đoán được kết nối với giắc kết nối OBD 2 của xe.

- Kỹ thuật viên truy cập vào mã PID.

- Máy chẩn đoán gửi tín hiệu đến mạng điều khiển nội bộ của xe CAN, VPW, PWM, ISO, KWP (Sau năm 2008, chỉ sử dụng mạng CAN).

- Một thiết bị trong mạng điều khiển nhận dạng mã PID như là dấu hiệu hư hỏng và báo cáo giá trị mã PID đến hệ thống mạng.

- Máy chẩn đoán đọc tín hiệu được phản hồi và hiển thị thông tin cho kỹ thuật viên.

Bảng 3 1.Bảng tiêu chuẩn SAE J1979 về OBD

01 Hiển thị dữ liệu hiện tại (Show current data)

02 Hiển thị dữ liệu khung cố định(Show freeze frame data)

03 Hiển thị mã lỗi chẩn đoán được lưu trữ(Show Stored Diagnostic Trouble

04 Xóa mã lỗi chẩn đoán và các giá trị được lưu trữ

(Clear Diagnostic Trouble Codes and Stored Values)

05 Kết quả kiểm tra, giám sát cảm biến oxy (không chỉ CAN)(Test results, oxygen sensor monitoring (non CAN only))

Kết quả kiểm tra, giám sát thành phần/hệ thống khác (Kết quả kiểm tra, giám sát cảm biến oxy chỉ dành cho CAN)(Test results, other component/system monitoring (Test results, oxygen sensor monitoring for CAN only))

Hiển thị mã lỗi chuẩn đoán đang chờ xử lí ( được phát hiện trong chu kỳ lái xe hiện tại hoặc cuối cùng) (Show pending Diagnostic Trouble Codes (detected during current or last driving cycle))

08 Kiểm soát hoạt động của thành phần/hệ thống trên tàu (Control operation of on-board component/system)

09 Yêu cầu thông tin xe (Request vehicle information)

0A Mã lỗi chuẩn đoán vĩnh viễn (DTC)(DTC đã xóa) (Permanent Diagnostic

Trouble Codes (DTCs) (Cleared DTCs))

Identifier:11 bit và được sử dụng để phân biệt thông báo yêu cầu hay thông báo phản hồi

Bytes:độ dài tính bằng số byte của dữ liệu còn lại (0x03 đến 0x06).

Mode:Đối với các yêu cầu, giá trị này sẽ nằm trong khoảng 0x01–0x0A Đối với phản hồi, số 0 được thay thế bằng 4 (tức là 0x41, 0x42, …, 0x4A).

Có 10 chế độ như được mô tả trong tiêu chuẩn SAE J1979 Obd2 như phía trên

PID: Đối với mỗi chế độ, tồn tại một danh sách các PID tiêu chuẩn của hệ thống PID2

A, B, C, D: Đây là các byte dữ liệu ở dạng HEX(0x), cần được chuyển đổi sang dạng thập phân trước khi chúng được sử dụng trong tính toán công thức PID

3.2.1 Giải mã PID theo bit

3.2.1.1 Chế độ 01 PID 00 - Hỗ trợ hiển thị PID

PID này trả về 4 byte dữ liệu Mỗi bit, từ MSB đến LSB , đại diện cho một trong 32 PID tiếp theo và chỉ định xem PID đó có được hỗ trợ hay không.

3.2.1.2 Chế độ 01 PID 01 - Giám sát trạng thái kể từ khi xóa DTC

Một yêu cầu cho PID này trả về 4 byte dữ liệu, có nhãn A, B, C và D

Byte đầu tiên (A) sẽ có hai mẫu thông tin là Bit A7 là cho biết đèn MIL có sáng hay không và các bit A6 tới A0 biểu thị số mã lỗi

Byte thứ hai, thứ ba và thứ tư ( B,C và D ) cung cấp đầy đủ thông tin Byte thứ ba và thứ tư ( C và D) sẽ được diễn giải khác nhau giữa động cơ xăng và động cơ diesel. Byte thứ 2 (B) , bit 3 giải thích sự khác nhau giữa byte C và D với:

Các phổ biến về byte A

Bảng 3 2.Mã hóa chế độ 1-PID01

A7 MIL Đèn báo lỗi động cơ khi ta On chìa khóa.

A0 – 6 DTC – CNT Số lượng DTC liên quan đến khí thải đã được xác nhận để hiển thị, B7 Bit lưu trữ Bit lưu trữ.

B3 0 là cho động cơ đánh lửa bằng tia lửa

1 là động cơ đánh lửa bằng cách nén

Các định nghĩa phổ biến về byte B

Bảng 3 3.Bảng định nghĩa về byte B

Các byte C và byte D thể hiện trên động cơ xăng:

Bảng 3 4.Mã hóa Byte C và D ở động cơ xăng

Máy sưởi cảm biến oxi C6 D6

Hệ thống khí thứ cấp C3 D3

Chất xúc tác được làm nóng C1 D1

Các byte C và byte D thể hiện trên động cơ diesel:

Bảng 3 5.Mã hóa byte C và D ở động cơ dầu

Giám sát bộ lọc PM C6 D6

Cảm biến khí thải C5 D5 Áp lực tăng C3 D3

3.2.1.3 Chế độ 1 – PID 78 và 79 - Nhiệt độ khí thải (EGT) Ngân hàng 1 và Ngân hàng 2

Một trong hai PID này đều trả về 9 byte dữ liệu PID 78 thì liên quan đến cảm biến EGT cho ngân hàng 1 còn PID 79 lấy dữ liệu giống PID 78 mà đến ngân hàng 2.

Bảng 3 6.Mã hóa chế độ 1- PID 78-79

A Hỗ trợ cảm biến EGT

B - C Nhiệt độ được đọc bởi cảm biến EGT 1

D - E Nhiệt độ được đọc bởi cảm biến EGT 2

F - G Nhiệt độ được đọc bởi cảm biến EGT 3

H - I Nhiệt độ được đọc bởi cảm biến EGT 4

Byte đầu tiên được mã hóa như sau:

Bảng 3 7.Mã hóa byte đầu tiên của PID 78-79

A3 Hỗ trợ cảm biến EGT 4?

A2 Hỗ trợ cảm biến EGT 3?

A1 Hỗ trợ cảm biến EGT 2?

A0 Hỗ trợ cảm biến EGT 1?

Byte B đến I cung cấp số nguyên 16 bit cho biết nhiệt độ của cảm biến Các giá trị nhiệt độ được diễn giải theo độ C trong khoảng -40 đến 6513,5 (thang 0,1), sử dụng thông (256.A + B)/10 - 40 thường công thức (MSB là A, LSB là B).

Chỉ những giá trị mà cảm biến tương ứng được hỗ trợ mới có ý nghĩa.

3.2.1.4 Chế độ 1 – PID 41- Giám sát trạng thái chu kỳ truyền động

Yêu cầu cho PID này trả về 4 byte dữ liệu, byte A luôn bằng 0, byte B, C, D đưa ra thông tin về các hệ thống.

Chú ý: quá trình kiểm tra nếu có sẽ set bit (1), và tính đầy đủ được biểu thị bằng một bit đặt lại (0).

Bảng 3 8.Mã hóa Chế độ - PID 41 của byte B

Các byte C và D cho cho bộ theo dõi đánh lửa.

Bảng 3 9.Mã hóa Chế độ - PID 41 của byte C và D cho động cơ xăng

Hệ thống EGR hoặc VVT C7 D7

Máy sưởi cảm biến oxi C6 D6

Hệ thống khí thứ cấp C3 D3

Chất xúc tác được làm nóng C1 D1

Các byte C và D cho động cơ diesel

Bảng 3 10.Mã hóa Chế độ - PID 41 của byte C và D cho động cơ diesel

Hệ thống EGR hoặc VVT C7 D7

Giám sát bộ lọc PM C6 D6

Trình bày khí NOx/SCR C1 D1

3.2.1.5 Chế độ 3 - Hiển thị mã lỗi chuẩn đoán được lưu trữ

Chế độ này sẽ trả về danh sách DTC đã được thiết lập Danh sách được gói gọn bằng giao thứcISO 15765-2.

Nếu có hai hoặc ít hơn DTC (tối đa 4 byte) thì chúng sẽ được trả về trong Khung đơn ISO-TP (SF) Ba DTC trở lên trong danh sách được báo cáo trong nhiều khung, với số khung chính xác phụ thuộc vào loại giao tiếp và chi tiết địa chỉ.

Mỗi mã sự cố cần 2 byte để mô tả Được mã hóa trong các byte này là một danh mục và một số Nó thường được hiển thị được giải mã thành dạng năm ký tự như

" U0158 ", trong đó ký tự đầu tiên (ở đây là 'U') đại diện cho danh mục mà DTC thuộc về và bốn ký tự còn lại là biểu thị thập lục phân của số trong danh mục đó Hai bit đầu tiên ( A7 và A6 ) của byte đầu tiên (A) đại diện cho danh mục 14 bit còn lại đại diện cho số Điều đáng lưu ý là vì ký tự thứ hai chỉ được hình thành từ hai bit nên nó chỉ có thể nằm trong phạm vi 0-3.

Bảng 3 11.Mã hóa chế độ

11 :U- Tích hợp mạng và phương tiện A5 - B0 Số (trong danh mục)

3.2.2 Quá trình truyền nhận dữ liệu sử dụng CAN (11-bit)

Trình đọc truy vấn CAN ID sử dụng ID 0x7DF ECU sau đó sẽ phản hồi bằng cách gửi lại tin nhắn và chấp nhận phản hồi từ bất kỳ ID nào trong phạm vi 0x7E8 đến 0x7EF ECU cũng có thể phản hồi các tin nhắn được gửi từ 0x7DF và ID trong phạm vi 0x7E0 đến 0x7E7 Thông báo ECU phản hồi sẽ có địa chỉ tương ứng cộng thêm 8, nằm trong khoảng từ 0x7E8 đến 0x7EF Điều này cho phép liên lạc đồng thời với tối đa 8 ECU, trong đó mỗi ECU phản hồi độc lập với các yêu cầu được gửi bởi hệ thống OBD-2.

3.2.3 Các giao thức tín hiệu OBD II

Hãng General Motors có giao thức tín hiệu của OBD II là SAE J1850 VPW có biến thiên xung là 10.4 kbit/s.Để có thể xác nhận giao thức J1850 VPW thì chúng ta để ý các điểm tiếp xúc trong chân 16,5,4,2 và chân 2 nhưng không có mã PIN 10

Hình 3 5 Kiểu giắc chân SAE J1850 VPW

- Độ dài của tín hiệu được giới hạn ở mức 12 bytes, bao gồm cả CRC

THIẾT KẾ GIAO DIỆN TIỆN NGHI THÔNG MINH BẰNG MIT APP INVENTOR

Giới thiệu

MIT App Inventor là một ứng dụng web nguồn mở ban đầu được cung cấp bởi Google và hiện tại được duy trì bởi Viện Công Nghệ Massachusetts (MIT) Nền tảng này cho phép người dùng lập trình và tạo ra các ứng dụng phần mềm cho hệ điều hành Android bằng cách kéo và thả các khối mã (blocks) Bằng cách này, MIT App Inventor có thể giúp đỡ những người chưa có kiến thức về ngôn ngữ lập trình từ trước có thể dễ dàng tạo ra những ứng dụng hữu ích chạy được trên nền tảng Android.

Ngày nay, MIT đã hoàn thiện App Inventor và nó được chia sẻ ngay trên tài khoản Google Các lập trình viên vừa mới bắt đầu hoặc bất kì ai muốn tạo ra ứng dụng cho Android đều có thể sử dụng MIT, chỉ cần vào địa chỉ web của MIT, nhập thông tin tài khoản Google, thông qua hướng dẫn có sẵn và bắt đầu từ những mảnh ghép nhỏ dần dần xây dựng nên ý tưởng và tạo ra một ứng dụng của riêng mình.

MIT gồm có 3 giao diện chính: giao diện quản lý, giao diện thiết kế và giao diện lập trình

Hình 4 1.Giao diện quản lý

Hình 4 2.Giao diện thiết kế

Hình 4 3.Giao diện lập trình

Xây dựng ứng dụng cho nền tảng Android bằng MIT

Sau khi đăng nhập, tại cửa sổ chính ta chọn “New project”, sau đó đặt tên cho dự án muốn tạo

Hình 4 4 Tạo và đặt tên cho một dự án mới

Một ứng dụng có thể bao gồm nhiều cửa sổ giao diện, trong MIT AI2 được gọi là các Sreen

Hình 4 5.Giao diện thiết kế của MIT AI2

Một giao diện thiết kế có 4 khung chức năng chính:

- Palette: có những thanh có thể đặt lên giao diện màn hình như Lisview, Label, Button, Textbox… Đến những thanh không nhìn thấy trên giao diện màn hình như: Sensors, Notifier,

- Viewer: hiển thị giao diện màn hinh.Kéo và thả các thanh từ khung Palatte sang đây để thiết kế giao diện cho ứng dụng.

- Components: sơ đồ cây thể hiện các thành phần đã có trên giao diện màn hình

- Properties: hiển thị các thuộc tính tương ứng với component đang được chọn

Ngoài ra còn có khung Media để tải lên các file media như ảnh nền,icon

Các thành phần được sử dụng trong dự án:

Bảng 4 1.Các khối được dùng trong dự án

STT Thành phần Chức năng

1 User Interface Button Nút nhấn có khả năng phát hiện khi người dùng nhấn

2 Image Thành phần dùng để hiển thị hình ảnh, có khả năng phát hiện việc nhấn đơn

3 Label Nhãn dán để hiển thị một đoạn văn bản

4 ListPicker Một nút khi nhấn vào sẽ hiển thị một danh sách cho người dùng chọn

5 Notifier Thành phần dùng để hiển thị các hộp thoại cảnh báo, tin nhắn và cảnh báo tạm thời, đồng thời tạo các mục nhật ký Android

6 Layout HorizontalArrangement Một phần tử định dạng giúp đặt các thành phần hiển thị từ trái sang phải

7 HorizontalScrollArrangement Một phần tử định dạng giúp đặt các thành phần hiển thị từ trái sang phải và có thể cuộn được

8 VerticalArrangement Một phần tử định dạng giúp đặt các thành phần hiển thị từ trên xuống dưới

9 Media Sound Một thành phần đa phương tiện để phát các tệp âm thanh ngắn

10 SpeechRecognizer Thành phần nhận dạng giọng nói và chuyển thành văn bản

11 TextToSpeech Thành phần dùng để nói một đoạn văn bản nhất định

Canvas Một bản điều khiển hình chữ nhật dùng để vẽ và di chuyển các ”sprite”

13 ImageSprite Một “sprite” được đặt trên Canvas, nơi nó có thể phản ứng lại với các thao tác chạm và kéo hoặc tương tác với các “sprite” khác

14 Maps Map Một thành phần hiển thị các ô bản đồ ở chế độ nền và cho phép đánh dấu các điểm xác định trên đó

15 Marker Một biểu tượng được đặt tại một điểm trên bản đồ để đánh dấu và hiển thị thông tin

16 Sensors Clock Thành phần không nhìn thấy cung cấp một bộ đếm bằng cách sử dụng đồng hồ trên thiết bị Android

17 LocationSensor Thành phần không nhìn thấy cung cấp các thông tin về vị trí (kinh độ, vĩ độ, độ cao, tốc độ )

18 Storage CloudDB Thành phần không nhìn thấy cho phép lưu trữ dữ liệu trên máy chủ cơ sở dữ liệu được kết nối Internet

19 TinyDB Thành phần không nhìn thấy dùng để lưu trữ dữ liệu cho ứng dụng

20 Connectivity ActivityStarter Thành phần có thể khởi chạy một hoạt động bằng phương pháp khởi động

21 BluetoothClient Thành phần dùng để kết nối 2 thiết bị khác nhau bằng Bluetooth

Lập trình chức năng

Trong MIT AI2, code chính là các Blocks, việc chúng ta phải làm là kéo thả các Blocks này sang khung Viewer và kết nối chúng theo chức năng mong muốn.

- Các blocks chức năng cơ bản của một chương trình như điều khiển luồng, logic, toán học, ký tự, biến

Hình 4 6 Các blocks chức năng cơ bản

- Các blocks chức năng theo từng thành phần trong ứng dụng, mỗi thành phần trong ứng dụng đều có các blocks chức năng tương ứng

Hình 4 7.Các blocks chức năng của từng thành phần

Nhóm này gồm có 3 kiểu chính:

Hình 4 8.Các blocks thuộc tính của mỗi thành phần trong ứng dụng

Hình 4 9.Các blocks phương thức của mỗi thành phần trong ứng dụng

Hình 4 10.Các blocks sự kiện của mỗi thành phần trong ứng dụng

Các khối (blocks) được sử dụng trong dự án

Bảng 4 2.Các khối được sử dụng trong dự án

1 Control Thực hiện lệnh khi và chỉ khi điều kiện đưa ra là đúng

2 Thực hiện một hành động cụ thể nào đó với tất cả các đối tượng trong danh sách

3 Thực hiện một hành động nào đó mà không quan tâm đến kết quả

4 Mở một màn hình khác với tên cụ thể trong ứng dụng

5 Logic Sử dụng cho đối tượng mang tính đúng sai và mang giá trị đúng

6 Sử dụng cho đối tượng mang tính đúng sai và mang giá trị sai

7 Sử dụng để xem xét hai đối tượng nào đó có tương đương nhau không

8 Sử dụng khi có nhiều điều kiện yêu cầu tất cả các điều kiện phải đúng

9 Sử dụng khi có nhiều điều kiện và yêu cầu có tối thiểu một điều kiện đúng

10 Math Là một con số cụ thể (kể cả âm dương hay số thực)

11 Kiểm tra xem hai đối tượng nào đó có bằng nhau không

12 Kết quả của việc cộng hai hay nhiều khối có giá trị là số với nhau

13 Kết quả của việc trừ khối thứ nhất đi khối thứ hai, các khối phải có giá trị là số

14 Kết quả của việc nhân hai hay nhiều khối có giá trị là số với nhau

15 Kết quả của việc chia khối thứ nhất cho khối thứ hai, các khối phải có giá trị là số

16 Lấy số nguyên của một khối có giá trị là số

17 Text Chứa một đoạn văn bản bất kỳ với bất kỳ ký tự nào

18 Kết hợp nhiều khối có giá trị là ký tự lại với nhau thành một chuỗi ký tự

19 Chia văn bản thành các phần tại vị trí cụ thể dựa vào ký tự có trong đoạn văn bản đó

20 Lists Chọn một phần tử có trong danh sách dựa vào thứ tự của nó

21 Variables Tạo một biến toàn cục với tên là “name” và có thể thiết lập giá trị ban đầu

22 Lấy giá trị tức thời của một biến cụ thể có tên “global name”

23 Thiết lập giá trị mới cho một biến cụ thể tên

Xây dựng giao diện và thiết lập các blocks chức năng

Hình 4 11.Giao diện thiết kế màn hình chính

Hình 4 12.Lập trình chức năng cho màn hình giải trí

Hình 4 13.Khởi tạo các biến và các hàm chức năng

Hình 4 14.Các khối chức năng kết nối qua Bluetooth và cổng USB để truyền nhận dữ liệu từ mạng CAN

Hình 4 15.Hàm nhận dữ liệu và tách các thông số từ mạng CAN

Hình 4 16.Hàm hiển thị các thông số thu được lên màn hình chính của giao diện

Hình 4 17.Hiển thị các thông số thu được trong giao diện thông số

Hình 4 18.Lập trình chức năng chuyển đổi ảnh nền của giao diện

Hình 4 19.Thiết kế giao diện chức năng nghe nhạc

Hình 4 20.Các khối lệnh cho chức năng nghe nhạc

Hình 4 21.Các khối chức năng cho các nút trong giao diện nghe nhạc

Hình 4 22.Các khối chức năng cho giao diện chọn bài và animation

Hình 4 23.Các khối chức năng truy cập bộ nhớ thiết bị/USB để chọn bài hát

Hình 4 24.Thiết kế giao diện bản đồ

Hình 4 25.Thiết lập các khối chức năng cho bản đồ

Hình 4 26.Thiết lập các nút trong giao diện bản đồ

Hình 4 27.Thiết kế giao diện tìm kiếm

Hình 4 28.Thiết lập các nút trong giao diện tìm kiếm

Hình 4 29.Giao diện màn hình chính

Hình 4 30.Giao diện hiển thị thông số

Hình 4 31.Giao diện màn hình giải trí và tiện ích

Hình 4 32.Giao diện chức năng nghe nhạc

Hình 4 33.Giao diện chức năng thay đổi ảnh nền

Hình 4 34.Giao diện chức năng bản đồ

Hình 4 35.Chức năng đánh dấu đường đi

Hình 4 36.Chức năng chỉ đường

Hình 4 37.Giao diện tìm kiếm

THIẾT KẾ BỘ GIAO TIẾP OBD II, GIẢ LẬP CÁC TÍN HIỆU TRÊN

Thiết kế bộ truyền nhận tín hiệu

5.1.1 Các thiết bị cần thiết

Thiết bị vi xử lí

Arduino Uno là vi điều khiển giải mã cho bộ giao tiếp.

Thiết bị thu phát CAN

Module MCP 2515 là bộ thu phát CAN cho vi điều khiển không tích hợp chuẩn giao tiếp hiện đại này Module MCP 2515 giao tiếp với vi điều khiển bằng giao tiếp SPI.

Kết nối trưc tiếp thông qua cáp USB hoặc kết nối không dây bằng module Bluetooth JDY-33.

Module Bluetooth JDY-33 là thiết bị có thể kết nối không dây giữa vi điều khiển Arduino Uno với màn hình Android hoặc kết nối với các thiết bị khác.

5.1.2 Sơ đồ đấu dây của bộ giao tiếp OBD II

Cách đi dây các chân của các module

Bảng 5 1.Cách đi dây chân của Arduino Uno với module Bluetooth JDY-33

Arduino Uno Module Blutooth JDY-33

Bảng 5 2.Cách đi dây chân của Arduino Uno với module MCP2515

Bảng 5 3.Cách đi dây chân của module MCP2515 với OBD II

Hình 5 4.Sơ đồ mạch giao tiếp CAN và giả lập tín hiệu (áp suất lốp, đèn báo)

Từ sơ đồ đi dây của hình 5.4 và nối dây của bảng 5.1, 5.2, 5.3 ta có thể đi dây hoàn thành bộ giao tiếp giải mã OBD II như sau:

5.1.3 Lập trình bộ giao tiếp OBD II

Hình 5 6.Phần code đọc thông số của xe

Dựa các ví dụ và kiến thức lập trình về CAN và các mã PID của OBD II để lập trình tính toán các thông số của xe thông qua CAN để gửi lên app trên màn hình Dưới đây là một vài thông số đã đọc được từ mô hình xe Kia Morning 2011.

Hình 5 7.Các thông số được đọc qua bộ giao tiếp giải mã

Thiết kế bộ giả lập các tín hiệu xe

Các tín hiệu như: cửa xe mở, thắng tay, chưa thắt dây an toàn, các cảm biến áp suất lốp… Do thời gian hạn chế nên nhóm đã không kịp thu thập các tín hiệu đó từ điện thân và cảm biến áp suất lốp nên nhóm đã giả lập các tín hiệu đó để lấy tín hiệu lên màn hình.

5.2.1 Giả lập áp suất lốp xe

Nhóm sử dụng bốn biến trở giả lập thành bốn cảm biến áp suất của bốn lốp xe, có giá trị từ 0 đến 3 bar và tích hợp đèn cảnh khi áp suất bánh xe xuống dưới 2bar thì đèn cảnh báo sẽ sáng để cảnh báo cho người lái xe.

5.2.2 Giả lập đèn cảnh báo trên xe

Hình 5 9.Công tắc ON-OFF 3 chân

Nhóm giả lập vài tín hiệu cơ bản như cửa xe mở, thắng tay, chưa thắt dây an toàn. Những tín hiệu được lấy từ điện thân xe thông qua CAN để lên màn hình Nhóm sử dụng ba công tắc để giả lập thành ba tín hiệu cửa xe mở, thắng tay, chưa thắt dây an toàn.

Hình 5 10 Hộp chứa bộ giao tiếp giải mã và kết hợp với giả lập tín hiệu

Thử nghiệm mô hình giao diện

5.3.1 Thử nghiệm mô hình giao diện trên mô hình giả lập CAN

Sau khi kết nối bộ giao tiếp lên mô hình xe Kia Morning Các thông số được hỗ trợ bởi chuẩn PID trên mô hình xe Kia Morning như sau:

Bảng 5 4 Bảng thông số hỗ trợ chuẩn PID trên mô hình giả lập CAN xe Kia Morning

Hình ảnh thực tế giao diện trên màn hình ô tô

Hình 5 11.Giao diện chính của màn hinh

Hình 5 12.Giao diện hiển thị vài thông số động cơ

Hình 5 13.Giao diện chuẩn đoán mã lỗi

Hình 5 14.Giao diện tiện nghi giải trí

Hình 5 15.Giao diện nghe nhạc

Hình 5 16.Chọn nhạc từ bộ nhớ thiết bị/ÚSB

Hình 5 17.Chức năng thao tác bằng giọng nói

Hình 5 18.Chức năng tìm kiếm internet

Hình 5 19.Chức năng do tìm bluetooth

Hình 5 20.Chức năng bản đồ

5.3.2 Thử nghiệm mô hình giao diện trên xe Ford Focus 2019

Sau khi kết nối bộ giao tiếp bằng giắc OBD II lên xe ta thu được vài thông số của xe như các hình sau:

Hình 5 21.Thông số xe khi ở tốc độ cầm chừng

Hình 5 22.Thông số xe khi đạp ga

Hình 5 23.Giao diện một vài thông số của xe

Ngày đăng: 26/09/2024, 10:01

HÌNH ẢNH LIÊN QUAN

Hình 2. 5. Minh họa một mạng CAN - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 2. 5. Minh họa một mạng CAN (Trang 24)
Hình 2. 6. Mức điện áp trên đường CAN-H và CAN- L khi truyền dữ liệu - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 2. 6. Mức điện áp trên đường CAN-H và CAN- L khi truyền dữ liệu (Trang 25)
Hình 4. 1. Giao diện quản lý - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 1. Giao diện quản lý (Trang 50)
Hình 4. 2. Giao diện thiết kế - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 2. Giao diện thiết kế (Trang 51)
Hình 4. 7. Các blocks chức năng của từng thành phần - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 7. Các blocks chức năng của từng thành phần (Trang 57)
Hình 4. 9. Các blocks phương thức của mỗi thành phần trong ứng dụng - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 9. Các blocks phương thức của mỗi thành phần trong ứng dụng (Trang 58)
Hình 4. 15. Hàm nhận dữ liệu và tách các thông số từ mạng CAN - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 15. Hàm nhận dữ liệu và tách các thông số từ mạng CAN (Trang 65)
Hình 4. 16. Hàm hiển thị các thông số thu được lên màn hình chính của giao diện - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 16. Hàm hiển thị các thông số thu được lên màn hình chính của giao diện (Trang 66)
Hình 4. 17. Hiển thị các thông số thu được trong giao diện thông số - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 17. Hiển thị các thông số thu được trong giao diện thông số (Trang 67)
Hình 4. 18. Lập trình chức năng chuyển đổi ảnh nền của giao diện - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 18. Lập trình chức năng chuyển đổi ảnh nền của giao diện (Trang 68)
Hình 4. 19. Thiết kế giao diện chức năng nghe nhạc - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 19. Thiết kế giao diện chức năng nghe nhạc (Trang 68)
Hình 4. 21. Các khối chức năng cho các nút trong giao diện nghe nhạc - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 21. Các khối chức năng cho các nút trong giao diện nghe nhạc (Trang 69)
Hình 4. 20. Các khối lệnh cho chức năng nghe nhạc - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 20. Các khối lệnh cho chức năng nghe nhạc (Trang 69)
Hình 4. 22. Các khối chức năng cho giao diện chọn bài và animation - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 22. Các khối chức năng cho giao diện chọn bài và animation (Trang 70)
Hình 4. 24. Thiết kế giao diện bản đồ - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 24. Thiết kế giao diện bản đồ (Trang 70)
Hình 4. 30. Giao diện hiển thị thông số - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 30. Giao diện hiển thị thông số (Trang 73)
Hình 4. 34. Giao diện chức năng bản đồ - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 4. 34. Giao diện chức năng bản đồ (Trang 75)
Hình 5. 10. Hộp chứa bộ giao tiếp giải mã và kết hợp với giả lập tín hiệu - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 10. Hộp chứa bộ giao tiếp giải mã và kết hợp với giả lập tín hiệu (Trang 82)
Hình ảnh thực tế giao diện trên màn hình ô tô - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
nh ảnh thực tế giao diện trên màn hình ô tô (Trang 83)
Hình 5. 14. Giao diện tiện nghi giải trí - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 14. Giao diện tiện nghi giải trí (Trang 84)
Hình 5. 13. Giao diện chuẩn đoán mã lỗi - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 13. Giao diện chuẩn đoán mã lỗi (Trang 84)
Hình 5. 15. Giao diện nghe nhạc - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 15. Giao diện nghe nhạc (Trang 85)
Hình 5. 16. Chọn nhạc từ bộ nhớ thiết bị/ÚSB - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 16. Chọn nhạc từ bộ nhớ thiết bị/ÚSB (Trang 85)
Hình 5. 17. Chức năng thao tác bằng giọng nói - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 17. Chức năng thao tác bằng giọng nói (Trang 86)
Hình 5. 18. Chức năng tìm kiếm internet - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 18. Chức năng tìm kiếm internet (Trang 86)
Hình 5. 19. Chức năng do tìm bluetooth - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 19. Chức năng do tìm bluetooth (Trang 87)
Hình 5. 20. Chức năng bản đồ - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 20. Chức năng bản đồ (Trang 87)
Hình 5. 22. Thông số xe khi đạp ga - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 22. Thông số xe khi đạp ga (Trang 88)
Hình 5. 21. Thông số xe khi ở tốc độ cầm chừng - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 21. Thông số xe khi ở tốc độ cầm chừng (Trang 88)
Hình 5. 23. Giao diện một vài thông số của xe - Đồ án tốt nghiệp: Nghiên cứu, thử nghiệm giao diện tiện nghi thông minh trên ô tô cho màn hình Android
Hình 5. 23. Giao diện một vài thông số của xe (Trang 89)

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN