藍牙—RFCOMM協議

RFCOMM是一個簡單的協議,其中針對9針RS-232串口仿真附加了部分條款.可支持在兩個藍牙設備之間同時保持高達60路的通訊鏈接.RFCOMM的目的是針對如何在兩個不一樣設備上的應用之間保證一條完整的通訊路徑。php

image

1.RFCOMM服務概述

RFCOMM仿真RS232串口,該仿真過程包括非數據通路狀態的傳輸。RFCOMM不限制人工速率或步長,若是通訊鏈路兩端的設備都是負責將數據轉發到其餘通訊介質的第二類設備,或在兩端RFCOMM設備接口上進行數據傳輸,實際數據吞吐通常將反映波特率的設置.RFCOMM支持兩個設備之間的多串口仿真,也支持多個設備多串口的仿真.服務器

1.1 RS232控制信令ide

RFCOMM提供針對9針RS-232接口的仿真.ui

image

1.2 空MODEM仿真

RFCOMM基於TS 07.10,當設備準備傳輸非數據通路的狀態信息時,TS07.10不區分DTE和DCE設備,而是經過RS232控制信號來表示DTE/DCE各自的信號.以下表反映其映射關係.spa

當兩同類設備互聯時,TS07.10傳輸RS232控制信號的方式就會建立空MODEM,代理

image

1.3 多串口仿真

1.兩設備間的多串口仿真blog

兩個採用RFCOMM進行通訊的BT設備能夠同時打開多個串口,最多60個,可是一個設備打開端口數根據實際實現而不一樣.接口

image

一個數據連接標識(DLCI)惟一標識對客戶和服務器之間的持續鏈接.DLCI長度爲6bit,可用值區間爲2~61.TS07.10中,DLCI 0 爲控制信道,DLCI 1根據服務器信道概念不能使用,DLCI 62-63保留使用,DLCI在兩個設備間的RFCOMM會話中保持一致.get

在一次RFCOMM會話中,客戶和服務器應用能夠分佈在通訊的兩端,每一段的客戶均可以獨立發起創建通訊鏈接。所以RFCOMM服務器信道的概念將DLCI值域空間在兩個正在進行通訊的設備間進行劃分。同步

2.多仿真串口和多BT設備.

若是BT設備支持多串口仿真,通訊鏈接兩端容許使用不一樣BT設備,那麼RFCOMM實體必須可以運行多個TS07.10多路複用器會話,每一多路複用器都是用其L2CAP信道ID(CID)。RFCOMM能夠選擇支持TS07.10多路複用器的多個會話.

2. 服務接口描述

RFCOMM目的在於定義一個可以利用仿真串口的協議。

image

image

3.採用TS07.10子集和TS07.10的修正後的RFCOMM

3.1 RFCOMM的幀結構

RFCOMM不使用TS07.10基本幀格式中的開始和結束標誌,而僅適用包含在L2CAP層和RFCOMM層間交換標誌的那些域。

image

1.地址字段(Address Field)

地址字段佔一個字節,它包括DLCI(Data Link connection identifier,數據鏈路連接標識),C/R位和地址字段擴展位(EA),其中在DLCI(第三位到第八位)中D位表示方向.

image

對於一次RFCOMM會話,發起方設備方向位(Direction bit)設爲D=1(相反則D=0),當在已有的RFCOMM會話上創建一條新的數據連接時,方向位用於服務器端通道相關,以肯定其DLCI,從而創建到特定應用的鏈接.鏈接創建後,DLCI就在兩端間的兩個方向上傳輸數據分組.DLCI值域實際上分爲兩部分,非發起方設備上的應用使用DLCI偶數號訪問,發起方設備上的應用則使用DLCI奇數號,對於一個支持多路同步RFCOMM會話的設備,方向位不必定在全部會話中都一致.

一個在已有會話上創建新的DLC的RFCOMM實體,將其餘設備使用的服務器通道和該會話方向位的求反值組合爲DLCI。

DLCI不只是標誌着我的用戶信息流,並且標誌着鏈接着TE和MS之間的鏈路。DLC是動態分配的.

image

DLC0用於控制信道.

C/R(Command/Response)位表示的是此幀是一個命令仍是一個響應.和HDLC規則同樣,命令幀包含數據鏈路鏈接的地址是目的地的地址,而應答幀包含的是應答方的地址,對於給定的DLCI,命令和應答的地址字段的DLCI值是同樣的,就是C/R位不一樣.

image

2.控制字段(Control Field)

image

image

image

image

4. 流控制

RFCOMM協議提供兩類流控制協議:

<1>RFCOMM協議定義了能對兩RFCOMM實體之間所有數據流操做的流控制指令,對全部的DLCI都起做用.

<2>調制解調器狀態指令實質就是可操做單個DLCI的流控制機制.

image

端口仿真實體將系統指定通訊端口映射與RFCOMM服務,端口代理實體將數據從RFCOMM轉發至鏈接DCE設備的外部RS232接口,RS232接口的通訊參數根據接受的RPN指令進行設置.

相關文章
相關標籤/搜索