Skip to main content
Trang này được hiển thị bằng tính năng dịch tự động. Xem bằng tiếng Anh?

Phần mềm nhúng

Phần mềm nhúng là một ứng dụng hoặc chương trình cơ sở chuyên dụng chạy trên một cụm xử lý được nhúng vào SoC hoặc IC. Hầu như bất kỳ sản phẩm điện tử nào cũng có thể chứa một hoặc một số bộ xử lý nhúng, phổ biến trong ô tô ngày nay, tự động hóa sàn nhân tố, điện tử hàng không, thiết bị y tế và hơn thế nữa.

Các loại phần mềm nhúng khác nhau là gì?

Các ứng dụng phần mềm nhúng là lập trình chuyên dụng trong các thiết bị không phải PC - như một phần của vi mạch hoặc là một phần của một ứng dụng khác nằm trên đầu chip - để kiểm soát các chức năng cụ thể của thiết bị. Không giống như các ứng dụng PC, có thể được cài đặt trên các hệ thống máy tính khác nhau và được sửa đổi để cung cấp các mức chức năng khác nhau, phần mềm nhúng có các yêu cầu và khả năng phần cứng cố định. Nó được tạo riêng cho thiết bị cụ thể mà nó chạy, với các hạn chế xử lý và bộ nhớ gắn trực tiếp với thông số kỹ thuật của nó. Trong bối cảnh của cuộc thảo luận này, phần mềm nhúng bao gồm các ứng dụng, firmware, phần mềm trung gian và hệ điều hành thực thi trên một bộ vi xử lý hoặc cụm vi xử lý đơn lẻ “nhúng” trong logic bổ sung.

Các sản phẩm liên quan: Capital Embedded AR Classic | Capital Embedded Integrator AR Classic | Capital Embedded Virtualizer AR Classic

A professional working on a computer with a graph, another person standing nearby observing the screen.

Đặc điểm và tính năng của hệ thống nhúng

Mặc dù có nhiều loại hệ thống nhúng, nhưng tất cả chúng đều có chung các tính năng có lợi và đặc điểm thiết kế.

Tất cả các hệ thống nhúng đều dành riêng cho nhiệm vụ

Chúng thực hiện cùng một chức năng được lập trình sẵn trong suốt vòng đời sử dụng của chúng và không thể thay đổi.

Tất cả các hệ thống nhúng đều có hiệu quả cao

Yêu cầu tài nguyên của phần mềm nhúng không bao giờ được vượt quá dung lượng của phần cứng được cài đặt và thông số kỹ thuật của phần cứng không bao giờ được vượt quá yêu cầu tối thiểu của phần mềm nhúng.

Được thiết kế để ổn định

Tất cả các hệ thống nhúng được thiết kế để có độ tin cậy cao và ổn định. Họ phải thực hiện nhiệm vụ của mình với thời gian phản hồi và chức năng nhất quán trong suốt vòng đời của thiết bị chứa chúng.

Siemens cung cấp những loại phần mềm nhúng nào?

Siemens cung cấp cả hai phần mềm nhúng ô tôkỹ thuật phần mềm nhúng giải pháp. Siemens đã ngừng cung cấp phần mềm nhúng độc lập cho SoC với việc nghỉ hưu vào tháng 11 năm 2023 của các sản phẩm Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux và Sourcery CodeBench (bao gồm các tiện ích bổ sung liên quan). Các hợp đồng hỗ trợ hiện tại cho các sản phẩm này vẫn đang được tôn trọng, vui lòng liên hệ với Siemens Trung tâm hỗ trợ để biết thêm thông tin.

