Đồ án Mạng cảm nhận không dây và định thời truyền không dây dữ liệu cho nút mạng Wsn - Vũ Thị Phương Thảo
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Mạng cảm nhận không dây và định thời truyền không dây dữ liệu cho nút mạng Wsn - Vũ Thị Phương Thảo", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- do_an_mang_cam_nhan_khong_day_va_dinh_thoi_truyen_khong_day.pdf
Nội dung text: Đồ án Mạng cảm nhận không dây và định thời truyền không dây dữ liệu cho nút mạng Wsn - Vũ Thị Phương Thảo
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Mục Lục LỜI CẢM ƠN 2 GIỚI THIỆU 3 Chƣơng 1:TỔNG QUAN VỀ MẠNG CẢM NHẬN KHƠNG DÂY WSN-WIRELESS SENSOR NETWORK 5 1.1 Định nghĩa 5 1.2 Các thiết bị WSN 6 1.3 Kiến trúc nút mạng 9 1.4 Đặc trƣng và cấu hình mạng cảm nhận khơng dây 10 1.5 Một số chuẩn của mạng cảm nhận khơng dây 11 1.6 Ứng dụng của mạng cảm nhận khơng dây 12 1.7 Yêu cầu của mạng cảm nhận khơng dây 13 1.8 Mục tiêu của mạng cảm nhận khơng dây 14 1.9 Ƣu/nhƣợc điểm của mạng cảm nhận khơng dây 15 1.10 Đặc điểm của mạng cảm nhận khơng dây 16 Chƣơng 2:ĐIỀU KHIỂN THÂM NHẬP MƠI TRƢỜNG VÀ GIAO THỨC LẬP LỊCH NGỦ TẬP TRUNG 17 2.1 Giới thiệu giao thức MAC-Medium Access Control 17 2.2 Một số giao thức MAC truyền thống 19 2.2.1 Giao thức Aloha 19 2.2.2 Giao thức CSMA(Carrier Sense Medium Access) 21 2.2.3 Giao thức MACA(Medium Access Collision Avoidance) . 23 2.3 Giao thức lập lịch 24 2.3.1 Cảm ứng MAC(S-MAC) 24 2.3.2 Timeout MAC(T-MAC) 27 2.3.3 MAC hội tụ dữ liệu(D-MAC) 28 2.3.4 Lập lịch tập trung 30 Chƣơng 3:THỬ NGHIỆM CHƢƠNG TRÌNH 33 3.1 Thiết bị sử dụng trong chƣơng trình 33 3.2 Phần mềm nhúng 35 3.2.1 Tổng quan về phần mềm nhúng 35 3.2.2 Các bƣớc cơ bản xây dựng một phần mềm nhúng 36 3.2.3 Phần mềm nhúng viết cho CC1010 37 3.3 Thử nghiệm chƣơng trình-Giải thuật cho giao thức lập lịch tập trung(Polling) 40 3.4 Một số hình ảnh thử nghiệm chƣơng trình 43 Kết luận 45 Tài liệu tham khảo 47 Vũ Thị Phƣơng Thảo 1
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn LỜI CẢM ƠN Em x - – . Em xin chân thành cảm ơn tất cả các thầy cơ giáo trong khoa Cơng nghệ thơng tin - Trƣờng Đại học dân lập Hải Phịng đã nhiệt tình giảng dạy và cung cấp những kiến thức quý báu để em cĩ thể hồn thành tốt khĩa luận tốt nghiệp này. Cuối cùng, em xin cảm ơn tất cả các bạn đã động viên, gĩp ý và trao đổi hỗ trợ cho em trong suốt thời gian vừa qua. Vì thời gian thực tập cĩ hạn, trình độ bản thân cịn nhiều hạn chế. Cho nên trong đề tài khơng tránh khỏi những thiếu sĩt, em rất mong đƣợc sự gĩp ý quý báu của tất cả các thầy cơ giáo cũng nhƣ các bạn để đề tài của em đƣợc hồn thiện hơn. Em xin chân thành cảm ơn! Vũ Thị Phƣơng Thảo 2
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn GIỚI THIỆU Những kỹ thuật tiên tiến gần đây đã cho ta một số lƣợng lớn các nguồn năng lƣợng thấp trong tƣơng lai.Những thiết bị cảm nhận rẻ đƣợc nhúng dầy đặc trong một mơi trƣờng vật lý,hoạt động chung trong một mạng khơng dây.Những ứng dụng của mạng cảm nhận khơng dây bao gồm vùng rất rộng lớn:quan sát mơi trƣờng sinh thái,giám định cấu trúc về sức khỏe,dị tìm các chất gây ơ nhiễm mơi trƣờng,điều khiển xử lý cơng nghiệp,tìm đƣờng mục tiêu trong quân sự, Mạng cảm biến vơ tuyến (WSN) cĩ thể hiểu đơn giản là mạng liên kết các node với nhau bằng kết nối sĩng vơ tuyến (RF connection) trong đĩ các node mạng thƣờng là các (thiết bị) đơn giản , nhỏ gọn, giá thành thấp và cĩ số lƣợng lớn, đƣợc phân bố một cách khơng cĩ hệ thống (non-topology) trên một diện tích rộng (phạm vi hoạt động rộng), sử dụng nguồn năng lƣợng hạn chế (pin), cĩ thời gian hoạt động lâu dài (vài tháng đến vài năm) và cĩ thể hoạt động trong mơi trƣờng khắc nghiệt (chất độc, ơ nhiễm, nhiệt độ ). Các node mạng thƣờng cĩ chức năng sensing (sensor node): cảm ứng, quan sát mơi trƣờng xung quanh nhƣ:nhiệt độ, độ ẩm, ánh sáng theo dõi hay định vị các mục tiêu cố định hoặc di động Các node giao tiếp ad-hoc với nhau và truyền dữ liệu về trung tâm (base station) một cách gián tiếp bằng kỹ thuật multi-hop. Lƣu lƣợng (traffic) dữ liệu lƣu thơng trong WSN là thấp và ko liên tục. Do vậy để tiết kiệm năng lƣợng, các sensor node thƣờng cĩ nhiều trạng thái hoạt động (active mode) và trạng thái nghỉ (sleep mode) khác nhau. Thơng thƣờng thời gian 1 node ở trạng thái nghỉ lớn hơn ở trạng thái hoạt động rất nhiều. Nhƣ vậy, đặc trƣng cơ bản nhất để phân biệt 1 mạng cảm biến và 1 mạng wireless khác chính là giá thành, mật độ node mạng, phạm vi hoạt Vũ Thị Phƣơng Thảo 3
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn động, cấu hình mạng (topology), lƣu lƣợng dữ liệu, năng lƣợng tiêu thụ và thời gian ở trạng thái hoạt động (active mode). Bài luận văn sẽ tìm hiểu tổng quan về mạng cảm nhận khơng dây, các thủ tục điều khiển thâm nhập mơi trƣờng và thử nghiệm một giao thức MAC với phần mềm nhúng cho vi điều khiển CC1010. Với kiến thức cịn hạn hẹp, thời gian nghiên cứu khơng dài và tài liệu tham khảo cĩ chƣa nhiều, do vậy khĩa luận khơng tránh khỏi những sai sĩt. Vậy kính mong các thầy cùng các bạn sinh viên quan tâm chia sẻ đĩng gĩp ý kiến để khĩa luận đƣợc hồn thiện. Vũ Thị Phƣơng Thảo 4
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Chƣơng 1: TỔNG QUAN VỀ MẠNG CẢM NHẬN KHƠNG DÂY WSN-WIRELESS SENSOR NETWORK Để xây dựng đƣợc một hệ thống mạng cảm nhận khơng dây thì trƣớc hết phải hiểu thế nào là mạng cảm nhận khơng dây,các thiết bị sử dụng trong mạng,đặc điểm cấu hình và một số yêu cầu cần thiết Từ đĩ mới cĩ thể xây dựng đƣợc một hệ thống mạng WSN hợp lý và đạt hiệu quả năng lƣợng cao. 1.1 Định nghĩa Ngày nay, các vi điều khiển đã cĩ một bƣớc phát triển mạnh với mật độ tích hợp cao, khả năng xử lý mạnh, tiêu thụ năng lƣợng ít và giá thành thấp. Khi đƣợc nạp phần mềm nhúng, các vi điều khiển này sẽ hoạt động độc lập trong các loại mơi trƣờng và ở những vị trí địa lý khác nhau. Mỗi vi điều khiển khi đƣợc tích hợp với bộ thu phát sĩng vơ tuyến và bộ cảm biến sẽ tạo thành một nút mạng, tập hợp các nút mạng đĩ trong một phạm vi nhất định đƣợc gọi là mạng cảm nhận khơng dây(WSN-Wireless Sensor Network). Mạng cảm nhận khơng dây là một mạng khơng dây mà các nút mạng là các vi điều khiển sau khi đã đƣợc cài đặt phần mềm nhúng kết hợp với các bộ phát sĩng vơ tuyến cùng với các cảm biến và nĩ cĩ khả năng thu nhận,xử lý dữ liệu từ các nút mạng và mơi trƣờng xung quanh nút mạng. Vũ Thị Phƣơng Thảo 5
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Trong hệ thống WSN cĩ các trạm gốc và trung tâm điều khiển. Trạm gốc đĩng vai trị cổng kết nối giữa các nút mạng và trung tâm điều khiển, tiếp nhận thơng tin của các nút mạng chuyển tới trung tâm điều khiển qua nhiều cách khác nhau. Các nút mạng truyền thơng tin theo kiểu nhiều chặng từ nút mạng này sang nút mạng khác và về trạm gốc. Từ trạm gốc cĩ thể gửi thơng tin cho ngƣời dùng (trung tâm điều khiển) theo nhiều cách nhƣ trực tiếp qua hệ thống máy tính, qua mạng Internet, qua vệ tinh . nhờ đĩ ngƣời giám sát cĩ thể nhận đƣợc thơng tin dù đang ở bất cứ đâu. 1.2 Các thiết bị WSN Các thiết bị chính tạo ra mạng cảm biến khơng dây Vũ Thị Phƣơng Thảo 6
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn *Bộ xử lý nhúng năng lƣợng thấp Các nhiệm vụ tính tốn trên thiết bị WSN bao gồm: quá trình xử lý thơng tin cảm biến cục bộ cũng nhƣ thơng tin truyền bởi các cảm biến khác. Hiện nay dƣới áp lực đầu tiên của kinh tế, các bộ xử lý nhúng thƣờng bị hạn chế trong phạm vi năng lƣợng máy tính(ví dụ: nhiều thiết bị sử dụng trong việc nghiên cứu và phát triển hiện nay chỉ cĩ bộ xử lý 16MHz, 8 bit). Do sự hạn chế của các bộ xử lý loại này nên nhiều thiết bị chạy trên các hệ điều hành cĩ các thành phần cơ bản đặc biệt, nhƣ là TinyOS. Tuy nhiên chúng ta cũng phải nhớ rằng một mạng cảm nhận khơng dây cĩ thể khơng đồng bộ và bao gồm ít nhất một vài nút hoạt động với giới hạn lớn hơn năng lƣợng máy tính.Hơn nữa theo định luật Moore, các thiết bị WSN tƣơng lai cĩ thể đƣợc gắn vào bộ xử lý cực mạnh.Nĩ cũng sẽ hợp nhất các kỹ thuật thiết kế năng lƣợng thấp tiên tiến nhất ,nhƣ hiệu quả của chế độ ngủ và chia tỉ lệ vơn kế động để cĩ thể tiết kiệm năng lƣợng đáng kể. *Bộ nhớ/lƣu trữ Lƣu trữ dƣới dạng RAM (Random Access Memory) và ROM (Read-only memory) cả bộ nhớ chƣơng trình (các lệnh thực hiện bởi bộ xử lý) và bộ nhớ dữ liệu (lƣu các kết quả đo chƣa qua xử lý và đã xử lý bởi sensor; các thơng tin cục bộ khác). Chất lƣợng bộ nhớ và lƣu trữ trên board của thiết bị WSN thƣờng bị giới hạn đáng kể bởi lý do kinh tế và dĩ nhiên vấn đề này sẽ đƣợc cải tiến theo thời gian. *Bộ thu phát vơ tuyến Các thiết bị WSN bao gồm một bức xạ khơng dây tốc độ thấp,trong khoảng ngắn(10 100kbps, <100m). Trong thời điểm hiện nay nĩ bị giới hạn về dung lƣợng,và sẽ đƣợc cải thiện 1 cách tinh tế vào thời gian tới về Vũ Thị Phƣơng Thảo 7
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn các mặt: cải thiện giá thành, hiệu quả phổ, triệt tiếng ồn, fadinh, và xuyên nhiễu. Trong WSN thì truyền vơ tuyến là một quá trình sử dụng năng lƣợng mạnh nhất, do đĩ vơ tuyến cần phải kết hợp hiệu quả năng lƣợng giữa các chế độ ngủ (mode sleep) và chế độ hoạt động (mode active). *Cảm biến(Sensor) Do giới hạn băng thơng và nguồn, các thiết bị WSN chỉ hỗ trợ bộ cảm biến tốc độ dữ liệu thấp. Với các ứng dụng bộ cảm biến đa chức năng, mỗi thiết bị cĩ một vài sensor trên board. Tùy theo mỗi ứng dụng mà cĩ 1 loại sensor riêng: sensor nhiệt độ, ánh sáng, độ ẩm, áp suất, gia tốc kế, từ kế, âm thanh hay thậm chí là hình ảnh cĩ độ phân giải thấp. *Hệ thống định vị địa lý GPS (Geo Positioning System) Trong nhiều ứng dụng của WSN,thì cĩ một ứng dụng cực kỳ quan trọng là nhận biết đƣợc vị trí của các số đo của các cảm biến . Cách đơn giản nhất để khoanh vùng vị trí là cấu hình trƣớc vị trí của các cảm biến trƣớc khi triển khai; tuy nhiên nĩ chỉ mang tính khả thi trong một số điều kiện triển khai nhất định. Đặc biệt trong các hoạt động ngồi trời,khi mà các mạng lƣới đƣợc triển khai một cách đặc biệt các thơng tin đĩ dễ thu nhận thơng qua vệ tinh cơ bản GPS. Tuy nhiên, tại các ứng dụng, do hạn chế của mơi trƣờng và kinh tế, chỉ một phần nhỏ các node đƣợc trang bị GPS. Trong trƣờng hợp này, các node khác nhau (trong cùng một vùng) chỉ thu đƣợc vị trí của nhau 1 cách gián tiếp qua giao thức định vị mạng *Nguồn năng lƣợng Để việc triển khai hoạt động của mạng cảm nhận khơng dây trở nên linh hoạt và mềm dẻo thì nguồn năng lƣợng đƣợc sử dụng cho các thiết bị chính là năng lƣợng pin(ví dụ sử dụng các loại pin LiMH AA). Trong khi một số nút cĩ thể đƣợc kết nối cùng một nguồn năng lƣợng liên tục trong Vũ Thị Phƣơng Thảo 8
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn một số ứng dụng,và năng lƣợng thu đƣợc trong kỹ thuật này cĩ thể cung cấp một phần năng lƣợng tái sinh cho một số ứng dụng khác. Tùy thuộc vào mỗi ứng dụng, các thiết bị WSN cĩ thể trong cùng một mạng với nhau. Trong những ứng dụng tập hợp dữ liệu (data- gathering) cơ bản, cĩ một node đƣợc xem nhƣ node sink, tất cả dữ liệu từ các node sensor nguồn đến nĩ là trực tiếp. Topo mạng đơn giản nhất cho ứng dụng này là topo hình sao đơn hop, ở đây tất cả các node gửi dữ liệu trực tiếp đến node sink. Đối với mạng cài đặt năng lƣợng truyền thấp hơn hay triển khai trên diện rộng thì sử dụng cấu trúc hình cây đa hop. Trong trƣờng hợp này, một vài node đƣợc xem nhƣ node nguồn, và định tuyến cho các nguồn khác. Một đặc điểm thú vị của mạng cảm nhận khơng dây là nĩ thƣờng xuyên cho phép khả năng xử lý mạng thơng minh.Các nút trung gian dọc theo đƣờng truyền khơng chỉ đơn thuần là chuyển các gĩi dữ liệu mà cịn cĩ thể kiểm tra và xử lý nội dung của gĩi dữ liệu truyền qua chúng.Nĩ thƣờng đƣợc dùng để nén dữ liệu hoặc xử lý tín hiệu để cải thiện chất lƣợng của thơng tin thu đƣợc. 1.3 Kiến trúc nút mạng *Bộ vi xử lý: Yêu cầu 1 vi xử lý giá thành rẻ,tích hợp đƣợc dễ dàng với các cảm biến,tiêu thụ điện năng thấp .Bộ vi xử lý cĩ chức năng thu thập thơng tin, xử lý dữ liệu truyền nhận giữa các nút mạng. *Bo mạch: Bo mạch là bảng vi mạch điện tử bao gồm nguồn nuơi, ăng ten thu phát sĩng,các cổng giao tiếp và là nơi tích hợp các bộ cảm biến,bộ truyền thơng,bộ lƣu trữ dữ liệu *Bộ cảm biến: Bộ cảm biến chính là thiết bị thu thập thơng tin dữ liệu,cĩ nhiều loại cảm biến nhƣ cảm biến quang học,cảm biến nhiệt độ,cảm biến độ ẩm,cảm biến cơ học Vũ Thị Phƣơng Thảo 9
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn *Bộ lƣu trữ: Các nút mạng cảm nhận khơng dây cĩ thành phần lƣu trữ thơng tin dữ liệu rất nhỏ,thƣờng sử dụng bộ nhớ Flash hay DRAM. *Bộ truyền thơng: Mơ hình truyền thơng đƣợc đề cập đến đây chính là truyền thơng đa bƣớc.Với những ƣu điểm về tính mềm dẻo, giảm đáng kể năng lƣợng tiêu thụ trong mạng cảm nhận khơng dây. 1.4 Đặc trƣng và cấu hình mạng cảm nhận khơng dây 1 node trong mạng WSN thơng thƣờng bao gồnm 2 phần: . phần cảm biến (sensor) hoặc điều khiển . phần giao tiếp vơ tuyến (Radio frequency transceiver) Do số lƣợng node trong WSN là lớn và khơng cần các hoạt động bảo trì, nên yêu cầu thơng thƣờng đối với 1 node mạng là giá thành thấp (10 - 50 usd) và kích thƣớc nhỏ gọn ( diện tích bề mặt vài đến vài chục cm2). Do giới hạn về nguồn năng lƣợng cung cấp (pin, ), giá thành và yêu cầu hoạt động trong một thời gian dài, nên vấn đề tiêu thụ năng lƣợng là tiêu chí thiết kế quan trọng nhất trong mạng cảm biến -Lớp vật lý (physical layer): tƣơng đối đơn giản, gọn nhẹ do ràng buộc về kích thƣớc và khả năng tính tốn của node. Kỹ thuật điều chế tín hiệu số: O-QPSK, FSK cải thiện hiệu suất bộ khuếch đại cơng suất. Các kỹ thuật mã hĩa sửa sai phức tạp nhƣ Turbo Codes, mã LDPC (Low- density parity-check code) khơng đƣợc sử dụng, kĩ thuật trải phổ đƣợc sử dụng để cải thiện tỉ số tín hiệu trên nhiễu (SNR_signal noise rate) ở thiết bị thu và giảm ảnh hƣởng fading của kênh truyền. -Lớp MAC(Medium Access Control):kỹ thuật đa truy cập TDMA hoặc CSMA-CA hiệu chỉnh với mục đích giảm năng lƣợng tiêu thụ. -Lớp định tuyến (routing layer): giao thức định tuyến quan tâm đến năng lƣợng “power aware”, định tuyến địa lý (geography Vũ Thị Phƣơng Thảo 10
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn routing), WSN thƣờng đƣợc triển khai trên một phạm vi rộng, số lƣợng node mạng lớn và đƣợc phân bố một cách tƣơng đối ngẫu nhiên, các node mạng cĩ thể di chuyển làm thay đổi sơ đồ mạng do vậy WSN địi hỏi 1 cấu trúc mạng (topology) linh động (ad- hoc, mesh, star, ) và các node mạng cĩ khả năng tự điều chỉnh , tự cấu hình. Trong 1 số ứng dụng WSN thơng dụng (giám sát, cảm biến, mơi trƣờng, ) địa chỉ ID của các node chính là vị trí địa lý và giao thức định tuyến dựa vào vị trí địa lý này gọi là giao thức định tuyến địa lý (Geography routing protocol _GRT). Đối với mạng cĩ số lƣợng lớn các node, sơ đồ mạng khơng ổn định thì GRT giúp đơn giản hĩa giải thuật tìm đƣờng, giảm dữ liệu bảng định tuyến (routing table) lƣu trữ tại các node. GRT phù hợp với các WSN cố định, tuy nhiên đối với các node di động (địa chỉ ID node thay đổi) giao thức định tuyến trở nên phức tạp và khơng ổn định. Cấu hình cho mạng WSN cũng tƣơng tự nhƣ WLAN nhƣng phức tạp hơn WLAN vì số lƣợng các node cũng nhƣ phạm vi hoạt động là khá lớn. Các dạng cấu hình trong mạng WSN cịn phải đáp ứng đƣợc các hàm kết nối của từng dạng để đảm bảo mạng hoạt động. Do giới hạn khả năng tính tốn của từng node mạng cũng nhƣ để tiết kiệm năng lƣợng, WSN thƣờng sử dụng các phƣơng pháp tính tốn và xử lý tín hiệu phi tập trung (giảm tải cho node gần hết năng lƣợng) hoặc gửi dữ liệu cần tính tốn cho các trạm cơ sở (cĩ khả năng xử lý tín hiệu mạnh và ít ràng buộc về tiêu thụ năng lƣợng). 1.5 Một số chuẩn của mạng cảm nhận khơng dây Do phạm vi ứng dụng của WSN rất rộng lớn, tính chất, đặc trƣng của mạng phụ thuộc vào ứng dụng triển khai cụ thể. Do vậy, các cơng ty, các phịng thí nghiệm vẫn thƣờng phát triển, triển khai giao thức riêng (MAC, Routing, synchronisation ) phù hợp cho từng ứng dụng cụ thể dựa trên các thiết bị phần cứng (transceiver chip) trên thị trƣờng. Vũ Thị Phƣơng Thảo 11
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Một số chuẩn WSN đƣợc biết đến là: o ALOHA system (U. of Hawaii) o PRNET system (U.S Defense) o WINS (U. of California) o PicoRadio (U. of California) o Micro AMPS (M.I.T) o MANET (Mobile ad-hoc Network) o Zigbee: dựa trên lớp vật lý và lớp MAC của chuẩn WPAN 802.15.4 1.6 Ứng dụng của mạng cảm nhận khơng dây WSN đƣợc ứng dụng đầu tiên trong các lĩnh vực quân sự. Cùng với sự phát triển của ngành cơng nghiệp điều khiển tự động, robotic, thiết bị thơng minh, mơi trƣờng, y tế WSN ngày càng đƣợc sử dụng nhiều trong hoạt động cơng nhiệp và dân dụng. Một số ứng dụng cơ bản của WSN: Cảm biến mơi trƣờng: quân sự: phát hiện mìn, chất độc, dịch chuyển quân địch, cơng nghiệp: hệ thống chiếu sáng, độ ẩm, phịng cháy, chống rị rỉ, dân dụng: hệ thống điều hịa nhiệt độ, chiếu sáng, Điều khiển: quân sự: kích hoạt thiết bị, vũ khí quân sự, cơng nghiệp: điều khiển tự động các thiết bị, robot, Theo dõi, giám sát, định vị: quân sự: định vị, theo dõi sự dịch chuyển thiết bị, quân đội, Mơi trƣờng: giám sát lũ lụt, bão, giĩ, mƣa, Vũ Thị Phƣơng Thảo 12
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn phát hiện ơ nhiễm, chất thải Y tế: định vị, theo dõi bệnh nhân, hệ thống báo động khẩn cấp, Hệ thống giao thơng thơng minh: giao tiếp giữa biển báo và phƣơng tiện giao thơng, hệ thống điều tiết lƣu thơng cơng cộng, hệ thống báo hiệu tai nạn, kẹt xe, hệ thống định vị phƣơng, trợ giúp điều khiển tự động phƣơng tiện giao thơng, Gia đình: nhà thơng minh: hệ thống cảm biến, giao tiếp và điều khiển các thiết bị thơng minh, WSN tạo ra mơi trƣờng giao tiếp giữa các thiết bị thơng minh, giữa các thiết bị thơng minh và con ngƣời, giữa các thiết bị thơng minh và các hệ thống viễn thơng khác (hệ thống thơng tin di động, internet, ) 1.7 Yêu cầu của mạng cảm nhận khơng dây *Năng lƣợng tiêu thụ thấp Mạng cảm nhận khơng dây bao gồm rất nhiều nút mạng nhỏ, đƣợc đặt ở khắp nơi trong mơi trƣờng. Để nút mạng hoạt động đƣợc chúng cần cung cấp năng lƣợng.Nhƣng do điều kiện sống ngồi mơi trƣờng,các nút mạng phải cĩ đặc điểm tiêu thụ ít năng lƣợng thì thời gian sống của mỗi nút mạng mới tồn tại trong nhiều năm.Năng lƣợng để cung cấp cho mỗi nút mạng cĩ thể lấy ở nhiều nguồn,ví dụ nhƣ dùng pin,năng lƣợng mặt trời,năng lƣợng RF thu đƣợc từ sĩng vơ tuyến,năng lƣợng rung động cơ học *Phần mềm tƣơng thích với phần cứng Vấn đề lựa chọn vi điều khiển thích hợp để xây dựng nút mạng rất quan trọng.Việc chọn đúng vi điều khiển sẽ làm hệ thống hoạt động ổn định, cĩ khả năng nâng cấp thêm nút mạng Ngồi thị trƣờng cĩ rất nhiều vi điều khiển nhƣ CC1010,MSP430,ATMEGA .Nhƣng hiện nay Vũ Thị Phƣơng Thảo 13
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn vi điều khiển CC1010 đƣợc lựa chọn làm nút mạng với những ƣu điểm hơn hẳn. *Các nút mạng cĩ khả năng tự cấu hình Mạng cảm nhận khơng dây sử dụng nhiều nút mạng,với phƣơng thức truyền nhận bằng sĩng Radio,nên ngƣời quản trị mạng khĩ cĩ thể can thiệp liên tục vào quá trình hoạt động của mạng.Vì thế địi hỏi các nút mạng phải cĩ khả năng tự tổ chức,tự duy trì_tự cấu hình. 1.8 Mục tiêu của mạng cảm nhận khơng dây *Chi phí thấp Mạng cảm nhận khơng dây cĩ ƣu điểm đĩ là dễ triển khai,mở rộng mạng.Do khả năng tự cấu hình của mạng WSN nên ngƣời quản trị mạng ít phải can thiệp,và ngƣời sử dụng khơng cần hiểu sâu về mạng cũng nhƣ cơ chế truyền thơng khi làm việc với mạng WSN.Với những tiện ích và ứng dụng rộng rãi của mạng cảm nhận khơng dây thì chi phí đầu tƣ cho hệ thống là khơng cao so với các mạng thơng thƣờng hiện nay. Điều mấu chốt cho mạng WSN hoạt động ổn định là chi phí bảo trì,kiểm tra hệ thống.Do đặc điểm nút mạng ngồi mơi trƣờng nên cần xây dựng hệ thống mạng cĩ khả năng thực hiện việc tự bảo trì,cũng nhƣ duy trì thời gian sống càng lâu càng tốt cho mỗi nút mạng. *Thời gian sống dài Mạng cảm nhận khơng dây với ƣu điểm dễ triển khai,dễ mở rộng hệ thống,nhƣng cũng tồn tại nhƣợc điểm là các nút mạng đặt ngồi mơi trƣờng,nhất là với những nút mạng ứng dụng trong giám sát mơi trƣờng, theo dõi đối tƣợng khĩ cĩ thể bảo trì theo hàng tháng hay hàng năm. Điều đĩ cĩ nghĩa là mỗi nút mạng phải tự nuơi sống mình bằng những nguồn năng lƣợng khác nhau.Thời gian sống của mỗi nút mạng phải đảm bảo lâu dài, phải sống đƣợc trong điều kiện ngồi mơi trƣờng nhiều năm.Mỗi nút mạng bị lỗi sẽ ảnh hƣởng đến hệ thống mạng.Nhƣ vậy mỗi Vũ Thị Phƣơng Thảo 14
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn nút mạng cần nguồn năng lƣợng ổn định cĩ khả năng cung cấp lâu dài,cũng nhƣ mỗi nút mạng cần cơ chế tiết kiệm tiêu hao năng lƣợng tối đa. *An tồn bảo mật Mạng cảm nhận khơng dây đƣợc ứng ụng rất rộng rãi trong đời sống ví dụ nhƣ thu thập nhiệt độ, độ ẩm mơi trƣờng, hay quan trọng hơn nhƣ phục vụ an ninh quốc gia.Do đĩ, vấn đề bảo đảm khả năng giữ bí mật thơng tin thu thập đƣợc là rất cần thiết.Mã hố dữ liệu là biện pháp an tồn để bảo mật thơng tin. Đồng nghĩa với việc giải mã thơng tin phải chính xác, sác thực. *Khả năng thu thập dữ liệu Đối với mạng cảm nhận khơng dây thì tốc độ thu thập dữ liệu cũng ảnh hƣởng đến tính sác thực của thơng tin.Thơng tin thu về phải nhanh chĩng, chính xác, nhất là những thơng tin cĩ ảnh hƣởng đến an ninh quốc gia.Tốc độ thu thập thơng tin hiệu quả là số mẫu lấy đƣợc từ mỗi nút riêng lẻ,những thơng tin riêng lẻ phải truyền đến điểm thu thập trung tâm để xử lý. 1.9 Ƣu/nhƣợc điểm của mạng cảm nhận khơng dây *Ƣu điểm -Dễ triển khai và cĩ khả năng mở rộng -Chi phí lắp đặt và bảo trì thấp -Khơng địi hỏi ngƣời sử dụng hiểu chuyên sâu về kiến trúc mạng -Mạng sử dụng phƣơng thức truyền sĩng Radio nên truy nhập đơn giản *Nhƣợc điểm -Do tính linh động và dễ truy nhập nên an tồn bảo mật mạng khơng dây phức tạp -Khĩ quản lý nút mạng đặt ngồi mơi trƣờng Vũ Thị Phƣơng Thảo 15
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn 1.10 Đặc điểm của mạng cảm nhận khơng dây -Các nút mạng cảm nhận cĩ kích thƣớc nhỏ -Năng lƣợng nạp đƣợc và lƣu đƣợc bị giới hạn -Hoạt động ở các điều kiện mơi trƣờng khắc nghiệt khơng cần can thiệp của con ngƣời -Dễ xảy ra lỗi tại nút mạng,dễ xảy ra lỗi trong khi truyền dữ liệu -Các nút mạng cĩ thể dịch chuyển đƣợc mà khơng cần thay đổi cấu hình -Mơ hình mạng đơng,linh hoạt -Các nút mạng hỗn hợp -Cho phép khả năng mở rộng cao Kết luận chƣơng:Kết thúc chƣơng I chúng ta đã cĩ những hiểu biết tổng quan về mạng cảm nhận khơng dây.Đồng thời cũng phải nĩi thêm rằng với những đặc điểm đã nêu ở trên thì trong mạng cảm nhận khơng dây WSN một tiêu chí quan trọng để xây dựng đĩ chính là tiêu chí hiệu quả năng lƣợng.Từ đây đặt ra 2 vấn đề đĩ là chọn thiết bị nhƣ thế nào và sử dụng giao thức hoạt động gì để đạt đƣợc hiệu quả năng lƣợng một cách cao nhất.Trong chƣơng II chúng ta sẽ tìm hiểu về giao thức MAC(Điều khiển thâm nhập mơi trƣờng)và giao thức lập lịch ngủ tập trung. Vũ Thị Phƣơng Thảo 16
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Chƣơng 2: ĐIỀU KHIỂN THÂM NHẬP MƠI TRƢỜNG VÀ GIAO THỨC LẬP LỊCH NGỦ TẬP TRUNG Nhƣ đã nĩi ở chƣơng 1 một tiêu chí quan trọng để xây dựng hệ thống mạng cảm nhận khơng dây đĩ là tiết kiệm năng lƣợng.Và trong chƣơng 2 này chúng ta sẽ cùng tìm hiểu một số gaio thức MAC truyền thống và giao thức lập lịch ngủ tập trung. 2.1 Giới thiệu giao thức MAC-Medium Access Control Thủ tục (giao thức) là tập hợp các qui tắc, qui ƣớc chung để cho 2 hoặc nhiều thiết bị cĩ thể truyền thơng với nhau. Việc trao đổi thơng tin, cho dù là đơn giản cũng phải tuân theo những qui tắc nhất định. Do đĩ việc truyền thơng tin trên mạng cũng cần phải cĩ những qui ƣớc về nhiều mặt, từ khuơn dạng (cú pháp, ngữ nghĩa) của dữ liệu cho tới các thủ tục gửi, nhận dữ liệu, kiểm sốt hiệu quả và chất lƣợng truyền tin, xử lý các lỗi và sự cố. Yêu cầu về xử lý và trao đổi thơng tin của ngƣời sử dụng càng cao thì các qui tắc càng nhiều và phức tạp hơn. Tập tất cả các qui tắc, qui ƣớc đĩ đƣợc gọi là thủ tục hay giao thức (protocol) mạng. Các mạng cĩ thể sử dụng các giao thức khác nhau tùy lựa chọn của nhà thiết kế và yêu cầu của ngƣời sử dụng. Một đặc điểm cơ bản của giao tiếp khơng dây là nĩ phải cung cấp một phƣơng tiện để chia sẻ. Tất cả các giao thức điều khiển đa truy cập cho mạng khơng dây sử dụng giao diện radio để đảm bảo hiệu quả sử dụng của băng thơng chia sẻ. Giao thức MAC đƣợc thiết kế cho mạng cảm nhận khơng dây cĩ một mục đích thêm cho quản lý hoạt động của radio để chuyển đổi năng lƣợng. Nhƣ vậy trong khi giao thức MAC truyền thống phải cân bằng đầu vào, trễ, và một số mối quan tâm khác thì giao thức MAC của WSN đặt việc sử dụng năng lƣợng hiệu quả là mối quan tâm chính. Vũ Thị Phƣơng Thảo 17
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Thủ tục điều khiển thâm nhập mơi trƣờng trong WSN cũng cĩ phần giống với WLAN tuy nhiên do yêu cầu về tiết kiệm năng lƣợng tối đa của các node, WSN đƣa ra các giải pháp để giải quyết việc tiết kiệm năng lƣợng bằng các chế độ lập lịch thức, ngủ cho mỗi quá trình truyền và nhận dữ liệu của mỗi node. Quản lý năng lƣợng là 1 vấn đề thách thức trong các giao thức truyền thơng mong muốn trong mạng WSN. Việc lãng phí năng lƣợng xảy ra chủ yếu do xung đột (2 node truyền xen vào tại cùng thời điểm), nghe lỏm (overhearing - 1 node nhận 1 gĩi mà đích đến khơng phải là nĩ), tăng chi phí gĩi tin điều khiển (control packet overhead) và lắng nghe khi mơi trƣờng rỗi (idle listening) (sĩng vơ tuyến của 1 node vẫn hoạt động thậm chí khi khơng cĩ dữ liệu để truyền hoặc nhận). Những vấn đề này cĩ mặt trong tất cả các mạng mơi trƣờng chia sẻ và nĩi chung đƣợc các kĩ thuật MAC khắc phục. Mục tiêu chính của thủ tục lớp MAC là để phân phát cho các kênh vơ tuyến đƣợc chia sẻ trong số các node sensor giống nhau và để đảm bảo rằng khơng cĩ 2 node truyền xen vào tại cùng thời điểm. Bởi vì tiềm năng của nĩ cho việc tránh lãng phí năng lƣợng khơng cần thiết, MAC trong WSN đã trở thành lĩnh vực nghiên cứu rộng. Các thuộc tính quan trọng của thủ tục MAC là: Tránh xung đột: nhiệm vụ cơ bản là điều khiển truy nhập mơi trƣờng Hiệu suất năng lƣợng: quan trọng nhất Tính mở rộng và tính thích nghi: để thay đổi kích thƣớc mạng, mật độ node và topo mạng. Số lƣợng các node thay đổi theo thời gian Độ trễ (latency) Bình đẳng (fairness) Thơng lƣợng Vũ Thị Phƣơng Thảo 18
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Việc sử dụng băng thơng Các thủ tục MAC cĩ thể chia thành các loại khác nhau dựa trên các nguyên tắc khác nhau. Một vài thủ tục đƣợc tập trung với trạm gốc hoặc chủ nhĩm làm điều khiển truy nhập; vài thủ tục thì đƣợc phân phối, vài thủ tục khác thì sử dụng 1 kênh đơn lẻ, vài thủ tục khác thì sử dụng nhiều kênh, vài thủ tục khác nữa thì sử dụng các kiểu khác nhau của truy cập ngẫu nhiên, vài thủ tục khác thì sử dụng việc dành riêng là lập chƣơng trình. Các thủ tục đĩ cũng đƣợc tối ƣu cho những điều khác nhƣ: năng lƣợng, độ trễ, thơng lƣợng, sự bình đẳng, chất lƣợng và dịch vụ (QoS), hoặc hỗ trợ cho nhiều dịch vụ khác. 2.2 Một số giao thức MAC truyền thống 2.2.1 Giao thức Aloha Các giao thức MAC truyền thống là các giao thức đa truy cập. Dạng đơn giản nhất của đa truy cập là Aloha khơng chia rãnh và Aloha chia rãnh. Trong Aloha khơng chia rãnh, mỗi nút hoạt động độc lập và đơn giản là truyền một gĩi bất cứ khi nào gĩi đƣợc gửi tới; nếu một xung đột xảy ra, gĩi sẽ đƣợc truyền lại sau một khoảng thời gian đợi ngẫu nhiên. Aloha chia rãnh làm việc cũng theo cách tƣơng tự, nhƣng chỉ cho phép truyền trong những rãnh đặc biệt đƣợc đồng bộ. Thuận lợi chính của mơ hình truy nhập ngẫu nhiên Aloha là nĩ đơn giản. Các node cĩ thể truyền dữ liệu của chúng bất chấp sự hoạt động của các node khác. Nếu bản tin nhận thành cơng thì node gốc gửi 1 ACK (acknowledgment) qua 1 kênh (feedback). Nếu node khơng nhận đƣợc 1 ACK thì node truyền lại bản tin sau khi đợi một thời gian ngẫu nhiên. Độ trễ chủ yếu đƣợc xác định bởi xác suất mà gĩi tin khơng nhận đƣợc (bởi vì xuyên nhiễu từ quá trình truyền khác đƣợc gọi là 1 sự xung đột) và giá trị trung bình của thời gian đợi ngẫu nhiên trƣớc khi quá trình truyền lại. Vũ Thị Phƣơng Thảo 19
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Ở Aloha khơng chia khe Hình 2.1: Aloha khơng chia khe Hạn chế quan trọng ở đây là gĩi tin gửi đã đƣợc nhận hay chƣa. Để giải quyết vấn đề này, trong mơ hình unslotted Aloha, khi 1 node kết thúc việc truyền, nĩ mong chờ 1 ACK trong 1 lƣợng thời gian hạn chế. Mặt khác, nĩ truyền lại dữ liệu một cách dễ dàng. Mơ hình này làm việc tốt trong các mạng nhỏ nơi mà tải (load) khơng cao. Nhƣng trong mạng lớn, địi hỏi nhiều tải, nơi mà nhiều node cĩ thể muốn truyền tại cùng thời điểm, thì mơ hình này khơng dùng đƣợc. Do đĩ dẫn tới sự phát triển của Slotted Aloha Ở Aloha chia khe, thì làm việc theo cách tƣơng tự, nhƣng chỉ cho phép truyền trong những khe đồng bộ riêng. Một khe bằng thời gian truyền 1 frame. Các node chỉ bắt đầu truyền các frame tại điểm bắt đầu của các khe. Các node đƣợc đồng bộ để mỗi node biết khi nào các khe bắt đầu. Nếu 2 hoặc nhiều hơn các frame xung đột trong 1 khe, thì tất cả các node dị tìm xung đột trƣớc điểm cuối của khe. Vũ Thị Phƣơng Thảo 20
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Hình 2.2: Aloha chia khe Trong giao thức này, số xung đột cĩ thể xảy ra đƣợc giảm. Và vì thế, nĩ thực hiện tốt hơn Unslotted Aloha. Các xung đột chỉ cĩ thể xảy ra với các node đã sẵn sàng nĩi tại cùng thời điểm. Đây là 1 sự giảm đáng kể. 2.2.2 Giao thức CSMA(Carrier Sense Medium Access) Một giao thức MAC cổ điển khác là giao thức đa truy cập cảm nhận sĩng mang (CSMA). Trong CSMA, một nút muốn truyền trƣớc hết phải lắng nghe kênh để đánh giá nĩ cĩ rỗi khơng. Nếu kênh nhàn rỗi, nút sẽ tiến tới việc truyền. Nếu kênh bận, nút sẽ đợi một chu kỳ back-off ngẫu nhiên để cố truyền lại. Cả Aloha khơng chia rãnh, Aloha chia rãnh và CSMA vẫn chƣa giải quyết đƣợc vấn đề nút ẩn, nút hiện. Chuẩn IEEE 802.3/Ethernet đã đƣa ra giao thức cảm nhận sĩng mang dị xung đột CSMA/CD trong mạng Ethernet. Chế độ này hoạt động nhƣ CSMA thƣờng nhƣng trong quá trình truyền, nút đồng thời lắng nghe mơi trƣờng, nhận lại các dữ liệu gửi đi xem cĩ xung đột khơng. Nếu phát hiện xung đột, nút sẽ truyền 1 tín hiệu nghẽn để các nút khác nhận ra và dừng việc gửi gĩi trong 1 thời gian ngẫu nhiên backoff trƣớc khi cố gửi lại, tức là cĩ khả năng dị xung đột nhƣng vẫn khơng tránh đƣợc. Vũ Thị Phƣơng Thảo 21
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Trong các mạng phức tạp hơn nhƣ mạng khơng dây thì ngƣời ta dùng giao thức cảm nhận sĩng mang/tránh xung đột CSMA/CA. Giao thức này cĩ khả năng giải quyết vấn đề nút ẩn, nút hiện và sẽ đƣợc trình bày chi tiết trong phần sau. *Vấn đề nút ẩn/nút hiện Các giao thức MAC truyền thống khơng đủ để ngăn ngừa xung đột và khơng hiệu quả trong mạng khơng dây bởi vì 2 vấn đề duy nhất: vấn đề nút ẩn và nút hiện. Vấn đề nút ẩn đƣợc thể hiện trong hình 2.3a; ở đây, nút A đang truyền tới nút B. Nút C, nằm ngồi vùng sĩng radio của A, sẽ cảm nhận đƣợc kênh truyền nhàn rỗi và bắt đầu truyền gĩi tới nút B. Trong trƣờng hợp này, CSMA khơng ngăn ngừa xung đột bởi vì A và C ẩn cho mỗi nút. Vấn đề nút hiện đƣợc thể hiện trong hình 2.3b. Ở đây, trong khi nút B truyền tới nút A, nút C cĩ một gĩi cần truyền cho nút D. Bởi vì nút C trong khoảng của B, cảm nhận thấy kênh bận và khơng cĩ thể truyền. Tuy nhiên, trong lý thuyết, vì D nằm ngồi khoảng của B, và A nằm ngồi khoảng của C, 2 sự truyền này khơng xung đột với nhau. Việc truyền bởi C sẽ bị hỗn lại và lãng phí băng thơng. Hình 2.3:nút ẩn và nút hiện Vấn đề này là sĩng đơi theo một phƣơng diện nào đĩ: trong vấn đề node ẩn, gĩi gây xung đột vì trong khi nút gửi mà khơng biết nút khác Vũ Thị Phƣơng Thảo 22
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn đang truyền, trong khi đĩ nút hiện mất cơ hội lớn để gửi 1 gĩi do sự nhầm lẫn của quá trình truyền khơng bị nhiễu. Lời giải cho sự ghép đơi khơng đối xứng này nằm ở chỗ khơng phải nơi truyền cần thiết để cảm nhận sĩng mang mà là nơi nhận. Một vài giao tiếp giữa nơi truyền và nơi nhận cần thiết để giải quyết vấn đề này. 2.2.3 Giao thức MACA(Medium Access Collision Avoidance) Giao thức MACA giới thiệu về cách sử dụng của 2 thơng điệp điều khiển cĩ thể giải quyết vấn đề Hidden node(nút ẩn) và Exposed node(nút hiện).Các thơng điệp điều khiển này đƣợc gọi là Request to send(RTS) và Clear to send(CTS).Bản chất của giao thức này là khi 1nút muốn gửi dữ liệu nĩ phát ra 1gĩi RTS tới nơi nĩ muốn gửi dữ liệu.Nếu nơi nhận cĩ thể nhận dữ liệu,nĩ phát ra 1 gĩi CTS.Khi nơi gửi nhận đƣợc CTS nĩ bắt đầu truyền dữ liệu.Khi 1 nút gần đĩ nghe thấy 1 địa chỉ RTS của nút khác,nĩ sẽ ngăn chặn đƣờng truyền của mình trong 1 thời gian,đợi đến khi CTS trả lời.Nếu nĩ khơng nghe thấy CTS thì nĩ sẽ bắt đầu truyền dữ liệu của mình.Nếu khơng nghe thấy CTS,thì dù RTS cĩ nghe thấy CTS hay khơng nút đĩ sẽ hạn chế đƣờng truyền của mình trong 1 khoảng thời gian vừa đủ để việc truyền dữ liệu hồn thành. 1 quá trình truyền dữ liệu thành cơng (từ A đến B) bao gồm chuỗi frame: - frame “Request to Send” từ A đến B - frame “Clear To Send” từ B đến A - frame đoạn DATA từ A đến B - frame ACK từ B đến A Vũ Thị Phƣơng Thảo 23
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Hình 2.4: Quá trình truyền nhận giữa 2 node A và B Giả sử lý tƣởng (ví dụ bỏ qua khả năng xảy ra xung đột RTS/CTS, giả sử truyền thơng 2 chiều, khơng mất gĩi, khơng hiệu ứng capture), cĩ thể thấy rằng giao thức MACA cĩ thể giải quyết cả vấn đề node ẩn và node hiện. Với các ví dụ đơn giản nhƣ hình 2.1 ở trên, nĩ giải quyết vấn đề node ẩn bởi vì node C sẽ phải lắng nghe bản tin CTS và chặn xung đột đƣờng truyền của nĩ. Tƣơng tự nĩ giải quyết vấn đề node hiện vì mặc dù node C lắng nghe CTS của node B, nĩ sẽ khơng nhận CTS từ node A và do đĩ cĩ thể truyền gĩi tin của nĩ sau 1 thời gian chờ cĩ thể. 2.3 Giao thức lập lịch 2.3.1 Cảm ứng MAC(S-MAC) - Giao thức S-MAC là một giao thức MAC khơng dây đƣợc thiết kế đặc biệt cho WSN. Hình 2.5:Giao thức S-MAC Nhƣ hình vẽ chỉ ra, nĩ chiếm một chu kỳ tuần hồn, ở đĩ, mỗi node sẽ ngủ trong một khoảng thời gian và sau đĩ thức dậy để lắng nghe. Vũ Thị Phƣơng Thảo 24
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Chu trình làm việc của chế độ lập lịch ngủ – lắng nghe này thực hiện nhƣ nhau đối với tất cả các node, vì vậy mà làm giảm năng lƣợng tiêu thụ. Chu kì ngủ – lắng nghe: Hình 2.6: chu kì ngủ – lắng nghe Vấn đề: “Idle listening”: tiêu thụ năng lƣợng đáng kể. Đây là 1 vấn đề lớn trong việc tiêu thụ năng lƣợng. Giải quyết: Dựa vào chu kỳ ngủ – lắng nghe, nghĩa là đặt các node vào trong chu kì trạng thái ngủ. Sau khi ngủ vài giờ thì mỗi node thức dậy và lắng nghe xem cĩ node nào muốn nĩi chuyện với nĩ khơng. Nếu cĩ, nĩ sẽ thức. Nếu khơng, nĩ lại trở về trạng thái ngủ. Trong suốt thời gian ngủ, node tắt đi radio của nĩ. Điều này sẽ giảm đƣợc chu trình làm việc của node xuống khoảng 10% (200ms mở và 2s tắt) - Trong suốt quá trình khởi tạo, các node vẫn thức và chờ đợi một chu kỳ ngẫu nhiên để lắng nghe bản tin về chu kỳ lịch ngủ – lắng nghe của 1 trong các node lân cận. Nếu chúng khơng nhận đƣợc một bản tin nào, chúng sẽ lựa chọn lịch của riêng chúng và phát quảng bá (thơng báo broardcast) cho các node lân cận. Các node nghe đƣợc lịch của node lân cận sẽ chấp nhận lịch này và báo cho các node tiếp theo. Một vài node ranh giới cĩ thể chấp nhận nhiều lịch khác hoặc chỉ chấp nhận lịch của 1 node lân cận. Các node sẽ định kỳ truyền các lịch này để cấp vị trí cho mỗi node mới đƣợc kết nối với mạng. Mặc dù các node vẫn phải trao đổi gĩi tin theo định kỳ với các node lân cận để đồng bộ, nhƣng đây khơng phải là vấn đề lớn vì chu kỳ nghe thƣờng lớn hơn nhiều so với độ trễ của xung đồng hồ. Lập lịch ngủ khơng đƣợc dùng trong khi truyền dữ liệu. Ví dụ: Trƣớc khi các node thực hiện chu kì nghe ngủ, chúng cần chọn 1 lịch để biết khi nào nghe và khi nào ngủ. Hình dƣới đây chỉ ra rằng thậm chí nếu 2 node cĩ các lịch khác nhau. Chúng cĩ thể cịn liên lạc Vũ Thị Phƣơng Thảo 25
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn với nhau một thời gian lâu nhƣ khi chúng biết các lịch của nhau. Nếu node 1 muốn liên lạc với node 2, nĩ chỉ đợi cho đến khi node 2 đang lắng nghe. Tuy nhiên chúng ta muốn các node lân cận là phải cĩ cùng lịch. Vì vậy thật dễ dàng để phát broadcast. Hình 2.7: 2 node cĩ cùng schedule - Nhƣng trong 1 mạng lớn thì khơng thể đảm bảo tất cả các node đều cĩ lịch nhƣ nhau. Ví dụ hình sau cĩ 2 lịch khác nhau trên mỗi mặt phẳng. Node đen là node nhận cả 2 lịch. Khi nĩ phát broadcast 1 gĩi, thì nĩ cần phải phát gĩi đĩ 2 lần, lần 1 là cho các node ở lịch 1, sau đĩ là cho các node ở lịch 2. Hình 2.8:các node cĩ 2 schedule khác nhau Một mở rộng của sơ đồ S-MAC cơ bản, gọi là đáp ứng lắng nghe (adaptive listening), cho phép chu kỳ hoạt động cĩ thể thay đổi độ dài, để giảm khả năng ngủ đến 1 mức độ nhất định. Kĩ thuật Adaptive listening đƣợc đƣa ra để cải thiện độ trễ ngủ. Trong kĩ thuật này, node tình cờ nghe đƣợc các sự truyền của node lân cận, nĩ sẽ thức dậy trong 1 thời gian ngắn tại điểm cuối của đƣờng truyền. Do đĩ, nếu node là node next-hop, thì neighbor của nĩ cĩ thể chuyển dữ liệu ngay lập tức. Điểm cuối của đƣờng truyền đƣợc xác định bởi trƣờng DF của các gĩi RTS/CTS. Vũ Thị Phƣơng Thảo 26
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Hình 2.9:Sự hoạt động của S-MAC basic và adaptive Chú ý: tiết kiệm năng lƣợng trong S-MAC mang tới tiêu phí trong quá trình ngủ: nghĩa là 1 gĩi truyền qua mạng sẽ phải tạm dừng trong quá trình ngủ của những node trung gian (phụ thuộc vào quá trình thiết lập, gĩi tin qua một vài hop thì phải dừng lại). Ƣu: Lịch ngủ làm giảm đi sự lãng phí năng lƣợng gây ra bởi “idle listening”. Nhƣợc: Truyền thơng broadcast khơng sử dụng RTS/CTS làm tăng khả năng xung đột. Kĩ thuật Adaptive listening phải chịu vấn đề “overhearing” hoặc “idle listening” nếu gĩi tin khơng đi đến node đang lắng nghe nĩ. 2.3.2 Timeout MAC(T-MAC) T-MAC là một giao thức cĩ chu kỳ làm việc tƣơng tự nhƣ S-MAC và adaptive listening, cho phép thay đổi chu kỳ làm việc. Độ dài của mỗi chu kỳ đƣợc giữ cố định, nhƣng kết thúc của quá trình hoạt động đƣợc xác định tích cực bằng việc sử dụng 1 kĩ thuật timeout (thời gian chờ). Nếu nơi nhận khơng nhận bất kì bản tin (dữ liệu hoặc điều khiển) nào trong khoảng thời gian chờ, thì nĩ sẽ ngủ. Nếu nĩ nhận đƣợc 1 bản tin, bộ đếm sẽ bắt đầu lại sau khi tiếp nhận bản tin. Cơ chế phục hồi (làm mới) này cho phép dễ dàng thích nghi với sự biến đổi của khơng gian thời gian trong lƣu lƣợng. Vũ Thị Phƣơng Thảo 27
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Chế độ T-MAC cơ bản phải chịu một vài vấn đề, gọi là “ngủ sớm”, nĩ cĩ thể làm giảm thơng lƣợng, đặc biệt trong trƣờng hợp chỉ truyền qua một hƣớng duy nhất. Khi 1 node yên lặng do xung đột trong 1 chu kỳ xác định, nĩ khơng thể gửi bất kỳ một bản tin nào cho những nơi nhận biết để ngắt thời gian timeout của nĩ. Khi nơi gửi cĩ thể gửi sau khi kết thúc quá trình xung đột, thì nơi nhận lại đang ở chế độ ngủ. Hai giải pháp cĩ thể giải quyết vấn đề ngủ sớm đƣợc đặt ra là: + Giải pháp đầu tiên sử dụng một bản tin điều khiển FRTS (future request to send) hiện thời ngắn, nĩ cĩ thể truyền tới nơi nhận mong muốn bằng cách yêu cầu nĩ phải chờ đợi thêm một chu kỳ timeout. + Giải pháp thứ 2 đƣợc gọi là “quyền ƣu tiên bộ đệm buffer đầy”, ở đĩ, 1 node muốn gửi hơn là nhận khi bộ đệm buffer của nĩ là đầy. Với chế độ này, 1 node cĩ độ ƣu tiên cao hơn sẽ gửi gĩi tin của nĩ thay vì nhận các gĩi tin khác, và cĩ thể tạm thời ngắt thời gian chờ của nơi nhận. 2.3.3 MAC hội tụ dữ liệu(D-MAC) Hình 2.10: 1 cây tập hợp dữ liệu và sự hoạt động của D-MAC của nĩ - Dành cho những gĩi tin truyền qua đa bƣớc (multi-hop), cả S-MAC và T-MAC mất năng lƣợng tiết kiệm do hao phí của việc tăng độ trễ. Bởi vì gĩi tin chỉ cĩ thể truyền qua một vài hop trong mỗi chu kỳ trƣớc khi tới Vũ Thị Phƣơng Thảo 28
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn 1 node mà node đĩ phải ngủ. Đĩ chính là vấn đề về ngắt dữ liệu chuyển tiếp. - Một giải pháp ứng dụng đặc biệt cho vấn đề này đƣợc đƣa ra bởi giao thức D-MAC, nĩ chỉ áp dụng trên cây dữ liệu hội tụ đã xác định trƣớc, đi từ những node mạng khác nhau đến 1 sink chung. Về cơ bản, D- MAC đƣa ra 1 chế độ ngủ so le, tức là khi chuyển 1 chuỗi nhận - truyền - ngủ từ các node mức dƣới lên một mức cao hơn thì chuỗi đĩ ở mỗi mức cao kế tiếp đƣợc dịch về bên phải. Chu kỳ này đƣợc xếp hàng để 1 node tại mức thứ k là ở trong chế độ nhận khi node thấp hơn trên cây tại mức thứ k+1 là đang truyền. - Lập lịch so le của D-MAC cĩ nhiều thuận lợi - nĩ cho phép các gĩi dữ liệu và gĩi điều khiển chuyển liên tục theo mọi cách trên cây với độ trễ nhỏ nhất; nĩ yêu cầu phần mở rộng tƣơng thích của chu kỳ hoạt động phải truyền đi theo mọi đƣờng trên cây; nĩ giảm xuyên nhiễu nhờ chia chu kỳ hoạt động ra tại các mức khác nhau; và nĩ cũng giảm số lƣợng node thức dậy khi chu kỳ thích ứng xuất hiện. Để giải quyết giữa xung đột và xuyên nhiễu, D-MAC cũng bao gồm các thành phần tùy chọn nhƣ dữ liệu dự báo trƣớc(“data prediction”) và việc sử dụng gĩi thêm để gửi (MTS_more-to-send). Mặc dù cĩ những thuận lợi này, nhƣng D-MAC tự nĩ khơng phải là 1 MAC cĩ mục đích chung. Vì nĩ chỉ thích hợp với các cây “data- gathering” một chiều. Ƣu: D-MAC đạt đƣợc độ trễ (latency) rất tốt, so sánh với chu kì ngủ – lắng nghe của các phƣơng pháp khác. Nhƣợc: Phƣơng pháp tránh xung đột khơng đƣợc sử dụng, vì khi các node cĩ cùng lịch (cùng mức trên cây) mà cũng gửi tới cùng node, thì sự xung đột sẽ xảy ra. Bên cạnh đĩ, các đƣờng truyền dữ liệu khơng đƣợc biết trƣớc, nên sẽ ngăn cản sự thành lập của cây tập hợp dữ liệu. Vũ Thị Phƣơng Thảo 29
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn 2.3.4 Lập lịch tập trung Một biến đổi của CSMA đối với truy cập kênh khơng dây là thăm dị (polling). Trong thuật tốn polling, các nút mạng cĩ thể truyền chỉ trên một kênh sau khi nhận đƣợc sự cho phép của nút chủ (master) trên mạng. Ban đầu nút master gửi thơng điệp đến các nút khơng phải nút chủ (slave) một cách đều đặn thăm dị tất cả các nút slave, hỏi xem chúng cĩ dữ liệu truyền khơng. Mỗi thiết bị slave phản hồi lần lƣợt lại truy vấn này. Theo cách này, nút master cĩ thể điều khiển truy cập mơi trƣờng. Mỗi gĩi tin thăm dị tồn tại riêng biệt với một gĩi dữ liệu bởi tta là thời gian đƣợc yêu cầu để sink thay đổi trạng thái. Đối với một thăm dị khơng thành cơng, cĩ một sự phân chia tối thiểu 2tta +tcca giữa 2 gĩi tin thăm dị thành cơng ,đây là thời gian đƣợc yêu cầu để xác định cĩ hay khơng bất kỳ đáp ứng từ maste trƣớc khi một gĩi thăm dị khác đƣợc gửi. Hình 2.11: thời gian truyền cho polling Trong đĩ ttx : thời gian truyền một gĩi dữ liệu tta: thời gian từ trạng thái nhận sang truyền hoặc từ truyền sang nhận tcca: thời gian để quyết định liệu cĩ dữ liệu đang truyền hay khơng bằng việc nhận biết kênh là trống (clear)hay khơng Vũ Thị Phƣơng Thảo 30
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Thăm dị cung cấp nhiều thuận lợi hơn CSMA. Thứ nhất, thời gian truy cập kênh cĩ thể đƣợc định trƣớc và khơng phải chịu trễ ngẫu nhiên từ thuật tốn CSMA. Điều này cĩ thể là một thuận lợi quan trọng đối với những ứng dụng yêu cầu trễ thơng điệp thấp và những ứng dụng cần đƣợc xử lý hết sức thận trọng trong những thơng điệp khẩn cấp. Hơn nữa, bởi vì truy cập kênh đƣợc điều khiển bởi một thực thể đơn (master) , chính sách của nút master cĩ thể điều chỉnh dễ dàng để cung cấp các mức độ khác nhau về việc truy cập kênh đối với nút slave. Trong cách này, mỗi nút cĩ thể đƣa ra chất lƣợng dịch vụ cần thiết đối với ứng dụng nĩ phục vụ; những nút yêu cầu băng thơng dữ liệu cao hoặc trễ bản tin thấp cĩ thể đƣợc thăm dị nhiều lần hơn các nút khác. Thêm vào đĩ, bởi vì nĩ đƣợc điều khiển bởi master, kênh truy cập cũng cĩ thể đƣợc đảm bảo tốt hơn. Cuối cùng, vấn để đầu cuối ẩn, nhƣ CSMA là tránh đƣợc. Những điểm khơng thuật lợi của thuật tốn polling trong mạng cảm nhận khơng dây: o Thứ nhất,bởi vì master phải truyền và nhận liên tục, nĩ khơng thể tƣơng xứng giữa chu kỳ cơng suất thấp với thời gian sống pin dài. Các nút slave cũng phải chịu tải của việc nhận thăm dị liên tục của nút chủ mong dành cho các nút slave khác. Và thỉnh thoảng lại đáp lại nút master nếu đúng địa chỉ của nĩ o Thứ 2, khi số lƣợng thiết bị trong mạng tăng lên, tổng số thời gian mạng mất cho việc thăm dị các nút mạng cũng tăng theo. Vì vậy để đƣa ra thuật tốn cho số lƣợng nút lớn cũng rất khĩ khăn. o Cuối cùng, phƣơng thức truy cập kênh thăm dị thƣờng yêu cầu một mạng đơn hop. Các nút phải nằm trong phạm vi của nút chủ để giành đƣợc truy cập kênh. Vũ Thị Phƣơng Thảo 31
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Tuy nhiên, nhiều WSN sẽ hữu ích nhất nếu chúng cĩ thể hoạt động trong các mạng đa hop và cĩ thể mở rộng ra hơn phạm vi của bất kỳ một nút đơn. Điều này đã đƣợc thực hiện, đối với hệ thống truy cập kênh thăm dị trong mạng đa hop; cĩ tỷ lệ lớn kênh dung lƣợng dữ liệu trong WSNs để tránh số lƣợng lớn xung đột kênh khơng đƣợc chấp nhận (làm giảm số lƣợng nút trong phạm vi của một nút khác). Ứng dụng tốt nhất của phƣơng thức thăm dị của truy cập kênh trong các mạng khơng dây cá nhân (WPANs) là Bluetooth. Blue-tooth là một mạng đơn hop với số slave tối đa là 7 và yêu cầu truyền dữ liệu đồng bộ, là trƣờng hợp đặc biệt phù hợp với phƣơng thức truy cập kênh thăm dị. Kết luận:Trong chƣơng này chúng ta đã tìm hiểu đƣợc một số giao thức MAC truyền thống,ƣu nhƣợc điểm của từng giao thức.Đã tìm hiểu đƣợc thế nào là vấn đề nút ẩn,nút hiện và cách giải quyết.Ngồi ra trong chƣơng cịn nghiên cứu một số phƣơng pháp lập lịch mà chủ yếu là lập lịch tập trung.Và chƣơng 2 này sẽ là tiền đề cho việc viết chƣơng trình thử nghiệm đƣợc đề cập đến trong chƣơng tiếp theo. Vũ Thị Phƣơng Thảo 32
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Chƣơng 3: THỬ NGHIỆM CHƢƠNG TRÌNH Trong một số phƣơng pháp lập lịch nêu trên thì chúng ta chọn phƣơng pháp lập lịch tập trung để thử nghiệm chƣơng trình. 3.1 Thiết bị sử dụng trong chƣơng trình *Sử dụng vi điều khiển CC1010 làm nút mạng vì những lý do sau: Vi điều khiển CC1010 của hãng chipcon cĩ chứa nhân CPU 8051, đƣợc tích hợp bộ thu phát sĩng vơ tuyến và các thành phụ khác và cĩ mức tiêu thụ năng lƣợng thấp. CC1010 cịn cĩ các chế độ làm việc tiêu thụ ít năng lƣợng, cĩ thể lập trình điều khiển chế độ làm việc. Do đĩ, CC1010 rất phù hợp để trở thành nút mạng WSN, đặc biệt trong các mạng đo các thơng số mơi trƣờng. *Cấu tạo vi điều khiển CC1010: Phần lõi MCU: Vi xử lý 8051 cĩ tốc độ bằng 2.5 lần vi xử lý 8051 tiêu chuẩn. Cĩ các chế độ tiết kiệm năng lƣợng (nghỉ và ngủ), cĩ thể lập trình để vi điều khiển hoạt động trong các chế độ này. 32 kbyte bộ nhớ Flash, 2048+128 byte bộ nhớ trong SRAM. 3 kênh ADC 10 bit, 4 bộ định thời, 2 cổng UART, RTC, mã hĩa DES, 26 chân vào ra chung. Tích hợp bộ gỡ rối, hỗ trợ mơi trƣờng phát triển Keil uVision qua cổng giao tiếp nối tiếp Bộ thu phát sĩng vơ tuyến: Tần số 300-1000MHZ. Vũ Thị Phƣơng Thảo 33
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Tiêu thụ dịng rất thấp(9.1 mA trong chế độ thu). Cơng suất phát cĩ thể lập trình đƣợc (lên đến +10dBm). Tốc độ thu phát dữ liệu lên đến 76.8 kbps. Độ nhạy cao (thơng thƣờng -107dBm). Hỗ trợ các giao thức nhảy tần. Hãng chipcon cịn đƣa ra các thƣ viện để hỗ trợ làm việc với CC1010, do đĩ việc viết chƣơng trình cho CC1010 trở nên dễ dàng và thuận tiện hơn. Với những đặc điểm trên, ta cĩ thể thấy khi đƣợc tích hợp thêm bộ cảm biến, vi điều khiển CC1010 cĩ những phẩm chất tốt để trở thành một nút mạng WSN. Hiện nay, hãng chipcon cung cấp Module CC1010EM (Evaluation Module) để phát triển thêm các ứng dụng của CC1010. Trên CC1010 EM cĩ tích hợp hầu hết các linh kiện cần cho một nút mạng nhƣ CC1010, các chân cổng. 1 cảm biến nhiệt độ đƣa vaofchaan AD1, anten, dao động thạch anh, Module CC1010EM nhỏ gọn và đáp ứng đầy đủ các chức năng của nút mạng là chức năng mạng và chức năng cảm nhận. Trong luận văn này sử dụng CC1010EM làm nút mạng. Vũ Thị Phƣơng Thảo 34
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn 3.2 Phần mềm nhúng 3.2.1 Tổng quan về phần mềm nhúng Phần mềm nhúng đang cĩ những bƣớc đột phá mới, tạo ra những cuộc cách mạng triệt để trong tƣơng lai. Lý do của sự phát triển này xuất phát từ những nhu cầu bức thiết của thực tế và những bƣớc tiến mạnh mẽ trong cơng nghệ phần cứng. Một phần mềm nhúng phải kết hợp chặt chẽ với mơi trƣờng của nĩ bao gồm phần cứng và các hệ thống liên quan. Nĩ cĩ những ràng buộc về tốc độ xử lý, dung lƣợng bộ nhớ và mức tiêu thụ điện năng Một phần mềm nhúng tốt là phần mềm phải đảm bảo các yếu tố trên và đĩ cũng là hƣớng phát triển quan trọng của các phần mềm nhúng. Điểm mấu chốt của các phần mềm nhúng ngày nay là việc lựa chọn các phƣơng pháp Vì vậy mà khơng thể bỏ đi các tính năng “cứng” Vũ Thị Phƣơng Thảo 35
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn của phần mềm nhƣ các phần mềm truyền thống khác. Một phần mềm nhúng ngày nay đƣợc phát triển theo cách sau: o Liên kết phần mềm nhúng từ dƣới lên trên, từ các lớp trừu tƣợng đến các chức năng hệ thống. o Liên kết phần mềm nhúng với các nền lập trình đƣợc - các nền hỗ trợ nĩ cung cấp các phƣơng tiện cần thiết để đánh giá xem các ràng buộc đƣa ra cĩ thỏa mãn hay khơng. Để làm đƣợc nhƣ vậy thì thực chất cần phải phát triển các kỹ thuật hình thức ở mức trừu tƣợng để cĩ những đánh giá sớm cùng với các nhĩm cơng cụ và phƣơng pháp đúng đắn. Mặt khác cũng cần phải xem xét phần mềm nhúng và kiến trúc phần cứng của nĩ trong một tổng thể cân đối. Do phải thỏa mãn nhiều yếu tố khác nhau về phần cứng, mơi trƣờng, giá thành, hiệu năng nên tồn tại nhiều thách thức trong phát triển phần mềm nhúng ngày nay, nhƣ: o Tăng cƣờng việc tái sử dụng. o Đồng thiết kế phần cứng, phần mềm. o Xây dựng mơ hình các thuộc tính phi chức năng. o Chuyển đổi các phần mềm thành các dịch vụ thơng qua các thành phần phần mềm. o Kiến trúc hệ thống và kiến trúc phần mềm. o Đánh giá và kiểm định mức hệ thống. o Tƣơng thích phần cứng và phần mềm nhờ các cấu trúc cĩ thể định cấu hình lại và các thành phần Plug and Play. o Xây dựng các hệ thống cĩ khả năng tổ hợp đƣợc nhờ các thành phần phần mềm cĩ thể tái sử dụng. 3.2.2 Các bƣớc cơ bản xây dựng một phần mềm nhúng Vũ Thị Phƣơng Thảo 36
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Phần mềm nhúng viết cho các họ vi xử lý cĩ thể sử dụng các ngơn ngữ khác nhau nhƣ C/C++ hoặc Assembler. Tuỳ theo tiêu chí xây dựng hệ thống mà lựa chọn ngơn ngữ thích hợp. Từ đĩ cũng chọn chƣơng trình dịch thích hợp. Ngày nay, do nhu cầu phát triển hệ thống nhanh, bảo trì dễ dàng nên ngơn ngữ đƣợc lựa chọn thƣờng là ngơn ngữ cấp cao nhƣ C/C++. Quy trình xây dựng một phần mềm bất kỳ thƣờng trải qua các bƣớc sau: -Tìm hiểu bài tốn -Phân tích -Thiết kế -Viết chƣơng trình -Kiểm thử Việc xây dựng phần mềm nhúng cũng tuân theo trình tự các bƣớc nhƣ trên. Ngồi ra, phần mềm nhúng cịn cĩ đặc trƣng là làm việc trực tiếp với phần cứng. Do đĩ để kiểm sốt quá trình làm việc với các thành phần chấp hành cĩ đúng đắn hay khơng là điều đặc biệt quan trọng. 3.2.3 Phần mềm nhúng viết cho CC1010 Phần mềm nhúng viết cho CC1010 đƣợc viết bằng ngơn ngữ C, sử dụng các thƣ viện cho CC1010 do hãng Chipcon cung cấp, chƣơng trình biên dịch Keil uVision 2.0. Chƣơng trình dịch Keil uVision 2.0 do hãng Keil Elektronik GmbH xây dựng là một mơi trƣờng phát triển tích hợp (IDE) dùng để xây dựng các chƣơng trình cho các họ VĐK tƣơng thích 8051 của Intel. Đây là bộ 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 và gỡ lỗi trên cùng một mơi trƣờng. Chƣơng trình dịch hỗ trợ cho cả ngơn ngữ C và Assembly. Vũ Thị Phƣơng Thảo 37
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Hãng Chipcon cũng cung cấp bộ thƣ viện CC1010IDE hỗ trợ cho việc xây dựng phần mềm cho VĐK CC1010. Đây là bộ thƣ viện giúp cho việc xây dựng chƣơng trình cho CC1010 đƣợc dễ dàng và nhanh chĩng. CC1010IDE dựa trên cơng cụ phát triển “uVision2” của hãng Keil ™ Elektronik GmbH. Cơng cụ này cung cấp một khung (framework) cho hầu hết các đặc điểm của CC1010IDE và cũng hỗ trợ hầu hết cho các VĐK họ 8051. Trình soạn thảo là một cơng cụ chủ yếu để soạn thảo các file nguồn và file hợp ngữ. Nĩ cũng cung cấp các chức năng trợ giúp khác nhƣ giao diện đồ hoạ (Graphic User Interface - GUI), cần cho mơ phỏng/gỡ lỗi (mã lệnh dạng hợp ngữ, thanh ghi, bộ nhớ, các cửa sổ theo dõi, bƣớc lệnh, ). Thêm vào đĩ, IDE cũng cung cấp các giao diện với thƣ viện liên kết động (Dynamic Linking Library – DLL) đƣợc sử dụng để mơ phỏng và gỡ lỗi trên mạch. Một điểm đặc biệt của bộ dịch là cĩ thể chuyển các file nguồn đƣợc viết bằng C sang dạng hợp ngữ, để sau đĩ cĩ thể tối ƣu hố mã lệnh. Dạng hợp ngữ sau đĩ đƣợc chuyển thành các file đối tƣợng (mã máy hoặc dữ liệu nhị phân). Cuối cùng, bộ liên kết đƣa ra dạng file thực thi dạng Intel HEX và cĩ thể nạp vào bộ nhớ Flash của VĐK. Mơ hình của một phần mềm nhúng viết cho CC1010 nhƣ sau: Chƣơng trình ứng dụng Thƣ viện Thƣ viện tiện ích Chipcon C chuẩn (Chipcon utility library-CUL) Thƣ viện phần cứng (Hardware abstraction library – HAL) Các file định nghĩa phần cứng (Hardware definition file - HDF) Các file định nghĩa phần cứng(HDF) Vũ Thị Phƣơng Thảo 38
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Các file định nghĩa phần cứng định nghĩa địa chỉ các thanh ghi, ánh xạ vectơ ngắt và các hằng số phần cứng khác. Chúng cũng thƣờng dùng các macro cho CC1010EB, và các định nghĩa hỗ trợ hợp ngữ và ngơn ngữ C. Thƣ viện phần cứng(HAL) Để hỗ trợ việc phát triển chƣơng trình nhanh chĩng và dễ dàng, Chipcon cung cấp thƣ viện các macro và các hàm truy cập phần cứng C1010 dễ dàng. Những thƣ viện này nằm trong Thƣ Viện Phần Cứng (HAL) và thi hành một giao tiếp phần cứng trừu tƣợng đối với chƣơng trình ngƣời dùng. Nhờ đĩ chƣơng trình ngƣời dùng cĩ thể truy cập ngoại vi của vi điều khiển, thơng qua các lời gọi hàm/macro, mà khơng cần hiểu chi tiết về phần cứng. Thƣ viện HAL hỗ trợ các chức năng sau: - Truyền nhận khơng dây - Đo cường độ RSSI - Truyền nhận RS232 - Làm việc với ADC - Xử lý thời gian thực - Mã hố DES - Thiết lập các bộ định thời - Làm việc với các cổng Thƣ viện tiện ích Chipcon(CUL) Bên cạnh module HAL CC1010IDE cũng cung cấp một thƣ viện cho truyền thơng RF đặt trong Thƣ Viện Tiện Ích (CUL). Thƣ viện này thƣờng dùng cho các ứng dụng RF điển hình, và cung cấp một giao thức RF đầy đủ. Thƣ viện CUL hỗ trợ các chức năng sau: - Truyền nhận khơng dây - Tính tốn Mã dư vịng (CRC) Vũ Thị Phƣơng Thảo 39
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn - Xử lý Thời gian thực (Realtime Clock) Cả hai thƣ viện HAL và CUL đều hỗ trợ Truyền nhận khơng dây và xử lý thời gian thực. Tuy nhiên, các hàm ở thƣ viện CUL làm việc ở mức cao hơn, ngƣời viết chƣơng trình cũng dễ dàng và tiện lợi hơn, nhƣng bù lại cũng kém mềm dẻo hơn so với sử dụng các hàm ở thƣ viện HAL. Do vậy, đối với những ứng dụng địi hỏi sự phức tạp thì thƣờng dùng thƣ viện HAL. 3.3 Thử nghiệm chƣơng trình-Giải thuật cho giao thức lập lịch tập trung(Polling) *Miêu tả chƣơng trình:Chƣơng trình thử nghiệm trên 3 nút mạng:1 nút Master và 2 nút Slave(giả sử địa chỉ 2 nút lần lƣợt là 1 và 2).Nút Master sẽ bắt đầu vịng thăm dị bằng cách phát một gĩi thăm dị dƣới dạng quảng bá cĩ chứa địa chỉ của nút 1.Khi 2 nút Slave nghe thấy gĩi thăm dị chúng nhận gĩi và kiểm tra địa chỉ.Nút 1 kiểm tra thấy địa chỉ trong gĩi trùng với điạ chỉ của mình thì bắt đầu truyền dữ liệu về Master,nút 2 kiểm tra gĩi thăm dị để đối chiếu địa chỉ,nếu khơng đúng nĩ sẽ khơng gửi dữ liệu.Sau khi nhận xong dữ liệu từ nút 1 gửi về,Master thay đổi địa chỉ trong gĩi thăm dị để thăm dị sang nút 2.Quy trình đƣợc thực hiện tƣơng tự nhƣ với nút 1. Vũ Thị Phƣơng Thảo 40
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Giải thuật cho nút Master Khởi tạo Add=1 S Add<=Max Đ Truyền thăm dị Add++ T=(int)sppGett ime Nhận dữ liệu Đ RXI.status!=SPP-RX- Finished&&sppGettime()-t<150 S Xử lý Delay Vũ Thị Phƣơng Thảo 41
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Giải thuật cho nút slave Khởi tạo Nhận thăm dị Đ RXI.status!=SPP -RX-Finished S S Kiểm tra Add,type Đ Delay Truyền dữ liệu Vũ Thị Phƣơng Thảo 42
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn 3.4 Một số hình ảnh thử nghiệm chƣơng trình *Nạp chƣơng trình Vũ Thị Phƣơng Thảo 43
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn *Chạy thử chƣơng trình Hiển thị trên màn hình Hiển thị trên LCD *Kết quả chƣơng trình:Chƣơng trình chạy ổn định dữ liệu nhận đều và liên tục. Vũ Thị Phƣơng Thảo 44
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Kết luận Trong hồn cảnh đất nƣớc ta hiện nay thì mạng cảm nhận khơng dây(WSN) cần đƣợc nghiên cứu rộng rãi và phát triển. Bài luận văn đã đƣa ra kiến trúc tổng quát và đƣa ra các yêu cầu chủ yếu cần đạt đƣợc khi xây dựng một hệ thống WSN,đĩ là:năng lƣợng tiêu thụ thấp,phần mềm tƣơng thích với phần cứng,các nút mạng cĩ khả năng tự cấu hình.Trong đĩ yêu cầu năng lƣợng tiêu thụ thấp là đặc biệt quan trọng.Vì vậy việc lựa chọn thiết bị(nút mạng)cũng đƣợc đặc biệt quan tâm,nút mạng cần cĩ kích thƣớc bé,tiêu thụ năng lƣợng thấp và cĩ tích hợp truyền nhận khơng dây.Với tất cả các yêu cầu trên thì vi điều khiển CC1010 do hãng Chipcon sản xuất là một giải pháp tối ƣu:cĩ độ tích hợp cao,truyền nhận RF,tiêu thụ năng lƣợng thấp để làm nút mạng và xây dựng hệ thống thực nghiệm. Ngồi ra trong bài cũng đã nêu ra đƣợc một số dạng ứng dụng của mạng cảm nhận khơng dây nhƣ là:thu thập dữ liệu mơi trƣờng,an ninh,theo dõi đối tƣợng Mỗi dạng ứng dụng cĩ sự khác nhau cơ bản về truyền thơng và các giao thức cần đƣợc hỗ trợ bởi kiến trúc phần cứng. Bài luận văn cũng đã giới thiệu về tổng quan tầng liên kết dữ liệu và các thủ tục truy nhập mơi trƣờng(MAC) trong mạng cảm nhận khơng dây.Do giới hạn về nguồn năng lƣợng cung cấp,giá thành và yêu cầu hoạt động trong một thời gian dài nên vấn đề năng lƣợng là tiêu chí thiết kế quan trọng nhất trong mạng cảm nhận khơng dây WSN.Vì thế để tiết kiệm đƣợc năng lƣợng sĩng vơ tuyến thì giao thức MAC đã đƣợc thiết kế phù hợp bằng cách lập chế độ ngủ một cách hiệu quả khi khơng truyền và khơng nhận dữ liệu. Trong bài luận văn này tập trung nghiên cứu về lập lịch tập trung(polling) và đã cĩ chƣơng trình thử nghiệm.Tuy nhiên chƣơng trình Vũ Thị Phƣơng Thảo 45
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn chƣa đƣợc hồn thiện trong việc tính tốn chính xác khe thời gian.Vì vậy hƣớng phát triển của đề tài là tính tốn đƣợc khe thời gian một cách chính xác trong chƣơng trình lập lịch tập trung đồng thời sẽ nghiên cứu về mặt lý thuyết cũng nhƣ viết chƣơng trình cho một kỹ thuật khác của giao thức MAC để từ đĩ so sánh 2 kỹ thuật về hiệu quả năng lƣợng,hiệu quả truyền nhận gĩi tin và hiệu suất của đƣờng truyền. Vũ Thị Phƣơng Thảo 46
- Mạng cảm nhận khơng dây và định thời truyền khơng dây dữ liệu cho nút mạng Wsn Tài liệu tham khảo [1] Bhaskar Krishnamachari, Networking Wireless Sensors, Cambridge University Press 2005 [2] Lizhi Charlie Zhong, Jan Rabaey, Chunlong Guo, Rahul Shah, Data Link Layer Design For Wireless Sensor Networks. [3] Edgar H. Callaway, Jr., Wireless Sensor Networks: Architectures and Protocols [4] Wei Ye, MAC Layer Design for Wireless Sensor Networks [5] Ilker Demirkol, Cem Ersoy, and Fatih Alagưz, MAC Protocols for Wireless Sensor Networks: a Survey [6] Kevin Klues, Power Management in Wireless Networks [7] Javier Bonny, Investigating MAC Power Consumption in Wireless Sensor Network Vũ Thị Phƣơng Thảo 47