QUAN VỀ MẠNG CẢM NHẬN KHÔNG DÂY WSN-WIRELESS SENSOR NETWORK
Định nghĩa
Ngày nay, vi điều khiển đã phát triển mạnh mẽ với mật độ tích hợp cao, khả năng xử lý mạnh, tiêu thụ năng lượng thấp và giá thành hợp lý Khi được nạp phần mềm nhúng, chúng có thể hoạt động độc lập trong nhiều môi trường và vị trí địa lý khác nhau Mỗi vi điều khiển tích hợp với bộ thu phát sóng vô tuyến và cảm biến sẽ hình thành một nút mạng, và khi tập hợp lại, các nút này tạo thành 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 hệ thống mạng không dây, trong đó các nút mạng được cấu thành từ vi điều khiển đã được cài đặt phần mềm nhúng, kết hợp với bộ phát sóng vô tuyến và cảm biến Hệ thống này có khả năng thu thập và xử lý dữ liệu từ các nút mạng cũng như từ môi trường xung quanh, tạo ra một mạng lưới thông minh và hiệu quả.
Trong hệ thống mạng cảm biến không dây (WSN), trạm gốc đóng vai trò quan trọng như cổng kết nối giữa các nút mạng và trung tâm điều khiển Nó tiếp nhận thông tin từ các nút mạng và chuyển tiếp đến trung tâm điều khiển qua nhiều phương thức khác nhau Các nút mạng truyền thông tin theo kiểu đa chặng, từ nút này sang nút khác và cuối cùng về trạm gốc Từ trạm gốc, thông tin có thể được gửi đến người dùng thông qua nhiều kênh như hệ thống máy tính, Internet hoặc vệ tinh, giúp người giám sát nhận được thông tin ở bất kỳ đâu.
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
*Bộ xử lý nhúng năng lƣợng thấp
Các nhiệm vụ tính toán trên thiết bị WSN bao gồm xử lý thông tin từ cảm biến cục bộ và thông tin được truyền từ các cảm biến khác.
Hiện nay, do áp lực kinh tế, các bộ xử lý nhúng thường bị giới hạn về năng lượng, với nhiều thiết bị chỉ sử dụng bộ xử lý 16MHz, 8 bit Sự hạn chế này dẫn đến việc nhiều thiết bị phải chạy trên các hệ điều hành đặc biệt như TinyOS Tuy nhiên, mạng cảm biến không dây có thể không đồng bộ và bao gồm nhiều nút hoạt động với năng lượng tính toán lớn hơn Theo định luật Moore, các thiết bị WSN trong tương lai sẽ được trang bị bộ xử lý mạnh mẽ hơn, kết hợp với các kỹ thuật thiết kế năng lượng thấp như chế độ ngủ hiệu quả và chia tỉ lệ vôn kế động, giúp tiết kiệm năng lượng đáng kể.
Bộ nhớ RAM (Random Access Memory) và ROM (Read-only memory) lưu trữ cả chương trình (các lệnh thực hiện bởi bộ xử lý) và dữ liệu (kết quả đo từ sensor, bao gồm thông tin chưa qua xử lý và đã xử lý cũng như 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ị hạn chế do yếu tố kinh tế, nhưng vấn đề này sẽ được cải thiện theo thời gian.
*Bộ thu phát vô tuyến
Các thiết bị mạng cảm biến không dây (WSN) hoạt động với bức xạ không dây tốc độ thấp, thường trong khoảng từ 10 đến 100 kbps và có phạm vi dưới 100m Hiện tại, công nghệ này còn hạn chế về dung lượng, nhưng trong tương lai, sẽ có những cải tiến tinh tế về giá thành, hiệu quả phổ, khả năng triệt tiếng ồn, và giảm thiểu nhiễu.
Trong mạng cảm biến không dây (WSN), việc truyền dữ liệu qua vô tuyến tiêu tốn năng lượng lớn nhất Do đó, cần tối ưu hóa việc sử dụng năng lượng bằng cách kết hợp hiệu quả giữa chế độ ngủ và chế độ hoạt động.
Do hạn chế về băng thông và nguồn năng lượng, các thiết bị mạng cảm biến không dây (WSN) chỉ hỗ trợ bộ cảm biến với tốc độ dữ liệu thấp Mỗi thiết bị thường tích hợp nhiều cảm biến khác nhau, bao gồm cảm biến nhiệt độ, ánh sáng, độ ẩm, áp suất, gia tốc kế, từ kế, âm thanh và hình ảnh với độ phân giải thấp, tùy thuộc vào ứng dụng cụ thể.
*Hệ thống định vị địa lý GPS (Geo Positioning System)
Trong các ứng dụng của mạng cảm biến không dây (WSN), việc xác định vị trí của các cảm biến là rất quan trọng Phương pháp đơn giản nhất là cấu hình trước vị trí cảm biến, nhưng điều này chỉ khả thi trong một số điều kiện nhất định Đặc biệt, trong các hoạt động ngoài trời, thông tin vị trí có thể được thu thập thông qua vệ tinh GPS Tuy nhiên, do hạn chế về môi trường và kinh tế, chỉ một số ít node được trang bị GPS Trong những trường hợp này, các node khác trong cùng khu vực chỉ có thể xác định vị trí của nhau một cách gián tiếp thông qua giao thức định vị mạng.
Để triển khai hoạt động của mạng cảm nhận không dây một cách linh hoạt, nguồn năng lượng chủ yếu được sử dụng là pin, chẳng hạn như pin LiMH AA Một số nút trong mạng có thể kết nối với cùng một nguồn năng lượng liên tục, và năng lượng thu được từ kỹ thuật này có khả năng cung cấp một phần năng lượng tái sinh cho các ứng dụng khác.
Tùy thuộc vào ứng dụng, các thiết bị WSN có thể hoạt động trong cùng một mạng Trong các ứng dụng thu thập dữ liệu cơ bản, một node được gọi là node sink, nhận dữ liệu trực tiếp từ các node sensor Topo mạng đơn giản nhất cho ứng dụng này là topo hình sao đơn hop, nơi tất cả các node gửi dữ liệu trực tiếp đến node sink Đối với các mạng có yêu cầu về năng lượng truyền thấp hoặc triển khai trên diện rộng, cấu trúc hình cây đa hop được sử dụng, trong đó một số node đóng vai trò là node nguồn và thực hiện định tuyến cho các nguồn khác.
Mạng cảm nhận không dây nổi bật với khả năng xử lý mạng thông minh, cho phép các nút trung gian không chỉ chuyển tiếp gói dữ liệu mà còn kiểm tra và xử lý nội dung bên trong Chức năng này thường được sử dụng để nén dữ liệu hoặc xử lý tín hiệu, nhằm nâng cao chất lượng thông tin thu được.
Kiến trúc nút mạng
Bộ vi xử lý yêu cầu phải có giá thành rẻ, dễ dàng tích hợp với các cảm biến và tiêu thụ điện năng thấp Chức năng chính của bộ vi xử lý là thu thập thông tin và xử lý dữ liệu để truyền nhận giữa các nút mạng.
Bo mạch là một bảng vi mạch điện tử quan trọng, bao gồm các thành phần như nguồn nuôi, ăng ten thu phát sóng và các cổng giao tiếp Nó cũng tích hợp nhiều bộ phận khác nhau, bao gồm cảm biến, bộ truyền thông và bộ lưu trữ dữ liệu, giúp đảm bảo hoạt động hiệu quả của thiết bị.
Bộ cảm biến là thiết bị thu thập thông tin dữ liệu, bao gồm nhiều loại như cảm biến quang học, cảm biến nhiệt độ, cảm biến độ ẩm và cảm biến cơ học.
*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
Mô hình truyền thông được đề cập là truyền thông đa bước, nổi bật với ưu điểm tính mềm dẻo và khả năng giảm đáng kể năng lượng tiêu thụ trong mạng cảm nhận không dây.
Đặ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
Mạng cảm biến có giá thành từ 10 - 50 USD và kích thước nhỏ gọn, với diện tích bề mặt chỉ vài đến vài chục cm² Do giới hạn về nguồn năng lượng cung cấp như pin và yêu cầu hoạt động lâu dài, tiêu thụ năng lượng trở thành tiêu chí thiết kế quan trọng nhất.
Lớp vật lý trong hệ thống truyền thông được thiết kế đơn giản và gọn nhẹ, phù hợp với kích thước và khả năng tính toán của node Kỹ thuật điều chế tín hiệu số như O-QPSK và FSK giúp cải thiện hiệu suất bộ khuếch đại công suất Mặc dù các kỹ thuật mã hóa sửa sai phức tạp như Turbo Codes và mã LDPC không được áp dụng, nhưng kỹ thuật trải phổ vẫn được sử dụng để nâng cao tỉ số tín hiệu trên nhiễu (SNR) tại thiết bị thu và giảm thiểu ảnh hưởng của fading trong 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 trong mạng cảm biến không dây (WSN) tập trung vào các giao thức định tuyến như năng lượng “power aware” và định tuyến địa lý (GRT) WSN thường được triển khai trên một phạm vi rộng với nhiều node mạng được phân bố ngẫu nhiên và có khả năng di chuyển, đòi hỏi cấu trúc mạng linh động như ad-hoc, mesh, hoặc star Trong nhiều ứng dụng như giám sát và cảm biến môi trường, địa chỉ ID của các node được xác định dựa trên vị trí địa lý, giúp GRT đơn giản hóa thuật toán tìm đường và giảm kích thước bảng định tuyến tại các node Mặc dù GRT phù hợp với các WSN cố định, nhưng đối với các node di động với ID thay đổi, giao thức định tuyến trở nên phức tạp và không ổn định.
Cấu hình mạng WSN tương tự như WLAN nhưng phức tạp hơn do số lượng node và phạm vi hoạt động lớn Các cấu hình trong mạng WSN cần đáp ứng các hàm kết nối đặc thù để đảm bảo hiệu suất và tính ổn định của mạng.
Do hạn chế về khả năng tính toán của từng node trong mạng, cũng như nhu cầu tiết kiệm năng lượng, mạng cảm biến không dây (WSN) thường áp dụng các phương pháp tính toán và xử lý tín hiệu phi tập trung Điều này giúp giảm tải cho các node gần hết năng lượng, hoặc gửi dữ liệu cần tính toán đến các trạm cơ sở, nơi có khả năng xử lý tín hiệu mạnh mẽ và tiêu thụ năng lượng ít hơn.
Một số chuẩn của mạng cảm nhận không dây
Mạng cảm biến không dây (WSN) có phạm vi ứng dụng rộng lớn, với tính chất và đặc trưng phụ thuộc vào từng ứng dụng cụ thể Do đó, nhiều công ty và phòng thí nghiệm phát triển và triển khai các giao thức riêng như MAC, Routing, và đồng bộ hóa, phù hợp với từng ứng dụng dựa trên các thiết bị phần cứng như chip phát thu.
Several notable Wireless Sensor Network (WSN) standards include the ALOHA system developed by the University of Hawaii, the PRNET system from the U.S Defense, and WINS from the University of California Other significant standards are PicoRadio and Micro AMPS from M.I.T., as well as the Mobile Ad-hoc Network (MANET) Additionally, Zigbee is based on the physical and MAC layers of the WPAN 802.15.4 standard.
Ứng dụng của mạng cảm nhận không dây
WSN, hay Mạng cảm biến không dây, lần đầu tiên được ứng dụng trong lĩnh vực quân sự Với sự phát triển của ngành công nghiệp điều khiển tự động, robotic và thiết bị thông minh, WSN ngày càng trở nên phổ biến trong các lĩnh vực công nghiệp, môi trường và y tế, mở rộng ứng dụng trong cả hoạt động dân dụng.
Một số ứng dụng cơ bản của WSN:
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,…
giám sát lũ lụt, bão, gió, mƣa,…
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 (Mạng cảm biến không dây) tạo ra một môi trường giao tiếp hiệu quả giữa các thiết bị thông minh, kết nối chúng với nhau, với con người và với các hệ thống viễn thông khác như hệ thống thông tin di động và internet.
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 nhiều nút mạng nhỏ được lắp đặt trong môi trường, yêu cầu tiêu thụ ít năng lượng để kéo dài tuổi thọ hoạt động Để cung cấp năng lượng cho các nút mạng này, có thể sử dụng nhiều nguồn khác nhau như pin, năng lượng mặt trời, năng lượng RF từ sóng vô tuyến, và năng lượng từ rung động cơ học.
*Phần mềm tương thích với phần cứng
Việc lựa chọn vi điều khiển phù hợp để xây dựng nút mạng là rất quan trọng, vì nó ảnh hưởng đến sự ổn định và khả năng nâng cấp của hệ thống Trên thị trường hiện có nhiều loại vi điều khiển như CC1010, MSP430, ATMEGA, nhưng vi điều khiển CC1010 đang được ưa chuộng hơn cả nhờ vào những ưu điểm vượt trội của 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à truyền nhận thông tin qua sóng Radio, điều này khiến người quản trị khó có thể can thiệp liên tục vào hoạt động của mạng Do đó, các nút mạng cần có khả năng tự tổ chức, tự duy trì và tự cấu hình để đảm bảo hiệu quả hoạt động.
Mục tiêu của mạng cảm nhận không dây
Mạng cảm nhận không dây (WSN) có ưu điểm nổi bật là dễ dàng triển khai và mở rộng, nhờ vào khả năng tự cấu hình mà người quản trị ít phải can thiệp Người sử dụng cũng không cần hiểu sâu về mạng hay cơ chế truyền thông để làm việc với WSN Với nhiều tiện ích và ứng dụng đa dạng, chi phí đầu tư cho hệ thống WSN không cao so với các mạng truyền thống Tuy nhiên, để mạng WSN hoạt động ổn định, việc bảo trì và kiểm tra hệ thống là rất quan trọng Do các nút mạng thường hoạt động trong môi trường khắc nghiệt, cần thiết phải xây dựng hệ thống mạng có khả năng tự bảo trì và kéo dài thời gian sống cho mỗi nút mạng.
Mạng cảm nhận không dây mang lại nhiều lợi ích như dễ triển khai và mở rộng, nhưng cũng gặp phải thách thức khi các nút mạng thường được đặt ngoài trời, đặc biệt là trong các ứng dụng giám sát môi trường Điều này khiến việc bảo trì trở nên khó khăn, vì mỗi nút mạng cần tự cung cấp năng lượng bền vững trong nhiều năm Thời gian hoạt động lâu dài của mỗi nút mạng là rất quan trọng, vì một nút bị lỗi có thể ảnh hưởng đến toàn bộ hệ thống Do đó, mỗi nút mạng cần có nguồn năng lượng ổn định và cơ chế tiết kiệm năng lượng hiệu quả để đảm bảo hoạt động liên tục.
Mạng cảm nhận không dây có ứng dụng rộng rãi trong đời sống, từ việc thu thập nhiệt độ và độ ẩm môi trường đến việc đảm bảo an ninh quốc gia Do đó, 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óa dữ liệu là một biện pháp an toàn hiệu quả để bảo mật thông tin, đồng thời yêu cầu việc giải mã thông tin phải chính xác và xác thực.
Khả năng thu thập dữ liệu trong mạng cảm nhận không dây ảnh hưởng trực tiếp đến tính chính xác của thông tin Thông tin cần được thu thập nhanh chóng và chính xác, đặc biệt là những dữ liệu liên quan đến an ninh quốc gia Tốc độ thu thập hiệu quả phụ thuộc vào số mẫu dữ liệu được lấy từ từng nút riêng lẻ, và những thông tin này phải được truyền về đ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
-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
-Do tính linh động và dễ truy nhập nên an toàn bảo mật mạng không dây phức tạp
-Khó quản lý nút mạng đặt ngoài môi trường
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
Các nút mạng có thể di chuyển linh hoạt mà không cần thay đổi cấu hình, nhưng điều này cũng dễ dẫn đến lỗi trong quá trình truyền dữ liệu.
-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 thúc chương I, chúng ta đã có cái nhìn tổng quan về mạng cảm nhận không dây (WSN) và nhận thấy rằng hiệu quả năng lượng là một tiêu chí quan trọng trong việc xây dựng mạng này Điều này đặt ra hai vấn đề chính: lựa chọn thiết bị phù hợp và xác định giao thức hoạt động để tối ưu hóa hiệu quả năng lượng Trong chương II, chúng ta sẽ khám phá 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.
Đặ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
Lỗi có thể xảy ra dễ dàng tại các nút mạng và trong quá trình truyền dữ liệu Tuy nhiên, các nút mạng có khả năng dịch chuyển mà không cần thay đổi cấu hình, giúp duy trì tính linh hoạt và hiệu suất của hệ thống.
-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 thúc chương I, chúng ta đã có cái nhìn tổng quan về mạng cảm nhận không dây (WSN) và nhận thấy rằng hiệu quả năng lượng là một tiêu chí quan trọng trong việc xây dựng mạng này Hai vấn đề chính được đặt ra là lựa chọn thiết bị phù hợp và sử dụng giao thức hoạt động hiệu quả để tối ưu hóa năng lượng Ở chương II, chúng ta sẽ đi sâu vào nghiên cứu 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.
KHIỂN THÂM NHẬP MÔI TRƯỜNG VÀ GIAO THỨC LẬP LỊCH NGỦ TẬP TRUNG
Giới thiệu giao thức MAC-Medium Access Control
Thủ tục hay giao thức mạng là tập hợp các qui tắc và qui ước chung, cho phép hai hoặc nhiều thiết bị truyền thông với nhau Việc trao đổi thông tin, dù đơn giản, cũng cần tuân theo những qui tắc nhất định, bao gồm cú pháp, ngữ nghĩa của dữ liệu, cũng như các thủ tục gửi, nhận dữ liệu, kiểm soát hiệu quả và chất lượng truyền tin, cùng với xử lý lỗi và sự cố Khi yêu cầu về xử lý và trao đổi thông tin của người sử dụng tăng cao, số lượng và độ phức tạp của các qui tắc cũng gia tăng Các mạng có thể áp dụng các giao thức khác nhau, tùy thuộc vào sự lựa chọn của nhà thiết kế và nhu cầu của người sử dụng.
Giao tiếp không dây cần thiết phải có khả năng chia sẻ hiệu quả, với tất cả các giao thức điều khiển đa truy cập sử dụng giao diện radio để tối ưu hóa băng thông Giao thức MAC dành cho mạng cảm nhận không dây không chỉ quản lý hoạt động của radio mà còn chú trọng đến việc chuyển đổi năng lượng Trong khi giao thức MAC truyền thống phải cân bằng giữa đầu vào và độ trễ, thì giao thức MAC của WSN ưu tiên việc sử dụng năng lượng một cách hiệu quả.
Thủ tục điều khiển thâm nhập môi trường trong mạng cảm biến không dây (WSN) tương tự như trong mạng WLAN, nhưng WSN chú trọng hơn vào việc tiết kiệm năng lượng cho các nút Để đạt được điều này, WSN áp dụng các giải pháp như chế độ lập lịch thức và chế độ ngủ cho mỗi quá trình truyền và nhận dữ liệu của từng nút, nhằm tối ưu hóa hiệu suất năng lượng.
Quản lý năng lượng là một thách thức lớn trong các giao thức truyền thông của mạng WSN, chủ yếu do các vấn đề như xung đột giữa các node khi truyền dữ liệu cùng lúc, nghe lỏm khi một node nhận gói tin không phải dành cho nó, chi phí gói tin điều khiển cao, và lắng nghe khi môi trường rỗi Những vấn đề này thường gặp trong các mạng chia sẻ và có thể được giải quyết bằng các kỹ thuật MAC.
Mục tiêu chính của thủ tục lớp MAC là phân phát các kênh vô tuyến chia sẻ giữa các node cảm biến và đảm bảo rằng không có hai node nào truyền dữ liệu cùng lúc Nhờ vào khả năng giảm thiểu lãng phí năng lượng, MAC trong mạng cảm biến không dây (WSN) đã trở thành một lĩnh vực nghiên cứu quan trọ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
Việc sử dụng băng thông
Các thủ tục MAC được phân loại dựa trên nhiều nguyên tắc khác nhau, bao gồm việc tập trung vào trạm gốc hoặc chủ nhóm để điều khiển truy cập Một số thủ tục sử dụng kênh đơn lẻ trong khi những thủ tục khác áp dụng nhiều kênh hoặc các phương pháp truy cập ngẫu nhiên Ngoài ra, một số thủ tục còn được tối ưu hóa cho các yếu tố như năng lượng, độ trễ, thông lượng, sự bình đẳng, chất lượng dịch vụ (QoS) và khả năng hỗ trợ nhiều dịch vụ khác nhau.
Một số giao thức MAC truyền thống
Các giao thức MAC truyền thống thuộc loại giao thức đa truy cập, trong đó Aloha không chia rãnh và Aloha chia rãnh là hai dạng cơ bản Trong Aloha không chia rãnh, mỗi nút hoạt động độc lập và gửi gói tin bất kỳ lúc nào Nếu xảy ra xung đột, gói tin sẽ được gửi lại sau một khoảng thời gian chờ 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ộ
Mô hình truy nhập ngẫu nhiên Aloha có ưu điểm lớn là tính đơn giản, cho phép các node truyền dữ liệu mà không cần quan tâm đến hoạt động của các node khác Khi một bản tin được gửi thành công, node gốc sẽ nhận được tín hiệu ACK (acknowledgment) qua một kênh phản hồi Nếu không nhận được ACK, node sẽ gửi lại bản tin sau một khoảng thời gian ngẫu nhiên Độ trễ trong quá trình này chủ yếu phụ thuộc vào xác suất không nhận được gói tin do xung đột và thời gian chờ ngẫu nhiên trước khi gửi lại.
Hình 2.1: Aloha không chia khe
Hạn chế chính của mô hình unslotted Aloha là không xác định được gói tin đã được nhận hay chưa Để khắc phục, khi một node hoàn tất việc truyền, nó sẽ chờ nhận tín hiệu ACK trong một khoảng thời gian giới hạn Mặc dù mô hình này hoạt động hiệu quả trong các mạng nhỏ với tải thấp, nhưng khi áp dụng cho mạng lớn với nhiều node cùng muốn truyền dữ liệu, nó không còn khả thi Điều này đã dẫn đến sự phát triển của mô hình Slotted Aloha.
Tại Aloha chia khe, quá trình truyền dữ liệu diễn ra theo cách tương tự nhưng chỉ cho phép truyền trong các khe đồng bộ riêng biệt Mỗi khe tương ứng với thời gian truyền của một frame, và các node sẽ chỉ bắt đầu truyền dữ liệu tại thời điểm bắt đầu của các khe Các node được đồng bộ hóa để nhận biết thời điểm bắt đầu của các khe Trong trường hợp có hai hoặc nhiều frame xảy ra xung đột trong cùng một khe, tất cả các node sẽ tiến hành dò tìm xung đột trước khi kết thúc khe đó.
Giao thức này giúp giảm số xung đột có thể xảy ra, cải thiện hiệu suất so với Unslotted Aloha Xung đột chỉ xảy ra giữa các node đã sẵn sàng truyền thông tại cùng một thời điểm, cho thấy sự giảm đáng kể trong việc xử lý xung đột.
2.2.2 Giao thức CSMA(Carrier Sense Medium Access)
Giao thức đa truy cập cảm nhận sóng mang (CSMA) là một giao thức MAC cổ điển, trong đó một nút phải lắng nghe kênh để xác định xem nó có rỗi hay không trước khi truyền Nếu kênh nhàn rỗi, nút sẽ tiến hành truyền dữ liệu; ngược lại, nếu kênh bận, nút sẽ chờ một khoảng thời gian ngẫu nhiên trước khi thử lại Tuy nhiên, cả Aloha không chia rãnh, Aloha chia rãnh và CSMA vẫn chưa giải quyết triệt để vấn đề nút ẩn và nút hiện.
Chuẩn IEEE 802.3/Ethernet đã phát triển giao thức cảm nhận sóng mang dò xung đột CSMA/CD cho mạng Ethernet Chế độ này hoạt động tương tự như CSMA thông thường, nhưng trong quá trình truyền, nút sẽ lắng nghe môi trường để nhận diện các xung đột Khi phát hiện xung đột, nút truyền tín hiệu nghẽn để cảnh báo các nút khác dừng gửi gói tin trong một khoảng thời gian ngẫu nhiên (backoff) trước khi thử gửi lại, cho thấy khả năng dò xung đột nhưng vẫn không thể hoàn toàn tránh khỏi nó.
Trong mạng không dây phức tạp, giao thức cảm nhận sóng mang/tránh xung đột CSMA/CA được sử dụng để xử lý hiệu quả các vấn đề như nút ẩn và nút hiện Chi tiết về giao thức này sẽ được trình bày trong phần sau của bài viết.
*Vấn đề nút ẩn/nút hiện
Các giao thức MAC truyền thống không thể ngăn ngừa xung đột hiệu quả trong mạng không dây do hai vấn đề chính: nút ẩn và nút hiện.
Vấn đề nút ẩn được thể hiện khi nút A truyền dữ liệu tới nút B, trong khi nút C, ngoài vùng sóng radio của A, phát hiện kênh truyền nhàn rỗi và cũng bắt đầu gửi gói tới nút B Trong tình huống này, giao thức CSMA không thể ngăn chặn xung đột giữa A và C do chúng không nhận biết được trạng thái của nhau.
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
Trong khoảng của B, kênh truyền cảm thấy bận rộn và không thể truyền tải thông tin Tuy nhiên, theo lý thuyết, vì D nằm ngoài khoảng của B và A nằm ngoài khoảng của C, hai sự truyền này không xung đột với nhau Do đó, việc truyền thông qua C sẽ bị hoãn lại và dẫn đến lãng phí băng thông.
Hình 2.3:nút ẩn và nút hiện
Vấn đề sóng đôi trong truyền thông mạng liên quan đến hiện tượng nút ẩn, nơi gói tin gây xung đột khi một nút gửi không biết có nút khác đang truyền Điều này dẫn đến việc nút nhận mất cơ hội gửi gói tin do sự nhầm lẫn trong quá trình truyền không bị nhiễu Giải pháp cho sự ghép đôi không đối xứng này nằm ở việc nhận biết sóng mang tại nơi nhận, không phải nơi truyền Do đó, cần thiết có một số giao tiếp giữa nơi truyền và nơi nhận để khắc phục vấn đề này.
2.2.3 Giao thức MACA(Medium Access Collision Avoidance)
Giao thức MACA sử dụng hai thông điệp điều khiển, là Request to Send (RTS) và Clear to Send (CTS), để giải quyết vấn đề nút ẩn và nút hiện Khi một nút muốn gửi dữ liệu, nó phát ra gói RTS tới nút nhận Nếu nút nhận có khả năng nhận dữ liệu, nó sẽ phản hồi bằng gói CTS Khi nút gửi nhận được CTS, quá trình truyền dữ liệu bắt đầu Nếu một nút gần đó nghe thấy RTS của nút khác, nó sẽ tạm dừng truyền dữ liệu cho đến khi nhận được CTS Nếu không nhận được CTS, nút đó sẽ vẫn hạn chế đường truyền trong một khoảng thời gian đủ để đảm bảo việc truyền dữ liệu hoà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
Hình 2.4: Quá trình truyền nhận giữa 2 node A và B
Trong một giả sử lý tưởng, giao thức MACA có khả năng giải quyết cả vấn đề node ẩn và node hiện Cụ thể, node C sẽ lắng nghe bản tin CTS, giúp ngăn chặn xung đột đường truyền, từ đó giải quyết vấn đề node ẩn Đồng thời, mặc dù node C nhận được CTS từ node B, nhưng nó không nhận CTS từ node A, cho phép node C truyền gói tin của mình sau một thời gian chờ.
Giao thức lập lịch
- 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 vẽ minh họa một chu kỳ tuần hoàn, trong đó mỗi node sẽ trải qua một khoảng thời gian ngủ và sau đó thức dậy để lắng nghe.
Chu trình làm việc của chế độ lập lịch ngủ – lắng nghe được thực hiện đồng bộ trên tất cả các node, giúp giảm thiểu năng lượng tiêu thụ một cách hiệu quả.
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 vấn đề này dựa vào chu kỳ ngủ của các node, trong đó mỗi node sẽ vào trạng thái ngủ và lắng nghe Sau vài giờ, các node sẽ thức dậy để kiểm tra xem có node nào muốn giao tiếp với chúng hay không Nếu có tín hiệu, node sẽ thức dậy, ngược lại, nó sẽ trở lại trạng thái ngủ Trong thời gian ngủ, node sẽ tắt radio, giúp giảm chu trình làm việc xuống khoảng 10%, với thời gian mở radio là 200ms và tắt là 2s.
Trong quá trình khởi tạo, các node chờ đợi một chu kỳ ngẫu nhiên để lắng nghe thông tin về lịch ngủ từ các node lân cận Nếu không nhận được bản tin nào, chúng sẽ tự chọn lịch riêng và phát quảng bá cho các node xung quanh Các node lân cận nghe được sẽ chấp nhận và thông báo lịch này cho các node tiếp theo Một số node ranh giới có thể chấp nhận nhiều lịch khác nhau hoặc chỉ lịch của một node lân cận Các node sẽ định kỳ truyền lịch để cấp vị trí cho các node mới kết nối với mạng Mặc dù cần trao đổi gói tin để đồng bộ hóa, chu kỳ nghe thường lớn hơn nhiều so với độ trễ của xung đồng hồ, và lịch ngủ không được sử dụng khi truyền dữ liệu.
Trước khi các node bắt đầu chu kỳ nghe và ngủ, chúng cần xác định một lịch trình để biết thời gian lắng nghe và ngủ Hình ảnh minh họa cho thấy rằng, mặc dù hai node có lịch khác nhau, chúng vẫn có thể giao tiếp trong một khoảng thời gian nhất định nếu biết lịch của nhau Cụ thể, nếu node 1 muốn liên lạc với node 2, nó chỉ cần chờ đến khi node 2 đang trong trạng thái lắng nghe Tuy nhiên, để thuận lợi hơn trong việc phát sóng, các node lân cận nên có cùng một lịch trình.
Hình 2.7: 2 node có cùng schedule
Trong một mạng lớn, không thể đảm bảo rằng tất cả các node đều có lịch giống nhau Ví dụ, trong một cấu trúc mạng, có thể tồn tại hai lịch khác nhau trên các mặt phẳng Node đen đóng vai trò là node nhận cả hai lịch Khi node này phát broadcast một gói tin, nó cần phải gửi gói tin đó hai lần: lần đầu tiên cho các node theo lịch 1 và lần thứ hai cho các node theo 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 điều chỉnh độ dài chu kỳ hoạt động nhằm giảm thiểu thời gian ngủ đến mức tối ưu Kỹ thuật này được phát triển để cải thiện độ trễ trong trạng thái ngủ Cụ thể, khi một node tình cờ nghe các tín hiệu từ các node lân cận, nó sẽ thức dậy trong thời gian ngắn tại điểm cuối của đường truyền Điều này cho phép nếu node đó là node next-hop, các neighbor 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 trong các gói RTS/CTS.
Hình 2.9:Sự hoạt động của S-MAC basic và adaptive
Tiết kiệm năng lượng trong S-MAC giúp giảm tiêu thụ năng lượng trong quá trình ngủ, khi các gói truyền qua mạng phải tạm dừng tại các node trung gian trong thời gian này Điều này phụ thuộc vào quá trình thiết lập, và gói tin có thể phải dừng lại sau vài hop Lịch ngủ trong S-MAC mang lại ưu điểm là giảm thiểu lãng phí năng lượng do hiện tượng "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ó
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
Chế độ T-MAC cơ bản gặp phải vấn đề "ngủ sớm", dẫn đến giảm thông lượng, đặc biệt khi truyền dữ liệu chỉ theo một hướng Khi một node không hoạt động do xung đột trong một chu kỳ xác định, nó không thể gửi tin nhắn để cập nhật thời gian timeout Do đó, khi nơi gửi có thể truyền dữ liệu sau xung đột, nơi nhận lại đang ở chế độ ngủ.
Một giải pháp hiệu quả để khắc phục vấn đề ngủ sớm là sử dụng bản tin điều khiển FRTS (future request to send) ngắn gọn, cho phép truyền tải thông tin đến nơi nhận mong muốn bằng cách yêu cầu nơi nhận chờ thêm một chu kỳ timeout.
Giải pháp thứ hai, được gọi là “quyền ưu tiên bộ đệm đầy”, cho phép một node ưu tiên gửi dữ liệu hơn là nhận khi bộ đệm của nó đã đầy Trong chế độ này, node có độ ưu tiên cao hơn sẽ gửi gói tin của mình thay vì nhận các gói tin khác, đồng thời 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ó
Trong các gói tin truyền qua đa bước (multi-hop), S-MAC và T-MAC đều gặp phải vấn đề hao phí năng lượng do tăng độ trễ Điều này xảy ra vì gói tin chỉ có thể được truyền qua một số hop nhất định trong mỗi chu kỳ trước khi đến đích.
1 node mà node đó phải ngủ Đó chính là vấn đề về ngắt dữ liệu chuyển tiếp
Giải pháp D-MAC được áp dụng cho cây dữ liệu hội tụ, kết nối các node mạng với một sink chung D-MAC sử dụng chế độ ngủ so le, trong đó chuỗi nhận - truyền - ngủ được chuyển từ các node ở mức thấp lên mức cao hơn, với mỗi mức tiếp theo dịch sang bên phải Điều này cho phép một node tại mức k ở chế độ nhận trong khi node ở mức k+1 đang truyền dữ liệu.
Lập lịch so le của D-MAC mang lại nhiều lợi ích, bao gồm việc cho phép các gói dữ liệu và gói điều khiển chuyển tiếp liên tục trên cây với độ trễ tối thiểu Nó yêu cầu phần mở rộng tương thích của chu kỳ hoạt động được truyền đi theo mọi hướng trên cây, đồng thời giảm thiểu xuyên nhiễu bằng cách chia chu kỳ hoạt động ở các mức khác nhau Hơn nữa, D-MAC 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 các vấn đề về xung đột và xuyên nhiễu, D-MAC tích hợp các thành phần tùy chọn như dữ liệu dự đoán và việc sử dụng gói thêm để gửi (MTS_more-to-send).
NGHIỆM CHƯƠNG TRÌNH
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 thiết kế với các chế độ làm việc tiết kiệm năng lượng và khả năng lập trình điều khiển, khiến nó trở thành lựa chọn lý tưởng cho nút mạng WSN Đặc biệt, sản phẩm này rất phù hợp trong các mạng đo lường các thông số môi trường.
*Cấu tạo vi điều khiển CC1010:
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:
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 đã phát triển các thư viện hỗ trợ lập trình cho CC1010, giúp quá trình viết chương trình trở nên dễ dàng và thuận tiện hơn.
Vi điều khiển CC1010, khi được tích hợp với bộ cảm biến, sở hữu những đặc điểm nổi bật, giúp nó trở thành một nút mạng WSN hiệu quả.
Hiện nay, chipcon cung cấp Module CC1010EM (Evaluation Module) để phát triển ứng dụng cho CC1010 Module này tích hợp hầu hết các linh kiện cần thiết cho một nút mạng, bao gồm CC1010, các chân cổng, cảm biến nhiệt độ kết nối qua chân AD1, anten, và dao động thạch anh CC1010EM nhỏ gọn và đáp ứng đầy đủ các chức năng của nút mạng, bao gồm chức năng mạng và chức năng cảm nhận Trong luận văn này, CC1010EM được sử dụng làm nút mạng.
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 trải qua những bước đột phá mạnh mẽ, tạo ra những cuộc cách mạng trong tương lai nhờ vào nhu cầu thực tiễn và tiến bộ công nghệ phần cứng Để phát triển một phần mềm nhúng hiệu quả, cần phải kết hợp chặt chẽ với phần cứng và các hệ thống liên quan, đồng thời đảm bảo các yếu tố như tốc độ xử lý, dung lượng bộ nhớ và mức tiêu thụ điện năng Việc lựa chọn các phương pháp phát triển phần mềm nhúng hiện đại là rất quan trọng, yêu cầu liên kết từ các lớp trừu tượng đến chức năng hệ thống và với các nền lập trình hỗ trợ Điều này đòi hỏi phát triển các kỹ thuật hình thức ở mức trừu tượng nhằm đánh giá sớm các ràng buộc Bên cạnh đó, việc thiết kế đồng bộ phần cứng và phần mềm cũng như xây dựng mô hình cho các thuộc tính phi chức năng là cần thiết Các thách thức trong phát triển phần mềm nhúng bao gồm tăng cường tái sử dụng, chuyển đổi phần mềm thành dịch vụ, tương thích giữa phần cứng và phần mềm, cùng với việc xây dựng các hệ thống có khả năng tổ hợp từ các thành phần phần mềm 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
Phần mềm nhúng cho các họ vi xử lý có thể được viết bằng nhiều ngôn ngữ khác nhau, bao gồm C/C++ và Assembler Việc lựa chọn ngôn ngữ phù hợp phụ thuộc vào tiêu chí xây dựng hệ thống Hiện nay, để đáp ứng nhu cầu phát triển nhanh chóng và dễ dàng bảo trì, ngôn ngữ cấp cao như C/C++ thường được ưa chuộng.
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:
Việc phát triển phần mềm nhúng tuân theo các bước quy trình nhất định, nhưng cũng có những đặc điểm riêng biệt do làm việc trực tiếp với phần cứng Điều này khiến việc kiểm soát quá trình tương tác với các thành phần chấp hành trở nên vô cùng quan trọng để đảm bảo tính chính xác và hiệu quả trong hoạt động của hệ thố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, phát triển bởi Keil Elektronik GmbH, là một môi trường phát triển tích hợp (IDE) chuyên dụng cho việc xây dựng các chương trình cho vi điều khiển tương thích 8051 của Intel Nó cho phép lập trình viên soạn thảo, dịch và gỡ lỗi chương trình trong cùng một môi trường, hỗ trợ cả ngôn ngữ C và Assembly.
Hãng Chipcon cung cấp bộ thư viện CC1010IDE, hỗ trợ việc xây dựng phần mềm cho vi điều khiển CC1010, giúp quá trình lập trình trở nên dễ dàng và nhanh chóng CC1010IDE dựa trên công cụ phát triển “uVision2” của Keil ™ Elektronik GmbH, cung cấp khung làm việc cho hầu hết các đặc điểm của CC1010IDE và hỗ trợ cho nhiều loại vi điều khiển khác.
Trình soạn thảo 8051 là công cụ quan trọng để biên soạn file nguồn và file hợp ngữ, cung cấp giao diện đồ họa (GUI) cho mô phỏng và gỡ lỗi mã lệnh, thanh ghi, bộ nhớ và các cửa sổ theo dõi IDE hỗ trợ giao diện với thư viện liên kết động (DLL) để mô phỏng và gỡ lỗi trên mạch Đặc biệt, bộ dịch có khả năng chuyển đổi file nguồn viết bằng C sang hợp ngữ để tối ưu hóa mã lệnh Hợp ngữ sau đó được chuyển thành file đối tượng (mã máy hoặc dữ liệu nhị phân), và cuối cùng, bộ liên kết tạo ra file thực thi dạng Intel HEX có thể nạp vào bộ nhớ Flash của vi điều khiển.
Mô hình của một phần mềm nhúng viết cho CC1010 nhƣ sau:
Các file định nghĩa phần cứng(HDF)
Các file định nghĩa phần cứng (Hardware definition file - HDF)
Thƣ viện phần cứng (Hardware abstraction library – HAL)
Thƣ viện tiện ích Chipcon (Chipcon utility library-CUL) Thƣ viện
Các file định nghĩa phần cứng xác định địa chỉ của các thanh ghi, ánh xạ vectơ ngắt và các hằng số phần cứng khác Chúng thường sử dụng các macro cho CC1010EB và cung cấp các định nghĩa hỗ trợ cho hợp ngữ và ngôn ngữ lập trình.
Thư viện phần cứng (HAL) của Chipcon hỗ trợ phát triển chương trình nhanh chóng và dễ dàng bằng cách cung cấp các macro và hàm truy cập phần cứng C1010 Những thư viện này thực hiện giao tiếp phần cứng trừu tượng, cho phép chương trình người dùng 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:
- Xử lý thời gian thực
- 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)
Module HAL CC1010IDE đi kèm với thư viện truyền thông RF trong Thư Viện Tiện Ích (CUL), thường được sử dụng cho các ứng dụng RF điển hình và cung cấp một giao thức hiệu quả.
Thƣ viện CUL hỗ trợ các chức năng sau:
- Tính toán Mã dư vòng (CRC)
- Xử lý Thời gian thực (Realtime Clock)
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, nhưng thư viện CUL cung cấp các hàm ở mức cao hơn, giúp lập trình viên làm việc dễ dàng và tiện lợi hơn Tuy nhiên, sự linh hoạt của thư viện HAL lại cao hơn, làm cho nó trở thành lựa chọn phổ biến cho các ứng dụng phức tạp.
Thử nghiệm chương trình-Giải thuật cho giao thức lập lịch tập trung(Polling)
Chương trình thử nghiệm bao gồm 3 nút mạng: 1 nút Master và 2 nút Slave (địa chỉ 1 và 2) Nút Master khởi động vòng thăm dò bằng cách phát gói thăm dò quảng bá chứa địa chỉ của nút 1 Khi nhận được gói thăm dò, nút Slave 1 kiểm tra và thấy địa chỉ trùng khớp, sau đó bắt đầu truyền dữ liệu về nút Master Ngược lại, nút Slave 2 không gửi dữ liệu nếu địa chỉ không khớp Sau khi nhận dữ liệu từ nút 1, nút Master sẽ thay đổi địa chỉ trong gói thăm dò để tiếp tục thăm dò nút 2, và quy trình này được thực hiện tương tự như đối với nút 1.
Giải thuật cho nút Master
RXI.status!=SPP-RX- Finished&&sppGettime()-t