Thiết kế hệ thống giám sát và điều khiển trực tuyến bằng hình ảnh dựa trên công nghệ FPGA và SystemOn Chip Thiết kế hệ thống giám sát và điều khiển trực tuyến bằng hình ảnh dựa trên công nghệ FPGA và SystemOn Chip luận văn tốt nghiệp thạc sĩ
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - LUẬN VĂN THẠC SĨ KHOA HỌC THIẾT KẾ HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN TRỰC TUYẾN BẰNG HÌNH ẢNH DỰA TRÊN CÔNG NGHỆ FPGA VÀ SYSTEM-ON-CHIP NGÀNH: XỬ LÝ THÔNG TIN VÀ TRUYỀN THÔNG MÃ SỐ: NGÔ LAM TRUNG Người hướng dẫn khoa học: TS NGUYỄN KIM KHÁNH HÀ NỘI - 2006 Luận văn thạc sỹ khoa học Hệ thống giám sát điều khiển trực tuyến dựa công nghệ FPGA-SoC LỜI CẢM ƠN Đầu tiên, tác giả luận văn xin gửi lời cảm ơn sâu sắc đến thày giáo TS Nguyễn Kim Khánh Thày người trực tiếp hướng dẫn thực luận văn thạc sỹ khoa học Những ý kiến đóng góp, lời nhắc nhở, động viên chân thành thày, đặc biệt kinh nghiệm quý báu mà thày chia sẻ với giúp đỡ nhiều thời gian qua Tiếp theo xin gửi lời cảm ơn chân thành đến đơn vị nơi công tác Bộ môn Kỹ thuật Máy tính, Khoa Cơng nghệ Thơng tin, Đại học Bách khoa Hà Nội Các thày cô Ban chủ nhiệm anh chị em đồng nghiệp Bộ môn Kỹ thuật Máy tính thơng cảm nhiệt tình giúp đỡ tạo điều kiện mặt thời gian cơng việc để tơi hồn thành luận văn Tơi xin cảm ơn đơn vị Phịng thí nghiệm trọng điểm Thiết kế điện tử, Đại học Bách khoa Hà Nội, nơi hỗ trợ công cụ môi trường làm việc cho suốt thời gian thực luận văn Cuối cùng, xin gửi lời cảm ơn tới gia đình bạn bè tơi, người ln dành nhiều tình cảm sẵn sàng chia sẻ khó khăn với tơi, cách góp phần làm nên thành công luận văn Ngô Lam Trung – Lớp Xử lý thông tin Truyền thông 2004 Luận văn thạc sỹ khoa học Hệ thống giám sát điều khiển trực tuyến dựa công nghệ FPGA-SoC MỤC LỤC CHƯƠNG ĐẶT VẤN ĐỀ 1.1 Giới thiệu tổng quan 1.1.1 Định hướng thực luận văn 1.1.2 Giới thiệu đề tài 1.2 Mô tả hệ thống 1.3 Nội dung trình bày luận văn CHƯƠNG CÁC VẤN ĐỀ LÝ THUYẾT 10 2.1 Công nghệ System on Chip 10 2.1.1 Khái niệm 10 2.1.2 Một số vấn đề thiết kế SoC 11 2.1.3 Một số sản phẩm SoC thương mại tiêu biểu 14 2.2 Bộ xử lý nhúng Nios II 16 2.2.1 Soft-core processor 16 2.2.2 Giới thiệu chung Nios II 17 2.2.3 Kiến trúc phần cứng Nios II 18 2.3 Giao thức USB 21 2.3.1 Tổng quan giao thức 22 2.3.2 Mơ hình trao đổi liệu đặc tả 25 2.3.3 Đặc tả giao thức 30 2.3.4 Các phương thức truyền 34 2.3.5 Các đặc tả thiết kế mức thấp 37 2.3.6 Mã hoá đồng 41 CHƯƠNG PHÂN TÍCH THIẾT KẾ HỆ THỐNG 44 3.1 Phân tích tổng quan hệ thống 44 3.1.1 Mơ hình hoạt động hệ thống 44 3.1.2 Các thành phần 44 3.1.3 Lựa chọn thiết kế thành phần 45 3.2 Thiết kế mô hình hệ thống 46 3.2.1 Môi trường phát triển 46 3.2.2 Thiết kế mơ hình hệ thống SoC 46 3.3 Thiết kế module USB Host/Device Controller 49 3.3.1 Đặc tả chức module 49 3.3.2 Đặc tả giao diện module 49 3.3.3 Các thành phần chức mức cao 51 3.3.4 Các thành phần thực thi mức thấp 61 3.3.5 Mơ hình lập trình 69 3.3.6 Mạch USB Transceiver 72 3.4 Thiết kế phần mềm hệ thống 73 3.4.1 Module Host Controller Driver 73 3.4.2 Module giao tiếp camera 76 3.4.3 Module cài đặt TCP/IP stack 78 3.4.4 Module Web Server 81 3.4.5 Module chương trình 83 CHƯƠNG THỬ NGHIỆM HỆ THỐNG 86 4.1 Môi trường thử nghiệm 86 4.2 Kết tổng hợp hệ thống 86 4.3 Thử nghiệm module USB 88 4.4 Thử nghiệm toàn hệ thống 89 Ngô Lam Trung – Lớp Xử lý thông tin Truyền thông 2004 Luận văn thạc sỹ khoa học Hệ thống giám sát điều khiển trực tuyến dựa công nghệ FPGA-SoC CHƯƠNG KẾT LUẬN 91 5.1 Đánh giá kết 91 5.1.1 Những kết đạt 91 5.1.2 Những mặt hạn chế 92 5.2 Kết luận định hướng phát triển 92 Ngô Lam Trung – Lớp Xử lý thông tin Truyền thông 2004 Luận văn thạc sỹ khoa học Hệ thống giám sát điều khiển trực tuyến dựa công nghệ FPGA-SoC DANH MỤC HÌNH VẼ Hình 2-1: Mơ hình hệ thống SoC 11 Hình 2-2: Mơ hình lập phương tài ngun 12 Hình 2-3: Phân loại phương pháp lập lịch 13 Hình 2-4: Các kỹ thuật ghép nối 14 Hình 2-5: Sản phẩm Alchemy Au1200 AMD 14 Hình 2-6: Sơ đồ khối Alchemy Au1200 15 Hình 2-7: Bộ xử lý Intel PXA27x 15 Hình 2-8: Sơ đồ khối xử lý Intel PXA27x 16 Hình 2-9: Sơ đồ khối xử lý Nios II 18 Hình 2-10: Cấu trúc phần mềm 19 Hình 2-11: Mơ hình giao tiếp nhớ Nios II System 20 Hình 2-12: USB bus topology 22 Hình 2-13-Tín hiệu USB bus 23 Hình 2-14-Kiến trúc hồn chỉnh hệ thống USB 25 Hình 2-15-Sơ đồ khối phân tầng hệ thống USB 26 Hình 2-16-Mơ hình hostUSB 27 Hình 2-17-Topo vật lí hệ thống USB 28 Hình 2-18-Topo logic hệ thống USB 28 Hình 2-19-Các liên kết chức host slave(function) 29 Hình 2-20-Mơ hình luồng liệu 29 Hình 2-21-Trường Packet Identifier 30 Hình 2-22-Trường địa số EndPoint 31 Hình 2-23-Trường liệu 32 Hình 2-24-Cấu trúc gói IN, OUT, SETUP token 32 Hình 2-25-Cấu trúc gói SOF 33 Hình 2-26-Cấu trúc gói DATA 33 Hình 2-27-Kịch truyền kiểu Bulk 34 Hình 2-28-Luồng liệu BulkTransfer 35 Hình 2-29-Kịch truyền kiểu Control 35 Hình 2-30-Thứ tự gói tin ControlTransfer 36 Hình 2-31-Kịch truyền kiểu Isochronous 37 Hình 2-32-Sơ đồ logic khối truyền nhận tín hiệu vi sai 38 Hình 2-33-Trạng thái đường truyền ứng với tín hiệu Disconnect 38 Hình 2-34-Trạng thái đường truyền tín hiệu Connect-FullSpeed 39 Hình 2-35- Trạng thái đường truyền tín hiệu Connect-LowSpeed 39 Hình 2-36-Tín hiệu Reset 39 Hình 2-37-Luồng tín hiệu truyền bit 40 Hình 2-38-Trạng thái đường truyền EOP 40 Hình 2-39-Mã hóa NRZI 41 Hình 2-40-Quá trình bitStuffing 42 Hình 2-41-Giải thuật Stuffing 42 Hình 2-42-Nhóm bit SYNC 43 Hình 3-1: Mơ hình hoạt động hệ thống 44 Hình 3-2: Sơ đồ tổng quan ghép nối thành phần ASF 47 Hình 3-3: Cấu trúc liên kết hệ thống chi tiết 48 Hình 3-4: Cấu hình thành phần hệ thống SOPC Builder 48 Hình 3-5: Mơ hình USBModule nhìn từ mức cao 50 Hình 3-6: Module mức đỉnh 51 Ngô Lam Trung – Lớp Xử lý thông tin Truyền thông 2004 Luận văn thạc sỹ khoa học Hệ thống giám sát điều khiển trực tuyến dựa cơng nghệ FPGA-SoC Hình 3-7: Mơ hình phân tầng chức USBmodule 52 Hình 3-8: Các khối chức USBModule 53 Hình 3-9: USB Serial Interface Engine module 53 Hình 3-10: HostSlaveMux module 55 Hình 3-11: USB Host Control module 55 Hình 3-12: Rx FiFo Module 59 Hình 3-13-Tx FiFoModule 60 Hình 3-14: USB Serial Interface Engine 62 Hình 3-15: USB Host Control Module 64 Hình 3-16: USB Slave Control 68 Hình 3-17: Sơ đồ Rx/Tx FiFo module 69 Hình 3-18: Giao tiếp với USB module 69 Hình 3-19: Sơ đồ logic USB1T11A 72 Hình 3-20: Sơ đồ tiến trình hệ thống 85 Hình 4-1: Cấu hình SoC thử nghiệm 86 Hình 4-2: Giao diện hệ thống giám sát điều khiển trực tuyến 89 Ngô Lam Trung – Lớp Xử lý thông tin Truyền thông 2004 Luận văn thạc sỹ khoa học Hệ thống giám sát điều khiển trực tuyến dựa công nghệ FPGA-SoC DANH MỤC BẢNG Bảng 1-Các loại PID 31 Bảng 2-Bảng mơ tả tín hiệu trạng thái đường truyền vi sai 37 Bảng 3-Bảng giao diện tín hiệu USBHostSlave module – toplevel 50 Bảng 4-Giao diện tín hiệu SIE 54 Bảng 5-Giao diện tín hiệu USBHostControl 56 Bảng 6-Giao diện tín hiệu USBSlaveControl 58 Bảng 7-Giao diện tín hiệu RxFiFo 59 Bảng 8-Giao diện tín hiệu TxFiFo 60 Bảng 9-Các ghi USB Module 72 Bảng 10: Hàm giao tiếp Nios Host Controller 74 Bảng 11: Hàm cấu hình Host Controller điều khiển đường truyền 75 Bảng 12: Danh mục hàm hỗ trợ giao thức USB Host Controller 76 Bảng 13: Danh mục hàm giao tiếp camera 78 Bảng 14: Tập hàm API cung cấp LWIP 81 Bảng 15: Danh mục hàm thao tác với hệ thống file RAM 82 Bảng 16: Danh mục hàm cài đặt Web Server 83 Bảng 17: Kết tổng hợp hệ thống thử nghiệm 87 Ngô Lam Trung – Lớp Xử lý thông tin Truyền thông 2004 Luận văn thạc sỹ khoa học Hệ thống giám sát điều khiển trực tuyến dựa công nghệ FPGA-SoC CHƯƠNG ĐẶT VẤN ĐỀ 1.1 Giới thiệu tổng quan 1.1.1 Định hướng thực luận văn Sự phát triển bùng nổ công nghệ thông tin năm gần dẫn đến thay đổi mạnh mẽ đời sống kinh tế xã hội toàn giới Trong luồng phát triển ấy, có hai lĩnh vực đóng vai trị quan trọng cơng nghệ truyền thơng công nghiệp điện tử Sự phát triển công nghệ truyền thơng góp phần làm thay đổi hồn tồn cách thức truy cập thông tin người Với mạng lưới đường truyền rộng khắp có tốc độ cao, giá thành rẻ giao thức truyền tin đại TCP/IP, HTTP… người truy cập tới nguồn thông tin đâu, không phụ thuộc vào khoảng cách vị trí địa lý Cùng với công nghệ truyền thông, công nghiệp điện tử công nghệ thiết kế bán dẫn phát triển nhanh thời gian gần tạo sản phẩm chip bán dẫn, xử lý có tốc độ ngày cao đa Từ dẫn tới thay đổi mang tính cách mạng loạt lĩnh vực có liên quan, tiêu biểu cơng nghệ nhúng Ngày nay, công nghệ nhúng kết hợp với công nghệ truyền thông tạo hệ thống nhúng đại vừa có hiệu cao, lại trang bị chuẩn truyền thông hệ Các hệ thống nhúng phát triển để thực ứng dụng ngày phức tạp nhằm đáp ứng nhu cầu người dùng Luận văn tốt nghiệp cao học thực nhằm hướng tới hai mục đích Mục đích thứ nghiên cứu phát triển hệ thống nhúng đại vấn đề liên quan tới quy trình thiết kế hệ thống nhúng hiệu cao Mục đích thứ hai áp dụng nghiên cứu để phát triển sản phẩm nhúng có khả ứng dụng thực tế 1.1.2 Giới thiệu đề tài Trong thời gian qua, sản phẩm kết hợp công nghệ nhúng công nghệ truyền thông bắt đầu phát triển ứng dụng rộng rãi hệ thống giám sát hình ảnh qua mạng IP Các hệ thống thường xây dựng dựa camera kỹ thuật số đặc biệt có khả kết nối mạng Nhờ có kết nối mạng mà thơng tin hình ảnh camera thu nhận truyền mạng cho phép hệ thống giám sát đặt vị trí cách xa trường Trên thị trường có nhiều loại IP camera hãng khác sản xuất với tính giá thành chênh lệnh lớn Thông dụng sản phẩm Sony, Panasonic Axis sản xuất Các IP camera Axis sản xuất có giá thành dao động từ 280USD với dòng sản phẩm cấp thấp nhất, 2800USD với dòng sản phẩm cấp cao đa tính Sản phẩm Sony có giá thành cao nữa, dao động từ 600USD tới gần 5000USD Như giá thành sản phẩm loại đến đắt Ngô Lam Trung – Lớp Xử lý thông tin Truyền thông 2004 Luận văn thạc sỹ khoa học Hệ thống giám sát điều khiển trực tuyến dựa công nghệ FPGA-SoC Các sản phẩm tích hợp tính truy cập mạng, hỗ trợ web server phần mềm quản lý qua web, tính điều khiển Pan-Tilt-Zoom (PTZ) từ xa, khả phát chuyển động… Tuy nhiên sản phẩm phục vụ cho ứng dụng giám sát từ xa không cho phép lệnh điều khiển phát cố trình giám sát Khả điều khiển từ xa hỗ trợ mức điều khiển PTZ cho camera khơng thể điều khiển thiết bị bên ngồi Chính lý mà tác giả luận văn lựa chọn thực đề tài “Thiết kế hệ thống giám sát điều khiển trực tuyến hình ảnh dựa công nghệ FPGA System-on-Chip” 1.2 Mô tả hệ thống Sản phẩm “Hệ thống giám sát điều khiển trực tuyến hình ảnh” thực hai chức bao gồm chức giám sát thời gian thực hình ảnh chức điều khiển Cả hai chức thực qua đường truyền mạng LAN/Internet Chức giám sát Hệ thống cung cấp giải pháp giám sát thời gian thực đại, phát triển giới thời gian gần Đó giải pháp giám sát hình ảnh qua mạng IP Hệ thống cài đặt giao diện USB để ghép nối với thiết bị camera phần mềm chuyên dụng thực điều khiển thu nhận hình ảnh thời gian thực từ camera Các liệu lưu trữ tạm thời để cung cấp cho người sử dụng có yêu cầu Dữ liệu hình ảnh thu nhận hệ thống cung cấp tới người sử dụng thông qua giao diện Web giao thức HTTP Hệ thống cài đặt Web Server cho phép người dùng truy cập dễ dàng qua mạng LAN mạng Internet Người sử dụng truy cập chức giám sát hình ảnh hệ thống hai phương pháp Phương pháp đơn giản sử dụng Web Browser để truy cập tới địa Web hệ thống, hình ảnh hiển thị Web Browser Phương pháp thứ hai thông qua phần mềm PC Phần mềm thực giao tiếp với hệ thống giám sát qua giao thức HTTP cài đặt thao tác truyền/nhận liệu phù hợp với hệ thống Các liệu hình ảnh truyền máy tính điều khiển hiển thị phần mềm máy tính Chức điều khiển Hệ thống cung cấp cho người dùng chức điều khiển trực tiếp song song với chức giám sát Với chức điều khiển thơng thường, người dùng điều khiển trực tiếp hoạt động camera bật, tắt, quay trái, phải, phóng to hay thu nhỏ (điều khiển PTZ) Hệ thống cung cấp chế đồng phần cứng phần mềm để phát triển thêm chức điều khiển phức tạp Chẳng hạn, người dùng muốn sử dụng hệ thống để điều khiển thiết bị bên ngồi cần thực thêm hai thao tác tương đối đơn giản ghép nối thiết bị với tín hiệu điều khiển thiết kế chờ sẵn khai báo thêm số thơng số thích hợp phần mềm hệ thống Ngô Lam Trung – Lớp Xử lý thông tin Truyền thông 2004 Luận văn thạc sỹ khoa học Hệ thống giám sát điều khiển trực tuyến dựa công nghệ FPGA-SoC Chức điều khiển cung cấp qua hai cách giao diện Web chương trình ứng dụng PC Nếu truy cập qua giao diện Web, người sử dụng sử dụng thao tác thiết kế sẵn nội dung trang Web Ngược lại, truy cập phần mềm PC, người dùng phải sử dụng chức phần mềm để gửi lệnh với thơng thích hợp tới hệ thống Như vậy, sản phẩm “Hệ thống giám sát điều khiển trực tuyến hình ảnh” cần đảm bảo nhiệm vụ sau: • Giao tiếp với camera để thu nhận lưu trữ liệu hình ảnh thời gian thực • Cài đặt giao diện mạng Ethernet phép truy cập từ xa qua mạng LAN Internet • Cung cấp liệu hình ảnh phục vụ truy vấn qua mạng theo giao thức HTTP • Cài đặt phần mềm Web Server phép máy tính từ xa truy cập hiển thị hình ảnh thời gian thực camera thu nhận • Nhận lệnh điều khiển từ người dùng qua giao thức HTTP thực lệnh 1.3 Nội dung trình bày luận văn Sản phẩm luận văn tốt nghiệp hệ thống có độ tích hợp cao, phức tạp liên quan đến nhiều vấn đề công nghệ Các nội dung thực luận văn bao gồm nhiều khâu từ trình thiết kế phần cứng phát triển phần mềm hệ thống nhúng hiệu cao Trong khuôn khổ báo cáo này, tác giả xin trình bày số nội dung quan trọng luận văn liên quan đến trình thiết kế phần cứng phần mềm hệ thống Nội dung luận văn tổ chức thành chương sau: Chương 1: Đặt vấn đề Nội dung: Trình bày định hướng lựa chọn đề tài, mô tả mục tiêu đề tài nội dung trình bày luận văn Chương 2: Các vấn đề lý thuyết Nội dung: Trình bày vấn đề lý thuyết quan trọng có liên quan trực tiếp q trình thực luận văn Chương 3: Phân tích thiết kế hệ thống Nội dung: Thực mơ tả q trình phân tích thiết kế hệ thống chi tiết từ xây dựng phần cứng phát triển phần mềm Chương 4: Thử nghiệm hệ thống Nội dung: Trình bày kết thử nghiệm hệ thống Chương 5: Kết luận Nội dung: Trình bày kết luận định hướng phát triển luận văn Ngô Lam Trung – Lớp Xử lý thông tin Truyền thông 2004 Luận văn thạc sỹ khoa học 14 Hệ thống giám sát điều khiển trực tuyến dựa công nghệ FPGA-SoC Mô tả Hàm sử dụng cho kết nối UDP, thực truyền liệu chứa buf qua kết nối conn Đây hàm để truyền liệu kết nối UDP Chú ý: dung lượng liệu chứa buf không lớn để tránh trường hợp phân mảnh gói IP Khn dạng int netconn_close(struct netconn *conn) Mơ tả Đóng kết nối conn Bảng 14: Tập hàm API cung cấp LWIP API LWIP cung cấp hàm quản lý truyền / nhận liệu qua mạng đủ để xây dựng ứng dụng mạng mức cao 3.4.4 Module Web Server 3.4.4.1 Đặc tả chức Module Web Server thành phần giao diện hệ thống thực cung cấp chức giám sát điều khiển tới người dùng Module trực tiếp giao tiếp với người dùng để truyền liệu hình ảnh nhận lệnh điều khiển Các chức module Web Server: • Cài đặt chức HTTP server Server phục vụ hai phương thức GET POST • Khi nhận lệnh GET từ client, HTTP server cung cấp nội dung file yêu cầu truyền client qua mạng Đây chế để xây dựng nên Web Server cung cấp liệu hình ảnh phục vụ người dùng • Khi nhận lệnh POST từ client, HTTP server giải mã tìm mơ tả lệnh liệu POST command Sau HTTP server chuyển mơ tả lệnh cho chương trình phục vụ yêu cầu người dùng trả kết Để lưu trữ nội dung trang Web cung cấp cho người dùng cần cài đặt hệ thống file đặc biệt cho cập nhận nội dung file cách dễ dàng Module Web Server thiết kế kèm với hệ thống file ảo nằm nhớ RAM Các file thực cấu trúc liệu đặc biệt tạo khởi tạo hệ thống nguồn lưu trữ liệu để Web Server cung cấp cho người dùng 3.4.4.2 Thiết kế chi tiết Thiết kế hệ thống file RAM_FILE_SYSTEM Cấu trúc file typedef struct { char filename[30]; WORD filelen; BYTE *filedata; WORD filepos; } RAM_FILE_STRUCT; Các hàm thao tác với hệ thống file Ngô Lam Trung – Lớp Xử lý thông tin Truyền thông 2004 81 Luận văn thạc sỹ khoa học Khuôn dạng RamFS_CreatFile(BYTE fnum, BYTE *fName, WORD filesize) Mô tả Tạo file RAM với số hiệu fnum, tên fName kích thước filesize Khn dạng BYTE RamFS_FindFile(BYTE *fName) Mơ tả Tìm kiếm file hệ thống file Tham số: fName: tên file cần tìm Giá trị trả về: số hiệu file (