1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu cơ bản về hệ thống nhúng

17 501 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 94,69 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm với những yêu cầu cụ thể và bao g

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN



ĐỀ TÀI TÌM HIỂU CƠ BẢN VỀ HỆ THỐNG NHÚNG

Giáo viên hướng dẫn: Nguyễn Văn Thắng Lớp: AT8B

Nhóm 11: Vũ Ngọc Tiến

Sái Nguyễn Đức Hoàng Nguyễn Thị Vân Anh Nguyễn Nam Thái

Hoàng Văn Thái

Hà Nội, ngày 16 tháng 4 năm 2014.

Trang 2

MỤC LỤC

Trang Chương I: Giới thiệu tổng quan về hệ thống nhúng

1.1 Khái niệm hệ thống nhúng

1.2 Đặc điểm chung của hệ thống nhúng

1.3 Hệ thống thời gian thực

1.4 Lĩnh vực ứng dụng của hệ thống nhúng

Chương II: Kiến trúc – thiết kế hệ thống nhúng

2.1 Kiến trúc của hệ thống nhúng

2.2 Thiết kế hệ thống nhúng

2.3 Mô hình hệ thống nhúng

Chương III: Phần mềm nhúng

3.1 Khái niệm

3.2 Trình điều khiển thiết bị

3.3 Hệ điều hành trong các hệ thống nhúng

3.4 Phần mềm ứng dụng

3.4.1 Middleware

3.4.2 Application

Kết luận

4 4 4 4 5 6 6 8 10 11 11 11 12 12 13 13 15

Trang 3

Lời nói đầu

Hệ thống nhúng là một thuật ngữ để chỉ một hệ thống có khả năng tự trị

được nhúng vào trong một môi trường hay một hệ thống mẹ Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin Do có nhiều ứng dụng như vậy nên trong đề tài này nhóm chỉ giới thiệu cơ bản về hệ thống nhúng bao gồm: khái niệm, đặc điểm, kiến trúc cơ bản nhất, các lĩnh vực có thể sử dụng hệ thống nhúng

Do đây là lần đầu tìm hiểu về hệ thống nhúng nên còn nhiều thiếu sót, mong thầy cô và các bạn góp ý, bổ sung cho những phần nhóm làm còn thiếu

Trang 4

Chương I: Giới thiệu tổng quan về hệ thống nhúng

1.1 Khái niệm hệ thống nhúng

Hệ thống nhúng (Embedded system) là một thuật ngữ để chỉ một hệ thống

có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ Đó

là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng

tự động hoá cao

Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên biệt nào đó Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường

đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng mà ta không tìm thấy trong một máy tính đa năng nói chung Vì

hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất Các hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn Hệ thống nhúng rất đa dạng, phong phú về chủng loại Đó có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kĩ thuật số và máy chơi nhạc MP3, hoặc những sản phẩm lớn như đèn giao thông, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn

1.2 Đặc điểm chung của hệ thống nhúng

Hệ thống nhúng thường có một số đặc điểm chung như sau:

• Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên dụng chứ không phải đóng vai trò là các hệ thống máy tính đa chức năng Một số

hệ thống đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm bảo độ an toàn

và tính ứng dụng, một số hệ thống không đòi hỏi hoặc ràng buộc chặt chẽ, cho phép đơn giản hóa hệ thống phần cứng để giảm thiểu chi phí sản xuất

• Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một

hệ thống phức tạp nằm trong thiết bị mà nó điều khiển

• Phần mềm được viết cho các hệ thống nhúng được gọi là firmware và được lưu trữ trong các chip bộ nhớ ROM hoặc bộ nhớ flash chứ không phải là trong một

ổ đĩa Phần mềm thường chạy với số tài nguyên phần cứng hạn chế: không có bàn phím, màn hình hoặc có nhưng với kích thước nhỏ, dung lượng bộ nhớ thấp Sau đây, ta sẽ đi sâu, xem xét cụ thể đặc điểm của các thành phần của hệ thống nhúng

1.3 Hệ thống thời gian thực

Thời gian thực được hiểu là yêu cầu của hệ thống phải đảm bảo thoả mãn về tính tiền định trong hoạt động của hệ thống Tính tiền định nói lên hành vi của hệ thống thực hiện đúng trong một khung thời gian cho trước hoàn toàn xác định

Trang 5

