Chinaunix首页 | 论坛 | 博客
  • 博客访问: 387442
  • 博文数量: 214
  • 博客积分: 770
  • 博客等级: 军士长
  • 技术积分: 1969
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-08 01:22
文章分类

全部博文(214)

文章存档

2013年(110)

2012年(104)

我的朋友

分类:

2012-11-09 11:03:01

原文地址:蓝牙基带分组格式 作者:graylocus

    PS:这里讲的是基带物理层的分组。

    当在基带里作分组和消息的详细说明时,位排序必须遵循下列规则(即:Little Endian 格式)。
● b0 代表最低有效位(LSB)。
● LSB 是第一个发送位。
● 在例中 LSB 被放在左边位置上。
    基带控制器认为来自高层软件层中的第一位是b0。即:这是经无线发送的第一位。而且,数据帧在基带电平内产生。如头帧信息和有效信息头长度信息,用LSB先发送。例如:X=3 的3 位参数,其传输码值是b0 b1 b2=110,数位“1”首先经空中发送,最后才是数位“0”。

    每个分组由三个实体组成:识别码(又叫接入码)、头和有效信息,在格式中每个实体的位数也给出。
      
    
    
    识别码和头是一个固定值,分别用 72 位和54 表示,有效信息可表范围从0 到最大为2745 位。分组也具有几种不同的类型格式。如:分组可仅由识别码组成( 压缩格式,该方式参看本书中有关ID 分组的内容),也可以是用识别码和头组成的分组,或“识别码―头―有效信息分组”。

        

    每个分组都是用识别码作开始表示,若头信息紧随其后,则识别码长度是72 位,否则识别码长度是68 位。这种识别码主要用于同步、DC 补偿平衡和识别。识别码识别所有在匹克网的信道上的交换分组。在同匹克网中发送的所有分组优先相同信道识别码。在蓝牙系统接收机里,滑动相关器关联于识别码,且当超过门限电平时被激发,该激发信号被用于确定接收定时。识别码也被用于呼出和查询过程。在这种情况下,识别码自身就被当作一个信令消息,且既不是头也不是有效信息的表示。

    识别码类型:
    (1)信道识别码(CAC)。这是在物理信道上传输的分组,所以信道识别码作为首要识别标志。
    (2)设备识别码(DAC)。
    (3)查询识别码(IAC)。

    分组头信息格式:
    
    
1.AM_ADDR
    AM_ADDR 代表成员地址而且用来区分在匹克网上的不同的活动成员。在匹克网中有一个或多个从单元与主单元相连,为分别识别每个从单元,所以各个从单元在它们处于活动状态时都分配一个临时3 位地址值。在主单元和从单元之间进行分组交换时,每个从单元都带有自身的AM_ADDR 信息。即:在主―从分组和从―主分组里都要使用从单元的AM_ADDR。
    若主―从之间采用广播分组方式,那么保留所有的“全0”地址。但FHS 分组格式除外,在FHS 分组格式中可以使用“全0”成员地址,但它不是广播消息。从单元可以是处于脱离链接或暂时放弃它们的AM_ADDR状态,但当它们重新进入匹克网时,则必须重新分配新AM_ADDR。

2.TYPE
    分组可以有16 种不同类型。4 位类型码正好指出了这十六种不同类型结构。特别值得注意的是,类型码的解释取决于与分组相关的物理链接类型。首先它需要确认分组是以SCO 链接或是以ACL 链接发送,其次它还需要确认是以SCO 分组或以ACL 分组接收。同时类型码也展现了当前分组将有多少个时隙出现,这种方法使没有编址的接收设备不能在时隙的持续期间从传输信道里监听传输信息。有关各类分组的描述可见本书的有关章节内容。

3.FLOW(流量)
    该位被用于额外 ACL 链接分组的流量控制。当以ACL 方式链接,其接收器的RX 缓冲区已满或RX 正处于忙碌状态时,停止(STOP)指示(FLOW=0)将返回暂时停止数据的传输。注意,STOP 信号只涉及到ACL分组,分组包含链接控制信息(ID,POLL 和NULL 分组)或仍可以接收的SCO 分组。当RX 缓冲区为空时,则继续(GO)指示信息(FLOW=1)将返回。当没有分组可以接收或接收头信息有错,则GO 将以隐含的方式指示出来。

4.ARQN
    普遍使用1 位ARQN 指示来表明使用CRC 的有效载荷的正确传输。该确认指示可以是一个以ACK 表示的有效确认或是一个以NAK 表示的无效确认。
    若接收是成功的,则ACK(ARQN=1)返回,否则NAK(ARQN=0)返回。当没有接收到涉及确认返回信息时,系统将以NAK 形式隐含指示出来,实际上我们可将NAK 看作是默认返回的信息。ARQN 在返回分组头信息里稍带确认。接收正确的校验由循环冗余校验(CRC)码来校验。使用未编码的ARQ 方式意指ARQN 与来自同一源的最后接收到的分组有关。关于如何初始化和正确使用该信息位本书将在后面有关章节中叙述。

5.SEQN
    SEQN 提供一个序列码方式排列分组流的顺序。对每个包含使用CRC 数据新的传输分组,SEQN 位将反相。这就要求在接收点滤出重传过程。重传过程出现是因ACK 失败,导致收端将再重复接收一次同样的分组。通过对相邻分组的SEQN 比较,则正确接收的重传过程就可以不考虑。SEQN 必须存在头格式里,究其原因是因为在未编码的ARQ 方式里缺少分组编号。关于SEQN 位的初始化及如何合理使用该信息位,本书在后面有关章节中叙述。同时有关广播分组序列方法确定也在本书后面有关章节中叙述。

6.HEC
    为检测头完整性,每个头都有一个“头校验错”信息字。HEC 由一个8位字组成,该字由多项647(八进制数)生成。HEC 生成器用8 位值进行初始化。若FHS 分组以主呼叫响应状态发送,从单元使用高地址部分(UAP)。若FHS 分组以查询响应方式发送,此时就使用缺省校验初始化(DCI)。在其它情况里,主设备都采用UAP 方法。关于蓝牙系统中设备编址的定义,请参看蓝牙编址章节内容。在初始化后,HEC 形成10 位头。在校验HEC 之前,接收装置必须以适当的8 位UAP(或DCI)来初始化HEC 校验电路。如果HEC 没有校验,则忽略整个分组。更详细的内容参看本书的错误校验部分。




阅读(326) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~