Cỏch thức hoạt động của Bluetooth

Một phần của tài liệu Xây dựng hệ thống quản lý tiên tiến cho môi trường cảm thụ (Trang 31 - 39)

2.2. Cụng nghệ Bluetooth

2.2.5. Cỏch thức hoạt động của Bluetooth

2.2.5.1 Cơ chế truyền và sửa lỗi

Kỹ thuật Bluetooth thực sự là rất phức tạp. Nú dựng kỹ thuật nhảy tần số trong

Nguyễn Quang Huy 30

Bluetooth dựng chiến lược nhảy tần để tạo nờn sức mạnh liờn kết truyền thụng và truyền thụng thụng minh. Cứ mỗi lần gửi hay nhận một packet xong, Bluetooth lại nhảy sang một tần số mới, như thế sẽ trỏnh được nhiễu từ cỏc tớn hiệu khỏc.

So sỏnh với cỏc hệ thống khỏc làm việc trong cựng băng tần, súng radio của Bluetooth nhảy tần nhanh và dựng packet ngắn hơn. Vỡ nhảy nhanh và packet ngắn sẽ làm giảm va chạm với súng từ lũ vi súng và cỏc phương tiện gõy nhiễu khỏc trong khớ quyển.

Cú 3 phương phỏp được sử dụng trong việc kiểm tra tớnh đỳng đắn của dữ liệu truyền đi:

• Forwad Error Corrrection: thờm 1 số bit kiểm tra vào phần Header hay Payload của packet.

• Automatic Repeat Request: dữ liệu sẽ được truyền lại cho tới khi bờn nhận gửi thụng bỏo là đó nhậnđỳng.

• Cyclic Redundancy Check: mó CRC thờm vào cỏc packet để kiểm chứng liệu

Payload cú đỳng khụng.

Bluetooth dựng kỹ thuật sửa lỗi tiến FEC (Forward Error Correction) để sửa sai do nhiễu tự nhiờn khi truyền khoảng cỏch xa. FEC cho phộp phỏt hiện lỗi, biết sửa sai và truyền đi tiếp (khỏc với kỹ thuật BEC-Backward Error Control chỉ phỏt hiện, khụng biết sửa, yờu cầu truyền lại).

Giao thức băng tần cơ sở (Baseband) của Bluetooth là sự kết hợp giữa chuyển mạch và chuyển đổi packet. Cỏc khe thời gian cú thể được dành riờng cho cỏc packet phục vụ đồng bộ. Thực hiện bước nhảy tần cho mỗi packet được truyền đi. Một packet trờn danh nghĩa sẽ chiếm 1 timeslot, nhưng nú cú thể mở rộng chiếm đến

3 hay 5 timeslot.

Bluetooth hỗ trợ 1 kờnh dữ liệu bất đồng bộ, hay 3 kờnh tớn hiệu thoại đồng bộ nhau cựng một lỳc, hay 1 kờnh hỗ trợ cựng lỳc dữ liệu bất đồng bộ và tớn hiệu đồng bộ.

Nguyễn Quang Huy 31

2.2.5.2 Quỏ trỡnh hỡnh thành một Piconet

Hỡnh 8: Mụ hỡnh Piconet

Một Piconet được hỡnh thành bằng bốn cỏch:

• Cú Master rồi, Master thực hiện Paging để kết nối với một Slave.

• Một Unit (Master hay Slave) lắng nghe tớn hiệu (code) mà thiết bị của nú truy cập được.

• 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 hay PAGE sẽ bắt đầu. Tiến trỡnh Inquiry cho phộp 1 Unit phỏt hiện cỏc Unit khỏc trong tầm hoạt động cựng với địa chỉ và đồng hồ của chỳng.

Tiến trỡnh Paging mới thực sự là tạo kết nối. Kết nối chỉ thực hiện giữa những thiết bị mang địa chỉ Bluetooth. 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.

Trong tiến trỡnh paging, cú thể ỏp dụng vài chiến lược paging. Cú một chiến lược paging bắt buộc tất cả cỏc thiết bị Bluetooth đều phải hỗ trợ, chiến lược dựng khi cỏc Unit gặp trong lần đầu tiờn, và trong trường hợp tiến trỡnhpaging theo ngay sau tiến trỡnh inquiry. Hai Unit sau khi kết nối nhờ dựng chiến lược bắt buộc này, sau đú cú thể chọn chiến lược paging khỏc.

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 theo như Slave yờu cầu.

Chỉ cú Master gửi tớn hiệu POLL cho Slave, ngược lại khụng cú. Cỏc vai trũ của thiết bị trong Piconet là:

Nguyễn Quang Huy 32

• Standby: khụng làm gỡ cả.

• Inquiry: Tỡm thiết bị trong vựng lõn cận. • Paging: Kết nối với một thiết bị cụ thể. • Connecting: Nhận nhiệm vụ.

Hỡnh 9: Quỏ trỡnh truy vấn tạo kết nối