Khung thời gian này được quyết định bởi đặc điểm hoặc yêu cầu của hệ thống, có thể là vài giây và cũng có thể là vài nano giây hoặc nhỏ hơn nữa Ở đây chúng ta phân biệt yếu tố thời gian gắn liền với khái niệm về thời gian thực Không phải hệ thống thực hiện rất nhanh là sẽ đảm bảo được tính thời gian thực vì nhanh hay chậm hoàn toàn là phép so sánh có tính tương đối vì mili giây có thể là nhanh với

hệ thống điều khiển nhiệt nhưng lại là chậm đối với các đối tượng điều khiển điện như dòng, áp Hơn thế nữa nếu chỉ nhanh không thì chưa đủ mà phải đảm bảo duy trì ổn định bằng một cơ chế hoạt động tin cậy Chính vì vậy hệ thống không kiểm soát được hoạt động của nó (bất định) thì không thể là một hệ thống đảm bảo tính thời gian thực mặc dù hệ thống đó có thể cho đáp ứng rất nhanh, thậm chí nhanh hơn rất nhiều so với yêu cầu đặt ra

Người ta phân ra làm hai loại đối với khái niệm thời gian thực là cứng (hard real time) và mềm (soft real time) Thời gian thực cứng là khi hệ thống hoạt động với yêu cầu thoả mãn sự ràng buộc trong khung thời gian cứng tức là nếu vi phạm thì sẽ dẫn đến hoạt động của toàn hệ thống bị sai hoặc bị phá huỷ Thời gian thực mềm là khi hệ thống hoạt động với yêu cầu thoả mãn ràng buộc trong khung thời gian mềm, nếu vi phạm và sai lệch nằm trong khoảng cho phép thì hệ thống vẫn có thể hoạt động được và chấp nhận được Thực tế thấy rằng hầu hết hệ nhúng là các

hệ thời gian thực và hầu hết các hệ thời gian thực là hệ nhúng Điều này phản ánh mối quan hệ mật thiết giữa hệ nhúng và thời gian thực và tính thời gian thực đã trở thành như một thuộc tính tiêu biểu của hệ nhúng Vì vậy hiện nay khi đề cập tới các hệ nhúng người ta đều nói tới đặc tính cơ bản của nó là tính thời gian thực

1.4 Lĩnh vực ứng dụng của hệ thống nhúng

Chúng ta có thể kể ra được rất nhiều các ứng dụng của hệ thống nhúng đang được sử dụng hiện nay, và xu thể sẽ còn tiếp tục tăng nhanh Một số các lĩnh vực

và sản phẩm thị trường rộng lớn của các hệ nhúng có thể được nhóm như sau:

- Các thiết bị điều khiển

- Ôtô, tàu điện

- Truyền thông

- Thiết bị y tế

- Hệ thống đo lường thẩm định

- Toà nhà thông minh

- Thiết bị trong các dây truyền sản xuất

- …

Trang 6

Chương II: Kiến trúc – thiết kế hệ thống nhúng

2.1 Kiến trúc của hệ thống nhúng

Kiến trúc của một hệ thống nhúng thể hiện ở mức độ trong suốt của các thiết

bị nhúng, đó là các hệ thống nhúng thông thường sẽ không thể hiện các thông tin cài đặt cụ thể như mã nguồn hoặc các chi tiết về mạch điện Tại mỗi mức của kiến

trúc, các thành phần phần cứng và phần mềm sẽ thể hiện một số những elements.

Elements là các thể hiện của phần cứng và phần mềm mà những thông tin cài đặt

cụ thể được ẩn đi, elements chỉ cho ta biết những thông tin về hành vi của chúng

Ta có internal và external elements, internal element liên kết với các thiết bị nhúng còn external elemements liên kết với các internal elements Tóm lại, kiến trúc của một hệ thống nhúng bao gồm các thành phần của hệ thống đó Các elements liên kết với hệ thống, thuộc tính của từng thành phần elements cụ thể và mối quan hệ giữa các elements Thông tin về các mức của kiến trúc hệ thống nhúng được biểu diễn dưới dạng các cấu trúc Một cấu trúc có thể biểu diễn một phần kiến trúc, đồng thời bao gồm tập hợp các thành phần, thuộc tính và các mối liên hệ giữa các thành phần Mỗi cấu trúc do đó là một snapshot của hệ thống phần cứng/phần mềm tại thời điểm thiết kế hoặc thực thi Cho trước một môi trường thực thi và một tập hợp các thành phần Do rất khó để có thể dùng một snapshot mô tả tất cả những độ phức tạp của cả hệ thống, thông tin về kiến trúc thường được tạo ra từ nhiều cấu trúc Tất cả mọi cấu trúc trong một kiến trúc đều được kế thừa và liên quan đến các cấu trúc khác Bảng sau mô tả một số các cấu trúc cơ bản nhất và đưa ra giải thích

