a. í tưởng
í tưởng v sề ỏch lược ưu tiờn lai là nhằm kh c ph c nh ng mắ ụ ữ ặ ạt h n ch cế ủa sỏch lược
ưu tiờn tĩnh như đó được phõn tớch trong M c 2.2.1 (d), t c là mụ ứ ức ưu tiờn của cỏc nỳt m ng (ho c lu ng d ạ ặ ồ ữ liệu) cú th ể thay đổi đượ ỉc t lệ thu n v i s khậ ớ ự ẩn c p truyấ ền tin. S ự
kh n c p truyẩ ấ ền tin càng cao thỡ ưu tiờn càng lớn và ngượ ạc l i. C ụthể đố: i v i giao thớ ức MAC trong m ng CAN, giỏ tr ạ ị trường ID s ẽ thay đổ ỉi t l ngh ch v i s ệ ị ớ ự khẩn c p truyấ ền tin. Vớ d : mụ ột m ng truyạ ền thụng g m cú ba nỳt mồ ạng A, B và C như đó phõn tớch trong
M c 2.2.1 (a)ụ , nhưng ởđõy mức độ ưu tiờn của cỏc nỳt mạng thay đổi trong t ng chu k ừ ỳ
ph thu c vào s ụ ộ ựkhẩn c p truy n tin cấ ề ủa thụng điệp. Gi thi t mả ế ức độ ưu tiờn của cỏc nỳt m ng lạ ần lượt như sau: tại chu k ỳthứ nh t ấ Prio A Prio B Prio C , sang chu k ỳthứ hai
Prio A PrioC Prio B và trong chu k ỳthứ ba PrioB Prio C Prio A . Ba nỳt mạng này cựng mu n truy nhố ập đường truyền vào đầu mỗi chu k (t c là t i cỏc thỳ ứ ạ ời điểm
, 0,1,2, . .).
k
t k v v Thứ ự t truy nhập đường truyền c a cỏc nỳt mủ ạng được minh họa trong Hỡnh 2.3. A B C t t1 h h t2 A B C A B C
Prio A > Prio B > Prio C
t0
Prio A > Prio C > Prio B Prio B > Prio C > Prio A
h
Hỡnh 2.3. Th t truy nhứ ự ập trường truy n c a cỏc nỳt m ng s dề ủ ạ ử ụng sỏch lược ưu tiờn lai. b. Cấu trỳc trường ID
Trường ID trong ưu tiờn lai cần đảm b o hai yờu c u: mả ầ ột là thay đổi được t l ỷ ệ
37
hai hay nhi u nỳt m ng cú cựng giỏ trề ạ ịtrường ID. Vỡ vậy, ưu tiờn lai được th hi n thụng ể ệ
qua việc chia trường ID (n bit) thành hai l p nh ớ ỏ như trờn Hỡnh 2.4 [22] .
Lớp 1
Lớp 2
MSB LSB
(n-m) bit
m bit
Hỡnh 2.4. Cấu trỳc của trường ID s dử ụng sỏch lược ưu tiờn lai.
trong đú ớ: l p 2 (gồm m bit cú ch s cao nh t) th hi n tớnh kh n c p truy tin cỉ ố ấ ể ệ ẩ ấ ền ủa
thụng điệp và được g i là lọ ớp ưu tiờn động (ký hi u là ệ Prio dyn_ ); giỏ trị (hệ thập phõn) c a lủ ớp 2 vỡ v y cú th ậ ể thay đổi trong quỏ trỡnh h ệ thống làm vi c và cỏc lu ng d u cú ệ ồ ữliệ
thể cú cựng giỏ tr ị ưu tiờn động. L p 1 (g m (ớ ồ n m) bit) là một ưu tiờn cố đị nh và duy nhất, được xỏc định trước khi h thệ ống làm vi c, lệ ớp ưu tiờn này được g i là lọ ớp ưu tiờn tĩnh (ký hiệu là Prio sta_ ), tớnh duy nh t c a lấ ủ ớp 1 đảm b o khụng cú hai hay nhi u nỳt ả ề m ng cú cựng giỏ trạ ịtrường ID. Thu t ng ậ ữ “ưu tiờn lai” là sự ế ợ k t h p giữa ưu tiờn động và
ưu tiờn tĩnh.
í tưởng v viề ệc phõn chia trường ID đó được gi i thiớ ệu trong l p lậ ịch lưu thụng hỗn hợp (Mixed Traffic Scheduler, MTS), đú là sự ế ợ k t h p gi a thu t toỏn EDF ữ ậ (ưu tiờn động) và thu t toỏn FP ậ (ưu tiờn tĩnh) [36] [37], . Sau đú mộ ốt s nghiờn cứu khỏc cũng sử ụ d ng cấu
trỳc trường ID tương tự [22] [40]. ,
Quỏ trỡnh phõn x truy nhử ập đường truyền được th c hiự ện trước tiờn b ng vi c so ằ ệ
sỏnh giỏ trị l p 2 ớ (Prio dyn_ ) trước. Khi cú nhiều thụng điệp cú cựng giỏ trị Prio dyn_ thỡ vi c so sỏnh giỏ trệ ị lớp 1 (Prio sta_ ) s ẽ xỏc định m t lu ng d u duy nhộ ồ ữliệ ất được phộp truy nhập đường truyề , đú chớnh là nguyờn tắn c làm vi c cệ ủa sỏch lược ưu tiờn lai.
M t chỳ ý quan trộ ọng liờn quan đế ớp ưu tiờn tĩnh đú là: ớn l v i (n m) bit, chỳng ta cú th ể xỏc định được 2n mluồng d li u. S ữ ệ ố ợng này ớt hơn rấlư t nhi u so v i ề ớ 2n ng d luồ ữ
liệu cú th ể xỏc định được n u khụng s dế ử ụng ưu tiờn lai. Vỡ vậy, vi c phõn chia s bit cho ệ ố
lớp 1 và lớp 2 trong ưu tiờn lai cần được lưu ý để đả m bảo s ố lượng lu ng d ồ ữ liệu trong NCS yờu c u. Giỏ tr c a lầ ị ủ ớp ưu tiờn tĩnh được cấu hỡnh trước khi h ệthống đi vào làm việc.
Ngược lại giỏ tr c a lị ủ ớp ưu tiờn động được tớnh toỏn b i b ở ộ điều khi n. ể c. Đặc trưng củ ựa s kh n c p truy n tin ẩ ấ ề
Như đó trỡnh bày ở trờn, giỏ trị lớp ưu tiờn động (lớp 2) t l thu n v i s ỉ ệ ậ ớ ự khẩn c p ấ
truyền tin. Vấn đề đặt ra là làm sao định lượng được giỏ tr ị này để ừ đú tớnh toỏn đượ t c mức ưu tiờn động. Đặc trưng của s kh n c p truyự ẩ ấ ền tin được th hi n thụng qua cỏc tham ể ệ
s ố điều khi n ể cơ bản g m sai l ch ồ ệ e và tớn hiệu điều khi n ể u. M t s nghiờn c u ộ ố ứ chỉ s ử
d ng tham s ụ ố điều khi n là sai l ch ể ệ e [30] [40], [48] [50]. Cỏc nghiờn c u khỏc thỡ s , , ứ chỉ ử
38
động là d a vào m t hàm s c a cỏc tham s ự ộ ố ủ ố điều khi n trờn, cỏc tỏc gi ể ả khỏc nhau đề xu t ấ
s d ng cỏc hàm s khỏc nhau, cú thử ụ ố ể là hàm tuy n tớnh ho c phi tuy ế ặ ến.
Đố ới v i cỏc nghiờn c u s d ng tham s ứ ử ụ ốđiều khi n là sai l ch ể ệ e như trờn, thỡ trường
ID được s dử ụng là trường ID m r ng (gở ộ ồm 29 bit, trong đú 16 bit cho lớp ưu tiờn động và 10 bit (ho c 11 bit) cho lặ ớp ưu tiờn tĩnh) và mó húa trực tiếp giỏ tr sai lị ệch này thành giỏ trịtrường ID c a lủ ớp ưu tiờn động. Vi c mó húa này cú hệ ạn ch là khi giỏ tr c sai ế ị ủa lệch vượt quỏ giỏ trị cú th mó húa cể ủa trường ID thỡ khụng th ể mó húa được. Vỡ v y c n ậ ầ
ph i cú cỏc gi i hả ớ ạn để cú th ể mó húa đượ ấ ảc t t c cỏc sai lệch cú th cú trong h ể ệthống, h n ạ
chế này cỏc tỏc gi ả chưa đề ập đế c n trong bài bỏo. H n ch thạ ế ứ hai c a cỏc nghiờn c u này ủ ứ
là s d ng m t b ử ụ ộ ộ điều khiển trung tõm để phõn x truy nhử ập đường truyền thay vỡ s d ng ử ụ
cỏc b u khi n phõn tỏn. ộ điề ể
Ngượ ạc l i, cỏc nghiờn c u s d ng tham s ứ ử ụ ố điều khi n là tớn hiể ệu điều khi n ể u như trờn, thỡ trường ID được s dử ụng là trường ID tiờu chu n (gẩ ồm 11 bit, trong đú 7 bit cho
lớp ưu tiờn động và 4 bit cho lớp ưu tiờn tĩnh). Cỏc tỏc giả đó khắc ph c h n ch vụ ạ ế ề giới hạn mó húa đối với cỏc nghiờn c u s d ng tham s ứ ử ụ ố điều khi n là sai lể ệch e trờn b ng ở ằ cỏch định ra gi i h n giỏ tr l n nh t c a tớn hiớ ạ ị ớ ấ ủ ệu điều khi n ể u cú th mó húa (g i là giỏ tr ể ọ ị
bóo hũa us). Tuy nhiờn, h n ch c a cỏc nghiờn c u này là vi c ch s d ng 4 bit cho lạ ế ủ ứ ệ ỉ ử ụ ớp
ưu tiờn tĩnh, do đú chỉ cú th ể mó húa đượ ối đa 16 luồc t ng d li u. ữ ệ
T nh ng h n ch trong cỏc nghiờn c u ừ ữ ạ ế ứ đó nờu ở trờn, Chương này đề xu t n i dung ấ ộ
nghiờn cứu như sau: đề xu t s d ng vấ ử ụ ới NCS phõn tỏn (t c là khụng cú b t kứ ấ ỳ một nỳt trạm chủ nào); xu t s d ng đề ấ ử ụ sỏch lược ưu tiờn lai với trường ID mở ộ r ng g m 29 bit, ồ trong đú 11 bit cho lớp ưu tiờn động, 11 bit cho lớp ưu tiờn tĩnh, 7 bit cũn lại khụng s ử
dụng; phõn tớch, so sỏnh vi c s dệ ử ụng ưu tiờn lai thụng qua cả hai tham s ố điều khiển cơ
b n là sai lả ệch e và tớn hiệu điều khiển u; giỏ tr c a mị ủ ức ưu tiờn động vỡ v y ậ cũng được tớnh toỏn thụng qua cỏc hàm s cố ủa e và u.
d. Tớnh toỏn lớp ưu tiờn động
Tớnh toỏn lớp ưu tiờn động (Prio dyn_ ) được th c hi n b i b ự ệ ở ộ điều khi n thụng qua ể
hàm s ố như trờn Hỡnh 2.5 và trong cụng th c (2.1) và (2.2). ứ Prio_dyn 0 emax e f(e) Prio_dynmax 0 umax u f(u) Prio_dynmax Prio_dyn Hỡnh 2.5. Đồ thị ể ệ th hi n m i quan h gi a e, u và Prio_dyn. ố ệ ữ
39 max max max max max _ , 0 , ( ) _ , , e Prio dyn e e e f e Prio dyn e e (2.1) max max max max max _ , 0 , ( ) _ , , u Prio dyn u u u f u Prio dyn u u (2.2)
trong đú, emax và umax là giỏ tr lị ớn nh t c a ấ ủ e và u khi phõn tớch ng dứ ụng điều khi n trong miể ền th i gian r i r c t i thờ ờ ạ ạ ời điểm đầu tiờn, n u giỏ trế ị của e và u lớn hơn giỏ
trị lớn nh t c a chỳng thỡ mấ ủ ức ưu tiờn động luụn đạt giỏ trị lớn nh t ấ (Prio dyn_ max).
e. Mó húa mức ưu tiờn vào trường ID
G i giỏ tr c a lọ ị ủ ớp 1 là ID sta_ và giỏ tr c a lị ủ ớp 2 là ID dyn_ . Giỏ trị ID sta_
được cài đặt trước khi hệ thống làm vi c, cũn giỏ trệ ị ID dyn_ được mó húa l i t mạ ừ ức ưu tiờn động sau m i chu kỗ ỳ.
Lớp ưu tiờn động g m 11 bit cho phộp bi u di n 2ồ ể ễ 11 = 2048 mức ưu tiờn từ 0 đến 2047. Mức ưu tiờn động nh nh t là ỏ ấ Prio dyn_ min 0 ng vứ ới trường ID dyn_ g m 11 bit ồ
l n (bit 1), mặ ức ưu tiờn động l n nh t là ớ ấ Prio dyn_ max 2047 ng vứ ới trường ID dyn_ g m 11 bit trồ ội (bit 0). Phương trỡnh mối quan h giệ ữa giỏ tr (hị ệ thập phõn) c a ủ ID dyn_ và mức ưu tiờn động như sau:
_ 2047 _ .
ID dyn Prio dyn (2.3)
f. Thực thi sỏch lược ưu tiờn lai
Sơ đồ thực thi sỏch lược ưu tiờn lai trờn mạng CAN được th hiể ện như trờn Hỡnh 2.6. ho cặ Prio_dynk ho c ặ Prio_dynmax Tr ng IDườ uk Prio_dynk Prio_stafca Tr ng ườ d li uữ ệ Đố ượi t ng điều khi nể Phõn x u ử ư tiờn thụng điệp xk uk r Tớnh toỏn tớn hiệu điều khi nể xk Tớn hi u ệ đầu ra Tớnh toỏn u tiờn ư động thụng qua hàm f(u), f(e) ZOH B c m bi nộ ả ế B ộ điều khi nể Tớn hiệu điều khi nể M ng CANạ D/A A/D L y m u bi n tr ng ấ ẫ ế ạ thỏi x Bi n tr ng thỏiế ạ Ưu tiờn đ ngộ uk uk xk Prio_dynk Prio_dynk Prio_dynk-1 Tr ng IDườ xk Prio_stafsc Tr ng ườ d li uữ ệ fca fsc C c u ơ ấ ch p hànhấ
Hỡnh 2.6. Sơ đồ thực thi sỏch lược ưu tiờn lai.
Quỏ trỡnh thực thi sỏch lược ưu tiờn lai như sau:
T i thạ ời điểm tk, b c m bi n l y m u bi n tr ng thỏi ộ ả ế ấ ẫ ế ạ xk và nh n giỏ trậ ịưu tiờn động g i t b ử ừ ộ điều khi n chu k ể ở ỳ trước đú (thời điểm tk 1), sau đú bộ ả c m
40
bi n s d ng mế ử ụ ức ưu tiờn động này (Prio dyn_ k 1) gđể ửi thụng điệp chứa xk
đến b ộ điều khi n thụng qua mể ạng CAN.
B ộ điều khi n sau khi nh n tớn hi u ể ậ ệ xk t b c m bi n s ừ ộ ả ế ẽthực hi n tớnh toỏn tớn ệ
hiệu điều khi n ể uk và tớnh toỏn mức ưu tiờn động Prio dyn_ k và gửi thụng điệp chứa nh ng tớn hiữ ệu này lờn mạng CAN. Sau , đú cơ cấu ch p hành s nhấ ẽ ận giỏ trị uk và ỏp d ụng vào đối tượng điều khi n, cũn bể ộ ả c m bi n s nh n ế ẽ ậ
_ k
Prio dyn s d ng trong chu k sau (thđể ử ụ ỳ ời điểm tk 1). V mề ức ưu tiờn động mà bộ điề u khi n sể ử ụng để ửi thụng điệ d g p, cú 2 gi i phỏp: mả ột là sử ụ d ng giỏ trị Prio dyn_ k vừa tớnh xong [20] [22] [23]; hai là luụn s d ng m, , ử ụ ức ưu tiờn động lớn nhất Prio dyn_ max [48] [50] [62] [63]. So v i gi i phỏp , , , ớ ả thứ nhất thỡ giải phỏp thứ hai m b o rđả ả ằng thụng điệp c a b ủ ộ điều khiển được g i ngay lử ập t c sau khi nhứ ận đượ ừ ộ ảc t b c m bi n (gi thiế ả ết b qua ỏ thời gian tớnh toỏn c a b ủ ộ điều khi nể ). Do đú, trễ thời gian trong gi i phỏp thả ứ hai s nh ẽ ỏ hơn so với trong giải phỏp thứ nh t (Hỡnh 2.2 (b)). ấ
Trong Luận ỏn này, s dử ụng giải phỏp mà b ộ điều khi n luụn cú mể ức ưu tiờn động l n nhớ ất. Chỳ ý: t i thạ ời điểm l y mấ ẫu đầu tiờn (t0 0) b c m biộ ả ến chưa cú ưu tiờn động
để ử ụng, do đú trong ậ s d Lu n ỏn này đề xu t b c m bi n luụn ấ ộ ả ế cú ưu tiờn động l n nh t tớ ấ ại thời điểm l y mấ ẫu đầu tiờn.
g. Ưu điểm
Ưu điểm c a ủ sỏch lược ưu tiờn lai đú là tớnh “ ềm m d o c a mẻ ” ủ ức ưu tiờn, do đú đỏp ứng được nh ng yờu c u nghiờm ng t v ữ ầ ặ ềthời gian trong cỏc h thệ ống điều khi n th i gian ể ờ
thực nh m nõng cao QoS và QoC. ằ h. Nhược điểm
- S dử ụng sỏch lược ưu tiờn lai cú thể sẽ làm cho tr thễ ời gian trong cỏc ng d ng ứ ụ điều khi n quỏ trỡnh tr thành bể ở ất định, gõy ra khú khăn khi thực hi n bự tr , dệ ễ o đú đũi hỏi c n cú nh ng b ầ ữ ộ điều khi n linh ho t ể ạ hơn để thớch nghi (Adaptive) v i tr ớ ễ thời gian bất
định, t c là cỏc tham s c a b ứ ố ủ ộ điều khi n cú th ể ể thay đổi được ph thu c vào tr ụ ộ ễthời gian trong quỏ trỡnh h ệthống làm vi c (Cệ hương 3 sẽ trỡnh bày chi ti t v n i dung này). ế ề ộ
- Đềxuấ ử ụng mó ID 29 bit (CAN 2B) làm cho khung thụng điệ ớn hơn so vớt s d p l i vi c s d ng mó ID 11 bit (CAN 2A). ệ ử ụ
2.3. Cỏc vấn đề thực thi ng dứ ụng điều khi n quỏ trỡnh trờn mể ạng
truy n thụng ề
41
Sơ đồ thực thi ng dứ ụng điều khi n quỏ trỡnh qua mể ạng CAN được th hiể ện như trờn
Hỡnh 2.7 .
Bộ điều khiển uk D/A ZOH u(t) Đối tượng điều khiển
Bộ cảm biến A/D r C2 C3 C1 h y(t) Cơ cấu chấp hành Mạng CAN fca fsc uk yk yk
Hỡnh 2.7. Sơ đồ thực thi ng dứ ụng điều khi n quỏ trỡnh qua m ng truy n thụng. ể ạ ề Mỏy tớnh điều khi n Cể 1 làm nhi m v thu th p d ệ ụ ậ ữ liệu ở đầ u vào, mỏy tớnh này bao g m tỏc v c a b c m bi n và b chuyồ ụ ủ ộ ả ế ộ ển đổi tớn hi u t dệ ừ ạng tương tự sang d ng s ạ ố (A/D). Mỏy tớnh điều khi n Cể 2 làm nhi m v ệ ụ điều khi n, mỏy tớnh này bao g m cỏc tỏc v ể ồ ụ
c a b ủ ộ điều khi n và giỏ trể ị tham chiếu đầu vào r. Mỏy tớnh điều khi n Cể 3 đúng vai trũ là cơ cấu ch p hành, mỏy tớnh này bao g m b chuyấ ồ ộ ển đổi tớn hi u t d ng s sang d ng ệ ừ ạ ố ạ tương tự (D/A) và khõu gi b c khụng (ZOH). Khõu ZOH là khõu chuy n tớn hi u r i rữ ậ ể ệ ờ ạc theo th i gian thành tớn hi u liờn t c theo th i gian, cỏc giỏ tr l y mờ ệ ụ ờ ị ấ ẫu được gi nguyờn ữ
cho t i thớ ời điểm l y m u m i (cũn g i là x p x theo kiấ ẫ ớ ọ ấ ỉ ểu hỡnh ch nh t). ữ ậ
Luồng d li u t Cữ ệ ừ 1 n Cđế 2 thụng qua m ng CAN là ạ fsc (t c là, lu ng d ứ ồ ữ liệu t b ừ ộ
c m biả ến đến b ộ điều khi n), lu ng d ể ồ ữliệu t Cừ 2 n Cđế 3 thụng qua m ng CAN là ạ fca (tức là, lu ng d u t b ồ ữliệ ừ ộ điều khiển đến cơ cấu ch p hành). Tỏc v c a lu ng d u ấ ụ ủ ồ ữliệ fsc là