B-MAC là giao thức dựa trên CSMA [4], hoạt động ổn đinh kể cả khi được cung cấp ít năng lượng, hạn chế xung đột và tối ưu kênh truyền hiệu quả. Bên cạnh đó, B-MAC còn là giao thức phân cấp nên nó tránh được việc quá tải do quá nhiều gói tin điều khiển từ nhiều nút mạng và dễ dàng triển khai cho nhiều ứng dụng. B- MAC sử dụng bản tin định thời dài có khả năng đánh giá chính xác trạng thái kênh truyền chính xác nên nó có khả năng đạt được chu kỳ hoạt động tối ưu. Mặc dù B- MAC có thể cấu hình nhằm phù hợp với lưu lượng tải mạng, thành phần định thời dài.cũng gây ra tiêu tốn năng lượng và trễ, đặc biệt khi mạng có nhiều nút mạng.
SVTH: Khương Văn Thắng Trang 42
Để đạt được hoạt động điện năng thấp, B-MAC sử dụng một chương trình lấy mẫu lời mở đầu thích nghi để giảm chu kỳ nhiệm vụ và giảm thiểu nghe nhàn rỗi.
Giao thức B-MAC chứa một lõi nhỏ các chức năng truy cập phương tiện truyền thông. B-MAC sử dụng đánh giá kênh rõ ràng (CCA) và gói tin backoffs cho kênh phân xử, lớp kết nối với độ tin cậy, công suất nghe thấp cho thông tin liên lạc công suất thấp. B-MAC chỉ là một giao thức liên kết với các dịch vụ mạng như tổ chức, đồng bộ, và định tuyến. Mặc dù B-MAC không cung cấp cơ chế nhiều gói như hỗ trợ ẩn thiết bị đầu cuối hoặc phân mảnh tin nhắn cũng như không thực thi một chính sách công suất thấp riêng, B-MAC có một tập hợp các giao diện cho phép các dịch vụ để điều chỉnh nó hoạt động. Các giao diện này cho phép các dịch vụ mạng để điều chỉnh cơ chế của BMAC bao gồm cả CCA, cam, backoffs, và LPL. Bằng cách phơi bày một tập hợp các cơ chế cấu hình, giao thức xây dựng trên B-MAC đưa ra quyết định chính sách cục bộ để tối ưu hóa công suất tiêu thụ, độ trễ, thông lượng, công bằng hay độ tin cậy. Để tránh va chạm có hiệu quả, một giao thức MAC phải có khả năng để xác định chính xác nếu kênh là rõ ràng, gọi là kênh (CCA). Kể từ khi nhiễu xung quanh thay đổi tùy theo môi trường, B-MAC sử dụng phần mềm tự động giành quyền kiểm soát đối với việc ước lượng nhiễu sàn. Mẫu cường độ tín hiệu được thực hiện ở lần khi kênh được giả định là tự do như ngay lập tức sau khi truyền một gói hoặc khi các đường dẫn dữ liệu của vô tuyến là không nhận được dữ liệu hợp lệ. Các mẫu này sau đó được nhập vào vào một hàng đợi FIFO. Mức trung bình của hàng đợi được thêm vào một theo cấp số nhân với trọng số trung bình α. Mức trung bình được sử dụng như một bộ lọc thông thấp đơn giản cộng thêm với nhiễu sàn ước lượng. Một giá trị α 0,06 và kích thước hàng đợi FIFO là 10 cung cấp kết quả tốt nhất cho một kênh không dây điển hình. B-MAC tìm kiếm các giá trị ngoại lai ( outlier ) trong các tín hiệu nhận được như năng lượng kênh là đáng kể dưới tầng nhiễu. Nếu một giá trị ngoại lai tồn tại trong khoảng thời gian lấy mẫu kênh, B-MAC tuyên bố kênh là rõ ràng kể từ khi một gói tin hợp lệ không bao giờ có thể có một giá trị ngoại lai đáng kể dưới tầng nhiễu. Nếu lấy 5 mẫu và không có outlier được tìm thấy, các kênh đang bận. Hiệu quả của phát hiện
SVTH: Khương Văn Thắng Trang 43
outlier so với ngưỡng trên một dấu vết từ một bộ thu phát CC1000 được thể hiện trong hình 4.3.
Hình 4.3: Clear Channel Assessment (CCA) hiệu quả cho một kênh không dây điển hình
(Nguồn: trong [4])
Cơ chế cơ bản nhất cho phép các dịch vụ để điều chỉnh CCA hoặc tắt bằng cách sử dụng giao diện MacControl. Bằng cách vô hiệu CCA, một giao thức lập kế hoạch có thể được thực hiện trên B-MAC. Nếu CCA được kích hoạt, B-MAC sử dụng một kênh backoff ban đầu khi gửi một gói. B-MAC không đặt thời gian backoff, thay vào đó là một sự kiện báo hiệu cho các dịch vụ gửi gói tin đi qua các giao diện MacBackoff. Dịch vụ này hoặc có thể trở lại một thời gian backoff ban đầu hoặc bỏ qua sự kiện này. Nếu bỏ qua, một backoff ngẫu nhiên nhỏ được sử dụng. Sau các backoff ban đầu, các thuật toán outlier CCA được chạy. Nếu kênh là không rõ ràng, một sự kiện báo hiệu dịch vụ cho một thời gian tắc nghẽn backoff . Nếu không có thời gian backoff được đưa ra, một lần nữa một backoff ngẫu nhiên nhỏ được sử dụng. Việc kích hoạt hoặc vô hiệu hóa CCA và cấu hình backoff cho
SVTH: Khương Văn Thắng Trang 44
phép các dịch vụ có thể thay đổi băng thông có sẵn. B-MAC cung cấp lớp liên kết hỗ trợ tùy chỉnh. Nếu các báo nhận được kích hoạt, B-MAC ngay lập tức chuyển một Mã xác nhận sau khi nhận được một gói tin unicast. Nếu việc truyền đến nút nhận được thừa nhận, một bit thừa nhận được thiết lập trong bộ đêm tin nhắn của nút gửi.
Chu kỳ nhiệm vụ B-MAC thông qua sóng vô tuyến lấy mẫu định kỳ kênh mà ta gọi là nghe công suất thấp (LPL). Mỗi lần nút tỉnh dậy, nó điều chỉnh sóng vô tuyến và kiểm tra hoạt động. Nếu hoạt động được phát hiện, nút sẽ hoạt động và vẫn thức trong thời gian cần thiết để nhận được gói tin đến. Sau khi tiếp nhận, các nút trở về trạng thái ngủ. Nếu không nhận được gói nào, sau một thời gian chờ buộc nút quay lại ngủ.
Để nhận được dữ liệu đáng tin cậy, độ dài phần mở đầu phải phù hợp với khoảng thời gian mà các kênh được kiểm tra hoạt động. Nếu kênh kiểm tra mỗi 100 ms, phần mở đầu phải có độ dài ít nhất 100 ms cho một nút để thức dậy, phát hiện hoạt động trên các kênh, nhận lời mở đầu, và sau đó nhận được thông báo. Nghe nhàn rỗi xảy ra khi node tỉnh dậy để lấy mẫu các kênh và không có hoạt động. Khoảng cách giữa các mẫu LPL là tối đa do đó thời gian dành lấy mẫu kênh được giảm thiểu.
Để tính toán nút chu kỳ hoạt động và thời gian sống của nút, chúng ta xem xét một ứng dụng cảm biến định kỳ chuyển tiếp dữ liệu cảm biến đến trạm gốc. Bảng dưới liệt kê các hoạt động cơ bản của một ứng dụng giám sát sử dụng một bộ thu phát CC1000.
Operation Time (s) I (mA)
Intialize radio (b) 350E-6 trinit 6 crinit
Turn on radio (c) 1.5E-3 tron 1 cron
Switch to RX/TX (d) 250E-6 trx/tx 15 crx/tx
Time to sample radio (e) 350E-6 tSr 15 cSr
Evaluate radio sample (f) 100E-6 tev 6 cev
SVTH: Khương Văn Thắng Trang 45
Transmit 1 byte 416E-6 ttxb 20 ctxb
Sample sensor 1.1 tdata 20 cdata
Bảng 4.1: hoạt động cơ bản của một ứng dụng giám sát sử dụng một bộ thu phát CC1000
(Nguồn: trong [4])
Thời gian sống của một nút được xác định bằng tổng thể năng lượng tiêu thụ của nó. Để thời gian sống là tối đa, rõ ràng mức tiêu thụ năng lượng phải là tối thiểu. Tất cả các nguồn năng lượng, E, được xác định theo đơn vị millijoules mỗi giây, hoặc mW. Tổng năng lượng sử dụng có thể được tính bằng tích của E với thời gian sống t1. Với các ứng dụng mạng cảm biến không dây, năng lượng được sử dụng bởi một nút, bao gồm các năng lượng tiêu thụ trong các quá trình thu, phát, tiếp nhận các bản tin trên các kênh truyền vô tuyến, lấy mẫu dữ liệu, và “ngủ”.
E = Erx + Etx + Elisten + Ed + Esleep (4.1)
Cảm biến là một thành phần không thể thiếu trong các mạng cảm biến không dây và phải được xem xét khi tính toán thời gian sống của một nút. Lấy mẫu cảm biến thường tiêu tốn nhiều năng lượng và ảnh hưởng đến thời gian sống của các nút. Các thông số lấy mẫu được dựa trên một ứng dụng được phát triển bởi Mainwaringet. al. Trong ứng dụng của họ, mỗi nút cần 1.100 ms để bắt đầu hoạt động cảm biến, lấy mẫu, và thu thập dữ liệu. Các dữ liệu được lấy mẫu mỗi năm phút, hay r = 1 / (5 * 60). Năng lượng tương ứng với dữ liệu lấy mẫu, Ed, là
td = tdata r (4.2)
Ed = tdcdataV (4.3)
Năng lượng tiêu thụ bởi việc truyền tải, Etx, đơn giản được tính bởi chiều dài bản tin với thời gian mào đầu nhân với tốc độ truyền tin của ứng dụng.
SVTH: Khương Văn Thắng Trang 46 Etx = ttxctxbV (4.5)
Đối với một ứng dụng định kỳ với một tỷ lệ lấy mẫu thống nhất, các nút sẽ phát hiện và nhận dữ liệu khi mỗi nút hàng xóm n của nó truyền tải một gói tin với bất kỳ điểm đích nào. Ta gọi mật độ của các nút hàng xóm xung quanh một nút là “kích thước vùng hàng xóm” neighborhood size. Mặc dù nhận được dữ liệu từ các nút láng giềng rút ngắn thời gian sống của nút, nó cho phép các dịch vụ khai thác thông tin trên các kênh và đưa ra quyết định dựa trên hoạt động của kênh.
Ta có thể gắn tổng thời gian nút sử dụng để nhận và tính toán năng lượng tiêu tốn khi nhận bản tin là Erx.
Trx nr(Lpreamble + Lpacket)trxb(4.6)
Erx = trxcrxbV (4.7)
Phân tích này dựa trên hoạt động một cell duy nhất. Tuy nhiên để đánh giá các ứng dụng đa chặng qua nhiều cell, ta cần phải tính toán thêm các thông số về lưu lượng định tuyến trong mỗi nút thông qua các nút con và các nút hàng xóm của các nút con. Thay vì r bản tin mỗi giây, lưu lượng giờ đây được tính gồm tất cả các gói tin được định tuyến bởi nút và các nút hàng xóm. Hàm children(i) được xác định cho giao thức định tuyến đa chặng:
0 ( ( ) 1) n i r children i (4.9)
Giao thức MAC được hoạt động độc lập trong mô hình này. Các giao thức MAC chịu trách nhiệm cho việc giảm thiểu thời gian lắng nghe nhàn rỗi, t listen Trong B-MAC, nghe nhàn rỗi xảy ra bất cứ khi nào B-MAC lẫy mẫu kênh cho hoạt động nhưng không có hoạt động nào diễn ra.
Để nhận được gói tin tin cậy, khoảng thời gian kiểm tra LPL, ti, phải nhỏ hơn thời gian của đoạn mào đầu đầu. Ta có:
SVTH: Khương Văn Thắng Trang 47
/
preamble i rxb
L t t (4.10)
Với một khoảng thời gian kiểm tra và kết hợp chiều dài phần mào đầu, chúng ta có thể tính toán thời gian lấy mẫu kênh. Năng lượng tiêu thụ của một LPL là 17.3μJ. Tổng năng lượng dành cho việc nghe các kênh là năng lượng của một kênh đơn nhân với tần số lấy mẫu kênh
17.3 sample E J / 1 ( ) init on listen r r rx tx sr i t t t t t t (4.11) 1 listen sample i E E t (4.12)
Cuối cùng, các node phải ở trạng thái ngủ trong thời gian còn lại. Thời gian ngủ, tsleep, chỉ đơn giản là thời gian còn lại không sử dụng cho các hoạt động khác:
1
sleep rx tx d listen
t t t t t (4.13)
sleep sleep sleep
E t c V (4.14)
Thời gian sống của một nút, tl, phụ thuộc vào tổng năng lượng E, dung lượng dự trữ, Cbatt. Ta có công thức: 60 60 batt l C V t E (4.15)