Giáo trình Hệ thống nhúng

Hệ nhúng

Hình 1: một vài hình ảnh về hệ nhúng

Trong thế giới của chúng ta bất kỳ một hệ thống điện/điện tử hay thiết bị điện

có khả năng xử lý thông tin và điều khiển đều có thể tiềm ẩn trong đó một thiết bị hay hệ nhúng, ví dụ như các thiết bị truyền thông, thiết bị đo lường điều khiển, có thể kể ra

hàng loạt các thiết bị hệ thống nhúng đang tồn tại quanh ta, chúng là hệ nhúng. Vậy

thực chất hệ nhúng là một phần hệ thống xử lý thông tin trong các hệ thống lớn, phức

hợp và độc lập ví dụ như trong ô tô, các thiết bị đo lường, điều khiển, truyền thông và

thiết bị thông minh nói chung. Chúng là những tổ hợp của phần cứng và phần mềm để

thực hiện một hoặc một nhóm các chức năng chuyên biệt cụ thể (trái ngược với máy

tính PC mà chúng ta thường thấy được sử dụng không phải cho một chức năng mà là

rất nhiều chức năng chức năng). PC thực chất là một hệ thống lớn tổ hợp của nhiều hệ

thống nhúng ví dụ như card màn hình, âm thanh, ổ cứng, bàn phím Chính điều này

làm chúng ta dễ lúng túng nếu được hỏi nên hiểu thế nào về PC, có phải là hệ nhúng

hay không.

pdf 102 trang kimcuc 17301
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ thống nhúng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Hệ thống nhúng

