学院首页>冲浪宝典>IP通信>蓝牙技术与协议的开发应用与实现

蓝牙技术与协议的开发应用与实现

作者:Jerry 来源:赛迪论坛 添加时间:2006-5-26 11:45:24

1 什么是蓝牙技术
所谓蓝牙技术,实际上是一种短距离无线电技术,利用"蓝牙技术"能够有效地简化掌上电脑、笔记本电脑和移动电话手机等移动通信终端设备,并且能够成功地简化以上这些设备与因特网之间的通信,从而使这些现代通信设备与因特网之间的数据传输变得更加迅速高效,为无线通信拓宽道路。通俗地讲,蓝牙技术使得现代一些轻易携带的移动通信设备和电脑设备,不必借助电缆就能联网,并且能够实现无线上因特网。其实际应用范围还可以拓展到各种家电产品、消费电子产品和汽车等信息家电,组成一个巨大的无线通信网络。
 2 蓝牙技术的特点
2.1 蓝牙协议体系结构
整个蓝牙协议体系结构可分为底层硬件模块、中间协议层和高端应用层三大部分。链路管理层(LMP)、基带层(BBP)和蓝牙无线电信道构成蓝牙的底层模块。BBP层负责跳频和蓝牙数据及信息帧的传输。LMP层负责连接的建立和拆除以及链路的安全和控制,它们为上层软件模块提供了不同的访问人口,但是两个模块接口之间的消息和数据传递必须通过蓝牙主机控制器接口的解释才能进行。也就是说,中间协议层包括逻辑链路控制与适配协议(L2CAP)、服务发现协议(SDP)、串口仿真协议(RFCOMM)和电话控制协议规范(TCS)。L2CAP完成数据拆装、服务质量控制、协议复用和组提取等功能,是其他上层协议实现的基础,因此也是蓝牙协议栈的核心部分。SDP为上层应用程序提供一种机制来发现网络中可用的服务及其特性。在蓝牙协议栈的最上部是高端应用层,它对应于各种应用模型的剖面,是剖面的一部分。目前定义了13种剖面。
2.2 蓝牙低层模块
蓝牙的低层模块是蓝牙技术的核心,是任何蓝牙设备都必须包括的部分。
蓝牙工作在2.4GHZ的ISM频段。采用了蓝牙结束的设备讲能够提供高达720kbit/s 的数据交换速率。
蓝牙支持电路交换和分组交换两种技术,分别定义了两种链路类型,即面向连接的同步链路(SCO)和面向无连接的异步链路(ACL)。
为了在很低的功率状态下也能使蓝牙设备处于连接状态,蓝牙规定了三种节能状态,即停等(Park)状态、保持(Hold)状态和呼吸(Sniff)状态。这几种工作模式按照节能效率以升序排依次是:Sniff模式、Hold模式、Park模式。
蓝牙采用三种纠错方案:1/3前向纠错(FEC)、2/3前向纠错和自动重发(ARQ)。前向纠错的目的是减少重发的可能性,但同时也增加了额外开销。然而在一个合理的无错误率环境中,多余的投标会减少输出,故分组定义的本身也保持灵活的方式,因此,在软件中可定义是否采用FEC。一般而言,在信道的噪声干扰比较大时蓝牙系统会使用前向纠错方案,以保证通信质量:对于SCO链路,使用1/3前向纠错;对于ACL链路,使用2/3前向纠错。在无编号的自动请求重发方案中,一个时隙传送的数据必须在下一个时隙得到收到的确认。只有数据在收端通过了报头错误检测和循环冗余校验(CRC)后认为无错时,才向发端发回确认消息,否则返回一个错误消息。
蓝牙系统的移动性和开放性使得安全问题变得及其重要。虽然蓝牙系统所采用的调频技术就已经提供了一定的安全保障,但是蓝牙系统仍然需要链路层和应用层的安全管理。在链路层中,蓝牙系统提供了认证、加密和密钥管理等功能。每个用户都有一个个人标识码(PIN),它会被译成128bit的链路密钥(Link Key)来进行单双向认证。一旦认证完毕,链路就会以不同长度的密码(Encryphon Key)来加密(此密码以shit为单位增减,最大的长度为128bit)链路层安全机制提供了大量的认证方案和一个灵活的加密方案(即允许协商密码的长度)。当来自不同国家的设备互相通信时,这种机制是极其重要的,因为某些国家会指定最大密码长度。蓝牙系统会选取微微网中各个设备的最小的最大允许密码长度。例如,美国允许128bit的密码长度,而西班牙仅允许48bit,这样当两国的设备互通时,将选择48bit来加密。蓝牙系退口共享一个空的缓冲管理,复位后,空缓冲管理提供两个地址的空存储区。当接收到一个数据包时,就找出一个新的空存储区;当转发一个数据包时,相应的存储区就释放。
  
  2.2 以太网收发电路设计
  
  以太网收发电路如图3所示。主要由以太网收发芯片IP113、专用配置芯片EEPROM 93C46、LED显示矩阵,以及IP113的Port1与TP模块、Port2与FX模块之间的接口组成。
  

 

  IP113支持很多功能,通过设置适当的参数满足不同的需要,既可以由特定的管脚设定,也可以用EEPROM配置。为提高系统的整体性能,这里采用专用串行EEPROM 93C46芯片。系统复位时,管脚LED_SEL[1:0]分别作为93C46的时钟EESK和片选EECS,BP_KIND[1:0]分别作为93C46地址EEDI和数据输出EEDO,将93C46内部的参数读入IP113内部的寄存器。复位结束后,这些管脚均变成输入信号,以使IP113脱离93C46而独立工作。
  
  复位时,IP113首先读取93C46的00H中的内容,只有00H[15:0]=55AAH时,才会继续从EEPROM中读取参数,否则以缺省值或特定的管脚电平值设置工作寄存器。01H中的值设置LED输出控制寄存器,控制两个LED矩阵的亮、灭和闪烁,以分别显示两个端口的连接、活动、全/半双工和速率(10Mbps/100Mbps)。02H中的值设置交换控制寄存器1,选择系统的流控制方式和冲突保护。03H中的值设置交换控制寄存器2,控制系统的丢包、地址失效、优先级和算法补偿。04H中的值设置收发器控制寄存器,其中04H[13:11]的5种取值:000、100、101、110和111,分别对应收发器的5种工作状态:NWAY、10Mbps(半双工)、10Mbps(全、半双工)、100Mbps(半双工)和100Mbps(全、半双工)。05H~0AH中的值分别设置收发器确认寄存器、测试寄存器和验证方式寄存器。
  
 

  Port1的TXOP和TXOM是TP发射数据对,RXIP和RXIM是TP接收数据对。图4的TP模块电路中,RJ45接口将MLT-3码流以太网信号经过耦合脉冲变压器PE68515变为单极性信号。
  
  Port2的FXRDP和FQ赖慕峁固逑涤幸桓鼋衔娴牧私猓俅佑没У慕嵌攘私饫堆老低车母趴觯庋葑约鹤急缚⒌牟罚心康牡匮≡裣喙氐男榻凶叛芯俊?BR> (2)对同类产品做细致的调研。可以根据分类查看相关的产品,以及产品的性能和使用方法,还能够得到有关厂商的信息。 (3)另外也可以申请加入蓝牙SIG,成为SIG成员。
 (4)制定一个详尽的产品开发计划,尽可能做到周全。
 (5)建立一个开发工作平台、开发环境,准备和选择相应的开发工具
