1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình hệ thống nhúng

79 1 0
Tài liệu ảnh, khi tải xuống sẽ không sao chép được nội dung tài liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Tong quan thong nhung Giới thiệu môn học Module cung cấp cho người học kiến thức hệ thống nhúng, Nội dung bao gơm: Giới thiệu chung hệ thông nhúng; Kiên trúc phân cứng hệ thong nhúng; Hệ điêu hành nhúng, phần mêm nhúng Sau hoàn thành module này, người học có khả năng: ‹_ Giải thích số khái niệm liên quan đến hệ thống nhúng, hệ điều hành nhúng phần mềm nhúng ° Phan tich duoc đặc điểm cấu trúc phần cứng, hệ điều hành phần mềm cho hệ thông nhúng ° Ứng dụng thiết kế phát triển phần mềm cho hệ thống nhúng đơn giản °Ò _ Rèn luyện khả tự nghiên cứu, khả làm việc theo nhóm Để học tốt môn học người học phải tự xây dựng cho phương pháp học thích hợp Nhưng phương pháp chung để học môn học người học phải hiểu thật kỹ phân lý thuyết từ tìm hiểu phần kiến thức mở rộng Hệ thống nhúng gì? Hệ thống nhúng (Embedded system) thuật ngữ để hệ thống có khả tự trị nhúng vào mơi trường hay hệ thơng mẹ Đó hệ thơng tích hợp phán cứng phán phêm đê thực một nhóm chức chuyên biệt cụ thé Hệ thống nhúng (HTN) thường thiết kế để thực chức chuyên biệt Khác với thống nhúng thực u cầu cụ thê mà ta khơng tìm thấy máy tính đa chức năng, hạn máy tính cá nhân, hệ một vải chức định, thường kèm với bao gồm số thiết bị máy móc phần cứng chun dụng máy tính đa nói chung Vì hệ thống xây dựng cho số nhiệm vụ định nên nhà thiết kế tối ưu hóa nhằm giảm thiểu kích thước phí sản xuất Các hệ thống nhúng thường sản xuất hàng loạt với số lượng lớn HTN đa dạng, phong phú chủng loại Đó thiết bị cầm tay nhỏ gọn đồng hỗ kĩ thuật số máy chơi nhạc MP3, sản phẩm lớn đèn giao thông, kiểm soát nhà máy hệ thống kiểm soát máy lượng hạt nhân Xét độ phức tạp, hệ thống nhúng đơn giản với vi điều khiến phức tạp với nhiều đơn vị, thiết bị ngoai vi mạng lưới nằm gọn lớp vỏ máy lớn 18/99 Các thiết bị PDA máy tính cầm tay có số đặc điểm tương tự với hệ thong nhúng hệ điều hành vi xử lý điều khiên chúng thiết bi hệ thống nhúng thật chúng thiết bị đa năng, cho phép sử dụng nhiều ứng dụng kết nối đến nhiều thiết bị ngoai Vi Lịch sử phát triển hệ thống nhúng Hệ thống nhúng dau tién 1a Apollo Guidance Computer(May tính dẫn đường Apollo) phát triển Charles Sfark Draper phòng thí nghiệm trường đại học ÄITnăm 1960 Hệ thống nhúng sản xuất hàng loạt máy hướng dẫn cho tên lửa quân vào năm 1961 Nó máy hướng dẫn 4zonefics D-17, xây dựng sử dụng bóng bán dẫn đĩa cứng để trì b6 Khi Minuteman II duoc đưa vào sản xuất năm 1996, AwfoneficsD-17 thay với máy tính sử dụng mạch tích hợp Tính thiết kế chủ yếu máy tính Äinuteman II đưa thuật tốn có thê lập trình lại sau để làm cho tên lửa xác hơn, máy tính có thê kiểm tra tên lửa, giam trọng lượng cáp điện đầu nỗi điện Từ ứng dụng vào năm 1960, hệ thông nhúng phát triển mạnh mẽ khả xử lý Bộ vi xử lý hướng đến người tiêu dùng 7z⁄el 4004, phát minh phục vụ máy tính điện tử hệ thống nhỏ khác Tuy nhiên cần chip nhớ hỗ trợ khác Vào năm cuối 1970, xử lý bít sản xuất, nhìn chung chúng cần đến chip nhớ bên Vào thập niên 80, kỹ thuật mạch tích hợp đạt trình độ cao dẫn đến nhiều thành phần đưa vào chip xử lý Các vi xử lý gọi vi điều khiển chấp nhận rộng rãi Với giá thấp, vi điều khiến trở nên hấp dẫn để xây dựng hệ thống chuyên dụng Đã có bùng nỗ số lượng hệ thống nhúng tất lĩnh vực thị trường số nhà đầu tư sản xuất theo hướng Ví dụ, nhiều chip XỬ lý, đặc biệt xuất với nhiều giao điện lập trình kiểu song song truyền thống để kết nối vi xử lý Vào cuối năm 80, hệ thông nhúng trở nên phổ biến hầu hết thiết bị điện tử khuynh hướng tiếp tục Xu hướng phát triển hệ thống nhúng Sau máy tính lớn (mainframe), PC Internet hệ thống nhúng sóng đổi thứ cơng nghệ thông tin truyền thông Xu hướng phát triển hệ thống nhúng là: 19/99 ° Phần mêm ngày chiếm tỷ trọng cao trở thành thành phần câu tạo nên thiết bị bình đăng phân khi, linh kiện điện tử, linh kiện quang học Các hệ nhúng ngày phức tạp đáp ứng yêu cầu khắt khe thời gian thực, tiêu lượng hoạt động tin cậy ôn định »° Các hệ nhúng ngày có độ mềm dẻo cao đáp ứng yêu cầu nhanh chóng đưa sản phẩm thương trường, có khả bảo trì từ xa, có tính cá nhân cao 5° _ Các hệ nhúng ngày có khả hội thoại cao, có khả kết nối mạng hội thoại với người sử dụng ‹ _ Các hệ nhúng ngày có tính thích nghỉ, tự tổ chức cao có khả tái cau thực thể, tác nhân »°_ Các hệ nhúng ngày có khả tiếp nhận lượng từ nhiều nguồn khác (ánh sáng, rung động, điện từ trường, sinh học ) để tạo nên hệ thống tự tiếp nhận lượng trình hoạt động Những thách thức đề cịn tơn với hệ thống nhúng Hệ thống nhúng phải đối mặt với vấn đề sau: © DO phir tap cia liên kết đa ngành phối hợp cứng - mêm.Độ phức tạp hệ thống tăng cao kết hợp nhiều lĩnh vực đa ngành, kết hợp phân cứng mềm, phương pháp thiết kế kiểm tra chưa chín muỗi Khoảng cách lý thuyết thực hành lớn thiếu phương pháp lý thuyết hoàn chỉnh cho khảo sát phân tích tồn cục hệ nhúng ° Thiéu phuong phap tích hợp tối ưu thành phần tạo nên hệ nhúng bao gồm lý thuyết điều khiến tự động, thiết kế máy, công nghệ phần mềm, điện tử, vi xử lý, công nghệ hỗ trợ khác ° Thách thức độ tin cậy tính mở hệ thống: Do hệ thông nhúng thường phải hội thoại với môi trường xung quanh nên nhiều gặp tình khơng thiết kế trước đễ dẫn đến hệ thống bị loạn Trong trình hoạt động số phần mềm thường phải chỉnh lại thay đổi nên hệ thống phần mềm khơng kiểm soát Đối với hệ thống mở, hãng thứ đưa module mới, thành phần vào gây nên hoạt động thiếu tin cậy Các đặc điểm hệ thông nhúng Hệ thống nhúng thường có số đặc điểm chung sau: ° Cac thong nhúng thiết kế để thực số nhiệm vụ chun dụng khơng phải đóng vai trị hệ thống máy tính đa chức Một số hệ thơng địi hỏi ràng buộc tính hoạt động thời gian thực đê đảm bảo độ an tồn 20/99 tính ứng dụng Một số hệ thống khơng địi hỏi ràng buộc chặt chẽ, cho phép đơn giản hóa hệ thống phần cứng đề giảm thiểu chi phí sản xuất »°_ Một hệ thơng nhúng thường khối riêng biệt mà hệ thống phức tạp năm thiết bị mà điều khiến ‹ Phần mềm viết cho hệ thống nhúng gọi ƒirmware lưu trữ chip nhớ đọc (ROM - Read Only Memory) hoac nhớ flash đĩa Phần mềm thường chạy với số tài ngun phần cứng hạn chế: khơng có bàn phím, hình có với kích thước nhỏ, nhớ hạn chế Sau đây, sâu, xem xét cụ thể đặc điểm thành phần hệ thống nhúng Giao diện Các hệ thống nhúng khơng có giao diện (đối với hệ thống đơn nhiệm) có đầy đủ giao diện giao tiếp với người dùng tương tự hệ điều hành thiết bị để bàn Đối với hệ thống đơn giản, thiết bị nhúng sử dụng nút bắm, đèn LED hiển thị chữ cỡ nhỏ hiển thi sé, thường kèm với hệ thống menu đơn giản Còn hệ thống phức tạp hơn, hình đồ họa, cảm ứng có nút bam lề hình cho phép thực thao tác phức tạp mà tối thiểu hóa khoảng khơng gian cần sử dụng Ý nghĩa nút bắm thay đổi theo hình lựa chọn Các hệ thong nhúng thường có hình với nút bam dang can diéu khién (joystick button) Su phat triên mạnh mẽ mạng toàn cầu mang đến cho nhà thiết kế hệ nhúng lựa chọn sử dụng giao diện web thông qua việc kết nỗi mạng Điều nảy giúp tránh phí cho hình phức tạp đồng thời cung cấp hiển thị nhập liệu phức tạp cần đến, thơng qua máy tính khác Điều hữu dụng thiết bị điều khiến từ xa, cài đặt vĩnh viễn Ví đụ, router thiết bị ứng dụng tiện ích Kiến trúc CPU Các xử lý hệ thơng nhúng có thê chia thành hai loại: Vi xử lý vỉ điều khiển Các vi điều khiển thường có thiết bị ngoại vi tích hợp chip nhằm giảm kích thước hệ thống Có nhiều loại kiến trúc CPU sử đụng thiết ké nhang nhu ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR Diéu trái ngược với loại máy tính dé ban, thường bị hạn chễ với vài kiến trúc máy tính định Các hệ thống nhúng có kích thước nhỏ thiết kế để hoạt động môi trường công nghiệp thường lựa chọn PC/104 PC/104++ làm táng Những hệ thống thường sử dụng DOS, Linux hệ điều hành nhúng thời gian thực QNX hay VxWorks Cịn hệ thống nhúng có kích thước lớn 21/99 throng str dung mét cau hinh thong dung 1a thong on chip (System on a chip — SoC), bảng mạch tích hợp cho ứng dung cu thé (An Application Specific Integrated Circuit— ASIC) Sau nhân CPU thêm vào phần thiết kế chip Một chiến lược tương ty la sw dung FPGA (field-programmable gate array) va lap trinh cho với thành phần nguyên lý thiết kế bao gồm CPU Thiết bị ngoại vỉ Hệ thống nhúng giao tiếp với bên ngồi thơng qua thiết bị ngoại vi, ví dụ như: ¢ Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485 ¢ Universal Serial Bus (USB) ¢ Networks: Controller Area Network, LonWorks ¢ Bo dinh thoi: PLL(s), Capture/Compare va Time Processing Units ¢ Discrete IO: General Purpose Input/Output (GPIO) Công cụ phát triển Tương tự sản phẩm phần mềm khác, phần mềm hệ thống nhúng phát triển nhờ việc sử dụng trình biên địch (compilers), chương trình dịch hợp ngữ (assembler) cơng cụ gỡ rối (debuggers) Tuy nhiên, nhà thiết kế hệ thống nhúng sử dụng số cơng cụ chuyên dụng như: ‹ _ Bộ gỡ rỗi mạch chương trình mơ phong (emulator) Tiện ích đề thêm giá trị checksum CRC vào chương trình, giúp hệ thơng nhúng kiểm tra tính hợp lệ chương trình °©- Đối với hệ thơng xử lý tín hiệu số, người phát triển hệ thống sử đụng phần mềm workbench MathCad Mathematica để mơ phép tốn ‹©_ Các trình biên dịch trình liên kết (linker) chuyên dụng sử đụng để tdi ưu hóa thiết bị phần cứng ° Một hệ thống nhúng có ngơn ngữ lập trình cơng cụ thiết kế riêng sử đụng cải tiến từ ngơn ngữ có sẵn Các cơng cụ phần mềm có thê tạo cơng ty phần mềm chuyên dụng hệ thông nhúng chuyên đôi từ công cụ phát triên phần mêm ŒNU Đôi khi, công cụ phát triên dành cho máy tính cá nhân sử dụng nêu xử lý hệ thơng nhúng gân giơng với xử lý máy PC thông dụng D6 tin cậy Các hệ thống nhúng thường năm cỗ máy kỳ vọng chạy hàng năm trời liên tục mà khơng bị lỗi có thê khơi phục hệ thơng gặp lỗi Vì thê, phân 22/99 mêm hệ thống nhúng phát triển kiếm thử cách cần thận phần mềm cho máy tính cá nhân Ngồi ra, thiết bị rời không đáng tin cậy nhu dia, cong tắc nút bắm thường bị hạn chế sử dụng Việc khôi phục hệ thống gap lỗi thực cách sử dụng kỹ thuật watchdog timer — néu phan mém không đặn nhận tín hiệu watchdog dinh kì hệ thống bị khởi động lại Một sô vân đê cụ thê độ tin cậy như: ° Hệ thống không thé ngừng để sửa chữa cách an tồn, ví dụ hệ thong không gian, hệ thông dây cáp đáy biên, đèn hiệu dẫn đường Giải pháp đưa chuyền sang sử đụng hệ thống dự trữ phần mềm cung cấp phần chức °Ồ Hệ thong phải chạy liên tục tính an tồn, ví dụ thiết bị dẫn đường máy bay, thiết bị kiểm sốt độ an tồn nhà máy hóa chất Giải pháp đưa lựa chọn backup hệ thống °_ Nếu hệ thống ngừng hoạt động gây tỐn thất nhiều tiền ví dụ địch vụ buôn bán tự động, hệ thong chuyén tién, thống kiểm soát nhà máy Một số ví dụ hệ thống nhúng Quanh ta có nhiều sản phẩm nhúng lị vi sóng, nồi cơm điện, điều hoà, điện thoại di dong, 6 t6, may bay, tàu thuỷ, đầu đo câu chấp hành thông minh Ta co thé thấy hệ thống nhúng có mặt lúc nơi sống Các máy trả lời tự động, thiết bị y tế, máy in, hệ thống dẫn đường khơng lưu đêu có tích hợp hệ thông nhúng Cấu trúc bên Router Router ví dụ hệ thống nhúng Các hệ thống nhúng mơ hình Router bao gdm: Microprocessor (4), RAM (6), va Flash memory(7) 23/99 Các thiết bị tàu vũ trụ tích hợp nhiều hệ thống nhúng Tau thăm Sao Hỏa 24/99 Các thành phân kiến trúc phần cứng Hệ thông nhúng CPU Central -) Processing st mY Len, Unit i | = OUTPUTS > T ÍÌ i Timing and Control Stqnale Cs drans Codos i bn Instruction and Data Codes Address Bus on Data BusI““~~~“ V Programs Ael@[D—œ in memory 1| MEMORY | ' “| ae Power | Syste ““““““”“ a8 well os data for the programs Kiến trúc điển hình chịp VXL/VĐK nhúng Đơn vị xử lý trung tâm CPU toh ie os Kiến trúc CPU Người ta biết tới phần lõi xử lý vi xử lý (VXL) đơn vị xử lý trung tâm CPU (Central Processing UnIt) đóng vai trị não chịu trách nhiệm thực thị phép tính thực lệnh Phần CPU đảm nhận chức đơn vị logic toán học (ALU - Arthimetic Logic Unit) Ngồi để hỗ trợ hoạt động cho ALU cịn thêm số thành phần khác b6 gidi ma (decoder), b6 tuan ty (Sequencer) va cac ghi 25/99 Bộ giải mã chuyến đổi (thông dịch) lệnh lưu trữ mã chương trình thành mã mà ALU có thê hiểu thực thi Bộ có nhiệm vụ quản lý dịng liệu trao đôi qua bus đữ liệu VXL Các ghi sử dụng dé CPU lưu trữ tạm thời đữ liệu cho việc thực thi lệnh chúng thay đơi nội dung q trình hoạt động cua ALU Hau hét ghi VXL nhớ tham chiếu (mapped) hội nhập với khu vực nhớ có thê sử dụng khu vực nhớ khác Các ghi có chức lưu trữ trạng thái CPU Nếu nội dung nhớ VXL nội dung ghi thời điểm lữu giữ đầy đủ hồn tồn tạm dừng thực phần chương trình khoảng thời gian trở lại trạng thái CPU trước Thực tế số lượng ghi tên gọi chúng khác họ VXL/VĐK thường nhà chế tạo qui định, chúng có chung chức nêu Khi thứ tự byte nhớ xác định người thiết kế phần cứng phải thực sô quyêt định xem CPU lưu liệu thê Cơ chê khác tuỳ theo kiên trúc tập lệnh áp dụng Có ba loại hình bản: Kiến trúc ngăn xếp Kiến trúc tích luỹ Kiến trúc ghi mục đích chung Kiến trúc ngăn xếp sử dụng ngăn xếp đề thực lệnh toán tử nhận từ đỉnh ngăn xếp Mặc dù chế hỗ trợ mật độ mã tốt mơ hình đơn giản cho việc đánh giá cách thể chương trình ngăn xếp khơng thể hỗ trợ khả truy nhập ngẫu nhiên hạn chế hiệu suất thực lệnh Kiến trúc tích luỹ với lệnh toán tử ngầm mặc định chứa ghi tích luỹ giảm độ phức tạp bên cấu trúc CPU cho phép câu thành lệnh nhỏ gọn Nhưng ghi tích luỹ nơi chứa đữ liệu tạm thời nên giao thông nhớ lớn Kiến trúc ghi mục đích chung sử dụng tập ghi mục đích chung đón nhận mơ hình hệ thống CPU mới, đại Các tập ghi nhanh nhớ thường dễ dàng cho biên dịch xử lý thực thi có thê sử dụng tập trúc cách hiệu ghi ngăn xếp ghi Hơn giá thành phần cứng ngày có xu giảm đáng kế tăng nhanh Nếu chế truy nhập nhớ nhanh kiến trúc dựa có thê lựa chọn lý tưởng, truy nhập nhớ chậm kiến lựa chọn phù hợp 26/99 Một số ghi với chức điển hình thường sử dụng kiến trúc CPU sau: Thanh ghi tré ngan xép (stack pointer): Thanh ghi luu gitt dia ngăn xếp Theo nguyên lý giá trị địa chứa ghi trỏ ngăn xêp giảm liệu lưu thêm vào ngăn xếp tăng liệu lẫy khỏi ngăn xêp Thanh ghỉ số (index register): Thanh ghi số sử dụng để lưu địa mode địa sử dụng Nó cịn biết tới với tên gọi ghi trỏ hay ghi lựa chọn tệp (Microchip) Thanh ghi địa lệnh/Bộ đếm chương trình (Program Counier): Một ghi quan trọng CPU ghi đếm chương trình Thanh ghi đếm chương trình lưu địa lệnh chương trình CPU xử lý Mỗi lệnh trỏ tới CPU xử lý nội dung giá trị ghi đếm chương trình tăng lên Chương trình kết thúc ghi PC có giá trị địa cuối chương trình nằm nhớ chương trình Thanh ghi tích lity (Accumulator): Thanh ghi tich lũy ghi giao tiếp trực tiếp với ALU, sử dụng đề lưu giữ toán tử kêt phép tốn qua trình hoạt động ALU Xung nhịp trạng thái tín hiệu Trong VXL vi mạch số nói chung, hoạt động hệ thống thực đồng dị theo xung nhịp chuẩn Các nhịp lấy trực tiếp gián tiếp từ nguồn xung chuẩn thường mạch tạo xung Đề mô tả hoạt động hệ thống, tín hiệu liệu điều khiến thường mô tả trạng thái theo giản đồ thời gian mức tín hiệu Hình 2.3 j fs Valid Hikgh Transition Low Floating Active (Tri-state) (High-Z) Stable Data (Not Driven} Valid Valid | Transition High Active Active Undefined or Stable Data (Driven) Changing sf Valid j Valid High Active (Driven) Changing Dats ˆ Data Mục đích việc mơ tả trạng thái tín hiệu theo giản đồ thời gian mức tín hiệu dé phân tích xác định chuối kiện hoạt động chi tiệt chu ky bus Nhờ việc 27/99 trước câu lệnh iffevent_1) thi thời gian phản ứng ngắn Nhưng kiện evenf_] xây sau câu lệnh kiểm tra đó, chương trình lúc phải qt tồn vịng lặp quay trở điểm đầu thực dịch vụ kiện evenf_1 °_ Và hệ tất yếu, thời gian phản ứng hàm số lượng kiện kích hoạt thời điểm sau thời gian thực dịch vụ lần quét vòng lặp chương trình ° Tất kiện chương trình đối xử cách bình dang khơng có ưu tiên ° Khico mot đặc tính mới, dịch vụ mới, thêm vào chương trình, thời gian phản ứng lại dài thêm Interrupt (ngắt) Phương pháp tiếp cận thứ ng: (Interrupt) Rat hiru dụng gây khơng khó khăn cho người lập trình Ý tưởng ngất: xuất kiện có thê “ngắt” tiễn trình thực chương trình, “nhồi” thêm thực tiến trình khác vào hình 8.5 Khi tiến trình nhồi thêm thực xong, chương trình lại thực tiếp từ thời điểm bị ngắt Tiến trình kiện ngắt thực mà khơng phải quan tâm đến chương trình Những tiến trình người ta gọi “chương trình dich vu ngat” (Interrupt Service Routine) viét tat ISR Các hệ vi xử lý thường thực loại ngất khác nhau: 5° Câu lệnh INT, hay nhiều nhắc đến với tên TRAP (bay) Nó câu lệnh để gọi chương trình đặc biệt Chúng ta đề cập đến sau 5° Các trường hợp đặc biệt xử lý Các điều kiện lỗi lỗi chia 0, lỗi truy cập bất hợp pháp vào nhớ có thê điều khiến thơng qua chế ngắt Miainiine Instruction Execution “Event ————>` _ Interrupt Service Routine - Hai loại ngắt kế đồng với việc thực lệnh Trong đó: INT câu lệnh lỗi đặc biệt xử lý kêt trực tiêp việc thực lệnh 82/99 Loại ngắt thứ tạo kiện xảy bên xử lý Loại ngắt tao boi cac I/O phân cứng xảy không đồng với việc thực lệnh Các ngắt ngồi khơng đồng bộ: °- Làm tơi đa hố hiệu suất thơng lượng hệ thống máy tính ¢ Gay phan lớn lơi rắc rơi cho người lập trình Hầu hết xử lý sử ngắt Intel x86 Ikilo byte (Interrupt Vector Table) Mỗi chương trình dịch vụ dụng (KB) ngắt lược đồ ngắt giống nhớ véctơ có byte thê Các véctơ mang Hình 8.6 kiến trúc giành cho bảng vécfơ ngăt địa (segment offset) ý nghĩa, chức khác định nghĩa kiến trúc xử lý Ví dụ: véctơ lỗi chia 0, véctơ breakpoin (lệnh ngắt TNT 1byte) Vector Segment MSB LSB |Offset MSB LSB Vector Segment 0000:0008 MSB LSB | Offset MSB LSB Vector Segment 0000:0004 MSB LSB | Offset MSB LSB Bottom 0000:0000 of Memory Một số véctơ đành cho ngắt Trong PC, véctơ đến 15 0x70 đến 0x77 dành cho phân cứng Tất véctƠ truy cập thông qua lệnh ngắt INT 2byte, đó, byte thứ số thứ tự véctơ (ngắt) Phần mềm hệ thống thường thiết lập quy ước liên quan đến nhiều véctơ Ví dụ: PC BIOS sử dụng số ngắt cho dịch vụ phần cứng LINUX sử dụng ngắt INT 0x80 để gọi dịch vụ kernel Sau ví dụ việc sử dụng ngắt INT 0x80 Linux: °Ò _ Bộ xử lý lưu lại giá trị thời ghi đếm chương trình Program Counter (PC) Code Segment (CS) vào ngăn xếp stack với từ điều khiến trạng thái xử lý Proccesor Status Word (PSW) 83/99 °_ Byte thứ câu lệnh INT số bảng vécto ngat dé từ tìm địa chương trình dịch vụ ngắt (ISR) Bộ xử lý nạp địa vào ghi PC CS việc thực chương trình thực từ diém MYPROG.EXE Return (1) INT saves address of next instruction on stack Stack Code INT (3) The address processor from table into the Counter the puts Address (2) The “S0OH" tells the processor where in the vector table to find 80H the Linux the Dispatcher vector Program (4) ~—— Vector address 80 Last of the service instruction routine in service routine is [RET (interrupt return) which pops return address off stack to Program Counter Vector Table ° Kết thúc ISR câu lệnh IRET (Interrupt Return) Nó giải phóng PC CS đề nạp lại giá trị chương trình thực tiép lệnh tiêp theo sau lệnh INT Lệnh INT tương tự lệnh gọi chương trình CALL có đơi chút khác biệt: địa đích lệnh CALL nhúng vào câu lệnh với INT, ta khơng cần quan tâm đến địa ISR Địa nằm bảng véctơ ngắt Đây điểm thuận lợi cho việc truyền thơng chương trình biên địch chương trình tải, ví dụ chương trình ứng dụng hệ điều hành Các ngắt ngồi có cách thức thực thể hình 8.8 Một thiết bị bên đưa “yêu cẩu ngắt” Interrupt Request (IRO) Khi xử lý phản ứng lại xác nhận “chấp nhận ngắt” Interrupt Acknowledge (LAK), thiết bị gửi số thứ tự véctơ ngắt lên bus liệu Bộ xử lý sau thiết lập lệnh ngắt INT với số véctơ ngắt cung cấp Peripheral > IntO IRQ 8259 Int IAK 80X86 DBO:7 84/99 Hinh 8.8: Ngat cimg Ngắt có thê kích hoạt bị vơ hiệu hố Ở cấp độ xử lý, ngắt có thê kích hoạt vơ hiệu hố thơng qua câu lệnh ST] CLI Các ngắt có thê kích hoạt vơ hiệu cách có chọn lọc điều khiển ngắt 8259 hay thiết bị Trên thực tế, việc kích hoạt vơ hiệu ngắt ladiém mẫu chốtđể thiết kế thực thi phan mêm thời gian thực Cũng đáng ngạc nhiên nói ngắt khơng đồng có van dé đáng bàn Để ý ứng dụng thu thập liệu dựa A/D đa kênh hình 8.9 Cứ chuyển đổi A/D thu thập tập hợp đữ liệu kênh, ngắt xử lý Chương trình dịch vụ ngắt đọc đữ liệu cất vào nhớ đệm, nơi mà chương trình khác (cịn gọi chương trình nền) tiếp tục xử lý Data Acquisition System A/D converter Main Program `` ISR Cur_temp = buffer{5]: Set_ temp = buffer|6]; if (Cur_temp != Set_temp) error(); Buffer ||l ¬—Ễ Hoat dong diéu khién ngat cho phép chung ta phảnúứng lại A/D cách nhanh chóng nhớ đệm tách chương trình nên khỏi ngn liệu, ví dụ: chương trình nên không cần quan tâm đến đữ liệu từ đâu mà có Bây xem đến đoạn mã lệnh ghi hình 8.9 Giá thiết thí nghiệm, cung cấp tín hiệu biến đổi liên tục vào cá kênh Đồng thời, giả thiết chương trình khơng bị “faiI” thực đo tín hiệu đồng Trong thực tế, chương trình viết chắn bị “fail” ngắt xảy cập nhật biến Cur_temp cập nhật biến Set_temp với kết giá tri cua bién Cur_temp cập nhật từ tập hợp liệu cũ trước đó, cịn giá trị biến Set_temp cập nhật từ tập hợp liệu thời Như vậy, tín hiệu đầu vào thay đối theo thời gian tập hợp liệu tách rời thời gian xác định, giá trị biến khác đó, chương trình “fail” Đây chất vấn đề lập trình thời gian thực Cần phải quản lý ngắt khôngdông bộđê chúng khơng xảy vào thờiđiêm khơng thích hợp 85/99 Có giải pháp, dù khơng hay cho lắm, để giải vấn đề Ta dùng lệnh vơ hiệu hố ngất (CLI) trước cập nhật biến Cz._/emp kích hoạt ngắt lệnh STI sau cập nhật biến $e/_/emp Việc làm giúp ngắt tránh khỏi phiền phức việc cập nhật liên tục đề cập Có vẻ sáng suốt sử dụng lệnh CLI STI chìa khố cho giải pháp đắn, đơn giản rải lệnh CLI STI code chương trình chẳng khác việc sử dụng lệnh “go to” biến toàn cục 86/99 Thiêt kê Hệ thơng nhúng Quy trình phát triển hệ thống nhúng Quá trình phát triển hệ thống nhúng thực theo chu trình sau: (1) (2) (3) ° (4) (5) (6) (7) Problem specification Tool/chip selection Software plan Device plan Code/debug Test Integrate Mơ hình hóa kiện tác vụ Phương pháp mơ hình Petrinet Năm 1962 Car! Adam Petri công bỗ phương pháp mô hình hình hoạ tác vụ hay trình theo phụ thuộc nhân phô cập rộng rãi biết tới ngày với tên gọi mạng Petr1 Mạng Petri sử dụng phố biến để biêu diễn mơ hình phân tích hệ thống có cạnh tranh q trình hoạt động Một hệ thống hiệu tơ hợp nhiều thành phần thành phân có thuộc tính Các thuộc tính có thê thay đôi đặc trưng biến trạng thái Một chuỗi trạng thái mô tả trình động hệ thống Mạng Petri thực giải pháp mô tả hệ thống động với kiện rời rạc tác động làm thay đôi trạng thái đôi tượng hệ thông theo điêu kiện cụ thê trạng thái hệ thông Mang Petri thiết lập dựa thành phân chính: (1) Các điều kiện, (2) kiện, (3) quan hệ luồng Các điều kiện có thê thoả mãn không thoả mãn Các kiện xảy khơng Và quan hệ luồng mô tả điều kiện hệ trước kiện xảy Các điều kiện đòi hỏi phải thoả mãn để kiện xảy chuyên trạng thái thực gọi điêu kiện trudc (precondition) Các điêu kiện mà thoả mãn kiện xảy gọi điêu kién sau (postcondition) 87/99 Quy ước biểu diễn mơ hình Petrinet P.= P= ip, P,P ity tạ tạ P,P.) tạ ts ì Kt, J={p,) (€Xt,)=Ip.,p„ Kt,)= ip,! O(t,) lít, )=‡p O(t,) = Ip,Ì vÍ lt,) =íp Mt lít, Ot M = ip, p.| = d= Ì (pit [ps ={p,t ,= (1, 0, 0, 0) Trong qui ước biêu diễn hình hoạ mạng Petri sử dụng vịng trịn đề biêu diễn điêu kiện, hộp đê biêu diện kiện, mũi tên biêu diên quan hệ lng Một ví dụ minh hoạ mạng PetrI mơ tả Hình 13.1, đó: ¢ P= {pl, p2 , pnp } tập gồm np vị trí biêu diễn mơ hình (được mơ tả vịng trịn) ¢ T= {tl , t2, , tnt } tập gồm nt chuyển đối tập chuyền đơi biểu diễn mơ hình (được mơ tả hình chữ nhật) ° I biéu diễn quan hệ vào chuyên đôi ký hiệu đường mũi tên theo hướng từ vị trí tới chuyên đôi ‹ O biểu diễn quan hệ khỏi chuyển đôi ký hiệu đường mũi tên theo hướng từ chuyền đổi tới vị trí °ồ M= {m1, m2 , mnp } dấu trạng thái chuyến đổi hệ thống Các giá trị mỉ số thẻ (được ký hiệu chấm tròn đen) chứa bên vị trí pi tập M Hệ thống động mơ tả mạng Petri nhờ chuyên dịch thẻ vị trí hệ thơng mơ hình tuần thủ theo luật sau: ° Một chuyên đổi phép thực thi tất vị trí vào chuyên đổi chứa thẻ - Khi chuyến đổi thực thi xong (hồn thành) thẻ bị loại khỏi vị trí vào chun đơi đồng thời bơ sung thêm thẻ vào vị trí đầu tương ứng chun đơi 88/99 Các trạng thái động hệ thống mô tả tập R(M⁄) đánh dấu dấu tập M Trong ví dụ có 5Š phân tử dâu tập R lân lượt làM1,M2,M3,M4, M5 Tương ứng sau: - MI=(1,0,0,0,0) M2=(0,1,1,0,0) M3=(0,1,0,0,1) M 4=(0, 0, 0,1,1) M 5=(0, 0,1,1, 0) Mơ tả tình hoạt động với Petrinet - Song song đồng bộ: Trong mô hình PN mơ tả Hình 9.2 (a), chuyến đổi t1 t2 phép thực đồng thời; hoạt động chúng không ảnh hưởng đến Các hoạt động mơ hình hai chun đổi thực song song Trong hệ thống dự phòng với độ tin cậy cao, mơ hình sử dụng để biểu diễn hai thành phần C1 C2 song song để đảm bảo hoạt động dự phòng; trường hợp vị trí p1 p3 biểu diễn điều kiện làm việc, vị trí p2 p4 biểu diễn điều kiện lỗi, t1 t2 kiện lỗi tác vụ C1 C2 cách tương ứng (a) Trong hoạt động song song, tác cần phải kết thúc điều kiện để thể thực nhờ bồ sung chuyển đơi t3 cần thẻ đồng thời (b) vụ hồn tồn độc lập, nhiên kiện cho chuyển đơi khác hoạt động đồng có chuyển đổi t3 mơ tả Hình 9.2 (b) Khi p2 p4 ° Chia sẻ đồng bộ: Một yếu tô đặc trưng hoạt động hệ thông phân tán thường phải chia sẻ số tài nguyên hữu hạn Sự thiếu thốn tài nguyên làm hạn chế hoạt động hệ thống q trình xử lý chí làm tắc nghẽn hệ thơng Việc mơ hình phân tích 89/99 hệ thống có tượng tắc nghẽn tác vụ khó khăn hầu hết q trình mơ hình có thê gặp phải b) P Đề minh hoạ tình này, biểu diễn hoạt động đệm với dung lượng hữu hạn mô tả PN Hình 9.3 Vị trí p3 mơ hình số vị trí đệm cịn trồng vị trí p2 mơ hình số vị trí điền đầy; ý tông thẻ chứa vị trí p2 p3 ln số (trong ví dụ 3) Chun đổi t2 mơ hình q trình điền đầy vị trí đệm hồn thành có vị trí đệm trống với thẻ chứa vị trí p1 p3 Chuyển đổi t3 phép thực có vị trí đệm điền Khi hoàn thành chuyên đổi t3, thẻ chuyển từ vị trí p2 sang vị trí p3 ¢ Tuan tự: Hoạt động mô tả minh hoạ hoạt động tạo sử dụng thông qua đệm Bộ tạo sinh đối tượng để đưa vào đệm lay sử dụng Quá trình sử dụng phải thực cách tuân tự theo q trình tạo đối tượng Mơ hình cho hoạt động diễn tả PN Hình 9.4 (a) Thẻ chứa vị trí p1 có nghĩa tạo sẵn sàng thực Khi chuyển đổi t1 t2 hồn thành đối tượng tạo (một thẻ tương img chuyền vào đệm mô hình vị trí p5) tạo lại sẵn sàng trở lại Nếu sử dụng có nhu cầu tiêu thụ (được mơ hình thẻ chứa vi tri p3 ) có đối tượng đệm thẻ chứa vị trí p5 lấy chuyền đổi t3 hoàn thành 90/99 producer hy (a) consumer producer D consumer (b) Trong cách mơ tả Hình 9.4 (a) việc tạo sử dụng thực thông qua đệm với giả thiết có dung lượng vơ hạn Trong thực tế đệm hữu hạn, để mô tả hoạt động với đệm loại Hình 9.4 (b) sử dụng Vị trí p6 mơ hình vị trí đệm cịn trồng vị trí p5 mơ hình vị trí đệm điền Tổng số lượng thẻ chứa vị trí p5 p6 phải số Nếu thẻ gán cho vị trí p5 dấu khởi tạo tạo khơng thể tạo thêm đối tượng chừng sử dụng chưa tiêu thụ đối tượng đệm Loại trừ xung đột Hai tác vu Cl C2 phép làm việc song song chia sẻ tài nguyên CS, không truy nhập vào tài nguyên đồng thời Gian dé PN cho hoạt động mô tả Hình 10.5 Các vi tri pl va p5 biểu điễn tác vụ C1 C2 làm việc độc lập; vị trí p2 p6 biểu diễn yêu cầu tác vu Cl C2 cách tương ứng muốn truy nhập vào tài nguyên chia sẻ CS; p3 p7 biểu diễn C5 bị chiếm dụng tác vụ CI C2 cách tương ứng VỊ trí p4 mơ tả định xem tác vụ có thê truy nhập tài nguyên Cs tránh vị trí p3 p7 bị đánh đầu đồng thời Thực tế p2 pó đánh dấu chuyển đổi t2 t5 xung đội Việc hoàn thành hai tac vu khố/cắm lẫn Việc hồn thành chuyển đơi 91/99 t3 t6 mơ hình việc giải phóng nguồn tài nguyên chung (chuyển thẻ trở lại vị trí p4) trở vê điêu kiện làm việc bình thường Ngơn ngữ mô tả phần cứng (VHDL) VHDL (Very High Speed Integrated Circuit Hardware Description Lanuage) ngôn ngữ chung để mô tá thiết kế phân cứng mức phân tử logic cầu thành nên hệ thống phát triển tổ chức quốc phòng Mỹ Mục đích dé thuận tiện cho việc trao đôi liệu thiết kế phần cứng theo định dang chuan ma moi người hiểu thông dịch, tạo điệu kiện thuận lợi việc phối hợp hay hợp tác dự án thiết kế Đặc biệt thuận tiện việc chuyền đơi hay tông hợp biên dịch thành dạng ngôn ngữ thực thi phần cứng thực Điều khó thực ngôn ngữ bậc cao C với VHDL điều ưu điểm bật mạnh việc mmơ hình hố hệ thống, mô tả cách tiết phần tử cứng cầu thành tham gia hệ thống VHDL chuẩn IEEE (Std - 1076) hỗ trợ nhiều nhà cung cấp phát triển phan cứng Ứng dụng cách chuyên nghiệp ngôn ngữ phục vụ cho việc mô tả mạch ASICs phức hợp, chê tạo thực th1 mạch FPGA Ngơn ngữ VHDL có thê đọc hiểu đễ dàng với câu trúc cú pháp rõ ràng gần giống ngơn ngữ Visual Basic Pascal Nó có thê phát huy mạnh cú pháp để định nghĩa xây dựng kiểu đữ liệu hỗ trợ cho việc lập trình theo nhóm Với xu nhóm phát triển thực thi với điều kiện cách xa khoảng cách địa lý, việc phối hợp thiết kế theo nhóm cần thiết 92/99 Thiét ké cac phan mém diéu khién Thiét ké phan mém diéu khién 4#) 4? {12 —+ D-A ;{ Computer eq rt) A-D Đề thực thi điều khiển số thiết bị vật lý thực phải đòi hỏi xét xem điều khiển với mơ hình hàm truyền cho thực hóa khơng Điều kiện phải xét thực đề đảm bảo rang khơng có đầu hệ thống lại xuất trước có tín hiệu vào Hay nói cách khác hệ thơng xây dựng phải tuân thủ tính nhân Nêu khai triên hàm truyên điêu khiên sô mô tả dạng tông quát: bt hs eee bh a, et azi~ -l t-te Qs "” _x thành chuỗi lũy thừa theo z phải khơng phép chứa phần tử chứa lũy thừa dương z Hay nói cách khác điều khiển mơ tả phải có bậc < tức bậc tử số phải nhỏ bậc mẫu số (n > m) Sau thiết kế điều khiến số việc cịn lại lập trình nạp vào điều khiến vật lý khả trình Thực chất trình thực thi hàm truyền điều khiển số lập trình số điều khiến vật lý có Ở chủ yếu quan tâm đến việc triển khai để chuẩn bị cho bước lập trình hàm truyền điều khiển số Xuất phát từ mô tả hàm truyền dạng tổng quát điều khiến số: G.=UŒ)„ h+hz” = tt be =— E(2) tal teeta :“ đó, a0 # b0 # ; m n số nguyên dương Có thẻ triển khai để thực thi hàm truyền điều khiến số theo cách sau: Triển khai lập trình số trực tiếp 93/99 Để triển khai lập theo phương pháp lập trình trực tiếp hàm truyền điều khiển cho biêu diễn miên z phải chuyền đổi dạng hàm truyễn rời rac: ay (the Sau (t= kT = S" be’ (t= ¿« kT) i=) Từ đẳng thức dé dang tinh giá trị đầu u * (t ) điều khiến số cho theo giá trị khứ đầu vào e* (t ) giá trị q khứ w'(th=—S * l = tây i=) be’ (t-kT)-— SS au (t= kT) + * l - tây t=! + ‘re Đê thực điêu khiên yêu câu phải lưu trữ giá trị khứ đâu vào đầu điêu khiên Với điêu khiên cho yêu câu phải có n + m gia tri can phải lưu trữ hay nói cách khác cân phải có n + m phân tử lưu trữ Một đầu quát biến đầu phương pháp khác đề triển khai lập trình trực tiếp sử dụng chế tách trực tiếp vào đầu điều khiến theo biến trung gian X(Z) Khong mat tinh tông nhân tử mẫu hàm truyền điều khiển số cho với X(z) Từ rút hàm truyền đầu vào E(z) theo X(z) hàm truyền U(z) theo X(z) Phương pháp thực sau: - l =8 L(z)=—(h +hz” +: ‹+b cà a ˆ l X\Œ)=—=£(z)~ € € u (az *®a,z z")VŒ) -2 ”+.‹+a.z ~#x sx À (5) u Theo phương pháp nảy yêu câu SỐ phân tử lưu trữ giá trị n, bậc đa thức mẫu số hàm truyền điều khiển số cho Từ dang thức ta dé dàng xây dựng giản đồ trạng thái mô tả hàm truyền điều khiến số (giả thiết m=n=3) , — _ b, a“ L(z) = b et pm —¬ a A ~~, h ` — a ằ â*>>x>=> - ' ao / (2 a ~ : “ - SA” ate£ “ - ~ “ é - a Z ~ a ⁄Z oy ~ (2) * Triển khai lập trình số ghép tầng 94/99 Cách triên khai yêu câu chuyên đôi điêu khiên vệ dang tích hàm truyền đơn giản đê có thê dê dàng thực băng chương trình đơn giản Hay nói cách khác điêu khiên sô cho kêt ghép tâng nhiêu điều khiên nhỏ Triển khai lập trình số song song Bộ điều khiển cho tách thành tổng điều khiển đơn giản có thê thực lập trình song song cho điêu khiên Một số phương pháp phát triển phần mềm nhúng main{) { int a=98,b; ->b=a-32; li “= & 9-03 Communications Link a m oy d oY m1 L66c6E6šXX€Xýd4SSEdSvvYfevessxdks LÍC San “Target Host Trong trình phát triển, phần mềm cần phải thử nghiệm với đối tượng điều khiên Tuỳ thuộc vào mơi trường phát triên có thê tiên hành theo sơ phương pháp sau Mơ hình Offline A ` ` L2 Thời gian » > hình Mo hinh Offline Khéu Trong hệ chạy q trình tồn mô = Thời giún a thực M6 hinh Offline DC x ` Doi tượng điều khién thống phát triển nên phân cứng nhúng đích mơ phóng mơ hình PC đơi tượng điều khiển mơ hình mơ chạy PC Vì phát triển thực chất q trình chạy mơ hệ thống thực hoàn PC Với hệ thống không thê thử nghiệm cho kiện đáp ứng thời gian thực thời gian mơ khác với thời gian diễn biến thực hệ thống Hệ thống phát triển (Software in the loop) uw gian mô hình Interpreter Ỷ phan mém DC Mã ví mạch Khau DC = Thửn gian thực Mơ hình Offline % v Th Đơi tượng điều khiến 95/99 Hệ thống mô nên phần cứng thực PC cho đáp ứng hành vi giống với vi mạch cứng thực mơ hình đối tượng mơ hình thực thi PC Loại hệ thống tương tự hệ thống mô offline nhiên có ưu điểm khả mơ hành vi đáp ứng v1 mạch nhúng xác trung thực Và có nhược điểm khơng thử nghiệm tốn thời gian thực Mô thời gian thực Thờ ran từ ——w = Phan #1 mém tren DC < ` Thời gian thực : M6 hinh u x thời gian phấn: cứng thưc Kháu Hệ thống hình thời gian hình đơn giản đối tượng Rút tơ hính thực ĐC Đì) > tượng điều khiến sử dụng phần cứng nhúng đích thực thực khơng phải đối tượng thực Ưu điểm trình phát triển để thử nghiệm ngắt đơn giản hóa cơng việc xây dựng đối tượng mơ mềm dẻo thay đổi cầu với hành vi khác đối tượng Mơ hình phát triển thực w ’ > “Thừi gian mơ hình Mơi trường phat trién 23 thời gian thực (Phan mém BC) Khau DC = Thời gian Déi thee tudng (M6 hink thuc | vat ty) = = Dei tượng diéu khién Hệ thống sử dụng nên phần cứng nhúng đích thực với đối tượng thực Tuy nhiên có hỗ trợ cơng cụ phát triển để có thê cài đặt thử nghiệm trực tiếp phan cung thuc Day dạng mô hình cho kết trung thực xác dạng hệ thông phát triên nêu Tuy nhiên phần cứng thường phát triển hỗ trợ nhà cung cấp để có thê tương thích với cơng cụ phần mềm kèm theo 96/99

Ngày đăng: 31/05/2023, 13:09

Xem thêm: