Tải bản đầy đủ

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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG

BÁO CÁO MÔN
REAL TIME SYSTEM
ĐỀ TÀI: ỨNG DỤNG CỦA HỆ THỐNG THỜI GIAN THỰC

Học viên:
Mã học viên :
Lớp: KT Điện Tư
Giảng viên: PGS.TS. Đỗ Trọng Tuấn

Hà Nội 05-2018
1


LỜI CẢM ƠN

Trước hết em xin gửi lời cảm ơn đến PGS.TS.Đỗ Trọng Tuấn, người đã tận tình hướng dẫn, giúp
đỡ em hoàn thành báo cáo môn các hệ thống thời gian thực .Em cảm ơn thầy đã tạo điều kiện
thuận lợi cho em được tìm hiểu những kiến thức bổ ích về môn học thông qua các bài báo và các

tài liệu thầy cung cấp cho em để hoàn thành tốt báo cáo môn học này. Ngoài ra em xin gửi lời
cảm ơn đến Viện Điện Tử Viễn Thông Đại Học Bách Khoa Hà Nội đã tạo điều kiện cho em trong
quá trình học tập và tích lũy kiến thức tại trường
Trong quá trình làm báo cáo môn học em nhận ra nhiều điều mới, có thêm nhiều kiến thức bổ ích
từ môn học để có thể áp dụng vào công việc thực tế của bản thân em nói riêng cũng như toàn
thành viên tham gia môn học.
Vì kiến thức bản thân còn hạn chế, trong quá trình hoàn thiện báo cáo này em không tránh khỏi
những sai sót, kính mong nhận được những ý kiến đóng góp từ thầy. Em xin chân thành cảm ơn.

2


Mục Lục

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

1. Dẫn nhập

Thời gian thực là gì nhỉ?

3


Chúng ta sẽ phân tích một vài tài liệu để trả lời câu hỏi này. Và để làm được điều
đó, trước hết, ta hãy … đi xem một trận bóng đá. Sau đây là bài văn miêu tả trận đấu
bóng đá của một em học sinh:
“Hôm ấy cả nhà em quây quần bên màn hình máy tính để xem trận chung kết giữa
đội tuyển Việt Nam và Thái Lan. Nguyên là do ti vi nhà em mới bị hỏng chưa sửa được.
Anh trai em có bảo bố ra ngoài xem cho vui. Nhưng bố nói ở nhà mới lắp mạng, xem ở
nhà cũng được, như vậy mới đầm ấm không khí gia đình. Hôm vừa rồi, chú nhà mạng
qua lắp mạng có nói với bố em là mạng mới này nhanh lắm, xem phim, nghe nhạc thoải
mái, thả ga.
Trận đấu bóng diễn ra rất quyết liệt, chẳng mấy chốc đã đi đến phút cuối cùng mà
2 đỗi vẫn giữ tỷ số hòa 2-2. Rồi đột nhiên sau một pha phản công nhanh, đội nhà Việt
Nam được hưởng quả đá phạt rất nguy hiểm vào phút chót. Cả nhà em nín thở hồi hộp
theo rõi trận đấu. Đứng trước chấm phạt đền là cầu thủ Phan Thanh Bình. Thời gian như
dừng lại cho tới khi hồi còi của trọng tài vang lên, Phan Thanh Bình lao nhanh tới trái
bóng. Cả nhà em vội vàng đứng lên, hô lớn. Và, sau đó, đột nhiên, có một vòng tròn xuất
hiện trên đầu Thanh Bình, nó quay tít, quay tít và quay tít. Bố em giận giữ đập tay xuống
bàn nói: ‘Sao lại lác mạng vào lúc này!’


Anh trai em than thở: – Đấy, bố thấy chưa, Mạng Ethernet tuy nhanh nhưng đâu
đảm bảo thời gian thực!
Từ đó về sau em cứ thắc mắc mãi ‘thời gian thực là gì?, tuy không thực sự hiểu
lắm nhưng em rất ghét những thứ không đáp ứng thời gian thực”

4


Tất nhiên, bài văn ở trên là bịa, nhưng nó hoàn toàn có thể xảy ra trong thực tế. Và
mạng ethernet vẫn không được gọi là một hệ thống thới gian thực. Tác giả Lưu Hồng Việt
trong Tài liệu tóm tắt bài giảng hệ thống điều khiển nhúng có viết
“Một ví dụ minh hoạ tiêu biểu đó là cơ chế truyền thông dữ liệu qua đường truyền
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 thoả mãn tính tiền định 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)”

Thời gian thực và thế giới thực

Chúng ta lại quay trở lại câu hỏi:


Thế nào là một hệ thời gian thực?



Có hệ thời gian thực thì chắc là sẽ có hệ thời gian ảo? Vậy hệ thời gian ảo là
gì?

5


Tôi không nghĩ là sẽ có hệ thống nào được gọi là thời gian ảo. Theo ý kiến bản thân
thì ‘hệ thời gian thực’ là một cách nói, mang ý nghĩa chỉ một hệ thống đáp ứng những yêu
cầu về mặt thời gian của thế giới thực. Vậy, có thế giới thực, thì chắc là cũng có thế giới
ảo, thế thì thế nào là thế giới ảo?
Thế giới ảo có thể là thế giới của các vi điều khiển !

