- vừa được xem lúc

Tổng quan về Hardware In The Loop (HIL) Test System

0 0 5

Người đăng: Đặng Anh Quân

Theo Viblo Asia

I. Motivation

  • Các hệ thống nhúng hiện đại ngày càng trở nên phức tạp, đồng thời được yêu cầu phải xử lý một lượng lớn dữ liệu thời gian thực.
  • Vì vậy, việc kiểm thử phần mềm nhúng ngày càng trở nên phức tạp, tốn kém và là một điểm yếu trong các chu kỳ phát triển sản phẩm. Đây chính là lúc mà, kiểm thử Hardware In The Loop (HIL) Testing đảm nhận vai trò.
  • Trích dẫn từ "NI (National Instructment)":

HIL: A Must in Embedded Software Validation

  • Đồng thời xu hướng tích hợp HIL sớm hơn trong quy trình phát triển, bên cạnh các mô hình như "Model In The Loop (MIL)" và "Software In The Loop (SIL)".
  • Nhờ sử dụng hệ thống kiểm thử HIL, sẽ giúp giảm chi phí kiểm thử, tăng tốc độ phát triển phần mềm và khả năng thích ứng với các hệ thống nhúng khác nhau. Qua đó giảm thời gian đưa ra thị trường và cải tiến chu kì phát triển phần mềm.

II. Why HIL?

  • Một ví dụ về sự cần thiết của HIL:
    • Trong một hệ thống ADAS (Advanced Driver Assistance System), sử dụng một thuật toán để xử lý dữ liệu từ các camera, radars, GPS và một loạt các cảm biến khác để hỗ trợ người lái tránh các quyết định sai khi lái. Các hệ thống nặng dữ liệu như vậy cần phải được chứng minh là không lỗi, và để đảm bảo điều đó việc thử nghiệm phải nghiêm ngặt và toàn diện.

Minh họa về độ phức tạp của hệ thống

  • Do đó, việc kiểm thử một hệ thống phức tạp như trên bằng phương tiện thật để chứng minh rằng tất cả các trường hợp có thể xảy ra không phải một lựa chọn khôn ngoan, rất khó để có thể kiểm thử tất cả các trường hợp. Ngoài ra việc thực hiện kiểm thử ở giai đoạn lắp ráp cuối sẽ gây ảnh hưởng nghiêm trọng lên lịch trình và chi phí khi chỉ cần một lỗi nhỏ xảy ra.
  • Mô phỏng dường như là lựa chọn khả thi duy nhất và do đó Hardware-In-the-Loop ra đời. Phương pháp này không chỉ tự động hóa quy trình thử nghiệm, tăng tính linh hoạt, mở rộng mà còn đưa các bài kiểm tra vào sớm hơn trong chu kì phát triển phần mềm.

III. Applications

  • HIL Testing được áp dụng trong nhiều hệ thống nhúng trải dài từ những vật dụng quen thuộc với đời sống như máy giặt cho đến vũ trụ hàng không, vũ khí quân sự. Một số lĩnh vực tiêu biểu như: Ô tô (Automotive), Hàng không vũ trụ (Aerospace), Công nghiệp (Industrial),...
  • Một số dẫn chứng thực tế gần đây như:

Hình ảnh của Archer Midnight

IV. What is Hardware-In-the-Loop Testing

  • Vậy HIL Testing là gì?
    • HIL Testing là một quá trình kiểm thử và xác thực hệ thống nhúng bằng cách kết nối với phần cứng được điều khiển bởi một môi trường phần mềm được mô phỏng. Nói một cách dễ hiểu, HIL Testing bao gồm kết nối các I/O của phần cứng vi xử lý/vi điều khiển với môi trường ảo mô phỏng các hoàn cảnh thực tế.
    • Trong ngành công nghiệp ô tô, HIL Testing là một phương pháp để kiểm thử phần mềm trong môi trường được mô phỏng, ở đó chức năng của ECU (Electric Control Unit) có thể được kiểm thử mà không cần hệ thống phương tiện thực tế.
  • Trong quá trình HIL Testing, ECU được kết nối đến hệ thống kiểm thử mà mô phỏng một số bộ phận khác (như module động cơ, điều khiển thân hoặc thậm chí toàn bộ hệ thống phương tiện). Hệ thống HIL sẽ tương tác với đầu vào và đầu ra của ECU, tương tự như phương tiện thực tế.