Giáo trình Hệ thống nhúng
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
1
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN 
KHOA ĐIỆN – ĐIỆN TỬ 
******** 
ĐỀ CƯƠNG BÀI GIẢNG 
HỆ THỐNG NHÚNG 
EMBEDDED SYSTEMS 
Hưng Yên, tháng 11 năm 2015 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
2
CHƯƠNG 1 GIỚI THIỆU CHUNG 4 
1.1 Các khái niệm về hệ nhúng 4 
1.2 Đặc điểm công nghệ và xu thế phát triển của hệ nhúng 6 
1.2.1 Đặc điểm công nghệ 6 
1.2.2 Xu thế phát triển và sự tăng trưởng của hệ nhúng 7 
1.3 Yêu cầu thiết kế hệ thống nhúng 7 
1.4 Qui trình phát triển hệ thống nhúng 8 
CHƯƠNG 2 CẤU TRÚC PHẦN CỨNG HỆ NHÚNG 10 
2.1 Các thành phần kiến trúc cơ bản 10 
2.1.1 Đơn vị xử lý trung tâm 10 
2.1.2 Xung nhịp và trạng thái tín hiệu 10 
2.1.3 Bus địa chỉ và dữ liệu điều khiển 11 
2.1.4 Bộ nhớ và kiến trúc bộ nhớ 12 
2.1.5 Ngoại vi 15 
2.1.6. Giao diện 27 
2.2. Một số nền phần cứng nhúng thông dụng 31 
2.2.1. Chip vi xử lý/ vi điều khiển nhúng 32 
2.2.2. Chip DSP 34 
2.2.3 PAL 36 
2.3 Thiết kế phần cứng hệ thống điều khiển tốc độ động cơ điện một chiều 43 
CHƯƠNG 3 LẬP TRÌNH HỆ NHÚNG 44 
3.1 Đặc điểm phần mềm nhúng 44 
3.2 Biểu diễn số và dữ liệu 44 
3.2.1 Các hệ thống cơ số 44 
3.2.2 Số nguyên 45 
3.2.3 Số dấu phảy tĩnh 47 
3.2.4 Số dấu phảy động 47 
3.2.5 Một số phép tính cơ bản 49 
3.3 Tập lệnh 54 
3.3.1 Cấu trúc tập lệnh CISC và RISC 54 
3.3.2 Định dạng lệnh 56 
3.3.3 Các kiểu truyền đại chỉ toán tử lệnh 57 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
3
3.3.4 Nguyên lý thực hiện PIPELINE 59 
3.3.5 Harzard 61 
3.4 Ngôn ngữ và môi trường phát triển 64 
3.4.1 Ngôn ngữ 64 
3.4.2 Biên dịch 66 
3.4.3 Simulator 73 
3.4.4 Emulator 73 
3.4.5 Thiết kế hệ thống bằng máy tính 74 
3.5. Hệ điều hành 76 
Bộ nạp khởi tạo (Boot-loader) 77 
Các yêu cầu chung 80 
3.6 Hệ điều hành thời gian thực 82 
3.7 Tác vụ và quá trình (process) 87 
3.8 Lập lịch (Scheduling) 88 
3.8.1 Các khái niệm 88 
3.8.2 Các phương pháp lập lịch phổ biến 90 
3.8.3 Kỹ thuật lập lịch 93 
3.9 Thiết kế phần mềm hệ thống điều khiển tốc độ động cơ điện một chiều 95 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
4
CHƯƠNG 1 GIỚI THIỆU CHUNG 
Kỷ nguyên công nghệ đã và đang tiếp tục phát triển không ngừng nhằm thông 
minh hóa hiện đại hóa hệ thống. Có thể nói sự ra đời và phát triển của hệ nhúng trước 
tiên phải kể đến sự ra đời của các bộ vi xử lý, vi điều khiển. Nó được đánh dấu bằng 
sự ra đời của Chip vi xử lý đầu tiên 4004 vào năm 1971 cho mục đích tính toán thương 
mại của công ty Busicom và sau đó đã được chắp cánh và phát triển vượt bậc bởi 
INTEL để trở thành các bộ siêu xử lý như các Chip được ứng dụng cho PC như ngày 
nay. Thập kỷ 80 có thể được coi là thời điểm bắt đầu kỷ nguyên mới của sự bùng nổ 
thông tin về phát triển các hệ nhúng. Từ đó khởi nguồn cho làn sóng ra đời của hàng 
loạt các chủng loại vi xử lý và gắn liền các hệ nhúng để thâm nhập rộng khắp trong các 
ứng dụng hàng ngày của cuộc sống chúng ta ví dụ như các thiết bị điện tử sử dụng cho 
sinh hoạt hàng ngày như: lò vi sóng, TV, tủ lạnh, máy giặt, điều hòa và văn phòng 
làm việc như: máy fax, máy in, máy điện thoại các bộ vi xử lý và phần mềm cũng 
ngày càng được sử dụng rộng rãi trong rất nhiều ứng dụng đa dạng. Trong số đó vẫn 
còn ứng dụng cho cả chip 8 bit, 16 bit và hiện nay chủ yếu vẫn là 32 bit (chiếm khoảng 
75%). Gắn với sự phát triển phần cứng, phần mềm cũng đã phát triển với tốc độ nhanh 
không thua kém thậm chí sẽ tăng nhanh hơn rất nhiều theo sự phát triển hệ nhúng. 
1.1 Các khái niệm về hệ nhúng 
Hệ nhúng 
Hình 1: một vài hình ảnh về hệ nhúng 
Trong thế giới của chúng ta bất kỳ một hệ thống điện/điện tử hay thiết bị điện 
có khả năng xử lý thông tin và điều khiển đều có thể tiềm ẩn trong đó một thiết bị hay 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
5
hệ nhúng, ví dụ như các thiết bị truyền thông, thiết bị đo lường điều khiển, có thể kể ra 
hàng loạt các thiết bị hệ thống nhúng đang tồn tại quanh ta, chúng là hệ nhúng. Vậy 
thực chất hệ nhúng là một phần hệ thống xử lý thông tin trong các hệ thống lớn, phức 
hợp và độc lập ví dụ như trong ô tô, các thiết bị đo lường, điều khiển, truyền thông và 
thiết bị thông minh nói chung. Chúng là những tổ hợp của phần cứng và phần mềm để 
thực hiện một hoặc một nhóm các chức năng chuyên biệt cụ thể (trái ngược với máy 
tính PC mà chúng ta thường thấy được sử dụng không phải cho một chức năng mà là 
rất nhiều chức năng chức năng). PC thực chất là một hệ thống lớn tổ hợp của nhiều hệ 
thống nhúng ví dụ như card màn hình, âm thanh, ổ cứng, bàn phím Chính điều này 
làm chúng ta dễ lúng túng nếu được hỏi nên hiểu thế nào về PC, có phải là hệ nhúng 
hay không. 
Hệ thời gian thực 
Trong bài toán điều khiển và ứng dụng chúng ta rất hay gặp thuật ngữ ”thời 
gian thực”. Real time có phải là thời gian phản ánh về độ trung thực của thời gian hay 
không? Thời gian thực có phải là hiển thị chính xác và đồng bộ theo đúng như nhịp 
đồng hồ thời gian hay không? Không hoàn toàn đúng như vậy! Thực chất theo cách 
hiểu nếu nói trong hệ thống kỹ thuật đặc biệt các hệ thống yêu cầu khắt khe về sự ràng 
buộc thời gian, thời gian thực được hiểu là yêu cầu của hệ thống phải đảm bảo thỏa 
mãn yêu cầu 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 theo một khung thời gian cho trước hoàn toàn xác 
định vài giây cũng có thể đến 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 thời gian thực. Không phải hệ thống thực 
hiện rất nhanh sẽ đảm bảo thực hiện tính thời gian thực. 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í thế mà hệ thống không kiểm soát được hoạt động của nó (bất định) thì không 
phải là một hệ thống đảm bảo tính thời gian thực mặc dù hệ thống đó có thể đáp ứng 
rất nhanh, thậm chí nhanh hơn rất nhiều so với yêu cầu đặt ra. Một ví dụ tiêu biểu là 
đường truyền thông dữ liệu qua đường truyền. 
Hình 1-2: Phân bố quan hệ giữa hệ nhúng & thời gian thực 
Chuẩn Ethernet truyền thống, mặc dù ai cũng biết tốc độ truyền là rất nhanh 
nhưng vẫn không phải hệ hoạt động thời gian thực vì không thỏa mãn tính tiền định 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
6
trong cơ chế truyền dữ liệu (có thể là rất nhanh và cũng có thể là rất chậm nếu có sự 
cạnh tranh và giao thông đường truyền bị nghẽn). 
1.2 Đặc điểm công nghệ và xu thế phát triển của hệ nhúng 
1.2.1 Đặc điểm công nghệ 
 Các hệ thống như vậy đều có chung một số đặc điểm như yêu cầu về khả năng 
