• Nenhum resultado encontrado

RTOS

N/A
N/A
Protected

Academic year: 2021

Share "RTOS"

Copied!
122
0
0

Texto

(1)

TS. Hà Đắc Bình

HỆ THỐNG

THỜI GIAN THỰC

Giáo trình dành cho sinh viên ngành điện tử viễn thông

ĐÀ NẴNG 2012

(2)
(3)

Lời nói đầu

Hiện nay, hệ thống thời gian thực được ứng dụng rộng rãi trong nhiều lĩnh vực: công nghiệp, y khoa, viễn thông, mạng Internet và đa phương tiện, quốc phòng. Giáo trình này được viết với mục đích cung cấp cho bạn đọc những kiến thức tổng quát và cụ thể về hệ thống thời gian thực, bao gồm các nội dung phần cứng, hệ điều hành thời gian thực, kỹ thuật lập trình và cuối cùng là thiết kế hệ thống thời gian thực.

Để nắm bắt tốt nội dung giáo trình này bạn đọc cần có kiến thức cơ bản từ môn học Kỹ thuật lập trình Assembly hoặc C/C++ với nội dung Đại học hoặc Cao đẳng dành cho các ngành Điện tử viễn thông. Sau mỗi chương là phần câu hỏi ôn tập. Bạn đọc nên tự trả lời các câu hỏi này. Các câu hỏi được xắp xếp theo thứ tự có chủ ý. Trả lời hết tất cả các câu hỏi có vẻ là một quá trình tốn công sức và mất thời gian, nhưng tác giả muốn nhấn mạnh rằng đây là phương pháp tối ưu nhất để bạn đọc nắm bắt một cách thấu đáo và hiệu quả nội dung cần biết. Trả lời các câu hỏi này sẽ tiết kiệm thời gian của bạn khi bạn gặp các chương tiếp theo, hoặc thực hiện các ứng dụng có độ phức tạp và tổng hợp cao hơn.

Trong tài liệu này vì lý do chuyên môn nên một số từ và khái niệm được giữ nguyên bằng tiếng Anh như được sử dụng phổ biến trong các tài liệu tiếng Việt khác. Trường hợp từ chuyên môn được sử dụng khác nhau bởi các tác giả khác nhau thì giáo trình này sẽ sử dụng theo tài liệu tham khảo là tài liệu phổ biến. Mọi từ tiếng Anh đều được giải nghĩa ở lần xuất hiện đầu tiên.

Hệ thống thời gian thực một trong những lĩnh vực phát triển nhanh nhất trong công nghệ hiện đại, nên giáo trình này không thể tránh khỏi sai sót và các nhận định chủ quan. Tác giả kính mong được sự góp ý của bạn đọc để có thể hoàn thiện hơn nữa một giáo trình đề cập đến môn học rất thú vị này.

(4)
(5)

Mục lục

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC 1

1.1 Giới thiệu chương . . . 1

1.2 Khái niệm hệ thống thời gian thực . . . 1

1.3 Cấu tạo của hệ thống thời gian thực . . . 3

1.4 Phân loại hệ thống thời gian thực . . . 4

1.5 Đặc tính của các hệ thống thời gian thực . . . 5

1.6 Thời gian trong hệ thống thời gian thực . . . 8

1.7 Xử lý thời gian thực . . . 13

1.7.1 Các khái niệm trong xử lý thời gian thực . . . 13

1.7.2 Phương thức xử lý thời gian thực . . . 14

1.8 Hệ thống điều khiển và hệ thời gian thực . . . 15

1.9 Ứng dụng của hệ thống thời gian thực . . . 15

1.9.1 Ứng dụng trong lĩnh vực công nghiệp: . . . 16

1.9.2 Ứng dụng trong lĩnh vực y khoa: . . . 18

1.9.3 Ứng dụng trong lĩnh vực thiết bị ngoại vi . . . 18

1.9.4 Ứng dụng trong lĩnh vực ô tô và giao thông vận tải . . . 19

1.9.5 Ứng dụng trong lĩnh vực viễn thông . . . 20

1.9.6 Ứng dụng trong lĩnh vực hàng không vũ trụ . . . 21

1.9.7 Ứng dụng trong lĩnh vực Internet và các ứng dụng đa phương tiện 22 1.9.8 Ứng dụng trong lĩnh vực điện tử tiêu dùng . . . 22

1.9.9 Ứng dụng trong lĩnh vực quốc phòng . . . 23

1.9.10 Ứng dụng trong những lĩnh vực khác . . . 23

Câu hỏi ôn tập . . . 24

2 PHẦN CỨNG HỆ THỐNG THỜI GIAN THỰC 27 2.1 Giới thiệu chương . . . 27

(6)

2.3 Bộ xử lý trung tâm CPU . . . 28

2.3.1 Chu kỳ lấy và thực thi lệnh . . . 29

2.3.2 Các hình thức của lệnh . . . 30 2.3.3 Các chế độ định địa chỉ . . . 31 2.3.4 RISC và CISC . . . 32 2.4 Bộ nhớ . . . 33 2.4.1 ROM . . . 33 2.4.2 RAM . . . 34 2.4.3 Tổ chức bộ nhớ . . . 35 2.5 Các thiết bị vào ra . . . 36 2.5.1 Thiết bị cảm biến . . . 37 2.5.2 Thiết bị chấp hành . . . 39

2.5.3 Giao tiếp I/O . . . 40

2.5.3.1 Bộ chuyển đổi tương tự - số . . . 42

2.5.3.2 Bộ biến đổi số - tương tự . . . 43

Câu hỏi ôn tập . . . 43

3 HỆ ĐIỀU HÀNH THỜI GIAN THỰC 45 3.1 Giới thiệu chương . . . 45

3.2 Tổng quan về hệ điều hành thời gian thự . . . 45

3.2.1 Hệ điều hành . . . 45

3.2.2 Hệ điều hành thời gian thực (RTOS) . . . 47

3.2.3 So sánh hệ điều hành thời gian thực (RTOS) và hệ điều hành trên PC (PCOS) . . . 47

3.2.4 Đặc điểm và chức năng của hệ điều hành thời gian thực . . . 48

3.2.5 Phân loại hệ điều hành thời gian thực . . . 51

3.3 Các kiến trúc hệ điều hành thời gian thực . . . 52

3.3.1 Tổng quan . . . 52 3.3.2 Đơn hạt nhân . . . 53 3.3.3 Vi hạt nhân . . . 54 3.3.4 Hạt nhân hỗn hợp . . . 54 3.4 Các dịch vụ cơ bản . . . 55 3.4.1 Các trạng thái tác vụ . . . 55

(7)

3.4.2 Bộ lập lịch . . . 56

3.4.3 Tác vụ và dữ liệu . . . 57

3.4.4 Đèn báo (Semaphore) và chia sẻ dữ liệu . . . 58

3.5 Các dịch vụ mở rộng của RTOS thương mại . . . 59

3.5.1 Message Queues, Mailboxes và Pipes . . . 59

3.5.2 Các sự kiện – Event . . . 63

3.5.3 Giới thiệu một số hệ điều hành thời gian thực . . . 64

Câu hỏi ôn tập . . . 65

4 KỸ THUẬT LẬP TRÌNH THỜI GIAN THỰC 67 4.1 Giới thiệu chương . . . 67

4.2 Thời gian, bộ định thời và quá hạn . . . 67

4.2.1 Thời gian (Time) và quá hạn (Timeout) . . . 67

4.2.2 Bộ định thời (Timer) . . . 68 4.2.2.1 Chức năng bộ định thời . . . 68 4.2.2.2 Timer phần cứng . . . 69 4.2.2.3 Timer phần mềm . . . 70 4.2.3 Ví dụ về lập trình Timer cho 8051 . . . 72 4.2.3.1 Tổng quan . . . 72 4.2.3.2 Các chế độ của bộ đếm/bộ định thời . . . 74 4.2.3.3 Lập trình cho các bộ đếm . . . 75 4.3 Kỹ thuật lập lịch (Scheduling) . . . 78 4.3.1 Các phương pháp lập lịch phổ biến . . . 78 4.3.2 Các giải thuật lập lịch . . . 79 4.4 Xử lý ngắt . . . 83 4.4.1 Tổng quan về ngắt . . . 83

4.4.2 Xử lý ngắt trong môi trường RTOS . . . 84

4.4.3 Ví dụ ngắt của 8051 . . . 84

4.4.3.1 Tổng quan về ngắt của 8051 . . . 84

4.4.3.2 Sự ưu tiên của ngắt . . . 86

4.4.3.3 Các vector ngắt . . . 87

4.4.3.4 Các ví dụ sử dụng ngắt . . . 87

(8)

5.1 Giới thiệu chương . . . 93

5.2 Các vấn đề về thiết kế hệ thống thời gian thực . . . 93

5.2.1 Đáp ứng thời gian thực . . . 94

5.2.2 Phục hồi khi bị lỗi . . . 95

5.2.3 Thiết kế kiến trúc phân tán . . . 97

5.2.4 Truyền thông bất đồng bộ . . . 98

5.2.5 Tình trạng tranh đua và định thời . . . 98

