Xây dựng hệ thời gian thực và ứng dụng cho bài toán quản lý nhà hàng dịch vụ

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

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

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -------------------- VŨ XUÂN MẠNH XÂY DỰNG HỆ THỜI GIAN THỰC VÀ ỨNG DỤNG CHO BÀI TOÁN QUẢN LÝ NHÀ HÀNG DỊCH VỤ LUẬN VĂN THẠC SĨ Hà Nội 2011 Trang 2 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -------------------- VŨ XUÂN MẠNH XÂY DỰNG HỆ THỜI GIAN THỰC VÀ ỨNG DỤNG CHO BÀI TOÁN QUẢN LÝ NHÀ HÀNG DỊCH VỤ LUẬN VĂN THẠC SĨ Ngành: Công nghệ Thông tin Chuyên ngành: Công nghệ Phần mềm Mã số: 60.48.10 Hướng dẫn khoa học: PGS.TS Nguyễn Văn Vỵ Hà Nội 2011 Trang 3 MỤC LỤC LỜI CAM ĐOAN .......................................................................................................................... 1 LỜI CẢM ƠN ................................................................................................................................ 2 MỤC LỤC ...................................................................................................................................... 3 BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT ..................................................................................... 5 BẢNG GIẢI THÍCH CÁC THUẬT NGỮ ................................................................................ 6 DANH MỤC CÁC HÌNH VẼ ..................................................................................................... 7 DANH MỤC CÁC BẢNG ........................................................................................................... 9 MỞ ĐẦU ...................................................................................................................................... 10 CHƢƠNG 1 - TỔNG QUAN VỀ HỆ THỜI GIAN THỰC VÀ HỆ NHÚNG ................... 12 1.1 Khái niệm về hệ thời gian thực ................................................................................. 12 1.2 Phân loại hệ thời gian thực ........................................................................................ 13 1.2.1 Hệ thời gian thực cứng ....................................................................................... 14 1.2.2 Hệ thời gian thực mềm ....................................................................................... 14 1.3 Đặc điểm của hệ thời gian thực ................................................................................. 15 1.4 Cấu trúc thành phần của một hệ thời gian thực ...................................................... 15 1.5 Xử lý thời gian thực .................................................................................................... 17 1.5.1 Xử lý ngắt ............................................................................................................ 20 1.5.2 Quản lý tiến trình ................................................................................................ 22 CHƢƠNG 2: PHÁT TRIỂN HỆ THỐNG THÔNG TIN THỜI GIAN THỰC CHO QUẢN LÝ DỊCH VỤ NHÀ HÀNG ......................................................................................... 24 2.1. Khảo sát, phân tích mô hình quản lý dịch vụ nhà hàng và đề xuất bài toán ....... 24 2.1.1. Khảo sát hoạt động quản lý dịch vụ nhà hàng ................................................ 24 2.1.2. Những vấn đề từ mô hình hoạt động dịch vụ nhà hàng truyền thống ......... 26 2.1.3. Đề xuất giải pháp ................................................................................................ 27 2.2. Lƣa chọn công nghệ và môi trƣờng phát triển hệ thống ........................................ 33 2.2.1. Công nghệ và môi trƣờng phát triển phần cứng ............................................. 33 2.2.2. Công nghệ và môi trƣờng phát triển phần mềm ............................................. 33 2.2.3. Môi trƣờng triển khai hệ thống ......................................................................... 33 2.3. Phân tích ....................................................................................................................... 34 2.3.1. Xác định yêu cầu bài toán.................................................................................. 34 2.3.2. Biểu đồ use case .................................................................................................. 37 Trang 4 2.3.3. Biểu đồ lớp........................................................................................................... 41 2.4. Thiết kế ......................................................................................................................... 47 2.4.1. Biểu đồ tƣơng tác ................................................................................................ 47 2.4.2. Biểu đồ hoạt động ............................................................................................... 50 2.4.3. Biểu đồ thành phần và biểu đồ triển khai hệ thống ........................................ 55 2.4.4. Thiết kế thiết bị xử lý trung tâm ....................................................................... 56 2.4.5. Thiết kế thiết bị chọn món ................................................................................. 59 2.5. Xây dựng các module phần mềm.............................................................................. 61 2.5.1. Xây dựng module phát tín hiệu RF .................................................................. 61 2.5.2. Xây dựng module nhận tín hiệu RF ................................................................. 62 2.5.3. Xây dựng module giao tiếp bàn phím và hiển thị LCD ................................ 63 2.5.4. Xây dựng module xử lý dữ liệu ........................................................................ 69 KẾT LUẬN .................................................................................................................................. 73 a> Những kết quả đạt đƣợc ............................................................................................. 73 b> Những hạn chế và hƣớng phát triển.......................................................................... 74 TÀI LIỆU THAM KHẢO .......................................................................................................... 75 PHỤ LỤC ..................................................................................................................................... 76 PLI. Tính năng của vi điều khiển ATmega8 và ATmega48 ............................................. 76 1. ATmega8 ...................................................................................................................... 76 2. ATmega48 .................................................................................................................... 77 PLII. Chức năng các khối trong vi điều khiển AVR [3] .................................................... 78 1. Bộ nhớ chƣơng trình (Program memory) ................................................................ 78 2. Bộ nhớ dữ liệu (Data memory) ................................................................................. 78 3. Khối tính toán logic (Arithmetic Logic Unit) ......................................................... 81 4. Khối ngăn xếp .............................................................................................................. 82 PLIII Các tập lệnh dùng cho lập trình trên AVR [5] .......................................................... 83 1. Tập lệnh dùng cho thanh ghi file .............................................................................. 83 2. Tập lệnh dùng cho thanh ghi I/O .............................................................................. 88 3. Các lệnh truy cập bộ nhớ ........................................................................................... 89 4. Các lệnh rẽ nhánh và vòng lặp .................................................................................. 89 Trang 5 BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT Từ viêt tắt Inpt Stus Up Down Clr OK Mnu NV K.Vực Max-Tbl Max-SoLuong Max-MaNV Max-KV NSX VĐK AP CSDL DL Ý nghĩa Dòng nhập dữ liệu Dòng trạng thái Phím cuộn lên Phím cuộn xuống Phím xóa Phím xác nhận Danh sách lựa chọn lệnh trên thiết bị chọn món Nhân viên Khu vực Số lượng bàn lớn nhất có thể Số lượng đơn vị món ăn lớn nhất có thể Số lượng nhân viên lớn nhất có thể Số lượng khu vực lớn nhất có thể Nhà sản xuất Vi điều khiển, chíp Access point - điểm truy cập Cơ sở dữ liệu Dữ liệu Trang 6 BẢNG GIẢI THÍCH CÁC THUẬT NGỮ Thuật ngữ Chip VCC GND Vol Driver DLL ASM Ý nghĩa Là một loại vi điều khiển Đường nguồn Đường trung tính (đất) Đơn vị của hiệu điện thế Trình điều khiển thiết bị (một loại phần mềm mức thấp để máy tính giao tiếp với thiết bị) Thư viện liên kết động Trình biên dịch Assembly Trang 7 DANH MỤC CÁC HÌNH VẼ Số Tên hình Trang 1. 2. 3. 4. 5. 6. 7. 8. Hình 1.1: Các mức đáp ứng sự kiện về mặt thời gian Hình 1.2: Đồ thị mô tả đặc trưng hai loại hệ thời gian thực Hình 1.3: Các thành phần của hoạt động thời gian thực Hình 1.4: Các kiểu tác vụ theo chuẩn IEC 61131-3 Hình 1.5: Mô hình chung của hệ thời gian thực Hình 1.6: Mô hình xử lý ngắt Hình 1.7: Ưu tiên ngắt Hình 1.8: Hành động thực thi thời gian thực yêu cầu bắt đầu một tiến trình Hình 2.1: Sơ đồ tiến trình phân tích hoạt động nghiệp vụ Hình 2.2 : Kiến trúc hệ thống cần xây dựng Hình 2.3: Ví dụ bảng phân giá theo khu vực và thời điểm Hình 2.4: Ví dụ về bảng giá Hình 2.5: Biểu đồ use case ở mức tổng quát Hình 2.6: Biểu đồ use case “Khai báo dữ liệu nhà hàng” Hình 2.7: Biểu đồ use case “Xử lý bán hàng” Hình 2.8: Biểu đồ use case “Chế biến” Hình 2.9: Biểu đồ lớp phần khai báo dữ liệu nhà hàng Hình 2.10: Biểu đồ lớp phần xử lý báng hàng Hình 2.11: Biểu đồ lớp phần cho bộ phần chế biến Hình 2.12: Biểu đồ tuần tự cho use case khai báo khu vực Hình 2.13: Biểu đồ tuần tự cho use case chọn món, hủy món Hình 2.14: Biểu đồ tuần tự cho use case lập phiếu chế biến Hình 2.15: Biểu đồ hoạt động của chức năng gọi món/hủy món của thiết bị Hình 2.16: Biểu đồ hoạt động chức năng chuyển bàn/ ghép bàn Hình 2.17: Biểu đồ hoạt động chức năng Thanh toán/ gọi nhân viên Hình 2.18: Biểu đồ hoạt động chức năng Thanh toán/ gọi nhân viên Hình 2.19: Biểu đồ hoạt động thiết bị xử lý trung tâm Hình 2.20: Biểu đồ thành phần Hình 2.21: Biểu đồ triển khai hệ thống Hình 2.22: Kiến trúc thiết bị xử lý trung tâm Hình 2.23: Mạch nguyên lý thiết bị xử lý trung tâm Hình 2.24: Kiến trúc thiết bị chọn món Hình 2.25: Mạch nguyên lý thiết bị chọn món không dây Hình 2.26: Sơ đồ khối phát tín hiệu RF Hình 2.27: Sơ đồ khối module thu tín hiệu RF Hình 2.28: Nối ghép bàn phím ma trận tới các cổng 12 14 16 18 19 20 21 22 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 29 32 34 35 37 38 39 40 45 46 46 47 48 49 50 51 52 53 54 55 56 57 59 59 60 61 62 63 Trang 8 37. 38. 39. 40. 41. 42. 43. Hình 2.29: Sơ đồ khối dò tìm phím bấm Hình 2.30: Vị trí chân của các LCD khác nhau của Optrex. Hình 2.31: Lưu đồ thuật toán trên bộ xử lý chung Hình 2.32: Lưu đồ thuật toán trên bộ xử lý riêng Hình PLII.1: Bản đồ bộ nhớ dữ liệu Hình PLII.2: Thanh ghi trong bộ nhớ dữ liệu Hình PLII.3: Mô tả ngăn xếp 65 67 69 70 79 79 82 Trang 9 DANH MỤC CÁC BẢNG Số Tên bảng Trang 1. Bảng 2.1: Giải pháp cho các vấn đề đặt ra 30 2. Bảng 2.2 : Các tác nhân nghiệp vụ và vai trò 37 3. Bảng 2.3 :Vai trò các use case khai báo dữ liệu nhà hàng 378 4. Bảng 2.4 : Vai trò các use case xử lý bán hàng 40 5. Bảng 2.5 : Vai trò các use case chế biến 41 6. Bảng 2.6: Mục đích của các use case và các thực thể 41 7. Bảng 2.7: Các lớp ứng cử viên 43 8. Bảng 2.8: Ký hiệu các chân LCD 67 9. Bảng 2.9: Mã lệnh LCD 67 10. Bảng 2.10: Các quy tắc hoạt động của thiết bị 70 11. Bảng 2.11: Định dạng tổng quát gói dữ liệu 71 12. Bảng 2.12: Gói dữ liệu chọn món / hủy món 72 13. Bảng 2.13: Gói dữ liệu ghép bàn / chuyển bàn 72 14. Bảng 2.14: Gói dữ liệu thanh toán/ gọi nhân viên 72 15. Bảng PLII.3: Mô tả các thanh ghi của VĐK AVR 80 Trang 10 MỞ ĐẦU Hiện nay, các hệ thống nhúng đang được ứng dụng rộng rãi trong hầu hết các thiết bị điện tử chuyên dụng, từ đồ điện tử trong gia đình như Ti vi, máy giặt, lò vi sóng đến những hệ thống lớn như máy bay, tên lửa, vệ tinh nhân tạo… Nghiên cứu công nghệ nhúng đang là một hướng nghiên cứu mang nhiều tính ứng dụng công nghệ mới ở Việt Nam. Mặc dù một số trường đại học trong nước đã đưa vào giảng dạy một số môn học như Lập trình hệ thống, Hệ vi xử lý, Công nghệ phần mềm nhúng… Nhưng việc ứng dụng kiến thức của lĩnh vực này để phát triển các ứng dụng cụ thể gặp nhiều khó khăn. Lý do đơn giản là việc xây dựng các hệ thống này ngoài yêu cầu về các linh kiện điện tử, phòng thí nghiệm, công cụ làm việc như Osillo, đồng hồ vạn năng… người xây dựng còn phải có kiến thức về hệ thống, về điện tử, về phát triển phần mềm và kinh nghiệm nhất định. Trong khi đó có rất nhiều ứng dụng chỉ có thể giải quyết bằng thiết bị nhúng Từ yêu cầu thực tiễn, và cũng để nâng cao kỹ năng thực hành và củng cố lý thuyết, đề tài “Xây dựng Hệ hệ thời gian thực và ứng dụng cho bài toán quản lý nhà hàng dịch vụ” được chọn làm đề tài luận văn của tôi. Hiện nay các nhà hàng dịch vụ lớn phát triển mạnh. Việc quản lý và vận hành chủ yếu dùng sức người làm cho chất lượng dịch vụ kém, hạn chế kết quả kinh doanh. Việc đưa các ứng dụng các thiết bị truyền thông và công nghệ thông tin sẽ nâng cao chất lượng, quy mô phục vụ và đem lại hiệu quả kinh tế to lớn. Đối tượng nghiên cứu của đề tài là hệ thống thời gian thực, và xây dựng một hệ thống thông tin kết hợp với các thiết bị nhúng để phục vụ cho các cơ sở dịch vụ nhà hàng. Ngoài phần mở đầu, kết luận và phụ lục, luận văn chia làm 2 chương: Chương I: Tổng quan về hệ thời gian thực và hệ nhúng. Chương này trình bày những khái niệm chung nhất về các hệ thời gian thực và đặc biệt là hệ thống nhúng. Trang 11 Chương II: Phát triển hệ thống thông tin thời gian thực cho quản lý dịch vụ nhà hàng. Chương này tiến hành các bước phát triển hệ thống thông tin trợ giúp quản lý nhà hàng và kết quả hệ thống được cài đặt và thử nghiệm. Cuối cùng là những kết quả đạt được và hướng tiếp tục hoàn thiện hệ thống. Trang 12 CHƯƠNG 1 - TỔNG QUAN VỀ HỆ THỜI GIAN THỰC VÀ HỆ NHÚNG 1.1 Khái niệm về hệ thời gian thực Trong nhiều hệ thống, từ các máy tính cá nhân đơn giản cho đến các hệ thống máy móc phức tạp trong các nhà máy, các bộ xử lý được dùng để điều khiển chúng. Những hệ thống này tương tác trực tiếp với các thiết bị phần cứng, Phần mềm trong nó được gọi là hệ thời gian thực nhúng (Embedded Real Time System). Khi nhận được các sự kiện phát sinh từ các phần cứng, chúng thực hiện các xử lý để sản ra các tín hiệu điều khiển gửi đến các thiết bị tác động để tạo ra các hoạt động nhằm đáp ứng những sự kiện từ môi trường. Như vậy, một hệ thời gian thực [8] hoạt động hiệu quả không chỉ phụ thuộc vào sự chính xác của kết quả tạo ra mà còn phụ thuộc vào thời điểm đưa ra kết quả. Hệ thống sẽ là thất bại mỗi khi các yêu cầu về thời gian hay mức độ đáp ứng không được thoả mãn. Hình 1.1 [4] mô tả mức độ đáp ứng kịp thời của hệ thống theo bốn yêu cầu khác nhau. Sự kiện Sự kiện Phản ứng T T ts Thời gian tp ts tp-1 Phản ứng Sự kiện T ts tp-2 Thời gian b) Trong khoảng ... tp-1 ≤ t ≤ tp-2 a) Chính xác tại t = tp Sự kiện Phản ứng Phản ứng T tp Thời gian c) Chậm nhất là ... t ≤ tp ts tp Thời gian d) Sớm nhất là ... t ≥ tp Hình 1.1: Các mức đáp ứng sự kiện về mặt thời gian Trên hình 1.1 (a) sự kiện xảy ra tại thời điểm ts hệ thống mất khoảng thời gian T để nhận biết có sự kiện kích ứng và xử lý tức thời ngay sau đó tại thời điểm tp. Trang 13 Trên hình 1.1 (b) sự kiện xảy ra tại thời điểm ts hệ thống mất khoảng thời gian T để nhận biết có sự kiện kích ứng và mất một khoảng thời gian [tp…tp-1] để xử lý. Trên hình 1.1 (c) sự kiện xảy ra tại thời điểm ts hệ thống mất khoảng thời gian T để nhận biết có sự kiện kích ứng và yêu cầu phải xử lý xong trước thời điểm tp. Trên hình 1.1 (d) sự kiện xảy ra tại thời điểm ts hệ thống mất khoảng thời gian T để nhận biết có sự kiện kích ứng và yêu cầu phải được xử lý từ thời điểm tp không giới hạn thời điểm hoàn thành. Do các tính chất của hệ thời gian thực khác với các phần mềm khác là khả năng đáp ứng của nó đối với các sự kiện môi trường trong một khoảng thời gian nhất định (thường là khoảng thời gian ngắn) nên nó được định nghĩa như sau: Một hệ thời gian thực là một hệ thống mà trong đó tính đúng đắn của nó không chỉ phụ thuộc vào các kết quả logic được tạo ra mà còn phụ thuộc vào thời điểm mà tại đó các kết quả được đưa ra [8]. Nhiều thay đổi của các sự kiện trong thế giới thực thường xảy ra rất nhanh, mỗi hệ thống thời gian thực phải thực hiện việc xử lý và đưa ra kết quả trong một khoảng thời gian xác định hay thời điểm kết thúc (deadline). Khoảng thời gian này được xác định từ thời điểm bắt đầu và thời điểm hoàn tất công việc. Trong thực tế, nhiều yếu tố kích thích xảy ra trong khoảng thời gian rất ngắn, ví dụ vào khoảng vài mili giây, và khi đó thời gian mà hệ thống cần đáp ứng lại các yếu tố kích thích thường vào khoảng dưới 1 giây mới đảm bảo được yêu cầu mong muốn. Khoảng thời gian này bao gồm: thời gian tiếp nhận kích thích, thời gian xử lý thông tin và thời gian đáp ứng kích thích [8]. 1.2 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 [2] dưới đây minh họa cho sự khác biệt giữa hai loại hệ thống đó. Với đồ thị có nét đậm biểu thị cho hệ thời gian thực mềm nên kết quả trả về và thời điểm đáp ứng có dung sai lớn hơn đồ thị thể hiện hệ thời gian thực cứng. Trang 14 Giá trị kết quả xử lý đưa ra đồ thị hệ mềm đồ thị hệ cứng + thời điểm đáp ứng (deadline) thời gian Hình 1.2: Đồ thị mô tả đặc trưng hai loại hệ thời gian thực 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. 1.2.1 Hệ thời gian thực cứng Trong một số hệ thống, sự đáp ứng vi phạm giới hạn về thời gian cho phép có thể gây ra những ảnh hưởng trầm trọng, như đến đến sinh mạng con người. Trong trường hợp này, yêu cầu đáp ứng về mặt thời gian của hệ thống là rất khắt khe. 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 [8]. 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 đã xác định trước. 1.2.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 chấp nhận một sai số nhất định cả về giá trị và thời gian so với yêu cầu 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. Trong trường hợp này, người ta nói rằng hệ thống có ràng buộc định thời gian mềm. Hệ thời gian thực mềm có định nghĩa như sau: Trang 15 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 [8], tức là sự đáp ứng của hệ thống 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 điện tử. Sự phân biệt giữa khoảng thời gian bắt buộc cứng hay mềm của hệ thời gian thực hiện thường tùy thuộc trạng thái định lượng 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. 1.3 Đặc điểm của hệ thời gian thực Một hệ thống thời gian thực có các đặc trưng tiêu biểu [2] sau: − Tính bị động: Hệ thống thường phải phản ứng lại với các sự kiện xuất hiện vào các thời điểm thường không biết trước. − Tính nhanh nhạy: Hệ thống phải xử lý thông tin một cách nhanh chóng để có thể đưa ra kết quả phản ứng một cách kịp thời. Đây là một đặc điểm tiêu biểu. Tuy nhiên, đối với một hệ thống có tính năng thời gian thực không nhất thiết phải đáp ứng thật nhanh mà quan trọng hơn là phải có phản ứng kịp thời đối với các yêu cầu, tác động từ bên ngoài. − Tính đồng thời: Hệ thống phải có khả năng phản ứng và xử lý đồng thời nhiều sự kiện diễn ra. − Tính tiền định: Dự đoán trước được thời gian phản ứng tiêu biểu, thời gian phản ứng chậm nhất cũng như trình tự đưa ra các phản ứng. Phải lập lịch cho các sự kiện. 1.4 Cấu trúc thành phần của một hệ thời gian thực Baker và Scallon (1986) đã đưa ra một thảo luận hay về các yêu cầu thiết bị cho hoạt động thời gian thực. Cooling (1991) cũng đề cập tới vấn đề này, và thảo luận tóm tắt về sản phẩm hoạt động thời gian thực thương mại. Các yêu cầu riêng cho hệ thời gian thực thường là yêu cầu phần thực thi cần được thiết kế như là một phần của hệ thống. Trang 16 Các thành phần của một RTS [7] (hình 1.3) phụ thuộc vào kích cỡ và sự phức tạp của hệ thời gian thực được xây dựng. Thông thường, với mọi hệ thời gian thực (trừ những hệ thống đơn giản) đều có các thành phần sau: 1. Một đồng hồ thời gian thực (real - time clock): thiết bị này cung cấp thông tin cho việc lập lịch trình xử lý một cách định kỳ. 2. Bộ điều khiển ngắt (interrupt handler): thành phần này dùng để quản lý các yêu cầu đáp ứng các sự kiện không theo chu kỳ. 3. Bộ lập lịch (scheduler): thành phần này có nhiệm vụ kiểm tra tiến trình những phần có thể được thực hiện và chọn ra một ra một thành phần trong số chúng đề thực hiện. 4. Bộ quản lý tài nguyên (resource manager): phân phối một số tài nguyên về bộ nhớ và bộ xử lý cho một tiến trình đã được sắp lịch thực hiện. 5. Bộ điều vận (despatcher): thành phần này được phân nhiệm vụ để khởi động sự thực thi của một tiến trình. Thông tin lập lịch Đồng hồ thời gian thực Lập lịch Điều khiển ngắt Xử lý các yêu cầu về tài nguyên Tài nguyên chờ xử lý Quản lý tài nguyên Sẵn sàng xử lý Danh sách sẵn sàng Danh sách tài nguyên có giá trị Giải phóng tài nguyên Bộ điều vận Danh sách xử lý Hoạt động xử lý Hình 1.3: Các thành phần của hoạt động thời gian thực Trang 17 Các hệ thống cung cấp dịch vụ liên tục, như hệ thống viễn thông và hệ thống giám sát thường có các yêu cầu về độ tin cậy cao. Chúng có thể còn cần đến những khả năng thực thi khác nữa như là: 6. Quản lý cấu hình (configuration manager): Bộ phận này cho phép thiết lập lại cấu hình động của phần cứng hệ thống (Kramer và Magee, 1985). Ví dụ như: một đơn vị phần cứng không còn phù hợp với hệ thống. Do đó, hệ thống cần được nâng cấp bằng việc thêm hay thay bằng một phần cứng mới mà không cần phải ngừng hoạt động của toàn hệ thống. 7. Quản lý lỗi (fault manager): Bộ phận này có nhiệm vụ tự tìm lỗi gây ra từ phần cứng và phần mềm và tiến hành những hoạt động thích hợp để khôi phục lại trạng thái ổn định từ những trạng thái lỗi đó. Hệ thống thời gian thực thường phải xử lý các tác nhân kích thích với các mức ưu tiên khác nhau. Các tác nhân như là các sự kiện đặc biệt mà thời gian xử lý cần thiết phải được hoàn thành trong khoảng thời gian xác định. Những bộ xử lý khác được đặt trong một độ trễ an toàn. Do đó, hoạt động của một hệ thống thời gian thực phải quản lý tối thiểu hai mức ưu tiên cho các tiến trình hệ thống: 1. Mức ngắt (interrupt level): đây là mức ưu tiên cao nhất. Nó là một đặc trưng dùng để phân biệt các hệ thống thời gian thực với các kiểu hệ thống khác. 2. Mức đồng hồ (clock level): mức này chỉ ra sự ưu tiên của một tiến trình đã xác định trước và được thực hiện theo thời gian định kỳ tính được từ đồng hồ. Trong khoảng thời gian của mỗi mức ưu tiên này, các lớp khác nhau của tiến trình có thể được chỉ định sự ưu tiên khác nhau. Ví dụ, một ngắt từ một thiết bị cần thực hiện nhanh có thể dành được quyền ưu tiên xử lý từ một thiết bị chậm hơn để tránh mất thông tin. Sự chỉ định tiến trình ưu tiên, thường được yêu cầu phân tích và mô phỏng nhiều. 1.5 Xử lý thời gian thực Xử lý thời gian thực (realtime processing) [4] 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 bị động, tính nhanh nhạy, tính đồng thời và tính tiền định. Để có thể phản ứng với nhiều sự Trang 18 kiện diễn ra cùng một lúc, một hệ thống xử lý thời gian thực cần sử dụng các tiến trình tính toán đồng thời. Quá trình tính toán 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 trong thời gian thực hiện lệnh và thời gian xếp hàng chờ thực hiện. Có ba hình thức tổ chức các quá trình tính toán đồng thời: − Tính toán tương tranh: Nhiều quá trình tính toán chia sẻ thời gian xử lý thông tin trên một bộ xử lý. − Tính toán 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ột máy tính. − Tính toán 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, hình thức xử lý tương tranh là chủ yếu, nó tương ứng với trường hợp phổ biến khi hệ thống chỉ có một bộ xử lý. Mặc dù hệ thống điều khiển có thể có nhiều trạm, và mỗi trạm là một hệ đa bộ xử lý, số lượng các quá trình tính toán cần thực hiện luôn lớn hơn số lượng các 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ự tùy theo mức ưu tiên và phương pháp lập lịch. Chờ tới chu kỳ Chờ sự kiện Sự kiện Thời gian Mã thực thi Mã thực thi Tác vụ mặc định Ví dụ: - Điều khiển logic - Kiểm tra lỗi Tác vụ tuần hoàn Ví dụ: - Điều khiển vòng kín - Xử lý truyền thông Mã thực thi Tác vụ sự kiện Ví dụ: - Điều khiển trình tự - Xử lý sự cố Hình 1.4: Các kiểu tác vụ theo chuẩn IEC 61131-3 Trên hình 1.4 thể hiện các kiểu tác vụ theo chuẩn IEC 61131-3, kiểu thứ nhất chỉ có một tác vụ mặc định, kiểu thứ hai có nhiều tác vụ được sắp xếp Trang 19 thành vòng điều khiển khép kín và được xử lý tuần hoàn. Kiểu cuối cùng là kiểu tác vụ sự kiện, nghĩa là mỗi tác vụ sẽ được kích hoạt khi có sự kiện tương ứng xảy ra. Trong các hệ thống điều khiển, khái niệm tác vụ 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ý thông tin trong hệ thống, được thực hiện theo cơ chế tuần hoàn hoặc theo sự kiện. Các dạng tác vụ qui định trong chuẩn IEC 61131-3 (Programmable Controllers – Part3: Programming Languages) được minh họa trên hình 1.4. Ví dụ, một tác vụ 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ụ điều khiển logic, điều khiể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 dãy các quá trình tính toán khác nhau. Hoạt động của hệ thống thời gian thực được xác định thông qua việc xác định danh sách các kích thích mà hệ thống nhận được, danh sách các đáp ứng, và thời điểm các đáp ứng cần được sinh ra. Các kích thích được chia thành hai loại: 1. Kích thích có chu kỳ: Những kích thích này xuất hiện sau mỗi khoảng thời gian nhất định cho trước. Ví dụ hệ thống có thể kiểm tra một bộ cảm biến, cứ mỗi lần sau 50 milli giây lại thực hiện một hoạt động (hồi đáp phụ thuộc vào giá trị của bộ cảm biến – “kích thích”). 2. Kích thích không theo chu kỳ: Những kích thích này xuất hiện không đều, chúng thường là những tín hiệu được sử dụng cơ chế ngắt của máy tính. Ví dụ, một kích thích sẽ là một ngắt chỉ ra rằng sự truyền vào/ra đã hoàn tất, hoặc chỉ ra rằng dữ liệu đang có trong bộ đệm. Bộ cảm biến Bộ cảm biến Bộ cảm biến Bộ cảm biến Bộ cảm biến Bộ cảm biến Hệ thống điều khiển thời gian thực Bộ thao tác Bộ thao tác Bộ thao tác Bộ thao tác Hình 1.5: Mô hình chung của hệ thời gian thực Trang 20 Kích thích có chu kỳ trong hệ thời gian thực thường được tạo ra bằng một bộ cảm biến gắn trong hệ thống. Các kích thích này cung cấp thông tin trạng thái về môi trường hệ thống. Chúng điều khiển các hồi đáp tác động tới một tập Bộ thao tác có nhiệm vụ điều khiển một số đơn vị phần cứng, rồi sau đó Bộ thao tác làm ảnh hưởng trực tiếp tới môi trường hệ thống. Kích thích không có chu kỳ có thể sinh ra bởi các Bộ thao tác hay bởi các bộ cảm biến. Chúng thường chỉ ra một số điều kiện ngoại lệ, như ổ cứng hỏng, nó cần phải được hệ thống quản lý. Mô hình cảm biến - hệ thống - bộ thao tác này trong hệ thời gian thực nhúng, được minh họa trong hình 1.5. 1.5.1 Xử lý ngắt Một đặc trưng hay dùng để phân biệt các hệ thống thời gian thực với các kiểu hệ thống khác là việc xử lý ngắt. Hệ thống thời gian thực phải đáp ứng với các kích thích bên ngoài (hay thường gọi là các ngắt) trong một khuôn khổ thời gian do thế giới bên ngoài ấn định. Bởi vì nhiều kích thích (ngắt) thường xuất hiện nên phải thiết lập các mức ưu tiên ngắt. Xử lý ngắt bắt buộc không chỉ lưu trữ thông tin để cho máy tính có thể chạy lại đúng đắn nhiệm vụ đã bị ngắt trước đó mà còn phải tránh sự tắc nghẽn và các chu trình vô hạn. Luồng xử lý “thông thường” Xử lý ngắt ngắt được thông báo Chương trình bị ngắt Xác định bản chất ngắt Thực hiện dịch vụ ngắt Khôi phục trạng thái của chương trình khi bị ngắt Tiếp tục thực hiện chương trình trước khi bị ngắt Hình 1.6: Mô hình xử lý ngắt Cách tiếp cận tổng thể với xử lý ngắt được minh họa trong hình 1.6. Luồng xử lý thông thường bị “ngắt” bởi một sự kiện được bộ xử lý phát hiện ra từ phần cứng nào đó. Một sự kiện là bất kỳ một sự xuất hiện nào đòi hỏi được đáp ứng ngay lập tức và sự đáp ứng đó có thể được sinh ra bởi phần cứng hoặc phần mềm. Trạng thái của chương trình bị ngắt được lưu trữ và điều khiển được
- Xem thêm -