Sự khác biệt giữa kiểm thử thông thường và HIL

  • Sử dụng một phần mềm HIL Testing, các trường hợp test khác nhau có thể được tạo và đầu ra được xác thực. Tùy thuộc vào yêu cầu phần mềm, phạm vi kiểm thử có thể được mở rộng mà không cần lo lắng về chi phí hay nguy cơ đến hệ thống vật lý.

V. The Hardware-in-the-Loop (HIL) Test System Architecture​

Kiến trúc cơ bản của hệ thống HIL

  • Kiến trúc của một hệ thống HIL Test không được quy định rõ ràng, các biến thể tùy thuộc vào nhà cung cấp hệ thống khác nhau như: NI, Vector, dSpace,... Tuy nhiên nhìn chung, một hệ thống HIL Test sẽ bao gồm các thành phần cơ bản sau:

    • ECU(s) under test: Đầu tiên đó chính là đối tượng kiểm thử, gồm một hay nhiều ECU(Electronic Control Unit) được kết nối vào hệ thống thông qua I/Os thực.
    • Real Time Simulator: Là phần cứng của hệ thống HIL Test, với vai trò mô phỏng hành vi động của hệ thống (dynamic behaviour), bao gồm 3 thành phần chính:
      • Real Time Target: Hay còn được gọi là plant, là bộ xử lý thời gian thực chạy chương trình mô phỏng.
      • I/O boards: Tương tác phần cứng, kết nối giữa Real Time Target với Singal Conditioning. Đảm nhận vai trò chuyển đổi giữa tín hiệu tương tự và tín hiệu số (A/D).
      • Signal Conditioning: Là cầu nối giữa thành phần các phần được mô phỏng và thành phần thực tế (physical and simulated). Đảm bảo tín hiệu giữ ECUs và bộ mô phỏng sẽ được phóng đại/ thu nhỏ, lọc nhiễu, và bảo vệ chính xác.
    • Sensors, Loads, Actuators: Cảm biến, tải, bộ truyền động phần cứng (thực tế). Là thành phần tùy chọn, bởi trong các hệ thống HIL Test hiện đại thành phần này có thể được mô phỏng hoàn toàn.
    • User Interface And Control: Là giao diện điều khiển nhằm ghi đè thủ công lên Real Time Target được phát triển trên các nền tảng có sẵn đi đôi với phần cứng như (CANoe, LabView,...). Nhờ vậy, người kiểm thử hay các kĩ sư có thể theo dõi, cấu hình và điều khiển kiểm thử.
    • Test Automation: Hiện nay các nhà cung cấp nền tảng, hầu hết đưa ra các phương pháp/ công cụ khác nhau nhằm tự động hóa quá trình kiểm thử, giúp giảm thời gian kiểm thử, tăng tính chính xác và hiệu quả.
  • Để có thể hiểu rõ hơn, chúng ta hãy cùng đi qua VT System Concept của nhà cung cấp Vector:

    • Đầu tiên là trường hợp ECU trong phương tiện thực tế: Trong phương tiện, một ECU giao tiếp với các ECUs thông qua bus dưới các giao thức truyền thông như CAN, LIN, FR,...; nó được cung cấp nguồn từ pin và kết nối đến cảm biển và bộ truyền động thông qua I/O.

    ECU trong phương tiện thực tế

    • Tiếp đến là kiểm thử với cảm biến và tải thực tế: Hệ thống VT System được đặt giữa đường kết nối I/O của ECU đến cảm biển và bộ truyền động. CANoe thực thi bài test tự động và mô phỏng phần còn lại của hệ thống.

    Kiểm thử với cảm biến và tải thực

    • Cuối cùng là mô phỏng hoàn toàn: VT System mô phỏng cả cảm biến và bộ truyền động. Điều này cho phép tái tạo bất kì tình huống test hay trường hợp lỗi nào mà được yêu cầu.

    Kiểm thử mô phòng hoàn toàn

VI. Hardware-in-the-Loop (HIL) Test System in the ECU Development Cycle

  • Cuối cùng để có một cái nhìn thực tế hơn, hãy cùng đi sâu hơn vào một trong những ứng dụng của hệ thống HIL Test - Kiểm thử ECU (Electronic Control Unit) trong ngành công nghiệp ô tô.
  • Model-Based Development hay MBD (có lẽ sẽ được giải thích ở một blog khác) cùng với phương pháp in-the-loop được sử dụng rộng rãi ngày nay để phát triển và kiểm thử, nhất là trong ngành công nghiệp ô tô. Một chu trình in-the-loop bao gồm một vài bước theo quy trình được minh họa bằng hình dưới.

