1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân tích, thiết kế phần mềm nhúng

18 278 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 577,05 KB

Nội dung

Luận văn Thạc sĩ 2008 Phân tích, Thiết kế phần mềm nhúng MỤC LỤC DANH MỤC HÌNH VẼ BẢNG BIỂU TRONG LUẬN VĂN BẢNG THUẬT NGỮ VÀ KÝ HIỆU SỬ DỤNG LỜI GIỚI THIỆU CHƢƠNG 1: TỔNG QUAN VỀ THIẾT KẾ HỆ THỐNG NHÚNG 1.1 Hệ nhúng khái niệm 1.1.1 Hệ thống nhúng 1.1.2 Hệ thống nhúng thời gian thực 1.2 Giới thiệu chung thiết kế hệ thống nhúng 10 1.2.1 Xác định yêu cầu sản phẩm 11 1.2.2 Lựa chọn vi xử lý 11 1.2.2 Phân bổ phần cứng phần mềm 12 1.2.3 Thực lặp lại 14 1.2.4 Thiết kế chi tiết phần cứng phần mềm 14 1.2.5 Tích hợp phần cứng phần mềm 15 1.2.6 Kiểm thử Error! Bookmark not defined 1.2.7 Bảo trì cập nhật Error! Bookmark not defined CHƢƠNG 2: THIẾT KẾ PHẦN MỀM NHÚNG Error! Bookmark not defined 2.1 Phần mềm nhúng Error! Bookmark not defined 2.1.1 Sự khác biệt phần mềm nhúng phần mềm thông thường PC Error! Bookmark not defined 2.1.2 Nguyên tắc thiết kế chung Error! Bookmark not defined 2.1.3 Thiết kế phần mềm nhúng với RTOS Error! Bookmark not defined 2.2 Kiến trúc phần mềm nhúng Error! Bookmark not defined 2.2.1 Round robin Error! Bookmark not defined 2.2.2 Round robin với ngắt Error! Bookmark not defined 2.2.3 Kiến trúc Function – Queue - Scheduling Error! Bookmark not defined 2.2.4 Kiến trúc Hệ điều hành thời gian thực (RTOS) Error! Bookmark not defined 2.3 Các phương pháp đặc tả thiết kế phần mềm nhúng Error! Bookmark not defined 2.3.1 Phương pháp đặc tả hình thức (formal method) Error! Bookmark not defined 2.3.2 Phương pháp đặc tả bán hình thức (semi-formal method) Error! Bookmark not defined 2.4 Công cụ phát triển phần mềm nhúng Error! Bookmark not defined 2.5 Case study thiết kế phần mềm nhúng Error! Bookmark not defined Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 Phân tích, Thiết kế phần mềm nhúng 2.5.1 Phân tích yêu cầu Error! Bookmark not defined 2.5.2 Thiết kế Error! Bookmark not defined 2.5.3 Phân chia tác vụ Error! Bookmark not defined 2.5.4 Kiến trúc phần cứng hệ thống Error! Bookmark not defined CHƢƠNG 3: HỆ ĐIỀU HÀNH THỜI GIAN THỰC Error! Bookmark not defined 3.1 Tính đa nhiệm Error! Bookmark not defined 3.1.1 Lập lịch ưu tiên (Preemptive Scheduling) Error! Bookmark not defined 3.1.2 Kích hoạt bỏ kích hoạt tác vụ (Activation and Deactivation of Tasks) Error! Bookmark not defined 3.1.3 Lập lịch hướng kiện (Event-Driven Scheduling) Error! Bookmark not defined 3.2 Theo dõi tác vụ Error! Bookmark not defined 3.3 Truyền thông tác vụ Error! Bookmark not defined 3.4 Quản lý nhớ Error! Bookmark not defined 3.5 Quản lý tài nguyên Error! Bookmark not defined 3.6 RTOS ngắt Error! Bookmark not defined 3.7 Liên lạc RTOS thông dụng Error! Bookmark not defined 3.8 Khả sử dụng RTOS Error! Bookmark not defined 3.9 Ưu nhược điểm hệ điều hành thời gian thực Error! Bookmark not defined 3.10 Hệ điều hành thời gian thực µC/OS Error! Bookmark not defined CHƢƠNG 4: CÁC CÁCH TIẾP CẬN VỚI BÀI TOÁN NHẬN DẠNG CHỮ NÔM Error! Bookmark not defined 4.1 Nhận dạng chữ Nôm mạng nơ-ron Error! Bookmark not defined 4.1.1 Áp dụng mạng nơ-ron nhận dạng chữ Nôm Error! Bookmark not defined 4.1.2 Thực nghiê ̣m Error! Bookmark not defined 4.2 Ứng dụng Tesseract để nhận dạng chữ Nôm Error! Bookmark not defined 4.2.1 Tóm tắt Tesseract Error! Bookmark not defined 4.2.2 Áp dụng với chữ Nôm Error! Bookmark not defined 4.3 So sánh thảo luận Error! Bookmark not defined CHƢƠNG 5: ỨNG DỤNG VÀ PHÁT TRIỂN PHẦN MỀM NHẬN DẠNG CHỮ NÔM CHO THIẾT BỊ NHÚNG Error! Bookmark not defined 5.1 Phân tích ứng dụng môi trường nhúng Error! Bookmark not defined 5.2 Thực nghiệm chương trình nhận dạng dựa Tesseract với môi trường µC/OS Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 15 PHỤ LỤC Error! Bookmark not defined Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 Phân tích, Thiết kế phần mềm nhúng DANH MỤC HÌNH VẼ BẢNG BIỂU TRONG LUẬN VĂN DANH MỤC HÌNH VẼ Hình 1.1 Quan hệ hệ nhúng thời gian thực Hình 1.2 Quy trình thiết kế co-design 10 Hình 1.3 Thiết kế máy in laser 13 Hình 1.4 Một ví dụ vấn đề big endian/little endian Error! Bookmark not defined Hình 1.5 Mối liên hệ chi phí sửa lỗi cho giai đoạnError! Bookmark not defined Hình 2.1 Phần mềm nhúng hệ thống Error! Bookmark not defined Hình 2.2 Thành phần phần mềm nhúng Error! Bookmark not defined Hình 2.3 Cấu trúc đề nghị tác vụ Error! Bookmark not defined Hình 2.4 Kiến trúc Round robin Error! Bookmark not defined Hình 2.5 Kiến trúc Round-robin with interrupts Error! Bookmark not defined Hình 2.6 Kiến trúc Function-Queue-Scheduling Error! Bookmark not defined Hình 2.7 Kiến trúc Hệ điều hành thời gian thực Error! Bookmark not defined Hình 2.8 Biểu đồ luồng liệu hệ thống đồng hồ báo thứcError! Bookmark not defined Hình 2.9 Biểu đồ trạng thái Error! Bookmark not defined Hình 2.10 Đặc tả theo giả mã Error! Bookmark not defined Hình 2.11 Qui trình phát triển blueprint Error! Bookmark not defined Hình 2.12 Cấu trúc SPT profile Error! Bookmark not defined Hình 2.13 Quá trình phát triển biên dịch phần mềm nhúngError! Bookmark not defined Hình 2.14 Hình dáng thiết bị Error! Bookmark not defined Hình 2.15 Biểu đồ ngữ cảnh hệ thống Error! Bookmark not defined Hình 2.16 Biểu đồ Use Case Error! Bookmark not defined Hình 2.17 Biểu đồ cho ca sử dụng Playback a messageError! Bookmark not defined Hình 2.18 Alarm while playback a message Error! Bookmark not defined Hình 2.19 Ngữ cảnh vào khỏi chế độ stand-by Error! Bookmark not defined Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 Phân tích, Thiết kế phần mềm nhúng Hình 2.20 Biểu đồ lớp hệ thống Error! Bookmark not defined Hình 2.21 Các hệ thống Digital Sound RecorderError! Bookmark not defined Hình 2.22 Biểu đồ lớp hệ thống Audio Error! Bookmark not defined Hình 2.23 Biểu đồ nghe thông điệp Error! Bookmark not defined Hình 2.24 Thiết kế phần cứng hệ thống Error! Bookmark not defined Hình 3.1 Cấu trúc hệ điều hành thời gian thực Error! Bookmark not defined Hình 3.2 Hoạt động chia nhỏ thời gian Error! Bookmark not defined Hình 3.3 Một ví dụ semaphore Error! Bookmark not defined Hình 3.4 Truyền thông RTOS Error! Bookmark not defined Hình 3.5 Các khối nhớ gán RTOS Error! Bookmark not defined Hình 3.6 Cấu trúc tác vụ Error! Bookmark not defined Hình 3.7 Biểu đồ chuyển trạng thái tác vụ Error! Bookmark not defined Hình 3.8 Hàm dịch vụ ngắt µC/OS Error! Bookmark not defined Hình 4.2 Cấ u trúc mô-dun chương trin ̀ h Error! Bookmark not defined Hình 4.3 Lưu đồ huấ n luyê ̣n ma ̣ng Error! Bookmark not defined Hình 4.4 Kiến trúc tổng quát Tesseract Error! Bookmark not defined Hình 5.1 Quá trình học chữ Nôm Error! Bookmark not defined Hình 5.2 Quá trình nhận dạng Error! Bookmark not defined Hình 5.3 Biểu đồ ngữ cảnh hệ thống Error! Bookmark not defined Hình 5.4 Biểu đồ Use case hệ thống Error! Bookmark not defined Hình 5.5 Biểu đồ hệ thống nhận dạng chữ NômError! Bookmark not defined Hình 5.6 Biểu đồ lớp hệ thống nhận dạng chữ NômError! Bookmark not defined Hình 5.7 Trạng thái tác vụ thực thi hệ thốngError! Bookmark not defined Hình 5.8 Biểu đồ chuyển đổi tác vụ Error! Bookmark not defined DANH MỤC BẢNG BIỂU Bảng 2.1 Bảng kiện tác động lên hệ thống Error! Bookmark not defined Bảng 2.2 Các đối tượng hệ thống Error! Bookmark not defined Bảng 4.1 Mô ̣t kế t quả nhận dạng Error! Bookmark not defined Bảng 4.2 Kế t quả nhâ ̣n da ̣ng chữ Nôm với Tesseract Error! Bookmark not defined Bảng 5.1 Các kiện tác động vào chương trình Error! Bookmark not defined Bảng 5.2 Kết thực tác vụ nhận dạng Error! Bookmark not defined Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 Trần Minh Tuấn Phân tích, Thiết kế phần mềm nhúng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 Phân tích, Thiết kế phần mềm nhúng BẢNG THUẬT NGỮ VÀ KÝ HIỆU SỬ DỤNG ANN Kỹ thuật nhận dạng dựa mạng nơ ron (Artifical neural network) ASIC Vi mạch tích hợp chuyên dụng (Application Integrated IC) CPU Bộ xử lý trung tâm (Central Processing Unit) CSP Một ngôn ngữ hình thức mô tính tương tác hệ thống (Communicating Sequential Process) DMA Truy cập nhớ trực tiếp (Direct Memory Access) FPU Đơn vị xử lý dấu phải động (Float Processing Unit) IC Mạch tích hợp (Integrated Circuit) ISR Hàm dịch vụ ngắt (Interrupt Service Routine) JTAG K-NN Một chuẩn giao tiếp để truyền liệu đưa JTAG (Joint Test Action Group) Kỹ thuật nhận dạng dựa láng giềng gần (K-Nearest Neighbor) OMG Tên tổ chức (Object Management Group) PLD Thiết bị logic khả trình (Programmable Logic Device) ROOM Mô hình hoá hướng đối tượng thời gian thực (Real time Object Oriented Modelling) RTOS Hệ điều hành thời gian thực (Real time Operating System) UML-SPT Một chuẩn mô tả cho ứng dụng thời gian thực dựa UML TCB Khối điều khiển tác vụ (Task Control Block) VHDL UML Trần Minh Tuấn Một ngôn ngữ đặc tả phần cứng (Vhsic Hardware Description Language) Ngôn ngữ mô hình hoá thống (Unified Modelling Language) Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 Phân tích, Thiết kế phần mềm nhúng LỜI GIỚI THIỆU Thời gian gần đây, Hệ thống nhúng – Thời gian thực quan tâm nhiều Việt Nam, giới hệ thống phát triển mạnh mẽ xu hướng thịnh hành nước Công nghiệp lợi ích to lớn, thiết thực mà mang lại Theo chuyên gia nhận định, phát triển máy tính (PC) chuyển sang giai đoạn thứ - giai đoạn môi trường thông minh mà hệ thống nhúng cốt lõi (còn gọi giai đoạn hậu PC - Internet) Phát triển hệ nhúng phần mềm nhúng quốc sách nhiều quốc gia Tuy nhiên muốn xây dựng Hệ thống nhúng – Thời gian thực tốt, đáp ứng yêu cầu đòi hỏi người thiết kế phát triển phải có hiểu biết sâu hệ thống, thiết bị phần cứng, vấn đề hệ điều hành thời gian thực (RTOS), lập trình nhúng, giải thuật lập lịch (Scheduling), cấp phát (Allocation), bố trí hệ thống (layout), phân chia phần cứng – phần mềm (HW-SW partioning)…Việc thiết kế xây dựng hệ thống nhúng cần phát triển theo hướng co-design [7] Nghĩa phải phát triển phần cứng phần mềm đồng thời nhằm xác định giải pháp tối ưu cho hệ thống nhúng Mục đích luận văn sâu nghiên cứu phương pháp, cách thức nhằm phân tích, thiết kế tốt phần mềm nhúng hệ thống nhúng - thời gian thực Bên cạnh mục đích trên, có mục tiêu quan trọng thiết thực nghiên cứu cách tiếp cận nhận dạng chữ Nôm để xây dựng ứng dụng cho toán thiết bị nhúng Về lĩnh vực nhận dạng, nhận dạng chữ toán hữu ích việc số hóa liệu dạng văn giấy ảnh Với chữ Latin toán nghiên cứu phát triển từ lâu có nhiều phần mềm nhận dạng ký tự Latin với độ xác cao Gần số ngôn ngữ tượng chữ Trung Quốc hay chữ Nhật Bản giải nhiều phương pháp nhận dạng khác như: láng giềng gần [9], mạng nơ-ron [29] Ở Việt Nam, vấn đề nhận dạng chữ Quốc ngữ nhiều tổ chức thực hiện, ví dụ VnDOCR [5] cho phép quét, đọc ảnh văn với nhiều định dạng khác kết nhận dạng văn có kiểu phông tùy chọn Tuy nhiên với toán nhận dạng chữ Nôm, toán nhận dạng có ý nghĩa việc khôi phục gìn giữ di sản văn hóa dân tộc, chưa có nhiều nghiên cứu với kết khả quan Một số tổ chức nghiên cứu xây dựng số phần mềm liên quan đến số hóa chữ Nôm như: phông chữ Nôm Viện Hán Nôm, phần mềm Từ điển Hán Nôm PDA Trung tâm công nghệ thông tin Thừa Thiên Huế [5], phần mềm đánh văn chữ Hán Nôm của tác giả Trần Uyên Thi Alexandre Lê, phần mềm từ điển Trực tuyến Việt-Hán-Nôm biên soạn dựa Tự điển Hán -Việt Thiều Chửu nhóm tác giả Phan Anh Dũng Nguyễn Thế thực [4] Đây tảng cần Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 Phân tích, Thiết kế phần mềm nhúng thiết khích lệ nghiên cứu toán nhận dạng chữ Nôm để ứng dụng vào nguồn văn tồn nhiều thư viện, công trình văn hoá, đời sống hàng ngày xây dựng tiện ích nhận dạng chữ Nôm thiết bị nhúng để đáp ứng nhu cầu nhân dân Luận văn chia thành chương phụ lục Trong đó:  Chƣơng 1: trình bày hệ thống nhúng thời gian thực tổng quan thiết kế hệ thống  Chƣơng 2: trình bày phần mềm nhúng phương pháp thiết kế  Chƣơng 3: trình bày hệ điều hành thời gian thực (RTOS) dịch vụ  Chƣơng 4: trình bày cách tiếp cận với toán nhận dạng chữ Nôm kết thực nghiệm phương pháp  Chƣơng 5: trình bày phân tích chương trình nhận dạng chữ Nôm dựa Tesseract cho thiết bị nhúng thực nghiệm hệ điều hành thời gian thực µC/OS Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 Phân tích, Thiết kế phần mềm nhúng CHƢƠNG 1: TỔNG QUAN VỀ THIẾT KẾ HỆ THỐNG NHÚNG 1.1 Hệ nhúng khái niệm 1.1.1 Hệ thống nhúng Trong giới thực thiết bị hay hệ thống điện/điện tử có khả xử lý thông tin điều khiển tiềm ẩn thiết bị hay hệ nhúng, ví dụ thiết bị truyền thông, thiết bị đo lường điều khiển, thiết bị phục vụ sinh hoạt hàng ngày lò vi sóng, máy giặt, camera…Rất dễ dàng để kể hàng loạt thiết bị hay hệ thống tồn quanh ta, chúng hệ nhúng Vậy hệ nhúng thực chất nên hiểu hệ nhúng? Hiện chưa có định nghĩa thực thoả đáng để chuẩn hoá thừa nhận rộng rãi cho hệ nhúng mà khái niệm diễn tả chúng thông qua đặc thù chung [25] Tuy nhiên hiểu hệ nhúng phần hệ thống xử lý thông tin tích hợp hệ thống lớn, phức hợp độc lập ví dụ ôtô, thiết bị đo lường, điều khiển, truyền thông thiết bị thông minh nói chung Chúng tổ hợp phần cứng phần mềm để thực một nhóm chức chuyên biệt, cụ thể (Trái ngược với máy tính PC mà thường thấy sử dụng cho chức mà nhiều chức hay phục vụ chung cho nhiều mục đích) Chúng ta kể nhiều ứng dụng hệ thống nhúng sử dụng nay, xu tiếp tục tăng nhanh Một số lĩnh vực hệ thống nhúng nhóm sau:  Các thiết bị điều khiển  Ôtô, tàu điện  Truyền thông  Thiết bị y tế  Hệ thống đo lường thẩm định  Toà nhà thông minh  Thiết bị dây truyền sản xuất  Rôbốt  … 1.1.2 Hệ thống nhúng thời gian thực Hệ thống thời gian thực hệ thống mà tính đắn toàn hệ thống phụ thuộc vào tính đắn chức tính đắn thời gian Tính đắn thời gian hiểu yêu cầu hệ thống phải đảm bảo thoả mãn tính tiền Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 10 Phân tích, Thiết kế phần mềm nhúng định hoạt động hệ thống Tính tiền định nói lên hành vi hệ thống thực khung thời gian cho trước hoàn toàn xác định Khung thời gian định đặc điểm yêu cầu hệ thống, vài giây vài nano giây nhỏ Ở phân biệt yếu tố thời gian gắn liền với khái niệm thời gian thực Không phải hệ thống thực nhanh đảm bảo tính thời gian thực nhanh hay chậm hoàn toàn phép so sánh có tính tương đối mili giây nhanh với hệ thống điều khiển nhiệt lại chậm đối tượng điều khiển điện dòng, áp… Hơn nhanh không chưa đủ mà phải đảm bảo trì ổn định chế hoạt động tin cậy Chính hệ thống không kiểm soát hoạt động hệ thống đảm bảo tính thời gian thực hệ thống cho đáp ứng nhanh, chí nhanh nhiều so với yêu cầu đặt Một ví dụ minh hoạ tiêu biểu chế truyền thông liệu qua đường truyền chuẩn Ethernet truyền thống, biết tốc độ truyền nhanh hệ hoạt động thời gian thực không thoả mãn tính tiền định chế truyền liệu (có thể nhanh chậm có canh trạnh giao thông đường truyền bị nghẽn) Người ta phân làm hai loại khái niệm thời gian thực cứng (hard real-time) mềm (soft real-time) Thời gian thực cứng hệ thống hoạt động với yêu cầu thoả mãn ràng buộc khung thời gian cứng tức vi phạm dẫn đến hoạt động toàn hệ thống bị sai bị phá huỷ Ví dụ hoạt động điều khiển cho lò phản ứng hạt nhân, chậm định dẫn đến thảm hoạ gây phản ứng phân hạch dẫn đến bùng nổ hệ thống Thời gian thực mềm hệ thống hoạt động với yêu cầu thoả mãn ràng buộc khung thời gian mềm, vi phạm sai lệch nằm khoảng cho phép hệ thống hoạt động chấp nhận Ví dụ hệ thống phát truyền hình, thông tin truyền từ trạm phát tới người nghe/nhìn chậm vài giây không ảnh hưởng đáng kể đến tính thời tin truyền hoàn toàn chấp nhận người theo dõi Thực tế thấy hầu hết hệ nhúng hệ thời gian thực hầu hết hệ thời gian thực hệ nhúng Điều phản ánh mối quan hệ mật thiết hệ nhúng thời gian thực tính thời gian thực trở thành thuộc tính tiêu biểu hệ nhúng Vì đề cập tới hệ nhúng người ta nói tới đặc tính tính thời gian thực Hình 1.1 Quan hệ hệ nhúng thời gian thực Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 11 Phân tích, Thiết kế phần mềm nhúng 1.2 Giới thiệu chung thiết kế hệ thống nhúng Các kỹ sư xây dựng hệ thống nhúng phải đối mặt với nhiều khó khăn trình thiết kế hệ thống Từ việc xác định phân bổ phần cứng phần mềm việc tính toán để thiết kế đạt mục tiêu hiệu chi phí Việc xây dựng hệ thống nhúng ngày trở lên phức tạp yêu cầu ngày cao Họ phải xây dựng hệ thống ngày thông minh hơn, có nhiều chức lại phải gói gọn không gian nhỏ hơn, tiêu thụ điện hơn, thời gian sản xuất nhanh chi phí cho hệ thống giảm Có lẽ liên quan đến kết hợp hai nguyên tắc phức tạp sáng tạo: kỹ nghệ phần mềm thiết kế logic Vấn đề thường liên quan đến xây dựng mà người chưa xây dựng hay đơn giản có nhiều lựa chọn như: sử dụng vi xử lý cho phù hợp, cách xếp bus, triển khai ngôn ngữ lập trình nào, có sử dụng hệ điều hành hay không, môi trường phát triển …làm cho người phát triển nhiều lúc không Không giống với việc thiết kế ứng dụng phần mềm máy tính, việc thiết kế hệ thống nhúng phải thực thiết kế phần cứng phần mềm cách song song Mặc dù lúc thực tế cho thấy cách thức tiếp cận việc thiết kế hệ thống nhúng cách hiệu ảnh hưởng sâu sắc đến việc xây dựng hệ thống Quy trình thiết kế hệ thống nhúng bao gồm bước sau:  Xác định yêu cầu sản phẩm  Phân bổ phần cứng phần mềm  Thực lặp lại  Thiết kế phần cứng/phần mềm nhúng  Tích hợp phần cứng/phần mềm  Kiểm tra  Bảo trì nâng cấp Hình 1.2 Quy trình thiết kế co-design Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 12 Phân tích, Thiết kế phần mềm nhúng 1.2.1 Xác định yêu cầu sản phẩm Chúng ta cần phải xác định:  Hệ thống làm gì?  Những thành phần vào bao gồm gì?  Giao diện hệ thống Trong hệ thống nhúng việc xác định yêu cầu quan trọng Nó giúp tránh vấn đề sau lượng RAM thiết kế cho hệ thống nhúng không đủ cho hoạt động hay xử lý chọn có tốc độ chậm cho công việc…Sau yêu cầu sản phẩm xác định công việc xác định liệu sử dụng vi xử lý có phải lựa chọn tốt không Những câu hỏi sau hữu ích xác định xem sử dụng vi xử lý có hợp lý không:  Đầu vào đầu xử lý cập nhật tốc độ nào? Mặc dù xung đồng hồ tăng lên có giới hạn thực tế với tốc độ vi xử lý đọc từ đầu vào cập nhật đầu thực công việc Nếu hệ thống phải thực việc xử lý quan trọng, xử lý đệm, tính toán khác tỉ lệ cập nhật giảm xuống  Liệu có mạch tích hợp đơn (IC) thiết bị logic khả trình (PLD) thực công việc không? có sử dụng vi xử lý không cần thiết  Hệ thống có nhiều đầu vào ra, công tắc hay hình hiển thị không? có vi xử lý giải công việc thuận lợi  Những giao tiếp hệ thống bên ngoài? Nếu hệ thống phải nói chuyện với hệ thống khác dùng giao thức điều khiển liên kết liệu đồng (SDLC) vài giao thức truyền thông phức tạp khác sử dụng vi xử lý lựa chọn đắn  Hệ thống có phải tính toán xử lý nhiều việc không? Ví dụ hệ thống đánh lửa (khởi động) điện tử đại có nhiều đầu vào (các cảm ứng không khí, động rpm …) với liên quan phức tạp có vài lựa chọn thay sử dụng vi xử lý  Liệu thiết kế có sửa đổi hoàn thành thay đổi trình thiết kế không? Có cần phải tuỳ biến sản phẩm cho phiên đặc biệt không? yêu cầu ảnh hưởng đến việc có lựa chọn vi xử lý hay không Thật may công việc người thiết kế trở lên dễ dàng chi phí vi xử lý giảm tốc độ hiệu tăng lên 1.2.2 Lựa chọn vi xử lý Giả sử định sử dụng vi xử lý cho hệ thống nhúng vấn đề lựa chọn vi xử lý cho phù hợp với hệ thống cần xây dựng Thực tế cho thấy có nhiều lựa chọn xử lý cho hệ thống nhúng có Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 13 Phân tích, Thiết kế phần mềm nhúng vài xử lý đạt yêu cầu đặt Sự lựa chọn bao gồm việc cân yếu tố chi phí chức Một số vấn đề cần phải xem xét lựa chọn:  Số lượng chân vào yêu cầu  Những giao tiếp yêu cầu  Yêu cầu nhớ  Xem xét vấn đề thời gian thực  Môi truờng phát triển  Tốc độ xử lý yêu cầu  Khả ROM  Kiến trúc nhớ 1.2.2 Phân bổ phần cứng phần mềm Thiết kế hệ nhúng liên quan đến hai vấn đề thiết kế thành phần phần cứng thành phần phần mềm, người thiết kế phải xác định xem vấn đề giải phần cứng vấn đề giải phần mềm Sự lựa chọn gọi phân bổ định Những nhà phát triển ứng dụng thường phát triển với phần cứng xác định trước có khó khăn việc điều chỉnh phần cứng để nâng cao hiệu xử lý vấn đề Tuy nhiên họ gặp phải vấn đề lựa chọn cân nhắc phần cứng phần mềm Ví dụ, ngày đầu PC (trước giới thiệu xử lý 80486), xử lý 8086, 80286 80386 đơn vị xử lý dấu phảy động chip Những xử lý yêu cầu thiết bị kèm, đơn vị xử lý dấu phảy động 8087, 80287 80387 (FPUs) để chạy trực tiếp thị dấu phảy động chương trình Nếu PC FPU, mã chương trình phải chặn thị dấu phảy động lại thực ngoại lệ hàm bẫy lỗi thực vấn đề xử lý dấu phảy động phần mềm Tuy nhiên điều chậm nhiều so với có đơn vị xử lý dấu phảy động bảng mạch chí mã chương trình thực thi Một ví dụ khác phân bổ phần cứng phần mềm, ta mua thiết bị modem cho PC cắm vào khe ISA máy tính có mạch thực điều chế giải điều chế Nếu tiền ta mua win modem để cắm vào khe PCI sử dụng vi xử lý để trực tiếp xử lý chức modem Việc thiết kế kết hợp thành phần phần cứng phần mềm giải pháp thiết kế nhúng hiệu Chúng ta thực việc thiết kế chức dựa phần mềm (ví dụ CPU đơn vị FPU trên), dựa phần cứng dựa phần cứng phần mềm Để làm rõ vấn đề phân chia phần cứng phần mềm xét tiếp ví dụ thiết kế máy in laser Hình 1.3 mô tả thiết kế cho máy in laser Với giúp đỡ từ nhà thiết kế máy in laser hình dung công việc thực Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 14 Phân tích, Thiết kế phần mềm nhúng máy in laser (phần mềm) Bộ vi xử lý nắm bắt luồng liệu đến thông qua cổng song song, cổng RS-232C, cổng USB, cổng Ethernet vào đệm Hình 1.3 Thiết kế máy in laser Cùng thời điểm, xử lý quản lý cổng liệu chuyển liệu đến thành luồng điều chế (stream of modulation) tín hiệu điều khiển cho ống phóng laser, gương xoay, trống xoay, phận quản lý giấy Chúng ta thấy điều làm cho xử lý phải làm nhiều việc giới hạn hiệu hệ thống Chúng ta tìm cách nâng cao hiệu hệ thống cách thêm nhiều xử lý phân chia nhiệm vụ đồng thời chúng Điều làm cho tốc độ xử lý tăng lên, chi phí tăng lên, nhiều thông tin để in Khi phân tích giải pháp thiết kế thấy công việc mà ảnh hưởng đến hiệu hệ thống có cận giới hạn định mô tả đầy đủ Những công việc xử lý phương pháp thiết kế cách dễ dàng thực theo giải pháp dựa phần cứng Ví dụ thiết kế máy in laser này, sử dụng khối phần cứng cho việc ghi điểm laser bề mặt trống máy in Điều giải phóng cho xử lý để thực công việc khác yêu cầu khởi tạo phục vụ phần cứng có lỗi xảy Những yêu cầu cho phần cứng chặt chẽ nhiều so với phần mềm phức tạp hơn, chi phí cho sửa lỗi phần cứng nhiều so với sửa lỗi phần mềm Nếu phần cứng IC chuyên ứng dụng tùy biến (Custom - ASIC) cần phải xem xét nhiều tính phức tạp việc thiết kế IC tùy biến Nếu cách tiết cận dường rủi ro cho dự án, đội thiết kế chuyển sang giải pháp phần mềm đội thiết kế đưa định cần phải sử dụng xử lý hơn, mạnh để nâng cao hiệu Tuy nhiên điều liên quan đến vấn đề chi phí, công cụ mới, bố cục mạch mới, đường liệu rộng hơn, tính phức tạp cao Hai triết lý thiết kế khác áp dụng thành công cho thiết kế máy in laser công ty sản xuất máy in ngày Một bên thiết kế khả điều chỉnh hiệu xử lý để tối thiểu hoá dùng thiết bị phần cứng chuyên biệt Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 15 Phân tích, Thiết kế phần mềm nhúng Ngược lại bên sử dụng thiết bị phần cứng chuyên biệt để giảm gánh nặng cho xử lý Cả hai có sản phẩm cạnh tranh thực hai chiến lược thiết kế khác cho phân chia thành phần cứng mềm Quyết định phân chia vấn đề tối ưu phức tạp Nhiều thiết kế hệ thống nhúng yêu cầu:  Nhạy cảm giá  Người đầu giải pháp  Không theo chuẩn  Cạnh tranh thị trường  Bản quyền Những yêu cầu dường mẫu thuẫn lẫn làm cho khó tạo thiết kế tối ưu cho sản phẩm nhúng Giải pháp phân bổ phụ thuộc vào xử lý sử dụng thiết kế, cách thực thiết kế tổng thể kinh nghiệm người thiết kế 1.2.3 Thực lặp lại Phần thực lặp lại qui trình thể vùng phân chia mờ thực phân bổ phần cứng/phần mềm (được thể hình 1.2) Trong bước phần thiết kế phần mềm phần cứng tách thực đồng thời Giai đoạn thể công việc thiết kế trước đội phần cứng phần mềm thực công việc cụ thể lĩnh vực Mặc dù vấn đề phân bổ thành phần phần cứng phần mềm, nhiên vấn đề dịch chuyển ranh giới ràng buộc thiết kế mô hình hoá hiểu rõ Trong giai đoạn đòi hỏi người thiết kế thực nhiều lựa chọn liên quan đến công cụ, môi trường… Nhà thiết kế phần cứng sử dụng công cụ mô để hỗ trợ cho trình thiết kế mô kiến trúc Nhà thiết kế phần mềm chạy đoạn mã chuẩn bo mạch đơn độc lập sử dụng vi xử lý đích Những bo mạch thường liên quan đến mạch đánh giá chúng dùng để đánh giá hiệu vi xử lý chạy đoạn mã kiểm tra Những mạch đánh giá cung cấp môi trường gỡ lỗi thiết kế phần mềm thuận tiện hoàn thành xong phần cứng hệ thống 1.2.4 Thiết kế chi tiết phần cứng phần mềm Bước sâu vào thực thiết kế chi tiết phần cứng phần mềm sau có đặc tả phân chia thành phần phần cứng, phần mềm Ở giai đoạn cần có công cụ đặc biệt để hỗ trợ trình thiết kế mô hình cách trực quan Ví dụ để thiết kế chi tiết phần cứng cần có công cụ để mô tả phần cứng VHDL hay Verilog Đối với phần mềm có nhiều công cụ hỗ trợ gia đoạn như: Timed CSP, Z, UML-Realtime…(sẽ trình bày chi tiết chương 2) Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 16 Phân tích, Thiết kế phần mềm nhúng TÀI LIỆU THAM KHẢO Tiếng Việt [1] PGS TS Nguyễn Ngọc Bình, “Một số ý kiến phát triến, ứng dụng công nghệ thông tin Việt Nam”, Hội thảo Quốc gia Hội nhập Quốc tế Khoa học Công nghệ, 2005 [2] PGS TS Phạm Thượng Cát, “Hệ thống nhúng phát triển công nghệ thông tin”, Tạp chí Tin học điều khiển, 2005 [3] Phan Anh Dũng, Dương Văn Việt, Hoàng Thị Ngọc Dung – Trung tâm Công nghệ thông tin Thừa Thiên Huế, “Đưa Chữ Hán-Nôm Vào Thiế t Bi ̣ Cầ m Tay ”, Hội nghị chữ Nôm, 2006 [4] Phan Anh Dũng, Nguyễn Thế, “Từ điển Trực tuyến Việt-Hán-Nôm”, 2006 [5] Phòng nhận dạng xử lý ảnh Viện công nghệ thông tin , “Phầ n mề m nhận dạng chữ Viê ̣t in”, 1997-1998 Tiếng Anh [6] Arbib, Michael A (Ed.), “The Handbook of Brain Theory and Neural Networks”, MIT Press, 1995 [7] Arnold Berger, “Embedded Systems Design: An Introduction to Processes, Tool and Techniques ”, CMP Books, 2002 [8] Bentley, J L, “Multidimensional binary search tree used for associative searching”, Commun, ACM, 1975, pp 509–517 [9] Belur V Dasarathy, “Nearest Neighbor (NN) Norms: NN Pattern Classification Techniques”, IEEE Computer Society Press, 1991 [10] Bruce Powel Douglass, “Advances in the UML for Real-time System, Third Edition”, Addition Wesley, 2004 [11] Cheng-Lin Liu, Hiromichi Fujisawa, “Classification and Learning for Character Recognition: Comparasion of Methods and Remaining Problems”, NNLDAR Workshop, 2007 [12] Daniel Admassu, “Unicode Optical Character Recognition”, 2005 [13] David E Simon, “An Embedded Software Primer”, Addison Wesley, 1999 [14] Ivan Porres Paltor, Johan Lilius, “A Case Study on Designing Embedded Systems using UML notation”, TUCS Technial Report, 1999 [15] Jack Ganssle, “The Art of Designing Embedded Systems”, Newnes, 1999 [16] Jack Ganssel, Michael Barr, “Embedded Systems (World Class Designs)” Newnes, 2007 [17] Jean Labrosses, “Micro C OS II: The Real Kernel”, Newnes, 2002 Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 17 Phân tích, Thiết kế phần mềm nhúng [18] Jiamei Cai, Tieming Chen, and Liying Zhu, “A Structure Modelling Method for Multi-task Embedded Software Design”, Zhejiang University of Technology, ICESS 2004 [19] Luciano Lavagno, Grant Martin and Bran Selic, “UML for real design of Embedded Real-Time Systems”, Kluwer Academic, 2004 [20] Michael Barr, “Programming Embedded Systems in C and C++”, O’Reilly, 1999 [21] Micrium Inc, “µC/OS-II Reference Manual”, Newnes, 2002 [22] Mingrui Wu, Bo Zhang, Ling Zhang, “A Neural Network Based Classifier for Handwritten Chinese Character Recognition”, ICPR'00 - Volume 2, 2000 [23] Object Management Group, “UML Profile for Schedulability, Performance, and Time”, OMG document ptc/02-03-02, Needham MA, 2002 [24] Olli S, Jaakko, “A Embedded Systems, Lecture Notes”, Helsinki University of Tech, 2006 [25] Peter Marweden, “Embedded Systems Design”, Springer, 2006 [26] Qing Li and Carolyn Yao, “Real-time Concepts for Embedded Systems”, CMP Books, 2003 [27] Ray Smith, “An Overview of the Tesseract OCR Engine”, OSCON, 2007 [28] Ray Smith, “A Simple and Efficient Skew Detection Algorithm via Text Row Accumulation”, Proc of the 3rd Int, Conf on Document Analysis and Recognition (Vol 2), IEEE 1995, pp 1145-1148 [29] Richard Romero, Robert Berger, Robert Thibadeau, David Touretzky, “Neural Network Classifiers for Optical Chinese Character Recognition”, In Proceedings of the Fourth Annual Symposium on Document Analysis and Information Retrieval, 1995 [30] Sacha Barber, “An introduction into Neural Networks”, 2003, pp 277-280 [31] Sargur N Srihari, Xuanshen Yang, Gregory R Ball, “Offline Chinese handwriting recognition: an assessment of current technology”, 2007 [32] Stephen V Rice, Frank R Jenkins, Thomas A Nartker, “The Fourth Annual Test of OCR Accuracy, Technical Report 95-03”, Information Science Research Institute, University of Nevada, Las Vegas, July 1995 [33] Stuart R.Ball, “Embedded Microprocessor Systems”, Newnes, 2002 Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 Trần Minh Tuấn 18 Phân tích, Thiết kế phần mềm nhúng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội [...]... Việc thiết kế là kết hợp giữa các thành phần phần cứng và phần mềm để cho ra một giải pháp thiết kế nhúng hiệu quả nhất Chúng ta có thể thực hiện việc thiết kế một chức năng nào đó dựa trên phần mềm (ví dụ CPU không có đơn vị FPU ở trên), dựa trên phần cứng hoặc dựa trên cả phần cứng và phần mềm Để làm rõ hơn về vấn đề phân chia giữa phần cứng và phần mềm chúng ta sẽ xét tiếp một ví dụ về thiết kế máy... lỗi và thiết kế phần mềm thuận tiện cho đến khi hoàn thành xong phần cứng của hệ thống 1.2.4 Thiết kế chi tiết phần cứng và phần mềm Bước này đi sâu vào thực hiện thiết kế chi tiết phần cứng và phần mềm sau khi đã có những đặc tả và phân chia các thành phần phần cứng, phần mềm Ở giai đoạn này cần có những công cụ đặc biệt để hỗ trợ quá trình thiết kế và mô hình một cách trực quan Ví dụ để thiết kế chi...  Phân bổ phần cứng phần mềm  Thực hiện và lặp lại  Thiết kế phần cứng /phần mềm nhúng  Tích hợp phần cứng /phần mềm  Kiểm tra  Bảo trì và nâng cấp Hình 1.2 Quy trình thiết kế co-design Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 12 Phân tích, Thiết kế phần mềm nhúng 1.2.1 Xác định yêu cầu sản phẩm Chúng ta cần phải xác định:  Hệ thống làm gì?  Những thành phần. .. ra một thiết kế tối ưu cho sản phẩm nhúng Giải pháp phân bổ phụ thuộc vào bộ xử lý nào sử dụng trong thiết kế, cách thực hiện thiết kế tổng thể và kinh nghiệm của người thiết kế 1.2.3 Thực hiện và lặp lại Phần thực hiện và lặp lại của qui trình này thể hiện một vùng phân chia mờ giữa thực hiện và phân bổ phần cứng /phần mềm (được thể hiện ở hình 1.2) Trong bước này phần thiết kế phần mềm phần cứng... trúc bộ nhớ 1.2.2 Phân bổ giữa phần cứng và phần mềm Thiết kế hệ nhúng sẽ liên quan đến cả hai vấn đề là thiết kế các thành phần phần cứng và các thành phần phần mềm, người thiết kế phải xác định xem vấn đề nào được giải quyết trong phần cứng và vấn đề nào thì giải quyết ở phần mềm Sự lựa chọn này được gọi là phân bổ quyết định Những nhà phát triển ứng dụng thường phát triển với phần cứng được xác...Luận văn Thạc sĩ 2008 11 Phân tích, Thiết kế phần mềm nhúng 1.2 Giới thiệu chung về thiết kế hệ thống nhúng Các kỹ sư xây dựng hệ thống nhúng luôn phải đối mặt với nhiều khó khăn trong quá trình thiết kế hệ thống Từ việc xác định phân bổ giữa phần cứng và phần mềm cho đến việc tính toán để thiết kế đạt những mục tiêu về hiệu năng và chi phí Việc xây dựng hệ thống nhúng ngày càng trở lên phức tạp... đâu Không giống với việc thiết kế các ứng dụng phần mềm trên máy tính, việc thiết kế một hệ thống nhúng phải thực hiện thiết kế cả phần cứng và phần mềm một cách song song Mặc dù không phải lúc nào cũng vậy nhưng thực tế cho thấy đây là cách thức tiếp cận việc thiết kế hệ thống nhúng một cách hiệu quả và ảnh hưởng sâu sắc đến việc xây dựng hệ thống Quy trình thiết kế hệ thống nhúng bao gồm các bước sau:... triết lý thiết kế khác nhau này đã được áp dụng thành công cho thiết kế máy in laser trong các công ty sản xuất máy in ngày nay Một bên thì thiết kế khả năng điều chỉnh hiệu năng của bộ xử lý để tối thiểu hoá dùng các thiết bị phần cứng chuyên biệt Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 15 Phân tích, Thiết kế phần mềm nhúng Ngược lại thì bên kia sử dụng các thiết. .. thể hiện những công việc thiết kế đầu tiên trước khi đội phần cứng và phần mềm thực hiện công việc cụ thể của lĩnh vực mình Mặc dù các vấn đề chính đã được phân bổ giữa các thành phần phần cứng và phần mềm, tuy nhiên vẫn còn những vấn đề có thể dịch chuyển giữa ranh giới này khi các ràng buộc thiết kế được mô hình hoá và hiểu rõ hơn Trong giai đoạn này đòi hỏi người thiết kế thực hiện nhiều sự lựa... tiếp một ví dụ về thiết kế máy in laser Hình 1.3 mô tả một thiết kế cho máy in laser Với sự giúp đỡ từ những nhà thiết kế máy in laser chúng ta có thể hình dung ra những công việc có thể thực hiện trong Trần Minh Tuấn Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 2008 14 Phân tích, Thiết kế phần mềm nhúng máy in laser (phần mềm) Bộ vi xử lý nắm bắt luồng dữ liệu đến thông qua cổng song

Ngày đăng: 10/11/2016, 11:21

TỪ KHÓA LIÊN QUAN

w