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:
Định nghĩa về hệ thống nhúng (embedded system)
Một số định nghĩa về hệ thống nhúng:
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ậ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:
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:
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