5.3 Giới thiệu một số hệ thống thời gian thực tiêu biểu . . . 99

5.3.1 MARS . . . 99 5.3.1.1 Truyền thông . . . 102 5.3.1.2 Lập lịch . . . 103 5.3.1.3 Xử lý ngắt . . . 103 5.3.2 SPRING . . . 104 5.3.2.1 Quản lý tác vụ . . . 106 5.3.2.2 Lập lịch: . . . 107 5.3.2.3 I/O và xử lý ngắt . . . 107 5.3.3 RK . . . 107 5.3.3.1 Lập lịch . . . 108 5.3.3.2 Giao tiếp . . . 109 5.3.3.3 I/O và xử lý ngắt . . . 109 Câu hỏi ôn tập . . . 110

(9)

1

Chương 1

TỔNG QUAN VỀ HỆ THỐNG

THỜI GIAN THỰC

1.1 Giới thiệu chương

• Giới thiệu các khái niệm liên quan đến hệ thống thời gian thực. • Phân loại hệ thống thời gian thực

• Mô tả các đặc điểm của hệ thống thời gian thực. • Giới thiệu thời gian trong hệ thống thời gian thực. • Giới thiệu một số ứng dụng của hệ thống thời gian thực.

1.2 Khái niệm hệ thống thời gian thực

Hệ thống là tập hợp các phần tử có quan hệ hữu cơ với nhau, tác động chi phối lẫn nhau theo các quy luật nhất định để trở thành một chỉnh thể. Một hệ thống trong kỹ thuật là một sự kết hợp của tập hợp các yếu tố đầu vào thành một tập hợp các kết quả ở đầu ra, như hình 1.1.

Một hệ thống thời gian thực là một hệ thống phải đáp ứng yêu cầu rõ ràng về mặt logic và về mặt thời gian. Hay nói một cách khác,tính đúng đắn của nó không chỉ phụ

thuộc vào kết quả tính toán hợp lý mà còn phụ thuộc vào thời gian mà kết quả này được tạo ra. Như vậy, một hệ thống thời gian thực không có nghĩa đơn thuần là hệ thống đó

(10)

Hình 1.1: Mô hình một hệ thống xử lý

Hình 1.2: Một mô hình một hệ thống điều khiền thời gian thực

xử lý nhanh vì xử lý tốc độ nhanh ở đây là chưa cụ thể. Một hệ thống chỉ cần thỏa mãn 2 yếu tố: có kết quả hợp lý và đáp ứng yêu cầu về mặt thời gian thì ta coi đó là hệ thống thời gian thực.

Ví dụ, các hệ thống của máy bay, tên lửa, lò phản ứng hạt nhân, hệ thống đặt chỗ của hàng không, hệ thống điều khiển không lưu. . . là những hệ thống thời gian thực vì chúng phải xử lý thông tin trong khoảng thời gian đã định trước nếu không chúng sẽ bị lỗi. Một hệ thống điều khiển thời gian thực như hình 1.2, hệ thống này gồm nhiều tín hiệu cảm biến và tín hiệu hình ảnh từ camera đầu vào, hệ thống căn cứ vào các dữ liệu của các đầu vào xử lý theo thuật toán đã định trước để được kết quả hiển thị và kết quả điều khiển các đối tượng ở đầu ra.

Vì một hệ thống thường có nhiều công việc khác nhau nên các công việc này được sắp xếp theo một lịch trình cụ thể, như hình 1.3.

Mỗi công việc có một mức độ khẩn cấp riêng, người ta thiết lập các mức ưu tiên khác nhau cho từng công việc và qui định thời gian cho chúng. Có những cảnh báo khi khoảng thời gian qui định này không được đáp ứng. Chẳng hạn, người ta thường dùng

(11)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC

Hình 1.3: Mô hình một hệ thống xử lý với các công việc được lập lịch

ngắt để báo hiệu một công việc nào đó bắt đầu. Khi sử dụng nhiều ngắt, người ta thường đặt các mức ưu tiên khác nhau cho các loại ngắt này. Mức ưu tiên cao nhất sẽ được đáp ứng ngay bất kể khi đó hệ thống đang làm công việc gì. Mức ưu tiên này thường được thiết lập cho những sự kiện mang tính sống còn của hệ thống như Reset. Xem thêm về cách thức xử lý ngắt ở chương 4.

1.3 Cấu tạo của hệ thống thời gian thực

Một hệ thống thời gian thực được cấu tạo từ hai phần: phần cứng và phần mềm. Phần cứng bao gồm các loại mạch (mạch xử lý, mạch giao tiếp, mạch điều khiển...), các thiết bị phụ trợ đi kèm (điện, cơ khí, cảm biến...), các đối tượng điều khiển (van, động cơ...). Phần mềm bao gồm hệ điều hành thời gian thực, các chương trình ứng dụng.

Mô hình phần cứng của hệ thống thời gian thực như hình 1.3.

Hình 1.4: Ví dụ về một mô hình hệ thống thời gian thực

(12)

Cảm biến dùng để chuyển đổi một số đặc tính vật lý của môi trường hoạt động thành tín hiệu điện. Một ví dụ về một bộ cảm biến là tế bào photo-voltaic chuyển đổi năng lượng ánh sáng thành năng lượng điện hoặc các cảm biến nhiệt độ và cảm biến áp suất. Thông thường, một cảm biến nhiệt độ hoạt động trên nguyên tắc của cặp nhiệt điện (thermocouple), nó hoạt động dựa trên nguyên lý sự thay đổi nhiệt độ dẫn đến thay đổi điện thế. Cũng có loại cảm biến nhiệt độ dựa trên các nguyên tắc vật lý khác. Ví dụ, một loại cảm biến nhiệt độ sử dụng các nguyên tắc của sự thay đổi của điện trở với nhiệt độ (gọi là một varistor). Một cảm biến áp suất thường hoạt động trên nguyên tắc điện áp. Cũng có loại cảm biến áp suất hoạt động dựa trên các nguyên tắc vật lý khác.

Khối chấp hành

Khối chấp hành là bất kỳ thiết bị nào có chức năng chuyển đổi các tín hiệu điện thành một số hành động vật lý trên môi trường hoạt động của hệ thống. Những hành động vật lý có thể là các hình thức của chuyển động, thay đổi của nhiệt, đặc tính điện, khí nén hoặc đặc tính vật lý của một số đối tượng. Một khối chấp hành phổ biến là một động cơ. Máy gia nhiệt, thiết bị truyền động thủy lực và khí nén cũng được sử dụng phổ biến.

Khối chuyển đổi tín hiệu

Các tín hiệu điện được tạo ra bởi một máy tính có thể hiếm khi được sử dụng trực tiếp cho khối chấp hành. Các tín hiệu máy tính thường được chuyển đổi trước khi chúng có thể được sử dụng bởi các thiết bị truyền động. Điều này được gọi là chuyển đổi đầu ra. Tương tự như vậy, chuyển đổi đầu vào là cần thiết để được thực hiện trên các tín hiệu cảm biến trước khi chúng có thể được chấp nhận bởi máy tính. Ví dụ, các tín hiệu tương tự được tạo ra bởi một tế bào photo-voltaic bình thường trong phạm vi mV và cần được chuyển đổi trước khi chúng có thể được xử lý bởi máy tính.

Khối xử lý thời gian thực

Đây là khối xử lý trung tâm chạy trên hệ điều hành thời gian thực cùng với các chương trình ứng dụng đi kèm. Phần này sẽ được nói rõ hơn ở những chương sau.

1.4 Phân loại hệ thống thời gian thực

Hệ thống thời gian thực được chia thành 2 loại: Hệ thống thời gian thực mềm (Soft real-time system) và Hệ thống thời gian thực cứng (Hard real-time system).

(13)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC Là hệ thống mà trong đó thời gian trả lời của hệ thống cho một yêu cầu xử lý bên ngoài là quan trọng, tuy nhiên khi thời gian này không đáp ứng được thì hệ thống vẫn tiếp tục hoạt động bình thường mà không quan tâm đến hậu quả của những vi phạm này (thường thì các tác hại này là không đáng kế).

Hệ thống thời gian thực mềm thường được sử dụng nơi tồn tại sự truy cập đồng thời và sự cần thiết để giữ cho một số hệ thống kết nối để cập nhật với thay đổi tình huống, ví dụ như phần mềm duy trì và cập nhật các kế hoạch bay cho máy bay thương mại. Các kế hoạch bay phải được giữ hợp lý với trạng thái hiện hành nhưng có thể hoạt động với một độ trễ của giây. Hệ thống audio-video trực tiếp (Live audio-video systems) cũng là hệ thống thời gian thực, vi phạm những ràng buộc về mặt thời gian thì dẫn đến sự suy giảm về chất lượng, nhưng hệ thống vẫn có thể tiếp tục hoạt động.

Hệ thống thời gian thực cứng:

Là hệ thống mà trong đó người ta đưa ra yêu cầu rất khắc khe về thời gian. Nguyên nhân là do khi bất kỳ một vi phạm về thời gian đều để lại một hậu quả vô cùng nghiêm trọng.

Hệ thống thời gian thực cứng được sử dụng khi nó là bắt buộc rằng một sự kiện được phản ứng trong một thời hạn nghiêm ngặt. Đảm bảo mạnh mẽ như vậy được yêu cầu của hệ thống mà không phản ứng trong một khoảng thời gian nhất định sẽ gây ra tổn thất lớn, đặc biệt là làm tổn hại đến môi trường xung quanh, về thể chất hoặc đe dọa cuộc sống con người (mặc dù định nghĩa nghiêm ngặt chỉ đơn giản là không đáp ứng thời hạn thì tạo nên sự thất bại của hệ thống ). Ví dụ, một hệ thống điều khiển đánh lửa ở động cơ xe là một hệ thống với qui định về thời gian nghiêm ngặt bởi vì một tín hiệu chậm trễ có thể gây hỏng động cơ hoặc thiệt hại. Các ví dụ khác của các hệ thống nhúng thời gian thực cứng bao gồm các hệ thống điều trị y khoa như máy tạo nhịp tim và các bộ điều khiển quá trình công nghiệp.

1.5 Đặc tính của các hệ thống thời gian thực

Một hệ thống thời gian thực có những đặc tính sau:

1) Tính ràng buộc thời gian:

Mỗi tác vụ thời gian thực được kết hợp với một số ràng buộc về thời gian. Một hình thức rất phổ biến của ràng buộc thời gian là thời hạn (deadline) gắn với tác vụ. Một thời hạn của tác vụ được quy định cụ thể thời gian trước khi tác vụ phải hoàn thành và cho ra các kết quả. Các loại ràng buộc thời gian xem Phần 1.6. Đây là trách nhiệm

(14)

của hệ điều hành thời gian thực (RTOS) để đảm bảo rằng tất cả các tác vụ đáp ứng các ràng buộc thời gian của mình. Trong những chương sau, chúng ta sẽ xem xét làm thế nào một RTOS có thể đảm bảo rằng các nhiệm vụ đáp ứng các hạn chế thời gian của mình thông qua các chiến lược lập kế hoạch công việc thích hợp.

2)Tính đúng đắn:

Khái niệm đúng đắn trong các hệ thống thời gian thực khác với trong bối cảnh của các hệ thống truyền thống. Trong các hệ thống thời gian thực, tính chính xác hàm ý không chỉ là sự đúng đắn hợp lý của các kết quả, mà thời gian các kết quả được xuất ra là rất quan trọng. Một kết quả hợp lý chính xác được xuất ra sau thời hạn sẽ được coi là một kết quả không chính xác.

3)Tính nhúng (embedded):

Một phần lớn của các hệ thống thời gian thực là hệ thống nhúng. Một hệ thống máy tính nhúng về mặt vật lý là được "nhúng" trong môi trường của hệ tống chung và thường điều khiển hệ thống chung đó. Một ví dụ về một hệ thống nhúng là Multi-Point Fuel Injection (MPFI), hệ thống thảo luận trong Ví dụ 6 Mục 1.9.

4) Tính an toàn và tin cậy:

Đối với hệ thống không thời gian thực truyền thống, đảm bảo an toàn tuyệt đối và có độ tin cậy tốt là những vấn đề độc lập. Tuy nhiên, trong nhiều hệ thống thời gian thực, hai vấn đề phức tạp này liên kết với nhau tạo nên đặc tính này của hệ thống. Lưu ý rằng, một hệ thống an toàn là một hệ thống không gây ra bất kỳ thiệt hại ngay cả khi nó không thành công. Mặt khác, một hệ thống đáng tin cậy là một hệ thống có thể hoạt động trong thời gian dài mà không có bất kỳ thất bại nào. Một hệ thống an toàn và có độ tin cậy cao là cần thiết bởi vì bất kỳ sự thất bại của hệ thống có thể gây ra thiệt hại lớn.

5) Tính đồng thời:

Một hệ thống thời gian thực thường cần phải đáp ứng một số các sự kiện độc lập trong giới hạn thời gian ngắn và nghiêm ngặt. Ví dụ, một hệ thống tự động hóa kiểm soát của nhà máy hóa chất (xem Ví dụ 1 mục 1.9), theo dõi sự tiến độ của các phản ứng hóa học và điều khiển tốc độ của phản ứng bằng cách thay đổi các thông số khác nhau như áp suất, nhiệt độ và nồng độ hóa học. Các tham số này được thu nhận bằng cách sử dụng các bộ cảm biến được cố định trong buồng phản ứng hóa học. Các cảm biến này có thể tạo ra các dữ liệu không đồng bộ ở các mức khác nhau. Vì vậy, hệ thống thời gian thực phải xử lý dữ liệu từ tất cả các cảm biến đồng thời, nếu không các tín hiệu có thể

(15)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC bị mất và có thể xảy ra các sự cố hệ thống.

6) Tính phân tán và cấu trúc phản hồi:

Trong nhiều hệ thống thời gian thực, các thành phần khác nhau của hệ thống được phân bố tự nhiên trên các vị trí địa lý khác nhau. Trong các hệ thống như vậy, những sự kiện khác nhau phát sinh tại các địa điểm địa lý riêng biệt. Vì vậy, những sự kiện này thường có thể phải được xử lý tại chỗ để giảm tải của mạng truyền thông. Do đó, các cảm biến và khối chấp hành có thể được đặt ở những nơi mà các sự kiện được tạo ra. Một ví dụ về hệ thống như vậy là một nhà máy lọc dầu phân bố trên một khu vực địa lý rộng lớn. Tại mỗi nguồn dữ liệu, một thiết kế tốt là xử lý dữ liệu tại chỗ trước khi đưa đến bộ xử lý trung tâm. Khi khối chấp hành thực thi lệnh thì nó làm thay đổi môi trường ở các bộ cảm biến và các bộ cảm biến lại phản hồi sự thay đổi này về cho bộ xử lý trung tâm.

7) Tính quan trọng tác vụ:

Tính quan trọng tác vụ là một cách đo cái giá của sự thất bại của một tác vụ. Tính quan trọng tác vụ được xác định bằng cách kiểm tra tính quan trọng của các kết quả được tạo ra bởi các tác vụ đối với sự hoạt động đúng đắn của hệ thống. Một hệ thống thời gian thực có các tác vụ với tầm quan trọng rất khác nhau. Do đó, rất dễ hiểu tầm quan trọng của các tác vụ khác nhau phải được xem xét khi thiết kế khả năng chịu lỗi. Tầm quan trọng của một tác vụ cao hơn, đáng tin cậy hơn, nó phải được ưu tiên thực hiện. Hơn nữa, trong trường hợp của một sự thất bại của một tác vụ quan trọng, việc phát hiện và phục hồi ngay lập tức sự thất bại là rất quan trọng. Tuy nhiên, mức ưu tiên của tác vụ là một khái niệm khác và tầm quan trọng của tác vụ là một trong những yếu tố để xác định mức ưu tiên của tác vụ hoặc thứ tự thực thi các tác vụ.

8) Tính phù hợp của phần cứng:

Một hệ thống thời gian thực thường được thực hiện trên phần cứng phù hợp với người sử dụng. Ví dụ, một điện thoại di động không sử dụng các bộ vi xử lý truyền thống. Điện thoại di động sử dụng bộ vi xử lý là có kích thước nhỏ, chỉ hỗ trợ những khả năng xử lý thực sự cần thiết cho hoạt động của điện thoại di động và thiết kế đặc biệt để có hiệu quả sử dụng năng lượng cao với mục đích tiết kiệm pin. Các khả năng của bộ vi xử lý được sử dụng trong một điện thoại di động là rất khác so với của một bộ xử lý mục đích chung.

9) Tính tương tác:

(16)

hệ thống trong đó một sự tương tác giữa máy tính và môi trường được duy trì. Hệ thống thông thường tính toán hàm các dữ liệu đầu vào để tạo ra các dữ liệu đầu ra. Nói cách khác, các hệ thống truyền thống tính toán dữ liệu đầu ra như một hàm φ của các dữ liệu đầu vào. Đó là, dữ liệu đầu ra có thể được thể hiện theo toán học như sau:

Dữ liệu đầu ra = φ (Dữ liệu đầu vào)

Ví dụ, nếu một số I1 dữ liệu được đưa vào đầu vào, hệ thống sẽ tính toán O1 như là kết quả O1 = φ(I1). Xây dựng khái niệm này, hãy xem xét một ví dụ liên quan đến một phần mềm tự động hóa thư viện. Trong một phần mềm tự động hóa thư viện, khi dùng chức năng tìm kiếm một cuốn sách của "hệ thống Real-Time" bằng cách nhập tên cuốn sách đầu vào, sau đó phần mềm hiển thị "Tên tác giả: R. Mall, Rack Số: 001, Số bản sao: 1 ".

Ngược lại với các tính toán truyền thống của đầu ra như là một hàm đơn giản của các dữ liệu đầu vào, các hệ thống thời gian thực không tạo ra bất kỳ dữ liệu đầu ra, nhưng đưa vào tương tác liên tục với môi trường của chúng. Trong mỗi bước tương tác, kết quả tính toán được sử dụng để thực hiện một số hành động đối với môi trường. Phản ứng của môi trường sẽ được lấy mẫu và được đưa trở lại vào hệ thống. Vì vậy, các tính toán trong một hệ thống thời gian thực có thể được coi là không chấm dứt.

10) Tính ổn định:

Trong điều kiện quá tải, hệ thống thời gian thực cần tiếp tục đáp ứng thời hạn trong những tác vụ quan trọng nhất, mặc dù thời hạn của tác vụ không quan trọng có thể không đáp ứng được . Điều này là trái ngược với yêu cầu của sự công bằng cho các hệ thống truyền thống, ngay cả dưới điều kiện quá tải.

11) Tính tự động xử lý ngoại lệ:

Nhiều hệ thống thời gian thực làm việc liên tục và thường hoạt động mà không có người điều khiển. Ví dụ, một nhà máy hóa chất nhỏ được thiết lập tự động để làm việc không ngừng. Khi không có người vận hành, hành động khôi phục từ một thất bại trở nên khó khăn. Thậm chí, nếu không có hành động khắc phục ngay lập tức thì cũng mong muốn một thất bại không tạo ra các tình huống thảm khốc. Khi sự cố được phát hiện thì hệ thống sẽ tiếp tục hoạt động trong một chế độ bị suy thoái hơn là bị tắt đột ngột.

1.6 Thời gian trong hệ thống thời gian thực

Thời gian thực là một khái niệm định lượng thời gian và được đo bằng cách sử dụng một đồng hồ vật lý (thực) như hình 1.5. Bất cứ khi nào chúng ta định lượng thời gian

(17)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC bằng cách sử dụng một đồng hồ vật lý, chúng ta đã làm việc với thời gian thực.

Hình 1.5: Một đồng hồ thời gian thực

Ngược lại thời gian thực, thời gian lôgic (còn được gọi là thời gian ảo) là một khái niệm không định lượng của thời gian và được thể hiện bằng cách sử dụng các sự kiện theo quan hệ thứ tự như: trước, sau khi, đôi khi, cuối cùng, đi trước, thành công, v.v. Khi làm việc với thời gian lôgic, thời gian đọc từ đồng hồ vật lý không còn cần thiết nữa đối với sự sắp xếp thứ tự các sự kiện.

Thời gian là vấn đề cơ bản nhất của hệ thống thời gian thực, đặc biệt là trong hệ thống thời gian thực cứng. Khi nghiên cứu các hệ thống thời gian thực, chúng ta phải xem xét bản chất của thời gian, bởi vì thời hạn của tác vụ là những khoảnh khắc của thời gian. Nhưng câu hỏi đặt ra là: "Thời hạn đến từ đâu?". Nói chung, thời hạn được dựa trên các hiện tượng vật lý cơ bản của hệ thống điều khiển. Ví dụ, ở các màn hình động, hình ảnh phải được cập nhật ở mức khoảng 30 khung hình mỗi giây để cung cấp cho sự chuyển động liên tục, bởi vì mắt người cập nhật với một tốc độ chậm hơn. Trong các hệ thống định hướng, thông số vận tốc phải được đọc với một tốc độ mà nó phải dựa vào vận tốc tối đa của phương tiện. Trong một số trường hợp, thời hạn của hệ thống được dựa trên việc suy đoán. Các vấn đề trong những trường hợp này là tương đối khó cho thiết kế hệ thống.

Nhiều hệ thống thời gian thực sử dụng mốc thời gian và đồng hồ chung cho sự đồng bộ hóa, khởi tạo tác vụ và đánh dấu dữ liệu. Tuy nhiên, cần lưu ý rằng các đồng hồ cho thời gian có thể không chính xác, ngay cả những đồng hồ nguyên tử chính thức của Mỹ cũng phải được điều chỉnh. Hơn nữa, có một số lỗi số hóa liên quan với đồng hồ, điều

(18)

này cần phải được xem xét khi sử dụng chúng cho việc đánh dấu thời gian của dữ liệu. • Đồng hồ hệ thống

Thời gian hệ thống được đo bằng đồng hồ hệ thống. Trong môi trường có nhiều vi xử lý có thể tồn tại nhiều đồng hồ thì những đồng hồ này phải đồng bộ với nhau.

Công việc của đồng hồ hệ thống tương tự như đồng hồ thời gian thực, là để theo dõi thời gian thực hoặc thời gian trôi qua khi hệ thống được cấp nguồn (tùy thuộc vào việc thực hiện). Giá trị ban đầu của đồng hồ hệ thống thường được lấy từ đồng hồ thời gian thực tại thời đểm bật nguồn hoặc được thiết lập bởi người sử dụng. Bộ đếm có khả năng lập trình sẽ kiểm soát đồng hồ hệ thống, tức là đồng hồ hệ thống đếm thời gian khi có ngắt của bộ đếm. Vì vậy, một chức năng quan trọng của ngắt bộ đếm thời gian là duy trì đồng hồ hệ thống, như trong hình 1.6.

Hình 1.6: Đồng hồ hệ thống •Các loại đồng hồ hệ thống

Nếu hệ thống có 1 đồng hồ duy nhất thì đó là đồng hồ máy chủ (Server clock). Loại đồng hồ này có độ chính xác cao và giá thành đắt. Nếu hệ thống có nhiều đồng hồ thì gồm 1 đồng hồ chính (Master clock) và nhiều đồng hồ phụ (Slave clock). Các đồng hồ này đồng bộ với nhau. Khi đồng hồ chính bị hỏng thì 1 trong các đồng hồ phụ thay thế đóng vai trò đồng hồ chính.

Quan niệm về sự rời rạc thời gian

Thời gian rời rạc là sự không liên tục trên miền thời gian của một hàm do sự lấy mẫu của biến tại một khoảng thời gian hữu hạn. Khái niệm về thời gian rời rạc dựa trên một sự phân biệt giữa thời điểm và khoảng thời gian. Thông thường các trục thời gian được chia thành một số liền kề phân đoạn thời gian (thường có chiều dài cố định), như

(19)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC hình 1.7. Cả hai số khoảng thời gian và thời điểm được quy định cụ thể là hữu hạn. Trên thực tế, số lượng các điểm thời gian = Số khoảng thời gian + 1. Đồng hồ trong các hệ thống số phát sinh ngắt báo hiệu theo 1 chu kỳ. Chu kỳ này khoảng s hoặc ns. Đơn vị nhỏ nhất của thời gian là 1 chu kỳ.

Hình 1.7: Xung đồng hồ •Ràng buộc về thời gian

Chúng ta đã thấy rằng tính đúng đắn của tác vụ thời gian thực phụ thuộc vào tính đúng đắn hợp lý của kết quả cũng như sự thỏa mãn những ràng buộc thời gian tương ứng cho các sự kiện nhất định trong một hệ thống. Những sự kiện này có thể được tạo ra bởi chính các tác vụ hoặc bởi môi trường của hệ thống. Một ví dụ của sự kiện như vậy là kích hoạt của động cơ.

Ràng buộc về thời gian phân thành 3 loại: (1) Ràng buộc trễ (Delay Constraint)

(2) Ràng buộc thời hạn (Deadline Constraint)

(3) Ràng buộc khoảng thời gian (Duration Constraint)

Delay:

Sự ràng buộc trễ là thời gian tối thiểu (delay) phải có giữa sự xuất hiện của hai sự kiện bất kỳ e1 và e2. Sau khi e1 xảy ra, nếu e2 xảy ra sớm hơn so với thời gian trễ tối thiểu này thì coi đó là một hành vi vi phạm ràng buộc trễ. Một sự ràng buộc trễ trên sự kiện e2 được thể hiện như hình 1.8.

Gọi t(e1) và t(e1) là mốc thời gian tương ứng của các sự kiện e1 và e2 và d là sự chậm trễ tối thiểu quy định từ e2. Một ràng buộc trễ của sự kiện e2 với đối sự kiện e1 được thể hiện trong hình 1.8. Trong đó, biểu thị khoảng thời gian giữa sự xuất hiện của hai sự kiện e1 và e2 và d là khoảng cách tối thiểu cần thiết giữa hai sự kiện (sự chậm trễ). Nó rất dễ dàng để thấy rằng e2 phải xảy ra sau khi tại đơn vị thời gian ít nhất là d đã trôi qua kể từ sự xuất hiện của e1, nếu không chúng ta sẽ có một hành vi vi phạm ràng buộc trễ, tức là:

(20)

Hình 1.8: Ràng buộc thời gian trễ

4 = t(e2) − t(e1) > d

Deadline:

Ràng buộc thời hạn (deadline) là thời gian cho phép tối đa của sự xuất hiện giữa hai sự kiện tùy ý e1 vàe2. Nói cách khác, sự kiện thứ hai (e2) phải thực hiện theo sau sự kiện đầu tiên (e1) trong khoảng thời gian tối đa cho phép. Hãy xem xét t(e1) và t(e2) là mốc thời gian tương ứng về sự xuất hiện của các sự kiện e1 và e2 và d là thời hạn cuối cùng như hình 1.9. Trong đó, 4 biểu thị sự tách biệt thực tế giữa thời điểm xảy ra hai sự kiện e1 và e2, và d là thời hạn cuối cùng. Một ràng buộc thời hạn ngụ ý rằng e2 phải xảy ra trong đơn vị thời gian d sau khi e1 xảy ra. Chúng ta có thể nói rằng t(e1) và t(e2) phải đáp ứng ràng buộc:

