【昆天科BLE】协议篇2——链路层PARTB_3
本帖最后由 rf_smart 于 2014-8-4 22:41 编辑3、位流处理
以下处理流程必须在PDU上执行
3.1差错检测当一个包接收到时,首先需要检查访问地址(ACCESS ADDRESS),如果访问地址不正确,则该包被丢弃,否则该包将被接收。如果包CRC不正确,则该包被丢弃,否则该包被认为正确,只有有效的数据包才能被处理。一个CRC错误的数据包可能引起一个继续连接事件,参考4.5.1
3.1.1 CRC产生所有链路层的数据包都需要计算PDU的CRC。如果PDU是加密的,则先加密后进行CRC计算。CRC多项式是一个24位的CRC,并且PDU从最低位起所有位都需要参与计算。多项式为:
,对于所有数据信道的PDU,CONNECT_REQ PDU中链路层的通信与连接中所有的移位寄存器被设置为CRC初始值,每一个广播信道的PDU,移位寄存器被设置为0x555555。
CRC传输时从最高位bit23开始传输。
下图描述了如果产生一个CRC:
3.2数据白化数据白化是为了避免数据流中长序列的0或1,链路层数据包中的PDU及CRC都需要数据白化,并且数据白化的执行在CRC运算之后。接收方解数据白化执行在CRC运算之前。
数据白化与解白化使用相同的方式,使用了一个7位的线性反馈移位寄存器,其多项式为
。在数据白化与解白化之前,移位寄存器需要被初始化,初始化值是具有以下格式,并且由数据包传输的信道索引推导而来:1、位0为12、位1-6设置为收发时所使用的信道索引,位1为最高有效位,位6为最低有效位。如信道索引为23=0X17=1110 101B。
下图显示了数据白化的产生:
第三部分内容较少,好久没更新了,一直搞芯片去了。终于搞到芯片,焊板子去!
编辑原因:修改字体。
顶,不知道昆天科的BLE的性能方面怎么样? overheat 发表于 2014-8-4 22:44
顶,不知道昆天科的BLE的性能方面怎么样?
看我以前的帖子。话说你的教程怎么不更新了?原来还买有你的板子,后面就玩昆天科的了。 本帖最后由 overheat 于 2014-8-5 06:34 编辑
rf_smart 发表于 2014-8-4 22:47
看我以前的帖子。话说你的教程怎么不更新了?原来还买有你的板子,后面就玩昆天科的了。 ...
才发现,你的图片很有趣啊。
技术也要更新,刚才看了一下芯片介绍昆天科也很有特点,可能性价比是杀手锏。
现在昆天科的芯片是准备正式出货了吗?开发包都是正式版本吗? overheat 发表于 2014-8-5 06:30
才发现,你的图片很有趣啊。
技术也要更新,刚才看了一下芯片介绍昆天科也很有特点,可能性价比是杀手锏 ...
是正式版的,而且更新也比较快,实现了很多标准profile,最新的还实现了透传,但不提供源码,最高透传速率是51Kbps,官方提供软件测试。
页:
[1]