Thế giới của các vi điều khiển là thế giới của các thiết bị hoạt động theo chương
trình định sẵn, được lưu trong bộ nhớ, và thực hiện một cách tuần tự, ngắt quãng theo
từng lệnh nhờ xung nhịp clock. Điều đó hoàn toàn khác với thế giới thực, thế giới của
những biến đổi liên tục, không xác định trước và bị tác động đồng thời của nhiều yếu tố.
Điểm khác biệt trọng yếu chính ở cơ chế thực thi tuần tự phụ thuộc vào nguồn xung
clock. Bao giờ cũng phải lần lượt: Đọc lệnh – Giải mã lệnh – Tìm đối số theo yêu cầu của
lệnh (nếu có) – Thực hiện lệnh. Nó lúc nào cũng vậy, luôn luôn là như vậy và không thể
khác. Bọn tôi, những sinh viên lười biếng, vào mùa thi có thể: vừa đọc đề cương, vừa ăn
bánh mỳ, vừa đi bộ đến trường. Nhưng các vi điều khiển thì không thể, dù cho hệ thống
có sắp nổ tung đến nơi thì bao giờ nó cũng phải đợi xung clock để lần lượt thực hiện:
Đọc lệnh – Giải mã lệnh – Tìm đối số theo yêu cầu của lệnh (nếu có) – Thực hiện lệnh.
Nó lúc nào cũng vậy, luôn luôn là như vậy và không thể khác.


Uh, thì cứ cho là như thế!
6




Rồi thì sao, nó có liên quan gì đến thời gian thực

Vấn đề là khi các vi điều khiển tham gia vào thế giới thực, tiến hành những hành
động thực và tác động lên đối tượng có thực. Cơ chế xử lý tuần tự của vi điều khiển sẽ
tạo ra độ trễ nhất định cho quá trình xử lý tính toán và thao tác vào ra. Trong khi đối
tượng của chúng – những quá trình vật lý – thì hoàn toàn không bao giờ chờ đợi, luôn
biến đổi không ngừng. Vì vậy, độ trễ của của vi điều khiển sẽ ảnh hưởng trực tiếp tới
hành vi của hệ thống. Vấn đề ở chỗ: độ trễ đó ảnh hưởng như thế nào, ít hay nhiều, bao
nhiêu thì được phép và theo cách nào để nó luôn phản ứng chính xác với đặc tính động
học của thế giới thực. Đó chính là cái nôi của khái niệm thời gian thực

Hay nói cách khác, khái niệm thời gian thực ra đời cùng với những hệ thống
nhúng. Những hệ thống sử dụng vi điều khiển làm nền tảng để thực hiện những chức
năng xác định và tác động lên những đối tượng xác định .Từ máy giặt quay quần áo trong
nhà cho tới những máy bay phản lực bay lượn trên bầu trời. Yêu cầu thời gian thực luôn
luôn được xem sét kỹ lưỡng, đảm bảo thời gian xử lý tính toán của vi điều khiển, vi xử lý
không ảnh hưởng tới đặc tính chung của hệ thống, vẫn phản ánh một cách tương đối
chính xác đặc tính của hệ thống. Và ngược lại, sẽ chẳng ai quan tâm tới vấn đề thời gian
thực khi mà khối điều khiển có thể tác động gần như tức thời, liên tục. Ví dụ như các bộ
điều khiển analog hay bằng các cơ cấu cơ khí. Một ví dụ điển hình là, hiển nhiên, chẳng
ai quan tâm đến vấn đề thời gian thực của bộ điều khiển mức nước trong bồn xả bồn cầu.
7


Thiết bị cho phép tự động bơm nước khi mực nước giảm và ngừng khi nước đạt mức cài
đặt, bằng cách sử dụng bóng phao.

Cũng với ý này, tác giả Oshana viết trong tài liệu DSP Software Development
Techniques for Embedded and Real-Time Systems, Newnes, 2006 như sau:
“Không chỉ phụ thuộc vào dạng thuật toán chạy trong DSP, môi trường mà ở đó
DSP hoạt động cũng là một vấn đề quan trọng. Hầu hết (không phải tất cả) ứng dụng trên
DSP yêu cầu tương tác với thế giới thực. Đó là thế giới của rất nhiều những đối tượng
luôn biến đổi: âm thanh, ánh sáng, nhiệt độ, chuyển động cơ học, … DSP giống như
những vi xử lý nhúng khác luôn phải phản ứng theo cách nào đó trong thế giới thực ấy.
Hệ thống như vậy được gọi là hệ đáp ứng (reactive system). Khi hệ thống có tính chất
đáp ứng (reactive), nó được sử dụng để phục vụ và điều khiển thế giới thực và không
ngạc nhiên là theo phương thức thời gian thực (real-time way). Quan niệm về thời gian sẽ
thay đổi đối với từng ứng dụng cụ thể khác nhau, nhưng nó là yếu tố cần thiết để hệ
thống bám theo những thay đổi của môi trường” .
Như vậy, đến đây, tuy chưa định nghĩa cụ thể về khái niệm thời gian thực, nhưng
chúng ta đã phác thảo được những đường nét đầu tiên của một hệ thời gian thực. Đó là
tính chất kịp thời, một tính chất quan trọng cho phép thế giới vi điều khiển, vi xử lý cùng
cơ chế hoạt động tuần tự, gián đoạn theo xung nhịp, có thể tương tác phù hợp với thế giới
thực. Thế giới của những biến đổi liên tục, không ngừng của các đại lượng vật lý.

