1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Vấn đề thời gian thực

38 438 4
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Vấn đề thời gian thực
Tác giả Hoàng Minh Sơn
Trường học Trường Đại Học
Thể loại bài viết
Năm xuất bản 2006
Thành phố Hà Nội
Định dạng
Số trang 38
Dung lượng 814,93 KB

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

Nội dung

1.Khái niệm “hệ thời gian thực” 2.Xử lý thời gian thực 3.Hệ điều hành thời gian thực 4.Giaotiếpthời gian thực 5.Lập trình thời gian thực

Trang 1

thông tin công nghiệp

Chương 3: Vấn ₫ề thời gian thực

Trang 2

1 Khái niệm “hệ thời gian thực”

2 Xử lý thời gian thực

3 Hệ điều hành thời gian thực

4 Giao tiếp thời gian thực

5 Lập trình thời gian thực

Trang 3

which the results are produced, ”

Một hệ thời gian thực là một hệ thống mà sự hoạt ₫ộng tin cậy của

nó không chỉ phụ thuộc vào sự chính xác của kết quả, mà còn phụ thuộc vào thời ₫iểm ₫ưa ra kết quả ₫ể phản ứng với sự kiện bên ngoài Hệ thống có lỗi khi thời gian yêu cầu không ₫ược thoả mãn.

JOHN A STANKOVIC ET AL.: Strategic Directions in Real-Time and Embedded

Systems ACM Computing Surveys, Vol 28, No 4, December 1996

Thời gian thực không phải là thời gian tuyệt đối

Tính năng thời gian thực không đồng nghĩa với tốc độ tính toán rất nhanh

Trang 4

d) Sớm nhất là (t ≥ t p)

Trang 5

HT ₫iều khiển có phải là hệ TGT?

Mỗi hệ thống điều khiển là một hệ thời gian thực

Chất lượng điều khiển không chỉ phụ thuộc vào thuậttoán điều khiển, mà còn phụ thuộc vào khả năng phảnứng của hệ thống, thời điểm đọc tín hiệu đầu vào (tínhiệu đo), vào thời gian tính toán luật điều khiển và thờiđiểm đưa ra tín hiệu điều khiển

Tính năng thời gian thực của một HTĐK phụ thuộc cảvào phần cứng và phần mềm và vào kiến trúc hệ thống

ƒ Phần cứng: Tốc độ tính toán của vi xử lý, tốc độ chuyển đổi DA/AD, cơ chế vào/ra, chậm trễ trong các thiết bị

ƒ Phần mềm: Thuật toán điều khiển, phương pháp lập trình,

tổ chức thực hiện chương trình

Tính năng TGT của một HTĐK liên quan tới tính mạngcon người

Trang 6

Hai dạng hệ thống TGT tiêu biểu

1 Hệ thống nhúng (Embedded Systems)

— Các hệ thống điều khiển chuyên dụng, đặc chủng cho

các thiết bị, máy móc đơn lẻ

— Máy tính điều khiển là một phần không tách rời của

thiết bị được điều khiển

— Dựa trên nền vi xử lý, nhân thời gian thực, hệ điều hànhthời gian thực

— Ví dụ ứng dụng: công nghiệp hàng không-vũ trụ, robot công nghiệp, phương tiện giao thông,

2 Hệ thống điều khiển công nghiệp (Industrial Control Systems)

— Distributed Control Systems (DCS), Programmable LogicControllers (PLC), Soft-PLCs

— Các hệ thống điều khiển phân cấp, phân tán

— Ứng dụng trong CN chế biến, CN chế tạo

Trang 7

Chiếc xe hơi có là một hệ TGT?

Hơn 50 máy vi tính bên trong (μP) nối mạng

Chúng ta có nên tìm hiểu nguyên lý hoạt động của

chúng?

Trang 8

Bus trường có phải là một hệ TGT?

Sensor I/O

Controller

I/O

Actuator Sensor

I/O

Actuator I/O