thời gian thực, độ tin cậy, tính độc lập và hiệu quả. Một câu hỏi đặt ra là tại sao hệ 
thống nhúng lại phát triển và được phổ biến một cách nhanh chóng như vậy. Câu trả 
lời là nằm trong các các yêu cầu tăng cường không ngừng trong các ứng dụng công 
nghiệp hiện nay. Một trong những yêu cầu cơ bản đó là: 
 Khả năng độc lập và thông minh hóa: điều này được ghi rõ hơn thông qua các 
thuộc tính yêu cầu cụ thể: 
- Độ tin cậy 
- Khả năng bảo trì và nâng cấp 
- Sự phổ cập và tiện sử dụng 
- Độ an toàn 
 Hiệu quả: Yêu cầu này được thể hiện thông qua một số các đặc điểm của hệ 
thống như sau: 
- Năng lượng tiêu thụ 
- Kích thước về phần cứng và phần mềm 
- Hiệu quả và thời gian thực hiện 
- Kích thước và khối lượng 
- Giá thành 
 Phân hoạch tác vụ và chức năng hóa: Các bộ vi xử lý thực hiện một phần điều 
khiển cho một chức năng thu thập, xử lý và hiển thị của ô tô hay hệ thống điều khiển 
quá trình. Khả năng này làm tăng thêm sự chuyên biệt hóa về chức năng của một hệ 
thống lớn và dễ dàng hơn cho quá trình xây dựng, vận hành bảo trì. 
 Khả năng thời gian thực: Các hệ thống gắn liền với việc đảm nhiệm một chức 
năng chính và phải được thực hiện đúng theo một khung thời gian qui định. Thông 
thường một chức năng của hệ thống phải được thực hiện đúng theo một khung thời 
gian qui định. Thông thường một chức năng của hệ thống phải được thực hiện và hoàn 
thành theo một yêu cầu thời gian dịnh trước để đảm bảo thông tin cập nhật kịp thời 
cho phẫn xử lý của các chức năng khác và có thể ảnh hưởng đến sự hoạt động đúng và 
chính xác của toàn hệ thống. Tùy thuộc vào từng bài toán và yêu cầu của hệ thống mà 
yêu cầu về khả năng thời gian thực củng rất khác nhau càng làm tăng lên tính chuyên 
môn hóa của các hệ thống thiết bị nhúng mà các thiết bị đa năng không thể cạnh tranh 
được. 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
7
1.2.2 Xu thế phát triển và sự tăng trưởng của hệ nhúng 
Vì sự phát triển hệ nhúng là sự kết hợp nhuần nhuyễn giữa phần cứng và phần 
mềm công nghệ gắng liền với nó cũng chính là công nghệ kết hợp với các giải pháp 
cho phần cứng và mềm. Vì tính chuyên biệt của các thiết bị /hệ nhúng như đã giới 
thiệu nên các nền phần cứng cũng được chế tạo để ưu tiên đáp ứng cho chức năng hay 
nhiệm vụ cụ thể của yêu cầu thiết kế đưa ra. 
Lớp hệ nhúng ưu tiên phát triển theo tiêu chí về kích thước nhỏ gọn, tiêu thụ 
năng lượng ít, giá thành thấp. Các chip xử lý nhúng cho lớp hệ thống ứng dụng đó 
thường yêu cầu về khả năng tính toán ít hoặc vừa phải nên hầu hết được xây dựng trên 
cơ sở đồng bộ xử lý 8 bit- 16 bit hoặc cùng lắm là 32 bit và không hỗ trợ dấu phảy 
động do sự hạn chế về dung lượng và khả năng tính toán. 
Lớp hệ nhúng ưu tiên thực thi các khả năng xử lý tính toán với tốc độ cực 
nhanh. Các chip xử lý nhúng cho các hệ thống đó cũng được hỗ trợ. 
1.3 Yêu cầu thiết kế hệ thống nhúng 
Với các thiết kế hệ thống nhúng, thì yêu cầu hàng đầu là phải tối ưu các thông 
số thiết kế. Có rất nhiều các yêu cầu thiết kế vậy người thiết kế phải đưa ra được các 
yêu cầu về thiết kế và cần phải đạt được mục tiêu là: Tối ưu các thông số thiết kế đồng 
thời 
Các thông số thiết kế: 
 Đặc tính xác định việc thực hiện hệ thống 
 Tối ưu các thông số thiết kế là thách thức chủ yếu trong thiết kế hệ thống 
nhúng 
 Các thông số chung 
 Giá của thiết bị: là giá thành sản xuất mỗi sản phẩm, bao gồm giá NRE 
 Giá NRE (Giá kỹ thuật không được sử dụng lại): Giá thiết kế hệ thống một 
lần 
 Kích thước: không gian vật lý yêu cầu của hệ thống 
 Chất lượng: thời gian làm việc hoặc tuổi thọ của hệ thống, vv. 
 Công suất: lượng công suất tiêu thụ của hệ thống 
 Độ linh hoạt: khả năng thay đổi các chức năng của hệ thống không làm thay 
đổi giá NRE 
 Thời gian thử nghiệm: thời gian cần thiết để chế tạo một phiên bản làm việc 
được 
 Thời gian đưa ra thị trường: thời gian cần thiết để phát triển một hệ thống 
