Hệ thống nhúng và ứng dụng

  • Số trang: 77 |
  • Loại file: PDF |
  • Lượt xem: 28 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

Đ Ạ I H Ọ C Q U Ố C K H O A G IA C Ô N G H À N Ộ I N G H Ệ N G U YỄN V Ă N TRƯ Ờ NG HỆ TH ỐNG NHÚNG VÀ ÚNG DỤNG • » C H U Y Ê N N G À N H : C Ô N G N G H Ệ T H Ô N G T IN M Ã S Ố : 1 .0 1 .1 0 LUẬN VÃN TH Ạ C s ĩ NGƯỜI HƯỚNG DẪN K H O A HỌC: TSKH PH ẠM TR ÂN NHƯ 1 MỤC LỤC Lri cảm ưn L)i cam đ o an IVục lụ c .......................................................................................................................1 D inh m ục các ký hiệu, các chữ viết tắt ............................................................3 D ỉnh m ục các h ình vẽ.............................................................................................4 Mở đ ầ u ........................................................................................................................ 5 C ìư ưng 1 T ổng q u a n về hệ thống n h ú n g ........................................................ 7 1.1. Giới thiệu về hệ thống n h ú n g ......................................................................7 1.2. Phần mềm n h ú n g ..........................................................................................11 1.3. Một số tính chất của phần mềm nhúng .................................................. 12 1.3.1. Tính đúng đắn về thời gian ............................................................... 12 1.3.2. Tính tương tr a n h .................................................................................. 12 1.3.3. Tính sống .............................................................................................. 13 1.3.4. Giao d i ệ n ............................................................................................... 13 1.3.5. Tính hỗn tạp........................................................................................... 13 1.3.6. Tính phản ứng.................................................................................... 14 1.4. Tinh hình và triển vọng của phát triển hệ thống nhúng........................14 C iưưng 2 T ín h toán khoảng lặp và ứng d ụ n g .............................................. 19 2.1. Mô hình lai g h é p ..................................................................................... 20 2.2. Tính toán khoảng lặp...............................................................................20 2.2.1. Các khái niệm của Tính toán khoảng............................................. 20 2.2.2. Phép chứng minh ............................................................................ 24 2.2.2.1. Các tiên đề và các luật của Logic khoảng .........................24 22.2.2. Các tiên đề và các luật của DC .............................................. 25 2.2.2.3. Các tiên đề của DC* ............................................................... 25 2.2.3. Các công thức simple DC* .............................................................26 2.3. Các bước thiết kế sử dụng Tính toán khoảng lặp.................................27 2.4. Tiếp xúc liên tục - rời rạc trong mô hình lai ghép............................ 28 2.5. Các luật kiểm chứng và làm t in h ..........................................................34 2.6. Phân tích và thiết kế hệ thống điều khiển thang m áy ........................ 37 I 2 2.6.1. Mô tả vấn đ ề .......................................................................................37 2.6.2. Hình thức hoá yêu cầu của hệ thống............................................. 39 2.6.3. Thiết kế liên tục.................................................................................. 41 2.6.4. Thiết kế rời rạc....................................................................................43 2.7. Kết luận chương 2 ......................................................................................45 Chương 3 Đồ thị p h ầ n m ề m ............................................................................. 46 3.1. s - graph.........................................................................................................46 3.2. Sử dụng s - graph trong điều khiển và tính toán dữ liệu ..................50 3.3. Khởi tạo s - graph........................................................................................52 3.4. Kết luận chương 3 ...................................................................................... 54 Kết luận .................................................................................................................... 55 Tài liệu th a m k h ả o ..................................................................................................57 Phụ lụ c........................................................................................................................60 Phụ lục A ................................................................................................................ 60 Phụ lục B.................................................................................................................60 Phụ lục c .................................................................................................................63 Phu luc D ................................................................................................................. 71 3 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Chữ viết tắt, Ý nghía Ký hiệu HTN DC Hệ th ố n g n h ú n g D uration C alculus DC* D uration C alculus with Iteration đ.v.t.g Đơn vị thời gian R Tập số thực o Toán tử eveltualỉy (Oạ> = truế^(Ọ ^ true) □ Toán tử always ( d ọ = - , 0 - 1 (p) Toán tử chop -1 NOT A AND V OR => Lượng từ kéo theo V Lượng từ với mọi 3 Lượng từ tồn tại h Ví dụ: A b B, có nghĩa là B suy diễn được từ A 1= Ví dụ: A 1= B, có nghĩa B là đồng nhất đúng với giả thiết là A <=> A Tương đương logic Đồng nhất bằng (sử dụng trong các công thức logic) Ký hiệu được dùng trong các công thức logic khoảng để chỉ true khoảng thời gian mà tại đó ta không quan tâm tới trạng thái đang xét có xuất hiện hay không. T True F False [A/B]ạ> Một công thức đạt được từ công thức (Ọ bằng cách thay công thức B xuất hiện trong (Ọ bởi công thức A 4 DANH MỤC CAC HINH VÊ Hìrh 2.1: Mô hình của một hệ thống điều khiển..............................................28 Hìrh 2.2: Trạng thái s rời rạc đối với p và liên tục đối với p ’ Trạng thái r liên tục đối với cả p và P' ........................................ 29 Hìrh 2.3: Trạng thái 5 là ổ- stable..................................................................30 Hình 2.4: Trạng thái r ỏ - control trạng thái s ...............................................31 Hình 2.5: Trạng thái r ổ - observe trạng thái í ............................................. 32 Hình 2.6: Trạng thái r là mẫu của trạng thái í ..............................................32 Hình 2.7: Trạng thái 5 thay đổi quá nhanh nên không quan sát được trong thời gian rời rạc...........................................................................33 Hình 3.1: Một s - graph đơn giản.........................................................................48 5 MỞ ĐẦU Hệ thống nhúng (HTN), hay thực chất là “hệ thống có nhúng phần mềm” (software embedded system), bao gồm những thành phần điện tử của các hệ thống vật lý nằm trong các phương tiện giao thông, nhà máy hoá chất, hệ thống truyền thông,... Các hệ thống này có nhiệm vụ giám sát các nhân tố trong môi trường vật lý (nhiệt độ, áp suất, các hợp chất hoá học,...), quản lý hoạt động điều khiển và tối ưu hoá hiệu suất hệ thống,... Trong công nghệ thông tin, khoa học về HTN là một lĩnh vực nghiên ;ứu khá mới và được ứng dụng trong nhiều lĩnh vực, từ những ứng dụng đòi lỏi độ an toàn cao như các thiết bị tự động trong ngành hàng không, ngành ỉường sắt, ngành y tế, cho đến các thiết bị thông minh trong truyền thông, ‘thế giới di động” (mobile world), “thế giới điện tử” (e-world),... Ngày nay, có lơn 98% các bộ xử lý đang được sử dụng dưới dạng HTN, và chúng “ẩn” với Ìgười dùng. Các HTN đang được nghiên cứu và phát triển gắn với những hành tựu dựa trên các bộ xử lý (processor), cảm biến (sensor), thực hiện actuator), các thiết bị và cơ sở hạ tầng truyền thông,... Những nghiên cứu này tã góp phần đáng kể trong việc thúc đẩy xã hội phát triển nói chung cũng như Ìgàiìh Công nghệ Thông tin nói riêng. Tuy nhiên, các nghiên cứu liên quan tới HTN đang phải đối mặt với hữr.g thách thức như: sự tương tác theo ngôn ngữ tự nhiên; khả năng thích ghi động của các ứng dụng với môi trường và người dùng; truyền thông tự ộng, không dây; ứng dụng thời gian thực với ràng buộc chặt chẽ về thời gian; nh hỗn tạp của hệ thống,... Trên thế giới và đặc biệt là ở Châu Âu, công nghệ (cả phần cứng và hần mềm) về HTN đã phát triển rất mạnh, thậm chí một số tài liệu cho rằng ó đă đạt tới mức hoàn thiện về công nghiệp. 6 Việc nghiên cứu HTN ở nước ta cũng đã được quan tâm, nhưng kết quả thu được còn hạn chế. Luận văn “Hệ thống nhúng và ứng dụng ■ ” định hướng vào việc xây dựng cơ sở phương pháp luận của việc nghiên cứu và triển khai các HTN. Nội dung chính của luận văn bao gồm 3 chương và phần phụ lục. Chương 1. Trình bày tổng quan về HTN: các khái niệm, phần mềm ihúng, tình hình và triển vọng phát triển THN ở trong và ngoài nước,... Chương 2. Trình bày về tính toán khoảng lặp và thử nghiệm của tác giả rong ứng dụng Tính toán khoảng lặp vào việc thiết kế một ứng dụng nhúng cụ hể là hệ thống điều khiển thang máy. Chương 3. Trình bày kỹ thuật thể hiện hàm /ánh xạ từ input ra output lựa trên một cấu trúc dữ liệu đặc biệt là đồ thị phần m ềm (s-graph) dùng trong ổng hợp phần mềm các ứng dụng điều khiển nhúng. Đ óng góp của tác giả về ;hởi tạo s-graph cũng được trình bày trong chương này với kết quả nêu trong )hụ lục. Phần phụ lục chứng minh tính đúng đắn của thiết kế hệ thống điều hiển thang máy, chứng minh một định lý được sử dụng trong quá trình thiết :ế ứng dụng nhúng, và cài đặt một thuật toán liên quan đến đồ thị phần mềm. Công trình nghiên cứu liên quan đến luận văn được trình bày trong các 'áo cáo [4] và [23], 7 C H Ư Ơ N G 1 TỔNG QUAN VỂ HỆ T H ố N G NHÚNG 1 .1 . G iớ i t h iệ u v ề h ệ th ô n g n h ú n g Nhúng là việc tạo ra một bộ phận để tích hợp vào trong một tổng thể (to make (something) an integral part of a whole - Longman Dictionary). Có nhiều thuật ngữ liên quan đến khái niệm “nhúng” như: HTN (embedded system), điều khiển nhúng (embedded controller), vi xử lý nhúng (embedded microprocessor), phần mềm nhúng (embedded software), ngôn ngữ nhúng (embedded language),... ([16], [19]). Hiện nay, có nhiều hệ thống đòi hỏi phải tương tác trực tiếp với các sự kiện từ thế giới thực, thông qua các thiết bị như: processor (bộ xử lý), sensor (bộ cảm biến), actuator (cơ cấu chấp hành), detector (thiết bị phát hiện), switch (bộ chuyển mạch), interrupt (ngắt),... Trong những hệ thống đó, người ta sử dụng các thiết bị có cài đặt phần mềm cùng với cách ứng xử phù hợp để có thể dễ dàng thay đổi theo điều kiện môi trường. Các thiết bị đó là một hay một số máy tính, hoặc thiết bị giống máy tính có vai trò thực hiện những công việc đặc thù. Chúng được nhúng trong các hộ thống khác. Những hệ thống này không nhất thiết là máy tính và thường được gọi là HTN, hay còn gọi là “hệ thống lai”, mà thực chất là “hệ thống có nhúng phần mềm’'’ ([29], [31]). Do có mối tương tác với nhau như vậy nên việc phát triển HTN thường gắn với thành tựu nghiên cứu về processor, sensor, actuator, detector, switch, các thiết bị và cơ sở hạ tầng truyền thông,... 8 Một số thiết bị được nhúng đôi khi đơn giản hơn nhiều so với máy tính. Thiết bị đơn giản nhất chỉ bao gồm một bộ vi xử lý hay còn gọi là “chip”, và được ghép cùng với các bộ vi xử lý khác trong hệ thống hỗn tạp. Dữ liệu vào của hệ thống được lấy thông qua detector hay sensor và dữ liệu ra được gửi tới switch hay actuator nhằm thực hiện thao tác nào đó, chẳng hạn như: bắt đầu hay kết thúc một quá trình, điều chỉnh van trong thiết bị điều khiển luồng chảy chất lỏng,... Tùy theo độ phức tạp của HTN m à nó có thể được dùng cho chỉ một hay một tập hợp các mục đích nào đó. Trong nhiều trường hợp, một bộ vi xử lý được thiết k ế ra nhằm tích hợp phần mềm ứng dụng dùng cho mục đích đặc thù và được coi như phần sụn (firmware) của hệ thống. Một số HTN được yêu cầu phải có phản ứng chính xác về mặt thời gian và yếu tố này đóng vai trò quyết định đến thành công của chúng. Các hệ thống này được gọi là HTN thời gian thực (embedded real-time system), hay hệ thống thời gian thực ( [ 1 2 ], [26]). Ngày nay, có hơn 98% các bộ xử lý đang được sử dụng dưới dạng HTN, và chúng “ẩn” với người dùng. Tuy nhiên, trong các hộ thống lớn, “tính nhúng” lại thể hiện khá rõ. Các HTN được dùng trong nhiều lĩnh vực với các mục đích khác nhau: từ những ứng dụng đòi hỏi độ an toàn cao như các thiết bị tự động trong ngành hàng không, ngành đường sắt, ngành y tế, cho đến các thiết bị thông minh trong truyền thông, “thế giới di động” (mobile world), “ thế giới điện tử” (eworlcl), máy thông minh,... Những hệ thống này có tác động đến nhiều mặt cùa đời sống xã hội như: sự an toàn, tính riêng tư, và cả phong cách sống, phong cách làm việc của mọi người. HTN có các đặc trưng chính như: • Được thiết kế cho ứng dụng đặc thù. • Liên quan nhiều đến xử lý tín hiệu số. 9 • Tương tác theo thời gian thực (có thể ở dạng đóng hay mở). • Phân tán và hỗn tạp: có thể gồm một hay nhiều bộ xử lý, có thể điều khiển nhiều thiết bị phân tán về mặt vật lý với nhiều liên kết truyền thông đồng thời. • Sử dụng mô hình toán học của hệ thống vật lý trong xử lý thông tin. • Quản lý hoạt động điểu khiển và tối ưu hoá hiệu suất hệ thống ([12], [3 2 ]). Tuy nhiên có ba yêu cầu chính cho HTN: • Yêu cầu về hoạt động: thu nhận dữ liệu (ví dụ như qua sensor), điều khiển (qua actuator), tương tác người máy. • Yêu cầu về thời gian: hạn thời gian, độ trễ tối thiểu,... • Yêu cầu về độ tin cậy: hệ thống không đổ vỡ, an toàn, bảo mật ([19]). Thành công của HTN đã góp phần đáng kể trong việc thúc đẩy xã hội phát triển nói chung và ngành Công nghệ Thông tin nói riêng. Tuy nhiên, các nghiên cứu trong lĩnh vực này đang phải đối mặt với những đòi hỏi mới như: • Khả năng nhận biết về ngữ cảnh trong môi trường hỗn tạp: đó là sự nhận biết, định vị, tương tác với con người và các đối tượng theo cách thức không phụ thuộc không gian. • Tính thông minh: tích hợp môi trường số hoá vào trong đối tượng và con người di động, khả năng học và tương tác độc lập để hướng tới tạo ra những dịch vụ mới hấp dẫn. • Tương tác tự nhiên: phối hợp các yếu tố ngôn ngữ, dáng điệu, cử chỉ,... của con người. 10 • Cá nhân hoá: thích nghi động, định hướng người dùng trong điều kiện thay đổi. • Độ tin cậy: khả năng đáp ứng theo thời gian về các mặt như an toàn, bảo mật, tính sẩn sàng, khả năng bảo trì, tính mạnh mẽ,... • Thực hiện trong điều kiện nguồn tài nguyên hạn chế: tốc độ xử lý, bộ nhớ, giao diện, khả năng quản lý,... hạn chế (hay có chất lượng thấp). • Truyền thông không dây, di động. • Những ứng dụng thời gian thực chặt chẽ: tự động hoá, thiết bị y tế, xe lửa, hàng không,... Những thách thức này chủ yếu do độ phức tạp của các HTN. Điều này cũng chính là những động lực để các nhà khoa học nghiên cứu và phát triển HTN. Một số ứng dụng cơ bản của HTN có thể tìm thấy trong: Điều khiển quá trình gia công và chế tạo (nhà máy sản xuất, nhà máy điện, hệ thống dẫn điện,...); Công nghiệp xây dựng (thiết bị khảo sát và định vị, nhà máy xây dựng,...); Giao thông (hệ thống đèn giao thông, ô tô, tàu hoả,...); Thiết bị nhà ở (hệ thống giám sát điện sinh hoạt, hệ thống chống sét,...); Dịch vụ gia đình (hệ thống cung cấp thực phẩm, làm vệ sinh,...); Truyền thông (hệ thống điện thoại, thiết bị định vị toàn cầu,...); Tài chính, ngân hàng và thương mại (hệ thống hướng dẫn tự động bằng tiếng nói, hệ thống tín dụng thẻ, thiết bị bán hàng,...); Hỗ trợ trong giám sát và chẩn đoán (máy khử rung tim, máy giám sát cuộc đua, hệ thống giám sát người bệnh, máy đo năng lượng,...); Thiết bị văn phòng. Một thành phần rất quan trọng góp phần tạo ra sự thành công của HTN c h í n h là phần mềm được sử dụng trong các ứng dụng hay còn gọi là phần mềm nhúng. Phần trình bày dưới đây sẽ giải thích tại sao phần mềm nhúng 11 không đơn thuần chỉ là một phần mềm trong các máy tính thông thường ( [ 1 1 ]). 1 .2 . P h ầ n m ề m n h ú n g Khác với bản chất các thao tác tính toán trong khoa học máy tính là thực hiện ánh xạ từ tập dữ liệu vào tới tập dữ liệu ra, phần mềm nhúng thực hiện vai trò cơ bản là tương tác với thế giới thực. Phần mềm nhúng hoạt động trên các thiết bị không nhất thiết là máy tính, chẳng hạn: ô tô, máy bay, thang máy, hệ thống kiểm soát khí hậu, điện thoại, robot, đồ chơi, ti vi, máy in, máy quét, hệ thống bảo vệ, vũ khí,... Một phần mềm có vai trò tương tác với thế giới thực thì tất yếu phải có một số tính chất quan trọng của thế giới thực như: hoạt động theo thời gian thực, việc dừng hoạt động của nó phải được kiểm soát (trừ khi bị lỗi),... Do đó, trong khoa học máy tính, người ta đã từng cho rằng phần mềm nhúng là “sự hỗn độn”. Vì vậy, việc thiết kế phần mềm nhúng đã không thực sự tận dụng được những ưu thế phát triển của ngành khoa học máy tính ở thế kỷ 20. Các kỹ sư thường viết mã máy trực tiếp cho các bộ xử lý tín hiệu số, mà không dùng ngay các hệ thống đa hình thái (polymorphic - type system), mô hình hướng đối tượng có sẵn,... Các kỹ sư viết phần mềm nhúng thường không phải là những nhà khoa học máy tính. Họ là những chuyên gia trong các lĩnh vực ứng dụng khác nhau và có hiểu biết sâu sắc về kiến trúc vật lý của hệ thống cần làm. Do vậy, khó khăn của nhà khoa học máy tính là làm thế nào để đưa ra các mức trừu tượng hoá tốt hơn và thân thiện hơn với các chuyên gia này. Hiện nay, vì đa số phần mềm của các nhà khoa học máy tính đưa ra đều kém phù hợp với yêu cầu của HTN, nên các chuyên gia lĩnh vực cũng không hoàn toàn tin tưởng và ít cần tới sự giúp đỡ của nhà khoa học máy tính. Nhưng chính các chuyên gia lĩnh vực lại phải đối mặt với khó khăn là độ phức tạp 12 trong các ứng dụng (kéo theo kích cỡ chương trình) của họ tăng lên rất nhanh. Thiết bị của họ thường được kết nối qua mạng, với những bộ xử lý tín hiệu số có khả năng lập trình, các ứng dụng với mã nguồn di trú. Vì vậy, các chuẩn phần mềm nhúng đưa ra cần gắn với tính chất vật lý của ứng dụng nhúng và phương thức được sử dụng cho phần mềm nói chung phải có tính tương thích cao với phần mềm nhúng. 1 .3 . M ộ t số t ín h c h ấ t c ủ a p h ầ n m ề m n h ú n g Phần trình bày dưới đây sẽ cho thấy phần mềm nhúng không đơn thuần chỉ là phần mềm trên các máy tính thông thường. Các yếu tố như tính đúng đắn về mặt thời gian, tương tranh, tính sống, phản ứng, sự hỗn tạp,... phải được quan tâm để đảm bảo cho tính đúng đắn của chương trình. 1.3.1. T ín h đ ú n g đ án về thời gian Các tính toán thuần tuý thường không gắn với yếu tố thời gian. Quan niệm này tồn tại khá lâu và gần đây người ta thấy rằng cần phải có nhận thức lại khi rất nhiều vấn để trong thế giới thực được mô phỏng và thực hiện trên máy tính liên quan đến thời gian. Nhiều kỹ thuật đã được đưa ra làm tăng hiệu suất của các bộ vi xử lý hiện đại đổng thời cũng góp phần đảm bảo độ tin cậy của HTN. Tuy nhiên, để nhà thiết kế HTN sử dụng những bộ vi xử lý nhúng (bộ vi xử lý có cơ chế tăng hiệu suất của chúng) thì nhà thiết kế và xây dựng phần mềm cần phải đưa ra cơ chế kiểm soát thời gian trong các chương trình của mình. 1.3.2. T ín h tương tr a n h Phần mềm nhúng thường không tương tác với một thành phần vật lý duy nhất mà phản ứng liên tục với những kích thích từ môi trường mạng, từ sensor, và đồng thời điều khiển actuator. Đó chính là tính tương tranh của phần mềm nhúng. 13 Phần mềm nhúng luôn gắn với thế giới vật lý, gắn với nhiều sự kiện xảy ra đổng thời. Dung hoà tính tuần tự của phần mềm và tính tương tranh của thế giới thực là một thách thức của HTN. Lựa chọn hợp lý cho phần mềm nhúng là sử dụng ngôn ngữ đồng bộ hoá và có tính phản ứng, ví dụ Esterel, kết hợp với hệ điều hành thời gian thực để xây dựng các ứng dụng thời gian thực đòi hỏi tính an toàn cao. 1.3.3. T ính sống Tính sống trong HTN là một yếu tố rất quan trọng. Các chương trình không được dừng (trừ khi bị lỗi) và hạn chế đón nhận những sự kiện không bao giò xảy ra. Sự chấm dứt các chương trình ngoài dự kiến sẽ làm đổ vỡ hệ thông, vì vậy chúng nhất thiết cần được loại bỏ. Sự thành công của phần mềm nhúng không đơn giản chỉ là đạt được kết quả cuối cùng, mà nó còn phải làm thoả tất cả yêu cầu trong các giai đoạn trung gian. 1.3.4. G iao diện Phần lớn các công nghệ được đưa ra dựa trên giao diện là thủ tục. Tuy nhiên, sử dụng thủ tục trong nhiều HTN lại kém phù hợp. Chẳng hạn, thao tác mã hoá tiếng nói giống với một tiến trình hơn là một thủ tục, bởi vì nó phải tính toán liên tục để chuyển hoá dòng dữ liệu vào thành dòng dữ liệu ra, và các dòng dữ liệu đó hoàn toàn không có giới hạn biên. Để cho phần mềm nhúng có thể phát huy tối đa hiệu quả thì điều cần thiết là phải xây dựng giao diện hướng đối tượng với các tính chất động trong định nghĩa giao diện của nó. 1.3.5. T ín h hỗn tạp Tính hỗn tạp là một phần bản chất của HTN. HTN là sự kết hợp giữa thiết kế phần cứng và phần mềm, trong đó có nhiều kiểu tính toán cùng với 14 nhiều công nghệ khác nhau. Phần mềm nhúng được thiết kế để tương tác động liên tục với phần cứng trong HTN. Trong HTN cũng có nhiều phương pháp điều khiển sự kiện hỗn tạp khác nhau. Chúng tương tác với nhiều loại sự kiện, bao gồm sự kiện xuất hiện không theo quy luật như: lời cảnh báo, câu lệnh của người dùng, kích hoạt sensor,... và các sự kiện xuất hiện có quy luật như: tín hiệu điều khiển actuator, dữ liệu được lấy từ sensor,... 1.3.6. T ính phản ứng Một số HTN phải phản ứng lại với môi trường một cách liên tục theo tốc độ của môi trường, những hệ thống này còn được gọi là hệ thống phản ứng (reactive system). Chúng thực sự đối lập với hệ thống tương tác (interactive System), bởi hệ thống tương tác phản ứng lại với môi trường với tốc độ riêng của chúng, và cũng khác với hệ thống chuyển hoá (transíormatioal system), vì nhiệm vụ của hệ thống này chỉ đơn thuần là biến đổi dữ liệu vào thành dữ liệu ra. Các hệ thống phản ứng bị ràng buộc về mặt thời gian, tính bảo mật, tính an toàn và không được dừng (trừ khi bị lỗi). Các hệ thống phản ứng được tổ chức trên mạng phải có khả năng thích nghi với các yếu tố trong môi trường luôn thay đổi như: yêu cầu phục vụ và tài nguyên tính toán thay đổi, sensor xuất hiện hay biến mất,... 1 .4 . T ì n h h ìn h v à t r i ể n v ọ n g c ủ a p h á t t r iể n H T N Ớ Việt Nam, việc nghiên cứu phát triển HTN trên công nghệ PC/104 đã mang lại nhiều kết quả ([1]). Công nghệ PC/104 có các chức năng tương thích như các máy tính nên tận dụng được thế mạnh về phần cứng và phần mềm của máy tính, nhưng được thiết kế với cấu trúc cơ khí cực kỳ bền chắc, gọn nhẹ và đặc biệt là tốn ít năng lượng. Công nghệ này đã được nghiên cứu tại Viện 15 Công nghệ Thông tin từ năm 1996 và đến nay đã được dùng vào việc thiết kế và ch ế tạo nhiều bộ phận điều khiển với các kỹ thuật xử lý tính toán phức tạp theo đơn đặt hàng của một số đơn vị trong quân đội. Khả năng phát triển các thiết bị đo và điều khiển thông minh trên công nghệ này rất nhiều hứa hẹn, do nó có nhiều modul xử lý tín hiệu cảm biến hình ảnh, âm thanh, xử lý song song,... Dưới đây liệt kê một số sản phẩm phần mềm được phát triển tại phòng Công nghệ Tự động hoá - Viện Công nghệ Thông tin và đã được đưa vào áp dụng trong thực tế trong mấy năm gần đây ([3]): • Phần m ềm nhúng: Chương trình công cụ ICS, thư viện phần m ềm của các thiết bị điều khiển nhúng IC-LIB. • Các ứng dụng: Thiết bị điều khiển đa năng hoạt động trong môi trường công nghiệp và di động IC-MC1, máy vi tính nhúng cho các thiết bị đo và điều khiển EPC, thiết bị điều khiển nhúng có giao diện với người vận hành IC-MC2, ứng dụng công nghệ điều khiển nhúng PC/104 vào xây dựng một số thiết bị và hệ thống cho quốc phòng. • Các hệ dựa trên công nghệ PC BASED CONTROL: Chương trình đo và điều khiển thời gian thực PROCON/PROCOW IN, chương trình đo và điều khiển trên mạng GPIB IEEE-488 và Bitlink, hệ thống đo tự động đặc trưng diot lade bán dẫn chạy trên mạng GPIB IEEE-488,... • Hệ thống tự động mở cổng và quản lý nhân sự dùng thẻ không tiếp xúc GAC 2.0, chương trình kiểm soát thời gian tuần tra với thiết bị “De Prox”, hệ phát triển điều khiển Rôbốt trên cơ sở Camera VISCON,... Hiện nay, chúng ta đang còn thiếu chuyên gia và tài liệu về lĩnh vực HTN, bởi vì chúng ta chưa chú trọng lắm tới việc nghiên cứu và đào tạo các chuyên gia về lĩnh vực HTN nói chung cũng như về lĩnh vực hệ thống điều khiển thời gian thực nói riêng. 16 Trên thế giới và đặc biệt là ở Châu Âu, công nghệ (cả phần cứng và phần mềm) về HTN đã phát triển rất mạnh, thậm chí một số tài liệu cho rằng nó đã đạt tới mức hoàn thiện về công nghiệp. Nhiều nước ở Châu Âu đã sớm nhận ra tầm quan trọng của HTN. Nhiều nhóm, trung tâm nghiên cứu về HTN đã ra đời với những đầu tư rất lớn về vật chất và sức người ([29]). Đầu những năm 1980, một trong số nhiều ứng dụng nổi tiếng đầu tiên là hệ thống FBW (Fly-By-Wire System) dùng cho máy bay quân sự, và máy bay chiến đấu EFA (European Fighter Aircraft) đã được phát triển với sự hợp tác giữa các nước Anh, Đức, Italia và Tây Ba Nha ([21]). Từ 1985, có nhiểu dự án nghiên cứu xây dựng và phát triển HTN thời gian thực ở Châu Âu ra đời. Nhiều công cụ xây dựng HTN được tích hợp là kết quả hợp tác của nhiều quốc gia như: Pháp, Anh, Đức,... Các công cụ hỗ trợ cho quá trình phân tích, mô tả, mô hình hoá, quản lý,... cho phép phát triển những dự án đa quốc gia với nhiều thành phần hỗn tạp, phân tán ([2 1 ]). Nhiều ngôn ngữ lập trình thời gian thực ra đời: Ada, Hal/s, Pearl, PL/1, Euclid... Từ 1999, đã xuất hiện xu hướng chuẩn hoá phần mềm nhúng, nghiên cứu và phát triển các bộ vi xử lý nhúng cùng nhiều thiết bị ngoại vi chuyên dụng để đảm bảo tiêu chuẩn tích hợp cao nhất cho thiết kế HTN ([19]). Từ cuối năm 2002, trên thế giới xuất hiện xu hướng kết hợp giữa kỹ thuật hình thức với cách tiếp cận định hướng đối tượng nhằm xây dựng những công cụ phát triển HTN ([16]). Hướng phát triển chủ yếu của Châu Âu trong các năm 2003 - 2004 là triển khai thế hệ mới về công nghệ và công cụ cho mô hình hoá, thiết kế, cài đặt và triển khai các hệ thống phần cứng/phần mềm nhúng trong các thiết bị thông minh. Viễn cảnh của họ là mong muốn tạo ra những hệ thống hoàn 17 chỉnh với giá cả hợp lý, tối ưu về hiệu suất, có độ an toàn cao và được triển khai nhanh để đưa ra thị trường trong thời gian ngắn nhất ([31]). Nội dung tập trung vào những khía cạnh chủ yếu sau: • Xây dựng các middleware (lớp trung gian) và các platform để kết nối mạng các HTN, nhằm đạt mục tiêu cung cấp, phân phối các tài nguyên với chi phí rẻ, đồng thời “ẩn đi” toàn bộ sự phức tạp của những thao tác tính toán, điều khiển và truyền thông mức thấp. Hiện nay, hướng này chủ yếu tập trung vào thiết bị không dây cỡ nhỏ trong middleware. Chẳng hạn, điện thoại di động hay máy trợ giúp cá nhân kỹ thuật số cho phép thiết kế, lập trình, đặc tả và bảo dưỡng các hệ thống được dễ dàng hơn. Ngoài ra, các cố gắng cũng được tập trung vào phát triển những platform khả cỡ và tự tổ chức (scalable and self-organising platform), để cung cấp dịch vụ cho các mạng đặc biệt; mạng này bao gồm các thiết bị rất nhỏ nhằm hạn chế độ phức tạp, thông qua kỹ thuật perception (kỹ thuật dùng cho điều khiển, cho nhận dạng đối tượng và sự kiện, cùng những tính toán cao cấp khác). • Hợp nhất những mô hình tính toán hỗn tạp, xây dựng những công cụ đủ mạnh để xây dựng HTN độc lập và ổn định. • Điều khiển nâng cao cho những hệ thống thời gian thực và HTN trên mạng với các tính năng: khả năng thứ lỗi cao, điều khiển và quản lý theo cơ chế tự trị, có cơ chế giải thích, hiệu suất cao,... • Nghiên cứu một số vấn đề khác như: actuator và sensor thông minh; hardware/software co-design; quản lý tài nguyên hạn chế; tích hợp hệ thống, chuẩn hoá,... Hiện nay, nhóm nghiên cứu ERCIM (European Research Consortium for Informatics and Mathematics Working Group) đã và đang nghiên cứu tất cả các lĩnh vực của HTN, bao gồm các chủ đề chính như: điều khiển thí V;. •• w;-k Ì - L ỡ l l l i 18 nghiệm khoa học từ xa, HTN trong các phương tiện giao thông, truyền thông không dây, kiến trúc hệ thống, ngôn ngữ, công cụ, ứng dụng nhúng trong giáo dục,... ([31]). Một số hoạt động ở Châu Âu liên quan đến HTN được ghi nhận như sau: • Tập đoàn REDEST bao gồm 14 công ty của các nước Tây Ba Nha, Đức và Hungari kết hợp với nhau để phát triển phần mềm nhúng. • Phòng thí nghiệm và giảng dạy về HTN cho sinh viên tại nhiều trường Đại học đã được xây dựng. • Có các khoá học thạc sỹ về xây dựng và thiết k ế HTN. • Dự án EEA (Embedded Electronic Architecture) được triển khai ở Pháp (1999-2001) với mục tiêu nghiên cứu giải pháp thiết k ế các phương tiện giao thông dạng nhúng. Dự án đã được sự ủng hộ của Bộ công nghiệp Pháp, nhiều công ty phần mềm, nhiều hãng ô tô và một số trung tâm nghiên cứu. • Mạng của tổ chức IEE (Institute of Electrical Engineers - Website: www.iee.org/pn/embeddedrealtime) được xây dựng để phối hợp nghiên cứu và chuyển giao công nghệ với những chương trình dài hạn hướng tới cung cấp HTN thời gian thực. Hiện nay, tổ chức này đã thu hút được hơn 130.000 thành viên. • Dự án DECOS (Dependable Embedded Components and Systems Website: www.decos.at) nghiên cứu rất nhiều vấn đề trong HTN và mục tiêu là tạo ra nhiều sản phẩm có sức cạnh tranh. 19 C H Ư Ơ N G 2 TÍNH TOÁN KHOẢNG LẶP VÀ ỨNG DỤNG Phương pháp hình thức dựa trên nền tảng là những lý thuyết toán học như: logic, đồ thị và ôtômat để mô tả, phân tích và thiết k ế hệ thống. Sử dụng phương pháp hình thức cho phép đạt tới mức trừu tượng hoá cao trong quá trình thiết kế, tránh được sự hiểu sai về ngữ nghĩa nhờ những mô tả chính xác về mặt toán học. Mục đích của phương pháp hình thức là làm tăng chất lượng, giảm thời gian thiết k ế và phát hiện sớm các lỗi hệ thống phần cứng và phần mềm. Có nhiều phương pháp hình thức khác nhau, mỗi phương pháp phù hợp cho những ứng dụng riêng. Chương này giới thiệu một công cụ logic là Tính toán khoảng lặp (Duration Calculus with Iteration - DC*), và cách sử dụng nó như một ngôn ngữ đặc tả để thiết kế hình thức ứng dụng nhúng. Tiếp đó, một minh hoạ ứng dụng nhúng về thiết kế hệ thống điều khiển thang máy được trình bày. Trong thiết kế bằng DC*, chúng ta có tính đến độ trễ của phần cứng và độ trễ của phần mềm nhúng nhằm lượng hoá việc khống chế độ trễ kỹ thuật của các bài toán đặt ra trước đây theo nghĩa sau: chỉ có những hộ có độ trễ được giả định là lớn hơn hoặc bằng tổng hai độ trễ vừa nói thì mới đảm bảo hệ hoạt động ổn định.
- Xem thêm -