Download miễn phí Hệ điều khiển nhúng
Nội dung
1 MỞ ĐẦU 5
1.1 Các khái niệm về hệ nhúng 5
1.2 Lĩnh vực ứng dụng của hệ nhúng .7
1.3 Đặc điểm công nghệ và xu thế phát triển của hệ nhúng .8
1.3.1 Đặc điểm công nghệ .8
1.3.2 Xu thế phát triển và sự tăng trưởng của hệ nhúng .9
1.4 Mục đích và nội dung môn học .10
2 CẤU TRÚC PHẦN CỨNG HỆ NHÚNG 11
2.1 Các thành phần kiến trúc cơ bản .11
2.1.1 Đơn vị xử lý trung tâm CPU .11
2.1.2 Xung nhịp và trạng thái tín hiệu 13
2.1.3 Bus địa chỉ, dữ liệu và điều khiển 16
2.1.4 Bộ nhớ 17
2.1.5 Không gian và phân vùng địa chỉ 21
2.1.6 Ngoại vi 21
2.1.7 Giao diện 33
2.2 Một số nền phần cứng nhúng thông dụng (µP/DSP/PLA) .37
2.2.1 Chip Vi xử lý / Vi điều khiển nhúng .37
2.2.2 Chip DSP 39
2.2.3 PAL .41
3 CƠ SỞ KỸ THUẬT PHẦN MỀM NHÚNG 48
3.1 Đặc điểm phần mềm nhúng 48
3.2 Biểu diễn số và dữ liệu .48
3.2.1 Các hệ thống cơ số 48
3.2.2 Số nguyên 48
3.2.3 Số dấu phảy tĩnh .50
3.2.4 Số dấu phảy động .51
3.2.5 Một số phép tính cơ bản 52
3.3 Tập lệnh 55
3.3.1 Cấu trúc tập lệnh CISC và RISC .55
3.3.2 Định dạng lệnh .57
3.3.3 Các kiểu truyền địa chỉ toán tử lệnh .57
3.3.4 Nguyên lý thực hiện pipeline .60
3.3.5 Harzard 61
3.4 Ngôn ngữ và môi trường phát triển .63
3.4.1 Ngôn ngữ .63
3.4.2 Biên dịch 65
3.4.3 Simulator .70
3.4.4 Emulator 71
3.4.5 Thiết kế hệ thống bằng máy tính .71
4 HỆ ĐIỀU HÀNH NHÚNG .73
4.1 Hệ điều hành 73
4.2 Bộ nạp khởi tạo (Boot‐loader) 74
4.3 Các yêu cầu chung .76
4.4 Hệ điều hành thời gian thực 77
5 KỸ THẬT LẬP TRÌNH NHÚNG .81
5.1 Tác vụ và quá trình (process) 81
5.2 Lập lịch (Scheduling) 81
5.2.1 Các khái niệm 81
5.2.2 Các phương pháp lập lịch phổ biến 82
5.2.3 Kỹ thuật lập lịch .85
5.3 Truyền thông và đồng bộ .87
5.3.1 Semaphore .87
5.3.2 Monitor 89
5.4 Xử lý ngắt .90
6 THIẾT KẾ HỆ NHÚNG: TỔ HỢP PHẦN CỨNG VÀ MỀM .93
6.1 Qui trình phát triển .93
6.2 Phân tích yêu cầu .93
6.3 Mô hình hoá sự kiện và tác vụ 93
6.3.1 Phương pháp mô hình Petrinet 93
6.3.2 Qui ước biểu diễn mô hình Petrinet 94
6.3.3 Mô tả các tình huống hoạt động cơ bản với Petrinet 95
6.3.4 Ngôn ngữ mô tả phần cứng (VHDL) 103
6.4 Thiết kế phần mềm điều khiển 104
6.4.1 Mô hình thực thi bộ điều khiển nhúng .104
6.4.2 Ví dụ thực thi bộ điều khiển PID số 106
http://s1.luanvan.co/qYjQuXJz1boKCeiU9qAb3in9SJBEGxos/swf/2013/06/23/he_dieu_khien_nhung.guR9uEvCrp.swf luanvanco /luan-van/de-tai-ung-dung-tren-liketly-31767/
Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí
Tóm tắt nội dung tài liệu:
chương trình hệ thống. Hạt nhân nó chính là phần lõi của hệ điều hành. Nó được sửdụng để phục vụ cho các bộ quản lý quá trình, bộ lập lịch bộ quản lý tài nguyên và bộ
quản lý vào ra. Phần hạt nhân đảm nhiệm chức năng lập lịch, đồng bộ và bảo vệ hệ
thống bởi việc sử dụng sai, xử lý ngắt…Chức năng điều khiển chính của nó là phục vụ điều khiển phần cứng bao gồm ngắt, các thanh ghi điều khiển, các từ trạng thái và các
bộ định thời gian. Nó nạp các phần mềm điều khiển thiết bị để cung cấp các tiện ích
chung và phối hợp với các hoạt động vào ra với hệ thống. Phần hạt nhân có vai trò điều
khiển rất quan trọng để đảm bảo tất cả các phần của hệ thống có thể làm việc ổn định
và thống nhất.
Hai kiến trúc thiết kế phần hạt nhân kinh điển nhất là kiến trúc vi hạt nhân và đơn hạt
nhân (monolithic). Các vi hạt nhân cung cấp các chức năng điều hành cơ bản cốt lõi (thô)
theo cơ chế các module tương đối độc lập đảm nhiệm các tác vụ cụ thể và chuyển rời rất
nhiều các dịch vụ điển hình điều hành hệ thống thực thi trong không gian người sử
dụng. Nhờ cơ chế này mà các dịch vụ có thể được khởi tạo hoặc cấu hình lại mà không
nhất thiết phải khởi tạo lại toàn bộ hệ thống. Kiến trúc vi hạt nhân cung cấp độ an toàn
cao bởi vì dịch vụ hệ thống chạy ở tầng người sử dụng với hạn chế về truy nhập vào tài
nguyên của hệ thống và có thể được giám sát. Kiến trúc vi hạt nhân có thể được xây
dựng một cách mềm dẻo để phù hợp với cấu hình phần cứng khác nhau một cách llinh
hoạt hơn so với kiểu kiến trúc hạt nhân monilithic. Tuy nhiên do tính độc lập tương đối
giữa các modul trong vi hạt nhân nên cần thiết phải có một cơ chế trao đổi thông tin hay
truyền thông giữa các modul đó vì vậy có thể là lý do làm chậm tốc độ và giảm tính hiệu
quả hoạt động của hệ thống. Đặc điểm nổi bật và cốt lõi của kiến trúc vi hạt nhân là
kích thước nhỏ và dễ dàng sửa đổi cũng như xây dựng linh hoạt hơn. Các dịch vụ thực
thi ở tầng trên của hạt nhân vì vậy đạt được độ an toàn cao. Kiến trúc vi hạt nhân được
phát triển mạnh mẽ trong các hệ thống đa xử lý ví dụ như Windows 2000, Mach và
QNX.
Kiểu kiến trúc monolithic cung cấp tất cả chức năng/dịch vụ chính yếu thông qua một
qua trình xử lý đơn lẻ. Chính vì vậy kích thước của chúng thường lớn hơn kiểu kiến
trúc vi hạt nhân. Loại hình kiến trúc này thường được áp dụng chủ yếu cho các phần
cứng cụ thể mà hạt nhân monolithic có sự tương tác trực tiếp với phần cứng nhờ vậy mà
khả năng tối ưu cũng dễ dàng hơn so với áp dụng kiểu kiến trúc vi hạt nhân. Chính vì
vậy cũng là lý do tại sao kiến trúc monolithic không thể thay đổi mềm dẻo linh hoạt như
kiểu vi hạt nhân. Ví dụ điển hình về loại hình kiến trúc hạt nhân monolithic bao gồm
Linux, MacOS, và DOS.
Vì hệ điều hành cũng đòi hỏi về tài nguyên và kiêm cả chức năng quản lý chúng vì vậy
người thiết kế cần phải nắm được thông tin về chúng một cách đầy đủ. Ví dụ như đối
với hệ thống điều hành cho Sun Microsystem Solaris yêu cầu tối thiểu không gian bộ nhớ
trên đĩa là 8MB; Windows 2000 yêu cầu khoảng gấp hai lần như vậy.
4.4 Hệ điều hành thời gian thực
QNX là một ví dụ điển hình về hệ thống thời gian thực RTOS được thiết kế để đáp ứng
các yêu cầu về lập lịch rất khắt khe. QNX cũng chưa thực sự phù hợp để có thể được
thực thi cho các hệ thống nhúng bởi vì nó đòi hỏi dung lượng bộ nhớ không nhỏ và
thường phù hợp cho các ứng dụng đòi hỏi về độ an toàn và độ tin cậy lớn.
78
Hệ thống điều hành thời gian thực là hệ điều hành hỗ trợ khả năng xây dựng các hệ
thống thời gian thực.
Hình 4‐4: So sánh kiến trúc RTOS và OS chuẩn
Hệ thống điều hành với phần lõi là hạt nhân phải đảm nhiệm các tác vụ chính như sau:
Xử lý ngắt
Lưu trữ ngữ cảnh chương trình tại thời điểm xuất hiện ngắt
Nhận dạng và lựa chọn đúng bộ xử lý và phục vụ dịch vụ ngắt Điều khiển quá trình
Tạo và kết thúc quá trình/tác vụ
Lập lịch và điều phối hoạt động hệ thống
Định thời Điều khiển ngoại vi
Xử lý ngắt
Khởi tạo giao tiếp vào ra
Hình 4‐5: Cấu trúc hệ điều hành thời gian thực
Tùy theo cơ chế thực hiện và xây dựng hoạt động của hạt nhân người ta phân loại một
số loại hình:
(1) Hệ thống thời gian thực nhỏ: Với loại này các phần mềm được phát triển mà không
cần có hệ điều hành, người lập trình phải tự quản lý và xử lý các vấn đề về điều khiển
hệ thống bao gồm:
Xử lý ngắt
Điều khiển quá trình/ tác vụ
Quản lý bộ nhớ
(2) Công nghệ đa nhiệm
Mỗi quá trình có một không gian bộ nhớ riêng
Các quá trình phải được chia nhỏ thành các Thread cùng chia sẻ không gian bộ
nhớ.
(3) Các dịch vụ cung cấp bởi hạt nhân
Tạo và kết thúc quá trình/ tác vụ
Truyền thống giữa các quá trình
Các dịch vụ về định thời gian
Một số các dịch vụ cung cấp hỗ trợ việc thực thi liên quan đến điều khiển hệ
thống Đặc điểm cơ bản của hạt nhân thời gian thực điển hình:
Kích thước nhỏ (lưu trữ toàn bộ trong ROM)
Hệ thống ngắt
Không nhất thiết phải có các cơ chế bảo vệ
9 Chỉ hỗ trợ phần kiểm tra chương trình ứng dụng
9 Tăng tốc độ chuyển ngữ cảnh và truyền thông giữa các quá trình
9 Khi các quá trình ứng dụng đang thực hiện thì các yêu cầu hệ thống điều
hành có thể được thực hiện thông qua các lời gọi hàm thay vì sử dụng cơ
chế ngắt mềm
Vi hạt nhân (Micro‐kernel): Bao gồm một tập nhỏ các dịch vụ hỗ trợ
9 Quản lý quá trình
9 Các dịch vụ truyền thông giữa các quá trình nếu cần
9 Các phần mềm điều khiển thiết bị là các quá trình ứng dụng
Hạt nhân điển hình cơ bản
Loại hạt nhân đơn giản nhất là một vòng lặp vô hạn thăm dò các sự kiện xuất
hiện trong hệ thống và phản ứng lại theo sự thay đổi nếu có.
Với một bộ xử lý cấu h