Embedded software, embedded system là gì? Khác biệt và cách phân loại


Embedded Software là gì?





Embedded software application là chương trình chuyên dụng trong các thiết bị không phải PC (hoặc một bộ phận của microchip hoặc một bộ phận của ứng dụng khác nằm trên chip) để điều khiển các chức năng cụ thể của thiết bị.





Không như các ứng dụng PC có thể được cài đặt trên nhiều hệ thống máy tính và được sửa đổi để cung cấp các mức chức năng khác nhau, embedded software 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 trên đó, với các hạn chế về xử lý và bộ nhớ gắn trực tiếp với thông số kỹ thuật của thiết bị đó.





Embedded software được sử dụng cho một chức năng cụ thể góp phần vào hoạt động chung của thiết bị
Embedded software được sử dụng cho một chức năng cụ thể góp phần vào hoạt động chung của thiết bị




Ví dụ về các chức năng dựa trên Embedded software





Các hệ thống phần mềm nhúng phổ biến trong cuộc sống hàng ngày và được tìm thấy trên khắp 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 trong thiết bị hình ảnh y tế
  • Hệ thống điều khiển điện tử (fly by wire) 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 trong đèn giao thông
  • Hệ thống thời gian và tự động hóa trong các thiết bị nhà thông minh




Khác biệt giữa firmware và embedded software





Mặc dù hai thuật ngữ này đôi khi được sử dụng thay thế cho nhau, nhưng “firmware” thực chất là một loại embedded software.





Firmware thực chất là một loại Embedded software
Firmware thực chất là một loại Embedded software. Ảnh: Freepik




Embedded software được sử dụng cho một chức năng cụ thể góp phần vào mục đích chung của thiết bị, còn firmware đóng vai trò như một hệ điều hành (OS) tối giản cung cấp hướng dẫn cho các chức năng điều khiển, giám sát và thao tác dữ liệu của thiết bị.





Thông thường, firmware được phát triển cùng với phần cứng (hardware) của thiết bị (thiết kế chip) để tối ưu hóa các hoạt động tiêu thụ điện năng, tốc độ và bảo mật.





Sau khi hoàn thiện firmware và hardware, các ứng dụng embedded software được phát triển để thực thi các chức năng trong thành phẩm hoặc hệ thống.





Để giúp bạn phân biệt giữa hai phần mềm này, hãy nhớ:





Tất cả firmware đều là embedded software, nhưng không phải embedded software nào cũng là firmware.





Embedded Software và Embedded System (Hệ thống nhúng)





Các bộ phận phần cứng trong thiết bị đang chạy embedded software được gọi là “embedded system” (hệ thống nhúng).





Embedded system - hệ thống nhúng
Embedded system – hệ thống nhúng. Ảnh: Researchgate.net




Một số ví dụ về các bộ phận phần cứng được sử dụng trong hệ thống nhúng là mạch cấp nguồn, bộ xử lý trung tâm, thiết bị bộ nhớ flash, bộ định thời 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 tạo nên hệ thống nhúng – và cấu hình của nó trong thiết bị – sẽ được quyết định.





Sau đó, embedded software được phát triển từ đầu để chạy độc quyền trên phần cứng đó với 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 rất 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.





Có những loại hệ thống nhúng nào?





Hệ thống nhúng thường được phân loại theo 2 cách:





Khi dựa trên các yêu cầu về hiệu suất và chức năng, có bốn loại hệ thống nhúng chính:





  • Các hệ thống nhúng thời gian thực (real time embedded system) hoàn thành nhiệm vụ của chúng hoặc đưa ra phản hồi trong một thời gian cụ thể – thường là “ngay lập tức” hoặc theo thời gian thực.
  • Các hệ thống nhúng độc lập (stand-alone embedded system) có thể hoàn thành nhiệm vụ của chúng mà không cần hệ thống chủ hoặc tài nguyên xử lý bên ngoài. Chúng 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 các thiết bị này để hoàn thành nhiệm vụ.
  • Hệ thống nhúng nối mạng (networked embedded system) phụ thuộc vào mạng được kết nối để thực hiện các tác vụ được giao.
  • Hệ thống nhúng di động (mobile embedded system) là những hệ thống có tính hạn chế cao thường được triển khai trong các thiết bị nhỏ, có tính di động.




Khi dựa trên độ 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 quy mô nhỏ
  • Hệ thống nhúng quy mô trung bình
  • Hệ thống nhúng tinh vi (phức tạp)




Đặ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, chúng đều có chung các tính năng và đặc điểm thiết kế





  • Tất cả các hệ thống nhúng đều có nhiệm vụ cụ thể. Chúng thực hiện cùng một chức năng được lập trình sẵn trong suốt thời gian sử dụng và không thể thay đổi được.
  • Tất cả các hệ thống nhúng được thiết kế để có độ tin cậy cao và ổn định. Chúng được yêu cầu 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.
  • Tất cả các hệ thống nhúng đều có hiệu suất cao. Các yêu cầu về 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 mà nó được cài đặt và các thông số kỹ thuật của phần cứng không bao giờ được vượt quá các yêu cầu tối thiểu của phần mềm nhúng.




Nguồn từ automation.siemens.com