8


Kịp thời có phải là nhanh nhất có thể hay không? Nó biểu hiện như thế nào? Chúng
ta sẽ từ từ bàn bạc sau.

Xin chào vi xử lý
Thông thường chương trình đầu tiên mà người lập trình viết trên vi xử lý, đó là
chương trình “Hello world!”. Như vậy, thì thế giới thực phải nói lại gì chứ nhỉ?


Oh, Hello Microprocessor! ^_^

Thế giới của chúng ta đã thay đổi rất nhiều từ khi chào đón bộ xử lý bán dẫn đầu tiên.
Thế giới của các vi xử lý là một thế giới hoàn toàn khác với chúng ta. Đối với thế giới
thực, khi chúng ta nhìn thấy một chú chim bay lượn trên bầu trời, chúng ta thấy ở đó tọa
độ của chú chim trong không gian, thời điểm mà chú chim xuất hiện. Sự thay đổi của tọa
độ và thời gian cho chúng ta thông tin về sự chuyển động của đối tượng. Còn các vi điều
khiển thì sao, khi chúng điều khiển máy bay nhào lộn trong không trung, chúng thấy gì?.
Chúng chỉ thấy sự thay đổi nhịp nhàng của các bit 0 -1 trong bộ nhớ theo xung nhịp
clock.

Để điều khiển xe máy, mắt chúng ta phải nhìn thấy đường, mông chúng ta phải
cảm nhận được quán tính của xe, lực đẩy của động cơ. Cũng như vậy để điều khiển máy
bay, bộ xử lý phải nắm được đặc tính của đối tượng mà chúng tác động tới, quán tính, tọa
độ của máy bay, tác động của không khí, lực đẩy của tuốc bin khí, năng lực của cánh lái
9


…. Đó đều là những đối tượng của thế giới thực, những thứ có thể biểu diễn bằng kg, N,
m, m/s, m/s^2, … Tuy nhiên, bộ xử lý vẫn không thể nhìn thấy gì ngoài những bit 0 – 1,
và xung clock. Đối với thế giới vi điều khiển, không có hình ảnh, âm thanh, nhiệt độ, …
không có không gian và thời gian.

Cánh cửa để đi từ thế giới thực vào thế giới vi xử lý chính là sensor và các bộ ADC.
Cánh cửa còn lại đi từ vi xử lý trở lại thế giới thực là các bộ biến đổi DAC (hoặc làm
chức năng DAC). Sensor, ADC, DAC, chính là đôi mắt, cái mông và cánh tay của vi xử
lý. Ở đó, có sự ngầm hiểu giữa đại lượng vật lý của thế giới thực và số liệu nhị phân
trong vi xử lý. Đại loại như: nếu quy chuẩn1kg là con số 500, thì 0.5 kg tương ứng với số
500/2 = 250 lưu trong bộ nhớ.


Được rồi! đó là các giá trị biên độ, thế còn thời gian?

Trong trường hợp các hệ thống điều khiển, số liệu sẽ trở nên vô nghĩa nếu nó không
đi kèm với thời gian. Bằng sensor và ADC, vi xử lý có thế biết được máy bay đang ở độ
cao 1km (hãy tạm cho là như thế) nhưng 1km đó là ở thời điểm nào, cách đây 1us, 1ms,
1s hay 1h. Thời gian là một tham số quan trọng tạo nên sự vận động, không có sự vận
động nào đứng ngoài sự thay đổi của thời gian. Đáp ứng vận động cho biết những đặc
tính bên trong đối tượng mà bộ điều khiển muốn biết để tác động. Và chúng ta đề cập đến
khía cạnh thứ hai của hệ thống đáp ứng thời gian thực: khả năng phản ánh một cách chính
xác sự vận động của đối tượng.

10


Hãy nói kỹ hơn một chút, với chương trình điều khiển lưu trong bộ nhớ, vi xử lý
không thể chỉ trích mẫu để lấy thông tin biên độ của tín hiệu, chúng còn phải thực hiện
nhiều thao tác khác như: thực hiện các phép toán của bộ điều khiển, đưa ra yêu cầu tới
khối chấp hành, … Và đương nhiên, vi xử lý thực hiện tất cả những công việc đó một
cách tuần tự theo từng câu lệnh, với nhịp điệu của nguồn xung clock. Tất cả những điều
đó tạo nên khoảng cách thời gian giữa các lần trích mẫu bằng ADC. Việc kiểm soát một
cách chặt chẽ và chính sác khoảng cách giữa các lần trích mẫu, có thể giúp vi xử lý trả lời
được câu hỏi về đối tượng: nó bằng bao nhiêu và vào thời điểm nào?. Khi và chỉ khi trả
lời được câu hỏi ấy, vi xử lý mới có khả năng cảm nhận được đặc tính vận động của đối
tượng vật lý. Một đặc tính chỉ biểu hiện thông qua quá trình biến đổi liên tục theo thời
gian. Điều đó tạo nên tính chất thứ 2 cần có của hệ thời gian thực: tính chính xác về mặt
thời gian. Tính chất mà về sau chúng ta biết, nó như một khía cạnh quan trọng trong hệ
thời gian thực – tính tiền định.
Như vậy thì tính chính xác về mặt thời gian cụ thể là như thế nào? Nó có phải là vi xử lý
luôn hoạt động đúng giờ hay không? Và hệ thống phải hoạt động ra sao để đáp ứng tính
chất ấy? chúng ta hãy từ từ xem xét nhé!
Sinh vật mẫu
Như vậy chúng ta đã phác họa một cách không rõ ràng lắm về hệ thời gian thực với 2 tính
chất quan trọng. Tính kịp thời và tính chính xác về mặt thời gian. Tất nhiên, chúng còn
11