về sự liên quan giữa những thành phần này

Module

SubSystem Layers Kernel

Chennel Architectur e

Virtual Machine Decomposition

Class

Component

and

Connector

Client/Server Process Concurrent and Resource Interrupt

Scheduling Memory

Safety and Reliability Alocation

Work Assignment Implementation Deployment Trong đó:

• Module: là những thành phần được định nghĩa với những chức năng khác nhau, là những đơn vị phần mềm/phần cứng cần thiết để hệ thống có thể hoạt động đúng Cấu trúc mô tả với những module này thường được sử dụng để giới thiệu

Trang 7

một sản phẩm nào đó.

• SubSystem: biểu diễn hình ảnh của một module tại thời điểm thực thi trong

đó có sự liên kết hoạt động giữa các module với nhau

• Layers: một kiểu của SubSystem trong đó các module được biểu diễn dưới dạng các lớp, module ở lớp trên sẽ sử dụng các dịch vụ được cung cấp bởi module

ở lớp dưới

• Kernel: cấu trúc biểu diễn các module có sử dụng các dịch vụ của kernel hoặc được quản lý bởi kernel

• Channel Architecture: cấu trúc biểu diễn các module dạng chuỗi, mô tả những sự thay đổi trạng thái của module trong quá trình hoạt động

• Virtual Machine: cấu trúc biểu diễn các module sử dụng các dịch vụ của một máy ảo

• Decomposition: một kiểu cấu trúc module trong đó một số module là các module con của module khác, thể hiện trong các mối quan hệ giữa những module này Cấu trúc này thường được sử dụng để xác định các tài nguyên, quản lý dự án, quản lý dữ liệu

• Class: là một kiểu cấu trúc biểu diễn các đơn vị phần mềm trong đó các module được tham chiếu là các lớp, và quan hệ giữa chúng được định nghĩa dựa theo mô hình hướng đối tượng trong đó lớp này kế thừa từ lớp khác hoặc là một thể hiện của lớp cha

• Component or Connector: các cấu trúc này bao gồm các thành phần hoặc

là các components ví dụ như các đơn vị xử lý phần cứng, phần mềm, bộ xử lý, máy ảo hoặc các Connector (các đơn vị kết nối giữa các thành phần, như hệ thống bus phần cứng hoặc hệ thống thông điệp phần mềm)

• Client/Server: kiểu cấu trúc mô tả hệ thống tại thời điểm thực thi với các thành phần là clients hoặc server và các connector là các cơ chế kết nối (như giao thức, thông điệp, gói tin ) được sử dụng để liên kết giữa clients và server

• Process: cấu trúc này mô tả phần mềm của hệ thống trong đó chứa hệ điều hành, các thành phần khác như các process và các tiến trình và các liên kết của chúng

• Concurrency and Resource: cấu trúc này mô tả một snapshot của hệ thống bao gồm OS, và các thành phần trong đó Cấu trúc này được sử dụng trong việc quản lý tài nguyên và để xác định xem có vấn đề gì với việc chia sẻ các tài nguyên cũng như các tiến trình có thể thực thi song song hay không

• Interrupt: cấu trúc mô tả các cơ chế xử lý ngắt trong hệ thống

• Scheduling: cấu trúc mô tả cơ chế lập lịch và quản lý tiến trình trong hệ thống

• Memory: mô tả hình ảnh của bộ nhớ và các thành phần dữ liệu trong bộ nhớ cũng như mô tả các cơ chế quản lý bộ nhớ của hệ thống

• Safety and Reliability: cấu trúc mô tả hệ thống tại thời điểm thực thi trong

đó biểu diễn những thành phần dư thừa và những mối liên hệ của chúng để đánh giá độ an toàn và tin cậy của cả hệ thống

• Allocation: cấu trúc mô tả mối liên hệ giữa các thành phần phần cứng/phần mềm và các thực thể của môi trường bên ngoài

Trang 8

• Work Assignment: cấu trúc này gán cho các nhóm phát triển những công việc (các module) cần thực hiện Nó được sử dụng trong việc quản lý dự án

• Implementation: đây là cấu trúc phần mềm chỉ ra vị trí mà phần mềm đó trong hệ thống file

• Deployment: cấu trúc này mô tả hệ thống tại thời điểm thực thi với các thành phần của cả phần cứng và phần mềm và mối liên hệ giữa chúng

