b. Tiến hành đo dũng điện tiờu thụ của nỳt mạng lỳc nỳt mạng truyền dữ liệu
Cho nỳt mạng hoạt động ở chế độ nhận dữ liệu, nạp chương trỡnh cho nú luụn ở chế độ nhận, sau đú tiến hành đo cường độ dũng điện.
Bao gồm cỏc thủ tục:
+ Thiết đặt chế độ hoạt động cho module RF
+ Cho phộp module RF phỏt tớn hiệu (khụng quan tõm đến dữ liệu phỏt ra) + Nhảy tại chỗ #include <chipcon/reg1010.h> #include <chipcon/cc1010eb.h> #include <chipcon/hal.h> void main() { // X-tal frequency: 14.745600 MHz // RF frequency A: 868.277200 MHz Rx // RF frequency B: 868.277200 MHz Tx // RX Mode: Low side LO
// Frequency separation: 64 kHz // Data rate: 2.4 kBaud
// Data Format: Manchester // RF output power: 4 dBm // IF/RSSI: RSSI Enabled
RF_RXTXPAIR_SETTINGS code RF_SETTINGS = { 0x4B, 0x2F, 0x15, // Modem 0, 1 and 2: Manchester 0x75, 0xA0, 0x00, // Freq A
0x58, 0x32, 0x8D, // Freq B 0x01, 0xAB, // FSEP 1 and 0 0x40, // PLL_RX 0x30, // PLL_TX 0x6C, // CURRENT_RX 0xF3, // CURRENT_TX 0x32, // FREND 0xFF, // PA_POW => 4 dBm 0x00, // MATCH 0x00, // PRESCALER }; // Calibration data
RF_RXTXPAIR_CALDATA xdata RF_CALDATA; // Disable watchdog timer
WDT_ENABLE(FALSE);
// Set optimum settings for speed and low power consumption MEM_NO_WAIT_STATES();
FLASH_SET_POWER_MODE(FLASH_STANDBY_BETWEEN_READS); halRFCalib(&RF_SETTINGS, &RF_CALDATA);
// Kớch hoạt chế độ truyền dữ liệu
halRFSetRxTxOff(RF_TX, &RF_SETTINGS, &RF_CALDATA); RF_START_TX(); // Bắt đầu truyền dữ liệu
// Lặp vụ hạn while (TRUE); }
Cỏch đo cường độ dũng điện trờn sơ đồ mạch giống trường hợp cường độ dũng điện nhận.
c. Tiến hành đo dũng điện tiờu thụ của nỳt mạng lỳc nỳt mạng ngủ
Thiết lập nỳt mạng hoạt động ở chế độ ngủ, nạp chương trỡnh cho nú luụn ở chế độ ngủ, sau đú tiến hành đo cường độ dũng điện.
CC1010 đi vào chế độ ngủ ngay sau khi bắt đầu chạy. #include <chipcon/hal.h>
#include <chipcon/cc1010eb.h> void main() {
// Disable watchdog timer WDT_ENABLE(FALSE);
// Startup macros for speed and low power consumption MEM_NO_WAIT_STATES();
FLASH_SET_POWER_MODE(FLASH_STANDBY_BETWEEN_READS); ENTER_SLEEP_MODE();// Đưa nỳt mạng về trạng thỏi ngủ
}
d. Tiến hành đo dũng điện tiờu thụ của nỳt mạng lỳc nỳt mạng khụng truyền khụng nhận dữ liệu
Bao gồm cỏc thủ tục:
+) Thiết lập chế độ cho module ADC và kớch hoạt ADC. +) Chương trỡnh nhảy tại chỗ.
// khụng kớch hoạt modeum RF, chỉ cho CPU chạy ở chế độ chạy lệnh #include <chipcon/reg1010.h> #include "CC1010MB.h" #include <chipcon/hal.h> #include <stdio.h> void main(void) { wdt_enable(false); // adc setup halconfigadc(adc_mode_single | adc_reference_internal_1_25, cc1010eb_clkfreq, 0);
adc_select_input(adc_input_ad1);
adc_power(true);// chạy adc tớnh dũng để đo nhiệt độ
// set optimum settings for speed and low power consumption mem_no_wait_states();
flash_set_power_mode(flash_standby_between_reads); while (true) {
}// lặp vụ hạn, để cpu luụn ở chế độ chạy lệnh. } // end of main()
* Cỏc kết quả đo
- Đo dũng điện tiờu thụ của nỳt mạng lỳc nỳt mạng ngủ :
Lần đo thứ Cường độ dũng điện Điện Áp
1 0.25mA 3.3V 2 0.24mA 3.3V 3 0.26mA 3.3V 4 0.25mA 3.3V Bảng 3.2 Đo cƣờng độ dũng điện lỳc nỳt mạng ngủ mA Sleep 0.25 I
- Đo dũng điện tiờu thụ của nỳt mạng lỳc nỳt mạng truyền dữ liệu
Lần đo thứ Cường độ dũng điện Điờn ỏp
1 35mA 3.3V
2 34mA 3.3V
3 36mA 3.3V
4 35mA 3.3V
Bảng 3.3 Đo cƣờng độ dũng điện lỳc nỳt mạng truyền dữ liệu
d. Đo dũng điện tiờu thụ của nỳt mạng lỳc nỳt mạng nhận dữ liệu
Lần đo thứ Cường độ dũng điện Điờn ỏp
1 25mA 3.3V
2 23mA 3.3V
3 25mA 3.3V
4 24mA 3.3V
Bảng 3.4 Đo cƣờng độ dũng điện lỳc nỳt mạng nhận dữ liệu
mA I Receive 24
e. Đo dũng điện tiờu thụ của nỳt mạng lỳc nỳt mạng khụng truyền khụng nhận dữ liệu
Lần đo thứ Cường độ dũng điện Điờn ỏp
1 16mA 3.3V
2 14mA 3.3V
3 17mA 3.3V
4 14mA 3.3V
Bảng 3.5 Đo cƣờng độ dũng điện lỳc nỳt mạng khụng truyền/nhận dữ liệu
mA I Free 15
mA I Transmit 35
Hỡnh 3.18 Phần mềm viết trờn mụi trƣờng Visual C++
d. Kết luận :
Từ cỏc kết quả đo được trờn ta đưa ra một số nhận xột sau :
Tỉ lệ tiờu thụ năng lượng giữa nỳt mạng lỳc ngủ và truyền nhận dữ liệu là:
140 1 35 25 . 0 Transmit Sleep Transmit Sleep I I A A 98 1 24 25 . 0 Re Re ceive Sleep ceive Sleep I I A A 60 1 15 25 . 0 Free Sleep Free Sleep I I A A
Như ta đó thực nghiệm ở trờn : Thời gian truyền dữ liệu giữa nỳt cơ sở và nỳt cảm nhận bao gồm 2 phase :
Do vậy tổng thời gian truyền nhận giữa cơ sở và nỳt cảm nhận trong mạng là : Tphase1 + Tphase2 = 137 + 138 = 275 (ms).
Trong khoảng thời gian này nỳt chủ và nỳt tớ cú thời gian làm việc như sau : Phase1 : 137 ms Nỳt cơ sở Truyền 7 byte dẫn đường
Nỳt cơ sở Truyền từng byte và tớnh CRC cho hết 8 byte
Truyền 2 byte CRC
Trang thỏi
nỳt cơ sở Truyền dữ liệu
Truyền dữ liệu Truyền dữ liệu
Trang thỏi Nỳt cảm nhận
Nhận dữ liệu Nhận dữ liệu Nhận dữ liệu
Phase2 : 138 ms
Nhận 7 byte
dẫn đường Nhận 8 byte dữ liệu
Nhận 2 byte CRC và kiểm tra Trang thỏi
Nỳt cơ sở Nhận dữ liệu Nhận dữ liệu Nhận dữ liệu Trạng thỏi
Nỳtcảm nhận Nhận dữ liệu Nhận dữ liệu Nhận dữ liệu
Bảng 3.6 Bảng thống kờ tổng hợp cỏc chế độ hoạt động của nỳt mạng tham gia vào một phiờn gửi dữ liệu từ nỳt cơ sở tới nỳt cảm nhận
Sau khi nỳt cảm nhận nhận yờu cầu từ nỳt cơ sở nú đọc dữ liệu từ bộ ADC và tiến hành truyền dữ liệu về cho nỳt cơ sở. Trỡnh tự truyền về cũng bao gồm 2 phase giống như trờn.
Vậy tổng thời gian mà nỳt cơ sở gửi yờu cầu dữ liệu cho đến khi nhận được kết quả là : (137+138) x 2 = 550ms.
Ta xem xột biểu thức năng lượng của nỳt cảm nhận trong khoảng thời gian 550ms. Nỳt cơ sở trờn thực tế được kết nối với mỏy tớnh.
Dựa vào bảng 3.6 ta thấy : trong khoảng 550ms nhận và trả dữ liệu về trạng thỏi của nỳt cảm nhận như sau : 137 ms truyền dữ liệu, 313 ms nhận dữ liệu. Do vậy :
ceive Transmit
Total A A
A Re
ATotal = 3,3v [137.35 + 313.24]
Nếu trong khoảng thời gian trờn nỳt cảm nhận mà ngủ thỡ năng lượng tiờu thụ của nỳt mạng là:
A = Angu = 3.3v.550.0.25
Nếu trong khoảng thời gian trờn modun RF bị tắt, tức là nỳt cảm nhận khụng truyền khụng nhận thỡ năng lượng tiờu thụ của nỳt mạng là:
A = AFree = 3.3v.14.550
Angu /ATotal = 1/90 AFree /ATotal = 0.62
Nhận xột :
Trong cựng một khoảng thời gian thỡ năng lượng ngủ tiờu thụ so với năng lượng làm việc của mạng rất nhỏ (cỡ 1% năng lượng làm việc). Do vậy trờn thực tế nếu ta lập lịch cho mạng làm việc T thời gian làm việc và 100T là ngủ tức là tỉ lệ thời gian mạng làm việc và lỳc mạng ngủ là 1/100 thỡ tuổi thọ năng lượng mạng tăng gần 100 lần. Tuỳ theo từng yờu cầu cảm nhận thực tế mà ta lập lịch cho chu kỳ thức và ngủ khỏc nhau.
Nếu ta lập lịch tập trung cho mạng N nỳt, nỳt cơ sở sẽ tiến hành hỏi vũng cỏc nỳt N nỳt cảm nhận. Ta thiết lập như sau :
Lập lịch tập trung cỏc nỳt mạng sẽ cũng ngủ cựng thức.
Sau khi một nỳt thực hiện yờu cầu truyền dữ liệu xong, thỡ modun RF (modun cảm nhận súng) sẽ tắt trong khoảng thời gian nỳt cơ sở hỏi vũng N-1 nỳt cũn lại.
Do vậy, giả sử sau khi nỳt cơ sở hỏi vũng tất cả cỏc nỳt cảm nhận thành một chu kỳ làm việc của mạng lỳc đú :
Nỳt cảm nhận Wi sẽ tiờu thụ năng lượng của mạng N nỳt như sau :
Trong khoảng thời gian nỳt cảm nhận Wi thực hiện truyền dữ liệu về nỳt cơ sở thỡ sẽ tiờu thụ một năng lượng là : ATotal.
Trong khoảng thời gian nỳt cơ sở truyền dữ liệu với N-1 nỳt cũn lại nỳt Wi sẽ tiờu thụ năng lượng là (N-1)AFree. Khi đú năng lượng mà nỳt Wi tiờu thụ là:
Total Total ceive Transmit Totale N A A N A N A A _ ( Re )( 1)AFree 0.62( 1) 0.62 0.38. 0.62 Total Free Total A A Do A N
Do vậy : khi mạng cú N nỳt cỏc nỳt cảm nhận sẽ tiờu thu năng lượng một chu kỳ làm việc là (0.62N + 0.38) lần.
Qua cụng thức trờn ta thấy nếu N càng lớn (tức là quy mụ mạng của ta càng lớn
thỡ sẽ càng tiờu tốn nhiều năng lượng trong một chu kỳ làm việc của nỳt cảm nhận càng lớn), do vậy thời gian sống đối với cỏc mạng quy mụ lớn sẽ ngắn lại giảm 0.62N lần. Đõy cũng là nhược điểm của phương phỏp lập lịch tập trung trong mạng cảm nhận khụng dõy.
Ta cú đồ thị tương quan giữa thời gian sống của nỳt mạng và số nỳt trong mạng như sau :
Hỡnh 3.19 Đồ thị tuổi thọ nỳt mạng tỉ lệ nghịch với số nỳt trong mạng theo hàm theo hàm 38 . 0 62 . 0 1 N T
Biểu đồ trờn đưa ra khi ta lập lịch cho cỏc nỳt mạng cảm nhận cựng ngủ cựng thức với nỳt cơ sở (nỳt Master). Giả sử nỳt mạng ta cú N nỳt, theo nguyờn tắc hỏi vũng, khi nỳt cơ sở làm việc với nỳt thứ nhất trong thời gian t đầu tiờn, thỡ (N-1)t thời gian cũn lại nỳt cở sở làm việc với N-1 nỳt cũn lại , như vậy nỳt mạng đầu tiờn làm làm việc được t thời gian, sẽ ở chế độ khụng truyền khụng nhận (N-1)t thời gian. Do đú lập lịch trờn của ta chưa tiết kiệm tối đa được năng lượng. Để khắc phục đăc điểm trờn tỏc giả đưa ra ý tưởng lập lịch cải tiến theo sơ đồ dưới đõy :
Thời gian sống (t)
Số nỳt mạng (N)
Hỡnh 3.20 Sơ đồ lập lịch cải tiến
Trong sơ đồ hoạt động này khỏc sơ đồ trước ở chỗ, mỗi nỳt cảm nhận (nỳt slave) chỉ hoạt động trong phiờn làm việc của nú, cũn tất cả cỏc nỳt cảm nhận khỏc ngủ. Tại chu kỳ hoạt động đầu tiờn của mỗi nỳt cảm nhận :
Ta xõy dựng trong mạng một thủ tục điểm danh: nỳt Master sẽ hỏi từng nỳt Slave một, với cỏc địa chỉ từ 0 đến 100 chẳng hạn, nếu con Slave nào cú mặt nú sẽ trả lời, và được Master ghi nhận.
Sau khi điểm danh hết, Master sẽ hỏi nỳt Slave cú địa chỉ bộ nhất, nỳt đú trả lời xong và ngủ luụn với thời gian t_sleep. Rồi Master lại hỏi luụn nỳt Slave tiếp theo, sau khi trả lời nú ngủ luụn với t_sleep....cứ tiếp tục cho đến hết cỏc Slave mà Master ghi nhận được.
Sau khi hỏi hết cỏc Slave, Master sẽ ngủ một thời gian là (t_sleep - N*t_active) với N là số Slave mà Master ghi nhận được.
Khi Master thức cũng chớnh là lỳc nỳt Slave đầu tiờn thức... và tiếp tục một chu kỳ làm việc mới.
Mỗi khi thờm, bớt Slave hoặc hoạt động bị lỗi, vớ dụ như khi Master hỏi 1 Slave mà khụng thấy Slave đú trả lời thỡ ta sẽ cho Master điểm danh lại (tự động hoặc bấm 1 nỳt nào đú trờn mạch Master).
Nếu muốn Master tự động nhận diện nỳt mới thỡ ta sẽ cho Master thức trước nỳt Slave đầu tiờn một khoảng thời gian (chắc chắn lỳc đú chỉ cú Master và cỏc nỳt Slave mới đang thức). Trong khoảng thời gian đú Master sẽ ghi nhận được Slave mới và sắp xếp khe thời gian cho nú hoạt động.
Do thời gian thực hiện luận văn hạn chế, tỏc giả chỉ đưa ý tưởng cải tiến phương phỏp lập lịch tập trung, khụng đủ thời gian nghiờn cứu thực hiện. Trong tương lai, tỏc giả sẽ nghiờn cứu và hoàn thiện.
KẾT LUẬN
Khi nghiờn cứu mạng cảm nhận khụng dõy và thủ tục thõm nhập mụi trường, một trong những đặc điểm quan trọng và then chốt đú là thời gian sống của cỏc nỳt cảm biến hay chớnh là sự giới hạn về năng lượng của chỳng. Cỏc nỳt cảm biến này yờu cầu tiờu thụ cụng suất thấp. Cỏc nỳt cảm biến hoạt động cú giới hạn và khú cú thể thay thế được nguồn cung cấp. Do đú, trong khi mạng truyền thụng tập trung vào đạt được cỏc dịch vụ chất lượng cao, thỡ cỏc giao thức mạng cảm biến phải tập trung đầu tiờn vào tiết kiệm năng lượng.
Bản luận văn cũng đó giới thiệu về cỏc phương phỏp thõm nhập mụi trường trong mạng cảm nhận. Sau đú tỏc giả đó đi sõu nghiờn cứu phương phỏp thõm nhập mụi trường bằng phương phỏp lập lịch tập trung một trong những phương phỏp tiết kiệm được năng lượng cho nỳt mạng, dễ triển khai trờn thực tế.
Phần thực nghiệm đó tiến hành xõy dựng phần mềm nhỳng cho cỏc nỳt mạng đo và tớnh toỏn năng lượng tiờu thụ của nỳt mạng thời điểm mạng làm việc và ngủ, đú đưa ra một số kết luận sau :
Cụng suất của nỳt mạng C1010 truyền trong khoảng cỏch D<100m thỡ cỏc nỳt mạng nhận được tớn hiệu.
Thời gian xử lý dữ liệu truyền nhận của nỳt mạng chủ yếu là thời gian xử lý và kiểm tra đa thức CRC.
Năng lượng tiờu thụ của nỳt mạng khi ngủ rất nhỏ (dũng tiờu thụ cỡ 0.25mA nhỏ hơn nhiều so với dũng tiờu thụ khi truyền là 37mA ) nờn trong quỏ trỡnh lập lịch, nếu ta tăng tối đa thời gian ngủ thỡ nỳt mạng sẽ tiết kiệm được năng lượng.
Khi mạng tăng về quy mụ, số nỳt mạng N lớn thỡ tuổi năng lượng sống của nỳt mạng sẽ giảm theo hàm 38 . 0 62 . 0 1 N T
Đưa ra được ý tưởng hoàn thiện phương phỏp thực hiện thuật toỏn lập lịch tập trung trong tương lai.
Từ cỏc kết quả thực nghiệm trờn cho thấy: Việc xõy dựng một WSN bước đầu đó đạt được một số kết quả mang tớnh cơ bản, cho phộp tiếp tục phỏt triển và đi sõu nghiờn cứu theo hướng đó xỏc lập. Việc theo dừi cỏc thụng số mụi trường trở nờn dễ dàng và tiện lợi, người sử dụng chỉ cần ngồi tại một chỗ cũng cú thể giỏm sỏt cỏc thụng số đú nhằm phục vụ cỏc cụng việc của mỡnh như: dự bỏo thời tiết, phũng chống chỏy rừng, cỏc ứng dụng trong nụng nghiệp… Cỏc thử nghiệm dựng module CC1010 cho thấy rằng việc dựng vi điều khiển CC1010 cho WSN là hoàn toàn khả thi.
TÀI LIỆU THAM KHẢO
Tài liệu Tiếng Việt
[1] Nguyễn Thế Sơn, “Thiết kế chế tạo, vận hành và đo thử nghiệm mạng cảm nhận khụng dõy (wireless sensor network) trờn cơ sở sử dụng chip vi điều khiển cú mật độ tớch hợp cao làm nỳt mạng và xõy dựng phần mềm nhỳng nạp trong cỏc vi điều khiển này”
[2] Đỗ Thị Tuyết, “nghiờn cứu và mụ phỏng giao thức định tuyến Pagasis trong mạng
cảm biến”
[3]Vương Đạo Vy, Mạng truyền dữ liệu, Nhà xuất bản đại học quốc gia Hà Nội
[4] Vương Đạo Vy, Nguyễn Thế Sơn, Phựng Cụng Phi Khanh, Hũa Quang Dự, “Xõy dựng hệ tự động đo khớ ỏp sử dụng cảm biến ỏp suất MEMS và cỏc thớ nghiệm kiểm tra”, túm tắt cỏc bỏo cỏo Hội thảo Quốc gia lần thứ VIII, Hải Phũng 25-27/08/2005,
Một số vấn đề chọn lọc của cụng nghệ thụng tin và truyền thụng, Chủ đề Mó nguồn mở, tr. 79, Hải phũng 08/2005
[5] Vương Đạo Vy, Nguyễn Thế Sơn, “Hệ tự động đo thụng số mụi trường theo thời
gian thực, truyền dữ liệu khụng dõy liờn tục, dài ngày cú kớch thước nhỏ, giỏ thành thấp, tiờu thụ năng lượng ớt”, túm tắt cỏc bỏo cỏo Hội nghị Vật lý toàn quốc lần thứ