intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tích hợp dịch vụ đo và kiểm soát từ xa sử dụng FPGA

Chia sẻ: Hoang Son | Ngày: | Loại File: PDF | Số trang:6

43
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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).

Chủ đề:
Lưu

Nội dung Text: Tích hợp dịch vụ đo và kiểm soát từ xa sử dụng FPGA

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2