2.2 Mô hình hệ thống nhúng

Hình 2.3 Mô hình hệ thống nhúng

Tất cả các hệ thống nhúng đều có chung một thành phần giống nhau ở tầng cao nhất, đó là đều có ít nhất một lớp (phần cứng) hoặc nhiều lớp (phần cứng, phần mềm và ứng dụng) trong đó chứa tất cả các components Phần cứng bao gồm tất cả những thành phần vật lý có trên mạch nhúng, phần mềm và các ứng dụng bao gồm tất cả những thành phần logic có trong hệ thống nhúng

Mô hình tham chiếu trên là cách biểu diễn phân lớp của kiến trúc các hệ thống nhúng từ đó các cấu trúc module có thể được suy ra Nếu bỏ qua những sự khác nhau giữa các thiết bị trong bảng trên, có thể nói rằng kiến trúc của mọi hệ thống được biểu diễn thông qua việc thể hiện và nhóm các thành phần được gọi là các lớp Ta cũng chú ý là lớp không chỉ là khái niệm đặc thù của riêng hệ thống nhúng mà còn là của nhiều hệ thống khác Đây là công cụ hữu ích để mô hình hóa

sự kết hợp giữa hàng trăm, có thể hàng ngàn thành phần trong thiết kế hệ thống nhúng Những nguyên nhân chính khiến chúng trở lên hữu ích là:

Thể hiện được các thành phần quan trọng và các hành vi của chúng: phương pháp phân lớp cho phép người đọc có thể nhận diện được nhiều thành phần khác nhau và mối quan hệ giữa chúng

Trang 9

Phương pháp biểu diễn cấu trúc theo các module cấu trúc chính để phân lớp kiến trúc của toàn bộ dự án nhúng: bởi vì trong hệ thống có rất nhiều module và các module này hoạt động độc lập với nhau, đồng thời chúng có những mối liên kết mức độ cao, do vậy phân lớp những loại module này làm tăng khả năng thể hiện cấu trúc hệ thống nhúng

2.3 Thiết kế hệ thống nhúng

Thiết kế các hệ thống nhúng là thiết kế phần cứng và phần mềm phối hợp bao gồm những bước sau:

- Mô hình hoá hệ thống: Mô tả các khối chức năng với các đặc tính và thuật toán xử lý

- Chi tiết hoá các khối chức năng

- Phân bố chức năng cho phần cứng và mềm (HW-SW)

- Đồng bộ hoạt động của hệ thống

- Cài đặt các chức năng thiết kế vào phần cứng (hardware) và phần mềm (software) hoặc phần nhão (firm-ware)

Cách thiết kế cổ điển là các chức năng phần mềm (SW) và phần cứng (HW) được xác định trước rồi sau đó các bước thiết kế chi tiết được tiến hành một cách độc lập ở hai khối Hiện nay đa số các hệ thống tự động hoá thiết kế (CAD) thường dành cho thiết kế phần cứng Các hệ thống nhúng sử dụng đồng thời nhiều công nghệ như vi xử lý, DSP, mạng và các chuẩn phối ghép, protocol, do vậy xu thế thiết kế các hệ nhúng hiện nay đòi hỏi có khả năng thay đổi mềm dẻo hơn trong quá trình thiết kế 2 phần HW và SW Để có được thiết kế cuối cùng tối ưu quá trình thiết kế SW và HW phải phối hợp với nhau chặt chẽ và có thể thay đổi sau mỗi lần thử chức năng hoạt động tổng hợp

Thiết kế các hệ nhúng đòi hỏi kiến thức đa ngành về điện tử, xử lý tín hiệu, vi

xử lý, thuật điều khiển và lập trình thời gian thực

Các hệ thống nhúng thường là các ứng dụng đơn 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

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à

Trang 10

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

Bảng 1 Luồng thiết kế hệ thống nhú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

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

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

Ngày đăng: 17/10/2014, 07:32

HÌNH ẢNH LIÊN QUAN

Hình 2.3. Mô hình hệ thống nhúng - Tìm hiểu cơ bản về hệ thống nhúng
Hình 2.3. Mô hình hệ thống nhúng (Trang 8)
Hình 3.4.1.Middleware trong hệ thống nhúng - Tìm hiểu cơ bản về hệ thống nhúng
Hình 3.4.1. Middleware trong hệ thống nhúng (Trang 14)
Hình 3.4.2. Application trong hệ thống nhúng - Tìm hiểu cơ bản về hệ thống nhúng
Hình 3.4.2. Application trong hệ thống nhúng (Trang 15)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w