1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu và viết phần mềm nhúng cho nút mạng không dây dạng ad hoc

22 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 890,67 KB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHỊNG ISO9001:2000 ĐỒ ÁN TỐT NGHIỆP Ngành Cơng nghệ Thơng tin Tìm hiểu viết phần mềm nhúng cho nút mạng không dây dạng Ad-hoc (Chủ đề: Tiết kiệm lƣợng) Giáo viên hướng dẫn: PGS.TS.Vương Đạo Vy Sinh viên thực hiện: Đàm Thu Phương Mã số sinh viên: 10413 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com NỘI DUNG CHÍNH I TỔNG QUAN VỀ MẠNG CẢM NHẬN KHÔNG DÂY SỬ DỤNG CC1010 II VẤN ĐỀ TIẾT KIỆM TIÊU THỤ NĂNG LƢỢNG III PHẦN MỀM NHÚNG IV MỘT SỐ THỬ NGHIỆM VÀ ĐÁNH GIÁ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com I TỔNG QUAN VỀ MẠNG CẢM NHẬN KHÔNG DÂY SỬ DỤNG CC1010 Mạng cảm nhận không dây (Wireless Sensor Networks–WSN) cấu thành từ nút mạng cảm nhận khơng dây có khả thực chức mạng chức cảm nhận Các nút mạng phân bố tay ngẫu nhiên phân bố ngẫu nhiên tạo cấu trúc chọn đường đặc biệt – Ad-hoc Khoảng cách nút ngắn(100m) nên triển khai mạng rộng cần nhiều nút trung gian Các tiêu cho hệ thống WSN như: thời gian sống, độ bao phủ, khả tự cấu hình, thời gian đáp ứng, bảo mật, tốc độ lấy mẫu hiệu quả,… Trong WSN, nút mạng lại có yêu cầu để đảm bảo hoạt động truyền nhận khơng dây như: lượng, tính mềm dẻo, sức mạnh, bảo mật, truyền thơng, tính tốn, đồng thời gian, kích thước chi phí,… Đề tài lựa chọn vi điều khiển CC1010 để xây dựng nút mạng CC1010 có nhiều đặc điểm đáp ứng tiêu yêu cầu đưa cho WSN LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com II VẤN ĐỀ TIẾT KIỆM TIÊU THỤ NĂNG LƢỢNG Một số yếu tố ảnh hưởng tới tiêu thụ lượng như: Kiến trúc giao thức mạng, Giao thức chọn đường, Hoạt động truyền nhận không dây,… Kiến trúc giao thức mạng Lớp ứng dụng Phần quản lý nhiệm vụ Lớp truyền tải Phần quản lý di chuyển Lớp mạng Phần quản lý lượng Lớp liên kết số liệu Lớp vật lý Hình 2.1: Kiến trúc giao thức WSN Các phần quản lý kiến trúc giao thức có tác dụng quản lý lượng nút mạng, từ trì hoạt động tồn mạng thời gian dài LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com II VẤN ĐỀ TIẾT KIỆM TIÊU THỤ NĂNG LƢỢNG Giao thức chọn đường Nói chung, giao thức chọn đường chia làm loại dựa vào cấu trúc mạng: ngang hàng, phân cấp dựa vào vị trí Một số giao thức chọn đường phát huy hiệu tiết kiệm tiêu thụ lượng đáng quan tâm giao thức chọn đường LEACH - Low Energy Adaptive Clustering Hierarchy – phân cấp nhóm thích ứng cơng suất thấp, giao thức cho phép tiết kiệm lượng mạng WSN Giao thức thích hợp với yêu cầu giám sát liên tục mạng cảm biến Với ứng dụng mà người sử dụng không cần tất số liệu việc truyền số liệu theo chu kỳ khơng cần thiết làm tiêu tốn lượng vơ ích Giao thức LEACH cần tiếp tục cải tiến để khắc phục hạn chế LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com II VẤN ĐỀ TIẾT KIỆM TIÊU THỤ NĂNG LƢỢNG Hoạt động truyền nhận không dây 3.1 Tần số làm việc CC1010 CC1010 với máy tạo dao động tinh thể, máy tạo dao động tần số cao sử dụng tinh thể với tần số từ 3MHz đến 24MHz máy tạo dao động tần số thấp thiết kế để sử dụng đồng hồ tinh thể 32KHz CC1010 chuyển đổi chế độ đồng hồ nguồn cách ghi vào bit CMOS ghi X32CON - - - - - X32_BYPASS X32_PD CMODE Khi chạy dao động thấp gọi tới mode 1, chạy tốc độ dao động cao gọi tới mode Khi reset, CC1010 mặc định chạy dao động tần số cao Việc chuyển chế độ làm việc theo tần số đặc điểm quan trọng CC1010 giúp cho việc tiết kiệm lượng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com II VẤN ĐỀ TIẾT KIỆM TIÊU THỤ NĂNG LƢỢNG Hình 2.2: Mối quan hệ tuyến tính dịng tiêu thụ tần số Vì vậy, cần có chuyển đổi tần số làm việc linh hoạt để tránh lãng phí lượng, kéo dài thời gian sống nút mạng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com II VẤN ĐỀ TIẾT KIỆM TIÊU THỤ NĂNG LƢỢNG 3.2 Chế độ làm việc CC1010 *Chế độ tích cực (Active Mode) *Chế độ nghỉ (Idle Mode) *Chế độ tắt nguồn (Power – Down Mode ) Đánh thức nút mạng từ chế độ nghỉ: - Thức dậy nhờ việc nhấn nút bấm, tức phải tạo mạch ngồi, mơ tả hình vẽ sau: Hình 2.3 : Sử dụng nút bấm để đánh thức nút mạng - Thức dậy theo khoảng thời gian: Sử dụng đồng hồ thời gian thựcRTC CC1010 RTC đánh thức CC1010 từ chế độ nghỉ khoảng thời gian từ đến 127 giây Máy tạo dao động 32kHz phải hoạt VAN CHAT download độngLUAN để RTC thực hiệnLUONG chức : add luanvanchat@agmail.com II VẤN ĐỀ TIẾT KIỆM TIÊU THỤ NĂNG LƢỢNG 3.3 Thiết lập chế độ làm việc chƣơng trình Thiết lập chế độ làm việc dựa vào việc lựa chọn tần số làm việc giá trị lập trình cho ghi điều khiển lượng – PCON (Power Control Rigister) Các bit ghi PCON biểu diễn sau: SMOD0 - - - GF1 GF0 STOP IDLE Hãng Chipcon đưa số giá trị lập trình với ghi PCON thư viện Hal.h như: PCON = 0x01; // Giá trị bit _ bit IDLE tức chuyển đổi chế độ nghỉ PCON = 0x02; // Giá trị bit 1_ bit STOP tức chuyển đổi chế độ ngắt điện LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com * Việc thiết lập chế độ làm việc thực sau: - Nút mạng chế độ tích cực: SelectClockMode(0) XOSC_ENABLE(TRUE); // Làm việc tần số cao XOSC MAIN_CLOCK_SET_SOURCE(CLOCK_XOSC);// Thiết lập tần số làm việc tần số cao xung clock X32_ENABLE(FALSE); // Nút mạng không làm việc tần số 32kHz PCON = PCON & 0xfe;// Giá trị PCON.IDLE=0 - Nút mạng chế độ nghỉ: SelectClockMode(1) X32_INPUT_SOURCE(X32_USING_CRYSTAL); X32_ENABLE(TRUE); // Đưa tần số làm việc thấp -32kH halWait(250, CC1010EB_CLKFREQ); halWait(250, CC1010EB_CLKFREQ); //Chờ để tần số ổn định MAIN_CLOCK_SET_SOURCE(CLOCK_X32);// Thiết lập tần số làm việc mức thấp đồng hồ tinh thể 32kHz XOSC_ENABLE(FALSE); // Không làm việc tần số cao PCON = PCON | 0x01; // Giá trị PCON.IDLE=1 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com III PHẦN MỀM NHÚNG Phần mềm nhúng viết cho CC1010 viết ngôn ngữ C, sử dụng thư viện cho CC1010 hãng Chipcon cung cấp chương trình biên dịch Keil uVision 2.0 Mơ hình phần mềm nhúng viết cho CC1010 sau: Chương trình ứng dụng Thư viện tiện ích Chipcon (Chipcon utility library-CUL) Thư viện C chuẩn 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) Hình 3.1: Mơ hình phần mềm nhúng cho CC1010 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com III PHẦN MỀM NHÚNG Thuật tốn chương trình mơ tả sau: Khởi tạo tham số: - Khởi tạo ADC, RF - Về chế độ nghỉ F Đến thời điểm phát số liệu? T - Wake up C1010 - Thu thập số liệu (cảm nhận) - Phát số liệu cho nút gốc - Trở chế độ nghỉ Hình 3.2: Thuật toán làm việc nút mạng cảm nhận 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Thực thuật toán - Khởi tạo ADC: halConfigADC(ADC_MODE_SINGLE | ADC_REFERENCE_INTERNAL_1_25, CC1010EB_CLKFREQ, 0); - Khởi tạo RF: halRFCalib(&RF_SETTINGS, &RF_CALDATA); // Chuẩn hoá RF - Cấu hình RTC để đánh thức nút mạng từ chế độ nghỉ: halConfigRealTimeClock(15); // sau 15s, nút mạng thức dậy, giá trị thay đổi tuỳ theo ứng dụng thực tế RTC_RUN(TRUE); // Cho phép RTC làm việc để đếm thời gian - SelectClockMode(0) // Nút mạng chế độ tích cực GetParameters(); // Gọi tới hàm thu nhận số liệu cảm biến nhận từ môi trường halRFSetRxTxOff(RF_TX, &RF_SETTINGS,&RF_CALDATA); //Bật TX, RF_SETTINGS hỗ trợ thiết lập thông số truyền 13 nhận không dây, RF_CALDATA thể kết trả lời LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Thực thuật toán (tiếp) halRFSendPacket(PREAMBLE_BYTE_COUNT, txDataBuffer, TBC_DATA_LEN); // Truyền cho nút gốc, liệu lấy từ txDataBuffer – lưu liệu cảm nhận chuyển đổi qua ADC halRFSetRxTxOff(RF_OFF,&RF_SETTINGS,&RF_CALDATA);//Tắt TX tbcWait1sec(); // gọi hàm đợi bSample = 0; SelectClockMode(1); // Nút mạng trở chế độ nghỉ - Khi nút mạng chuyển sang chế độ nghỉ, chương trình thực ngắt RTC để đếm thời gian nút mạng nghỉ Sau 15s, chương trình tự động xố cờ ngắt RTC để chuyển sang chế độ tích cực: bSample = 1; INT_SETFLAG(INUM_RTC, INT_CLR); // Xoá cờ ngắt RTC 14 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com IV MỘT SỐ THỬ NGHIỆM VÀ ĐÁNH GIÁ Bƣớc 1: Nối mạch với PC Chương trình nhúng nạp cho nút mạng thơng qua mạch Bƣớc 2: Gắn nút mạng vào mạch nối với PC Nút mạng Hình 4.1: Gắn nút mạng vào mạch nối với hệ thống PC 15 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bƣớc 3: Dùng trình biên dịch Keil uVision 2.0 để dịch chương trình thử nghiệm PC 16 Hình 4.2: Dịch chương trình nhúng Keil uVision 2.0 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bƣớc 4: Bật nguồn pin mạch vừa gắn nút mạng, mở chương trình Chipcon CC1010 Flash Programmer để nạp tệp hex vừa dịch bước cho nút mạng 17 Hình 4.3: Nạp chương trình nhúng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bƣớc 5: Tháo nút mạng khỏi mạch, gắn với nguồn pin 3.5V tiến hành đo dịng tiêu thụ ampe kế Xem hình 4.4 4.5 để biết kết đo Hình 4.4: Đo dòng điện nút mạng tiêu thụ chế độ nghỉ a Khi nút mạng truyền b Khi nút mạng cảm nhận 18 HìnhCHAT 4.5: ĐoLUONG dịng điện nút mạng: tiêu chế độ tích cực LUAN VAN download addthụ luanvanchat@agmail.com Bảng cho kết đo với chương trình có tiết kiệm lượng nhờ chuyển đổi chế độ làm việc, tần số RF 433MHz, kết thu là: Dòng điện tiêu thụ (mA) Lần đo Chế độ nghỉ Cảm nhận Truyền 0.2 23.6 17.9 0.2 23.6 17.8 0.1 21 18 0.2 23.5 17.8 0.1 22.8 19 Trung bình 0.16 ± 0.048 22.9± 0.8 18.1± 0.36 Từ bảng kết ta thấy, chương trình thực tiết kiệm lượng rõ ràng Dòng tiêu thụ chế độ nghỉ khoảng 1% dòng tiêu thụ chế độ tích cực Căn vào nhu cầu thực tế sử dụng ta can thiệp vào thời gian nút mạng nghỉ để tiết kiệm lượngLUAN nhất.VAN CHAT LUONG download : add luanvanchat@agmail.com19 Với chương trình nhúng tiết kiệm tiêu thụ lượng nút mạng thay đổi chế độ liên tục khó theo dõi kết đo Để thấy rõ hiệu tiết kiệm lượng, ta bỏ hàm chuyển đổi chế độ làm việc: void SelectClockMode(char iMode) chức truyền liệu nút gốc, kết đo nút mạng cảm nhận là: Dòng điện tiêu thụ (mA) Tần số RF Lần 433MHz 21.2 21 21.1 21.2 21 21.1±0.1 915MHz 23.1 23 23.3 23.1 23 23.1±0.1 Lần Lần Lần Lần Trung bình Bảng 2: Kết thử nghiệm khơng có tiết kiệm lượng 20 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com KẾT LUẬN Việc phân phối hợp lý chế độ tích cực nghỉ cho nút mạng làm tăng tuổi thọ pin tức tăng tuổi thọ nút mạng Điều thực phần mềm thơng qua lệnh chương trình mà luận văn Nếu nút mạng tiết kiệm lượng toàn mạng WSN tiết kiệm lượng nghĩa nâng cao thời gian sống cho WSN Đồng thời, lượng nút mạng trì lâu làm cho việc chọn đường nhanh chóng, dẽ dàng hơn, tăng tốc độ mạng Những nghiên cứu chung kết thử nghiệm đạt khẳng định khả tiết kiệm lượng nhờ hoạt động truyền nhận không dây mà quan trọng tần số làm việc chuyển đổi chế độ làm việc nút mạng Trong phạm vi lớn ta áp dụng để tiết kiệm lượng cho hệ thống WSN Hướng đề tài thực tiến hành thử nghiệm tiết kiệm tiêu thụ lượng cho hệ thống mạng Mục tiêu đạt giúp WSN có khả triển khai rộng rãi với ứng dụng 21 thiết LUAN thực VAN CHAT LUONG download : add luanvanchat@agmail.com EM XIN CHÂN THÀNH CẢM ƠN! 22 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... QUAN VỀ MẠNG CẢM NHẬN KHÔNG DÂY SỬ DỤNG CC1010 Mạng cảm nhận không dây (Wireless Sensor Networks–WSN) cấu thành từ nút mạng cảm nhận khơng dây có khả thực chức mạng chức cảm nhận Các nút mạng phân... XOSC_ENABLE(FALSE); // Không làm việc tần số cao PCON = PCON | 0x01; // Giá trị PCON.IDLE=1 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com III PHẦN MỀM NHÚNG Phần mềm nhúng viết cho CC1010 viết ngôn... download : add luanvanchat@agmail.com IV MỘT SỐ THỬ NGHIỆM VÀ ĐÁNH GIÁ Bƣớc 1: Nối mạch với PC Chương trình nhúng nạp cho nút mạng thông qua mạch Bƣớc 2: Gắn nút mạng vào mạch nối với PC Nút mạng

Ngày đăng: 01/11/2022, 20:11

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w