Thiết lập truyền nhận sóng:
Tầng vật lí có nhiệm vụ cài đặt và thiết lập, kích hoạt hoặc tạm dừng bộ thu phát sóng của các thiết bị trong mạng. Một trong 3 trạng thái có thể được thiết lập là trạng thái truyền, trạng thái nhận và trạng thái nghỉ, việc thiết lập một trạng thái được thực hiện theo yêu cầu của phân lớp điều khiển truy nhập. Thời gian tính từ lúc truyền đến lúc nhận hay ngược lại không quá 12 chu kì tín hiệu.
Dò tìm năng lƣợng ED (Energy Detection )
Khi một thiết bị định truyền trong mạng, nó sẽ đi vào chế độ dò tìm và ước lượng năng lượng của kênh mong muốn. Trong chế độ này, thiết bị sẽ không quan tâm đến dạng năng lượng mà chỉ quan tâm đến mức năng lượng, và có thể sẽ không dò được mức năng lượng yếu. Kết quả trả về sẽ là một số nguyên 8 bit chỉ ra mức năng lượng dò được.
Nếu kết quả dò tìm thành công, thông số trạng thái được thiết lập là SUCCESS, nếu không thành công sẽ là ERROR. Kết quả này được dùng trong phương pháplựa chọn kênh.
Chỉ thị chất lƣợng kết nối LQI (Link Quality Indication)
Đây là một đại lượng đặc trưng cho cường độ tín hiệu (sóng) và/hoặc chất lượng của gói tin nhận được. Lớp vật lí sử dụng kết quả dò tìm của bộ nhận hay ước lượng tỉ lệ tín hiệu trên nhiễu (SNR) hoặc kết hợp hai phương pháp. Việc sử dụng
kết quả của LQI được áp dụng cho tầng mạng hoặc tầng ứng dụng.
Việc đo LQI được thực hiện đối với từng gói tin nhận được, kết quả sẽ thông báo về phân lớp điều khiển truy cập MAC sử dụng nguyên hàm PD- DATA.indicator dưới dạng số nguyên trong khoảng 0x00 tới 0xff thiết bị nhận theo chuẩn IEEE 802.15.4 có thể thu nhận được (mức năng lương tăng dần theo giá trị). LQI cũng có thể được sử dụng cho tầng mạng để định ra các đường đi với mức tối ưu hóa năng lượng cho các nút trong mạng. Các giá trị LQ cần có phân phối đều giữa hai giới hạn này. Tối thiểu phải sử dụng 8 giá trị LQ khác nhau trong khoảng trên.
Cơ chế xác định kênh rỗi – CCA (Clear Channel Assessment)
Lớp vật lý của Zigbee (IEEE 802.15.4) cung cấp cơ chế xác định kênh rỗi (CCA) theo ít nhất một trong ba phương pháp sau: Dò tìm năng lượng, đa truy cập cảm nhận sóng mang, hoặc là sự kết hợp của hai phương pháp này.
- Chế độ CCA 1: Dò tìm năng lượng (mức năng lượng vượt ngưỡng cho trước). CCA sẽ thông báo là môi trường truyền thông bận nếu phát hiện thấy mức năng lượng cao hơn ngưỡng năng lượng được định nghĩa trước.
- Chế độ CCA 2: Đa truy nhập cảm nhận sóng mang. CCA sẽ thông báo là môi trường truyền thông bận nếu phát hiện thấy tín hiệu có đặc tính phân bố và điều chế lớn hơn mức ngưỡng ED hoặc thấp dưới mức ngưỡng.
- Chế độ CCA 3: Cảm nhận sóng mang kết hợp với mức năng lượng vượt ngưỡng cho trước. CCA sẽ thông báo môi trường truyền thông bận nếu cả hai điều kiện ở trên xảy ra.
Trong bất kì chế độ CCA nào ở trên, nếu lớp vật lý nhận được nguyên hàm PLME -CCA.request trong quá trình nhận các gói tin lớp vật lý -PPDU, CCA sẽ thông báo là môi trường truyền thông bận. Kênh truyền bận sẽ được biểu thị bởi nguyên hàm PLME -CCA.confirm với trạng thái là BUSY. Kênh truyền rỗi sẽ được biểu thị bởi nguyên hàm PLME -CCA.confirm với trạng thái là IDLE.
Truyền và nhận tín hiệu trên phƣơng diện vật lí:
Đây là nhiệm vụ chính của tầng vật lý. Kỹ thuật điều chế và kỹ thuật trải phổ chuỗi trực tiếp DSSS (Direct-Sequence Spread Strectrum) được thực hiện trong phần này. Sơ đồ nguyên lí như sau:
Hình 3. 13: Sơ đồ nguyên lí của bộ điều chế trong Zigbee (IEEE 802.15.4)
Tầng MAC của mạng Zigbee (IEEE 802.15.4) cung cấp giao diện giữa lớp vật lý và tầng Mạng, bao gồm hai dịch vụ như hình 3.10:
- Dịch vụ dữ liệu MAC với giao diện là điểm truy cập dịch vụ phần dữ liệu lớp con phần chung tầng MAC MCPS-SAP (MAC Common Part Sublayer- service access point). Dịch vụ quản lí dữ liệu MAC cho phép truyền và nhận đơn vị dữ liệu giao thức MAC MPDU (MAC PDU) trên các dịch vụ dữ liệu của tầng vật lí.
- Dịch vụ quản lí MAC với giao diện là điểm truy cập dịch vụ quản lí tầng MAC MLME-SAP) (MAC sublayer management entity - service access point)cung cấp các giao diện dịch vụ thông qua các chức năng quản lý và đồng thời MLME cũng duy trì cơ sở dữ liệu MAC PIB (PAN Information Base) của các đối tượng được quản lý gắn liền với phân lớp MAC.
Các chức năng của lớp MAC trong mạng Zigbee (IEEE 802.15.4): - Quản lí Beacon
- Điều khiển truy nhập kênh
- Quản lí khe thời gian GTS (Guaranteed Time Slot) - Liên kết và phân tách trong PAN
- Đảm bảo sự kết nối tin cậy giữa hai thực thể MAC ngang hàng.
3.6.2. Cấu trúc các khung trong tầng MAC
3.6.2.1. Cấu trúc chung của khung MAC
Khung chung MAC bao gồm 3 phần chính:
- Tiêu đề đầu của khung MHR (MAC header). - Tải của khung (MAC Payload).
- Tiêu đề cuối của khung (MAC Footer).
Hình 3. 14: Cấu trúc chung của khung MAC mạng Zigbee (IEEE 802.15.4)[4,tr51]
Tiêu đề đầu MHR (MAC Header) :
- Trường Frame Control: Trường này có độ dài 2 octet (byte) chứa các thông tin như: Kiểu khung, chế độ bảo mật và các cờ điều khiển khác.
Các giá trị trong trường điều khiển khung được chỉ ra với các giá trị : 000 là gói Beacon, 001 là gói dữ liệu, 010 là gói ACK, 011 là gói lệnh MAC. - Trường Sequence Number: Trường này có độ dài là 1 byte chứa dãy số
định danh của khung.
- Các trường địa chỉ: Các trường này cho biết định danh của PAN đích (Destination PAN Identifier), địa chỉ đích (Destination Address), địa chỉ nguồn (Source Address), định danh của PAN nguồn (Source PAN
Identifier).
- Trường tiêu đề bảo mật phụ (Auxiliary Security Header): Trường này có độ dài không cố định và chứa các thông tin để xử lý bảo mật, được sử dụng khi trường con Security Enabled của trường điều khiển khung được đặt là 1.
Trường tải của khung (MAC Payload): Trường này có kích thước không cố định, chứa các dữ liệu cần truyền tải của từng kiểu khung.
Tiêu đề cuối khung (MAC Footer): trường này có độ dài 2 byte, chứa mã dư vòng FCS 16 bit.
3.6.2.2. Cấu trúc của các kiểu khung khác trong tầng MAC: Khung Beacon:
Hình 3. 15: Cấu trúc khung Beacon của Zigbee (IEEE 802.15.4)[4, tr51]
Cấu trúc khung Beacon cũng bao gồm 3 phần như cấu trúc chung của khung MAC, tuy nhiên phần tải có thêm các trường sau:
- Trường đặc tả siêu khung (Superframe Specification): Trường này có độ dài 16 bit, chứa các thông tin như thứ tự Beacon, thứ tự siêu khung, khe CAP cuối và các cờ điều khiển khác.
- Trường GTS: Trường này có độ dài 8 bit, chứa các thông tin như: Số lượng bộ miêu tả GTS và cờ điều khiển cho phép truy cập GTS. - Trường địa chỉ đang chờ (Pending Address): Trường này cho biết số
- Trường tải của Beacon: là số byte muốn truyền lên lớp trên của khung Beacon, tối đa là aMaxBeaconPayloadLength byte.
Khung dữ liệu:
Tương tự như cấu trúc chung của khung MAC: Bao gồm 3 phần và có cấu trúc như sau
Hình 3. 16: Cấu trúc khung dữ liệu của Zigbee (IEEE 802.15.4) [4, tr56]
Khung báo nhận (ACK):
Cấu trúc của khung báo nhận trong mạng Zigbee (IEEE 802.15.4) như hình dưới và không bao gồm trường tải dữ liệu (Payload)
Hình 3. 17: Khung báo nhận ACK trong mạng Zigbee (IEEE 802.15.4) [4,tr56]
Khung lệnh MAC:
Cấu trúc của khung lệnh MAC khác cấu trúc chung ở phần tải Payload, có thêm 2 trường như sau:
Hình 3. 18: Cấu trúc của khung lệnh MAC trong Zigbee (IEEE 802.15.4) [4, tr56]
- Trường dạng khung lệnh (Command Frame ID): Cho biết khung lệnh là loại khung nào.
- Trường tải khung lệnh (Command Payload): Chứa tải của khung lệnh Mạng Zigbee (IEEE 802.15.4) hỗ trợ các lệnh nằm trong tầng MAC như sau:
Bảng 3. 2: Định nghĩa các lệnh MAC của tầng MAC trong Zigbee (IEEE 802.15.4)
Command Frame ID
Lệnh Mô tả
00000001 Association request Yêu cầu liên kết (gửi từ RFD)
00000002 Association response Phản hồi liên kết (gửi từ FFD)
00000003 Disassociation notification Thông báo phân tách liên kết
00000004 Data request Yêu cầu dữ liệu
00000005 PAN ID conflict notification Thông báo xung đột ID trong PAN
00000006 Orphan notification Thông báo bị mất liên kết
00000007 Beacon request Yêu cầu gói beacon
00000008 Coordinator realignment Tổ chức lại Coordinator
00000009 GTS request Yêu cầu khe thời gian GTS
3.6.3. Cơ chế điều khiển truy nhập trong tầng MAC
Trong mạng Zigbee (IEEE 802.15.4) có hai kỹ thuật truy cập kênh truyền: Truy cập dựa trên tranh chấp và truy cập không tranh chấp. Truy cập dựa trên tranh chấp cho phép các thiết bị truy cập kênh theo kiểu phân tán sử dụng kỹ thuật CSMA/CA. Truy cập không tranh chấp là kỹ thuật được điều khiển bởi PAN Coordinator thông qua việc sử dụng các GTS trong cấu trúc siêu khung.
này được định nghĩa bởi các trạm điều phối Coordinator. Cấu trúc của mỗi siêu khung như hình 3.18:
Hình 3. 19: Cấu trúc của Siêu khung trong mạng Zigbee (IEEE 802.15.4)
Mỗi một siêu khung được giới hạn bởi hai gói Beacon và nó được chia thành 16 khe thời gian bằng nhau. Các khe thời gian được chia bao gồm:
- Khung Beacon: được truyền trong slot đầu tiên của mỗi siêu khung. Nó được dùng để đồng bộ các thiết bị khác, định danh PAN và miêu tả cấu trúc siêu khung. Khi Coordinator không muốn sử dụng cấu trúc siêu khung, nó sẽ không truyền khung Beacon.
- Khung Beacon Extension : dùng để dự trữ cho beacon nếu bị trễ - Các Khung CAP (Contention Access Period): Các thiết bị muốn giao
tiếp với nhau trong chu kỳ truy cập có tranh chấp – CAP thì chúng sẽ sử dụng kỹ thuật slotted CSMA/CA
- Các khung CFP (Contention Free Period): Các khung này được chia thành các khung khe thời gian GTS để phục vụ cho việc truyền thông trong mạng, trong CFP không sử dụng CSMA/CA
Một siêu khung có thể có hai phần, là phần chủ động (Active Period) và phần bị động (Inactive Period) như hình dưới. Cấu trúc của siêu khung được miêu tả bởi giá trị macBeaconOrder(BO), miêu tả khoảng thời gian mà Coordinator sẽ truyền các khung Beacon, và macSuperframeOrder(SO), là độ dài của phần chia chủ động của siêu khung, kể cả khung Beacon.
Hình 3. 20: Cấu trúc siêu khung với khoảng chủ động và bị động [4, tr62]
Độ dài của siêu khung (BI) và độ dài của phần hoạt động được tính toán theo các công thức:
BI = aBaseSuperframeDuration * 2BO (symbol) với 0≤BO≤14
(BI cũng chính là khoảng cách giữa 2 beacon., giá trị của
macSuperframeOrder sẽ được bỏ qua nếu BO=15).
SD = aBaseSuperframeDuration * 2SO (symbol) với 0 ≤SO≤BO≤15.
Nếu SO =15 thì siêu khung không còn phần chia chủ động sau Beacon. Nếu BO=15 cấu trúc siêu khung không tồn tại, và giá trị macSuperframeOrder sẽ được bỏ qua và mạng ở trạng thái này được gọi là mạng không sử dụng gói tin Beacon.
Phần chủ động (Active Period) của mỗi một siêu khung sẽ chia thành 16 khe thời gian bằng nhau đánh số từ 0 đến 15, tạo thành 3 phần: Beacon, CAP và CFP. Beacon sẽ được truyền bắt đầu tại khe số 0, CAP sẽ ngay sau Beacon và CFP (nếu có) sẽ được chia thành các GTS ngay sau CAP và kéo dài cho đến lúc kết thúc khoảng thời gian chủ động của siêu khung. Các trạm điều phối PAN Coordinator muốn sử dụng cấu trúc siêu khung để truyền thông sẽ đặt giá trị macBeaconOrder
từ 0 đến 14 và đặt giá trị macSuperframeOrder nằm giữa 0 và giá trị của macBeaconOrder.
Nếu các trạm điều phối PAN Coordinator không muốn sử dụng cấu trúc siêu khung, nó sẽ đặt cả macBeaconOrder và macSuperframeOrder là 15. Trong trường hợp này, trạm điều phối Coordinator sẽ không truyền các Beacon, việc truyền các khung sẽ sử dụng kỹ thuật unslotted CSMA/CA để truy cập kênh truyền (ngoại trừ khung báo nhận) và các GTS sẽ không được phép sử dụng.
Trong mạng, các trạm điều phối đều có thể truyền beacon và tự tạo ra cấu trúc siêu khung của riêng mình, Các trạm điều phối có thể truyền beacon trong khoảng thời gian thụ động (inactive period) của trạm điều phối PAN. Phần thời gian
phận thu phát của mình để tiết kiệm nguồn năng lượng pin cho nút.
CAP (Contention Access Period):
Khoảng thời gian CAP sẽ bắt đầu ngay sau Beacon và kết thúc trước khi bắt đầu CFP trên siêu khung. Nếu CFP có độ dài là 0, CAP sẽ kết thúc tại thời điểm kết thúc của siêu khung.
CAP có thể được dùng một phần để tăng độ dài khung Beacon nếu cần thiết để thực hiện duy trì GTS. Nó có thể co lại hoặc dãn ra một cách động để sửdụng kích thước của CFP. Các khung dữ liệu (trừ khung báo nhận -ACK) sẽ được truyền trong CAP bằng kỹ thuật CSMA/CA để truy cập kênh truyền. Một thiết bị đang truyền sẽ đảm bảo rằng việc đang thực hiện sẽ hoàn thành xong trước một khoảng thời gian giữa 2 khung (IFS- Interframe Space), bao gồm cả việc nhận được khung báo nhận, nếu không nó sẽ trì hoãn để truyền trong CAP của siêu khung tiếp theo.
CFP (Contention Free Period):
Khoảng CFP sẽ được bắt đầu ngay sau CAP (nếu có) và hoàn thành trước khi bắt đầu phát Beacon tiếp theo. Khoảng CFP được chia thành các khe thời gian GTS được chỉ định cho từng thiết bị có thể truyền dữ liệu trong mỗi khe thời gian. GTS được sắp xếp bởi bộ điều phối PAN sau khi đã nhận được các yêu cầu truyền dữ liệu (GTS Request) của các nút trong mạng và dựa trên tiêu chí “yêu cầu đến trước thì đặt chỗ trước” FCFS (First come- First Served). Các GTS được đặt liên tiếp cho đến khi kết thúc siêu khung. Trong khoảng CFP/GTS không sử dụng kỹ thuật CSMA/CA.
Phương pháp truy nhập CSMA/CA (Backoff):
Cơ chế truy nhập kênh trong mạng Zigbee (IEEE 802.15.4) là CSMA/CA, mỗi khi thiết bị trong mạng có nhu cầu truyền dữ liệu, thiết bị sẽ thực thi cơ chế xác định kênh rỗi CCA. Nếu thiết bị tìm thấy có kênh rỗi, nó sẽ bắt đầu quá trình truyền dữ liệu của mình. Chỉ có hai trường hợp trong mạng không dùng cơ chế CSMA/CA là trường hợp truy cập kênh sử dụng khe thời gian GTS và trường hợp truyền dữ liệu ngay lập tức sau khi nhận được gói tin xác nhận ACK khi thiết bị yêu cầu trực tiếp đến bộ điều phối.
Mạng Zigbee (IEEE 802.15.4) sử dụng 2 cơ chế truy nhập bao gồm :
- Slotted CSMA/CA: sử dụng trong mạng có dùng gói tin beacon và sử dụng cấu trúc siêu khung được chia thành 16 khe thời gian, mỗi nút sẽ dùng cơ chế back-off để lùi lại một khoảng thời gian ngẫu nhiên khi phát hiện ra kênh truyền đang bận để giảm thiểu xung đột trong mạng. - Unslotted CSMA/CA: sử dụng trong mạng không dùng gói tin beacon và không dùng cấu trúc siêu khung. Cơ chế back-off lùi cũng được áp dụng ở trong cơ chế này.
- Ở cả hai chế độ, Chu kỳ backoff sẽ được gán bằng giá trị quy định ở tầng MAC aUnitBackoffPeriod (symbol) (giá trị mặc định là 20 symbol)
Cả hai cơ chế đều được mô tả với lưu đồ hình 3.21, với 3 tham số chính được sử dụng:
- Số mũ back-off BE (Back-off Exponent): là là số lượng khoảng chờ mà trạm sẽ đợi để truy nhập kênh.
- Số lần thực hiện back-off BN (Number of Back-off): giá trị khởi tạo bằng 0.
- Kích thước cửa sổ tranh chấp CW (Contention Window): khởi tạo là 2 trước mỗi lần thử truyền và sẽ được khởi tạo lại là 2 mỗi lần kênh truyền được quyết định là bận. CW chỉ sử dụng cho slotted CSMA/CA.
- Ngoài ra, có macMinBE là giá trị nhỏ nhất của số mũ chờ trong phương pháp CSMA/CA, là một số nguyên có giá trị trong đoạn [0,3] và có giá trị mặc định là 3 và aMax là giá trị lớn nhất của số mũ chờ trong phương pháp CSMA/CA có giá trị mặc định là 5
Hình 3. 21: Phƣơng pháp Slotted CSMA/CA và Unslotted CSMA/CA [4, tr70]
Trong lưu đồ, ta thấy được mỗi lần phát hiện ra cơ chế kênh bận bằng CCA, thuật toán sẽ lùi một khoảng thời gian ngẫu nhiên và giá trị BE xác định phạm vi của khoảng thời gian ngẫu nhiên này theo công thức:
Back-off = (Một số ngẫu nhiên giữa 0 tới 2BE -1) x aUnitBackoffPeriod
Giá trị khởi tạo của BE bằng với giá trị macMinBE trong cơ chế unslotted CSMA/CA. Trong cơ chế CSMA/CA, lựa chọn mở rộng vòng đời năng lượng BLE (Battery Life Extension) cũng ảnh hưởng đến giá trị BE. Nếu BLE được kích hoạt,