蓝牙是一种作业在免费的ISM频段(2.4GHz)的短距离无线通讯技能,在各种设备之间完成灵敏、安全、低本钱、低功耗的语音和数据通讯。它选用自适应跳频(AFH)技能,能够和多种无线通讯共存于ISM频段,与同用于短距离无线通讯的Zigbee和UWB比较,蓝牙协议和标准愈加完善,设备间共同性和互连通性好,并且以Profile的方法界说了详细运用的完成方法,然后确保了兼容性。一款老练安稳的蓝牙产品的规划面对许多技能上的应战,结合自己规划一款车载蓝牙设备的开发经历,笔者从配对列表办理、衔接办理、时钟规划三个方面讲下相关关键技能及开发。
衔接机制剖析
物理信道(physical channel)是蓝牙体系的最底层结构,经过伪随机跳频序列、发送时槽守时、接入码及帧头编码来表征。蓝牙针对不同运用界说了一系列物理信道,包含用于匹克网内设通讯的匹克网物理信道、用于寻呼设备的寻呼扫描物理信道和用于查找设备的查找扫描物理信道。两台设备有必要选用相同的物理信道才干进行通讯。
主从设备树立衔接的进程就是树立相同匹克网信道的进程,该进程确保主从设备以相同的守时和次第进行载波频率的跳变,进行数据传输,一起能够依据匹克网接入码和帧头编码进行数据过滤和解析,防止和其他设备在同一个频段上的相撞。
寻呼扫描物理信道(page scan physical channel)用于主设备寻呼从设备,是设备树立衔接的必经阶段。寻呼扫描跳频序列和寻呼恳求帧的设备接入码(DAC)是由从设备物理地址运算,处于可被衔接形式的从设备以固定的周期(由page scan interval决议)在一个固定的时刻窗(由page scan window决议)内以某个跳频频率监听主设备的寻呼恳求。
主动衔接
为了便利用户的运用,大多蓝牙设备都完成了主动衔接功能,依据以上对蓝牙衔接机制的剖析,规划主动衔接计划时有必要考虑设备在不同的作业状态下选用不同的物理信道和跳频序列,而不能依照人为的逻辑随意设置,不然会给用户带来不方便。
以车载免提设备为例,上电主动衔接对驾驶员来说能够进步运用车载免提的自觉性,下降行车期间通话带来的危险。选用查找方法判别设备是否在有用范围内,依照优先级从低到高衔接,最终一次衔接的手机为优先级最高的,然后依照配对列表的逆序而优先级顺次下降。链路丢掉后的主动衔接只针对最终一部手机,这样能够完成服务的连续性。
时钟规划
蓝牙中心标准要求时钟频率精度为±20ppm,假如载波频率不安稳,则会发生“过零点”过错(zero-cross)。载波频率由本地时钟(晶振)做为PLL的参阅时钟倍频发生。一般说来,蓝牙设备的时钟规划就是指晶振电路的规划及微调。
决议晶振作业精度的两个重要参数是制作公役和温度安稳度,假如挑选有源晶振作为本地时钟,需求满意:制作公役+温度安稳度≤±20ppm,有源晶振内部集成晶体和相应的振动电路,匹配准确,频率安稳性高,并且抗干扰性能好,缺陷是本钱较高。
图1 震动电路规划
本文自行规划的振动电路如图1所示。
挑选温度安稳性高、制作公役低的高精度晶体,经过振动电路规划完成谐振频率的准确调整,这是由晶体负载电容的匹配及可调完成的。负载电容是指CRY_IN和CRY_OUT两头的电容值,在晶体的CRY_IN引脚上并联一个可调电容,调整该电容便能够对谐振频率进行精细微调。晶体负载电容计算公式如下:
Cload=Cint+(Cin+Ctrim)×Cout/(Cin+Ctrim+Cout)
Cint包含%&&&&&%内部电容(一般为固定值)以及PCB杂散%&&&&&%(3pF~5pF)。
配对列表办理
为了确保链路级的安全,蓝牙通讯要求设备在衔接树立前进行“双向认证”。认证成功的条件是设备两边存储了相同的链路密钥Kab,配对是发生初始密钥Kint的阶段,Kint由PIN码、从设备蓝牙地址和主设备发给从设备的一个随机数由一套固定的算法计算出来,只需PIN码共同,主从设备生成的的Kint也是共同的。链路密钥的输入是主从设备的蓝牙地址和主从设备各一随机数,只需主从设备能交换随机数,便能得到共同的Kab。主设备将随机数RandA与Kint异或的成果发给从设备,从设备只将该成果与Kint异或便得到RandA,即
配对列表的办理包含增加、代替及删去,增加配对设备是在非易失性存储中存储该设备的蓝牙地址及Kab。删去配对设备需求慎重处理,假如存在衔接,需求先断开衔接然后删去,由于假如删掉该设备而有一种运用的衔接没有断开,会存在暂时密钥用于当时运用,这时不经配对也能够衔接上其他运用,违反了蓝牙安全性要求。
结语
一款老练安稳的蓝牙产品开发需求在深化了解蓝牙协议栈的基础上不断完善运用程序,笔者从配对、衔接和时钟规划三个方面论说了相关技能和开发关键,期望能够带来一些有利的学习。