Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
1,25 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA TÔN THẤT ĐẠI HẢI Đề tài: HIỆN THỰC HỆ ĐIỀU HÀNH CHO MẠNG CẢM BIẾN KHÔNG DÂY TRÊN FPGA Chuyên ngành: Khoa học máy tính LUẬN VĂN THẠC SĨ TP Hồ Chí Minh, tháng năm 2010 Lời cảm ơn Đầu tiên, xin gửi lời cảm ơn chân thành đến TS Đinh Đức Anh Vũ TS Trần Văn Hoài cung cấp tài liệu tận tình hướng dẫn suốt q trình thực tập hồn thành luận văn tốt nghiệp Các thầy động lực lớn giúp chúng tơi hồn thành đề tài Bên cạnh đó, chúng tơi ũng c xin c ảm ơn giúp đỡ nhiệt tình bạn đồng nghiệp q trình chúng tơi thực đề tài Cuối cùng, xin cảm ơn công ty Altera ãđ cung c ấp tài liệu board mạch thí nghiệm, giúp chúng tơi có điều kiện thực đề tài Thành phố Hồ Chí Minh, tháng năm 2010 Tóm tắt luận văn thạc sĩ Luận văn trình bày kiến thức mạng cảm biến khơng dây tảng FPGA Đồng thời giới thiệu việc thực hệ điều hành cảm biến không dây lên FPGA Luận văn lựa chọn hệ điều hành TinyOS để thực lên hệ thống FPGA Hệ thống xây dựng với trung tâm nhân mềm (soft-core) NiosII tích hợp sẵn FPGA Bên cạnh để demo cho đề tài luận văn xây d ựng mơ hình gồm nút mạng trung tâm mô việc quản lý nhiệt độ phòng nhỏ ii Mục Lục nội dung - - Phần GIỚI THIỆU ĐỀ TÀI 1 Tổng quan Giới thiệu đề tài Tính cấp thiết đề tài Tính khả thi đề tài Phần MẠNG CẢM BIẾN KHÔNG DÂY Giới thiệu Phần cứng phần mềm cho node Hệ điều hành cho node 10 Phương thức giao tiếp mạng cảm biến không dây 11 Các ứng dụng mạng cảm biến không dây 13 Các thách thức xu hướng phát triển mạng cảm biến không dây 17 Phần TỔNG QUAN VỀ FPGA 19 FPGA 19 Quy trình thiết kế FPGA 23 Ứng dụng FPGA 24 Phần GIAO TIẾP KHÔNG DÂY 26 Giới thiệu 26 Lan truyền tín hiệu suy yếu tín hiệu lan truyền 26 Sóng radio 28 Phần HỆ ĐIỀU HÀNH TINYOS 32 Giới thiệu 32 NesC 33 Một vài hệ thống hỗ trợ hệ điều hành TinyOS 33 Phần HIỆN THỰC HỆ ĐIỀU HÀNH 36 iii TinyOS 36 Xây dựng môi trường biên dịch TinyOS (TinyOS compilation environment) 47 a Hệ thống thực thi (make system) 47 b Driver cho trình biên dịch NesC (NesC compiler driver) 47 c Trình biên dịch NesC-to-C (NesC-to-C compiler) 48 Hiện thực hệ điều hành TinyOS lên FPGA 48 a Sơ lược mơ hình node cảm ứng 49 b Đặc tả hệ thống 50 c Quy trình thực 52 d Module giao tiếp node 55 Phần KẾT LUẬN 58 Phần TÀI LIỆU THAM KHẢO 60 iv Mục lục hình -o0o Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Mạng cảm biến khơng dây Mơ hình phần cứng phần mềm khối cảm biến trung tâm Các giao thức sử dụng cho mạng cảm biến không dây 12 Sử dụng mạng cảm biến không dây để điều khiển robot 13 Hệ thống điều khiển chiếu sáng 15 Hệ thống điều khiển thiết bị nhà 15 Các ứng dụng mạng cảm biến không dây môi trường quân 17 Ứng dụng mạng cảm biến không dây y tế 17 Cấu trúc FPGA 20 10 Kiến trúc FPGA 21 11 Stratix IV GX FPGA 22 12 Chip FPGA Cyclone II Altera 23 13 Quy trình thiết kế FPGA 24 14 Hiện tượng lặp tín hiệu 27 15 Sự suy giảm tín hiệu phụ thuộc vào vật cản tầng số 28 16 Miền tần số sóng radio 29 18 Hệ thống Mica 34 19 Hệ thống Telosb 34 20 Hệ thống eyesIFXv2 35 17 Tổ chức thư mục hệ thống TinyOS 40 21 Mô hình tổng ứng dụng 50 22 Cấu hình hệ thống xây dựng FPGA 51 23 Hiện thực hệ điều hành ứng dụng cho hệ thống 53 24 Quy trình hiệu thực hệ điều hành 54 25 Mơ hình node trung tâm 57 v Mục lục bảng -o0o Bảng So sánh tính vài chuẩn giao tiếp 12 Bảng Phân vùng sóng radio 30 Bảng Tài nguyên tiêu tốn 52 vi Phần Giới thiệu đề tài Phần GIỚI THIỆU ĐỀ TÀI Tổng quan Trong năm gần với ưu điểm mạng cảm biến khơng dây cảm biến khơng dây (Wireless Sensor Networks-WSNs) ứng dụng nhiều lĩnh v ực như: quân sự, y tế, môi trường…Tuy thách thức mà mạng cảm biến khơng dây (WSNs) đưa thách thức không nhỏ [1] Với việc áp dụng công nghệ FPGA (Field Programmable Gate Array) vào mạng wireless sensor network có nhiều ứng dụng xây dựng Trong lĩnh vực mạng wirless sensor networks việc xây dựng hệ điều hành node mạng wireless sensor networks ũng c m ột hướng nghiên cứu nóng bỏng Hệ điều hành cho node mạng cảm biến không dây (WSNs) khơng phức tạp hệ điều hành thơng thường [2] Do tính đặc thù nên hệ điều hành không yêu cầu giao diện người dùng, việc ánh xạ nhớ cho phần cứng, nhớ ảo,… không cần thiết Hệ điều hành cho mạng cảm biến không dây (WSNs) không khác hệ thống nhúng lắm, nhiên thiết kế để đảm bảo tính real-time cho hệ thống (điều khơng bắt buộc hệ thống nhúng) Một vài hệ điều hành đư ợc xây dựng là: TinyOS, Mate, MagnetOS, Mantis… Phần Giới thiệu đề tài Giới thiệu đề tài Từ yêu cầu thìđ ề tài “hiện thực hệ điều hành cho mạng wirless sensor networks FPGA” xây dựng nhằm mục đích phục vụ khả sử dụng tối ưu phần cứng hệ thống, nâng cao khả tính tốn hỗ trợ tối đa tính tái sử dụng hệ thống cảm biến không dây (WSNs) Tuy nhiên với việc sử dụng FPGA thử thách thực đề tài phải sử dụng tối ưu nguồn lượng node Để thử nghiệm cho đề tài chúng tơi xây dựng hệ thống nhỏ mạng wirless sensor network để demo Tuy điều kiện phịng thí nghiệm việc xây dựng hệ thống cảm biến không dây (WSNs) lớn điều bất khả thi Chính lẽ mà đề tài dừng lại mức độ thực mạng wirless sensor networks với hệ điều hành FPGA node giao tiếp thông qua sóng Radio (Radio frequency) với số node tối thiểu tối đa 10, khoảng cách node mà đề tài hướng đến khoảng 50m Ngoài để thuận tiện hướng đến vấn đề đề tài thành phần khác như: platform, công nghệ giao tiếp, cảm biến, ứng dụng… giả thiết có Trên s đ ề tài xây dựng tập node mạng WSNs nhỏ thực nhiệm vụ cảm biến nhiệt độ phòng lớn, để từ đưa nhận định hợp lý chênh lệch nhiệt độ phòng thay đ ổi nhiệt độ cách đóng mở máy lạnh Các vấn đề tính xác việc truyền nhận liệu, tính ổn định hệ điều hành v ấn đề lượng đo lường đánh giá Phần Giới thiệu đề tài Tính cấp thiết đề tài Trong hệ thống mạng cảm biến khơng dây (WSNs) việc tái cấu hình phát triển hệ thống vấn đề cấp thiết khơng thể thiếu Việc địi h ỏi việc tận dụng trở lại node ũc v ới chi phí thấp Bên cạnh vi ệc nghiên cứu phát triển công nghệ mạng cảm biến không dây (WSNs) phát tri ển mạnh Với việc sử dụng công nghệ FPGA vào mạng cảm biến không dây (WSNs) cách để giải yêu cầu cấp thiết Đề tài thành công mở nhìn việc sử dụng công nghệ FPGA mạng cảm biến không dây (WSNs) Giúp khắc phục số thách thức mạng Khơng đề tài giúp nâng cao trình độ công nghệ FPGA, phương thức giao tiếp cách thức tái cấu hình mạng wirless sensor networks cho nhóm nghiên cứu Tính khả thi đề tài Xuất phát yêu cầu cấp thiết mạng WSNs phát triển cơng nghệ FPGA kết hợp lĩnh vực hướng nghiên cứu nóng bỏng, hướng giải cho mạng WSNs Việc thực đề tài góp phần đẩy mạnh xu hướng ứng dụng mạng WSNs thời gian tới Với phát triển FPGA nhiều lĩnh vực, việc xây dựng hệ điều hành cho node mạng wirless sensor networks điều Tuy Phần Hiện thực hệ điều hành thực cách dễ dàng yêu cầu lẽ xây dựng cách thêm vào gcc vài lựa chọn (option) khác để gcc cấu hình file có định dạng *.nc (NesC) Chú ý rằng: Gcc trình biên dịch C Nó đơn giản chương trình mà bao gồm trình biên dịch (compiler), trình hợp ngữ, trình liên kết hoạt động dựa lựa chọn Để NesC compiler driver nhận thấy hệ thống NesC compiler driver dòi hỏi thư mục hệ thống phải chứa file nios2 (được viết với ngôn ngữ perl) File đặt tả lựa chọn biên dịch cho hệ thống File tương tự file hệ thống có sẵn mica, telosb… hệ thống mica, telosb… Ví dụ để NesC compiler driver chấp nhận option –target=, ta phải đặt file nios2 thư mục tos/platform phải đường dẫn đến file c Trình biên dịch NesC-to-C (NesC-to-C compiler) NesC-to-C compiler thực trình biên dịch NesC Nó đọc đầu vào từ thành phần dạng NesC lẫn file mã nguồn C, xuất (output) file C (thơng thường file tìm thấy thư mục build//app.c chinh mà cần thêm option –fnesccfile=build//app.c make system dịnh vị vị trí file Hiện thực hệ điều hành TinyOS lên FPGA 48 Phần Hiện thực hệ điều hành a Sơ lược mơ hình node cảm ứng Như trình bày phần trên, ứng dụng mà xây dựng hệ thống cảm biến không dây phục vụ việc điều hòa nhiệt độ, ứng dụng xây dựng FPGA Vi xử lý sử dụng NiosII tích hợp chip FPGA Dưới mơ hình tổng qt ứng dụng xây dựng Trong mơ hình mà đ ề tài xây dựng trọng đến vấn đề thực hệ điều hành TinyOS lên vi xử lý Nios2 nên phần cảm biến (sensor) minh họa (dữ liệu giả lập, xem có ph ần này) Bên cạnh vấn đề lượng không đo đạc tính tốn đề tài Lý node sử dụng cơng nghệ FPGA có chi phí tương đối cao cộng với nguồn lượng dồi thường sử dụng cho node điều khiển trung tâm 49 Phần Hiện thực hệ điều hành Hình 21 Mơ hình tổng q ứng dụng b Đặc tả hệ thống Hệ thống xây dựng board DE2 hỗ trợ Altera Hệ thống xây dựng phần cứng cấu hình sau: 50 Phần Hiện thực hệ điều hành Hình 22 Cấu hình hệ thống xây dựng FPGA Hình mơ tả tồn thành phần phần cứng thiết kế cho node trung tâm Hệ thống phần cứng thiết kế với vi xử lý Nios II – 32 bit với tần số hoạt động 133.33 MHz cung cấp module clock Bộ nhớ hệ thống bao gồm 8MByte SRAm 4MByte Flash Hệ thống có timer module xuất nhập sử dụng để xuất hay nhập liệu cho ứng dụng Module JTAG sử dụng để giao tiếp giao tiếp node host trình debug Module clock sử dụng clock nhập 50MHz từ giao động thạch anh sinh tín hiệu clock khác Một clock cho CPU 133.33 MHz sử dụng cho vi xử lý NIOS Hai tần số clock sử dụng cho SDRAM (133.33 MHz) Cuối clock sử dụng cho thiết bị xuất nhập 100MHz, clock sử dụng để tạo xung cho module xuất nhập như: IO, timer, JTAG… Tài nguyên xây dựng node tiêu tốn: 51 Phần Hiện thực hệ điều hành Bảng Tài nguyên tiêu tốn Total logic elements Total combinational functions Dedicated logic registers Total registers Total memory bits Total PLLs 3.598/33.216 (11%) 3.097/33.216 (9%) 2.173/33.216 (7%) 2290 18.208/483.480 (4%) 1/4 (25%) c Quy trình thực Quy trình tóm lược việc thực hệ điều hành TinyOS thực Cygwin (Window) Linux, trình thực địi h ỏi phải qua bước sau: - Java Development Kit 6.0 (JDK 6.0): sử dụng để tương tác với mạch phần cứng kết nối với máy tính - Trường hợp sử dụng window cần phải cài đặt thêm Cygwin: Cygwin cung cấp công cụ Linux mà TinyOS sử dụng - Trình biên dịch: Để thực hệ điều hành vi xử lý náo địi h ỏi phải có biên dịch (compiler) mà chuyển hóa code hệ điều hành thành mã assembly chạy vi điều khiển FPGA (vi xử lý NiosII) cần có compiler tương ứng gọi công cụ NiosII (NiosII toolchain) 52 Phần Hiện thực hệ điều hành Hình 23 Hiện thực hệ điều hành ứng dụng cho hệ thống - Trình biên dịch nesC: TinyOS viết nesC (Network embedded system C - ngôn ngữ mở rộng C - ngôn ngữ sử dụng để viết hệ điều hành, platform chạy hệ thống nhúng) Trình biên dịch nesC platform độc lập Nó chuyển mã biên dịch sang chương trình mà NiosII toolchain tiếp tục xử lý để biến thành mã assembly chạy NiosII - Xây dựng TinyOS source tree: hỗ trợ việc cài đặt phần mềm ứng dụng sau hệ thống Vì hệ thống mà đề tài xây dựng không 53 Phần Hiện thực hệ điều hành hỗ trợ TinyOS cần thiết phải xây dựng lại file mã nguồn để đặc tả hệ thống cần xây dựng Việc xây dựng file trình bày phần 5.3 TinyOS - Cơng cụ Graphviz Visualization: Ngồi vấn đề thực hệ điều hành TinyOS lên hệ thống, cộng đồng TinyOS cịn hỗ trợ cơng cụ nhằm kiểm tra hoạt động hệ thống với công cụ Graphviz Visualization Tuy công cụ chạy giả lập máy tính nên khơng phù hợp với đề tài Vì mà đề tài khơng sử dụng công cụ việc kiểm thử Cụ thể trình thực thực hình sau: Hình 24 Quy trình hiệu thực hệ điều hành 54 Phần Hiện thực hệ điều hành Hình đ ặc tả quy trình thực hệ điều hành TinyOS cho hệ thống phần cứng Nó bao gồm quy trình riêng biệt Một trình thực phần cứng cho node Hai quy trình biên dịch ứng dụng hệ điều hành Quy trình thực phần cứng cho node xây dựng môi trường SOPC (Quartus II) Việc xây dựng cụ thể trình thiết kết phần thành phần phần cứng cho node, kết trình file cấu hình phần cứng cho FPGA (.sof/.pof) File sau nạp lên FPGA để có hình thành phần cứng cho node cảm biến Quy trình cịn lại việc xây dựng ứng dụng Kernel TinyOS cho node Việc bao gồm việc xây dựng file đặc tả hệ thống file ứng dụng cần thiết (được đặc tả phần 5) Quy trình nhận file đặc tả phần cứng hệ thống (.ptf) từ quy trình đ ể nhận biết biên dịch Sản phẩm trình file ảnh có định dạng Flash File bao gồm ứng dụng phần Kernel cho hệ thống d Module giao tiếp node Hiện có nhiều chuẩn khơng dây (wireless) để truyền liệu với tốc độ cao thiết bị với BlueTooth hay Wifi Nhưng mạng quản lý sensor ứng dụng điều khiển - tự động hóa thiết bị nhà hay bệnh viện Wifi hay BlueTooth lại đáp ứng Zigbee tiêu chuẩn định nghĩa : tập hợp giao thức giao tiếp mạng khơng dây khoảng cách ngắn có tốc độ truyền liệu thấp Các thiết bị 55 Phần Hiện thực hệ điều hành không dây dựa chuẩn Zigbee hoạt động dãy tần số 868MHz, 915 MHz 2.4GHz Với đặc điểm : - Tốc độ truyền liệu thấp 20-250Kbps - Sử dụng cơng suất thấp, tiêu hao điện - Thời gian sử dụng pin dài - Cài đặt, bảo trì dễ dàng - Độ tin cậy cao - Có thể mở rộng đến 65000 node - Chi phí đầu tư thấp Vì lý mà đề tài chọn lựa module ZigBee để thực Dưới mơ hình node hệ thống xây dựng 56 Phần Hiện thực hệ điều hành Hình 25 Mơ hình node trung tâm Node bao gồm phần phần node board mạch giao tiếp khơng dây sử dụng module giao tiếp ZigBee Module giao tiếp với CPU AVR để chuyển đổi giao tiếp SPI thành giao tiếp UART thông dụng để giao tiếp với node Vì lý thời gian nên hệ thống chưa thực kịp module giao tiếp trực tiếp với ZigBee thống qua SPI nhằm đề giảm thiểu chi phí 57 Phần Kết Luận Phần KẾT LUẬN Đề tài “hiện thực hệ điều hành cho mạng cảm biến không dây FPGA” đề thú vị vào nghiên cứu Nó không đem lại nhiều kiến thức mạng cảm biến không dây môi trường FPGA (đa số mơ hình mạng cảm biến không dây xây dựng hệ thống nhúng) mà hứa hẹn nhiều thách thức Một hướng phát triển tương lại đề tài xây dựng mơ hình ứng dụng hệ điều hành TinyOS Cụ thể mơ hình kiểm sốt nhiệt độ phịng lớn tòa nhà Hệ thống bao gồm node cảm biến điều khiển máy điều hòa nhiệt độ nhằm đồng nhiệt độ phòng cách nhanh Ngồi để hồn thiện đề tài mình, gian đoạn tới cố găng thực thêm board mạch cảm biến để kết nối vào hệ thống Song song với việc thiết kế module cung cấp nguồn cho hệ thống qua kiểm sốt cơng suất hoạt động hệ thống Do khối lượng công việc lớn nên đề tài thực phần kernel TinyOS lên FPGA Vì mà hướng phát triển khác đề tài thực module quản lý phần cứng, giao tiếp hệ điều hành TinyOS lên FPGA Điều làm cho ứng dụng khác xây dựng sau dễ dàng 58 Phần Kết Luận nhiều việc sử dụng điều khiển thành phần phần cứng hệ thống 59 Phần Tài liệu tham khảo Phần TÀI LIỆU THAM KHẢO [1] F Akyildiz, Weilian Su, Y Sankarasubramaniam, E Cayirci, “A survey on Sensor Networks”, IEEE Communications Magazine, August 2002 [2] Kazem Sohraby, Daniel Minoli, Taiebznati, “WSNs Technology, Protocols and Applications”, Published by John Wiley & Sons, Inc., Hoboken, New Jersey, 2007, n 326 [3] W Baan, P Fridman, R Millenaar, “Radio frequency interference miligation with real-time FPGA digital signal processing” [4] Albert Y Zomaya, “HandBook of Sensor Networks: Algorithms and Architectures”, 2005 [5] Field-Programmable Gate Array, http://en.wikipedia.org/wiki/Field- programmable_gate_array, June 11, 2009 [6] John V Oldfield, Richard C Dort, “Field – Programmable Gate Arrays”, A Wiley-Interscience Publication, 1995, n 325 [7] FPGA vs ASIC, http://www.xilinx.com/company/gettingstarted/ fpgavsasic.htm, June 11, 2009 [8] S Willis, Cornelis Jan Kikkert, “Radio propagation model for long-range wireless sensor networks”, IEEE, 2007 60 Phần Tài liệu tham khảo [9] S Lanzisera, D.T Lin, K.S.J Pister, “RF time of flight ranging for wireless sensor networks localization”, Workshop on Intelligent solutions in Embedded Systems(WISES’06), Vienna, June 2006 [10] TinyOS, http://www.tinyos.net/special/mission, January, 2010 [11] Weilian Su, Özgür B Akan, and Erdal Cayirci, “Communication protocols for sensor networks”, Kluwer Academic Publishers, 2004 [12] R Barr et al., ‘‘On the Need for System-Level Support for Ad Hoc and Sensor Networks,’’ ACM Operating Systems Review, Vol 36, No 2, Apr 2002, pp 1– 61 Lý lịch trích ngang Lý lịch trích ngang Họ tên: Tôn Thất Đại Hải Ngày, tháng, năm sinh: 11-11-1984 Nơi sinh: Thừa Thiên Huế Địa liên lạc: Nhà A3, 268 Lý Thường Kiệt, Quận 10, TP Hồ Chí Minh 62 ... dụng mạng cảm biến không dây nên cần thiết có hệ điều hành mã nguồn mở Và TinyOS hệ điều hành Trong ứng dụng này, lựa chọn TinyOS hệ điều hành Chi tiết hệ điều hành chúng tơi nói cụ thể phần Hệ điều. .. giao tiếp 31 Phần Hệ điều hành TinyOS Phần HỆ ĐIỀU HÀNH TINYOS Giới thiệu TinyOS hệ điều hành mã nguồn mở thiết kế cho mạng cảm biến không dây Hệ điều hành mô tả kiến trúc dựa thành phần (component-based... Hình Mạng cảm biến không dây Mô hình phần cứng phần mềm khối cảm biến trung tâm Các giao thức sử dụng cho mạng cảm biến khơng dây 12 Sử dụng mạng cảm biến không dây để điều khiển