Giới thiệu về hệ thống nhúng

15/03/2012 0 3687

 Bài viết này nhằm giới thiệu cho người đọc một số khái niệm về hệ thống nhúng giúp người đọc có một định hướng đúng khi muốn tìm hiểu sâu hơn về thiết kế hệ thống nhúng. Nội dung gồm các điểm chính sau:

  1. Định nghĩa về hệ thống nhúng.
  2. Những đặc tính chung của các hệ thống nhúng.
  3. Các lãnh vực ứng dụng của hệ thống nhúng.
  4. Thiết kế hệ thống nhúng.

Định nghĩa về hệ thống nhúng (embedded system)

Một số định nghĩa về hệ thống nhúng:

  • Hệ thống nhúng là hệ thống xử lý thông tin được nhúng vào trong một sản phẩm lớn hơn và bình thường người dùng không thấy nó một cách trực tiếp [1].
  • Hệ thống tính toán nhúng (embedded computing system) là hệ thống tính toán được nhúng trong thiết bị điện tử (hầu như là các hệ thống tính toán khác máy tính) [2].
  • Thông thường các hệ thống nhúng là những ứng dụng đơn chức năng [3].
  • Hệ thống nhúng là hệ thống mà chức năng chính của nó không chỉ có tính toán mà được điều khiển bởi máy tính được nhúng trong nó [4].

Trong các định nghĩa trên, chúng ta thấy định nghĩa thứ nhất có thể mô tả tổng quát về hệ thống nhúng. Ngày nay các hệ thống nhúng ở khắp nơi, chúng xuất hiện trong nhà, văn phòng, nhà máy, xe hơi, bệnh viện,…

Những đặc tính chung của các hệ thống nhúng

Các hệ thống nhúng có các đặc tính chung sau: [1]

  • Thường thì các hệ thống nhúng được nối với môi trường vật lý qua các cảm biến để thu thập thông tin từ môi trường đó và qua các bộ điều khiển/tác động để điều khiển môi trường.
  • Các hệ thống nhúng phải tin cậy được. “Tin cậy được” bao gồm độ tin cậy, tính bảo trì, tính khả dụng, an toàn và bảo mật.
  • Các hệ thống nhúng phải có hiệu suất cao. Để đánh giá hiệu suất, người ta dựa vào các tiêu chí sau: năng lượng, kích thước mã chương trình/tài nguyên sử dụng, hiệu suất lúc chạy thật (run-time efficiency), khối lượng và giá.
  • Dành riêng cho ứng dụng cụ thể. Thí dụ bộ xử lý chạy chương trình điều khiển trong xe hơi sẽ luôn luôn chạy chương trình mà không chuyển sang chương trình khác.
  • Hầu hết các hệ thống nhúng không dùng bàn phím, chuột hay màn mình để giao tiếp với người dùng. Thay vào đó, chúng có các giao tiếp dành riêng cho người dùng như các nút nhấn, bàn đạp,…
  • Nhiều hệ thống nhúng phải thỏa các ràng buộc thời gian thực.
  • Nhiều hệ thống nhúng là những hệ thống hỗn hợp (hybrid systems) theo nghĩa gồm cả hai phần analog và số.
  • Các hệ thống nhúng là những hệ thống có phản ứng lại (reactive systems). Chúng có thể được định nghĩa như sau: hệ thống có phản ứng lại là hệ thống mà có tương tác liên tục với môi trường của nó và thực thi với tốc độ được xác định bởi môi trường đó [Bergé et al., 1995].

Thật ra không phải mọi hệ thống nhúng sẽ có tất cả các đặc tính trên. Chúng ta cũng có thể định nghĩa thuật ngữ “hệ thống nhúng” theo cách sau: Những hệ thống xử lý thông tin thỏa phần lớn các đặc tính trên được gọi là những hệ thống nhúng.

Các lãnh vực ứng dụng của hệ thống nhúng

Chúng ta có thể thấy các hệ thống nhúng trong nhiều lãnh vực:

  • Điện tử gia dụng: máy giặt, tủ lạnh, máy chụp hình số,…
  • Điện tử ô-tô: hệ điều khiển động cơ, hệ điều khiển thắng, hệ GPS,…
  • Điện tử trong máy bay: hệ thông tin cho phi công, hệ chống va chạm,…
  • Điện tử y sinh: đo nhiệt độ, ECG, chẩn đoán từ xa,…
  • Xe lửa: hệ tự lái, hệ thắng,…
  • Viễn thông: điện thoại di động, hệ thống tổng đài, điều khiển ăng-ten, thiết bị GPS,…
  • Các ngôi nhà thông minh: tiết kiệm năng lượng, điều khiển nhiệt độ, chiếu sáng,…

