🌱 SWC - Software Components trong AUTOSAR

🌱 SWC - Software Components trong AUTOSAR

    Các bài viết trước đã nhắc khá nhiều về khái niệm SWC - Software Components trong AUTOSAR, bài viết này mình muốn đi sâu hơn về khái niệm này, cũng như đi chi tiết vào những loại Software Components được sử dụng trong AUTOSAR.

    👉 SWC - Software Components trong AUTOSAR

    Trong AUTOSAR, một Software Component được hiểu là một đơn vị phần mềm có thể được phát triển, kiểm thử và triển khai một cách độc lập. Các Software Component luôn được thiết kế phần Interface để có thể dễ dàng giao tiếp với các thành phần khác trong hệ thống.

    Các Software Component trong AUTOSAR thường được tổ chức thành một hệ thống phân cấp các module phần mềm, giúp cho cấu trúc toàn bộ hệ thống và làm cho hệ thống trở nên module hóa (Các module nhỏ và độc lập với phần cứng) và dễ dàng tái sử dụng hơn.

    ➤ Bạn đọc sẽ cần tìm hiểu trước bài viết sau:

    ➤ Dưới đây là các loại Software Components trong AUTOSAR mà mình tìm hiểu được!

    👉 Application Software Component

    Application SWC là một sub-module cung cấp tất cả các chức năng của ECU Software. Sub-module là một thành phần nhỏ của các ECU Software, còn được gọi là "Atomic Component", bởi vì chúng không thể phân chia thành các thành phần phần mềm nhỏ hơn. Các Application Software Components là thành phần chính để xây dựng nên phần mềm của ECU.

    Trong AUTOSAR, SWC là một module phần mềm triển khai một số chức năng (Function) hoặc Dịch vụ (Service) cụ thể mà hệ thống yêu cầu. Các Application SWC thường do các nhà sản xuất thiết bị (còn gọi là OEM), hoặc nhà tích hợp hệ thống phát triển, và được sử dụng để triển khai các hành vi mong muốn của hệ thống.

    Các Application SWC là một phần của tầng Application trong kiến trúc AUTOSAR, tức là nằm trên (upper layer) của tầng Basic Software BSW. Tầng BSW cung cấp một tập hợp các function/service được tiêu chuẩn hóa mà Application SWC có thể sử dụng, chẳng hạn như giao tiếp truyền thông, quản lý bộ nhớ, xử lý lỗi, ...

    Các Application SWC thường được phát triển bằng cách sử dụng các SDK AUTOSAR (Software Development Kit), các SDK này bản chất là các thư viện, được cung cấp code, testing, tools tuân thủ theo AUTOSAR. Application SWC được thiết kế để có thể tái sử dụng và không phụ thuộc vào phần cứng, do đó, nó có thể được sử dụng trong nhiều hệ thống automotive khác nhau.

    ➤ Application SWC chịu trách nhiệm với các nhiệm vụ cụ thể sau:

  • Thực thi hành vi chức năng của hệ thống, chẳng hạn như các thuật toán điều khiển, xử lý dữ liệu hoặc giao diện người dùng (GUI).
  • Cung cấp các Service cho các SWC khác trong hệ thống, thông qua các Service Interface (có thể hiểu là các hàm) được tiêu chuẩn hóa.
  • Giao tiếp với các SWC khác và với các thiết bị bên ngoài thông qua tầng BSW.
  • Thực hiện phát hiện, xử lý lỗi, chẳng hạn như kiểm tra dữ liệu đầu vào không hợp lệ hoặc phát hiện các lỗi hệ thống trong runtime.
  • Cung cấp thông tin chẩn đoán cho các SWC khác hoặc các công cụ chẩn đoán bên ngoài.

    👉 Analog (Sensor or Actuator) Handler SWC

    Trong AUTOSAR, Analog Handler (Sensor hoặc Actuator) là Software Component trong AUTOSAR chịu trách nhiệm xử lý giao tiếp với các cảm biến hoặc cơ cấu chấp hành tương tự. Các cảm biến trong automotive dùng để đo các đại lượng vật lý như nhiệt độ, áp suất, gia tốc. Còn các cơ cấu chấp hành dùng để điều khiển các bộ truyền động như động cơ hoặc van.

    Analog Handler SWC thường được triển khai dưới dạng thư viện - Driver của các module phần cứng như ADC hay PWM. Nó cung cấp một giao diện được tiêu chuẩn hóa cho các SWC khác trong hệ thống để truy cập dữ liệu từ các cảm biến tương tự, hoặc để điều khiển các bộ truyền động tương tự.

    Analog Handler SWC là một thành phần của tầng BSW, được thiết kế độc lập với phần cứng và có thể tái sử dụng trong nhiều hệ thống automotive khác nhau.

    ➤ Analog Handler SWC thường chịu trách nhiệm cho các tác vụ như:

  • Khởi tạo và cấu hình giao diện phần cứng (ADC / PWM).
  • Đọc dữ liệu từ các cảm biến tương tự và chuyển đổi nó sang dạng digital.
  • Cung cấp dữ liệu cho các SWC khác trong hệ thống thông quá các Service Interface được tiêu chuẩn hóa.
  • Điều khiển bộ truyền động tương tự bằng cách ghi dữ liệu vào các thanh ghi phần cứng.
  • Thực hiện phát hiện và xử lý lỗi, chẳng hạn như kiểm tra lỗi phần cứng hoặc giá trị cảm biến nằm ngoài phạm vi.
  • Cung cấp thông tin chẩn đoán cho các SWC khác hoặc cho các công cụ chẩn đoán bên ngoài.

    👉 Digital (GPIO) Handler SWC

    Trong AUTOSAR, Digital (GPIO) Handler là một SWC chịu trách nhiệm xử lý giao tiếp với các thiết bị vào/ra dạng số, ví dụ như các chân I/O. Các thiết bị này thường được sử dụng trong các hệ thống automotive để đọc tín hiệu số từ các cảm biến digital, hoặc các cơ cấu chấp hành như đèn hay relay.

    Các Digital Handler trong AUTOSAR thường được triển khai dưới dạng driver giao tiếp với phần cứng, chẳng hạn như các chân GPIO của vi điều khiển hoặc các giao tiếp truyền thông số (UART, SPI, I2C, ...).

    Giống với Analog Handler SWC, Digital Handler SWC cũng là một phần của tầng BSW trong kiến trúc AUTOSAR. Nó được thiết kế độc lập với phần cứng và có thể tái sử dụng để có thể sử dụng trong nhiều hệ thống automotive khác nhau.

    ➤ Digital Handler SWC thường chịu trách nhiệm cho các tác vụ như:

  • Khởi tạo và cấu hình giao diện phần cứng (GPIO / UART / SPI / ...).
  • Đọc dữ liệu từ các thiết bị I/O số và cung cấp dữ liệu đó cho các SWC khác trong hệ thống thông qua các Service Interface được tiêu chuẩn hóa.
  • Điều khiển các thiết bị I/O số bằng cách ghi dữ liệu vào các thanh ghi phần cứng.

    👉 Parameter Software Component

    Trong AUTOSAR, Parameter SWC là một module phần mềm với mục đích lưu trữ, quản lý các tham số cấu hình cho các SWC khác nhau trong hệ thống. Các tham số cấu hình này được sử dụng để tùy chỉnh hành vi cấu hình của hệ thống hoặc để tương thích với các nền tảng phần cứng hoặc phần mềm khác nhau.

    Các Parameter SWC thường được triển khai dưới dạng thư viện, cung cấp một tập hợp các hàm, các cấu trúc dữ liệu để truy cập và tác động và các tham số cấu hình. Các thông số cấu hình thường được lưu trữ trong bộ nhớ cố định như Flash, EEPROM, và được load vào hệ thống trong quá trình runtime.

    Parameter SWC là một phần của tầng BSW trong AUTOSAR. Nó được thiết kế độc lập với phần cứng và có thể tái sử dụng trong nhiều hệ thống automotive khác nhau.

    ➤ Parameter SWC thường chịu trách nhiệm cho các tác vụ như:

  • Lưu trữ và quản lý thông số cấu hình cho các thành phần phần mềm khác trong hệ thống.
  • Cung cấp giao diện tiêu chuẩn hóa để truy cập và tác động vào các tham số cấu hình.
  • Thực hiện phát hiện và xử lý lỗi, chẳng hạn như kiểm tra các giá trị tham số không hợp lệ hoặc dữ liệu bị sai lệch.
  • Cung cấp thông tin chẩn đoán cho các thành phần phần mềm khác hoặc cho các công cụ chẩn đoán bên ngoài.

    👉 Composition Software Component

    Trong AUTOSAR, Composition SWC là một module phần mềm dùng để kết hợp các SWC khác thành một đơn vị logic, thường để triển khai một chức năng hoặc service cụ thể mà hệ thống yêu cầu. Các Composition SWC thường được phát triển bởi các OEM hoặc nhà tích hợp hệ thống và được sử dụng để điều phối hoạt động của hệ thống.

    Các Composition SWC là một thành phần của tầng Application trong AUTOSAR, là tầng trên của tầng BSW. Nó sử dụng các function và service được cung cấp bởi tầng BSW để giao tiếp với các SWC khác và các thiết bị bên ngoài.

    Composition SWC thường được phát triển bằng cách sử dụng các AUTOSAR SDK, cung cấp bộ thư viện gồm code, test, tools để triển khai phần mềm theo chuẩn AUTOSAR. Nó được thiết kế để có thể tái sử dụng và không phụ thuộc vào phần cứng, nên nó có thể sử dụng trong nhiều hệ thống automotive khác nhau.

    ➤ Composition SWC thường chịu trách nhiệm cho các tác vụ như:

  • Phối hợp hoạt động của các SWC khác trong hệ thống, chẳng hạn như bằng cách gửi lệnh hoặc dữ liệu đến các thành phần khác hoặc bằng cách phản hồi lại các sự kiện hoặc tín hiệu.
  • Cung cấp các function/service cấp cao hơn cho các SWC khác trong hệ thống thông quá các giao diện được tiêu chuẩn hóa.
  • Giao tiếp với các SWC khác và với các thiết bị bên ngoài thông qua tầng BSW.
  • Thực hiện phát hiện và xử lý lỗi, chẳng hạn như bằng cách phản ứng với các lỗi xảy ra trong runtime hoặc trong các SWC khác.

    👉 Service Software Component

    Trong AUTOSAR, Service SWC cung cấp các dịch vụ - service cho các SWC khác trong hệ thống. Service ở đây được hiểu là một function, có thể được truy cập bởi các thành phần khác thông qua giao diện được tiêu chuẩn hóa.

    Một Service SWC thường được thiết kể để thực hiện một hoặc tập hợp các tác vụ cụ thể, chẳng hạn như đọc dữ liệu cảm biến, thực hiện các phép tính toán, hoặc điều khiển các thiết bị. Nó có thể được sử dụng bởi một hoặc nhiều thành phần khác trong hệ thống để thực hiện một chức năng cụ thể.

    Service SWC là một phần quan trọng của kiến trúc AUTOSAR, vì chúng cho phép các thành phần khác nhau trong hệ thống giao tiếp với nhau và truy cập chức năng được chia sẻ theo cách chuẩn hóa. Điều này giúp việc phát triển, kiểm thử và maintain các hệ thống phức tạp với nhiều ECU trở nên dễ dàng.

    Một số ví dụ về các Service SWC trong AUTOSAR có thể bao gồm thành phần cung cấp quyền truy cập vào các cơ sở dữ liệu, thành phần thực hiện xác thực dữ liệu, hoặc thành phần điều khiển thiết bị như động cơ hoặc các bộ truyền động.

    👉 Service Proxy Software Component

    Trong AUTOSAR, Service Proxy SWC cung cấp quyền truy cập vào Service được cung cấp bởi một SWC khác trong cùng một ECU hoặc ECU khác. Service Proxy SWC đóng vai trò trung gian giữa thành phần yêu cầu và thành phần cung cấp service, cho phép các thành phần giao tiếp với nhau mà không cần biết chi tiết cụ thể về cách triển khai của thành phần kia.

    ➤ Một Service Proxy có thể được sử dụng để cung cấp một số tính năng:

  • Nó cho phép các SWC giao tiếp với nhau bằng giao diện được tiêu chuẩn hóa, thay vì phải dựa vào một số triển khai cụ thể. Điều này giúp dễ dàng thay đổi hoặc thay thế thành phần cung cấp mà không ảnh hưởng đến thành phần yêu cầu.
  • Nó tách biệt các thành phần yêu cầu và cung cấp, giúp dễ dàng phát triển, kiểm thử và maintain từng thành phần một các độc lập.
  • Nó cho phép thành phần cung cấp được xác định trên một ECU khác, cho phép linh hoạt hơn trong kiến trúc hệ thống.
  • Nó có thể cung cấp chức năng bổ sung, chẳng hạn như xử lý lỗi, log lịch sử, có thể hữu ích cho việc debug và chẩn đoán lỗi.
    Service Proxy là một thành phần quan trọng trong kiến trúc AUTOSAR, vì chúng cho phép các thành phần giao tiếp với nhau theo cách linh hoạt và chuẩn hóa, cho phép phát triển các hệ thống phức tạp với nhiều ECU.

    👉 ECU Abstraction Software Components

    Trong AUTOSAR, ECU Abstraction SWC là một SWC cung cấp giao diện được tiêu chuẩn hóa để truy cập tài nguyên phần cứng và phần mềm trên ECU. Nó hoạt động như một trung gian giữa tài nguyên phần cứng và phần mềm và các thành phần khác trong hệ thống, cho phép chúng giao tiếp với ECU mà không cần biết chi tiết cụ thể về việc triển khai ECU.

    ECU Abstraction SWC được sử dụng để trừu tượng hóa tài nguyên phần cứng và phần mềm của ECU, giúp việc phát triển, kiểm thử và maintain các SWC khác trong hệ thống trở nên dễ dàng hơn. Chúng cung cấp một lớp phân cách giữa tài nguyên phần cứng và phần mềm với các thành phần khác, cho phép các thành phần được phát triển và kiểm thử độc lập.

    ECU Abstraction SWC là một thành phần quan trọng của kiến trúc AUTOSAR, vì chúng cho phép các thành phần giao tiếp với ECU theo cách linh hoạt và tiêu chuẩn hóa, cho phép phát triển các hệ thống phức tạp với nhiều ECU.

    Một số ví dụ về ECU Abstraction SWC trong AUTOSAR có thể bao gồm thành phần cung cấp quyền truy cập vào vị trí bộ nhớ, thành phần điều khiển thiết bị như động cơ hoặc bộ truyền động hoặc thành phần cung cấp quyền truy cập vào các bus truyền thông.

    👉 Nvblock (Non-Volatile) Software Component

    Nvblock SWC trong AUTOSAR là SWC cung cấp quyền truy cập vào một vùng nhớ cụ thể của bộ nhớ Non-Volatile (chẳng hạn như EEPROM hoặc Flash). Nó được sử dụng để lưu trữ dữ liệu cần được bảo toàn khi mất nguồn, chẳng hạn như các thông số cấu hình hoặc giá trị hiệu chuẩn.

    Nvblock SWC cung cấp giao diện tiêu chuẩn hóa để truy cập vào bộ nhớ Non-Volatile, cho phép các thành phần khác trong hệ thống đọc và ghi dữ liệu vào bộ nhớ mà không cần biết chi tiết cụ thể về cách triển khai bộ nhớ. Nó cũng có thể cung cấp chức năng bổ sung, chẳng hạn như xử lý lỗi và log lỗi, để hỗ trợ quá trình debug và chẩn đoán lỗi.

    Các Nvblock SWC là một phần quan trọng của kiến trúc AUTOSAR, vì chúng cho phép các thành phần truy cập và lưu trữ dữ liệu theo cách linh hoạt và tiêu chuẩn hóa. Chúng thường được sử dụng để lưu trữ dữ liệu cần được bảo toàn khi mất nguồn, chẳng hạn như thông số cấu hình hoặc giá trị hiệu chuẩn và có thể được sử dụng để cải thiện độ tin cậy và độ bền của hệ thống.

    👉 CDD Software Component

    CDD SWC là một SWC xác định giao diện và hành động của một thành phần cụ thể trong AUTOSAR. Nó được sử dụng để cung cấp thông tin về thành phần này cho các thành phần khác trong hệ thống, cho phép chúng giao tiếp và sử dụng thành phần đó theo cách chuẩn hóa.

    CDD SWC thường bao gồm các thông tin như tên, mục đích, chức năng của SWC, các giao diện mà nó cung cấp và yêu cầu cũng như bất kỳ phần phụ thuộc nào đó đối với các thành phần hoặc tài nguyên khác. Nó cũng có thể bao gồm thông tin về hoạt động của SWC, chẳng hạn như dữ liệu vào/ra, thời gian thực hiện và bất kỳ điều kiện lỗi nào mà SWC có thể gặp phải.

    CDD SWC là một thành phần quan trọng của kiến trúc AUTOSAR, vì chúng cho phép các SWC giao tiếp với nhau theo cách được tiêu chuẩn hóa. Chúng giúp đảm bảo răng các thành phần có thể được phát triển, kiểm thử và tích hợp vào hệ thống một cách nhất quán và đáng tin cậy.

    Các SWC sử dụng các Port để truyền/nhận dữ liệu, các dữ liệu này được gọi là Signal. Giao diện của chúng được gọi là Signal Interface. Các Port này cung cấp giao tiếp giữa các SWC với BSW, đây gọi là Runnable Entity.

-------------------------------------------------------------

    Trên đây mình đã giới thiệu qua về một số Software Component trong AUTOSAR mà mình tìm hiểu được một cách tổng quan. Về chi tiết các bạn có thể tìm hiểu thêm ở trên Internet và các tài liệu chuẩn của AUTOSAR. Nếu tìm hiểu được SWC nào khác các bạn có thể comment ở bên dưới nhé!

    Chúc các bạn học tập tốt 😊

>>>= Follow ngay =<<<

Để nhận được những bài học miễn phí mới nhất nhé 😊

Chúc các bạn học tập tốt 😊

                                        

Nguyễn Văn Nghĩa

Mình là một người thích học hỏi và chia sẻ các kiến thức về Nhúng IOT.

3 Nhận xét

Mới hơn Cũ hơn