một vài tính chất quan trọng nữa. Và, hệ thời gian thực cũng không chỉ dùng để đánh giá
các thiết bị điều khiển, xử lý tín hiệu bằng vi xử lý. Rộng hơn, nó còn dùng cho các hệ
thống sản xuất bao gồm nhiều khâu, nhiều công đoạn, nhiều thiết bị cùng tham gia hoạt
động, dưới sự giám sát hoặc điều khiển chung bởi một đơn vị trung tâm nào đó (các hệ
thống PLC, SCADA, DCS). Thời gian thực cũng là tiêu chí được dùng để dánh giá các
phương thức giao tiếp, truyền thông giữa những bộ phận trong hệ thống. Tuy nhiên, như
đã trình bày trước từ đầu, bài viết không đề cập đến những lĩnh vực ấy. Mục tiêu lớn nhất
của bài viết là cố gắng làm nổi bật được những khái niệm cơ bản của hệ thời gian thực
bằng ví dụ đơn giản nhất. Vì vậy, từ phần này về sau, bài viết sẽ chỉ tập trung vào cấu
trúc của một hệ thống điều khiển, xử lý tín hiệu số trên một đối tượng vật lý duy nhất để
làm hình mẫu. Và sẽ phân tích những khía cạnh của hệ thời gian thực xung quanh hình
mẫu ấy.

Tại sao lại là hệ điều khiển số? Bởi vì đó là hệ thống mà mối quan hệ giữa vi xử lý
với phần còn lại của thế giới thể hiện rất rõ rệt. Giống như các buổi phỏng vấn, quá trình
hỏi và đáp sẽ cho biết tính cách, năng lực của ứng viên. Thông qua cơ chế liên tục phản
hồi và tác động, các hệ điều khiển số sẽ cho thấy những yêu cầu nghiêm ngặt về thời gian
thực thi của vi xử lý, cũng như toàn bộ khối điều khiển. Và bất cứ sai sót nào đều có thể
ảnh hưởng trực tiếp tới độ ổn định, an toàn của hệ thống. Tóm lại, các hệ thống điều
khiển số là đối tượng đặc trưng cho những yêu cầu cần có của một hệ thời gian thực. Một
đối tượng mẫu tương đối phổ biến, dễ tiếp cận, phân tích để làm rõ những nội dung của
hệ thời gian thực. Tác giả Hoàng Minh Sơn có nói trong tài liệu được dẫn Hệ thời gian
thực và điều khiển thời gian thực như sau:
“Mỗi hệ thống điều khiển là một hệ thời gian thực

12


Có thể nói, tất các các hệ thống điều khiển là hệ thời gian thực. Ngược lại, một số 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.”

2. Phác thảo hệ thống

Thực và ảo, bên ngoài và bên trong
Cấu trúc điều khiển ở hình dưới là cấu trúc kinh điển của một hệ điều khiển phản
hồi, trong đó chương trình điều khiển được thực thi trên DSP dòng C2000 của TI.

Ta hãy nói qua một chút về cấu trúc điều khiển phản hồi trong thế giới thực (tức
bộ điều khiển tương tự được cấu thành từ các bộ khuếch đại thuật toán: mạch cộng/trừ,
mạch nhân, mạch tích phân …). Với cấu trúc này thì bộ điều khiển phản hồi có nhiệm vụ
liên tục so sánh kết quả đầu ra của thiết bị với lượng đặt mong muốn, từ chênh lệch đó
mà đưa ra tác động sao cho đáp ứng của đối tượng tiến dần tới giá trị yêu cầu, hay sai
lệch tiến tới 0. Quá trình điều khiển luôn luôn diễn ra, kể cả khi đối tượng đã đạt giá trị
đặt. Khi có bất cứ thay đổi nào của đối tượng (do biến động của tải, tác động của nhiễu
…) bộ điều khiển sẽ nhanh chóng phản ứng, đưa ra tác động để triệt tiêu những ảnh
hưởng đó.

13


Đối với hệ điều khiển tương tự, chu trình phản hồi – tác động diễn ra liên tục và
gần như đồng thời. Điều đó có nghĩa: bất cứ sự thay đổi nào của đối tượng sẽ – gần như –
ngay lập tức nhận được tác động của bộ điều khiển, sao cho đối tượng nhanh chóng tiến
đến trạng thái ổn định và đáp ứng yêu cầu. Giống như ta soi gương vậy, bất cứ cử động
nào bên ngoài cũng được phản ánh tức thời bằng ảnh trong gương. Tuy nhiên, vấn đề sẽ
khác khi bộ điều khiển được thực thi trên vi xử lý. Như đã bàn luận, với cơ chế xử lý tuần
tự theo các xung clock, vi điều khiển sẽ tạo ra độ trễ nhất định trong quá trình cập nhật
thông tin (trích mẫu) đối tượng, cũng như đưa ra quyết định điều khiển. Thời gian trễ này
là để vi xử lý giao tiếp với các khối vào ra, đọc và thực hiện tính toán theo chương trình
đã cài dặt từ trước trong bộ nhớ.

