Tài liệu trình bày về các bài tập, ngân hàng đề thi và các phương pháp giải cho hệ thống nhúng PTIT hỗ trợ các bạn phục vụ học tập và nghiên cứu.
Sân chơi giới trẻ PTITers Youtube.com/PoppinKhiem @Twitter @VK @Ok.ru @Linklin @Slideshare @Github are available GIẢI NGÂN HÀNG HỆ THỐNG NHÚNG PTIT Allahu akbar! Câu Khái niệm hệ thống nhúng???? -Định nghĩa tổng quát: hệ thống nhúng thuật ngữ để hệ thống có khả hoạt động tự trị nhúng vào môi trường hay hệ thống khác quy mơ phức tạp Đó hệ thống tích hợp phần cứng(là hệ thống máy tính xây dựng sở sử dụng vi xử lý- microprocessor-based sytem) phần mềm nhúng phần cứng để thực toán chuyên biệt -Định nghĩa theo tổ chức IEEE: hệ thống nhúng hệ thống tính tốn(máy tính số)nằm (hay nhúng vào) sản phẩm khác lớn thông thường ẩn người sử dụng Nói rộng đơn giản hơn, hệ thống tính tốn( PC, IPC, PCL, vi xử lý, vi hệ thống( microcontroller), DSP….) nhúng vào sản phẩm hay hệ thống thực số chức cụ thể hệ thống ta gọi hệ thống tính tốn hệ thống nhúng 1.2 HT hệ thống nhúng (A,B,D,E) A.Các hệ thống y tế B.Các hệ thống điều khiển quy trình cơng nghiệp C Các thiết bị truyền thơng kỹ thuật số D.Các hệ thống có độ tin cậy cao cao 1.3 Nêu tên số lĩnh vực đời sống công nghiệp có sử dụng ưng dụng hệ thống nhúng Kể tên thiết bị nhúng sử dụng: Ô tô: Đánh lửa điện tử, điều khiển động cơ, hệ thống phanh, Y tế: Máy thẩm tách, máy pha- lọc, máy trợ tim Mạng thông tin (WAN, LAN, thoại): Bộ định tuyến, gateway, chuyển mạch mạng 1.4 HTN mà máy tính đa hay máy tính chuyên dụng ? A.Hệ thống nhúng máy tính chuyên dụng, dùng cho ứng dụng đặc biệt B.Phần mềm hệ thống nhúng phần mềm hướng ứng dụng C Ví dụ phần mềm hệ thống chạy hệ thống nhúng là: Monitor , RTOS hướng đích 2.1 a Hãy nêu đặc điểm môi trường mà hệ thống nhúng hoạt động b Cho ví dụ hệ thống nhúng nêu đặc điểm mơi trường mà hệ thống nhúng hoạt động Các hệ nhúng thường phải hoạt động môi trường khắc nghiệt cơng nghiệp, qn đội, cần có độ nóng ẩm, nhiệt độ cao, rung, ẩm thấp, độ rung động lớn, nhiễu sóng điện từ Một số ví dụ điển hình hệ thống nhúng hệ thống đường dẫn khơng lưu, hệ thống định vị tồn cầu, vệ tinh Các thiết bị gia dụng : tủ lạnh, lò vi sóng, lị nướng…mơi trường nhiệt độ cao, độ ẩm lớn, độ rung lớn 2.2 Tại nói hầu hết hệ thống nhúng hoạt động với ràng buộc thời gian ? -Phần lớn hệ thống nhúng hoạt động với ràng buộc thời gian: yêu cầu có thời gian cho (đáp ứng) đầu nhanh, thời điểm, mối tương quan với thời điểm xuất (sự kiện) đầu vào -Hệ thống nhúng có khả đáp ứng với kiện bên (từ tác nhân bị kiểm soát) nhanh nhạy, kịp thời, tức khả theo thời gian thực: +Các tác vụ có đáp ứng ràng buộc thời hạn chót (deadline) +Thời gian phát lỗi phải ngắn (tối thiểu); +Khi chạy chu trình vịng lặp điều khiển phần mềm phải có đáp ứng đầu thời hạn; 2.3 a Nêu kiểu hoạt động hệ thống nhúng: -Hệ thông minh -Hoạt động độc lập: nhận đầu vào từ tác nhân bị điều khiển, xử lý cho đầu Thời gian có đầu (đáp ứng) phải khung thời gian định theo ý đồ thiết kế -Hệ liên kết tự độngHoạt động có liên kết với HTN trung tâm kiểm soát khác -Hệ tự phản ứng với kiện b.Hệ thụ động, nhạy cảm với kiện, với thời gian, tự phản ứng với kiện 2.4: BUS gồm thành phần hợp thành ? a.Bus CPU bao gồm : Bus địa chỉ, Bus liệu, Bus điều khiển -Bus địa : Trong trình hoạt động, CPU điều khiển bus địa tới vị trí chuyển giao từ bên từ CPU Địa vị trí nhớ vị trí vào/ra.xd -Bus liệu: CPU điều khiển suôt chu kỳ ghi liệu thiết bị khác điều khiển suốt chu kỳ đọc, vận chuyển lệnh liệu bên CPU -Bus điều khiển: điều khiển CPU Bus điều khiển định loại chu kỳ diễn liệu đưa lên bus b BUS HT = BUS CPU + mạnh hỗ trợ mở rộng BUS CPU: tách tín hiệu dồn kênh, khuyếch đại, tạo tin hiệu điều khiển riêng biệt 2.5: Hệ thống nhúng tướng tác với mơi trường vật lí nào, phương tiện, cơng cụ ? Nêu số ví dụ ? Hệ thống nhúng tương tác với môi trường vật lý qua nhiều phương thức : - Qua cảm biến (sensor), ghép nối vào hệ thống nhúng dây dẫn, hay không dây - Thông qua chuyển đổi tín hiệu ADC, DAC -Thơng qua ghép nối, hợp chuẩn liệu b Một số ví dụ : Phương tiện, cơng cụ :-Phương tiện để tương tác với môi trường vật lý : chuyển đổi tín hiệu : tương tự-số ADC, số-tương tự DAC - Công cụ để tương tác với môi trường vật lý : ghép nối hợp chuẩn tín hiệu Các mạch ghép nối vào/ra mạch điện tử cho phép CPU trao đổi liệu với thiết bị ngoại vi bàn phím, hình, máy in… 2.6: Cho mơ hình qui trình điều khiển cơng nghệ có ứng dụng hệ thống nhúng hình sau :Khoanh vùng cho biết hệ thống nhúng phần ? Vùng Nửa hình vẽ \ Các thành phần hợp thành hệ thống nhúng : phần cứng, phần mềm, RTOS(Real Time Operating System) 2.7 :Để xây dựng kiến trúc cho hệ thống nhúng, phải tuân thủ bước Các bước bước ? Nêu pha trình thiết kế hệ thống nhúng ? Trả lời : bước để xây dựng kiến trúc cho hệ thống nhúng gồm : -Cần kiến thức tốt phần cứng (thiết kế logic, kiến trúc máy tính, kiến trúc CPU, ngoại vi, hệ điều hành…) -Thị trường: Cần nhận yêu cầu thị trường có tác động vào quy trình thiết kế, bao gồm : kỹ thuật, xu hướng thương mại, ảnh hưởng trị, xã hội -Mẫu hệ thống mẫu mô tả hệ thống, chứa đựng đặc tả khác thành phần phần cứng phần mềm, chức năng, liên kết, giao tiếp -Các cấu trúc: Đây bước tạo kiến trúc HTN Kiến trúc HTN hình thành cách phân định tồn HTN thành thành phần phần cứng, phần mềm, sau thành phần lại phân định đến chi tiết -Phân tích đánh giá kiến trúc: kiến trúc có đạt yêu cầu, kiến trúc khác với yêu cầu có chất lượng nhau, đánh giá xu hướng rủi ro hệ thống, hỏng hóc có thể, hiệu chỉnh -Viết tài liệu: Tài liệu toàn hệ thống theo chuẩn tài liệu, Tài liệu cấu trúc, Tài liệu tổng thể kiến trúc hệ thống -Các pha trình thiết kế HTN : Xác định yêu cầu, phân tích, thử nghiệm đánh giá, sản xuất sản phẩm Pha 2,3 lặp lại 2.8 :Thế phân hoạch phần cứng phần mềm thiết kế hệ thống nhúng ?Thế qui trình đồng thiết kế phần cứng phần mềm đồng kiểm nghiệm ? Trả lời : a.Phân hoạch phần cứng phần mềm thiết kế HTN : Là đặc tả, ấn định chức cho phần cứng phần mềm, sau thiết kế, mơ hợp b.Qui trình đồng thiết kế phần cứng phần mềm đồng kiểm nghiệm : Trong kĩ thuật này, thiết kế phần cứng phần mềm tiến hành song song, phản hồi-hiệu chỉnh thực liên tục, có kết tốt qua đồng kiểm nghiệm Phần cưngs phần mềm chạy máy ảo phần cứng VHDL -> máy ảo, phần mềm máy ảo -> hiệu chỉnh liên tục -> máy đích 2.9:Hãy đặc tả tác vụ thực khởi động hệ thống nguội (cold boot) khởi động nóng (warm boot)?Hãy cho ví dụ cách khởi động với loại CPU tự chọn? Trả lời: Các tác vụ thực khởi động hệ thống: Khởi động nguội (cold boot): Bật nguồn (khởi động phần cứng), đưa vi mạch, phân vùng nhớ, không gian địa chỉ…vào trạng thái ban đầu Sau hết chương trình nạp hệ thống (boot loader) “nhảy” tới địa RESTART hay START phần mềm hệ thống để chuyển điều khiển cho Khởi động nóng (waerm boot): CTRL + DEL, bỏ qua số test phần cứng Ví dụ cách khởi động với loại CPU tự chọn: Intel CPU 8085: RESET IP = 0x0000 địa EPROM: khởi động chế độ nối với Console (Keyboard), sau nhảy chương trình khởi động hệ: JMP CLDST (khởi động nguội) địa 0x01F1 2.10:Khi thiết kế HTN cần xây dựng mô hình tắc (formal model) với u cầu đặt Vậy yêu cầu yêu cầu gì? Trả lời: Xây dựng mơ hình tắc hệ thống với yêu cầu sau đây: -Xác định chức năng: xây dựng tập mối quan hệ tường minh hay không tường minh liên quan tới đầu vào/đầu thông tin trạng thái bên hệ thống -Xây dựng tập thuộc tính mà thiết kế phải thỏa mãn Kết hợp thuộc tính tập quan hệ vào/ra, trạng thái hệ thống, xác định lại chức hệ thống -Xây dựng tập số hiệu để đánh giá thiết kế theo tiêu chí: giá thành, lượng, độ tin cậy, tốc độ xử lý, kích thước… -Xây dựng tập khác biệt coi thách thức thiết kế, đề giải pháp giải -Thực tinh lọc thiết kế để có thiết kế từ ý tưởng đến mơ hình Xây dựng mơ hình hình thức: bước sàng lọc sử dụng cách tổng hợp phần cứng phần mềm để chuyển hóa xác định chức vào mơ hình phần cứng thiết kế thể hình Ko đc bỏ hình vẽ 3.1 Nêu thách thức phải đối mặt thiết kế hệ thống nhúng ? -Khả đáp ứng với kiện bên phải nhanh nhạy, kịp thời, tức khả theo thời gian thực -Các tác vụ có đáp ứng ràng buộc thời hạn chót -Thời gian phát lỗi phải ngắn -Khi chạy chu trình vịng lặp điều khiển phần mềm phải có đáp ứng đầu thời hạn -Khi chạy chu trình vịng lặp điều khiển phần mềm phải có đáp ứng đầu thời hạn -Có khả làm việc mơi trường khắc nghiệt -Có giá thành thấp hay hiệu hoạt động, giá thành hợp lý -Kích thước nhỏ gọn, nhẹ, dễ dàng dễ vận chuyển, lắp đặt -Tiêu thụ lượng thấp, khả sử dụng nguồn pin, ắc quy -Hoạt động tin cậy, chịu lỗi cao -Tin cậy : đáp ứng dịch vụ yêu cầu thời hạn sau thời gian từ t0->t -Độ tin cậy cao đạt ~ 10-9 cố / -Tính sẵn sàng cao : thời gian sửa chữa cố trung bình MTTR, tinh sẵn sàng A=MTTF/(MTTF + MTTR) -An toàn bảo mật -Khả cấp phần mềm dự phòng nâng cấp phần cứng 3.2 :Các tiêu chí phân loại hệ thống nhúng Tại HTN có khác Hệ thống nhúng hoạt động đâu Hoạt động độc lập : nhận đầu vào từ tác nhân bi điều khiển, xử lý cho đầu ra.Thời gian có đầu (đáp ứng) phải khung thời gian định theo ý đồ thiết kế Hoạt động có liên kết với HTN trung tâm kiểm soát khác Loại gọi HTN mạng Lĩnh vực ứng dụng Cơng cụ tính tốn máy tính để chạy tốn định Xử lý tín hiệu: thiết bị video thời gian thực, DVD player, thiết bị y tế… Truyền thông, mạng: thiết bị mạng router, switch Hệ thống điều khiển thu thập liệu Kiến trúc quy mô HTN quy mô nhỏ với xác định sau : Phần cứng phức tạp, thiết kế với CPU đơn, loại 4, bits Phần mềm đơn giản, dùng monitor để kiểm sốt hoạt động Cơng cụ phát triển phần mềm : soạn thảo chương trình, hợp ngữ hợp ngữ chéo, môi trường phát triển hợp sử dụng với vi điều khiển chọn Tiêu thụ lượng HTN quy mơ phức tạp Phần cứng phức tạp : thiết kế với CPU 8, 16 ay 32 bits, hay sử dụng vi điều khiển Hệ thống có cấu trúc BUS mở rộng để ghép nối thiết bị ngoại vi Phần mềm nhúng tinh vi, có hệ điều hành để thực nhiệm vụ, thao tác đồng thời Công cụ lập trình: C/C++/Visual C++/Java, RTOS, mã nguồn, cơng cụ ki thuật: Simulator, Debugger Môi trường phát triển hợp HTN tinh vi Phần cứng phần mềm đặc biệt Nhiều CPU mở rộng, hay CPU cấu hình hay mảng logic lập trình Phát triển cho lớp ứng dụng ứng dụng loại cần phải có q trình thiết kế đồng thời phần cứng phần mềm, hợp linh kiện hệ thống cuối cùng, sử dụng công nghệ ASIC để chế tạo CPU, vi mạch đồng xử lý HTN phần cứng hay HTN phần mềm HTN theo an toàn cố, hay tự an toàn HTN đáp ứng bảo đảm hay đáp ứng với nỗ lực tối đa HTN với nguồn tài nguyên đầy đủ hay nguồn tài nguyên hạn chế HTN phản ứng với kiện hay phản ứng với kiện có thời hạn 3.2.2 Tại HTN có khác Phần cứng đơn giản hay phức tạp ứng dụng định :HTN dành để thực tác vụ riêng biệt Các tác vụ riêng biệt phần lớn liên quan tới xử lý khác chuyên biệt, kiện, trạng thái qui trình cơng nghệ … Về phần cứng, HTN thiết kế từ nhiều loại CPU nhúng CPU nhúng thân chúng lại có kiến trúc khác Phần mềm đơn giản hay phức tạp ứng dụng định:Về phần mềm cở sở từ đơn giản tinh xảo, hệ điều hành thời gian thực (RTOS-Real Time Operating System) 3.3: Hãy nêu khác biệt thiết kế hệ thống nhúng kiểu bo mạch : Trả lời (1)Hệ thống nhúng xây dựng từ vi xử lí (2)Hệ thống nhúng xây dựng từ vi điều khiển (1)Có CPU độc lập (2)CPU dạng lõi chuyên biệt (1)Có RAM, ROM, định thời (2)RAM, ROM, định thời, (1)I/O độc lập (2)I/O vi mạch đơn (1)Khả mở rộng RAM, ROM, I/O tùy ý (2)RAM, ROM có dung lượng cố định, I/O đủ cho mục đích sử dụng (1)Đa năng, đắt tiền (2)Khơng đa năng,tiêu hao lượng, giá hợp lí cho ứng dụng nhúng (1)Thiết kế chức (2)Thiết kế chức (1)Cần phải có vi mạch RAM, ROM hợp thành từ bên ngồi vi mạch 2)Được thiết kế để có tất Chip (1)Không thể kết nối với ngoại vi ngoại vi, cần có thêm vi mạch hỗ trợ cho chức (2)Năng lực tính toán thiết kế tối ưu cho ứng dụng xác định (1)Tuy nhiên lực tính tốn mạnh (2)Rất phù hợp để xây dựng HTN 3.4 Cho biết tên gọi kiểu kiến trúc ? Kiểu kiến trúc thích hợp để xây dựng hệ thống nhúng (kiểu hay kiểu 2)? Kiểu 1: kiến trúc Havard Kiểu 2: kiến trúc Von Neumman Điểm khác biệt hai kiến trúc chổ ? Bus kiến trúc Havard tách riêng cho lệnh liệu riêng biệt Bus kiến trúc Von Neumman dùng chung cho lệnh liệu Tại ? -kiến trúc Havard thích hợp Vì : việc dùng tách riêng bus cho lệnh liệu giúp tốc độ xử lí nhanh hơn, việc đọc liệu thực xảy đồng thời 3.5 ADC, DAC A ADC biến đổi tương tự->số, số hóa cho máy tính xử lí số liệu B DAC biến đổi số->tương tự, tín hiệu tác động lại hệ thống tương tự bị điều khiển, ví dụ tí hiệu phản hồi, tí hiệu hiệu chỉnh C Để chọn ADC cần thông số bản:Kiểu ADC cho loại ứng dụng/Thời gian biến đổi /Độ phân giải/Tín hiệu đối thoại với CPU 3.6:Khi nghiên cứu CPU để thiết kế hệ thống vi xử lí hệ thống nhúng, có số khái niệm sau A/Một trạng thái máy : định nghĩa thời gian chu kỳ xung đồng hồ hệ thống (CLK) Một chu kỳ máy: tập hợp số trạng thái máy để CPU hay vi mạch nắm quyền kiểm soát Bus hệ thống, thực xong thao tác bus hệ thống B/ Một chu kỳ lệnh tập chu kỳ máy cần thiết để hồn thành lệnh máy C/Tác động: Tính tốn số CLK, qui đổi thời gian, tối ưu lệnh, tính tổng thời gian cho đáp án 3.7:Cho mơ hình kiến trúc hệ thống hình vẽ Hãy giải thích chức khối ‘GIAO DIỆN VỚI CPU’, lí có mặt khối ? Các chức : Các vi mạch khuyếh đại BUS, Tách địa chỉ/dữ liệu từ BUS dồn kênh CPU, Tạo BUS hệ thống mở rộng Lý do: Tín hiệu phát sinh từ CPU thường có cơng suất thấp đủ cho số tải danh định (fan-out), không đủ để mở rộng BUS, bus dài có nhiều thiết bị nối với Chính mà hầu hết BUS nối số vi mạch khuyếch bus (bus driver), vi mạch khuyếch đại tín hiệu số A.Thế BUS đồng ? Có xung đồng hồ hệ thống CLK làm chuẩn cho hoạt động BUS Bus đồng có tín hiệu đường dây BUS clock dạng sóng vng, với tần số ví dụ, khoảng vài MHz ÷ GHz Mọi hoạt động bus xảy qui chiếu vào BUS Clock, số nguyên lần chu kỳ gọi chu kỳ bus B.Thế BUS không đồng ? Bus không đồng không sử dụng xung BUS clock, chu kỳ kéo dài tuỳ ý khác cặp thiết bị khác nhau, gọi đối thoại tín hiệu điều khiển Các tín hiệu điều khiển đồng hoạt động hệ thao tác vi mạch chức CPU BUS, ví dụ để “đối thoại” 3.8:Trình điều khiển thiết bị ? Chức trình điều khiển thiết bị ? Là phần mềm để khởi động phần cứng phần mềm lớp cao sử dụng để quản trị truy nhập vào phần cứng ghép nối vào máy tính Phần mềm tương tác trực tiếp điều khiển phần cứng tổ chức dạng thư viện phần mềm Khi máy tính có hệ điều hành TĐKTB cầu nối phần cứng hệ điều hành A.Chức trình điều khiển thiết Ghép nối mềm phần mềm hệ thống (hay CPU) hệ thống nguồn tài nguyên phần cứng hệ thống Các chức như:Khởi động phần cứng ,Tắt máy ,Cấm phần cứng hoạt ,Cho phép hoạt động (Hardware Enable),Dành lấy phần cứng (Hardware Acquire).Giải phóng phần cứng (Hardware Release) Đọc/ghi liệu (Hardware Read/write)Cài tháo dỡ phần cứng (Hardware Install/Uninstall): B.Nhìn theo kiến trúc phần mềm máy tính, trình thiết bị đặt đâu ? Dưới phần mềm hệ thống phần cứng 3.9.Thế trình điều khiển xác định theo kiến trúc Đi theo kiến trúc (architecture-specific) HTN Quản trị phần cứng hợp với CPU Các kiến trúc kiểu microcontroller, hay kiến trúc Havard với nhớ chip, cổng, vi mạch quản trị nhớ (memory management Unit-MMU), phần cứng dấu phẩy động, ADC/DAC hợp bo mạch, thuộc lớp Thế trình điều khiển tổng quát (hay trình điều khiển bo mạch) Điều khiển thiết bị nằm bo mạch khơng hợp vào chip với CPU Đa dụng, hổ trợ cho nhiều kiến trúc khác có dùng cung loại thiết bị tương thích Hãy nêu số loại trình điều khiển thiết bị điển hình ? Điều khiển BUS I2C, PCI, cache L2, MMU,mạng, xử lí kí tự i/o, ISR 3.10Nêu thao tác trình điều khiển thiết bị kích hoạt ? 5.8: Hãy thiết kế module ROM với kiện sau đây: - Dung lượng module 32 KB - Sử dụng chip ROM loại 2732, dung lượng 4KB/chip - Giải địa từ FFFF-8000 - Hãy vẽ sơ đồ thiết kế giải thích nguyên lí hoạt động Bài làm : bước cần thực Dung lượng module ROM cần thiết kế 32KB Chíp 2732 dung lượng 4KB Số lượng chíp cần dùng 32/4=8 chíp Chip ROM dung lượng 4KB/ chip hay 4K x bit ( 4K địa chỉ, địa có độ dài bit=1 byte) Để truy cập 4K địa cần 12 đường địa (do 212= 4069), từ A11 -> A0 Để truy cập vào chíp chíp cần đường địa : A14, A13, A12 Để xác định vùng địa cần đường địa : A19-> A15 Địa đầu 8000 hex tương ứng 1000 0000 0000 0000 Tính khơng gian địa Sơ đồ thiết kế chi tiết : Giải mã thứ có đầu vào từ A19-A15 32 đâu chọn vùng địa Với giá trị: 00001 , chọn vùng địa yêu cầu (8000-FFFF)hex = 32 K, có đầu cho phép giải mã thứ hoạt động Giải mã thứ hai dùng A12- A13-A14 tạo CS/ chọn chip, A11-A0 chọn ô nhớ chip 5.9: Cho trước bảng giá trị để thiết kế nhớ RAM với chip loại 4KB/chip sau đây: Địa đầu/địa cuối (HEX) ? Chip F8000 F8FFF Chip F9000 F9FFF Chip FA000FAFFF Chip FB000 FBFFF Chip FC000 FCFFF Chip FD000 FDFFF Chip FE000 FEFFF Chip FF000 FFFFF - - - - - 5.10: Cho thiết bị ngoại vi có khả ghép nối với hệ vi xử lí với thơng số sau đây: Trao đổi liệu vào hệ vi xử lí lần bit, Có thơng báo cho CPU biết qua tín hiệu Strobe (STB) có sẳn liệu để CPU đọc vào : CPU cung cấp hai cổng với địa sau: 300 (hex): cổng để thiết bị thơng báo có liệu sẳn sàng để CPU đọc vào; 301(hex): địa cổng ghép nối thiết bị đặt liệu vào CPU đọc liệu vào a.Hãy chọn giải pháp thiết kế, lên sơ đồ thiết kế ghép nối b.Phát thảo lưu đồ trình điều khiển ghép nối Trả lời: Có thơng báo cho CPU biết qua tín hiệu Strobe (STB) có sẳn liệu để CPU đọc vào nên Vào/ra số liệu có điều kiện, điều khiển chương trình.và đọc vào có đối thoại Về mặt thực hiện, cần cổng: cổng để đọc trạng thái thiết bị, cổng để trao đổi liệu vào hay Trạng thái thông thƣờng mức dộ đơn giản cần bit để thể hiện, ví dụ STATUS=1, thiết bị sẳn sàng , ngƣợc lại - Cần CS0/ để đọc trạng thái READY thiết bị qua port_status, giả định nối vào D0 BUS liệu - Cần CS1/ để đọc liệu qua port_in, hợp thành từ Flip/flop, cổng 3-state, nối vado bit D0 BUS liệu Các bước thực hiện: - CPU đƣa địa port_status BUS địa chỉ, vào giãi mã, tạo CS0, đọc STATUS, giá trị bit READY D0 (IN port_status) - CPU kiểm tra giá trị READY - Nếu READY=0, quay lại đọc STATUS NếuREADY=1, CPU đọc liệu vào ACC (IN port_in) - Thực lệnh cất liệu vào RAM - Lưu đồ điều khiển: 5.11: Cho thiết bị ngoại vi có khả ghép nối với hệ vi xử lí với thơng số sau đây: -Nhận liệu từ hệ vi xử lí lần bit, -Có thơng báo cho CPU biết qua tín hiệu Strobe (STB) thiết bị sẳn sàng nhận liệu, để CPU gởi liệu cho thiết bị: CPU cung cấp hai cổng với địa sau: 300 (hex): cổng để thiết bị thông báo sẳn sàng nhận liệu từ CPU; 301(hex): địa cổng để CPU gởi liệu cho thiết bị a Hãy chọn giải pháp thiết kế, lên sơ đồ thiết kế ghép nối b.Phát thảo lưu đồ trình điều khiển ghép nối Trả lời Dựa theo đề : thiết bị ngoại vi nhận liệu từ vi xử lý có thơng báo cho CPU biết thiết bị sẵn sàng để nhận liệu (tức có điều kiện) để CPU gửi liệu cho thiết bị Đưa có đối thoại Thiết kế mạch ghép nối đưa tín hiệu có đối thoại : Bộ VXL kiểm tra trạng thái thiết bị ngoại vi Nếu thấy thiết bị ngoại vi sẵn sàng nhận gửi tín hiệu ghi với địa tương ứng để tạo xung chọn mạch Sườn lên xung nạp số liệu từ BUS vào ghi, sườn xuống đưa tín hiệu số liệu sẵn sàng lên "1" để báo cho thiết bị ngoại vi Sau nhận số liệu, thiết bị ngoại vi sinh tín hiệu ghi nhận để xố tín hiệu số liệu sẵn sàng thiết lập tín hiệu thiết bị ngoại vi sẵn sàng Lúc VXL gửi tín hiệu tiếp sau 5.12 Đây mơ hình ngun lý hoạt động định thời a.Giải thích cách hoạt động mơ hình ngun lý hoạt động định thời Watchdog thực tái khởi động (reset) hệ thống hay hành động (xử lý), hay kích hoạt xử lý hiệu chỉnh chương trình bị lỗi, khơng tiến triển điều kiện khơng thể đạt khung thời gian dự tính (chương trình bị treo) Trong hệ thời gian thực, có HTN, watchdog quan trọng, sử dụng để tự động khởi động lại ứng dụng nhúng hay chí hệ thống trạng thái ban đầu mà khơng có can thiệp người Trong CPU nhúng ta thấy có vài đếm thời gian (specialized timers) cứng, đặt giá trị khác cho ứng dụng quan trọng, mà khung thời gian ứng dụng phải kết thúc hay phải đưa đáp ứng, khơng (khả có bất thường) ứng dụng chó canh chừng khởi động lại từ đầu Các hệ có cài trình gởi rối ghi lại vào lưu trữ đặc biệt để hỗ trợ khác phục cố B.Theo đề bài: Ttask= 40µs Tdeadline = 50 µs Twd= 55µs a.Khi vịng lặp kết thúc bình thường, watchdog timer nạp lại giá trị 55µs cho chu kì b.Khi vịng lặp kết thúc khơng bình thường Tdeadline>55µs ,đầu watchdog timer kích hoạt RESET,khởi động lại hệ thống c.Phác thảo giải thuật logic cho phần mềm: Mỗi tác vụ khac biệt thực thi "main loop",nếu kết thúc hoàn hảo,đặt cờ trạng thái lên (Flagi set= TRUE).Tất main loop thực tối đa 50µs.Sau vịng cuối đoạn mã kiểm tra Nếu tất Flags True,khởi động chu kì watchdog mới(55µs),nếu Flags= FALSE,ghi nhận cố đặt tất Flags=FALSE,watchdog không khởi động lại(kick the dog) thời gian 55µs, đầu đếm watchdog kích hoạt RESET hệ thống Đoạn mã if (all flag are OK) { Call(Reset Twd); //Hệ hoạt động bình thƣờng, //đặt giá trị 55 micro giây co watchdog Jmp mainloop; //Trở chu kì mới; } else //nếu thực đoạn code có nghĩa //counter vượt 55 giây ấn định xung đầu RESET CPU { Log eror; //Record failure Reset System; //WD reset CPU } 5.13 Dưới giải thuật với định thời watchdog A Twd>Ttask => Ttask thời gian thực tác vụ vòng lặp Twd thời gian nạp cho chu kì,nếu vịng lặp kết thúc với thời gian lớn Twd đầu watchdog timer kích hoạt RESET,khởi động lại hệ thống D.Một hard deadline nên đáp ứng Nếu hard deadline bị bỏ lỡ hệ thống khơng u cầu phương pháp để đảm bảo thời hạn đáp ứng Hệ thống thời gian thực cứng hệ thống tất tới hạn khó ví dụ :kiểm sốt nhà máy điện hạt nhân,kiểm sốt chuyến bay Cách sử dụng: Khi máy tính phần hệ thống thời gian thực cứng, tất phần mềm chạy điều chỉnh để đáp ứng thời hạn tất hệ thống kiểm sốt E.Một soft deadline bỏ qua hệ thống thời gian thực mềm hệ thống thời gian thực số thời hạn coi nhẹ ví dụ: thiết bị chuyển mạch điện thoại,ứng dụng đa phương tiện 5.14 :Nêu kịch khởi động chạy phần mềm HTN từ ROM, RAM cho liệu Một số HTN có giới hạn nhớ, hệ khởi động trực tiếp từ ROM Trong trường hợp khơng có q trình copy mã lệnh vào RAM để chạy Tuy nhiên không gian cho liệu phải xác định RAM (nhớ lập trình) Có ghi IP (Instruction register)-thanh ghi lệnh, trỏ vào lệnh thực (.text) SP (Stack Pointer), trỏ vào địa ngăn xếp Ngôn ngữ C sử dụng ngăn xếp để truyền thơng số kích hoạt hàm Vùng ngăn xếp phải RAM SP phải trỏ vào khởi động CPU Qui trình khởi động sau: 1) Thanh ghi IP thiết kế cứng để thực lệnh nhớ, reset vector 2) Reset vector nhảy tới lệnh phần text mã boot (tức boot image), text thường trú ROM; CPU dùng IP để thực text, khởi động nhớ, kể RAM 3) Phần data boot image copy vào RAM để đọc/ghi 4) Xác lập bss RAM 5) Xác lập ngăn xếp stack RAM, khởi động SP trỏ vào địa đầu stack 6) Hoàn tất khâu khởi động, CPU tiếp tục thực lệnh text hệ thống shutdown hay RESET Lưu ý lệnh đầu bước 1) không định dạng chuẩn ELF mà đơn giản mã máy nhị phân sẳn sàng chạy Nhưng boot image định dạng ELF (viết từ công cụ phát triển) khơng có program header header table, lưu ý viết mã thực thi cho khởi tạo phần datta, bss, stack RAM ( ví dụ dùng hợp ngữ gán nhãn, …) 5.15 :Nêu kịch khởi động chạy phần mềm RAM sau mã copy từ ROM vào RAM Ở kịch này, boot loader chuyển chương trình nhỏ từ ROM vào RAM kích hoạt chạy Thường mã chương trình hệ thống ROM lớn mà ghi kiểu nén để nạp vừa ROM, nên boot loader phải gỉai nén trước khởi động phần mã cần khơng gian nhớ RAM để thực 1) - đến 6) giống Môi trường làm việc cho loader khởi động RAM (3, 4, 5) 7) Loader copy phần mã nén image vào RAM 8) –> 10) Copy phần mã giải nén vào vùng làm việc tạm RAM (8, 9, 10) Hồn tất giải nén image Image RAM hình đoạn Final Boot image 10) … 11) Loader chuyển điều khiển cho image lệnh JMP vào text (nạp cho IP địa trước JMP tới đó) 12) Vùng RAM mà loader chiếm copy từ ROM tái sử dụng, SP tái khởi động để trỏ vào dùng ngăn xếp cho chương trình Vung RAM để giải nén giải phóng để sử dụng khác Hệ thống vào hoạt động 5.16:Nêu kịch khởi động chạy phần mềm RAM sau tải xuống từ hệ phát triển (đang phát triển hệ thống) Chạy từ RAM sau tải xuống từ hệ phát triển (đang phát triển hệ thống) Là kịch trình phát triển Mơi trường phát triển có PC hổ trợ Sử dụng để phát triển phần mềm ứng dụng cho hệ thống nhúng Phần mềm phát triển nằm PC tải xuống hệ đích để chạy thử hay nạp vào hệ đích pha cuối Trong ROM có chương trình gọi Debug Agent đóng vai trị kép loader kịch 1) …6 ) giống trước 7) Tải ứng dụng từ PC vào hệ đích 8) Kiểm tra hợp phần mềm tải xuống 9) Giải nén ứng dụng cần 10) … 12 ) chương trình debug tái định vị ứng dụng vào vị trí RAM (10, 11, 12) 13 ) Debug chuyển điều khiển cho image tải xuống Hệ chạy ... tính chuyên dụng ? A .Hệ thống nhúng máy tính chuyên dụng, dùng cho ứng dụng đặc biệt B.Phần mềm hệ thống nhúng phần mềm hướng ứng dụng C Ví dụ phần mềm hệ thống chạy hệ thống nhúng là: Monitor ,... đích 2.1 a Hãy nêu đặc điểm môi trường mà hệ thống nhúng hoạt động b Cho ví dụ hệ thống nhúng nêu đặc điểm mơi trường mà hệ thống nhúng hoạt động Các hệ nhúng thường phải hoạt động môi trường khắc... phù hợp để xây dựng hệ thống nhúng đề cập ? Mơ hình phù hợp với hệ thống đề cập mơ hình (d) 5.1: A.Nêu mơ hình phần mềm hệ thống nhúng ? B.Đặc tả lớp mơ hình phần mềm hệ thống nhúng ? A.Mơ hình