4 = t(e2) − t(e1) 6 d

Hình 1.9: Ràng buộc thời hạn

Duration:

Một ràng buộc khoảng thời gian của một sự kiện được xác định bởi khoảng thời gian mà sự kiện phản ứng. Nó có thể là khoảng thời gian tối thiểu hoặc khoảng thời gian tối đa. Loại ràng buộc thời gian tối thiểu đòi hỏi rằng một khi sự kiện bắt đầu thì sự kiện đó không phải kết thúc trước khi một thời gian tối thiểu nhất định, trong khi một loại

(21)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC ràng buộc khoảng thời gian tối đa yêu cầu rằng một khi sự kiện bắt đầu, sự kiện đóphải kết thúc trước khi một khoảng thời gian tối đa nhất định kết thúc. Để đảm bảo thỏa mãn các ràng buộc về thời gian trong hệ thống thời gian thực, thời gian xử lý các công việc trong hệ thống luôn được quan tâm ở tất cả các khâu trong quá trình xây dựng và phát triển hệ thống.

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

1.7.1 Các khái niệm trong xử lý thời gian thực

• Tác vụ (Task): Là công việc cần thực thi tham gia trong hệ thống. Tác vụ phải thực hiện lặp đi lặp lại một các đều đặn theo những khoảng thời gian p thì được gọi là các tác vụ có chu kỳ và p gọi là chu kỳ của tác vụ. Các loại tác vụ khác gọi là tác vụ không có chu kỳ.

Trong các hệ thống điều khiển, khái niệm tác vụ (task) cũng hay được sử dụng bên cạnh quá trình tính toán. Có thể nói, tác vụ là một nhiệm vụ xử lý thong tin trong hệ thống, có thể thực hiện theo cơ chế tuần hoàn (periodic task) hoặc theo sự kiện (event task). Các dạng tác vụ qui định trong chuẩn IEC 61131-3 (Programmable Controllers – Parts: Programming Languages) như hình 4.1.

Hình 1.10: Các loại tác vụ

Ví dụ, một tác vụ có thể thực hiện nhiệm vụ điều khiển cho một hoặc nhiều mạch vòng kín có chu kỳ trích mẫu giống nhau. Hoặc một tác vụ có thể thực hiện nhiệm vụ

(22)

điều khiển logic thực hiện trình tự theo các sự kiện xảy ra. Tác vụ có thể thực hiện dưới dạng một quá trình tính toán duy nhất hoặc một chuỗi các quá trình tính toán khác nhau.

• Tiến trình (Process): Là một diễn biến thực thi một tác vụ của hệ thống

• Đa nhiệm (Multitasking) và đồng thời (Concerrency): Thông thường các bộ vi xử lý chỉ có thể thực hiện một tác vụ duy nhất trong một thời điểm nhưng với sự chuyển đổi rất nhanh giữa các tác vụ của một hệ điều hành đa nhiệm làm cho chúng dường như được chạy đồng thời với nhau, như hình 3.1.

• Lập lịch (Scheduling): Là một phép thực hiện phân bố và gán quy trình thực thi các tác vụ cho bộ xử lý sao cho mỗi tác vụ được thực hiện hoàn toàn.

1.7.2 Phương thức xử lý thời gian thực

Xử lý thời gian thực là hình thức xử lý thông tin trong một hệ thống để đảm bảo tính năng thời gian thực của nó. Như vậy, xử lý thời gian thực cũng có các đặc điểm tiêu biểu nêu trên như tính ràng buộc thời gian, tính đúng đắn, tính nhúng, tính an toàn và tin cậy, tính đồng thời, tính phân tán và phản hồi, tính quan trọng của tác vụ, tính phù hợp của phần cứng, tính tương tác, tính ổn định và tính tự động xử lý ngoại lệ. Để có thể phản ứng với nhiều sự kiện diễn ra cùng một lúc, một hệ thống thời gian thực sử dụng các quá trình xử lý đồng thời.

Quá trình xử lý là một tiến trình thực hiện một hoặc một phần chương trình tuần tự do hệ điều hành quản lý trên một máy tính, có thể tồn tại đồng thời với các quá trình khác kể cả trong thời gian thực hiện lệnh và thời gian xếp hàng chờ đợi thực hiện.

Các hình thức tổ chức các quá trình tính toán đồng thời:

• Xử lý cạnh tranh: Nhiều quá trình tính toán chia xẻ thời gian xử lý thông tin của một bộ vi xử lý.

• Xử lý song song: Các quá trình tính toán được phân chia thực hiện song song trên nhiều bộ xử lý của máy tính.

• Xử lý phân tán: Mỗi quá trình tính toán được thực hiện riêng trên một máy tính. Trong các hình thức trên đây thì hình thức xử lý cạnh tranh có vai trò chủ chốt. Mặc dù hệ thống điều khiển có thể có nhiều trạm và mỗi trạm có thể có một hệ đa vi xử lý, nhưng số lượng các quá trình tính toán cần thực hiện thường bao giờ cũng lớn hơn số lượng bộ vi xử lý. Trong khi một bộ vi xử lý không thể thực hiện song song nhiều lệnh, nó phải phân chia thời gian để thực hiện xen kẽ nhiều nhiệm vụ khác nhau theo thứ tự

(23)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC của mức ưu tiên định trước và phương pháp lập lịch, các vấn đề này sẽ được nói rõ trong các chương sau.

1.8 Hệ thống điều khiển và hệ thời gian thực

Theo như định nghĩa về hệ thời gian thực thì ta có thể nói tất cả các hệ thống điều khiển là hệ thời gian thực. Ngược lại, phần lớn các hệ thống thời gian thực là các hệ thống điều khiển.

Không có hệ thống điều khiển nào có thể hoạt động bình thường nếu như nó không đáp ứng được các yêu cầu về thời gian, bất kể là hệ thống điều khiển nhiệt độ, điều khiển áp suất, điều khiển lưu lượng hay điều khiển chuyển động. Một bộ điều khiển phải đưa ra được tín hiệu điều khiển kịp thời sau một thời gian nhận được tín hiệu cảm biến để đưa hệ thống về trạng thái mong muốn. Một mạng truyền thông trong hệ thống điều khiển có tính năng thời gian thực phải có khả năng truyền tin một cách tin cậy và kịp thời đối với các yêu cầu của các bộ điều khiển, các thiết bị vào/ra, các thiết bị cảm biến và thiết bị chấp hành.

Tính năng thời gian thực của một hệ thống điều khiển phân tán 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 trong hệ thống, mà còn phụ thuộc vào sự phối hợp hoạt động giữa các thành phần đó.

Trong thực tế, yêu cầu về tính thời gian thực đối với mỗi ứng dụng điều khiển cũng có các đặc thù khác nhau, mức độ ràng buộc khác nhau. Ví dụ, các hệ thống điều khiển nhúng thường được ứng dụng với các sản phẩm chế tạo hàng loạt, chi phí phần cứng cho từng sản phẩm cần được giảm thiểu, vì vậy dung lượng bộ nhớ cũng như hiệu năng vi xử lý thường thấp. Hơn nữa, điều khiển nhúng lại là giải pháp đặc thù trong các ứng dụng nhanh, tiêu biểu là điều khiển chuyển động, dẫn đến các yêu cầu ngặt nghèo hơn về hiệu suất phần mềm. Trong khi đó, các hệ thống điều khiển công nghiệp như PLC (Programmable Logic Controller) hoặc DCS (Distributed Control System) đặt ra các yêu cầu cao về khả năng lập trình và đưa vào vận hành thuận tiện cho các bài toán lớn. Các hệ thống ứng dụng PLC và DCS cũng thường chậm hơn nhưng không có nghĩa là chúng không phải là hệ thời gian thực.

1.9 Ứng dụng của hệ thống thời gian thực

(24)

y khoa, viễn thông, mạng Internet và đa phương tiện, quốc phòng...

1.9.1 Ứng dụng trong lĩnh vực công nghiệp:

Ứng dụng trong công nghiệp là ứng dụng chính của hệ thống thời gian thực. Một vài ví dụ về ứng dụng trong công nghiệp của hệ thống thời gian thực là: hệ thống kiểm soát quá trình, hệ thống tự động hóa công nghiệp, các ứng dụng SCADA, thiết bị kiểm tra và đo lường và các thiết bị robot.

Ví dụ 1.1 Hệ thống kiểm soát nhà máy hóa chất

