Phần D — Chiến lược triển khai
Hướng tới chiếc xe ảo
Quá trình tiến hóa từ mô phỏng xe sang một chiếc xe được ảo hóa hoàn toàn, bao gồm cả ECU ảo và hệ thống bus ảo, cho phép kiểm thử toàn diện phần mềm và việc tích hợp hệ thống trong môi trường số, qua đó đẩy nhanh phát triển đồng thời giảm phụ thuộc vào các mẫu thử vật lý.

Ảo hóa thực chất là gì?
Ảo hóa (virtualization) cho phép phần mềm hoặc phần cứng chạy trên phần cứng phổ thông, sẵn có rộng rãi — chẳng hạn hệ thống cấp tiêu dùng — thay vì trên các bộ điều khiển chuyên biệt, đắt tiền. Bằng cách ảo hóa những thành phần như bộ điều khiển, kỹ sư có thể thay phần cứng chuyên dụng vốn hạn chế bằng các giải pháp mở rộng được, chạy trên môi trường Windows hoặc Linux. Cách tiếp cận này giảm chi phí, cải thiện khả năng sẵn có của tài nguyên và rút ngắn chu kỳ phát triển. Nó giúp lặp nhanh hơn, vì kỹ sư có thể kiểm thử và kiểm chứng hệ thống mà không phải chờ bộ điều khiển vật lý, khiến việc phát triển software-defined vehicle trở nên hiệu quả và dễ tiếp cận hơn.

Ảo hóa giữ vai trò then chốt trong vòng đời phát triển SDV bằng cách bắc cầu giữa mô phỏng và kiểm thử vật lý. Nó cho phép mã ứng dụng chạy liền mạch trên cả ECU ảo (vECU) lẫn ECU phần cứng thật, tạo ra sự tương đồng về môi trường để phát triển và kiểm chứng một cách nhất quán. Cách tiếp cận này giảm đáng kể sự phụ thuộc vào phần cứng, rút ngắn tiến độ phát triển và cải thiện khả năng cộng tác của các đội phân tán trên toàn cầu. Hơn nữa, ảo hóa hỗ trợ quản lý môi trường kiểm thử trên cloud, đơn giản hóa những tác vụ như nhân bản và mở rộng quy mô, qua đó nâng cao hiệu quả và tính linh hoạt trong toàn bộ quy trình phát triển.

Các mức ảo hóa là gì
Các mức ảo hóa khác nhau thể hiện một lộ trình tiến dần từ mô phỏng trừu tượng đến kiểm thử hoàn toàn thực tế ở mức phần cứng. Lộ trình này là cần thiết để cân bằng giữa tốc độ, hiệu quả chi phí và độ chính xác khi quá trình phát triển tiến triển.
- Level 0 (Controller Model): Mô phỏng logic bộ điều khiển ở mức trừu tượng cao, tập trung kiểm chứng chức năng cơ bản.
- Level 1 (Application Level): Đưa các ứng dụng phần mềm vào, kiểm thử các tương tác trong lớp ứng dụng.
- Level 2 (Simulation BSW): Bổ sung một lớp basic software (BSW) mô phỏng để kiểm thử hành vi chi tiết hơn.
- Level 3 (Production BSW): Kiểm thử BSW cấp production, bảo đảm tương thích và tích hợp.
- Level 4 (Target Binary): Triển khai chính binary đích, kiểm chứng phần mềm trong điều kiện gần với thực tế.
Cách tiếp cận phân tầng này bảo đảm giai đoạn phát triển ban đầu diễn ra nhanh và tiết kiệm chi phí, đồng thời cho phép chuyển dần sang kiểm thử có độ trung thực cao hơn, sát với phần cứng vật lý.

Ví dụ: Mô phỏng liên ECU
Ví dụ sau minh họa việc tích hợp ảo hóa vào các loại ECU khác nhau trong một Software-Defined Vehicle (SDV). Bên trái, một Virtual High-Performance Compute ECU chạy trên phần cứng tiêu chuẩn với môi trường nền Linux, cho phép các ứng dụng tương tác thông qua một Vehicle API. Lớp trừu tượng này mang lại sự linh hoạt, vì hệ thống ảo hóa mô phỏng hành vi của phần cứng thật trong khi vẫn tiết kiệm chi phí và dễ mở rộng.

Bên phải, một Virtual Endpoint ECU, chẳng hạn AUTOSAR Classic, chạy trên một stack vi điều khiển mô phỏng. Nó phản chiếu cấu trúc của các ECU nhúng thật, với các lớp trừu tượng, lớp dịch vụ và driver. Giao tiếp giữa những hệ thống này diễn ra qua các bus ảo như vCAN hoặc vETH, cho phép tương tác liền mạch.
Kết hợp lại, những thiết lập này giảm sự phụ thuộc, đẩy nhanh phát triển và cho phép kiểm thử trên các môi trường phân tán. Bằng cách kết hợp các đơn vị tính toán hiệu năng cao ảo với các ECU ảo trên nền vi điều khiển, các đội có thể kiểm chứng chức năng xuyên lĩnh vực và tối ưu hành vi của xe một cách tiết kiệm chi phí ngay từ sớm trong quá trình phát triển.
Đồng bộ thời gian
Trong co-simulation của nhiều ECU ảo (vECU), đồng bộ thời gian là yếu tố then chốt để bảo đảm giao tiếp và thực thi nhất quán giữa tất cả các thành phần. Mục tiêu không phải là chạy đúng bằng tốc độ thực tế mà là duy trì một miền thời gian thống nhất, sao cho mọi hệ thống con, bất kể độ phức tạp, đều chạy trên cùng một trục thời gian tương đối. Nếu không đồng bộ đúng cách, các thành phần mô phỏng có thể lệch nhịp, dẫn đến trao đổi dữ liệu sai lệch, kết quả kiểm thử không hợp lệ và việc kiểm chứng tương tác giữa các hệ thống không đầy đủ.

Các bus ảo như vCAN hoặc vETH tạo điều kiện cho giao tiếp đồng bộ giữa các vECU. Những bus này bảo đảm đầu vào, đầu ra và thông điệp được truyền một cách hài hòa, phản ánh đúng các tương tác dự kiến của hệ thống vật lý. Ngay cả khi mô phỏng chạy chậm hơn thực tế, mọi thành phần đều phải tuân theo cùng một thời gian mô phỏng. Điều này đặc biệt quan trọng khi kiểm chứng các hệ thống hướng sự kiện, nơi độ trễ hoặc sai lệch timing có thể tạo ra hành vi ngoài ý muốn, làm giảm độ tin cậy của kết quả kiểm thử.
Sau cùng, đồng bộ thời gian chính xác bảo đảm toàn bộ hệ thống vận hành như một khối thống nhất, cho phép kiểm thử, kiểm chứng và xác minh chính xác trong các mô phỏng SDV phức tạp.
Bài này là bản dịch tiếng Việt của “Towards the Virtual Vehicle” trong SDV Guide — © 2024 Dirk Slama, phát hành theo giấy phép CC BY 4.0. Nội dung được dịch nguyên văn, không thêm bớt.