Có 4 loại địa chỉ khác nhau có thể gán cho một thiết bị Bluetooth:
BD_ADDR, AM_ADDR, PM_ADDR, AR_ADDR.
_ BD_ADDR: Bluetooth Device Address. Là 48 bit địa chỉ MAC theo tiêu chuẩn IEEE quy định (Giống như địa chỉ MAC trên mỗi card mạng), xác
định duy nhất 1 thiết bị Bluetooth trên toàn cầu, trong đó 3 byte cho nhà sản xuất thiết bị và 3 byte cho sản phẩm.
Tìm hiểu công nghệ Bluetooth và viết ứng dụng minh họa
_ AM_ADDR: Active Member Address.Nó còn gọi là địa chỉ MAC (Media Access Control) của một thiết bị Bluetooth. Nó là một con số 3 bit dùng để
phân biệt giữa các active slave tham gia trong 1 piconet. 23 = 8 nên có tối đa 7 Slave active trong 1 piconet, còn 000 là địa chỉ Broadcast (truyền đến tất cả các thành viên trong piconet). Địa chỉ này chỉ tồn tại khi Slave ở trạng thái active.
_ PM_ADDR: Parked Member Address. Là một con số 8 bit, phân biệt các parked Slave. Do đó có tối đa 255 thiết bị ở trạng thái parked. Địa chỉ này chỉ tồn tại khi Slave ở trạng thái parked.
_ AR_ADDR: Access Request Address. Địa chỉ này được dùng bởi parked Slave để xác định nơi mà nó được phép gửi thông điệp yêu cầu truy cập tới.
2.5.2.4.Định dạng gói tin
Mỗi gói tin bao gồm 3 phần là Access code (72 bits) , header (54 bits) và payload (0-2745 bits)
Hình 2-22 Định dạng gói tin Bluetooth
Access code: Dùng để đồng bộ hóa, dùng trong quá trình tìm kiếm thiết bị và yêu cầu kết nối. Có 3 loại khác nhau của Access code: Channel Access Code (CAC), Device Access Code (DAC) and Inquiry Access Code (IAC). CAC dùng để xác định một piconet duy nhất, DAC dùng để thực hiện yêu cầu kết nối, IAC dùng để thực hiện tìm kiếm thiết bị.
Header: Chứa một số thông tin về packet như thứ tự của packet, địa chỉ đích, kiểm lỗi, v.v…
2.5.2.5.Quản lý trạng thái
Có 4 trạng thái chính của một thiết bị Bluetooth trong một piconet:
• Inquiring device (inquiry mode): Thiết bị đang phát tín hiệu tìm những thiết bị Bluetooth khác.
Tìm hiểu công nghệ Bluetooth và viết ứng dụng minh họa
• Inquiry scanning device (inquiry scan mode): Thiết bị nhận tín hiệu inquiry của inquiry device và trả lời
• Paging device (page mode): Thiết bị phát tín hiệu yêu cầu kết nối với thiết bịđã inquiry từ trước.
• Page scanning device (page scan mode): Thiết bị nhận yêu cầu kết nối từ
paging device và trả lời.
2.5.2.6.Thiết lập kết nối
2.5.2.6.1. Hình thành piconet
Một piconet được tạo bằng 4 cách:
• Có Master rồi, Master thực hiện paging để kết nối với 1 Slave
• Một unit (Master hay Slave) lắng nghe tín hiệu mà thiết bị của nó truy cập được (scaning)
• Khi có sự chuyển đổi vai trò giữa Master và Slave
• Khi có một unit chuyển sang trạng thái active
Để thiết lập một kết nối mới, tiến trình Inquiry và Paging sẽ bắt đầu. Tiến trình Inquiry cho phép 1 unit phát hiện các units trong tầm hoạt động cùng với địa chỉ và đồng hồ của chúng. Sau khi Inquiry, thiết bị thực hiện tiếp tiến trình Paging để thiết lập kết nối, sau khi được page scanning device chấp nhận kết nối mới thực sựđược thiết lập.
Unit nào thiết lập kết nối sẽ phải thực hiện tiến trình paging và tựđộng trở thành Master của kết nối.
Sau thủ tục paging (PAGE), Master thăm dò Slave bằng cách gửi packet POLL thăm dò hay packet NULL rỗng.
Chỉ có Master gửi tín hiệu POLL cho Slave, ngược lại không có. Khi thiết bị tạo paging muốn tạo các kết nối ở các tầng trên LM (link manager), nó sẽ gửi yêu cầu kết nối host theo nghi thức LMP (Link Manager Protocol). Khi unit quản lý host này nhận được thông điệp, nó thông báo cho host biết về kết nối mới. Thiết bị từ xa có thể chấp nhận (gửi thông điệp chấp nhận theo nghi thức LMP) hoặc không chấp nhận kết nối (gửi thông điệp không chấp nhận theo nghi thức LMP). Sau đó 2 thiết bị có thể trao đổi dữ liệu với nhau.
Tìm hiểu công nghệ Bluetooth và viết ứng dụng minh họa
2.5.2.6.2. Hình thành scatternet
Một Master/Slave của piconet này có thể thành Slave của piconet khác nếu bị Master của piconet khác thực hiện tiến trình paging với nó. Có nghĩa là bất kỳ unit nào cũng có thể tạo 1 piconet mới bằng cách paging một unit đã là thành viên của một piconet nào đó.
Ngược lại, bất kỳ unit nào tham gia trong 1 piconet, đều có thể thực hiện paging lên Master/Slave của piconet khác. Điều này có thể dẫn đến việc chuyển
đổi vai trò giữa Master và Slave trong kết nối mới này.
2.5.2.7.Các chếđộ kết nối:
_ Active mode: Trong chế độ này, thiết bị Bluetooth tham gia vào hoạt động của mạng. Thiết bị master sẽ điều phối lưu lượng và đồng bộ hóa cho các thiết bị slave.
_ Sniff mode: là 1 chế độ tiết kiệm năng lượng của thiết bị đang ở trạng thái active. Ở Sniff mode thiết bị slave lắng nghe tín hiệu từ mạng với tần số
giảm hay nói cách khác là giảm công suất. Tần số này phụ thuộc vào tham số của ứng dụng. Đây là chếđộ ít tiết kiệm năng lượng nhất trong 3 chế độ
tiết kiệm năng lượng.
_ Hold mode: là 1 chế độ tiết kiệm năng lượng của thiết bị đang ở trạng thái active. Master có thểđặt chếđộ Hold mode cho slave của mình. Các thiết bị
có thể trao đổi dữ liệu ngay lập tức khi thoát khỏi chếđộ Hold mode. Đây là chếđộ tiết kiệm năng lượng trung bình trong 3 chếđộ tiết kiệm năng lượng
_ Park mode: là 1 chế độ tiết kiệm năng lượng của thiết bị vẫn còn trong mạng nhưng không tham gia trong qua trình trao đổi dữ liệu (inactive). Thiết bị ở chế độ Park mode bỏ địa chỉ MAC, chỉ lắng nghe tín hiệu đồng bộ hoá và thông điệp broadcast của Master. Đây là chế độ tiết kiệm năng lượng nhất trong 3 chếđộ tiết kiệm năng lượng.
2.5.2.8.Những chức năng khác của Baseband
• Sửa lỗi
• Quản lý lưu lượng dữ liệu: Baseband dùng cấu trúc dữ liệu FIFO trong việc truyền và nhận dữ liệu
Tìm hiểu công nghệ Bluetooth và viết ứng dụng minh họa
• Đồng bộ hóa
• Bảo mật