14


\

Như vậy với hệ thống điều khiển số, sẽ có hai quá trình diễn ra song song, phụ
thuộc qua lại lẫn nhau. Quá trình thứ nhất là quá trình bên ngoài bộ điều khiển: thể hiện
qua sự vận động liên tục, không ngừng của đối tượng thực, theo những quy luật vật lý và
tác động của môi trường. Quá trình thứ hai là quá trình bên trong bộ điều khiển, thể hiện
qua chu trình: trích mẫu – tính toán – tác động trở lại đối tượng thực của vi điều
khiển, không ngừng được xử lý và lặp lại. Trong đó, chu trình bên trong lấy thông tin của
chu trình bên ngoài, thực hiện tính toán và tác động ngược trở lại chu trình bên ngoài để
15


nó vận động theo quỹ đạo mà người thiết kế mong muốn. Sự ảnh hưởng của chu trình bên
trong với chu trình bên ngoài không chỉ thể hiện qua cường độ, hướng tác động mà còn
phụ thuộc cả vào thời gian đáp ứng. Một điều dễ thấy là ta không thể tác động tới đối
tượng khi nó đã đi tới một trạng thái khác hẳn với những thông tin đầu vào mà ta thu
được, do trễ tính toán của hệ thống. Ví dụ như ta không thể điều khiển nhiệt độ của
buồng đốt khi nó đã quá nhiệt và bị hư hỏng. Và giống như việc một bức ảnh số được cấu
thành từ rất nhiều các điểm ảnh nhỏ, các điểm ảnh phải đủ nhỏ để ‘đánh lừa’ mắt người,
làm cho chúng ta có cảm giác nhìn thấy một bức tranh chân thực. Tính thời gian thực
cũng vậy, nó quy định thời gian phải hoàn thành của chu trình bên trong hệ thống. Nó
phải đủ nhỏ để ‘đánh lừa’ đối tượng vật lý bên ngoài hệ thống ấy. Ở đây chúng ta đề cập
cụ thể hơn đến tính chất kịp thời của hệ thời gian thực, biểu hiện trong hệ điều khiển số.
Tức thời gian quy định thời điểm phải hoàn thành một chu trình trích mẫu – tính toán –
tác động của vi điều khiển. Thời gian đó phải tương đối nhỏ so với thời gian quán tính
của đối tượng.

Giới hạn cho một chu trình
Thật ra, không chỉ trong thế giới của vi điều khiển, ta có thể bắt gặp tính chất kịp
thời này ngay trong cuộc sống thường ngày của chúng ta. Ví dụ như một cuộc đối thoại
giữa 2 người chẳng hạn. Theo một khía cạnh nào đó, hoạt động của hệ thống điều khiển
cũng giống như một cuộc nói chuyện giữa vi điều khiển và đối tượng bị điều khiển. Và
cũng theo một khía cạnh nào đó, bộ não của chúng ta cũng hoạt động tương tự như một vi
16


xử lý (theo ý nghĩa: ta chỉ có thể tư duy được 1 vấn đề tại một thời điểm). Khi cuộc đối
thoại diễn ra, chúng ta thấy ngay ở đó, quá trình tương tác không ngừng giữa người hỏi
và người trả lời. Khi bạn hỏi xong, gần như ngay lập tức ta sẽ trả lời. Điều đó giống như
chu trình bên ngoài. Tuy nhiên còn một chu trình nữa, diễn ra bên trong bộ não. Khi bạn
đang nói, ta lắng nghe. Trong lúc đó, bộ não không ngừng hoạt động theo chu trình: phân
tích âm thanh (thu thập thông tin trong sóng âm và giải mã cơ chế mã hóa bởi ngôn ngữ),
xử lý tính toán (phán đoán ý đồ người hỏi, xục xạo thông tin trong bộ nhớ, so sánh với ý
đồ của ta, đưa ra phương thức diễn đạt (nói thật, nói dối hay nói vòng vo …)), và dẩy
thông tin ra ngoài thông qua thanh quản, miệng và cử chỉ khác. Đây là chu trình bên
trong. Chu trình này diễn ra rất nhanh so với chu trình bên ngoài, khiến cho người hỏi có
cảm giác câu trả lời đến gần như tức thời khi câu hỏi vừa kết thúc. Trong ví dụ này, chúng
ta thấy tính chất kịp thời của một hệ thời gian thực, nó quy định thời gian tư duy của bộ
não, từ khi nhận được câu hỏi cho tới khi đưa ra câu trả lời. Thời gian này phải tương đối
nhỏ so với quán tính của đối tượng – tức sự kiên nhẫn của người hỏi. Ví dụ như, có
những người cần câu trả lời phải rất nhanh (nhân viên trong các buổi đấu giá), còn người
khác thì có thể chậm hơn (cảnh sát trong buổi hỏi cung chẳng hạn). Tính thời gian thực
quy định giới hạn cho thời gian hoàn thành chu trình bên trong, tức thời hạn đưa ra câu
trả lời. Nếu giới hạn này bị phá vỡ, tính thời gian thực sẽ không được đảm bảo. Trong các
buổi đấu giá, nếu ta trả lời muộn, người khác sẽ mua mất đồ mà chúng ta thích. Trong
buổi hỏi cung, nếu đưa ra câu trả lời quá muộn, chúng ta sẽ bị đánh giá không hợp tác, và
sẽ không nhận được sự khoan hồng của pháp luật.