Khi thiết bị tạo paging muốn tạo cỏc kết nối ở cỏc tầng trờn, nú sẽ gửi yờu cầu kết nối host theo nghi thức LMP (Link Manament 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ếtnố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).

Khi thiết bị khụng yờu cầu bất kỳ thủ tục thiết lập liờn kết từ xa nào cả, núsẽ gửi thụng điệp "thiết lập hoàn thành". Thiết bị này vẫn nhận được yờu cầu từ cỏc thiết bị khỏc. Khi một thiết bị khỏc đó sẵn sàng tạo liờn kết, nú cũng gửi thụng điệp "thiết lập hoàn thành". Sau đú 2 thiết bị cú thể trao đổi packet trờn kờnh logic khỏc với LMP.

2.2.5.3 Quỏ trỡnh hỡnh thành Scatternet

Một Master hay 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 hay 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.

Nguyễn Quang Huy 33

Hỡnh 10: Minh họa một Scatternet

Cỏc kết nối bờn trong một Piconet được thiết lập thụng qua cỏc unit chia sẻ, unit này thuộc về 2 hay nhiều Piconet, núdựng kỹ thuật phõn chia thời gianđể chuyển đổi qua lại giữa cỏc Piconet.

2.2.5.4 Cỏc tầng giao thức trong Bluetooth

Nguyễn Quang Huy 34

Cỏc giao thức cốt lừi trong Buletooth:

• Bluetooth Radio • Baseband

• Link Manager Protocol – LMP

• Logical Link Control and Adaptation Protocol – L2CAP • Radio Frequency Communication – RFCOMM

• Service Discovery Protocol – SDP • Telephony Control Protocol – TCP • Adopted Protocols – AP

2.2.5.5 Bluetooth Radio

Tầng Bluetooth radio là tầng thấp nhất được định nghĩa trong đặc tả Bluetooth. Nú định nghĩa những yờu cầu cho bộ phận thu phỏt súng hoạt động ở tần số 2.4GHz ISM (Industrial, Scientific, and Medical). Băng tần ISM là tần khụng cần đăng kớ được dành riờng để dựng cho cỏc thiết bị khụng dõy trong cụng nghiệp, khoa học và y tế.

Nhờ giao tiếp bằng súng radio mà dữ liệu Bluetooth cú thể xuyờn qua cỏc vật thể rắn và phi kim.

Bluetooth được thiết kế để hoạt động ở mức năng lượng rất thấp. Đặc tả đưa ra 3 mức năng lượng từ 1mW tới 100 mW

• Mức năng lượng 1 (100mW): Được thiết kế cho những thiết bị cú phạm vi hoạt động rộng (~100m).

• Mức năng lượng 2 (2.5mW): Cho những thiết bị cú phạm vi hoạt động thụng thường (~10m).

• Mức năng lượng 3 (1mW): Cho những thiết bị cú phạm vi hoạt động ngắn

(~10cm).

2.2.5.6 Baseband

Baseband protocol nằm ở tầng vật lý của Bluetooth. Nú quản lý những kờnh

truyền và liờn kết vật lý tỏch biệt khỏi những dịch vụ khỏc như sửa lỗi, chọn bước nhảy và bảo mật. Tầng Baseband nằm bờn trờn tầng radio trong chồng giao thức của Bluetooth. Baseband protocol được cài đặt như là một

Link Controller. Nú cựng với Link Manager thực hiện những cụng việc ở mức thấp như kết nối, quản lý năng lượng. Tầng Baseband cũng quản lý những kết nối đồng bộ và khụng đồng bộ, quản lý cỏc gúi tin, thực hiện tỡm kiếm và yờu cầu kết nối đến cỏc thiết bị Bluetooth khỏc. 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

Nguyễn Quang Huy 35

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.

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ấtcả 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 parkedSlave để 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.2.5.7 Link Mannager Protocol

Link Manager (LM) thực hiện việc thiết lập kờnh truyền, xỏc nhận hợp lệ, cấu hỡnh kờnh truyền. Nú tỡm kiếm những LM khỏc và giao tiếp với chỳng thụng qua Link Manager Protocol. Để thực hiện được vai trũ của mỡnh, LM dựng những dịch vụ do tầng Link Controller bờn dưới cung cấp.

Về cơ bản, cỏc lệnh LMP bao gồm cỏc PDU (Protocol Data Unit – Xem thờm

trong phần SDP bờn dưới) được gửi từ thiết bị này sang thiết bị khỏc.

2.2.5.8 Host Controller Interface

HCI cung cấp một giao diện cho phộp cỏc tầng bờn trờn điều khiển

Baseband Controller và Link Manager, đồng thờicho phộp truy cập đến trạng thỏi của phần cứng và cỏc thanh ghi điều khiển. Về bản chất, giao diện này cung cấp một phương thức duy nhất để truy cập đến những khả năng của băng

tần cơ sở. HCI tồn tại trong 3 phần: Host – Transport layer – Host controller.

Mỗi phần đúng một vai trũ khỏc nhau trong hệ thống HCI.