Hệ thống kiểm soát nhà máy hóa chất cơ bản là một loại ứng dụng điều khiển quá trình. Trong một nhà máy hóa chất tự động, một máy tính thời gian thực định kỳ giám sát trạng thái hoạt động của nhà máy. Trạng thái hoạt động của nhà máy được xác định dựa trên các dữ liệu hiện tại về áp suất, nhiệt độ và nồng độ hóa chất của buồng phản ứng. Các thông số này được lấy mẫu định kỳ. Dựa trên các giá trị lấy mẫu tại một thời điểm bất kỳ, hệ thống tự động quyết định các hành động khắc phục cần thiết ngay lập tức để duy trì các phản ứng hóa học với một tốc độ nhất định. Mỗi lần các dữ liệu của nhà máy được thu thập, hệ thống tự động quyết định tức thời các hành động điều chỉnh chính xác cần thiết chẳng hạn như thay đổi áp suất, nhiệt độ hoặc tập trung hóa chất và thực hiện những hành động trong giới hạn thời gian đã được xác định trước. Thông thường, giới hạn thời gian trong ứng dụng kiểm soát nhà máy hóa chất từ một vài micro giây đến một vài mili giây.

Ví dụ 1.2 Nhà máy lắp ráp ô tô tự động

Nhà máy lắp ráp xe tự động là một ví dụ về một hệ thống tự động hóa nhà máy. Trong một nhà máy lắp ráp xe tự động, sản phẩm của công việc (một phần xe đã lắp ráp) di chuyển trên một băng tải (xem hình 1.11). Dọc theo dây chuyền, một số máy trạm được lắp đặt. Mỗi máy trạm thực hiện một số công việc cụ thể về các sản phẩm như lắp động cơ, lắp cửa, lắp bánh xe, phun sơn xe ôtô, v.v., khi sản phẩm di chuyển trên băng tải. Một khung xe được đưa vào máy trạm đầu tiên trên băng tải, một chiếc xe lắp ráp đầy đủ được đi ra sau khi sản phẩm này đi qua tất cả các máy trạm. Tại mỗi trạm làm việc, một cảm biến cảm nhận sự xuất hiện của một phần sản phẩm lắp ráp. Ngay sau khi nhận biết phần cần được lắp ráp cho sản phẩm, các máy trạm bắt đầu thực hiện công việc của mình trên sản phẩm. Hạn chế thời gian đối với các máy trạm là

(25)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC máy trạm phải hoàn thành công việc của nó trước khi sản phẩm làm việc di chuyển đi đến công đoạn kế tiếp. Các giới hạn thời gian cho các đáp ứng ở đây thường ở mức của một vài trăm mili giây.

Hình 1.11: Một ví dụ về dây chuyền lắp ráp xe hơi

Ví dụ 1.3 Hệ thống điều khiển giám sát và thu nhận dữ liệu (Supervisory

Control And Data Acquisition SCADA)

SCADA là một loại của các hệ thống điều khiển phân tán được sử dụng trong nhiều ngành công nghiệp. Một hệ thống SCADA sẽ giúp theo dõi và kiểm soát một số lượng lớn các sự kiện phân tán mà con người quan tâm. Trong các hệ thống SCADA, cảm biến nằm rải rác tại các địa điểm địa lý khác nhau để thu thập dữ liệu thô (được gọi là sự kiện quan tâm). Những dữ liệu này sau đó được xử lý và lưu trữ trong một cơ sở dữ liệu thời gian thực. Các mô hình cơ sở dữ liệu phản ánh tình trạng hiện tại của môi trường và được cập nhật thường xuyên để làm cho nó trở thành một mô hình cho thế giới thực. Một ví dụ của một ứng dụng SCADA là một hệ thống quản lý năng lượng (EMS). Một hệ thống EMS giúp thực hiện cân bằng tải trong một mạng lưới phân phối năng lượng điện. Nó cảm nhận tình trạng tiêu thụ năng lượng tại các điểm phân phối và tính tải trên các giai đoạn khác nhau để cung cấp năng lượng với sự tự động về cân bằng tải. Một ví dụ khác của một hệ thống SCADA là một hệ thống theo dõi và kiểm soát lưu lượng truy cập trong một mạng lưới máy tính. Tùy thuộc vào tải cảm nhận trong các phân đoạn khác nhau của mạng, hệ thống SCADA làm cho các bộ định tuyến thay đổi lưu lượng truy cập định tuyến với một chính sách linh hoạt. Ràng buộc thời gian trong một ứng dụng như SCADA là các cảm biến cảm nhận trạng thái hệ thống tại các khoảng thời gian định trước (chẳng hạn, mỗi vài mili giây) và như vậy phải được xử lý trước khi trạng thái tiếp theo được cảm nhận.

(26)

1.9.2 Ứng dụng trong lĩnh vực y khoa:

Một vài ví dụ về ứng dụng y khoa của hệ thống thời gian thực là: robot, máy quét MRI, thiết bị xạ trị, theo dõi, giám sát giường bệnh và chụp cắt lớp vi tính trục (CAT).

Ví dụ 1.4 Robot được sử dụng trong việc phục hồi của vật liệu phóng xạ

Robot đã trở nên rất phổ biến hiện nay và đang được sử dụng trong một loạt các ứng dụng y tế. Một robot được sử dụng trong việc lấy các vật liệu phóng xạ dời. Vật liệu phóng xạ như coban và radium được sử dụng cho điều trị ung thư. Tại thời điểm trong quá trình điều trị, phóng xạ coban (radium) bị trật vị trí và rơi. Khi đó con người không thể đến gần vật liệu phóng xạ được, robot được sử dụng để khôi phục lại các vật liệu phóng xạ vào vị trí thích hợp của nó. Robot bước vào căn phòng có chứa các chất phóng xạ, nhặt nó lên và đưa nó về đúng vị trí của nó. Robot có khả năng cảm nhận môi trường xung quanh nó thường xuyên và dựa trên các thông tin này để lập kế hoạch đường đi của nó. Ràng buộc thời gian thực vào tác vụ quy hoạch đường đi của robot là việc lập kế hoạch đường đi phải được đưa ra đủ nhanh sau khi một chướng ngại vật được phát hiện, nếu không nó có thể va chạm với chướng ngại vật. Ràng buộc thời gian ở đây là ở mức của một vài phần nghìn giây.

1.9.3 Ứng dụng trong lĩnh vực thiết bị ngoại vi

Một vài ví dụ về thiết bị ngoại vi có chứa hệ thống nhúng thời gian thực là: máy in laser, máy photocopy kỹ thuật số, máy fax, máy ảnh kỹ thuật số và máy quét.

Ví dụ 1.5 Máy in Laser

Hầu hết các máy in laser có bộ vi xử lý mạnh được nhúng vào để kiểm soát các hoạt động khác nhau liên quan đến in ấn. Các hoạt động quan trọng mà một bộ vi xử lý nhúng trong một máy in laser thực hiện bao gồm: nhận dữ liệu được từ cổng giao tiếp, sắp phông chữ, cảm nhận tình trạng kẹt giấy và hết giấy, cảm nhận khi người dùng nhấn một nút trên điều khiển bảng điều khiển và hiển thị các thông báo khác nhau cho người sử dụng. Các hoạt động phức tạp nhất mà bộ vi xử lý thực hiện là việc lái cho bộ phận điều khiển laser. Tuy nhiên, các bộ phận điều khiển laser không có ý tưởng về hình dạng chính xác của các phông chữ, cỡ chữ, in nghiêng, gạch dưới, chữ đậm, ... mà nó có thể được yêu cầu in. Các bộ vi xử lý nhúng nhận được lệnh in trên cổng đầu vào của nó và xác định các điểm chấm (dot) kết hợp với nhau như thế nào để in được các tài liệu mong

(27)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC muốn và quản lý việc in ấn các hình ảnh chính xác thông qua một loạt các lệnh điểm (chấm) gửi cho bộ phận điều khiển laser. Ràng buộc thời gian ở đây là ở mức của một

vài phần nghìn giây.

1.9.4 Ứng dụng trong lĩnh vực ô tô và giao thông vận tải

Một vài ví dụ về ứng dụng trong lĩnh vực ô tô và giao thông vận tải của hệ thống thời gian thực là: hệ thống điều khiển động cơ ô tô, điều khiển tín hiệu giao thông đường bộ, kiểm soát không lưu, kiểm soát xe lửa tốc độ cao, hệ thống định vị xe và hệ thống kiểm soát động cơ MPFI.

Ví dụ 1.6 Hệ thống phun nhiên liệu (Multi-Point Fuel Injection MPFI)