Các loại phần mềm nhúng khác nhau và mục đích của chúng là gì?

  • Hệ điều hành - Hệ điều hành (OS), theo nghĩa chung nhất của nó, là phần mềm cho phép người dùng chạy các ứng dụng khác trên thiết bị máy tính. Hệ điều hành quản lý tài nguyên phần cứng của bộ xử lý, bao gồm các thiết bị đầu vào như bàn phím và chuột, các thiết bị đầu ra như màn hình hoặc máy in, kết nối mạng và các thiết bị lưu trữ như ổ cứng và bộ nhớ. Hệ điều hành cũng cung cấp các dịch vụ để tạo điều kiện thuận lợi cho việc thực thi và quản lý hiệu quả, cũng như phân bổ bộ nhớ cho các chương trình ứng dụng phần mềm.
  • Firmware - Firmware là một loại phần mềm được viết trực tiếp cho một phần cứng. Nó hoạt động mà không cần thông qua API, hệ điều hành hoặc trình điều khiển thiết bị — cung cấp các hướng dẫn và hướng dẫn cần thiết để giao tiếp với các thiết bị khác hoặc thực hiện các tác vụ và chức năng cơ bản như dự định.
  • Middleware - Middleware là một lớp phần mềm nằm giữa các ứng dụng và hệ điều hành. Phần mềm trung gian thường được sử dụng trong các hệ thống phân tán, nơi nó đơn giản hóa việc phát triển phần mềm bằng cách cung cấp những điều sau:

    • Ẩn sự phức tạp của các ứng dụng phân tán
    • Ẩn sự không đồng nhất của phần cứng, hệ điều hành và giao thức
    • Cung cấp các giao diện thống nhất và cấp cao được sử dụng để tạo ra các ứng dụng có thể tương tác, tái sử dụng và di động.
    • Cung cấp một tập hợp các dịch vụ phổ biến giúp giảm thiểu sự trùng lặp của các nỗ lực và tăng cường sự hợp tác giữa các ứng dụng
  • Ứng dụng - Người dùng cuối phát triển ứng dụng phần mềm cuối cùng chạy trên hệ điều hành, sử dụng hoặc tương tác với phần mềm trung gian và chương trình cơ sở và là trọng tâm chính của chức năng mục tiêu của hệ thống nhúng. Mỗi ứng dụng cuối là duy nhất, trong khi hệ điều hành và firmware có thể giống hệt nhau từ thiết bị này sang thiết bị khác.

Phần mềm nhúng so với hệ thống nhúng

Các thành phần phần cứng trong một thiết bị chạy phần mềm nhúng được gọi là “hệ thống nhúng”. Một số ví dụ về các thành phần phần cứng được sử dụng trong các hệ thống nhúng là mạch cung cấp điện, bộ xử lý trung tâm, thiết bị bộ nhớ flash, bộ hẹn giờ và cổng giao tiếp nối tiếp. Trong giai đoạn thiết kế ban đầu của thiết bị, phần cứng sẽ tạo nên hệ thống nhúng - và cấu hình của nó trong thiết bị - được quyết định. Sau đó, phần mềm nhúng được phát triển từ đầu để chạy độc quyền trên phần cứng đó trong cấu hình chính xác đó. Điều này làm cho thiết kế phần mềm nhúng trở thành một lĩnh vực chuyên biệt đòi hỏi kiến thức sâu sắc về khả năng phần cứng và lập trình máy tính.

Ví dụ về các chức năng dựa trên phần mềm nhúng

Hầu như mọi thiết bị có bảng mạch và chip máy tính đều có các thành phần này được sắp xếp thành một hệ thống phần mềm nhúng. Do đó, các hệ thống phần mềm nhúng có mặt khắp nơi trong cuộc sống hàng ngày và được tìm thấy trong công nghệ tiêu dùng, công nghiệp, ô tô, hàng không vũ trụ, y tế, thương mại, viễn thông và quân sự.

Các ví dụ phổ biến về các tính năng dựa trên phần mềm nhúng bao gồm:

  • Hệ thống xử lý hình ảnh được tìm thấy trong thiết bị hình ảnh y tế
  • Hệ thống điều khiển fly-by-wire được tìm thấy trong máy bay
  • Hệ thống phát hiện chuyển động trong camera an ninh
  • Hệ thống kiểm soát giao thông được tìm thấy trong đèn giao thông
  • Hệ thống thời gian và tự động hóa được tìm thấy trong các thiết bị nhà thông minh