Host Controller Transport Layer gồm cú:

• UART Transport Layer: Mục tiờu của HCI UART Transport Layer là cho phộp dựng Bluetooth HCI thụng qua giao diện serial giữa 2 UART. UART là viết tắt của từ Universal Asynchronous Receiver – Transmitter. UART dựng để truyền và nhận tớn hiệu thụng qua giao tiếp serial khụng đồng bộ.

• RS232 Transport Layer: Mục tiờu của HCI RS232 Transport Layer là cho phộp dựng Bluetooth HCI thụng qua giao diện RS232 giữa Bluetooth Host và Bluetooth Host Controller. RS232 là một chuẩn cụng nghiệp về truyền nhận dữ liệu thụng qua cổng serial.

Nguyễn Quang Huy 36

• USB Transport Layer: Mục tiờu của HCI Universal Serial Bus (USB) Transport Layer là cho phộp dựng giao diện USB cho phần cứng Bluetooth.

2.2.5.9 Logical link control and adaption protocol (L2CAP)

L2CAP nằm bờn trờn giao thức băng tần cơ sở (Baseband protocol) và nằm ở tầng Data Link. L2CAP cung cấp những dịch vụ hướng kết nối (connection- oriented) và phi kết nối (connectionless) cho những tầng giao thức bờn trờn. L2CAP cú khả năng phõn kờnh (multiplexing), phõn đoạn (segmentation), tỏi tổ hợp (reassembly operation). L2CAP cho phộp những giao thức ở tầng cao hơn và những ứng dụng truyền, nhận những dữ liệu. Mỗi gúi dữ liệu L2CAP tối đa 64 kilobytes.

Nhiều dịch vụ được cung cấp bởi L2CAP. Chỳng bao gồm cỏc phần:

• Connection: Thiết lập, cấu hỡnh, hủy kết nối. • Data: Đọc, ghi.

• Group: Tạo, đúng, thờm thành viờn, hủy thành viờn. • Information: Ping, lấy thụng tin.

• Connection-less traffic: Cho phộp, ngăn cấm.

2.2.5.10 RFCOMM Protocol

Giao thức RFCOMM cho phộp giả lập cổng serial thụng qua giao thức L2CAP. Giao thức này dựa trờn chuẩn ETSI TS 07.10. Chỉ cú một phần của chuẩn TS 07.10 được

dựng và được chỉnh sửa cho phự hợp với Bluetooth.

RFCOMM hỗ trợ tối đa 60 kết nối cựng một lỳc giữa 2 thiết bị Bluetooth. Số kết nối tối đa tựy thuộc vào nhà sản xuất. Đối với RFCOMM, một kết nối bao gồm 2 ứng dụng chạy trờn 2 thiết bị riờng biệt (2 thiết bị đầu cuối).

Về cơ bản, RFCOMM cung cấp cho 2 loại thiết bị:

• Loại thiết bị 1 là những đầu cuối như mỏy tớnh hay mỏy in.

• Loại thiết bị 2 là những thành phần dựng để truyền dữ liệu, chẳnghạn modem.

2.2.5.11 Service Discovery Protocol

SDP cho phộp cỏc ứng dụng tỡm kiếm những dịch vụ và thuộc tớnh của cỏc dịch

vụ cú trong một thiết bị Bluetooth. SDP. Điều này rất cần thiết bởi vỡ cỏc dịch vụ mà

một thiết bị Bluetooth cung cấp sẽ thay đổi tựy theo mỗi thiết bị.

SDP là một giao thức đơn giản với những yờu cầu tối thiểu về việc truyền dẫn bờn dưới. SDP dựng mụ hỡnh request / response với mỗi giao tỏc bao gồm một request protocol data unit (PDU) và một response PDU. Client sẽ gửi yờu cầu đến server,

và server sẽ trả lời ngược lại client.

Định dạng PDU: Mỗi PDU bao gồm 1 PDU header, theo sau là cỏc tham số

Nguyễn Quang Huy 37

• PDU ID: Xỏc định loại PDU cho biết ý nghĩa của nú và nú chứa loại tham số

nào.

• Transaction ID: Dựng để xỏc định duy nhất một request PDU và dựng để ỏnh xạ giữa response PDU và request PDU.

• Parameter length: Cho biết độ dài (tớnh bằng byte) của tất cả tham số chứa

trong PDU.

Partial response và continuation state: Vài request PDU cú thể yờu cầu cỏc

phản hồi cú kớch thước lớn hơn 1 response PDU. Trong trường hợp này, SDP server

sẽ phỏt sinh cỏc partial response chứa một phần của phản hồi, đồng thời kốm theo mỗi

partial response là một continuation state cho biết phản hồi đú cũn nhiều phầnnữa.

Quản lý lỗi: Trong trường hợp request PDU gửi đến server bị lỗi thỡ server sẽ

phảnhồi bằng một error PDU.

Một phần của tài liệu Xây dựng hệ thống quản lý tiên tiến cho môi trường cảm thụ (Trang 31 - 39)