V-cycle

  • Các bước bao gồm:
    • Ngoài cùng bên trái của V-cycle, Model-in-the-Loop (MIL) được áp dụng.
    • Theo sau đó là Software-in-the-Loop (SIL).
    • Phía bên phải, Hardware-in-the-Loop (HIL) được áp dụng.
    • Thi thoảng Processor-in-the-Loop (PIL) cũng sẽ được áp dụng sau SIL, tuy nhiên ít khi thấy.
  • HIL Test được diễn ra trong quá trình Intergration Test hay kiểm thử tích hợp, điều này có nghĩa là trước khi thực hiện kiểm thử các hàm điều khiển (SWCs) cần phải được tích hợp với các hàm/layer khác (OS, drivers, middleware - RTE, BSW). Nhờ có chuẩn AUTOSAR, việc tích hợp phần mềm đã chuẩn hóa và có quy trình rõ ràng. Mặc dù vậy, việc tích hợp vẫn là một tác vụ thử thách được đảm nhận bởi team tích hợp phần mềm thường là Tier1.
  • Ngoài ra có thể thấy, V-cycle hay V-loop được dựa trên quy trình phát triển phần mềm V-model. Như có thể thấy ở hình dưới, quá trình HIL Test sẽ diễn ra ở SWE.6-Software Qualification Test.

V-model

VII. Summary

  • Tóm lại, HIL Test là một xu hướng chung, một điều thiết yếu trong việc phát triển và kiểm thử các hệ thống nhúng phức tạp và hiện đại.
  • HIL Test ngày càng được chấp nhận và ứng dụng rộng rãi nhất là trong ngành công nghiệp ô tô (automotive) bởi lợi ích to lớn mà nó đem lại.
  • Các nhà cung cấp nền tảng, cũng càng ngày càng phát triển phương pháp cách thức giúp người dùng tạo ra công cụ tự động hóa quá trình test, đồng thời tăng tích linh hoạt của hệ thống.
  • Một số nhà cung cấp nổi trội và sản phẩm của họ:
    • Vector - CANoe - VT System với nhiều module cho mục đích khác nhau có thể plug-and-play nhằm tăng tính linh hoạt của hệ thống.
    • NI - LabView - SLSC Hardware
    • Matlab - Simulink - Speedgoat hardware
    • dSpace - SCALEXIO systems
    • ...

Xin cảm ơn quý bạn đọc đã đọc hết bài viết. Nếu thấy bài viết có ích, hãy bổ sung động lực cho tác giả bằng cách upvote và follow để đón chờ các bài viết tiếp theo.
Nếu có bất cứ góp ý, hoặc gợi ý nội dung (cho bài viết tiếp theo) nào hãy comment phía dưới. Mọi ý kiến sẽ được mình/bạn/em tiếp nhận.
Một lần nữa xin cảm ơn mọi người đã đọc hết!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giải mã AUTOSAR: Kiến trúc tiêu chuẩn ngành Automotive

Giới thiệu. AUTOSAR có vẻ khá xa lạ đối với người làm về công nghệ thông tin, nhưng đối với những bạn làm về Embedded System, đặc biệt là trong lĩnh vực Automotive, thì cũng.

0 0 37

- vừa được xem lúc

Giải mã AUTOSAR: Kiến trúc để đời ngành Automotive - Phần 2

Updating. Trong bài viết này, ta cùng tìm hiểu kỹ hơn về lớp trên cùng của kiến trúc, chính là lớp Application Layer (ASW).

0 0 33

- vừa được xem lúc

Automated Guided Vehicle System Market: Types and Applications

The automated guided vehicle system market is designed to autonomously transport materials within manufacturing facilities. It basically eliminates the need for an onboard driver.

0 0 19

- vừa được xem lúc

Automotive Cyber Security - Cuộc đua mới trong mảng security

An toàn thông tin cho automotive (hay xe điện) hiện nay đang là 1 mảng khá là hot trong những năm trở lại đây, hôm nay mình sẽ việt một số trải nghiệm cũng như 1 số kiến thức mà mình đã tích lũy được

0 0 12