có thể bán tới khách hàng 
 Khả năng bảo trì: khả năng thay thế và sửa chữa khi có sự cố 
 Độ tin cậy, độ an toàn, vv. 
Khoa Điện – Điện tử 
Giang Hồng Bắc 
Yêu cầu kinh nghi
Không chỉ đơn thuần là m
thiết kế phải hiểu nhiều công ngh
ứng dụng cụ thể. 
Hình 1.3 Minh h
1.4 Qui trình phát triể
Quá trình phát triển phần
(1) Problem specification
(2) Tool/chip selection 
(3) Software plan 
(4) Device plan 
(5) Code/debug 
(6) Test 
(7) Integrate 
ệm cả về phần cứng và phần mềm để tối ưu quá tr
ột chuyên gia phần cứng, hoặc phần m
ệ khác nhau để lựa chọn công ngh
ọa mối quan hệ giữa các thông số thi
n hệ thống nhúng 
 mềm nhúng thực hiện theo chu trình sau: 
Hệ thống nhúng 
8
ình thiết kế. 
ềm mà một người 
ệ tốt nhất cho một 
ết kế 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
1
0
CHƯƠNG 2 CẤU TRÚC PHẦN CỨNG HỆ NHÚNG 
2.1 Các thành phần kiến trúc cơ bản 
2.1.1 Đơn vị xử lý trung tâm 
 CPU (central processing unit) đóng vai trò như bộ não chịu trách nhiệm thực thi 
chức năng này là đơn vị tính và thực hiện các lệnh. Phần chính của CPU đảm nhiệm 
chức năng này là đơn vị logic toán học (ALU arthimeic logic unit). Ngoài ra để hỗ trợ 
cho hoạt động của ALU còn có thêm một số các thành phần khác như bộ giải mã 
decoder, bộ tuần tự sequencer và thanh ghi. 
 Thanh ghi con trỏ và ngăn xếp - Stack pointer 
 Thanh ghi này lưu trữ địa chỉ tiếp theo của ngăn xếp. Theo nguyên lý giá trị của 
địa chỉ chứa trong thanh gh con trỏ ngăn xếp sẽ giảm nếu dữ liệu được lưu thêm vào 
ngăn xếp và sẽ tăng khi dữ liệu được lấy ra khỏi ngăn xếp. 
 Thanh ghi chỉ số - Index register 
 Thanh ghi chỉ số được sử dụng để lưu địa chỉ khi mode địa chỉ được sử dụng . 
Nó còn được biết tới với tên gọi là thanh ghi con trỏ hay thanh ghi lựa chọn tệp 
Microchip. 
 Thanh ghi địa chỉ lệnh / bộ đếm chương trình - Program Counter 
 Một trong những thanh ghi quan trọng nhất CPU là thanh ghi bộ đếm chương 
trình. Thanh ghi bộ đếm chương trình sẽ tăng lên một. Chương trình sẽ kết thúc khi 
thanh ghi PC có giá trị bằng địa chỉ cuối cùng của chương trình nằm trong bộ nhớ 
chương trình. 
 Thanh ghi tích lũy - Accumulator 
Thanh ghi tích lũy là một thanh ghi giao tiếp trực tiếp với ALU được sử dụng 
để lưu giữ các toán tử hoặc kết quả của một phép toán trong quá trình hoạt động của 
ALU. 
2.1.2 Xung nhịp và trạng thái tín hiệu 
Trong VXL nói chung hoạt động của hệ thống được thực hiện đồng bộ hoặc dị 
bộ theo các xung nhịp chuẩn. Các nhịp đó được lấy trực tiếp hoặc gián tiếp từ một 
nguồn xung chuẩn thường là các mạch tạo xung hoặc dao động thạch anh. Để mô tả 
hoạt động của hệ thống, các tín hiệu dữ liệu và điều khiển thường được mô tả trạng 
thái theo giản đồ thời gian và mức tín hiệu. 
Mục đích của việc mô tả trạng thái tín hiệu theo giản đồ thời gian và mức tín 
hiệu là để phân tích và xác định chuỗi sự kiện hoạt động chi tiết rong mỗi chu kỳ bus. 
Nhờ việc mô tả này chúng ta có thể xem xét đến khả năng đáp ứng thời gian của các 
sự kiện thực thi trong hệ thống và thời gian cần thiết để thực thi hoạt động tuần tự 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
1
1
cũng như là khả năng tương thích khi sự sự phối hợp giữa cá thiết bị ghép nối hay mở 
rộng trong hệ thống. Thông thường thông tin về các nhịp thời gian hoạt động cũng 
nhưu đặc tính kỹ thuật chi tiết được cung cấp hoặc qui đinh bởi các nhà chế tao. 
Một số đặc trưng về thời gian của các trạng thái hoạt động cơ bản của các tín hiệu hệ 
thống gồm có như sau: 
+ Thời gian tăng hoặc giảm 
+ Thời gian trễ lan truyền tín hiệu 
+ Thời gian thiết lập 
+ Thời gian giữ 
+ Trễ cấm hoạt động và trạng thái treo Tri-state 
+ Độ rộng xung 
+ Tần số nhịp hoạt động 
 Thời gian tăng hoặc giảm 
