RFCOMM WITH TS 07.10(1&2)

这份RFCOMM协议是ETSI TS 07.10的子集。

1 Introduction

RFCOMM协议是基于L2CAP协议提供的一种serial ports串口模拟。这份RFCOMM协议基于ETSI 标准 GSM 07.10的。这份文档不包括完整协议,reference中包含了GSM 07.10标准的相关部分。这份文档只包含了GSM 07.10的部分子集,和一些协议改写。此外,还包含了扩展的RFCOMM协议,主要在基于流控的强制认证。

1.1 Overview

RFCOMM是一个简单的模拟九线RS-232(ITU-T V.24)串口的传输协议。
RFCOMM在2个蓝牙设备间同时最多支持60个连接,实际并行连接数还要依具体情况来定。

1.2 Device Types

一个完整的RFCOMM链路包含了2个运行在不同设备(endpoints)上的应用。此处应用不是指end-user应用,而是指高层协议等。


RFCOMM WITH TS 07.10(1&2)_第1张图片

RFCOMM打算覆盖预计在设备上使用串口协议的应用。简单配置中,链路是一个设备与其他设备直接的蓝牙链路(direct connect)。如果链路是别的网络,那么蓝牙无线技术用于设备与别的网络连接设备(如调制解调器)之间的通信。RFCOMM只关应用于direct connect情况。
2种设备类型:
Type 1 是通信终端,如计算机和打印机
Type 2 是通信链路的一部分,如调制解调器
RFCOMM对于这2种设备不做区分。


RFCOMM WITH TS 07.10(1&2)_第2张图片

RFCOMM通信实例对这2种设备都支持。

2 RFCOMM Service Overview

RFCOMM对RS-232的串口模拟包含了非数据电路的状态传输。
对RFCOMM端口的波特率设置不会影响数据数据传输,因为RFCOMM不会人为限速。但是如果任一设备是type 2,或RFCOMM层以上会对数据传输做限制,那么RFCOMM层的数据传输也会收到设置的波特率影响。
RFCOMM支持2个设备间的多串口模拟,也支持多个设备间的串口模拟。

2.1 RS-2323 Control Sigals

RFCOMM模拟的RS-232接口如下


RFCOMM WITH TS 07.10(1&2)_第3张图片

2.2 Null Modem Emulation

RFCOMM基于GSM 07.10。当它用来传输非数据线路的状态时,G3M 07.10不区分DTE和DCE设备。RS-232的控制信号可被看作是独立的DTE/DCE信号。


RFCOMM WITH TS 07.10(1&2)_第4张图片

在2个已连接的相同类型的设备之间,GSM 07.10传输RS-232控制信号时是通过创建一个隐式的null modem。下图显示null modem是创建在2个DTE连接时。不是所有情况下null modem都能解决这个问题,但是RFCOMM上大多数能解决。


RFCOMM WITH TS 07.10(1&2)_第5张图片

2.3 Multiple Emulated Serial Ports

2.3.1 Multiple Emulated Serial Ports between two Devices

2个蓝牙设备用RFCOMM通信时可能会开启多个模拟串口。RFCOMM支持最多60个开启的模拟串口。但是设备内的端口数还需根据设备实际情况来定。
DLCI(Data Link Connection Identifier) GSM 07.10 标识了一个进行中的客户端与服务器之间的连接。DLCI由6bit表示,但是它的范围是2到61。在GSM 07.10中,DLCI 0 是控制信道。DLCI 1不用是因为服务器信道的概念。DLCI 62-63待用。2个设备间的每个RFCOMM会话的DLCI都是独一无二的。由于RFCOMM会话2端皆有可能是客户端或者服务器端,客户端建立的连接独立于其他连接,2端的DLCI值根据RFCOMM服务器信道来区分开。这个会在第5章详述。


RFCOMM WITH TS 07.10(1&2)_第6张图片

2.3.2 Multiple Emulated Serial Ports and Multiple Bluetooth Devices

如果蓝牙设备支持多个模拟的串口,并且允许连接建立在不同设备上,那么RFCOMM 实例则必须建立多个GSM 07.10多路会话。每个多路会话拥有自己的L2CAP信道ID(CID)。是否建立多路会话是RFCOMM可选机制。


RFCOMM WITH TS 07.10(1&2)_第7张图片

你可能感兴趣的:(RFCOMM WITH TS 07.10(1&2))