Các loại hệ thống nhúng khác nhau là gì?

Khi dựa trên yêu cầu về hiệu suất và chức năng, có năm lớp chính của hệ thống nhúng:

  • Các hệ thống nhúng thời gian thực hoàn thành các tác vụ theo cách xác định và có thể lặp lại, bị ảnh hưởng bởi kiến trúc và lịch trình cơ bản của hệ điều hành, cũng như hiệu suất của các luồng, độ trễ phân nhánh và gián đoạn. Các hệ thống nhúng đa mục đích không chứa yêu cầu thời gian thực và có thể quản lý các gián đoạn hoặc phân nhánh mà không phụ thuộc vào thời gian hoàn thành. Màn hình đồ họa và quản lý bàn phím và chuột là những ví dụ điển hình về các hệ thống chung.
  • Các hệ thống nhúng độc lập có thể hoàn thành các tác vụ mà không cần hệ thống máy chủ hoặc tài nguyên xử lý bên ngoài. Họ có thể xuất hoặc nhận dữ liệu từ các thiết bị được kết nối nhưng không phụ thuộc vào chúng để hoàn thành nhiệm vụ của họ.
  • Các hệ thống nhúng độc lập có thể hoàn thành nhiệm vụ của chúng mà không cần hệ thống máy chủ hoặc tài nguyên xử lý bên ngoài. Họ có thể xuất hoặc nhận dữ liệu từ các thiết bị được kết nối nhưng không phụ thuộc vào chúng để hoàn thành nhiệm vụ của họ.
  • Các hệ thống nhúng nối mạng phụ thuộc vào một mạng được kết nối để thực hiện các tác vụ được giao.
  • Dựa trên sự phức tạp của kiến trúc phần cứng của hệ thống, có ba loại hệ thống nhúng chính: Hệ thống nhúng nối mạng phụ thuộc vào một mạng kết nối để thực hiện các tác vụ được giao.

Thị trường cuối ảnh hưởng đến hệ thống nhúng như thế nào

Các yêu cầu và thành phần hệ thống nhúng sẽ khác nhau tùy theo nhu cầu của thị trường mục tiêu. Một số ví dụ bao gồm:

  • Người tiêu dùng - Trong các ứng dụng như hàng tiêu dùng như máy giặt, thiết bị đeo được và hệ thống nhúng điện thoại di động nhấn mạnh kích thước giảm của
  • Hệ thống trên chip, tiêu thụ điện năng thấp hoặc hoạt động pin và giao diện đồ họa. Trong các ứng dụng này, các hệ điều hành có thể định cấu hình và khả năng tắt các “miền” không hoạt động của thiết kế được đánh giá cao.
  • Mạng - Các ứng dụng cho phép kết nối, giao tiếp, vận hành và quản lý mạng doanh nghiệp. Nó cung cấp đường dẫn giao tiếp và dịch vụ giữa người dùng, quy trình, ứng dụng, dịch vụ và mạng bên ngoài/internet. Các ứng dụng mạng nhúng tập trung vào tốc độ phản hồi, xử lý gói tin và đường dẫn phần cứng ngoại vi.
  • Công nghiệp - Đối với các ứng dụng như quản lý sàn nhà máy, động cơ và cối xay gió, sự nhấn mạnh có xu hướng bảo mật kết nối đám mây và hoạt động “thời gian thực” xác định và có thể tập trung nhiều vào phần mềm trung gian.
  • Y tế, ô tô và hàng không vũ trụ - Các ngành công nghiệp này cần các hệ thống quan trọng về an toàn hỗn hợp, trong đó các phần của thiết kế được cách ly với nhau để đảm bảo chỉ dữ liệu cần thiết đi vào hoặc rời khỏi hệ thống (bảo mật) trong khi đảm bảo không gây hại cho người dùng cuối (an toàn). Ví dụ là hệ thống lái xe tự động trong ô tô và thiết bị y tế. Các hệ thống nhúng này có thể có sự kết hợp giữa mã nguồn mở (Linux) và hệ điều hành thời gian thực xác định (RTOS) và sử dụng nhiều phần mềm trung gian đã được chứng minh.