Thời gian tăng được định nghĩa là khoảng thời gian để tín hiệu tăng từ 20% đến 
80% mức tín hiệu cần thiết. Thời gian giảm là khoảng thời gian để tín hiệu giảm từ 
80% đến 20% mức tín hiệu cần thiết. 
 Thời gian trễ lan truyền 
Là khoản thời gian tính từ khi thay đổi tín hiệu vào cho tới khi có sự thay đổi 
tín hiệu ở đầu ra. Đặc tính này thường do cấu tạo và khả năng truyền dẫn tín hiệu vật 
lý trong hệ thống tín hiệu. 
 Thời gian thiết lập và lưu giữ 
Khoảng thời gian cần thiết để tín hiệu trích mẫu đạt tới một trạng thái ổn định 
trước khi xung nhịp chuẩn đồng hồ thay được gọi là thời gian xác lập. Thời gian lưu 
giữ là khoảng thời gian cần thiết để duy trì tín hiệu trích mẫu ổn định sau khi xung 
nhịp chuẩn đồng hồ thay đổi. Thực chất là khoảng thời gian thiết lập và thời gian lưu 
giữ là cần thiết để đảm bảo tín hiệu được ghi nhận chính xác và ổn định trong quá trình 
hoạt động và chuyển mức trạng thá ... 
Giang Hồng Bắc 
8
9
thành việc thực hiện của mình. 
 Thời gian rủi ro/ xấu nhất wi (worst case time): khoảng thời gian thực hiện lâu 
nhất 
 có thể xảy ra. 
 Thời điểm kết thúc di (due time): Thời điểm mà tác vụ phải hoàn thành. 
Hình 5-1: giản đồ thực hiện của một tác vụ Ti 
Trên cơ sở đó bộ lập lịch sẽ phải thực hiện bài toán tối ưu về: 
 Thời gian đáp ứng (response time) 
 Hiệu suất thực hiện (số lượng công việc thực hiện xong trong một đơn vị 
thời gian) 
 Sự công bằng và thời gian chờ đợi (các tác vụ không phải chờ đợi quá lâu) 
Ví dụ về một lịch thực hiện 2 tác vụ được mô tả như trong Hình 5-2. 
Hình 5-2: giản đồ lập lịch thực hiện 2 tác vụ 
Trong trường hợp của ví dụ này các thông số về thời gian thực hiện của các 
tác vụ tính được như sau: 
 Thời gian tính toán C1 = 9 và C2 = 12 . 
 Thời gian bắt đầu thực hiện s1 = 0; s2 = 6 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
0
 Thời điểm hoàn thành: f1 = 18 , f2 = 28 . 
Khoảng thời gian chênh lệch thời điểm kết thúc và deadline (Lateness) Li = 
fi − di : 
L1 = −4 , L2 = 1 . 
 Khoảng thời gian rỗi/dư thừa giữa thời gian cho phép thực hiện và thời gian 
cần để thực hiện tác vụ (Laxity) X I = di − ai − Ci : X1 = 13 , X 2 = 11 . 
3.8.2 Các phương pháp lập lịch phổ biến 
Hình 5-3: phân loại các phương pháp lập lịch 
Tuỳ thuộc vào loại hình tác vụ, người ta ra hai phương pháp lập lịch là có 
chu kỳ và không có chu kỳ. 
Lập lịch non-preemptive: Phương pháp này đảm bảo các tác vụ được thực 
hiện hoàn thành mỗi khi thực thi, vì vậy thời gian đáp ứng cho các sự kiện khác có 
thể lâu. 
Lập lịch preemptive: Phương pháp này khắc phục nhược điểm của lập 
lịch non- preemptive khi thời gian thực thi các tác vụ lâu. Các tác vụ sẽ được thực 
hiện và có thể bị ngắt giữa chừng để phục vụ thực thi các tác vụ khác. Cơ chế lập 
lịch này cho phép đảm bảo thời gian đáp ứng cho các sự kiện và tác vụ ngắn và nhanh 
hơn. 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
1
Lập lịch offline/tĩnh: Việc lập lịch được thực hiện dựa trên các hiểu biết hoặc 
dự báo về các sự kiện tác vụ thực hiện trong hệ thống (thời điểm xuất hiện, thời 
gian thực hiện, deadline) và được quyết định tại thời điểm thiết kế và được áp 
dụng cố định trong suốt quá trình hoạt động của hệ thống. Việc lập lịch trước có một 
số các ưu điểm sau: 
 Tác vụ tiếp theo có thể được lựa chọn thực thi trong khoảng thời gian là hằng 
số 
 Khả năng đáp ứng yêu cầu thời gian thực có thể được biết trước và được 
