Ô tô hiện đại ngày nay không chỉ là cỗ máy cơ khí tinh xảo mà còn là một hệ thống phần mềm phức tạp, với hàng chục, thậm chí hàng trăm bộ điều khiển điện tử (ECU) hoạt động đồng bộ. Để quản lý sự phức tạp ngày càng tăng này, tiêu chuẩn AUTOSAR (AUTomotive Open System ARchitecture) đã ra đời. Việc hiểu rõ các lớp chính trong kiến trúc AUTOSAR là gì không chỉ quan trọng với các nhà phát triển phần mềm mà còn giúp những người yêu xe và kỹ thuật viên như đội ngũ tại Garage Auto Speedy có cái nhìn sâu sắc hơn về “bộ não” của chiếc xe, từ đó nâng cao hiệu quả chẩn đoán và sửa chữa. Bài viết này sẽ đi sâu vào cấu trúc phân lớp của AUTOSAR, giải thích vai trò của từng thành phần chính dưới góc nhìn chuyên gia từ Garage Auto Speedy.
Để có cái nhìn toàn diện hơn về nền tảng cơ bản của AUTOSAR, bạn có thể tìm hiểu về ["Foundation" trong AUTOSAR là gì và nó cung cấp những gì?](https://autospeedy.vn/foundation-trong-autosar-la-gi-va-no-cung-cap nhung-gi/).
Trước khi có AUTOSAR, mỗi nhà sản xuất ô tô và nhà cung cấp phần mềm thường phát triển các giải pháp phần mềm ECU độc quyền. Điều này dẫn đến sự thiếu tương thích, khó tái sử dụng code, và chi phí phát triển cao. Mỗi khi thay đổi phần cứng (một vi điều khiển mới, một cảm biến mới), phần mềm liên quan thường phải viết lại đáng kể.
AUTOSAR giải quyết vấn đề này bằng cách đề xuất một kiến trúc phần mềm chuẩn hóa, phân lớp rõ ràng. Mục tiêu chính là tách biệt phần mềm ứng dụng (chức năng xe) khỏi phần mềm cơ bản (giao tiếp với phần cứng), cho phép tái sử dụng cao hơn và giảm sự phụ thuộc vào phần cứng cụ thể.
Kiến trúc AUTOSAR Classic (phổ biến trong các ứng dụng nhúng truyền thống) được xây dựng dựa trên nguyên tắc phân lớp. Các lớp này được sắp xếp từ trên xuống dưới theo mức độ trừu tượng giảm dần, từ phần mềm ứng dụng độc lập với phần cứng cho đến các lớp tương tác trực tiếp với vi điều khiển.
Các lớp chính trong kiến trúc AUTOSAR Classic bao gồm:
Chúng ta sẽ đi sâu vào từng lớp.
Đây là lớp cao nhất trong kiến trúc AUTOSAR, chứa đựng các chức năng thực tế của chiếc xe mà người dùng trải nghiệm hoặc các hệ thống điều khiển cốt lõi. Các ví dụ bao gồm:
Các chức năng trong Lớp Ứng Dụng được triển khai dưới dạng các Software Components (SC – Thành phần Phần mềm). Mỗi SC là một khối chức năng độc lập, có thể được phát triển bởi các nhà cung cấp khác nhau và được tích hợp vào hệ thống mà không cần biết chi tiết về phần cứng bên dưới hoặc thậm chí là SC khác đang chạy ở đâu. SC giao tiếp với thế giới bên ngoài (các SC khác hoặc BSW) hoàn toàn thông qua RTE.
Mỗi SC chứa các đơn vị thực thi được gọi là “Runnables”. Runnables là các phần code được lên lịch để chạy bởi hệ điều hành (OS) của AUTOSAR.
RTE là “trái tim” của kiến trúc AUTOSAR. Nó hoạt động như một lớp trung gian (middleware) giữa Lớp Ứng Dụng và Lớp BSW. Vai trò chính của RTE là:
RTE là một phần mềm được sinh ra tự động (generated) dựa trên cấu hình của toàn bộ hệ thống (system configuration) và cấu hình của từng ECU (ECU configuration). Điều này đảm bảo RTE được tối ưu hóa cho từng dự án cụ thể.
BSW là lớp nền tảng trong kiến trúc AUTOSAR, cung cấp các dịch vụ chuẩn hóa cho Lớp Ứng Dụng thông qua RTE. Mục tiêu của BSW là trừu tượng hóa sự khác biệt của phần cứng, cho phép các SC hoạt động độc lập với loại vi điều khiển hoặc cấu hình ECU cụ thể.
BSW được chia thành nhiều lớp phụ và các module chức năng:
Đây là lớp cao nhất của BSW, cung cấp các dịch vụ cơ bản và quan trọng cho hệ thống. Các module chính trong lớp này bao gồm:
Ông Nông Văn Linh, Kỹ sư trưởng tại Garage Auto Speedy, chia sẻ: “Kiến trúc phân lớp của AUTOSAR, đặc biệt là lớp BSW với các dịch vụ chẩn đoán tiêu chuẩn, giúp chúng tôi tại Garage Auto Speedy tiếp cận và phân tích lỗi hệ thống trên xe hiện đại hiệu quả hơn. Việc hiểu rõ từng lớp giúp khoanh vùng vấn đề, từ đó đưa ra phương án sửa chữa chính xác và nhanh chóng. Các dịch vụ chẩn đoán theo chuẩn UDS trong lớp này là công cụ không thể thiếu khi làm việc với các ECU phức tạp.”
Lớp này cung cấp một giao diện chuẩn hóa cho các dịch vụ cao hơn (Service Layer, hoặc Complex Drivers) để truy cập các ngoại vi trên ECU mà không cần biết chi tiết về cách chúng được kết nối với vi điều khiển. Nó trừu tượng hóa sự khác biệt giữa các bố trí chân (pin mapping), mạch điều khiển ngoại vi hoặc bộ nhớ trên các bo mạch ECU khác nhau, ngay cả khi chúng dùng cùng một loại vi điều khiển.
Ví dụ: Lớp ECU Abstraction sẽ cung cấp một giao diện đọc giá trị cảm biến nhiệt độ, dù cảm biến đó được kết nối với chân ADC nào trên vi điều khiển cụ thể.
Đây là lớp thấp nhất của BSW, nằm ngay trên phần cứng vi điều khiển. MCAL cung cấp các trình điều khiển (drivers) chuẩn hóa để tương tác trực tiếp với các ngoại vi của vi điều khiển (timers, ADC, PWM, GPIO, giao tiếp nối tiếp như SPI, I2C, v.v.). Lớp này phụ thuộc hoàn toàn vào kiến trúc vi điều khiển cụ thể.
Mục tiêu của MCAL là cung cấp một giao diện trừu tượng cho các lớp cao hơn (ECU Abstraction, Complex Drivers), che giấu sự khác biệt giữa các nhà sản xuất vi điều khiển hoặc các dòng vi điều khiển khác nhau.
AUTOSAR cũng cho phép các “Trình điều khiển phức tạp” (Complex Drivers). Đây là các module có thể truy cập trực tiếp MCAL hoặc thậm chí phần cứng để xử lý các chức năng có yêu cầu thời gian thực rất nghiêm ngặt hoặc không phù hợp với mô hình trừu tượng hóa chuẩn của BSW (ví dụ: xử lý tín hiệu thô từ cảm biến radar, điều khiển động cơ bước phức tạp). Complex Drivers vẫn có thể tương tác với Lớp Ứng Dụng thông qua RTE.
Mối quan hệ giữa các lớp trong kiến trúc AUTOSAR là mối quan hệ phụ thuộc từ trên xuống:
Việc áp dụng kiến trúc phân lớp này đòi hỏi một quy trình làm việc nhất quán và rõ ràng, đó là nơi phương pháp luận của AUTOSAR phát huy vai trò. Để hiểu rõ hơn về khía cạnh này, bạn có thể tham khảo bài viết về Phương pháp luận (Methodology) của AUTOSAR hoạt động như thế nào?.
Kiến trúc phân lớp của AUTOSAR mang lại nhiều lợi ích đáng kể cho ngành công nghiệp ô tô:
Mặc dù AUTOSAR đang trở nên phổ biến, nhưng liệu [Có phải tất cả ECU trong một chiếc xe hiện đại đều chạy AUTOSAR không?](https://autospeedy.vn/co-phai-tat-ca-ecu-trong-mot-chiec-xe-hien dai-deu-chay-autosar-khong/)? Đây là một câu hỏi thú vị mà nhiều người thắc mắc.
Ngoài kiến trúc Classic tập trung vào hệ thống nhúng truyền thống, AUTOSAR còn có nền tảng Adaptive cho các ứng dụng phức tạp hơn, yêu cầu khả năng tính toán cao như hệ thống hỗ trợ lái nâng cao (ADAS) và thông tin giải trí. Trong đó, DDS (Data Distribution Service) có vai trò gì trong AUTOSAR Adaptive? là một chủ đề đáng quan tâm.
Sự phát triển của công nghệ phần mềm ô tô cũng đặt ra câu hỏi về việc áp dụng các công nghệ hiện đại như container. Vậy, AUTOSAR có hỗ trợ các container như Docker không? Câu trả lời liên quan đến các nền tảng mới hơn của AUTOSAR.
Mục tiêu chính là chuẩn hóa kiến trúc phần mềm cho các bộ điều khiển điện tử (ECU) trong ô tô nhằm tăng tính tái sử dụng, khả năng tương thích và quản lý sự phức tạp.
RTE (Runtime Environment) là lớp trung gian, hoạt động như một “virtual bus”, cho phép các Software Components (SCs) giao tiếp với nhau và với lớp BSW một cách độc lập với phần cứng và vị trí vật lý của chúng.
BSW là viết tắt của Basic Software (Phần Mềm Cơ Bản). Chức năng chính của BSW là cung cấp các dịch vụ chuẩn hóa (hệ điều hành, giao tiếp, bộ nhớ, chẩn đoán…) cho lớp ứng dụng và trừu tượng hóa sự khác biệt của phần cứng vi điều khiển và ECU.
Trong AUTOSAR Classic, các Software Components giao tiếp với nhau thông qua RTE (Runtime Environment) bằng cách sử dụng các giao diện (Interfaces) và cổng (Ports) được định nghĩa chuẩn hóa.
MCAL (Microcontroller Abstraction Layer) là lớp thấp nhất của BSW, cung cấp các trình điều khiển tương tác trực tiếp với các ngoại vi của vi điều khiển, trừu tượng hóa sự khác biệt giữa các loại vi điều khiển khác nhau.
Hiểu về AUTOSAR giúp kỹ thuật viên như đội ngũ tại Garage Auto Speedy nắm bắt được cấu trúc phần mềm của xe, hiểu cách các hệ thống hoạt động, từ đó chẩn đoán lỗi liên quan đến phần mềm chính xác hơn và thực hiện các quy trình cập nhật phần mềm hiệu quả.
Tóm lại, kiến trúc phân lớp của AUTOSAR là nền tảng cốt lõi giúp quản lý sự phức tạp ngày càng tăng trong phần mềm ô tô hiện đại. Từ Lớp Ứng Dụng chứa logic chức năng, Môi Trường Thực Thi (RTE) đóng vai trò kết nối, đến Phần Mềm Cơ Bản (BSW) trừu tượng hóa phần cứng, mỗi lớp đều có vai trò riêng biệt nhưng phối hợp chặt chẽ. Việc hiểu rõ các lớp chính trong kiến trúc AUTOSAR không chỉ là kiến thức kỹ thuật mà còn là chìa khóa để nắm bắt công nghệ xe hơi của tương lai, giúp nâng cao khả năng làm chủ công nghệ cho cả nhà sản xuất, nhà phát triển và các chuyên gia dịch vụ ô tô.
Tại Garage Auto Speedy, chúng tôi luôn cập nhật kiến thức chuyên sâu về các công nghệ tiên tiến như AUTOSAR để mang đến dịch vụ sửa chữa và bảo dưỡng xe ô tô chất lượng, chính xác nhất, xứng đáng với niềm tin của quý khách hàng. Nếu bạn có bất kỳ câu hỏi nào về công nghệ ô tô hoặc cần tư vấn về chiếc xe của mình, đừng ngần ngại liên hệ với Garage Auto Speedy qua hotline 0877.726.969 hoặc ghé thăm trực tiếp địa chỉ 2QW3+G93 Bắc Từ Liêm, Hà Nội, Việt Nam để được đội ngũ chuyên gia của chúng tôi hỗ trợ.
Hệ thống Auto Hold, hay còn gọi là phanh tự động giữ, là một tính…
AUTOSAR (AUTomotive Open System ARchitecture) là một kiến trúc phần mềm tiêu chuẩn được sử…
Mô-đun Crypto Stack trong AUTOSAR (Automotive Open System Architecture) đóng vai trò quan trọng trong…
Hệ thống hỗ trợ lái xe nâng cao (ADAS) ngày càng trở nên phổ biến…
AUTOSAR (AUTomotive Open System ARchitecture) đã trở thành một tiêu chuẩn quan trọng trong ngành…
Auto Hold, hay còn gọi là chức năng giữ phanh tự động, ngày càng trở…