Tích hợp dịch vụ đo và kiểm soát từ xa sử dụng FPGA - Đào Ngọc Tôn

Mỗi thành phần đó là một trang web nhỏ, được tải vào các khung trên giao diện trang web chính. Nội dung toàn bộ các trang web và ảnh liên quan lưu trong thư mục httpd của web server: - Tệp index.html: trang web chính, cung cấp giao diện người dùng đầy đủ các chức năng. Thư mục html: chứa các trang web nhỏ, bao gồm control.html-giao diện điều khiển thiết bị, dummy.html- giao diện giả, temperature.html- giao diện nhiệt độ hệ thống. - Thư mục cgi-bin: chứa các tệp thực thi, control.cgi- điều khiển các thiết bị. KẾT LUẬN Bài báo trình bầy một phương pháp thiết kế hệ đo, xử lý và điều khiển tích hợp vào công nghệ FPGA qua hệ thống mạng. Hệ thống này được ứng dụng cho giám sát tòa nhà thông minh từ xa qua mạng Internet. Đây là một hướng nghiên cứu mới, rất có ý nghĩa trong đo lường và điều khiển và xây dựng và thiết kế các hệ nhúng. Tiếp cận trên cho phép khai thác được thế mạnh của kỹ thuật lập trình (đưa được trí tuệ của con người vào hệ thống) và phần cứng của công nghệ