đảm bảo 
Nhược điểm: 
o Không thể thay đổi lịch trình thực hiện của hệ thống trong quá trình thực 
hiện 
o Đòi hỏi phải có thông tin thời gian chính xác về các tác vụ để tính toán lập 
lịch 
Một thuật toán lập lịch tĩnh được gọi là tối ưu nếu nó luôn luôn có thể tìm 
được một lịch điều phối thoả mãn các ràng buộc đã cho trong khi một thuật toán 
tĩnh khác cũng tìm được một lời giải. 
Lập lịch online/động: Bộ xử lý thực hiện việc lập lịch trong quá trình thực thi 
dựa trên cơ sở các thông tin hoạt động hiện hành của hệ thống. Sơ đồ lập lịch là 
không xác định trước và thay đổi động theo quá trình thực hiện. 
Các thuật toán lập lịch tĩnh tối ưu không phải là tối ưu trong hệ thống 
động. 
Không tồn tại một lời giải tối ưu cho việc lập lịch trong hệ thống nhiều bộ 
xử lý nếu thời điểm xuất hiện yêu cầu thực thi của các tác vụ không được biết trước. 
Các hạt nhân được điều khiển theo cơ chế ngắt thường thực thi cơ chế lập 
lịch non- preemtive động trong khi loại hạt nhân vận hành theo quá trình lại thực 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
2
thi theo cơ chế preemptive động. 
Một thuật toán lập lịch động được gọi là tối ưu nếu nó có thể tìm ra được một 
lịch điều phối điều khiển hệ thống thoả mãn các ràng buộc thời gian đã cho bất kể 
khi nào mà thuật toán tĩnh không tìm ra được. 
Lập lịch tập trung hoặc phân tán: Việc lập lịch được thực hiện áp dụng cho 
các tác vụ thực thi bởi một (tập trung) hoặc nhiều bộ xử lý (phân tán). 
Lập lịch Mono hay Multi- processor: Nhiệm vụ lập lịch và thực thi được 
đảm nhiệm bởi một (mono) hoặc nhiều bộ vi xử lý (multi). Tuỳ thuộc vào độ phức 
tạp về thuật toán cần xử lý khi lập lịch mà người ta quyết định phải sử dụng phương 
pháp lập lịch mono hay multi- processor. 
Tính khả lập lịch: Một hệ thống với một tập các tác vụ và các điều kiện ràng 
buộc được gọi là khả lập lịch nếu tồn tại ít nhất một cơ chế lịch trình thực hiện thoả 
mãn các tác vụ và điều kiện ràng buộc đó. 
Ví dụ về lập lịch cho hệ thống đa nhiệm với 2 tác vụ. Tác vụ 1 thực hiện theo 
chu kỳ và tác vụ 2 thực hiện không theo chu kỳ với thời gian thực thi lớn hơn thời 
gian chu kỳ lặp lại của tác vụ 1. 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
3
Hình 5-4: giản đồ thời gian thực hiện lịch của tác vụ 
3.8.3 Kỹ thuật lập lịch 
FCFS 
Trong cơ chế lập lịch đến trước được phụ vụ trước thì các quá tình được xử lý 
theo thứ tự mà nó xuất hiện yêu cầu và cho đến khi hoàn thành. Cơ chế lập lịch này 
thuộc loại không ngắt được và có ưu điểm là dễ dàng thực thi. Tuy nhiên, nó không 
phù hợp cho các hệ thống mà hỗ trợ nhiều người sử dụng vì có một sự biến đổi 
lớn về thời gian trung bình mà một quá trình hay tác vụ phải chờ đợi để được xử 
lý. Hơn nữa do việc xử lý không ngắt được nên có hiện tượng chiếm hữu độc quyền 
bộ xử lý trong thời gian dài và có thể gây ra sự trễ bất thường trong quá trình thực 
hiện của các tác vụ phải chờ đợi khác. 
Shortest Job First - SJF 
Trong cơ chế lập lịch này tác vụ có thời gian thực thi ngắn nhất sẽ có quyền 
ưu tiên cao nhất và sẽ được phục vụ trước. Vấn đề chính gặp phải trong cơ chế 
lập lịch này là không biết trước được thời gian thực thi của các tác vụ tham gia 
trong chương trình và thông thường phải áp dụng cơ chế tiên đoán và đánh giá dựa 
vào kinh nghiệm về các tác vụ thực thi trong hệ thống. Điều này chắc chắn rất khó 
để luôn đảm bảo được độ chính xác. Cơ chế lập lịch này có thể áp dụng cho cả loại 
ngắt được và không ngắt được. 
Rate monotonic (RM): 
Phương pháp lập lich RM có lẽ hiện này là thuật toán được biết tới nhiều nhất 
áp dụng cho các tác vụ hay quá trình độc lập. Phương pháp này dựa trên một số giả 
thiết sau: 
(1) Tất cả các tác vụ tham gia hệ thống phải có deadline kiểu chu kỳ 
(2) Tất cả các tác vụ độc lập với nhau 
(3) Thời gian thực hiện của các tác vụ biết trước và không đổi 
(4) Thời gian chuyển đổi ngữ cảnh thực hiện là rất nhỏ và có thể bỏ qua 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
4
Thuật toán RM được thực thi theo nguyên lý gán mức ưu tiên cho các tác 
vụ dựa trên chu kỳ của chúng. Tác vụ nào có chu kỳ nhỏ thì sẽ có được gán mức 
ưu tiên cao. Theo nguyên lý này với các tác vụ chu kỳ không thay đổi thì RM sẽ là 
phương pháp lập lịch cho phép ngắt và mức ưu tiên cố định. Tuy nhiên RM hỗ trợ 
yêu cầu hệ thống không tốt. 
Earliest-deadline-first (EDF) 
Như đúng tên gọi của phương pháp, thuật toán lập lich theo phương pháp này 
sử dụng deadline của tác vụ hay như điều kiện ưu tiên để xử lý điều phối hoạt động. 
Tác vụ có deadline gần nhất sẽ có mức ưu tiên cao nhất và các tác vụ có deadline 
xa nhất sẽ nhận mức ưu tiên thấp nhất. Ưu điểm nổi bật của phương pháp này là giới 
hạn có thể lập lịch đáp ứng được 100% cho tất cả các tập tác vụ. Hơn nữa mức ưu 
tiên gán cho mỗi tác vụ trong quá trình hoạt động là động vì vậy chu kỳ của tác vụ 
có thể thay đổi bất kỳ lúc nào theo thời gian. 
EDF có thể được áp dụng cho các tập tác vụ chu kỳ và cũng có thể mở rộng 
để đáp ứng cho các trường hợp các deadline thay đổi khác nhau theo chu kỳ. 
Vấn đề chính của thuật toán lập lich EDF là không thể đảm bảo được tác vụ 
nào trong hệ thống có thể không được thực thi trong tình huống quá độ hệ thống bị 
quá tải. Trong nhiều trường hợp mặc dù mức độ sử dụng trung bình nhỏ hơn 100% 
những vẫn có thể trong một tình huống nào đó vẫn vượt qua khả năng đáp ứng của 
hệ thống tức là sẽ có tác vụ không được đảm bảo thực thi đúng. Trong những 
trường hợp như vậy cần phải điều khiển để biết tác vụ nào bị lỗi không thực hiện 
thành công hoặc tác vụ nào được thực hiện thành công trong quá trình quá độ. 
Minimum Laxity first (MLF) 
Cơ chế lập lịch này sẽ ưu tiên tác vụ nào còn ít thời gian còn lại để thực hiện 
nhất trước khi nó phải kết thúc để đảm bảo yêu cầu thực thi đúng. Đây được xem là 
cơ chế lập lịch gán quyền ưu tiên động và dễ đạt được sự tối ưu về hiệu suất thực 
hiện và sự công bằng trong hệ thống. 
Round Robin 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
5
Đây là một cơ chế lập lịch phân bổ đều đặn, ngắt được và đơn giản. Mỗi 
một tác vụ được xử lý/phục vụ trong một khoảng thời gian nhất định và lặp lại theo 
một chu trình xuyên suốt toàn bộ các tác vụ tham gia trong hệ thống. Khoảng thời 
gian phục vụ cho mỗi tác vụ trong quá trình là một sự thoả hiệp giữa thời gian 
thực hiện của các tác vụ và thời gian thực hiện một chu trình. Có thể chọn khoảng 
thời gian đó rất nhỏ và đôi lúc chúng ta không nhận được ra rằng đang có sự phân 
bổ thực hiện trong hệ thống. 
Tuy nhiên nếu thời gian đó quá nhỏ có thể làm mất tính hiệu quả thực hiện 
toàn hệ thống vì cần nhiều thời gian trong việc chuyển đổi ngữ cảnh cho mỗi tác 
vụ sau mỗi chu trình thực hiện. 
3.9 Thiết kế phần mềm hệ thống điều khiển tốc độ động cơ điện một chiều 
Mô hình thực thi bộ điều khiển nhúng 
Hình 6-9: hệ thống điều khiển số 
Để thực thi một bộ điều khiển số trên thiết bị vật lý thực phải đòi hỏi xét 
xem bộ điều khiển với mô hình hàm truyền đã cho có thể hiện thực hóa được không. 
Điều kiện phải xét thực ra là để đảm bảo rằng không có đầu ra nào của hệ thống lại 
xuất hiện trước khi có tín hiệu vào. Hay nói cách khác hệ thống xây dựng phải tuân 
thủ tính nhân quả. 
Nếu khai triển hàm truyền của bộ điều khiển số được mô tả ở dạng tổng quát 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
6
thành chuỗi lũy thừa theo z thì nó phải không được phép chứa bất kỳ phần tử nào 
chứa lũy thừa dương của z. Hay nói cách khác là bộ điều khiển được mô tả như (1.5) 
phải có bậc ≤ 0 tức là bậc của tử số phải nhỏ hơn hoặc bằng bậc của mẫu số ( n ≥ m ). 
Sau khi đã thiết kế được bộ điều khiển số thì việc còn lại là lập trình và nạp 
vào các bộ điều khiển vật lý khả trình. Thực chất quá trình này là thực thi hàm 
truyền của bộ điều khiển số bằng lập trình số trên các bộ điều khiển vật lý đã có. Ở 
đây chúng ta sẽ chủ yếu quan tâm đến việc triển khai để chuẩn bị cho bước lập trình 
các hàm truyền của bộ điều khiển số. Xuất phát từ mô tả hàm truyền dạng tổng quát 
của bộ điều khiển số 
trong đó, a0 ≠ 0 nếu b0 ≠ 0 ; m và n là các số nguyên dương. 
Có thể triển khai để thực thi một hàm truyền của bộ điều khiển số theo 3 cách 
như sau: 
 Triển khai lập trình số trực tiếp 
