Nghiên cứu mạng cảm biến không dây và thiết kế nút mạng Nghiên cứu mạng cảm biến không dây và thiết kế nút mạng Nghiên cứu mạng cảm biến không dây và thiết kế nút mạng luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
bộ giáo dục đào tạo trường đại học bách khoa hµ néi - Phạm văn vương Nghiên cứu mạng cảm biến không dây thiết kế nút mạng luận văn thạc sĩ kỹ thuật ngành : điện tử viễn thông người hướng dẫn: ts Phạm ngọc nam Hµ néi - 2012 Lời cam đoan Tơi xin cam đoan luận văn “Nghiên cứu mạng cảm biến không dây thiết kế nút mạng” cơng trình nghiên cứu riêng tôi, không chép Nội dung luận văn trình bày từ kiến thức tổng hợp cá nhân, tổng hợp từ nguồn tài liệu có xuất xứ rõ ràng trích dẫn hợp pháp Kết nghiên cứu trình bày luận văn chưa cơng bố cơng trình khác Nếu sai, tơi xin chịu hồn tồn trách nhiệm Hà Nội, ngày 15 tháng 03 năm 2012 Tác giả Phạm Văn Vương Lời cảm ơn Tơi xin trân trọng tỏ lịng biết ơn sâu sắc đến tập thể cán giảng viên Khoa Sau đại học Trường Đại học Bách khoa Hà Nội tạo điều kiện thuận lợi cho q trình học tập nghiên cứu Tơi xin chân thành cảm ơn nhà giáo, nhà khoa học tận tình giảng dạy, giúp đỡ, hướng dẫn chúng tơi suốt q trình học tập, nghiên cứu Tôi xin chân thành cảm ơn TS Phạm Ngọc Nam tận tình giúp đỡ, hướng dẫn tơi hồn thành luận văn tốt nghiệp Dù có nhiều cố gắng trình thực đề tài, điều kiện nghiên cứu khả hạn chế, luận văn chắn khơng tránh khỏi thiếu sót Tơi mong đóng góp ý kiến q báu quý thầy cô giáo bạn đồng nghiệp Xin chân thành cảm ơn! Hà Nội, tháng 03 năm 2012 Tác giả Phạm Văn Vương Mục lục Trang Lời cam đoan Lời cảm ơn Danh mục ký hiệu viết tắt Danh mục hình vẽ Danh mục bảng biểu MỞ ĐẦU Chương TỔNG QUAN VÀ CÁC ỨNG DỤNG VỀ MẠNG CẢM BIẾN KHÔNG DÂY 1.1 Giới thiệu 1.1.1 Công nghệ Sensor Network 1.1.2 Ứng dụng mạng cảm biến 1.2 Tổng quan kỹ thuật WSNs 1.2.1 Các thành phần cấu trúc mạng cảm biến 1.2.2 Quá trình phát triển mạng cảm biến 11 1.2.3 Các thách thức trở ngại 12 1.3 Các ứng dụng mạng WSNs 12 1.4 Kết luận 15 Chương 16 KỸ THUẬT CẢM BIẾN VÀ TRUYỀN DẪN KHÔNG DÂY 16 2.1 Khái quát node cảm biến 16 2.2 Phần cứng phần mềm 17 2.3 Phân loại cảm biến 18 2.4 Môi trường hoạt động sensor node (WNs) 20 2.5 Xu hướng phát triển Node cảm biến 20 2.6 Q trình truyền sóng 21 2.7 Điều chế tín hiệu 23 2.8 Các công nghệ không dây 23 2.8.1 Bluetooth 25 2.8.2 WLAN 25 2.8.3 ZigBee 26 2.9 Kết luận 28 Chương 29 GIAO THỨC ĐIỀU KHIỂN TRUY CẬP VÀ ĐỊNH TUYẾN TRONG MẠNG CẢM BIẾN KHÔNG DÂY 29 3.1 Mơ hình giao thức cho WSNs 29 3.2 Giao thức MAC 30 3.2.1 Các thông số 31 3.2.2 Các giao thức chung 34 3.3 Các giao thức MAC cho mạng WSNs 41 3.3.1 Schedule- Based Protocols 42 3.3.2 Random Accesss- Based Protocols 47 3.4 Nghiên cứu trường hợp SENSOR-MAC 49 3.4.1 Tổng quát 49 3.4.2 Lắng nghe nghỉ theo chu kỳ (Listen and Sleep) 50 3.4.3 Sự phối hợp lựa chọn lịch làm việc 50 3.4.4 Đồng khung thời gian 52 3.4.5 Lắng nghe thích ứng 52 3.4.6 Điều khiển truy cập trao đổi liệu 53 3.4.7 Chuyển thông điệp 54 3.5 Giao thức định tuyến WSNs 54 3.5.1 Các kỹ thuật định tuyến 56 3.5.2 Flooding biến thể 57 3.5.3 Giao thức định tuyến thông tin qua thoả thuận 58 3.5.4 Phân nhóm phân bậc tương thích, lượng thấp (LEACH) 60 3.5.5 Tập trung hiệu công suất thông tin cảm biến 62 3.5.6 Truyền tin trực tiếp 63 3.5.7 Định tuyến theo vị trí 64 3.6 Kết luận 66 Chương 67 THIẾT KẾ NÚT MẠNG 67 4.1 Yêu cầu nút mạng 67 4.2 Phân tích yêu cầu 69 4.2.1 Các nút cảm nhận truyền liệu 69 4.2.2 Nút mạng di động (nhận thị) 70 4.3 Thiết kế 79 4.3.1 Trường hợp truyền đơn bước (Single hop) 79 4.3.2 Trường hợp truyền đa bước (Multi hop) 84 KẾT LUẬN 90 TÀI LIỆU THAM KHẢO 91 CÁC TỪ VIẾT TẮT Từ viết tắt ACK AES API Nghĩa tiếng Anh Acknownledge Advanced Encryption Standard Application Programming Interface Nghĩa tiếng Việt Gói xác nhận Tiêu chuẩn mã hoá tiên tiến Giao diện lập trình ứng dụng APS Application Support Sublayer Lớp phụ cung cấp ứng dụng ATM Asynchronous Transfer Mode Chế độ truyền bất đồng BE Back-off Exponent Thời gian chờ để truy cập BTS Base transceiver Station Trạm thu phát sở CAP Contention Access Period Thời gian tranh chấp truy cập CCA Clear Channel Assessment Ước định truyền thống CDMA Code Division Multiple Access Đa truy cập phân chia theo mã CFP Contention Free Period Thời gian tranh chấp tự CID Cluster Identity Mã xác nhận Cluster CSMA CSMA/CA CSMA/CD Carrier Sense Multiple Access Đa truy cập cảm biến sóng mang Carrier Sense Multiple Access Đa truy cập cảm biến sóng mang with Collision Avoidance tránh đụng độ Carrier Sense Multiple Access Đa truy cập cảm biến sóng mang with Collision Detection phát đụng độ CTS Clear to send Sẵn sàng nhận CW Congestion Window Cửa sổ tranh chấp DCE DSSS Data Circuit-Terminating Equipment Direct-Sequence Spread thiết bị kết cuối kênh số liệu Trãi phổ chuỗi trực tiếp Spectrum DTE DTMC E2E FDMA Data Terminal Equipment thiết bị đầu cuối Discrete-Time Markov Chain Chuỗi Markov thời gian rời rạc End-to-End Đầu cuối tới đầu cuối Frequency Division Multiple Access Đa truy cập phân chia theo tần số FFD Full-Function Device Thiết bị chức đầy đủ GTS Guaranteed Time Slot Khe thời gian đảm bảo HbH Hop-by-Hop Truyền bước IEEE Institute of Electrical and Electronic Engineers Internet-Scale Resource- IrisNet Intensive Sensor Networks Services ITU International Telecommunication Union Viện kỹ thuật điện điện tử Dịch vụ mạng cảm biến tài nguyên lớn mức liên mạng Liên minh viễn thông quốc tế Local Area Network Mạng nội Low-Energy Adaptive Cấu trúc phân bậc tương thích Clustering Hierarchy lượng thấp LQI Link Quality Indicator Bộ thị chất lượng liên kết LR- Low Rate Wireless Personal LAN LEACH WPANs Area Networks Mạng WPAN tốc độ thấp MAC Medium access control Điều khiển truy cập môi trường MANETs Mobile ad hoc Network Mạng ad hoc di động MIB MiLAN Management Information Base Cơ sở thông tin quản lý Middleware Linking Phần mềm liên kết ứng dụng Application and Network mạng Network Allocation Vector Vector phân phối mạng NB Number of Back-off Số lần back-off NM Network Management Quản lý mạng NMS Network Management System Hệ thống quản lý mạng NAV Operating System Hệ điều hành Personal Area Network Mạng cá nhân Power-efficient Gathering in Tập trung hiệu suất mạng cảm Sensor Information System biến PHY Physic Layer Lớp vật lý PSDU PHY Service Data Unit Đơn vị liệu lớp vật lý RED Receiver Energy Detection Phát lượng máy thu Radio Frequency Tần số vô tuyến Reduced-Function Device Thiết bị chức hạn chế OS PAN PEGASIS RF RFD RFICs Radio Frequency Intergrated Circuits Mạch tích hợp tần số vơ tuyến Radio Frequency Identify Thiết bị nhận dạng sóng vơ Device tuyến RTS Ready to send Sẵn sàng gởi RVF Routing Vector Field Trường vector định tuyến SAP Service access point Điểm truy cập dịch vụ sensor MAC Giao thức MAC cho cảm biến RFID S-MAC SMACS SNMP SPIN STEM Self-Organizing Medium Access Control for Sensornets Điều khiển truy cập tự xếp Simple Network Management cho mạng cảm biến Giao thức quản Protocol lý mạng đơn giản Sensor Protocols for Giao thức thông tin cảm biến thông Information via Negotiation Qua thoả thuận Sparse Topology and Energy Quản lý lượng cấu truc hình TDD TDMA TOM TS Management rải rác Time Division Duplex Song công phân chia thời gian Time Division Multiple Access Telecom Operation Map Lược đồ hoath động viễn thông Timeslot Khe thời gian UDP User Datagram Protocol WAN Wide Area Networks WPAN Đa truy cập phân chia theo thời gian Wireless Personal Area Network Giao thức cho dịch vụ truyền datagram Mạng diện rộng Mạng không dây cá nhân WSNs Wireless Sensor Networks Mạng cảm biến không dây ZDO ZigBee Device Object Đối tượng thiết bị ZigBee định thời Time2 Time3 có khả điều chỉnh độ rộng xung Chế độ hoạt động hai định thời thiết lập thơng qua ghi TCON2 có địa 0xA Hình 4.8: Các ghi định thời Các cổng nối tiếp: CC1010 có tích hợp hai cổng nối tiếp Hai cổng điều khiển thông qua ghi SCON0 SCON1 Dữ liệu vào hai cổng lưu tạm thời thông qua ghi đệm SBUF0 SBUF1 Cổng nối tiếp sử dụng giao tiếp chung Trong cổng nối tiếp dùng chủ yếu cho mục đích gỡ rối Các biến đổi ADC: Bộ biến đổi ADC tích hợp chip điều khiển ghi ADCON1 ADCON2 Có hai chân analog dùng để lấy mẫu điều khiển ADCON.ADADR Thanh ghi dùng để lựa chọn chân AD1 chân so sánh bên (khi dùng AD0) Điện so sánh điều khiển ADCON.ADCREF Bit ADCON.AD_PD lập ADC không dùng để tiết kiệm điện Bộ biến đổi ADC hoạt động bốn chế độ lựa chọn bit ADCON.ADCM Mỗi lần biến đổi 11 chu kỳ xung nhịp Trong chế 77 độ xung nhịp POWER.PMODE thiết lập đồng hồ 32 KHz đưa trực tiếp vào biến đổi ADC Trong chế độ xung nhịp 0, xung nhip đầu vào ADC lấy từ dao động cách sử dụng chia lựa chọn ADCON2.ADCDIV Thanh ghi phải thiết lập để tần số xung nhịp ADC phải nhỏ 250KHz Trong chế độ chuyển đổi đơn lần chuyển đổi thiết lập việt đặt bit điều khiển ADCON.ADCRUN Cờ ngắt EXIF.ADIF ADCON2.ADCIF đặt phần cứng bit giá trị mẫu sau lớn giá trị trước lưu trữ ghi ADTRH Một thủ tục ngắt thực thi cờ ngắt thiết lập Để ln nhận ngắt mà hồn thành việc chuyển đổi ADTRH phải đặt Khi việc chuyển đổi hồn thành bit điều khiển ADCON.ADCRUN bị xoá phần cứng Trong chế độ đa chuyển đổi ADC bắt đàu với lần chuyển đỏi sau 11 chu kỳ xung nhịp Tất lần chuyển đổi ngừng lại xoá bit ADCON.ADCRUN ADC bỏ qua tiến trình ngừng hoạt động Trong tất chế độ hoạt động mà bit giá trị mẫu lớn giá trị ghi ghi ADTRH hoạt động diễn ra: Đa chuyển đổi có nối tiếp: Khi việc so sánh ngưỡng có giá trị TRUE ngắt sinh thủ tục ngắt tương ứng thực cờ ngắt EIE.ADIE ADCON2.ADCIE bật ADC thực tiếp tục trinh chuyển đổi mà không cần quan tâm đến kết việc so sánh ngưỡng Để luôn nhận ngắt trình biến đổi hồn thành thi ADTRH phải đặt Đa chuyển đổi có dừng: Khi việc so sánh ngưỡng có giá trị TRUE ngắt sinh thủ tục phục vụ ngắt tương ứng thực cờ ngắt EIE.ADIE ADCON2.ADCIE bật ADC dừng hoạt động ADCON.ADCRUN xoá Đa chuyển đổi nạp lại: vượt qua ngưỡng trình khởi động lại hệ thống sinh Chế độ thường sử dụng với chế độ stop mode 8051 dao động 32KHz để tiết kiệm điện giám sát tín 78 hiệu Giá trị lưu trữ ADDATH ADDATL không bị ảnh hưởng reset hệ thống 4.3 Thiết kế Phần mềm nhúng viết CC1010 viết ngôn ngữ C, sử dụng thư viện cho CC1010 hãng Chipcon cung cấp, sử dụng chương trình dịch Keil uVersion2.0 Chương trình dịch Keil uVersion2.0 hãng Keil Electronic GmbH xây dựng mơi trường phát triển tích hợp (IDE) dùng để xây dựng chương trình cho họ vi điều khiển tương thích họ 8051 Intel Đây chương trình dịch cho phép người viết chương trình soạn thảo chương trình, dịch chương trình gỡ rối mơi trường Chương trình dịch hỗ trợ cho C Assembly Phần mềm nhúng cho hệ thống thiết kế nhằm mục đích sử dụng hệ thống để cảnh báo kiện nguy hiểm (vượt mức thơng thường nhiệt độ) Tức có thơng tin nhiệt độ mà node mạng thu nhận vượt q ngưỡng node gốc đưa cảnh báo, phần mềm thiết kế để hệ thống hoạt động hai trường hợp 4.3.1 Trường hợp truyền đơn bước (Single hop) Các node mạng cảm nhận nhiệt độ truyền không dây trực tiếp node gốc Node gốc tập hợp liệu, thị lên hình LCD Sau node gốc tiến hành kiểm tra nhiệt đọ node mạng xem có node vượt q ngưỡng khơng từ đưa phán đốn cảnh báo cần thiết Phần mềm nhúng cho trường hợp truyền đơn bước phải bao gồm hai đoạn chưong trình: Đoạn chương trình Cài đặt cho node mạng (bộ truyền), đảm bảo node mạng nhận tín hiệu từ càm biến thực số hố tín hiệu, điều chế đưa lên angten phát, phần mềm phải đảm bảo node mạng có khả hoạt động độc lập, có chế độ ngủ đơng để tiết kiêm pin + Thuật tốn 79 Node mạng thực việc cảm nhận, số hoá truyền tín hiệu nhiệt độ số hố đến node gốc Theo cấu trúc phần cứng CC1010, để tiết kiệm nguồn ni, sau lần phát tín hiệu, ta đặt node mạng vào trạng thái Hibernate (ngủ đông) Sau lại cho tiếp tục phát Chu trình hoạt động node mạng theo vong lặp sau: - phát tín hiệu số hố lấy từ chân AD1 - Đợi khoảng thời gian ngẫu nhiên từ đến 250*8ms(trong lúc tiến hành ngủ đơng) Hình 4.9: Thuật toán cho node truyền trường hợp Single hop + Chương trình Sử dụng thư viện hàm nhà sản xuất cung cấp, để đọc truyền thơng tin nhiệt độ ta sử dụng hàm đoạn chương trình sau: - Đưa lối IC LM61 tới chân AD1, ta dùng khai báo sau: // ADC setup halConfigADC(ADC_MODE_SINGLE | ADC_REFERENCE_INTERNAL_1_25, CC1010EB_CLKFREQ, 80 0); ADC_SELECT_INPUT(ADC_INPUT_AD1); ADC_POWER(TRUE); - Địa định: #define TBC_MY_SPP_ADDRESS1 nodeIDs[0] = TBC_MY_SPP_ADDRESS; - Hàm truyền nhiệt viết sau: void tbcTransmit (void) { word xdata temp; // Khoi dong ADC ADC_SAMPLE_SINGLE(); temp = ADC_GET_SAMPLE_10BIT(); // Cap nhat bang txDataBuffer[TBC_TEMP_OFFSET] = (temp >> 8) & 0xFF; txDataBuffer[TBC_TEMP_OFFSET + 1] = temp & 0xFF; nodeTemps[0] = temp; nodeLastT[0] = (int) sppGetTime(); // Truyen thong tin sppSend(&TXI); { /*nothing*/ } while (sppStatus() != SPP_IDLE_MODE); } // tbcTransmit - Hàm đợi ngẫu nhiên: // doi khoang ngau nhien (0 to 255*8=2040) void tbcWaitRandom (void) { byte xdata time; byte xdata n; time = rand(); for (n = 0; n < waitMultiplier; n++) { halWait (time, CC1010EB_CLKFREQ); 81 } } // tbcWaitRandom - Đoạn lặp chương trình: while (TRUE) { tbcTransmit(); tbcWaitRandom(); } Đoạn chương trình + Thuật tốn Điểm quan trọng đoạn chương trình viết hàm nhận liệu viết hàm để thị lên hình LCD làm việc chế độ bit + Chương trình - Để nhận liệu: sppReceive(&RXI); { /* khong lam gi ca */ } while (sppStatus() != SPP_IDLE_MODE); - Đoạn kiểm tra tín hiệu địa x: for (n = 0; n