17


Tính kịp thời
Như vậy, đến đây chúng ta đã đề cập chi tiết hơn tính chất kịp thời của hệ thời gian
thực, cụ thể là trong ứng dụng của hệ thống điều khiển số. Ở đó, nó quy định giới hạn
thời gian(deadline) phải hoàn thành chu trình bên trong của vi xử lý, chu trình: trích mẫu
– tính toán – tác động. Trong nhiều tài liệu, khái niệm thời gian thực gần như đồng hành
với cụm từ deadline. Ví dụ trong tài liệu DSP Software Development Techniques for
Embedded and Real-Time Systems, Newnes ,tác giả Oshana viết:
“Một chức năng của hệ thống (phần cứng, phần mềm, hoặc kết hợp cả hai) được coi là
thời gian thực cứng, khi và chỉ khi chúng có một giới hạn thời gian cứng (hard
deadline) cho việc hoàn thành những hành động hoặc tác vụ ấy. Giới hạn này (this
deadline) cần phải được đảm bảo, nếu không tác vụ sẽ thất bại” Khái niệm deadline đối
với mỗi ứng dụng sẽ có những đặc điểm khác nhau, ví dụ như thời gian đáp ứng với một
kích thích ngẫu nhiên và tức thời như công tắc, phím ấn … trong điều kiện nào đó chẳng
hạn. Tuy nhiên, với các hệ thống điều khiển, kích thích là một tín hiệu biến đổi liên tục,
và chúng ta nói đến deadline như giới hạn thời gian cho một chu trình (hay còn gọi là một
phiên) tính toán của vi xử lý cho bài toán điều khiển, xử lý tín hiệu.

18


Tính chính xác
Tuy nhiên giới hạn thời gian này bằng bao nhiêu? Có phải nhanh nhất có thể hay
không? Ta quay trở lại câu hỏi khi mới đề cập tới tính chất kịp thời của hệ thời gian thực.
Sau khi bàn luận, chúng ta có một chút manh mối về câu trả lời. Không phải nhanh một
cách chung chung, tuyệt đối, mà phải nhanh hơn ít nhất thời gian quan tính của đối tượng
bị điều khiển và cũng phải đủ nhanh để phản ứng chính xác với đặc tính vận động của đối
tượng. Hay như một cách nói bóng bẩy: đủ nhanh để đánh lừa đối tượng. Vậy cụ thể hơn
là bao nhiêu?

Như những gì mà ta đã bàn luận về tính chính xác của vi xử lý trong ứng dụng
điều khiển số. Để tác động một cách phù hợp tới đối tượng, bộ điều khiển – trước hết –
phải có khả năng phản ánh một cách chính xác đặc tính vận động của đối tượng. Năng
lực quan sát thế giới thực thể hiện qua khâu trích mẫu và tại khối ADC của bộ điều khiển.
Hiện nay, một tín hiệu tương tự có thể được biểu diễn một cách chính xác trong miền
gián đoạn, nếu như nó được trích mẫu theo một chu kỳ xác định, cách đều (gọi là chu kỳ
trích mẫu), đáp ứng định lý Shannon. Định lý này phát biểu:
“Một hàm F(t) với dải thông Wb có thể được xác định là duy nhất, khi tập số liệu
bởi các mẫu gián đoạn được trích mẫu với tần số lớn hơn 2Wb”
Tần số 2Wb được gọi là tần số Nyquist, và được coi như giới hạn cho tốc độ trích
mẫu mà mỗi hệ thống gián đoạn phải đạt được. Nếu trích mẫu với tốc độ thấp hơn, hệ
gián đoạn sẽ phản ánh sai tính chất của tín hiệu. Khi đó, dữ liệu trích mẫu được các khối
xử lý tính toán hiểu, sẽ biểu diễn cho một tín hiệu có tần số thấp hơn tín hiệu thực. Hiện
tượng này được gọi là hiện tượng aliasing như ở hình dưới.

19


Như trên hình là hiện tượng phản ánh sai thế giới thực khi vi xử lý trích mẫu với
tốc độ quá thấp. Ta quan sát hình 7, nếu coi đơn vị trục thời gian là giây, thì tín hiệu thực
(Original Signal) có chu kỳ khoảng 0.2 (s). Tín hiệu này được trích mẫu với chu kỳ cũng
xấp xỉ 0.2 (s), (nhỏ hơn tốc độ Nyquist). Khi hệ thống xử lý số, gián đoạn thực hiện thao
tác với dữ liệu trích mẫu trên, chúng sẽ hiểu tín hiệu đọc về có tần số 1 (s), như trên hình
là tín hiệu Alias.

Trong

bài

viết

‘Practical

Considerations

of

ADC

Circuits’

trên

trang allaboutcircuits.com, đã minh họa rất cụ thể ảnh hưởng của tần số trích mẫu tới khả
20