Để triển khai lập theo phương pháp lập trình trực tiếp thì hàm truyền bộ điều 
khiển đã cho biểu diễn trong miền z phải được chuyển đổi về dạng hàm truyền rời 
rạc 
Từ đẳng thức (1.7) dễ dàng tính ra được giá trị của đầu ra u* (t ) của bộ điều 
khiển số đã cho theo các giá trị hiện tại và quá khứ của đầu vào e* (t ) cũng như các 
giá trị quá khứ của chính nó 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
7
Để thực hiện bộ điều khiển này yêu cầu phải lưu trữ các giá trị quá khứ của 
đầu vào và đầu ra của bộ điều khiển. Với bộ điều khiển đã cho yêu cầu phải có n - 
m giá trị cần phải lưu trữ hay nói cách khác cần phải có n - m phần tử lưu trữ. 
Một phương pháp khác để triển khai lập trình trực tiếp là sử dụng cơ chế tách 
trực tiếp đầu vào và đầu ra của bộ điều khiển theo một biến trung gian X(z). Không 
mất tính tổng quát nếu chúng ta nhân cả tử và mẫu của hàm truyền bộ điều khiển số 
đã cho với một biến X(z). Từ đó rút ra được hàm truyền của đầu vào E(z) theo X(z) 
và hàm truyền của đầu ra U(z) theo X(z). Phương pháp này thực hiện như sau: 
Theo phương pháp này yêu cầu số phần tử lưu trữ chính bằng giá trị n, bằng 
bậc của đa thức mẫu số trong hàm truyền bộ điều khiển số đã cho. Từ các đẳng thức 
(1.9) và (1.10) ta cũng dễ dàng xây dựng được giản đồ trạng thái mô tả hàm truyền 
của bộ điều khiển số (giả thiết m = n = 3 ). 
Hình 6-10: giản đồ trạng thái của hệ thống số 
Triển khải lập trình số ghép tầng 
Cách triển khai này yêu cầu chuyển đổi bộ điều khiển về dạng tích của các 
hàm truyền đơn giản để có thể dễ dàng thực hiện bằng các chương trình đơn giản. 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
8
Hay nói cách khác bộ điều khiển số đã cho là kết quả ghép tầng của nhiều bộ điều 
khiển nhỏ. 
Triển khai lập trình số song song 
Bộ điều khiển đã cho sẽ được tách ra thành tổng của các bộ điều khiển đơn 
giản và có thể thực hiện lập trình song song cho các bộ điều khiển đó. 
6.3.2 Ví dụ triển khai bộ điều khiển PID số 
Xấp xỉ hoá thành phần vi tích phân 
Có 3 phương pháp xấp xỉ gián đoạn phổ biến áp dụng cho các thành phần 
tích phân: vượt trước (forward), vượt sau (backward), và trapezoidal 
Xấp xỉ sai phân vượt trước 
Áp dụng chuyển đổi z cho (1.11) ta thu được 
Dó đó xấp xỉ hoá tích phân sẽ là: 
Hình 6-11: xấp xỉ sai phân vượt trước 
Xấp xỉ sai phân vượt sau 
Tương tự như sai phân vượt trước ta có xấp xỉ tích phân như sau: 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
9
9
Hình 6-12: xấp xỉ sai phân vượt sau 
Xấp xỉ Trapezoidal 
Phép xấp xỉ tích phân thu được sẽ là: 
Hình 6-13: xấp xỉ trapezoidan 
Đẳng thức lý tưởng mô tả bộ điều khiển PID 
trong đó, K là hệ số khuếch đại, TI là hằng số thời gian tích phân, TD là hằng số 
thời gian vi phân. 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
1
0
Trong trường hợp chu kỳ trích mẫu nhỏ, đẳng thức (1.16) có thể được 
chuyển sang dạng đẳng thức sai phân bằng phương pháp rời rạc hoá. Trong đó, 
thành phần vi phân có thể được xấp xỉ như phép tính sai phân bậc nhất và thành 
phần tích phân được xấp xỉ dạng vượt trước. Bằng phép rời rạc này ta thu được 
đẳng thức mô tả bộ điều khiển PID số như sau: 
Từ đẳng thức (1.17) ta dễ dàng nhận thấy rằng để thực thi bộ điều khiển PID 
cần thông tin của tất cả các sai lệch e trong quá khứ. Để thuận tiện cho việc thực 
hiện lập trình, dạng đệ qui sẽ phù hợp hơn và có thể rút ra từ (1.17) như sau: 
Từ (1.17) và (1.18) ta rút ra được algorithm điều khiển của PID số: 
Mô hình bộ điều khiển ở dạng hàm truyền ta có: 
trong đó, thành phần tích phân có thể xấp xỉ theo một trong ba cách như mô tả 
trong phần 6.1, thành phần vi phân có thể được xấp xỉ như sau: 
từ (1.21) có thể xấp xỉ hàm truyền thành phần vi phân 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
1
0
Như vậy hàm truyền của bộ điều khiển PID số có thể được xấp xỉ theo một 
trong 3 dạng như sau: 
Khoa Điện – Điện tử Hệ thống nhúng 
Giang Hồng Bắc 
1
0
TÀI LIỆU THAM KHẢO 
[1]Frank Vahid and Tony Givargis : Embedded System Design: A Unified 
Hardware/Software Approach Department of Computer Science and Engineering 
University of California 1999. 
[2] Michael I.Pont : Programming Embdded Systems I University of Leicester 
2006 
[3] Michael I.Pont : Programming Embdded Systems II University of 
Leicester 2006 
[4] John Catsoulis Designing Embedded Hardware Second Edition Published 
by O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 
95472. 

File đính kèm:

  • pdfgiao_trinh_he_thong_nhung.pdf