Trang 9

chung của hầu hết các hệ thống thông

tin công nghiệp!

Trang 10

Đặc ₫iểm của một hệ thời gian thực

ƒ Tính phản ứng : Hệ thống phải phản ứng với các sự

kiện xuất hiện vào các thời điểm không biết trước.

ƒ Tính nhanh nhạy : Hệ thống phải xử lý thông tin một

cách nhanh chóng để có thể đưa ra kết quả phản ứng một cách kịp thời.

ƒ Tính ₫ồng thời : Hệ thống phải có khả năng phản ứng

và xử lý đồng thời nhiều sự kiện diễn ra.

ƒ Tính tiền ₫ịnh : Dự đoán trước được thời gian phản ứng tiêu biểu, thời gian phản ứng chậm nhất cũng như

trình tự đưa ra các phản ứng.

Trang 11

Luôn liên quan với các sự kiện bên ngoài (tính phản

Trang 12

Tại sao phải nghiên cứu về xử lý TGT?

ƒ Xử lý thời gian thực là nguyên lý làm việc cơ bản của

mỗi hệ thống điều khiển và của mỗi hệ thống thông

tin công nghiệp, nhìn từ quan điểm tin học

ƒ Chất lượng điều khiển và độ tin cậy của hệ thống điều

khiển không chỉ phụ thuộc vào thuật toán ₫iều khiển,

công nghệ phần cứng , mà còn phụ thuộc một cách tất

yếu vào phương pháp xử lý thời gian thực

ƒ Chúng ta còn biết quá ít về cơ chế thực hiện các chức

năng phần mềm bên trong một bộ điều khiển (số)

Trang 13

Các hình thức cơ bản của xử lý TGT

ƒ Khả năng phản ứng đồng thời với các sự kiện bên

ngoài: Xử lý đa nhiệm

ƒ Đáp ứng yêu cầu về thời gian của nhiều “tác vụ”:

— Xử lý song song

— Xử lý phân tán

— Xử lý cạnh tranh

Trang 14

Tác vụ và xử lý ₫a nhiệm

ƒ Một quá trình tính toán cho một nhiệm vụ cụ thể, có

thể được thực hiện đồng thời, ví dụ:

— Một chương trình chạy nhiều lần => nhiều tác vụ

— Một đoạn mã chương trình (ví dụ một hàm) được gọi tuầnhoàn với các chu kỳ khác nhau => nhiều tác vụ khác

nhau

ƒ Multitasking (đa nhiệm): khả năng thi hành đồng thời

nhiều tác vụ

Trang 15

hệ điều hành không quản lý.

ƒ Trạng thái sẵn sàng (Ready state): Khi

nó có thể được điều hoạt nhưng hiện đang có một Task khác có mức ưu tiên cao hơn đang được thực hiện

ƒ Trạng thái chạy (Running state): Khi nó đang được điều khiển bởi CPU

ƒ Trạng thái đợi (Waiting state) : Khi nó đang chờ một sự kiện xảy ra để được sẵn sàng như một sự kiện vào/ra, khi tài nguyên chung có thể sử dụng hay là khi có các ngắt thời gian.

DORMANT READY

RUNNING WAITING

Trang 16

- Điều khiển logic

- Kiểm tra lỗi

Trang 17

Các hình thức xử lý ₫ồng thời

ƒ Xử lý song song : Các tác vụ (task) được phân chia

thực hiện song song trên nhiều bộ xử lý

ƒ Xử lý cạnh tranh : Nhiều tác vụ chia sẻ thời gian của một bộ xử lý.

ƒ Xử lý phân tán : Mỗi (nhóm) tác vụ được thực hiện

riêng trên một máy tính (trường hợp đặc biệt của xử

lý song song).

Xử lý cạnh tranh là hình thức quan trọng nhất trong các hệ thống điều khiển (có thể kết hợp với xử lý

Trang 18

— Giao tiếp giữa các tác vụ

— Đồng bộ hóa giữa các tácvụ

Trang 19

Phương pháp lập lịch

ƒ Vấn đề:

— Bên cạnh hiệu năng của phần cứng máy tính, thì

phương pháp lập lịch có ảnh hưởng lớn tới tính năng thời gian thực của hệ thống

— Cần sự thỏa hiệp giữa tính năng thời gian thực và hiệu suất sử dụng tài nguyên máy tính

ƒ Cơ chế lập lịch

— Lập lệnh tĩnh: thứ tự thực hiện các tác vụ được xác địnhtrước khi hệ thống đi vào hoạt động

— Lập lệnh động: thứ tự thực hiện các tác vụ được xác địnhtrong khi hệ thống đang hoạt động

Trang 20

Phương pháp lập lịch

ƒ Sách lược lập lịch

— FIFO: đến trước sẽ được thực hiện trước

— Non-preemptive: không chen hàng, các tác vụ được thựchiện bình thường dựa trên mức ưu tiên của chúng

— Preemptive: chen hàng, chọn một tác vụ để thực hiện

trước các tác vụ khác

— Round-robin/Time-slicing: Mỗi tác vụ có mức ưu tiên nhưnhau được thực hiện một số “lát thời gian”

— Mức ưu tiên cố định/động: các tác vụ được đặt các mức

ưu tiên cố định hoặc có thể thay đổi nếu cần

ƒ Thuật toán lập lịch

— Rate monotonic: càng thường xuyên càng được ưu tiên

— Deadline monotonic: càng gấp càng được ưu tiên

— Least laxity: tỷ lệ thời gian tính toán/thời hạn cuối cùng(deadline) càng lớn càng được ưu tiên

Trang 21

Khái niệm “tiến trình tính toán”

ƒ Tiến trình tính toán (process) là một khái niệm tương

đương với “tác vụ”, nhưng nhìn từ phía hệ điều hành

đa nhiệm (khái niệm tác vụ nhìn từ phía người sử

dụng)

ƒ Hai loại tiến trình:

— Tiến trình nặng cân (heavyweight process, process):

Chiếm một không gian địa chỉ riêng, thường tương ứngvới thực thi cả một chương trình => sử dụng an toàn hơnnhưng giao tiếp giữa các process phức tạp

— Tiến trình nhẹ cân (lightweight process, thread): Thường

thuộc một process, các thread của một process cùngchia sẻ một không gian địa chỉ => giao tiếp đơn giảnthông qua các biến toàn cục, nhưng cần thận trọng

Trang 22

ƒ Hệ điều hành thời gian thực là một hệ điều hành hỗ

trợ các chương trình ứng dụng xử lý thời gian thực

ƒ Hầu hết các bộ điều khiển công nghiệp (PLC, DCS, ) đều hoạt động trên nền một hệ điều hành thời gian

thực (RTOS, Real-time Operating System)

ƒ Bản thân hệ điều hành thời gian thực cũng là một hệ thời gian thực

ƒ Một hệ điều hành thời gian thực bao giờ cũng là một

hệ đa nhiệm (multitasking), hỗ trợ xử lý cạnh trạnh

hoặc/và xử lý song song

Trang 23

Vai trò của RTOS trong bộ ₫iều khiển

ƒ Nạp chương trình, hỗ trợ thử nghiệm, gỡ rối chương

trình

ƒ Quản lý dữ liệu vào/ra và quản lý truyền thông

— Giúp các chương trình ứng dụng dễ dàng truy cập dữ liệu

mà không cần quan tâm tới cơ chế phần cứng cụ thể

ƒ Quản lý tác vụ:

— Lập lịch: Phân chia thời gian CPU cho thi hành các tác vụ

khác nhau (trong xử lý cạnh tranh)

— Hỗ trợ ₫ồng bộ hóa tiến trình: Giúp các tác vụ chia sẻ tài

nguyên sử dụng chung (bộ nhớ, cổng vào/ra, )

— Hỗ trợ giao tiếp liên tiến trình: Giúp các tác vụ thực hiện

giao tiếp, trao đổi dữ liệu hoặc phối hợp hoạt động

Trang 24

RTOS trong các hệ thống ₫iều khiển

ƒ Yêu cầu đặc biệt

— Mã rất nhỏ, gọn

— Đơn giản, dễ sử dụng, dễ lập trình

— Thời gian phản ứng với một sự kiện (ví dụ khi xuất hiện ngắt truyền thông, ngắt vào/ra, ) đủ ngắn

— Quản lý hiệu quả các tác vụ tuần hoàn, đảm bảo chính

xác về chu kỳ thời gian, độ rung nhỏ (jitter)

— Quản lý vào/ra hiệu quả, đơn giản

ƒ Hai dạng thực hiện:

— Mã nguồn: Nhân thời gian thực, được dịch và liên kết

cùng với CTĐK tạo thành một chương trình duy nhất -> giải pháp vi điều khiển

— Mã chạy cài đặt sẵn trên thiết bị: Hệ điều hành thời gian thực đầy đủ, cung cấp các dịch vụ độc lập với chương trình điều khiển -> giải pháp PLC và DCS

Trang 25

GIAO DIỆN PHẦN CỨNG

QUẢN LÝ TASK

QUẢN LÝ

BỘ NHỚ

QUẢN LÝ VÀO/RA

XỬ LÝ GIAO TIẾP

QUẢN LÝ

SỰ KIỆN GIAO DIỆN LẬP TRÌNH ỨNG DỤNG

CHƯƠNG TRÌNH ỨNG DỤNG

CHƯƠNG TRÌNH ỨNG DỤNG

CHƯƠNG TRÌNH ỨNG DỤNG

Cấu trúc tiêu biểu của một hệ ₫iều hành thời gian thực

Trang 26

OS_CFG.H INCLUDE.H

OS_CPU.H OS_CPU_A ASM OS_CPU_C.C

PHẦN MỀMPHẦN CỨNG

Trang 27

3.4 Giao tiếp thời gian thực

ƒ Một hệ thống điều khiển nhà máy bao gồm nhiều

thành phần => nhu cầu giao tiếp

ƒ Tính năng thời gian thực của một hệ thống không chỉ phụ thuộc vào tính năng thời gian thực của từng

thành phần, mà còn phụ thuộc vào cấu trúc liên kết

và hình thức giao tiếp giữa các thành phần!

ƒ Tính năng thời gian thực của hệ thống truyền thông

phụ thuộc vào những yếu tố gì?

— Tốc độ truyền?

— Cấu trúc mạng?

— Phương pháp kiểm soát truy nhập bus?

Trang 28

Ví dụ minh họa: Hệ ĐK qua mạng

Sensor I/O

Controller

I/O

Actuator Sensor

I/O

Actuator I/O

Trang 29

(không phải hệ thống nào cũng hoạt động theo chu kỳ)

ƒ Thời gian phản ứng (tiêu biểu và trường hợp xấu nhất): Khoảng thời gian từ lúc nhận được yêu cầu tới lúc

hoàn thành nhiệm vụ trao đổi thông tin

ƒ Độ rung (jitter): Khoảng thời gian sai lệch so với thời

điểm lý tưởng

=> Quan trọng: Các thông số trên là tiền định hay bất

định (mức độ bất định như thế nào?)!

Trang 30

Các kiến trúc giao tiếp

ƒ Kiến trúc Master/Slave

— Một trạm chủ phối hợp hoạt động của nhiều trạm tớ

— Các trạm tớ có vai trò, nhiệm vụ tương tự như nhau

— Các trạm tớ có thể giao tiếp trực tiếp, hoặc không

— Vai trò chủ động thuộc về Master

Trang 31

ƒ Kiến trúc Client/Server

— Server thực hiện các dịch vụ chung, phục vụ các client

— Giữa các client không cần thiết có giao tiếp trực tiếp

— Vai trò chủ động trong giao tiếp thuộc về client

Trang 32

A

A

Ví dụ: Các trạm điều khiển phân tán

hoặc các thiết bị trường thông minh

Trang 33

ƒ Kiến trúc tự trị

— Các trạm có vai trò bình đẳng, có thể hoạt động hoàn

toàn độc lập nhưng sự phối hợp hoạt động tạo hiệu quảcao nhất

Trang 34

Các cơ chế giao tiếp

ƒ Dữ liệu toàn cục (Global Data)

— Giống như một vùng nhớ chung

— Mỗi trạm đều chứa một ảnh của bảng dữ liệu toàn cục, trong đó có toàn bộ dữ liệu cần trao đổi của tất cả các trạm khác

— Mỗi trạm gửi phần dữ liệu của nó tới tất cả các trạm,

mỗi trạm tự cập nhật ảnh của bảng dữ liệu toàn cục

— Đơn giản, tiền định nhưng kém hiệu quả

— Áp dụng cho lượng dữ liệu nhỏ, tuần hoàn (ví dụ giữa

các trạm điều khiển)

Trang 35

ƒ Hỏi tuần tự (Polling, Scanning)

— Một trạm đóng vai trò Master

— Cơ chế hỏi/đáp tuần tự theo trình tự đặt trước

— Đơn giản, tiền định

— Áp dụng cho trao đổi dữ liệu tuần hoàn

Message1 Response1

Message2 Response2

Message3

Trang 36

ƒ Tay đôi (Peer-To-Peer)

— Hình thức có liên kết hoặc không liên kết, cấu hình trướchoặc không cấu hình trước, có xác nhận hoặc không xácnhận, có yêu cầu hoặc không có yêu cầu

— Linh hoạt nhưng thủ tục có thể phức tạp

— Áp dụng cho trao đổi dữ liệu tuần hoàn hoặc không tuầnhoàn, thích hợp cho tất cả các kiến trúc khác nhau

— Linh hoạt, tiền định, hiệu suất cao

— Áp dụng cho trao đổi dữ liệu tuần hoàn hoặc không tuầnhoàn, thích hợp cho kiến trúc Client/Server hoặc kiến trúcbình đẳng

Trang 37

ƒ Hộp thư (Mailbox)

— Các trạm sử dụng một môi trường trung gian như files,

một cơ sở dữ liệu hoặc một chương trình server khác để

ghi và đọc dữ liệu

— Mỗi bức thư mang dữ liệu và mã căn cước (nội dung thư

hoặc/và người nhận)

— Gửi và nhận thư có thể diễn ra tại bất cứ thời điểm nào

— Linh hoạt nhưng kém hiệu quả, không đảm bảo tính năngthời gian thực

— Áp dụng cho trao đổi dữ liệu có tính chất ít quan trọng,

thích hợp cho kiến trúc Client/Server hoặc kiến trúc tự trị

1

1-3 xxxxx yy

3 Mailbox

Trang 38

Tài liệu tham khảo

ƒ Hoàng Minh Sơn: “Hệ thời gian thực và điều khiển thời gian thực”, Tạp chí Tự động hóa ngày nay, số xx/2004 (file *.pdf có sẵn)

Ngày đăng: 13/10/2012, 10:20

HÌNH ẢNH LIÊN QUAN

CẤ ẤU U HÌNH HÌNH µ µC/OS C/OS- -II II - Vấn đề thời gian thực
CẤ ẤU U HÌNH HÌNH µ µC/OS C/OS- -II II (Trang 26)
— Mỗi trạm đều chứa một ảnh của bảng dữ liệu toàn cục, trong đó có toàn  bộdữliệu cần trao đổi của tất cảcác  trạm khác - Vấn đề thời gian thực
i trạm đều chứa một ảnh của bảng dữ liệu toàn cục, trong đó có toàn bộdữliệu cần trao đổi của tất cảcác trạm khác (Trang 34)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w