蓝牙无线连接可靠性的研究与实现( 三 )


3.2.2 有效载荷的CRC校验
CRC校验即循环冗余码校验,是一种常用的检错编码,而且已经有相应的国际标准,如CRC-CCITT 。在蓝牙无线连接中,发送方按照国际标准CRC-CCITT,即g (D) = ( D1 ) ( D7D4 D3 D2 D 1),并用线性反馈移位寄存器LFSR硬件电路生成有效载荷(数据信息)的CRC校验码,附加在数据信息后面构成完整的数据帧,由接收方在接收时检查 。若出错,返回NAK,发送方收到NAK 后重发该数据帧 。
3.3 蓝牙基带协议中的其它可靠性措施
3.3.1 教据加噪
所有的分组头和载荷信息在发送前都要利用数据加噪字进行加噪处理 。这主要是为了避免在传输过程中出现过长的连续0或1的位流模式 。基带处理器需要从接收到的模拟数据信号中判定数据是0还是1,但过长的连续0或1位流会造成问题 。因为在接收到的模拟数据信号中并不存在象直流信号中那样的参考点,因此必须依靠接收到的最后几个传输信号进行校正 。任何连续的0或1的长序列位流串都可能导致校正失败 。因此需要采用数据加噪技术对信号进行扰码处理,以大大降低出现长序列0或1位流串的可能性 。
在蓝牙无线连接的发送方,这种加噪过程先于FEC编码完成 。在接收端,接收数据使用相同的数据加噪字进行还原处理,该还原处理在FEC解码后完成 。
3.3.2 链路监测
在无线连接中,有很多原因能够引起连接中断,比如,设备关闭、设备移出了蓝牙通信范围 。而且在连接中断发生时,通常不会有任何提前报警,所以,在蓝牙主、从单元两端对链路进行监测是非常必要的 。
为此,在蓝牙主、从单元均使用链路监测定时器 。一旦收到经过HEC校验的分组和正确的蓝牙活动成员地址(AMADDR),定时器就复位 。假如在连接状态的任何时刻,定时器达到阈值(该阈值可协商),则连接复位 。SCO和ACL 连接使用同一阈值 。这样,就能够在蓝牙主、从单元两端对链路进行监测了 。
4 蓝牙链路治理层(LM)中的可靠性措施
类似地,在蓝牙链路治理层(LM )中,也定义有保证可靠的无线连接的措施 。
在蓝牙接收和发送设备的链路治理层之间是通过协议数据单元(PDU)来相互通信的 。PDU 由操作码、事件ID和内容参数组成,其中,7 位操作码用来标识不同类型的PDU 。
假如链路治理器收到不能识别操作码的PDU,就用LMP no accepted协议数据单元(PDU)应答,并且LMP no accepted PDU中含有原

推荐阅读