参考:RFCOMM_SPEC_V12
DTE:Data Terminal Endpoint,通信终端
DCE: Data communication Endpoint,数据通信端
DLCI:Data Link Connection Identifier,数据链路连接标识。
1. RFCOMM是什么
(1) RFCOMM,Radio Frequency Communication,串口线性仿真协议。
(2) 蓝牙技术为电缆的替代技术,为了替代串型电缆连接方式,为建立在串口之上的传统应用提供接口,RFCOMM应运而生。
(3) RFCOMM是一个简单传输协议,提供了基于L2CAP协议的串行(9针RS-232)仿真,支持在两个蓝牙设备间高达60路的通信连接。
(4) RFCOMM的目的:在两个不同设备上的应用之间保证一条完整的通信路径。
2. RFCOMM在蓝牙协议栈的位置
3. 设备类型
RFCOMM只针对直连设备之间的连接,或者是设备与网络接入设备之间的互连。设备类型为如下两类:
- 通信终端:电脑,打印机,手机等。
- 数据通信端:通信段的一部分,如Modem。
4. RFCOMM服务概述
(1)RFCOMM提供的服务:
- RS-232串口仿真,其中包括非数据电路状态的传输。
- 空modem仿真
(2)RS-232控制信号
(3)空modem仿真
(4)多路串口仿真:RFCOMM支持60个串型端口仿真,但是设备具体支持多少个端口取决于具体实现。多路串口仿真分为两个设备间的多路串口仿真和多串口多设备仿真。
- 数据链路连接标识(DLCI):标识服务端和客户端应用层之间正在连接的数据链路,由6个bit组成,取值范围为2~61。
- DLC0:专有控制信道。
- DLC1:不可用。
- DLC62~63:预留。
- 两个设备间的多路串口仿真:
- 多串口多设备仿真:
如果一台蓝牙设备不只与一台蓝牙设备存在多路仿真串口,那么该设备上RFCOMM实体必须能够运行多个多路复用器(Multiplexer)会话,每个多路复用器会话会使用它们自己的L2CAP信道ID。
(5)服务接口描述
- 应用:利用端口通信接口
- 端口仿真实体:将系统通信接口(API)映射到RFCOMM服务,端口仿真实体与RFCOMM组成端口驱动
- RFCOMM:基于L2CAP提供透明数据流和控制信道,复用多个仿真串口。