năng phản ánh đặc tính của đối tượng thực, từ mức độ phản ánh tương đối chính xác, đến
mất mát một vài thông tin và cuối cùng là phản ánh sai đặc tính của tín hiệu. Các bạn có
thể đọc bài viết để tìm hiểu thêm.
Về nguyên tắc, tần số trích mẫu càng cao thì khả năng phản ánh đối tượng thực của
hệ vi xử lý càng chính xác, khả năng tác động của bộ điều khiển càng được nâng cao. Tuy
nhiên, với đặc điểm xử lý tuần tự, gián đoạn và tốc độ thực thi có hạn, hệ vi xử có giới
hạn năng lực riêng của chúng. Vậy, trích mâu với tốc độ bao nhiêu là hợp lý nhất. Một
quy tắc kinh nghiệm được tác giả Roland S Burns chỉ ra trong tài liệu Advanced Control
Engineering “Rất hiếm có hệ thống nào trong thực tế hoạt động gần với giới hạn tần số
Nyquist. Một quy tắc kinh nghiệm hữu ích là ta hãy trích mẫu tín hiệu với tần số cao gấp
10 lần thành phần tần số cao nhất trong tín hiệu, mà ta muốn thao tác”

Những nhận định
Như vậy đến đây chúng ta đã phác thảo xong hình dáng của hệ đáp ứng thời gian thực đặt
ra cho một ứng dụng điều khiển số. Biểu hiện của nó thể hiện ở hai khía cạnh:
-> Tính kịp thời: Quy định giới hạn thời gian hoàn thành một chu trình ‘trích mẫu –
tính toán – tác động’ không ngừng được lặp lại. Nó phải đủ nhỏ để quyết định điều
khiển đáp ứng chính xác với trạng thái hiện thời của đối tượng. Giới hạn thời gian
này không được vi phạm trong bất cứ hoàn cảnh nào.
-> Tính chính xác: Quy định quá trình lặp lại một chu trình ‘trích mẫu – tác động’,
quá trình này phải được lặp lại trong một khoảng thời gian cách đều gọi là chu kỳ
trích mẫu. Chu kỳ trích mẫu phải phải – ít nhất – nhỏ hơn chu kỳ Nyquist của tín
hiệu được trích mẫu.
Khái quát lại, tính thời gian thực quy định cơ chế hoạt động của bộ điều khiển trong ứng
dụng điều khiển số. Chương trình điều khiển phải được kích hoạt tại những khoảng thời
gian cách đều. Khoảng thời gian này phải nhỏ đến mức gần như tức thời so với quán tính
của đối tượng hay đặc tính của tín hiệu mà ta muốn điều khiển. Thời gian thực hiện tính
toán bộ điều khiển phải bảo đảm hoàn thành trước khi có tín hiệu kích hoạt tiếp theo. Cơ

21


chế này, được thực hiện nhờ bộ timer và ngắt timer trong vi xử lý. Như mình họa ở hình
dưới:

Theo quan điểm này, tác giả Oshana có viết trong tài liệu DSP Software
Development Techniques for Embedded and Real-Time Systems, Newnesnhư sau:
“… Có 2 khía cạnh về thời gian thực. Khía cạnh thứ nhất là quan điểm rằng: với
mỗi chu kỳ trích mẫu, một nhóm dữ liệu đầu vào phải được cập nhật và một nhóm dữ liệu
đầu ra phải được gửi đi. Khía cạnh thứ 2 là quan điểm về trễ. Độ trễ ở đây là thời gian trễ
từ khi có tín hiệu đi vào hệ thống cho đến lúc có tín hiệu đi ra khỏi hệ thống đó, nó phải
được đảm bảo gần như tức thì.
Hãy luôn ghi nhớ điều này khi đề cập đến hệ thời gian thực, rằng: đưa ra quá muộn đáp
án đúng thì cũng là kết quả sai. ”
22


Như vậy đến đây, chúng ta có thể trả lời được những câu hỏi đặt ra từ phần 1:
Tính kịp thời của hệ thời gian thực không có nghĩa là nhanh nhất có thể, nó là một tiêu
chuẩn có tính chất tương đối, phụ thuộc vào đối tượng mà hệ thống tương tác với. Đối
với hệ thống điều khiển số, chúng phải đủ nhanh để hoàn thành toàn bộ chu trình tính
toán trong một khung thời gian của chu kỳ trích mẫu. Chu kỳ trích mẫu này phải nhanh
hơn ít nhất 2 lần tấn số của tín hiệu mà ta muốn thao tác, mà theo quy tắc kinh nghiệm thì
nên gấp từ 10 lần trở lên.
Tính chính xác của hệ thời gian thực không có nghĩa là vi xử lý hoạt động đúng giờ như
một cái đồng hồ. Mà là: hệ phải thực hiện trích mẫu chính xác tại những khoảng thời gian
cách đều để đảm bảo khả năng phản ánh đúng đắn đặc tính động học của tín hiệu. Cơ chế
này được đảm bảo khi chương trình là một hàm phục vụ ngắt định thời của bộ đếm trong
vi xử lý. Với chu kỳ đếm được cài đặt bằng chu kỳ trích mẫu (như trên hình 10). Đồng
thời người thiết kế phải đảm bảo, hàm phục vụ ngắt này phải hoàn thành trước khi có
ngắt tiếp theo.
Những tính chất ấy thể hiện đặc tính tiền định của một hệ thời gian thực. Tức tính chất
cho biết trước: chức năng của hệ thống sẽ được thực thi tại thời điểm nào và giới hạn
trong bao lâu. Điều đó đòi hỏi người thiết kế phải lựa chọn vi xử lý phù hợp với ứng
dụng (về năng lực xử lý, tính toán, các khối phần cứng hỗ trợ …), xác định rõ trình tự
thực thi các hàm trong chương trình, và kiểm tra thời gian đáp ứng trong quá trình thử
nghiệm.
3. Phân loại hệ thời gian thực

