设为首页 加入收藏

TOP

RFCOMM(一)
2023-07-23 13:26:57 】 浏览:71
Tags:RFCOMM

RFCOOMM协议

? 版本:v.12

? 发布日期:2012-01-06

? 小组编制人:

摘要:本文的通过指定ETSI TS 07.10标准的子集以及一些对于Bluetooth的适配,来定义RFCOMM协议。

 

目 录

第1章 介绍 1

1.1 概览 1

1.2 设备类型 1

1.3 字节序 2

第2章 RFCOMM服务概览 3

2.1 RS232控制信号 3

2.2 Null Modem模拟 3

2.3 多模拟串口 4

2.3.1 两个设备之间的多模拟串口 4

2.3.2 多模拟串口和多Bluetooth设备 5

第3章 服务接口描述 6

3.1 服务定义模型 6

第4章 RFCOMM支持的GSM 07.10子集 7

4.1 Options and Modes 7

4.2 Frame Types 7

4.3 Commands 7

4.4 Convergence Layers 7

第5章 GSM 07.10对于RFCOMM的适配 9

5.1 Media Adaptation 9

5.1.1 FCS calculation 9

5.1.2 P/F-Bit 9

5.1.3 CR Bit 9

5.2 GSM 07.10 Mutiplexer的开启和关闭过程 10

5.2.1 开启过程 10

5.2.2 关闭过程 11

5.2.3 Link loss的处理 11

5.3 系统参数 11

5.4 RFCOMM服务器通道的DLCI分配 12

5.5 Multiplexer控制命令 13

5.5.1 Remote Port Negotiation命令(RPN) 13

5.5.2 Remote Line Status命令(RLS) 13

5.5.3 DLC Parameter Negotiation (PN) 13

第6章 Flow Control 16

6.1 L2CAP Flow Control概览 16

6.2 Wired Serial Port Flow Control 16

6.3 GSM 07.10 Flow Control 16

6.4 Port Emulation Entity Serial Flow Control 17

6.5 Credit Based Flow Control 18

6.5.1 Initial DLC Negotiation 18

6.5.2 DLC操作 18

6.5.3 其他Flow Control方面 19

第7章 与其他实体的交互 20

7.1 Port Emulation和Port Proxy实体 20

7.1.1 Port Emulation实体 20

7.1.2 Port Proxy实体 20

7.2 Service Registration and Discovery 20

7.3 Lower Layer Dependency 21

7.3.1 Realiability 21

7.3.2 Low Power Mode 22

第8章 参考文献 23

第9章 缩略词列表 24

介绍

RFCOMM协议通过L2CAP协议提供串行端口仿真[2]。该协议是基于ETSI标准GSM 07.10[1]。本文档没有包含完整的规范,而是参考了GSM 07.10标准的相关部分。仅仅使用了GSM 07.10标准的一个子集,并且在本文档中,对该协议做了一些改编。此外,还添加了一个特定于 RFCOMM 的扩展,其形式为强制性的基于信用的流量控制方案。

概览

FRCOMM是一种简单的传输协议,并有模拟RS232(ITU-I V.24)的9针串行端口的附加规定。

RFCOMM协议支持在两个Bluetooth设备之间高达60 路同步连接。Bluetooth设备中可以同时使用的连接数量是特定于实现的。

设备类型

对于RFCOMM而言,完整的通信路径涉及运行在不同设备(通信端点)上的两个应用程序,它们之间有一个通信段。图1.1展示了完整的通信路径。(这种情况下,Application一词意味着终端用户以外的其他事物,比如代表最终用户应用程序的更高层协议或其他服务)

图1.1:RFCOMM 通信段

RFCOMM旨在涵盖使用其所在设备的串行端口的应用程序。在简单的配置中,通信段是从一个设备到另外一个设备的Bluetooth链路(直接连接),见图2.2。在通信段是另外一种网络的情况下,Bluetooth无线技术用于设备与调制解调器网络连接设备之间的路径。RFCOMM只关心直接连接情况下设备之间的连接,或者网络情况下设备与调制解调器之间的连接。RFCOMM可以支持其他配置,例如一面通过Bluetooth无线技术通信,另一面提供有线接口的模块,如图1.3所示。这些设备不是正在的调制解调器,但是提供同样的服务。因此这里没有明确讨论它们。

此规范支持如下两种设备类型的实现:

  • 第1类设备是通信终端,比如电脑和打印机
  • 第2类设备是通信段的一部分,不如调制解调器

尽管RFCOMM在协议中没有对这两种设备加以区分,但是适配中两种设备是会影响到RFCOMM协议的。

图1.2:RFCOMM直连

图1.3:传统COMM设备使用RFCOMM

RFCOMM实体之间传输的信息已经被定义,用以支持两种类型的设备。有些信息只是被第2种设备需要,为另外的在两种设备都可以使用。协议中没有区分类型1和类型2。因此,由RFCOMM的实现者来确定RFCOMM协议中传输的信息是否对实现有用。由于在通信路径中设备不清楚另外设备的类型,因此每个设备应传递协议规定的所有可用信息。

字节序

此文档使用与GSM 07.10规范中同样的字节序,比如所有的二进制数都是从Least Significant Bit 到 Most Significant Bit,从左到右读。

RFCOMM服务概览

RFCOMM模拟RS232(ITU-T V.24)串行端口。包括了对non-data线路状态的传输模拟。RFOMM有一个内置空调调制解调器模拟方案。

如果通过RFCOMM服务接口为特定的端口设置波特率,则不会影响到RFCOMM中实际的数据吞吐量,即RFCOMM不会产生人为的速率限制和调步。然而,如果任一个设备是第2类设备(将数据中继到其他媒体),或者如果数据调节在任一个或者两端的RFCOMM服务接口之上完成,实际吞吐量将平均翻译波特率设置。

RFCOMM支持两个设备之间的多路串行端口的模拟,并且支持多设备之间的串行端口模拟。

RS232控制信号

RFCOMM模拟RS-232的9针线路。如下列表中的定义。

Pin

Circuit Name

102

Signal Common

103

Transmit Data (TD)

104

Received Data (RD)

105

Request to Send (RTS)

106

Clear to Send (CTS)

107

Data Set Ready (DSR)

108

Data Terminal Ready (DTR)

109

Data Carrier Detect (CD)

125

Ring Indicator (RI)

表2.1 RFCOMM中模拟RS-232线路

Null Modem模拟

RFCOMM基于GSM 07.10。当需要传输non-data线路状态时,GSM 07.10 没有区分DTE和DCE设备。RS232控制信号作为多个独立的DTE/DCE信号发送,见表2.2。

GSM 07.10

Corresponding RS-232 Control Signals

RTC

DSR, DTR

RTR

RTS, CTS

IC

RI

首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇海思机顶盒Hi3798使用Hitool和TTL.. 下一篇MIPI扫盲——D-PHY介绍

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目