在蓝牙开发工具中,应包括一个蓝牙硬件的接口部件和需要的软件部分,至少要有一对节点,这样,才能建立一条链路,如果要开发更为复杂的应用,可能需要更多的节点。硬件可以是各种形式,像IC卡、USB dougle、开发工具、UART附件等,也可以是自己开发的或专门定制的硬件。
在选择硬件时需要注意,首先必须明确待开发的应用是什么,是用于嵌入式系统还是用于计算机系统?如果是用于计算机系统,使用PC卡或USB dougle就足够了,这时选用简单的开发工具。如果是用于嵌入式系统,就需要更为复杂的开发工具,要求开发工具允许进行固件的开发和允许下载到开发工具中,或者如果希望能够对微处理器或FPGA进行直接的测试,可以制造一块开发板,这需要购买一块包括蓝牙模块和微处理器或FPGA的PCB板,同时还需要对微处理器/FPGA进行编程的外围设备。其次,要注意的问题是应用中是否包括语音?因为有一些开发系统不包括语音接口,如果应用只有数据传输,应该考虑数据的速率,可以使用UART连接器,对于全速率的数据应用,需要使用USB。
在决定了使用什么硬件之后需要考虑的就是软件栈。如果要开发的应用可以使用蓝牙规范中某个剖面,那么就只需要实现与该剖面有关的软件栈。这种情况往往要开发自己定制的栈,这样更能符合应用的要求。如果要开发的应用不能使用现有的剖面结构,它就必须与属于特定剖面的设备进行交互。再进行协议栈需求设计事必须牢记兼容性。在决定使用一个协议栈之前,还必须仔细地检查协议栈能够提供的能力,并不是所有的协议栈都实现了规范中所列出的所有功能,有一些功能可能还没有实现。另外除了比较价格,文档的质量和公司的售后支持也是需要特别考虑的。
(6)开发之前还必须了解蓝牙SIG规定的相关认证和测试规范,以及与之有关的程序,以便在开发过程中理出测试的接口。(T126)
泄β始觳馄鳎扛鱿薹糯笃鞫加幸桓鋈ǘ允觳馄鳎靡约觳馐淙胄藕殴β实拇笮 #锤黾觳饨峁冢疲椋欤簦澹蚨思釉谝黄穑ü缛荩茫玻到新瞬ā5缱瑁遥常啊ⅲ遥常薄⒛诓康模保玻植慰嫉缭春臀薰獗冉掀鞴餐钩摄兄瞪柚煤驮肷种乒δ堋H。遥常埃剑保埃埃毽福遥常笨捎茫保埃埃毽傅牡缥黄鞯鹘冢颍郑裕以冢保病玻矗旨浔浠5笔淙胄藕欧荡笥冢郑裕沂保涑鑫榷ǖ模校牛茫痰缙叫藕牛坏笔淙胄藕欧敌∮冢郑裕沂保菔涑龆耍希眨裕涑龈叩缙剑希眨裕涑龅偷缙剑械南薹糯笃骶芫邮帐淙胄藕牛⑶液蠹斗糯笃魇涑鑫薰飧婢校牛茫绦藕牛蹋希樱?BR>  

  由于图6和图7中的主芯片均在155MHz以上,因此由这两个电路组成收发电路,进行精心的参数选择和PCB设计,可应用于高速的光通信场合。
  
  5 系统测试
  在所设计的各个部分的基础上,将它们连接起来,在没有光学天线的条件下,成功地进行了室内的以太网激光无线通信的实验。现正完善系统,并准备将其应用于光网络。(T126)
站内搜索