Hệ thống MPFI là một hệ thống điều khiển hoạt động của động cơ ô tô. Một sơ đồ về khái niệm của một chiếc xe được nhúng bởi một hệ thống MPFI được thể hiện trong hình 1.12. MPFI là một hệ thống thời gian thực có chức năng điều khiển tốc độ phun nhiên liệu và cho phép động cơ hoạt động với hiệu quả tối ưu. Trong các mô hình ô-tô cũ, một thiết bị cơ khí được gọi là bộ chế hòa khí đã được sử dụng để kiểm soát tốc độ phun nhiên liệu cho động cơ. Nhiệm vụ của bộ chế hòa khí là thay đổi tốc độ phun nhiên liệu phụ thuộc vào tốc độ hiện tại và gia tốc của chiếc xe. Thử nghiệm thực tế đã cho rằng trong trường hợp lượng nhiện liệu tiêu thụ tối ưu thì tốc độ phun nhiên liệu cần thiết quan hệ phi tuyến với tốc độ và gia tốc của xe. Ngoài ra, kết quả thực nghiệm cũng cho thấy việc phun nhiên liệu chính xác thông qua nhiều điểm là hiệu quả hơn so với một điểm phun duy nhất. Trong động cơ MPFI, tốc độ phun nhiên liệu chính xác tại mỗi điểm phun được xác định bởi một máy tính. Bộ xử lý chủ yếu là kiểm soát thời điểm đánh lửa và lượng nhiên liệu được phun vào. Lượng nhiên liệu này đạt được bằng cách kiểm soát thời gian cho van phun mở suốt trong khoảng thời gian được gọi là độ rộng xung. Những hành vi của bộ vi xử lý được xác định bởi các dữ liệu thu thập được từ các cảm biến đặt trên tất cả các vị trí động cơ. Các cảm biến này liên tục theo dõi nhiệt độ môi trường xung quanh, nhiệt độ nước làm mát động cơ, nhiệt độ khí thải, nồng độ thải khí, tốc độ quay động cơ rpm, tốc độ chạy xe, vị trí trục khuỷu, vị trí trục cam, v.v. Một hệ thống MPFI có khả năng xác định một tốc độ phun nhiên liệu chính xác hơn với các giá trị của tốc độ và giá tốc thu thập được so với một hệ thống dựa trên bộ chế hòa khí. Một hệ thống MPFI không chỉ làm cho một chiếc xe tiết kiệm nhiên liệu một cách hiệu quả, mà nó còn giảm thiểu ô nhiễm bằng cách tối thiểu hóa quá trình đốt cháy một phần (vì quá trình này không đốt cháy hết và gây ra ô nhiễm).

(28)

Hình 1.12: Một hệ thống thời gian thực nhúng trong một xe MPFI

1.9.5 Ứng dụng trong lĩnh vực viễn thông

Một vài ví dụ sử dụng hệ thống thời gian thực trong các ứng dụng viễn thông là: hệ thống điện thoại di động, hội nghị truyền hình.

Ví dụ 1.7 Một hệ thống di động tế bào

Hệ thống di động đã trở thành một phương tiện rất phổ biến của thông tin di động. Một hệ thống di động thường được thiết kế dựa trên bản đồ thành phố để thiết lập các tế bào như hình 1.13. Trong mỗi tế bào, một trạm cơ sở (base station) giám sát các máy điện thoại di động hiện diện trong tế bào. Bên cạnh đó, các trạm cơ sở này thực hiện một số nhiệm vụ như tìm người sử dụng, gửi và nhận tin nhắn kiểm soát về chiếc điện thoại, theo dõi chi tiết cuộc gọi cho các mục đích thanh toán và thực hiện chuyển vùng (hand-off) cho điện thoại di động. Chuyển vùng cuộc gọi được yêu cầu khi điện thoại di động di chuyển ra khỏi một trạm cơ sở. Khi máy điện thoại di động di chuyển ra khỏi vùng phủ sóng của trạm cơ cở, cường độ tín hiệu nhận được (Received Signal Strength -RSS) của nó giảm tại trạm cơ sở này. Trạm cơ sở này giám sát và sớm phát hiện RSS giảm xuống dưới một giá trị ngưỡng nhất định thì chuyển các chi tiết của các cuộc gọi của điện thoại di động đến trạm cơ sở của tế bào mà máy điện thoại di động này đã di chuyển tới. Công việc này phải được hoàn thành trong một khoảng thời gian đủ nhỏ được xác định trước để người dùng không cảm thấy bất kỳ sự gián đoạn tạm thời nào của dịch vụ trong thời gian chuyển vùng. Thông thường, thời gian chuyển cuộc gọi phải đạt được ở mức trong một vài mili giây.

(29)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC

Hình 1.13: Một hệ thống di động tế bào

1.9.6 Ứng dụng trong lĩnh vực hàng không vũ trụ

Một vài ứng dụng quan trọng của hệ thống thời gian thực trong các ứng dụng hàng không vũ trụ là: hệ thống điện tử mô phỏng chuyến bay, hệ thống quản lý cabin hàng không, hệ thống theo dõi vệ tinh và máy tính trên máy bay.

Ví dụ 1.8 Máy tính On-Board trên máy bay

Trong nhiều máy bay hiện đại, phi công có thể chọn chế độ "bay tự động". Ngay sau khi phi công chuyển sang chế độ "bay tự động", một máy tính trên máy bay kiểm soát tất cả các điều khiển của máy bay bao gồm hướng bay, cất cánh và hạ cánh... Trong chế độ "bay tự động", máy tính định kỳ lấy mẫu vận tốc, gia tốc, độ cao, độ nghiêng... của máy bay. Từ các dữ liệu lấy mẫu, máy tính on-board tính tọa độ X, Y, Z của vị trí máy bay hiện tại và so sánh chúng với dữ liệu theo dõi xác định trước. Trước khi xử lý các giá trị mẫu thu được tiếp theo, nó phải tính toán độ lệch từ giá trị theo dõi một cách chính xác và thực hiện các hành vi tương ứng. Trong trường hợp này, thời gian lấy mẫu của các thông số khác nhau và xử lý chúng phải trong vòng một vài micro giây.

(30)

1.9.7 Ứng dụng trong lĩnh vực Internet và các ứng dụng đa phương tiện

Sử dụng quan trọng của hệ thống thời gian thực trong các ứng dụng đa phương tiện và Internet bao gồm: hội nghị truyền hình và multicast đa phương tiện, thiết bị định tuyến Internet và chuyển mạch.

Ví dụ 1.9 Hội nghị truyền hình

Trong một ứng dụng hội nghị truyền hình như hình 1.14, tín hiệu video và âm thanh được tạo ra tương ứng bởi máy ảnh và micro. Các dữ liệu được lấy mẫu theo một tốc độ khung hình nhất định xác định trước. Sau đó dữ liệu được nén, đóng gói và được gửi đến người nhận qua mạng. Vào đầu cuối thu, các gói dữ liệu được sắp xếp, giải nén và sau đó được tái tạo. Ràng buộc thời gian ở đầu cuối nhận là người nhận phải xử lý và tái tạo lại các khung nhận được với một tốc độ không đổi được xác định trước. Vì vậy, nếu 30 khung hình được hiển thị mỗi phút, một khi một khung được hiển thị thì khung kế tiếp phải được tái tạo trong vòng 2 giây.

Hình 1.14: Hệ thống hội nghị truyền hình

1.9.8 Ứng dụng trong lĩnh vực điện tử tiêu dùng

Điện tử tiêu dùng là lĩnh vực ứng dụng đặc biệt của nhiều hệ thống thời gian thực. Một vài ứng dụng điển hình của hệ thống thời gian thực trong điện tử tiêu dùng là: các

(31)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC hộp set-top, thiết bị âm thanh, điện thoại Internet, lò vi sóng, máy giặt thông minh, hệ thống an ninh gia đình, điều hòa không khí và làm lạnh, đồ chơi và điện thoại di động.

Ví dụ 1.10 Điện thoại di động

Điện thoại di động là lĩnh vực phát triển nhanh nhất của điện tử tiêu dùng. Một điện thoại di động tại bất kỳ thời điểm thực hiện một số nhiệm vụ cùng một lúc. Chúng bao gồm: chuyển đổi giọng nói đầu vào thành tín hiệu số, triển khai công việc xử lý tín hiệu số (Digital Signal Processing DSP), chuyển đổi tín hiệu điện tạo ra bởi micro thành tín hiệu thoại đầu ra và lấy mẫu tín hiệu đến từ trạm cơ sở trong các kênh điều khiển. Một điện thoại di động phản ứng với các thông tin nhận được từ các trạm cơ sở trong phạm vi giới hạn thời gian nhất định theo quy định. Ví dụ, một trạm cơ sở ra lệnh cho một điện thoại di động chuyển việc liên lạc sang một tần số định trước. Điện thoại di động phải thực hiện lệnh này từ trạm cơ sở trong một vài mili giây.

1.9.9 Ứng dụng trong lĩnh vực quốc phòng

Ứng dụng quân sự điển hình của hệ thống thời gian thực bao gồm: hệ thống hướng dẫn tên lửa, hệ thống chống tên lửa, hệ thống giám sát dựa trên vệ tinh.

Ví dụ 1.11 Hệ thống dẫn đường tên lửa

Hệ thống dẫn đường tên lửa như hình 1.15 là một hệ thống trong đó có khả năng cảm biến và định vị mục tiêu. Nhận biết và định vị trở nên dễ dàng khi mục tiêu phát ra bức xạ điện hoặc nhiệt. Trong một hệ thống dẫn đường tên lửa, tên lửa được hướng dẫn bởi một máy tính được gắn trên tên lửa. Máy tính đó tính toán độ lệch từ quỹ đạo cần thiết và theo dõi hiệu quả những thay đổi của tên lửa để hướng dẫn nó vào mục tiêu. Ràng buộc thời gian trên hệ thống dẫn đường dựa trên máy tính là các cảm biến và các tác vụ theo dõi và điều chỉnh phải được kích hoạt đủ nhanh để giữ cho tên lửa tránh đi lạc khỏi mục tiêu. Các cảm biến mục tiêu, các tác vụ theo dõi và chỉnh hướng thường được yêu cầu phải được hoàn tất trong vòng một vài trăm micro giây hoặc thậm chí thấp hơn tùy thuộc vào tốc độ của tên lửa và loại hình mục tiêu.

