Có nhiều phƣơng pháp tiết kiệm năng lƣợng cho nút mạng CC1010 đã đƣợc đƣa ra, trong đó chủ yếu là các giải pháp thay đổi tần số và chế độ làm việc của vi điều khiển.
Tần số làm việc là một tham số quan trọng vì năng lƣợng tiêu thụ tăng tuyến tính với tần số làm việc trong hoạt động của mạch CMOS. Vì vậy, vấn
đề quan trọng là không sử dụng tần số làm việc cao hơn mức cần thiết cho các ứng dụng. Các vi mạch thực thi các chế độ tiết kiệm năng lƣợng phải có khả năng chuyển đổi giữa chế độ tích cực và chế độ tiết kiệm năng lƣợng. Năng lƣợng tiết kiệm đƣợc phụ thuộc vào tỷ lệ thời gian vi điều khiển ở chế độ hoạt động và thời gian ở chế độ tiết kiệm.
Nhìn trên bảng 2.5 ta thấy, CC1010 tiêu thụ năng lƣợng thấp trong các trƣờng hợp:
- (i) Khi hoạt động ở chế độ nghỉ và sử dụng đồng hồ RTC 32KHz, năng lƣợng tiêu thụ khi này là 26 μA. Để tự thoát khỏi chế độ nghỉ chỉ cần dùng ngắt, bằng cách cho đồng hồ RTC đếm khoảng thời gian nghỉ đã định trƣớc. Trƣờng hợp này thích hợp cho ứng dụng đo các thông số sau mỗi khoảng thời gian xác định.
- (ii) Khi hoạt động ở chế độ tắt nguồn và bộ biến đổi ADC vẫn bật, sử dụng đồng hồ 32 KHz, năng lƣợng khi này là 200 μA. Để tự động thoát khỏi chế độ này, điện áp của ADC cần vƣợt một ngƣỡng nào đó. Tuy năng lƣợng tiêu thụ trong trƣờng này lớn hơn trong trƣờng hợp (i) nhƣng với các ứng dụng cảnh báo khi điều kiện môi trƣờng vƣợt quá mức cho phép nào đó thì nó lại có ý nghĩa rất lớn vì không thƣờng xuyên phải chuyển sang chế độ tích cực.
- (iii) Khi hoạt động ở chế độ tắt nguồn và các đồng hồ, ngoại vi đều dừng, lúc này năng lƣợng đƣợc giảm đến mức tối đa với mức 0,2 μA. Tuy vậy để tự động thoát khỏi chế độ tắt nguồn trong trƣờng hợp này rất khó, phải sử dụng tín hiệu reset hoặc ấn nút nguồn bằng tay và việc lập trình đánh thức từ chế độ này cũng sẽ khó thực hiện.
Qua phân tích ở trên ta thấy có thể chọn lập trình cho các trƣờng hợp (i) và (ii). Trƣờng hợp (i) đƣợc sử dụng trong ứng dụng giám sát cần gửi thông tin định kỳ còn trƣờng hợp (ii) sử dụng cho các ứng dụng cảnh báo, chỉ gửi thông tin khi điều kiện môi trƣờng vƣợt quá ngƣỡng (nhƣ nhiệt độ vƣợt quá mức). Dƣới đây ta sẽ xét cụ thể hơn về các giải pháp này.
Giải pháp 1: Chuyển vi điều khiển hoạt động chế độ nghỉ, lập trình đánh thức từ chế độ nghỉ
- Chuyển về chế độ nghỉ bằng cách thay đổi giá trị trong thanh ghi PCON.
PCON|=0x01; //Giá trị bit 0 _ bit IDLE là 1 tức có thể chuyển đổi về chế độ nghỉ.
- Thức dậy theo khoảng thời gian:
Sử dụng đồng hồ thời gian thực (RTC) của CC1010. RTC có thể đánh thức CC1010 từ chế độ nghỉ trong sau thời gian từ 1 đến 127 giây. Máy tạo dao động 32 KHz phải hoạt động để RTC thực hiện chức năng này. Với các ứng dụng yêu cầu thời gian nghỉ lớn hơn 127 giây, ta sử dụng một RTC bên ngoài, lập trình để đánh thức trong khoảng thời gian có thể lên đến hàng tháng.
Giải pháp 2: Chuyển vi điều khiển hoạt động chế độ tắt nguồn, lập trình đánh thức từ chế độ tắt nguồn
- Chuyển về chế độ tắt nguồn bằng cách thay đổi giá trị trong thanh ghi PCON.
PCON|=0x02; //Giá trị bit 1_ bit STOP là 1 tức có thể chuyển đổi về chế độ tắt nguồn.
- Đánh thức nhờ tín hiệu ADC
Theo nguyên lý hoạt động của CC1010 ta có thể đánh thức nó bằng ADC khi giá trị ở đầu ra ADC vƣợt quá một ngƣỡng nào đó mà ta đã định trƣớc. Khi bộ cảm biến phát hiện sự kiện nhƣ nhiệt độ tăng quá giá trị bình thƣờng, nó sẽ sinh ra điện áp ở lối vào bộ ADC, điện áp ADC tăng quá ngƣỡng sẽ sinh tín hiệu reset vi điều khiển CC1010 để kích hoạt chế độ tích cực cho nó.
2.4. Kết luận
Nhƣ vậy, trong chƣơng hai, ta đã nghiên cứu về các giải pháp tiết kiệm năng lƣợng cho nút mạng cảm nhận không dây. Các giải pháp bao gồm: sử dụng các giao thức MAC có khả năng tiết kiệm năng lƣợng và dùng phƣơng pháp lập trình để tiết kiệm năng lƣợng trên từng nút mạng. Giải pháp lập trình cho nút mạng đƣợc lựa chọn do có nhiều thuận lợi hơn cho việc thử nghiệm, nhƣ thiết bị có sẵn, không tốn kém, dễ đo đạc kiểm nghiệm.
Vi điều khiển CC1010 với những tính năng tiết kiệm năng lƣợng đã đƣợc lựa chọn để nghiên cứu áp dụng. CC1010 hỗ trợ các chế độ đồng hồ khác nhau, khi hoạt động với tần số thấp thì dòng điện tiêu thụ ít và ngƣợc lại. Ngoài ra CC1010 còn có các chế độ tiêu thụ năng lƣợng thấp là chế độ nghỉ và chế độ tắt nguồn. Phần cuối của chƣơng đã nghiên cứu kỹ về hai đặc tính quan trọng này để làm cơ sở cho việc lập thuật toán và viết chƣơng trình ở chƣơng sau.
CHƢƠNG 3. NGHIÊN CỨU, THỬ NGHIỆM CHƢƠNG TRÌNH TIẾT KIỆM NĂNG LƢỢNG TRÊN VI ĐIỀU KHIỂN CC1010
Nhƣ vậy trong chƣơng hai, ta đã chọn đƣợc giải pháp tiết kiệm năng lƣợng cho WSN là chuyển đổi chế độ làm việc cho nút mạng. Cụ thể đã lựa chọn và phân tích các đặc điểm vi điều khiển CC1010 dùng làm nút mạng WSN đo nhiệt độ. Chƣơng ba sẽ hiện thực hoá giải pháp đã nêu bằng chƣơng trình cụ thể với các kết quả đo thực tế cùng những nhận xét đánh giá.