pdf6 trang | Chia sẻ: thucuc2301 | Lượt xem: 603 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Tích hợp dịch vụ đo và kiểm soát từ xa sử dụng FPGA - Đào Ngọc Tôn, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96 91 TÍCH HỢP DỊCH VỤ ĐO VÀ KIỂM SOÁT TỪ XA SỬ DỤNG FPGA Đào Ngọc Tôn1, Nguyễn Phương Huy1, Nguyễn Thanh Hà2* 1Trường Đại học Kỹ thuật Công nghiệp - ĐH Thái Nguyên 2Đại học Thái Nguyên TÓM TẮT Bài báo trình bày phương pháp tích hợp các thuật toán đo và điều khiển vào chip FPGA cho đo và giám sát tòa nhà thông minh qua mạng máy tính. Ở đây các quá trình đo, phần mềm xử lý, các bộ vi xử lý, các thuật toán điều khiển được tích hợp vào một file và được nạp vào FPGA theo hướng SOC (System On Chip). Từ khóa: FPGA, SOC, nhà thông minh MỞ ĐẦU* Trong những năm gần đây, công nghệ mạng đã có những bước phát triển vượt bậc. Trong tương lai rất gần, các dịch vụ truyền tin, điều khiển, giám sát sẽ được tích hợp trên nền mạng Internet. Hệ thống giám sát và điều khiển từ xa qua Ethernet dùng FPGA là một hệ thống số hoàn chỉnh trên FPGA bao gồm các IP logic (hay các khối logic) tự thiết kế, các IP cung cấp sẵn, lõi Vi xử lý mềm MicroBlaze [5,8] cùng với các hệ điều hành khác. Sau khi hoàn chỉnh, hệ thống sẽ cần xử lý một khối lượng công việc khá lớn như tổng hợp, thu thập dữ liệu, giám sát và xử lý tệp sau đó truyền đi qua giao thức TCP/IP với sự hỗ trợ của các hệ điều hành [1,5,6]. Bên cạnh đó là việc nhận và xử lý các tín hiệu điều khiển thiết bị của người dùng từ phía giao diện web. Để giải quyết những công việc như vậy, khối logic xây dựng với mã VHDL đóng vai trò là một IP logic trong hệ nhúng với vi xử lý MicroBlaze. Tất cả việc xử lý, sự kiện điều khiển, truyền trang web được xây dựng trên hệ điều hành khác nhau... Việc tích hợp các thiết bị trong một môi trường hỗn hợp đa phương tiện cho phép xử lý các thông tin hợp nhất (âm thanh, hình ảnh, số liệu) áp dụng trong một phạm vi rất rộng lớn như thông tin gia dụng, các ứng dụng hiện trường, điều khiển công nghiệp đã và đang có yêu cầu lớn. Từ các ngành cơ khí, hoá chất, năng lượng cho đến các thiết bị di động * Tel: 0913 073591, Email: nguyenthanhha@tnut.edu.vn nhỏ gọn với tính năng thông minh rất cao là minh chứng cho thấy các công nghệ, đặc biệt là các công nghệ cao ngày càng đáp ứng đầy đủ các yêu cầu khắt khe của con người [1,2,4,5]. Trong bài báo này, các tác giả trình bày một phương pháp tích hợp các thuật toán đo và điều khiển vào chip FPGA ứng dụng trong việc đo lường và giám sát tòa nhà thông minh qua mạng máy tính. Bài báo bao gồm các phần: i) Mở đầu, ii) Phân tích hệ thống, iii) Các công cụ phát triển, iv) Hệ nhúng với MicroBlaze và các hệ điều hành trên FPGA, v) Thiết kế hệ thống và ứng dụng, vi) Kết luận. PHÂN TÍCH HỆ THỐNG Nhu cầu quản lý tòa nhà thông minh Một hệ thống nhà thông minh phải có các hệ thống An ninh- An toàn, Chiếu sáng, Điều khiển nhiệt độ - Quản lý năng lượng, hệ thống âm thanh, Video - Camera giám sát, Chuông cửa có hình, Rèm tự động, Bơm bể bơi, Bơm tưới, và các hệ thống khác theo yêu cầu. Để điều khiển hệ thống trên thì chi phí vận hành các máy móc thiết bị cao và dường như đã vượt quá tầm kiểm soát. Chịu ảnh hưởng từ những tác động của việc tăng chi phí sử dụng năng lượng, các yêu cầu về thân thiện với môi trường, thiết bị và nhân lực làm việc với hiệu suất thấp, các nhà quản lý đang tìm kiếm các giải pháp có thể giúp họ quản lý và vận hành các máy móc thiết bị một cách tiết kiệm và hiệu quả nhất [3,4]. Các thiết bị, hệ thống cần quản lý Các thiết bị, hệ thống cần quản lý được mô tả trong hình 1 bao gồm: Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96 92 - Hệ thống điều khiển nhiệt độ, quản lý năng lượng - Hệ thống điều khiển chiếu sáng - Hệ thống âm thanh - Hệ thống camera giám sát - Hệ thống an ninh - Hệ thống điện thoại - Hệ thống tưới vườn tự động và điều khiển rèm cửa - Hệ thống bể bơi và spa - Truy cập và điều khiển từ Internet Hình 1. Hệ thống quản lý tòa nhà thông minh Hệ thống được xây dựng với hai chức năng chính là giám sát và điều khiển tòa nhà từ xa qua Internet. Sau khi phân tích các điều kiện khả thi và các chức năng của hệ thống một cách chi tiết, hệ thống được xây dựng dựa trên nền tảng thiết kế logic trên FPGA với các chức năng như sau: - Cung cấp dịch vụ Web server. - Điều khiển các thiết bị điện qua giao diện web, các thiết bị này có thể kết nối trực tiếp tới hệ thống qua dây hoặc không dây. - Giao tiếp các cảm biến để cho phép theo dõi được nhiệt độ nơi cần giám sát. - Có khả năng mở rộng thêm với các chức năng khác cho hệ thống. Bên cạnh các yêu cầu chức năng của hệ thống là các yêu cầu về tính hiệu năng của hệ thống, môi trường hoạt động, các yêu cầu về bảo mật CÁC CÔNG CỤ PHÁT TRIỂN Chip FPGA dùng để phát triển hệ thống được trình bày trong bài báo này là chip của hãng Xilinx cung cấp, do đó toàn bộ môi trường phát triển và công cụ phát triển hệ thống logic trên FPGA là phần mềm của hãng Xilinx, bao gồm: - Xilinx EDK (Embedded Development Kit): Công cụ phát triển hệ thống nhúng trên FPGA. Công cụ này được coi là công cụ thiết kế và phát triển hệ thống logic trên FPGA, cho phép cung cấp một hệ vi xử lý hoàn chỉnh trên FPGA gồm các IP logic và vi xử lý. - Xilinx ISE (Integrated Software Environment): công cụ phần mềm môi trường tích hợp. Công cụ này được coi là công cụ thiết kế và phát triển các IP logic người dùng, các IP logic này đã được định nghĩa khi đưa ra thiết kế hệ thống logic với Xilinx EDK. Bên cạnh đó, quá trình thiết kế và phát triển các IP logic đòi hỏi công cụ mô phỏng logic để kiểm tra các đặc tính, dạng sóng của tín hiệu vào ra của khối logic đang được phát triển có đúng theo đặc tả thiết kế hay không. Trong bài báo này, công cụ mô phỏng được sử dụng là phần mềm ModelSimXE. Một công cụ quan trọng được sử dụng trong đề tài là công cụ phát triển phần mềm nhúng uClinux-PetaLinux của hãng PetaLogix, cũng như các hệ điều hành khác. Công cụ này cho phép nhúng hệ điều hành lên trên nền tảng phần cứng đã xây dựng trên FPGA, điều khiển toàn bộ hoạt động của hệ thống và cung cấp các phần mềm ứng dụng dựa trên chức năng mong muốn của hệ thống. Công cụ cuối cùng dùng trong đề tài là phần mềm thiết kế mạch Orcad của hãng Calence. Công cụ này cho phép thiết kế các mạch mở rộng cho chip FPGA giúp kết nối hệ thống logic trên chip FPGA với các thiết bị bên ngoài theo yêu cầu chức năng của hệ thống HỆ NHÚNG VỚI MICROBLAZE VÀ CÁC HỆ ĐIỀU HÀNH TRÊN FPGA Một hệ thống FPGA hoàn chỉnh là một hệ thống logic bao gồm nhiều IP logic, tuy nhiên để kết hợp và điều khiển các IP đó với nhau tạo thành một hệ thống có chức năng mong muốn lại đòi hỏi cần có một Vi điều khiển trung tâm và phần mềm nhúng. Chương này sẽ trình bày về hai thành phần quan trọng Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96 93 trong hệ thống để thực hiện công việc này, đó là Vi điều khiển MicroBlaze - Vi điều khiển mềm của Xilinx và bộ công cụ nhúng hệ điều hành. Vi xử lý MicroBlaze Vi xử lý MicroBlazeTM là một hệ Vi điều khiển RISC, dạng lõi vi xử lý mềm, được thiết kế tối ưu cho chip FPGA của Xilinx®. Sơ đồ khối chức năng của lõi MicroBlaze được biểu diễn trên hình 2. Hình 2. Sơ đồ khối chức năng của MicroBlaze MicroBlaze có cấu trúc tương tự như các Vi điều khiển RISC 32 bit thông thường, bao gồm các khối chức năng chính như: ALU, giải mã lệnh, các thanh ghi đặc biệt, tệp thanh ghi, bộ đếm chương trình, bus lệnh và bus địa chỉ. Bên cạnh những khối chức năng cố định thì với đặc tính mềm, MicroBlaze cho phép tùy chọn các khối chức năng: đệm lệnh, đệm dữ liệu, bộ nhân, bộ chia, bộ dịch, bộ xử lý dấu phẩy động FPU. Điều này cho phép cấu hình linh động MicroBlaze theo các thiết kế có yêu cầu, đặc trưng riêng. Quá trình xử lý lệnh theo kiến trúc đường ống, hầu hết các lệnh của nó thực hiện trong một chu kỳ đồng hồ. Quá trình xử lý lệnh được chia làm 3 giai đoạn: nhận lệnh (Fetch), giải mã lệnh (Decode), thi hành lệnh (Execute). Phát triển trình điều khiển trên các lõi hệ điều hành Để ứng dụng của hệ điều hành có thể giao tiếp với các thiết bị phần cứng, cần có một tầng ứng dụng trung gian giữa ứng dụng của hệ điều hành và các thiết bị gọi là trình điều khiển, nó có nhiệm vụ xây dựng các API mức cao giao tiếp với ứng dụng trên hệ điều hành và chuyển thành các lệnh giao tiếp bậc thấp dạng vào ra cơ sở cho các thiết bị phần cứng. Vì uClinux tuân theo các quy ước của Unix, mọi thứ được thực hiện qua tệp. Do đó phần cứng được địa chỉ hóa qua một tệp có liên quan đến thiết bị gọi là tệp thiết bị. Có ba loại trình điều khiển thông dụng tương ứng cho ba loại thiết bị thông dụng: - Trình điều khiển ký tự (character drivers): điều khiển thiết bị dòng dữ liệu mà chỉ có thể được truy cập một cách tuần tự, và các trình điều khiển truy cập các thiết bị này thông qua tệp thiết bị như “dev/ttyS0” dành cho trình điều điều khiển cổng com. - Trình điều khiển khối (block drivers): truy cập các khối dữ liệu, chúng cho phép truy cập ngẫu nhiên, truy cập qua bộ đệm hệ thống, và truy cập qua tệp thiết bị như “/dev/hda” dành cho trình điều khiển ổ cứng. - Trình điều khiển mạng (network drivers): điều khiển thiết bị hướng gói tin. Các thiết bị này nhận và truyền các gói tin cũng như truy cập qua các dịch vụ mạng. Thiết bị mạng truy cập thông qua định danh duy nhất, như “eth0”. THIẾT KẾ HỆ THỐNG Quy trình thiết kế hệ thống Dựa trên quy trình thiết kế của Xilinx, quy trình thiết kế VHDL, quy trình thiết kế hệ nhúng. Trình tự thiết kế cho hệ thống được chỉ ra trên hình 3 bao gồm. (1) Xây dựng hệ thống logic - nền tảng phần cứng của hệ thống, công việc này được thực hiện trên công cụ Xilinx EDK. (2) Thiết kế phần mềm nhúng cho hệ thống bằng công cụ uClinux-Petalinux đã trình bày trong phần 3 Thiết kế mạch mở rộng cho hệ thống Hình 3. Quy trình thiết kế hệ thống Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96 94 Hình 4. Sơ đồ khối nền tảng phần cứng Một hệ thống hoàn chỉnh sẽ bao gồm: nền tảng phần cứng- hệ thống logic bao gồm các IP logic cùng vi xử lý hợp thành hệ vi xử lý nằm trên chip FPGA, hệ điều hành- hệ thống tệp thực thi điều khiển toàn bộ hệ thống logic, các mạch mở rộng phụ trợ cho chip FPGA kết nối tới thiết bị bên ngoài. Cuối cùng, nạp tệp cấu hình, tệp thực thi xuống FPGA và kết nối các mạch mở rộng cho hệ thống, có sản phẩm là một hệ thống logic có chức năng mong muốn. Sơ đồ khối phần cứng Hệ thống phần cứng xây dựng trong bài báo là một hệ Vi điều khiển hoàn chỉnh bao gồm CPU, RAM, ROM, các khối logic. Mỗi khối logic đều có chức năng riêng biệt đảm bảo cung cấp đầy đủ các chức năng riêng rẽ cho hệ thống, bên cạnh những khối logic dùng sẵn là các khối logic xây dựng mới bao gồm: - Vi xử lý MicroBlaze - Khối điều khiển DDR SDRAM - Khối điều khiển FLASH ROM - Khối Ethernet MAC - Khối UART - Khối bộ định thời - Khối điều khiển ngắt - Khối điều khiển GPIO Các khối giao tiếp cảm biến Toàn bộ hệ các khối logic trong hệ thống giao tiếp với vi xử lí qua bus PLB, đóng vai trò là tuyến kết nối dữ liệu, tín hiệu điều khiển, tín hiệu địa chỉ cho toàn bộ nền tảng phần cứng của hệ thống. Thử nghiệm hệ thống đo và giám sát qua internet trên FPGA Các hệ thống đo và giám sát trên cơ sở mạng internet đang ngày một gia tăng trong tất cả các lĩnh vực của đời sống. Việc lựa chọn công nghệ sao cho hợp lý, giảm chi phí và có thể thiết lập được nhiều chức năng là một trong những yêu cầu cần thiết. Các thiết bị đo lường và điều khiển cho hệ thống tòa nhà khi kết nối vào FPGA được thực hiện trên cơ sở môi trường phát triển của KIT Spartan 3E. Các kết nối vào/ra có thể thực hiện trên: - Các chân J1, J2, J3, - 100 chân (100 pins Hirose) trên hình 5 Hình 5. Các giao tiếp với các thiết bị ngoài với KIT Spartan 3E Thiết kế phần mềm Toàn bộ phần mềm của hệ thống xây dựng trên môi trường hệ điều hành uClinux- petalinux. Đây là hệ điều hành đa tác vụ, do đó khi xây dựng các phần mềm ứng dụng, người dùng không gặp nhiều khó khăn về việc chia sẻ tài nguyên hệ thống cũng như khả năng xử lý công việc phức tạp của các module chương trình. Từ chương trình lõi là hệ điều hành khác hoặc uClinux, các module phần mềm ứng dụng sẽ được gọi và xử lý. Phần mềm của hệ thống bao gồm các module như sLõi uClinux hay hệ điều hành khác: chương trình lõi hệ điều hành Linux, chạy cùng thống từ khi cấp điện và nạp cấu hình cho FPGA. - Web server: chương trình phục vụ web, cung cấp giao diện người dùng qua trang web nhúng trên tệp hệ thống của hệ điều hành. - Điều khiển thiết bị: chương trình điều khiển bật, tắt các thíết bị kết nối tới hệ thống qua mạch điều khiển. - Giao tiếp DS1820: chương trình giao tiếp với cảm biến Giao diện người dùng Giao diện người dùng là một trang web chính, nội dung trang web chính bao gồm các thành Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96 95 phần chức năng của hệ thống: khung ảnh MJPEG chứa hình ảnh khu vực cần quan sát, bộ nút điều khiển hướng chuyển động camera, bộ bật tắt thiết bị, text box hiển thị thời gian và nhiệt độ. Hình 6: Các module chương trình thiết kế trên uClinux Hình 7. Giao diện người dùng của hệ thống Mỗi thành phần đó là một trang web nhỏ, được tải vào các khung trên giao diện trang web chính. Nội dung toàn bộ các trang web và ảnh liên quan lưu trong thư mục httpd của web server: - Tệp index.html: trang web chính, cung cấp giao diện người dùng đầy đủ các chức năng. Thư mục html: chứa các trang web nhỏ, bao gồm control.html-giao diện điều khiển thiết bị, dummy.html- giao diện giả, temperature.html- giao diện nhiệt độ hệ thống. - Thư mục cgi-bin: chứa các tệp thực thi, control.cgi- điều khiển các thiết bị. KẾT LUẬN Bài báo trình bầy một phương pháp thiết kế hệ đo, xử lý và điều khiển tích hợp vào công nghệ FPGA qua hệ thống mạng. Hệ thống này được ứng dụng cho giám sát tòa nhà thông minh từ xa qua mạng Internet. Đây là một hướng nghiên cứu mới, rất có ý nghĩa trong đo lường và điều khiển và xây dựng và thiết kế các hệ nhúng. Tiếp cận trên cho phép khai thác được thế mạnh của kỹ thuật lập trình (đưa được trí tuệ của con người vào hệ thống) và phần cứng của công nghệ TÀI LIỆU THAM KHẢO [1]. Le Ba Dung, Bui Nguyen Dai: A real time multitasking operating software based on IBM PC for data acquisition, processing and control. The Sixth National Conference on Automation VICA 6, Hà nội, 2005. [2]. Lê Bá Dũng, Báo cáo đề tài “Thiết kế Bộ xử lý chuyên dụng cho đo lường và điều khiển”. Viện KH&CN Việt nam 2009. [3]. Hệ thống quản lý tòa nhà (IBMS). Nguồn: [4]. Nguyễn Thanh Hà, Hệ thống báo cháy tòa nhà thông qua mạng điện thoại, Tạp chí KHCN 52(4) - Đại học Thái nguyên tháng 4 - 2009 - Tr 38-40 [5]. Mentor Graphics Corporation (2007, September). ModelSim Tutorial [Online]. Available: [6]. Xilinx (2008, September 18). EDK Concepts, Tools, and Techniques [Online]. Available: [7]. Xilinx (2008, September 18). ISE 10.1 Quick Start Tuorial [Online]. Available: Xilinx (2008, July 14). MicroBlaze Processor Reference Guide [Online]. Available: Đào Ngọc Tôn và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 91 - 96 96 SUMMARY INTEGRATING REMOTE MEASUREMENT AND CONTROL SERVICES USING FPGA Dao Ngoc Ton1, Nguyen Phuong Huy1, Nguyen Thanh Ha2* 1College of Technology – TNU, 2Thai Nguyen University The article presents the method of integration of control algorithms in FPGA chip for measuring and monitoring intelligent buildings via computer networks. Here, the process of measuring, processing software, the microprocessor and the control algorithms ... integrated into a file and loaded into the FPGA in the direction of SOC (System On Chip). Key words: FPGA, SOC, Smart House Ngày nhận bài:22/10/2012, ngày phản biện:02/11/2012, ngày duyệt đăng:10/12/2012 * Tel: 0913 073591, Email: nguyenthanhha@tnut.edu.vn

Các file đính kèm theo tài liệu này:

  • pdfbrief_36954_40537_203201316184391_4607_2052159.pdf