Các hệ thống nhúng tạo cơ sở cho kỷ nguyên hậu PC (post-PC era), các hệ thống xử lý thông tin chuyển dần từ PC sang hệ thống nhúng cho các ứng dụng cụ thể.

Thiết kế hệ thống nhúng [3]

Các hệ thống nhúng thường là các ứng dụng đon chức năng. Nhiều ràng buộc chức năng khác nhau cho hệ thống nhúng là giá thành thấp, một đến một ít thành phần/linh kiện, công suất thấp, có đáp ứng thời gian thật, và hỗ trợ đồng tồn tại phần cứng và phần mềm. Phương pháp tổng quát để thiết kế hệ thống nhúng được cho trong bảng 1.

Bảng 1. Luồng thiết kế hệ thống nhúng [5]

Giai đoạn thiết kế

Chi tiết

Các yêu cầu Các yêu cầu chức năng và các yêu cầu không chức năng (kích thước, khối lượng, tiêu thụ công suất và giá)
Đặc tả người dùng Các chi tiết giao tiếp người dùng cùng với các tác vụ thỏa các yêu cầu của người dùng
Kiến trúc Các thành phần phần cứng (bộ xử lý, ngoại vi, logic khả lập trình và ASSP[Application Specific Standard Product]), các thành phần phần mềm (các chương trình chính và các tác vụ của chúng)
Thiết kế thành phần Các thành phần được thiết kế trước, được sửa đổi và các thành phần mới.
Tích hợp hệ thống

 

(phần cứng và phần mềm)

Sắp xếp kiểm chứng có hệ thống để tìm lỗi nhanh chóng

Việc quyết định công nghệ nền cho thiết kế số ở phần kiến trúc phụ thuộc vào một số ràng buộc sau:

  • Tốc độ cập nhật thời gian thật
  • Công suất
  • Giá
  • Giải pháp đơn chip
  • Dễ lập trình
  • Tính khả chuyển của mã (Portability of code)
  • Các thư viện mã có thể tái sử dụng
  • Các công cụ lập trình

Bảng 2 cho thấy các đặc tính của các công nghệ nền cho thiết kế số, mà từ đó chúng ta có thể chọn lựa để sử dụng trong các thiết kế của mình.

Bảng 2. Các công nghệ nền dùng cho thiết kế số

Công nghệ nền cho thiết kế số

Giá trị ứng dụng

Vi xử lý (microprocessor)

Có thể tái cấu hình bằng phần mềm. Tốt cho các ứng dụng tính toán.

Vi điều khiển và bộ xử lý tín hiệu số

(Microcontrollers and DSPs)

Kết hợp ngoại vi và CPU, giải pháp đơn chip

Sản phẩm chuẩn chuyên dụng

(Application specific standard product=ASSP)

Ngoại vi chuyên dụng có khả năng truyền thông với bộ xử lý chủ

 

 

Field programmable gate array (FPGA)

Có khả năng kết hợp sức mạnh của bộ xử lý, bộ điều khiển và ASSP, [giải pháp đơn chip nếu FPGA có dung lượng lớn]

Với các thiết kế hệ thống nhúng dựa trên vi điều khiển thì người ta thường gọi phần mềm của chúng là firmware. Chúng ta có thể viết firmware bằng hợp ngữ hoặc bằng ngôn ngữ lập trình cao hơn như C hoặc C nhúng.

Kết luận

Với các ứng dụng phong phú và các yêu cầu đa dạng của người dùng, các hệ thống nhúng đã, đang và sẽ giải quyết được các vấn đề đó. Người ta dự đoán rằng trong tương lai hệ thống nhúng sẽ xuất hiện trong hầu hết các lãnh vực!

Tài liệu tham khảo

  1. Peter Merwedel, “Embedded System Design”, Springer Verlag, 2006.
  2. Frank Vahid and Tony Givargis, “Embedded System Design: A Unified Hardware/Software Introduction”, John Wiley & Sons, 2002.
  3. Rahul Dubey, “Introduction to Embedded System Design Using Field Programmable Gate Arrays”, Springer-Verlag, 2009.
  4. Wilmshurst, T., “An Introduction to the Design of Small-Scale Embedded Systems”, Palgrave, 2001.
  5. Wolf  W., “Computers as Components: Principles of Embedded Computer Systems Design”, Morgan Kaufmann, 2005.

Đăng nhập

Chat