Hệ thời gian thực được chia thành hai loại, hệ thời gian thực cứng (Hardware
real time system) và hệ thời gian thực mềm (Sofware real time system). Hình 1.2 dưới
đây minh họa cho sự khác biệt giữa hai loại hệ thống đó.

23


Trong đó: hạn định (deadline) là khoảng thời gian hay thời điểm mà tại đó các tác vụ
thực hiện yêu cầu cần được hoàn thành.
3.1. Hệ thời gian thực cứng

Trong một số hệ thống được quan tâm đặc biệt đến các hậu quả do sự vi phạm
giới hạn về thời gian cho phép. Những hậu quả này có thể rất tồi tệ. Nó mang lại
những thiệt hại nặng nề về vật chất, và có thể gây ra những ảnh hưởng to lớn đến sinh
mạng con người. Một ví dụ cho loại hệ thống này như việc ra lệnh dừng tàu đã không
được thực hiện đúng lúc để tàu đi băng qua ga sẽ là nguyên nhân dẫn đến một tai nạn
thảm khốc, hay việc điều khiển ném bom xảy quá chậm có thể nổ vào dân thường
thay vì nổ đúng mục tiêu của một căn cứ quân sự đối phương. Chính vì vậy, người ta
đưa ra định nghĩa về hệ thời gian thực cứng như sau:
Một hệ thời gian thực cứng là một hệ thống mà hoạt động không đúng đắn của
nó sẽ để lại hậu quả nghiêm trọng. Do đó hệ thời gian thực cứng buộc phải đưa ra các
kết quả chính xác trong khoảng thời gian nhất định đã cho.
Ví dụ: Một đoàn tàu điều khiển tự động không thể dừng lại ngay lập tức. Khi
có tín hiệu dứng, hành động phanh lại của nó phải được kích hoạt từ một khoảng cách
xác định trên đường ray từ cổng tín hiệu đến vị trí nó phải dừng. Khoảng cách phanh
này phụ thuộc không chỉ vào tốc độ của con tàu mà còn vào hệ số an toàn của bộ
phanh giảm tốc độ. Từ tốc độ và sự giảm tốc độ an toàn của tàu, bộ điều khiển có thể
tính toán ra thời gian bắt buộc tàu cần hãm phanh và cường độ phanh yêu cầu trước
điểm cần dừng bao xa. Thời gian giới hạn bắt buộc này chính là thời gian sự cưỡng
bức để hoàn thành các công việc như là quan sát, xử lý tín hiệu dừng và kích hoạt
24


phanh. Vì vậy, sự cưỡng bức thời gian này phải là cứng mới đảm bảo sự dừng đúng vị
trí của con tàu.
3.2. Hệ thời gian thực mềm

Ngược lại với hệ thời gian thực cứng là hệ thời gian thực mềm. Kết quả đưa ra
của một hệ thống cho phép một sai số nhất định cả về giá trị và thời gian so với
khoảng thời gian dự kiến. Tuy nhiên, nếu sự sai lệch này không được đảm bảo nó
cũng không gây ra điều gì nghiêm trọng. Đối với hệ thời gian thực mềm, thời gian
đáp ứng của hệ thống với yếu tố kích thích cũng quan trọng. Tuy nhiên, trong trường
hợp này thời gian đáp ứng của hệ thống có thể vượt quá giới hạn trễ cho phép, hệ
thống vẫn hoạt động bình thường, không quan tâm đến các tác hại do sự vi phạm này
gây ra (thường thì các tác hại này là không đáng kể). Trong trường hợp này, người ta
gọi là hệ thống có ràng buộc định thời gian mềm. Vì vậy người ta định nghĩa hệ thời
gian thực mềm như sau: Một hệ thời gian thực mềm là một hệ thống mà trong đó các
hoạt động của nó được phép hoàn thành trong một sai số cho phép mà không gây hậu
quả nghiêm trọng, tức là sự đáp ứng của hệ thời gian thực mềm có thể vượt ra ngoài
một giới hạn cho phép mà vẫn có thể chấp nhận được. Ví dụ về hệ thống này bao gồm
những hệ thống thực hiện tương tác trực tuyến, những bộ chuyển mạch điện thoại,
hay các trò chơi (game) điện tử.
Trong các tài liệu về hệ thời gian thực, sự phân biệt giữ khoảng thời gian bắt
buộc cứng hay mềm thường tùy theo trạng thái định lượng trong những giới hạn
mang lại kết quả hữu dụng. Tuy nhiên, trong thực tế, sự phân chia này nhiều khi
không cần thiết. Vì vậy, sự phân chia này chỉ có tính tương đối.
II. ỨNG DỤNG CỦA HỆ THỐNG THỜI GIAN THỰC.

Giải pháp quản lý tài sản & quản lý kho theo thời gian thực (Real time location System)

Công nghệ nhận dạng tiên tiến hiện nay đã cho phép các nhà quản lý có thể quản lý tối ưu
hơn nữa những tài sản, công cụ hay kể cả con người. Bằng việc áp dụng công nghệ RFID
đã giúp hiện thực hóa những ý tưởng đó mà tưởng chừng không thể thực hiện được. Giờ
đây, các tài sản có giá trị cao, những đối tượng cần giám sát theo dõi đặc biệt đều có thể
25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×