Những giao thức này bao gồm việc cấp phát các khe thời gian cho kỹ thuật thâm nhập chia sẻ thời gian (TDMA) (hoặc các kênh theo tần số cho FDMA, mã hoá/bước nhảy riêng biệt tuần tự cho CDMA) tới các nút trong mạng trong khi vẫn thoả mãn các ràng buộc. Việc đảm bảo giao diện sử dụng chung (được thừa nhận dựa trên dạng kênh lý tưởng hoá một phần) yêu cầu không có các nút trong phạm vi 2 hop của chúng có thể sử dụng khe giống nhau. Hai nút không có các đụng độ ẩn. Hầu hết các lược đồ lập lịch đưa ra và nghiên cứu trong bối cảnh của WSN là các kỹ thuật TDMA.
Trong khi các kỹ thuật thiết kế TDMA truyền thống không đặt mục tiêu duy trì năng lượng, nó không chú trọng đưa ra vấn đề tiết kiệm năng lượng với các kỹ thuật này vì các mẫu giao tiếp dự báo trước của chúng, tất cả thứ nó cần là đảm bảo mỗi nút ngủ bất kỳ khi nào không có lịch truyền và nhận.
Một điều dễ nhận biết vấn đề thiết kế một số lượng các kênh nhỏ nhất cho một biểu đồ tuỳ ý trong khi vẫn đảm bảo ràng buộc hai hop được thoả mãn là vấn đề ảnh hưởng của nút hàng lân cận. Tuy nhiên nó có thể cung cấp các giải pháp hiệu quả trong thực tiễn sử dụng cho các thiết lập phỏng đoán.
Một tiếp cận thiết lập các khe thời gian là thực hiện nó theo một phương thức tập trung, yêu cầu một điểm cơ bản là tập hợp tôpô mạng đầy đủ, thực hiện thiết lập ngoại tuyến, sau đó phân bổ nó lại trong mạng. Tuy nhiên, các giải pháp này không cân bằng tốt với kích cỡ mạng, biển động của môi trường trong các hoàn cảnh cụ thể. Vì vậy
vấn đề phân tấn được yêu cầu đặt ra.
2.6.1 MAC tĩnh và sự khởi động (SMACS)
Phương pháp phân quyền là MAC tĩnh và thuật toán khởi động được đưa ra. Trong thuật toán này, mỗi nút chỉ duy trì đồng bộ nội bộ. Trong khi bắt đầu một pha mới, mỗi nút lựa chọn một khe giao tiếp chung với một nút hàng xóm qua bắt tay trên một kệnh điều khiển chung. Mỗi liên kết sử dụng một tần số chọn ngẫu nhiên duy nhất hoặc tần số CDMA- mã hoá hopping. Giả sử rằng có đủ nhiều tần số/mã hoá để đảm bảo rằng không có thiết lập tần số thời gian chung trong phạm vi giao thoa, và kể từ đây không có tranh chấp. Khe được sử dụng định kỳ, mỗi lần một chu trình, cho các giao tiếp giữa hai nút.
2.6.2 Lập lịch cơ bản BFS/DFS
Một phương pháp thực hiện thiết lập được sử dụng theo chiều rộng(BFS) và theo chiều sâu (DFS) của cây thu thập dữ liệu. Trong các giao thức này các nút đơn lẻ sẽ đưa ra một khe duy nhất, có nghĩa là không sử dụng lại không gian của một khe. Nó đảm bảo mỗi nút được đưa ra rất nhiều khe. Biểu đồ cấp phát các khe cơ bản theo chiều rộng và theo chiều sâu thể hiện ở hình 2.9
Có nhiều biến đôi với mỗi phương pháp. Với BFS, mỗi nút lấy các khe thời gian liền kề nhau, điều này có ưu điểm nếu năng lượng cần để chuyển máy thu từ hoạt động sang trạng thái ngủ, khi đó nó giảm tối thiểu việc truyền tại mỗi nút
`
Hình 2.9 Các cấp phát khe thời gian cho một cấy thu thập dữ liệu
Với DFS mỗi nút không có các khe liền kề nhau, nhưng các khe từ mỗi cảm biến nguồn tới sink là liên tục, đảm bảo các bộ đệm các nút trung gian không bị đầy trong khi thu thập số liệu. Điều này đưa ra trễ thấp cho một số mở rộng; mặc dù dữ liệu phải ở lại
6 4 5 7 9 10 8 11 S B A C È E D S B A C È E D 1 4 7 6 9 3 11 8 2 5 10 1 2 3
xếp hàng tại các nút cảm nhận cho đến khi các khe truyền của nó, một lần dữ liệu được truyền đi nó được đảm bảo tới được sink với nhiều bước khác nhau như là số các hop.
BFS sử dụng cho thiết lập kênh "đóng gói" chặt hơn cho cây thu thập dữ liệu trong hoàn cảnh giao diện phải được ràng buộc để đưa ra mô tả để cung cấp việc dùng lại không gian. Trong lược đồ cấp phát khe này, mỗi nút thực hiện thiết lập khe tuần tự. Tại vòng quay của mỗi nút, nó chọn các khe thời gian từ số khe có thể sớm nhất cho các con của chúng.Bản tin nội bộ trao đổi đảm bảo rằng khe không giao thoa với bất kỳ thiết lập tồn tại tới các nút trong phạm vi hai hop của con. Số các khe được gán cho mỗi nút được định trước dựa trên một pha cấp phát băng thông lớn nhỏ hợp lý.
Với kỹ thuật này nó sẽ giữ cho yêu cầu đồng bộ chung.
2.6.3 MAC đồng bộ dành riêng.
Một khó khăn của nhiều lược đồ TDMA là cung cấp các khe đảm bảo cho tất cả các nút, điều này không mềm dẻo về mặt cho phép các lưu lượng từ mỗi nút thay đổi theo thời gian. Lược đồ dành riêng như Resync cung cấp mềm dẻo hơn.
Trong Resync, mỗi nút trong mạng duy trì quan điểm của giai đoạn dựa trên thời gian nội bộ riêng của nó, nhưng nó giả sử rằng giai đoạn của mỗi nút kéo dài trong các khoảng thời gian giống nhau (hoặc có thể đồng bộ với các hàng xóm gần kề). Mỗi nút lựa chọn một thời gian đúng mỗi giai đoạn dựa trên xung đồng hồ nội bộ để gửi một mấu tin ngắn. Giả sử rằng việc chọn lựa thành công và không có đụng độ vì các mẩu tin tồn tại rất ngắn. Bằng việc nghe đủ dài, mỗi nút được học xa hơn khi hàng xóm gửi mẩu tin để nó có thể thức giấc đúng giờ để lắng nghe chúng. Khi một nút muốn truyền tới một nút khác, nó biểu thị trong mẩu tin khi nó dự định truyền dữ liệu (thời gian truyền dữ liệu này được chọn ngẫu nhiên và hiển thị như là một số gia hơn là giới hạn tuyệt đối). Nơi nhận được dự định sẽ thức dậy tại thời gian tương ứng (nó được tính toán dưa trên xung đồng hồ nội bộ) để mà nhận bản tin. Resync không kết hợp chặt chẽ với một cơ chế RTS/CTS để ngăn chặn đụng độ bản tin do vấn đề các nút ẩn; tuy nhiên khi dữ liệu truyền và lập lịch ngẫu nhiên, bất kỳ đụng độ nào không được duy trì liên tục.
2.6.4 Thâm nhập môi trường thích ứng lưu lượng (TRAMA)
Giao thức thâm nhập môi trường thích ứng lưu lượng là kỹ thuật TDMA phân tán cho phép mềm dẻo và lập lịch động cho các khe thời gian. Các giai đoạn thời gian được chia thành tập hợp các khe tín hiệu ngắn, theo bởi tập hợp các khe truyền dài hơn. TRAMA bao gồm 3 phần chính:
1. Giao thức hàng xóm (NP) : các nút trao đổi thông tin một hop hàng xóm trong khoảng ngẫu nhiên thâm nhập các khe tín hiệu. Các khe tín hiệu đủ dài để đảm bảo rằng thông tin được truyền thật sự và các nút có thông tin chắc chắn vùng lân cận.
2. Giao thức trao đổi lập lịch (SEP): Mỗi nút sẽ thông báo lịch của nút trong giai đoạn khe sử dụng của nút tại mỗi giai đoạn. Lịch sử dụng ảnh nhị phân để chứng tỏ hiệu quả nơi nhận mong đợi (unicast hoặc broadcast) cho mỗi gói tương lai của nó trong giai đoạn tiếp theo. Nêu số các gói một nút muốn gửi thấp hơn số khe ssang sử dụng trong một thời điểm, nó sẽ từ bỏ các khe thừa (được đóng gói tại cuối thời điêm với nhau giữa khe sử dụng,hướng đến sự thay đổi khe, và lịch cuối cùng phổ biến tên các khe . Việc thay đổi khe được sử dụng đồng bộ: vì vậy các hàng xóm được yêu cầu thức giấc và lắng nghe nó.) Nút ngủ tại tất cả các thời điểm khi nút không được yêu cầu truyền nhận.
3. Thuật toán lựa chọn thích ứng (AEA) : thuật toán này sử dụng chức năng băm dựa trên ID nút và thời gian để đảm bảo rằng có duy nất mức ưu tiên của nút giữa các nút trong phạm vi vùng 2 hop tại mỗi thời điểm. TRong phiên bản đơn giản nhất của thuật toán này, một nút truyền nếu và chỉ nếu nó có mức ưu tiên cao nhất giữa các nút trong phạm vi vùng lân cận 2 hop của nó. Tuy niên, để làm giảm các lãng phí của một khe nếu không có dữ liệu truyền. TRAMA ràng buộc một mở rộng phức tạp cho phép dùng lại khe. Thủ tục TRAMA thực hiện việc phân công cho phép các nút truy cập kênh truyền để tránh xung đột, giao thức này giả sử tất cả các nút đều đồng bộ thời gian và chia thời gian thời gian được chia thành thời điểm truy cập ngẫu nhiên. Một nút sẽ quảng bá thông tin của nó tới các nút hàng xóm, bao gồm cả thông tin về lập lịch của nó. Dựa và các thông tin này các nút sẽ sử dụng thuật toán phân tán để xác định khe thời gian và kế hoạch thâm nhập để truyền - nhận dữ liệu và kế hoạch chuyển sang trạng thái ngủ của nó. Nhược điểm của thủ tục này khá nặng về tính toán và bộ nhớ bởi vậy yêu cầu mạng có tài nguyên đủ lớn.
Hình 2.10: Thủ tục TRAMA
2.7 Lập lịch tập trung
Trong thủ tục lập lịch tập trung, mạng sẽ chia thành 2 thành phần : nút cơ sở và nút cảm nhận.
Nút cơ sở: sẽ hoạt động theo chu kỳ với thời gian hoạt động và thời gian nghỉ là cố định: thoạt động và tnghỉ . Trong thời gian hoạt động, nút cơ sở sẽ gửi yêu cầu tới từng nút cảm nhận, sau khi gửi yêu cầu thì nút cơ sở chuyển sang trạng thái nhận, nếu nhận được thì sẽ xử lý số liệu rồi chuyển sang yêu cầu nút tiếp theo. Nếu ko nhận được dữ liệu từ nút đã yêu cầu thì sẽ nhận lại trong khoảng thời gian tx nào đó, nếu trong thời gian đó vẫn không nhận được thì chuyển sang yêu cầu nút tiếp theo.
Nút cảm nhận: sau khi khởi tạo, nút cảm nhận tiến hành nhận dữ liệu từ môi trường, nếu không nhận được thì nhận lại cho đến khi nhận được 1 gói tin bất kỳ. khi quá trình nhận thành công chứng tỏ bên ngoài môi trường các nút đang ở trong trạng thái hoạt động. Lúc này, nút cảm nhận bắt đầu tiến hành chu trình hoạt động của mình.
Nhận dữ liệu từ môi trường, nếu không nhận được thì nhận lại cho tới khi nhận được gói tin. Khi nhận được gói tin thì tiến hành kiểm tra địa chỉ và yêu cầu xem có phải yêu cầu nó gửi dữ liệu đi hay không, nếu ko phải thì lại quay lại nhận dữ liệu. nếu đúng thì tiến hành lấy dữ liệu rồi truyền cho nút cơ sở. Nếu ko nhận được dữ liệu liên tiếp trong một khoảng thời gian thì chuyển sang chế độ nghỉ. Thời gian nghỉ ở đây tính là tnghỉ1 = tnghỉ - t1.
Sau khi nghỉ xong, tức là kết thúc 1 chu kỳ làm việc đầu tiên, nút cảm nhận đã bám được vào chu kỳ làm việc của nút cơ sở. Các chu kỳ tiếp theo, nút cảm nhận sẽ hoạt động dựa vào các khoảng thời gian thoạt động và tnghỉ y như nút cơ sở. Nhưng nếu hoạt động mãi như vậy thì sau 1 khoảng dài sẽ bị lệch khe thời gian. Vì thế, sau
khoảng 30chu kỳ (1 số lần nào đó) hoạt động và nghỉ, nó sẽ quay trở lại thực hiện như chu kỳ đầu tiên, tức là tiến hành việc bám vào khhung làm việc, sau đó mới lại tiến hành làm việc và nghỉ theo khoảng thời gian giống như nút cơ sở. Như vậy thì nút cảm nhận sẽ tiến hành bám lại vào chu kỳ làm việc sau 1 số lần hoạt động để đảm bảo việc khớp về mặt khe thời gian.
Hình 2.11 Thuật toán lập lịch tập trung
T T Khởi tạo Add=1 Nhận ok? Và tx<1s Gửi yêu cầu Nhận Xử lý và hiển thị Trế Add++ Add<max F F
CHƯƠNG 3
THỰC NGHIỆM ĐO KIỂM MẠNG WSN SỬ DỤNG PHƯƠNG PHÁP LẬP LỊCH TẬP TRUNG
3.1. Mục đích và yêu cầu thực nghiệm: 3.1.1. Mục đích: 3.1.1. Mục đích:
Tìm hiểu nguyên tắc hoạt động của module CC1010 (sử dụng vi điều khiển CC1010 để xây dựng nút mạng trong mạng cảm nhận). Trên cở sở đó viết phần mềm nhúng cho các nút mạng và xây dựng mô hình thí nghiệm khảo sát quá trình hoạt động, đo hiệu quả truyền nhận gói tin của mạng WSN, đánh giá hiệu quả năng lượng theo phương pháp lập lịch tập trung, từ đó rút ra kết luận so sánh và đánh giá.
3.1.2. Yêu cầu thực nghiệm:
Hai thực nghiệm sau cần được thực hiện:
Đo cường độ tín hiệu nhận được giữa các nút mạng WSN
Đo hiệu quả nhận gói tin giữa các nút mạng WSN
Các thí nghiệm cần được đo đạc nhiều lần ở các môi trường truyền nhận và khoảng cách khác nhau để chỉ ra rõ sự tác động của chúng đến cường độ nhận và hiệu quả truyền nhận gói tin.
3.2. Các thiết bị thực nghiệm:
Hệ thống WSN được kết nối với máy tính thông qua cáp nối RS232, do đó việc thu nhận dữ liệu từ nút mạng về máy tính sẽ thực hiện truyền qua giao tiếp RS232 (cổng COM). Ngôn ngữ lập trình được sử dụng ở đây là ngôn ngữ C, chương trình dịch là Keil µVision2.0/3.0.
Vi điều khiển (VĐK) được lựa chọn để xây dựng nút mạng ở đây là CC1010. Việc chọn VĐK hợp lý sẽ làm cho quá trình xây dựng hệ thống được rút ngắn, hệ thống hoạt động ổn định, tin cậy và đạt các chỉ tiêu đề ra:
Tiêu thụ năng lượng thấp.
Tích hợp ADC để có thể ghép nối với cảm biến tương tự.
Bộ nhớ chương trình cũng như bộ nhớ dữ liệu có kích thước hợp lý.
Kích thước vật lý nhỏ.
thuận tiện như: sử dụng ngôn ngữ cấp cao, có các thư viện hỗ trợ cho việc cảm nhận cũng như truyền nhận không dây, hỗ trợ gỡ lỗi…
Giá thành rẻ.
3.3 Giới thiệu VDK CC1010:
Các đặc điểm chính của VDK CC1010:
Thu phát không dây 300-1000 MHz.
Độ nhạy cao (-107 dBm).
Có thể lập trình cho công suất đầu ra tới +10 dBm.
Tốc độ truyền RF có thể đạt 76.8 kbit/s.
Đo được cường độ RF (RSSI).
Tương thích họ VĐK 8051, tốc độ xử lý bằng 2,5 lần vi điều khiển 8051 chuẩn.
32 kB Flash, 2048 + 128 Byte SRAM.
3 kênh ADC 10 bit, 4 bộ định thời / 2PWMs, 2 UARTs, RTC, Watchdog, SPI, mã hoá DES, 26 chân I/O.
Có khả năng gỡ lỗi sử dụng chương trình dịch Keil µVision2.0/3.0 IDE qua cổng nối tiếp.
Hình 3.2 Chip CC1010 dùng thiết kế nút mạng cảm nhận
3.4 Tiến hành thực nghiệm
3.4.1 Sơ đồ thực nghiệm
Hình 3.4 Sơ đồ thực nghiệm mạng WSN
Nút CC1010 nối trực tiếp với máy tính qua cổng RS232 (gọi là nút cơ sở) nhận kết quả từ nút cảm nhận (có thể di động xa nút cơ sở). Nút cơ sở sẽ phát tín hiệu yêu cầu thu thập dữ liệu từ các nút cảm nhận theo nguyên tắc hỏi vòng, các nút cảm nhận sau khi nhận được yêu cầu từ nút cơ sở sẽ gửi trả lời
Thí nghiệm tiến hành các phép đo sau :
1.Khoảng cách D lớn nhất có để nút cảm nhân và nút cơ sở còn có thể truyền tín hiệu được cho nhau.
2.Thời gian truyền nhận dữ liệu giữa nút cảm nhận và nút cơ sở.
3.Đo cường độ dòng điện của các nút mạng các trạng thái : ngủ, truyền, nhận dữ liệu ở chế độ lập lịch tập trung.
3.4.1.1 Xác định khoảng cách D lớn nhất giữa các nút mạng để chúng còn có thể truyền nhận có hiệu quả :
a. Chuẩn bị thí nghiệm :
- Địa điểm đo : tại sân trường Đại Học Công Nghệ - Nạp phần mềm nhúng cho các nút mạng.
- Chuẩn bị các phụ kiện : thước dây, máy ảnh…