Tại sao phần mềm nhúng ô tô lại khác nhau?

Trong điện tử ô tô, các tương tác thời gian thực phức tạp xảy ra trên nhiều hệ thống nhúng mà mỗi hệ thống điều khiển có chức năng như phanh, lái, hệ thống treo, hệ thống truyền động, v.v. Vỏ vật lý chứa mỗi hệ thống nhúng được gọi là bộ điều khiển điện tử (ECU). Mỗi ECU và phần mềm nhúng của nó là một phần của kiến trúc điện phức tạp được gọi là hệ thống phân tán.

Bằng cách giao tiếp với nhau, các ECU tạo nên hệ thống phân tán của xe có thể thực hiện nhiều chức năng khác nhau, chẳng hạn như phanh khẩn cấp tự động, kiểm soát hành trình thích ứng, kiểm soát ổn định, đèn pha thích ứng và nhiều hơn nữa. Một chức năng duy nhất có thể cần tương tác trên 20 hoặc nhiều ứng dụng phần mềm nhúng trải rộng trên nhiều ECU được kết nối bởi nhiều giao thức mạng. Các thuật toán điều khiển phức tạp được triển khai với phần mềm nhúng đảm bảo thời gian thích hợp của các chức năng, đầu vào và đầu ra cần thiết và bảo mật dữ liệu.

Các ví dụ phổ biến về các tính năng dựa trên ứng dụng phần mềm ô tô bao gồm:

  • Các tính năng ADAS (Hệ thống hỗ trợ lái tiên tiến) như kiểm soát hành trình thích ứng, phanh khẩn cấp tự động, hỗ trợ giữ làn đường, hỗ trợ giao thông, cảnh báo khởi hành làn đường
  • Quản lý pin
  • Bù mô-men xoắn
  • Kiểm soát tốc độ phun nhiên liệu

Ngăn xếp phần mềm ECU

Bộ điều khiển điện tử hoặc ECU bao gồm một đơn vị tính toán chính với phần cứng cấp chip và một chồng phần mềm nhúng. Tuy nhiên, có một xu hướng ngày càng tăng trong số các nhà sản xuất ô tô để thiết kế ECU với các mạch tích hợp phức tạp chứa nhiều lõi tính toán trên một chip duy nhất - cái được gọi là Hệ thống trên Chip (SoC). Các SoC này có thể lưu trữ vô số trừu tượng ECU để củng cố phần cứng. Phần mềm cho ECU thường bao gồm một loạt các giải pháp, từ chương trình cơ sở cấp thấp đến các ứng dụng phần mềm nhúng cấp cao.

Ngăn xếp ECU

Mô tả

Ứng dụng phần mềm nhúng

Thuật toán điều khiển, xử lý, dịch vụ

Khung ứng dụng

Khung Security & An toàn

Môi trường hoạt động

AUTOSAR classic, AUTOSAR Adaptive, Kênh đầu vào/đầu ra

Ảo hóa nhúng

Hệ điều hành thời gian thực, trừu tượng ECU

Phần mềm cơ sở

Bộ tải khởi động, lưu trữ an toàn, luồng an toàn

Phần cứng

Thiết bị dựa trên silicon, bộ điều khiển vi mô, bảng một hoặc nhiều lớp

Tài nguyên liên quan đến phần mềm nhúng

Tìm hiểu thêm

Phần mềm nhúng và thiết kế mạng

Tìm hiểu cách bạn có thể nhanh chóng và hiệu quả phát triển phần mềm sáng tạo, an toàn để cung cấp các tính năng quan trọng của sản phẩm.