1.9.10 Ứng dụng trong những lĩnh vực khác

Bên cạnh các lĩnh vực ứng dụng đã được thảo luận, các hệ thống thời gian thực đã tìm thấy nhiều ứng dụng khác trong cuộc sống hàng ngày của chúng ta. Một ví dụ của ứng dụng như vậy là hệ thống đặt chỗ tàu hỏa.

(32)

Hình 1.15: Hệ thống dẫn đường tên lửa

Ví dụ 1.12 Hệ thống đặt chỗ tàu hỏa

Trong một hệ thống đặt chỗ tàu hỏa, một kho lưu trữ trung tâm duy trì cập nhật dữ liệu về tình trạng đặt vé của các đoàn tàu khác nhau. Quầy đặt vé được phân phối trên vị trí địa lý khác nhau. Khách hàng xếp hàng tại quầy đặt vé khác nhau và gửi yêu cầu đặt vé của họ. Sau khi một yêu cầu đặt vé được thực hiện tại quầy, nó thường chỉ mất một vài giây cho hệ thống để xác nhận đặt vé và in vé. Một ràng buộc thời gian thực trong ứng dụng này là một khi yêu cầu được thực hiện, máy tính phải in vé hoặc hiển thị thông báo không còn chỗ ngồi đó trước khi thời gian phản ứng trung bình của con người (khoảng 20 giây) hết hạn, để khách hàng không nhận thấy bất kỳ sự chậm trễ nào và có được một cảm giác đã đạt được kết quả tức thì.

Câu hỏi ôn tập

1.1. Bạn hiểu thuật ngữ "thời gian thực" như thế nào? Khái niệm thời gian thực khác

với khái niệm thời gian lô-gic như thế nào? Giải thích câu trả lời của bạn bằng cách sử dụng một ví dụ phù hợp.

1.2. Hệ thống thời gian thực là gì? Nêu ví dụ.

(33)

1 TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC

bạn bằng một hệ thống thời gian thực.

1.4 Nêu cấu tạo của hệ thống thời gian thực.

1.5 Hệ thống thời gian thực thường được chia thành mấy loại? Nêu cụ thể. 1.6 Nêu những đặc tính của hệ thống thời gian thực.

1.7 Phần cứng hệ thống thời gian thực so với hệ thống vi xử lý thông thường thì

a. Phức tạp hơn b. Đa dụng hơn

c. Tốc độ xử lý cao hơn d. Tất cả đều đúng

1.8 Phát biểu nào sau đây đúng?

a. Hầu hết các hệ thống điều khiển là hệ thống thời gian thực b. Hệ thống điều khiển phải sử dụng hệ điều hành Linux c. Hệ thống điều khiển phải có bộ phận thời gian thực

d. Hệ thống điều khiển là hệ thống tự trị được nhúng vào hệ thống mẹ

1.9 Hệ thống thời gian thực là

a. Hệ thống phải có ít nhất một thiết bị thời gian thực b. Đồng hồ hệ thống phải là đồng hồ thời gian thực

c. Hệ thống phải có các hoạt động thỏa mãn về thời gian thực hiện định trước d. Đồng hồ hệ thống phải được đồng bộ với đồng hồ bên ngoài.

1.10 Giải thích các khái niệm về ràng buộc thời gian (delay, deadline, duration). 1.11 Nêu các phương thức xử lý thời gian thực.

1.12 Nêu một vài ví dụ về hệ thống thời gian thực và phân tính tính thời gian thực trong

(34)
(35)

2

Chương 2

PHẦN CỨNG HỆ THỐNG THỜI

GIAN THỰC

2.1 Giới thiệu chương

• Giới thiệu cấu trúc cơ bản của phần cứng hệ thống thời gian thực • Giới thiệu khối xử lý trung tâm và bộ nhớ

• Giới thiệu khối giao tiếp

• Giới thiệu một số thiết bị cảm biến • Giới thiệu một số thiết bị chấp hành

2.2 Cấu trúc cơ bản

Trong cấu trúc đơn giản nhất, một hệ thống xử lý chung (hệ thống máy tính) được cấu tạo gồm một CPU, bộ nhớ và I/O (Input/Output) được nối với nhau bằng các bus (Hình 2.1).

Một hệ thống xử lý chung có bốn loại bus: bus nguồn, bus địa chỉ, bus dữ liệu và bus điều khiển. Bus nguồn dùng để cấp nguồn điện cho các thành phần khác nhau của hệ thống máy tính; bus địa chỉ là phương tiện để định địa chỉ bộ nhớ và các thiết bị I/O; bus dữ liệu được sử dụng để trao đổi dữ liệu giữa các thành phần khác nhau trong hệ

(36)

thống; bus điều khiển dùng để báo cho bộ nhớ hay thiết bị I/O biết cách thức trao đổi dữ liệu. Khi đề cập đến bus hệ thống thì thường ám chỉ đến bus địa chỉ và bus dữ liệu. Đối với những phần sau, giáo trình này chỉ nói tới các hệ thống với bộ xử lý đơn (uniprocessing). Một số hệ thống thời gian thực là đa xử lý thì có nghĩa là các bộ vi xử lý được phân phối phân tán trong hệ thống. Các hệ thống thời gian thực phân tán khác sử dụng đa xử lý để cho phép hệ thống xử lý sắp xếp các tác vụ trên các bộ vi xử lý khác nhau.

Hình 2.1: Sơ đồ khối phần cứng cơ bản của hệ thống xử lý chung

2.3 Bộ xử lý trung tâm CPU

CPU là viết tắt của Central Processing Unit (khối xử lý trung tâm). Đôi khi được gọi đơn giản là xử lý trung tâm, nhưng thường được gọi là bộ vi xử lý, CPU là bộ não của hệ thống máy tính nơi mà hầu hết các tính toán xảy ra. Về khả năng tính toán, CPU là yếu tố quan trọng nhất của một hệ thống máy tính.

Trong các hệ thống lớn, CPU yêu cầu một hoặc nhiều bản mạch in. Trên các máy tính cá nhân và máy trạm nhỏ, CPU là một chip duy nhất được gọi là một bộ vi xử lý. CPU hiện nay có kích thước nhỏ, có hình vuông và có nhiều chân kim loại dùng để kết nối xuống bo mạch chủ. Thông thường, CPU được gắn trực tiếp vào một chân đế cắm xuống bo mạch chủ, xem hình 2.2. Ngoài ra, do hoạt động tính toán của nó tỏa ra rất nhiều nhiệt nên nó có thể có một thiết bị tản nhiệt và quạt nhỏ kèm theo để giúp tản nhiệt.

Một ví dụ về phần cứng mạch xử lý như hình 2.2.

(37)

2 PHẦN CỨNG HỆ THỐNG THỜI GIAN THỰC

Hình 2.2: Mạch xử lý trung tâm

1) Khối logic số học (ALU), thực hiện hoạt động số học và logic.

2) Khối điều khiển (CU), dùng để lấy lệnh từ bộ nhớ và giải mã và thực thi chúng, khi cần thiết thì gọi ALU.

Hình 2.3: Cấu tạo của một CPU

2.3.1 Chu kỳ lấy và thực thi lệnh

Chương trình là một chuỗi các lệnh hoặc mã lệnh. Chúng được lưu trữ trong bộ nhớ chính của hệ thống dưới dạng nhị phân (mã máy) và chờ đợi thực hiện. Các lệnh được tuần tự lấy từ vị trí bộ nhớ chính mà con trỏ chương trình chỉ tới và được đặt trong

Referências

Documentos relacionados

Para as competições Taça de Portugal, Campeonato Nacional, bem como, para as restantes provas homologadas para ranking (ou, com classificação de Nível III IPSC),

No entanto, apesar do potencial para eficácia de tratamento da depressão e da ansiedade, esses itens não costumam constar nos guias oficiais de tratamento (4, 46) nem ser avaliados

Líder: Beatriz Aparecida da Silva Vieira 1 - Nível Técnico Integrado 1 - Nível Superior Alunos dos cursos técnicos integrados (preferencia lmente, por ter na grade

A pesquisa é outro campo bastante desenvolvido no âmbito da faculdade, com destaque para a área de higiene veterinária e processamento tecnológico de produtos de origem animal,

Objetivo: analisar o perfil epidemiológico das pacientes portadoras da Síndrome do Ovário Policístico e Infertilidade atendidas no ambulatório de ginecologia do Instituto de Medicina

Súmula 46 : A lei falimentar, por especial, possui todo o regramento do pedido e processo de falência, e nela não se prevê a designação de audiência de conciliação. Súmula 50 :

• Verificar se alguma espécie se encontra citada nas listas de status de conservação do IBAMA (Instituto Brasileiro do Meio Ambiente e dos Recursos Naturais e

Medida de Proteção: Evitar o contato direto com o produto utilizando equipamentos de proteção individual (máscara facial ou óculos de segurança, luvas de PVC,