(通信与信息系统专业论文)蓝牙基带协议及应用模块的分析与研究.pdf_第1页
(通信与信息系统专业论文)蓝牙基带协议及应用模块的分析与研究.pdf_第2页
(通信与信息系统专业论文)蓝牙基带协议及应用模块的分析与研究.pdf_第3页
(通信与信息系统专业论文)蓝牙基带协议及应用模块的分析与研究.pdf_第4页
(通信与信息系统专业论文)蓝牙基带协议及应用模块的分析与研究.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 f “8 8 5 5 本文在概括介绍蓝牙技术标准、蓝牙协议架构、应用模式、发展和开发状况的基础 上,详细分析了基带核心协议,在w i n d o w s 平台上,利用v i s u a lc + + 编制了仿真程序, 该仿真程序生成了具体的基带接入码、跳频序列、基带分组,完成了纠错校验、加密和 鉴权仿真;在理论上分析了收发信道定时,为本文提出的蓝牙模块设计提供了研究基础。 在调研了几种有资料介绍的蓝牙无线收发器、蓝牙芯片、数字信号处理器的基础上, 选用美国国家半导体公司的无线收发芯片l m x 3 1 6 2i s m 2 4 g 、蓝牙基带专用集成电路 l m x 5 0 0 1 和t i 公司的t m s 3 2 0 f 2 0 6 数字信号处理器提出了一个以三块芯片实现的蓝牙 系统方案;给出了蓝牙模块的无线部分、基带处理部分、微处理器部分的原理图,根据 电路设计理论初步设定了电路参数及微处理器的配置。 为了给堇茎毯扶提供主机端支持,在系统分析蓝牙协议和驱动层框架的基础上,定 义了l i n u x 下蓝牙核心数据结构,给出了l i n t l x 下蓝牙设备驱动程序架构,在l i n u x 系 统下编写了蓝牙h c i 驱动层程序的源代码。 最后提出了进一步研究的设想。 、7、 关键词:蓝牙,基带协议:l i n u x ,h c ! 塑! ! 坠里! 一 a b s t r a c t t h i sp a p e ri n t r o d u c e st h es t a n d a r do f b l u e t o o t ht e c h n o l o g y , t h ep r o t o c o la r c h r e c t u r oo f b l u e t o o t h ,t h ep r o f i l e ,b l u e t o o t hd e v e l o p m e n ta n dr e s e a r c h b a s e do n t h e s p e c i f i c a l l y a n a l y s i so ft h ec o r ep r o t o c o lo fb a s e b a n d ,w ec o m p i l et h es i m u l a t i o np r o g r a mb yu s i n g v i s n a lc + + o nt h ew i n d o w sp l a t f o r mt h ep r o g r a mp r o d n o e st h ec o n c r e t eb a s e b a n da c c e s s c o d e h o p p i n gf r e q u e n c ys e q u e n c ea n db a s e b a n dp a c k e t t h es i m u l a t i o no f e r r o rc o r r e c t i o n , e n c r y p t i o na n da u t h e n t i c a t i o n a r ea l s o i m p l e m e n t e d i n t h i s p r o g r a m w e a l s o a n a l y z e t h e o r e t i c a l l yt h et r a n s m i t r e c e i v et i m i n go fb l u e t o o t h ,a n dp r o v i d et h er e s e a r c hf o u n d a t i o n f u rf u r t h e rm o d e l d e s i g n t h r o i 】l g hi n v e s t i g a t i n gs e v e r a lk i n d so f b l u e t o o t hr a d i ot r a n s c e i v e ld e d i c a t e db l u e t o o t h l i n kc o n t r o l l e ra n dd i g i t a ls i g n a lp r o c e s s o r , w ec o n s t r u c tt h es y s t e ms c h e m ao f t h r e e - c h i p b l u e t o o t h i m p l e m e n t a t i o n w i t hr a d i ot r a n s c e i v e rl m x 31 6 2 ,d e d i c a t e db l u e t o o t hl i n k c o n t r o l l e rl m x 5 0 0 1o fn a t i o n a ls e m i c o n d u c t o rc o m p a n ya n dt m s 3 2 0 f 2 0 6 d i g i t a ls i g n a l p r o c e s s o ro f t i w ea l s od e s i g nt h es c h e m a t i co fr a d i ou n i t , b a s e b a n dp r o c e s s i n gu n i ta n d m i c r o - p r o c e s s i n g u n i to fb l u e t o o t hm o d e l i n a d d i t i o n , w ei n i t i a l l yc o n f i g u r ec i r c u i t p a r a m e t e ra n dp a r a m e t e ro f m i c r o - p r o c e s s i n gu n i ta c c o r d i n gt oc i m u i td e s i g nt h e o r y o nt h eb a s eo f a n a l y z i n gt h ea r c h i t e c t u r eo f b l u e t o o t h p r o t o c o la n dd r i v e r , w ed e f i n et h e c o r ed a t as t r u c t u r eo f b l u e t o o t h ,a n dp r o v i d et h ea r c h i t e e t u r eo f t h eb l u e t o o t hd e v i c ed r i v e r , a n dc o m p i l et h es o u r c ec o d eo fb l u e t o o t hh c id r i v e r p r o g r a mi no r d e rt op r o v i d et h e s u p p o r t e ro f h o s t a tl a s t , t h ef u r t h e rs c h e m ao f r e s e a r c hi sp r e s e n t e d k e yw o r d s :b l u e t o o t h ,b a s e b a n dp r o t o c o l ,l i n u x ,h c i i i 堕二主丝笙 一 第一章绪论 1 1 蓝牙技术概述 1 1 1 蓝牙产生背景 随着信息电子产品的发展,我们身边的信息电器越来越多,这其中包括计算机、通 信、网络和家电产品。与此同时,电器之间的连线也越来越多。计算机周边除了鼠标和 键盘线之外,还要有主机与打印机、扫描仪、外置调制解调器等外设之间的连线。如果 加上多媒体,那么还要用电缆连接传声器、摄像头、游戏杆、扬声器和低音炮等。如果 您想在移动电话、笔记本电脑、台式机电脑、数码相机、个人数字助理之间转移数据, 那么众多的连线和繁琐的设置方式将使您不胜其烦。蓝牙正是为解决这种种不便提供了 一个既经济又方便的解决方案,以无线“替代电缆”是蓝牙开发的初衷,也是它最基本 的用途。 蓝牙是一种近距离无线通信技术规范,用来描述和规定各种信息电子产品( 包括通 信产品、计算机产品和消费电子产品) 相互之间是如何用短距离无线电系统进行连接的。 蓝牙技术最大的好处是消除了千头万绪、令人头疼的屯缆线,而通常要实现信息电子设 备之间的信息传递与同步,这些电缆是必不可少的。 蓝牙技术起源于1 9 9 4 年。当时总部设在瑞典的跨国电信公司一爱立信公司的移动 通信部着手研究在移动电话与周边设备之间实现低功耗、低成本无线互连的可行性。研 究的目的是要找到一种方法,能够消除连接移动电话和耳机、台式电脑及其他设备之间 的电缆。这项研究是一个大项目的一部分,该项目是要研究如何将各种不同的通信设备 通过移动电话接入到蜂窝移动通信网上。考虑到无线电波具有全向传输、可穿越障碍等 优点,研究者最终确定采用无线电射频技术来实现这种短距离无线连接。经过大量的研 究工作之后,提出了相关的技术规范草案,并命名为蓝牙。 1 1 2 蓝牙特殊利益小组( s i g ) 爱立信在此领域内的研究引起了1 b m 、英特尔、诺基亚、东芝公司的注意。这五 家公司于1 9 9 8 年2 月倡议组成蓝牙特殊利益小组( s i g ) ,致力于蓝牙技术标准的制定、 蓝牙产品的测试以及协调各国蓝牙使用频段的一致性。1 9 9 8 年5 月,s i g 正式成立, 并积极邀请其它公司a n 该组织,以便共同开拓蓝牙技术与市场。1 9 9 9 年1 2 月,另外 四个公司,即3 c o m 、朗讯、微软和摩托罗拉加入了s i g 。共同构成了s i g 的九个创始 公司和领导成员。 蓝牙技术于1 9 9 8 年6 月开始标准化进程,1 9 9 9 年7 月2 6 日在蓝牙主页上公布了它 的第一个技术规范,即蓝牙1 0 版规范,将其推入到实用化阶段。一年之后的2 0 0 0 年 1 0 月,s i g 向其成员发布了1 1 版,2 0 0 1 年3 月蓝牙1 1 版规范正式公开发布。目前正 在制定蓝牙2 0 版规范。2 0 0 1 年3 月,蓝牙技术成为美国电气电子工程师学会( i e e e ) 笙二童笪丝 的9 0 2 1 5 标准,这意味着蓝牙又向着国际标准迈出了一大步。 按照s i g 的规定,每个愿意签署蓝牙s i g 成员协议的公司都可以免费加入s i g , 成为s i g 的正式会员。蓝牙s i g 成员协议规定了每个成员应该遵守的义务和无偿拥 有的权利。一方面,s 1 g 成员企业应该将自己拥有的蓝牙相关技术贡献给所有s i g 成员 使用,它所开发的蓝牙产品必须符合蓝牙协议规范。另一方面,s i g 成员开发的蓝牙产 品可以免费使用蓝牙协议以及有关的所有专利技术,而非s i g 成员使用这些技术是不 合法的。另外,只有s i g 成员才可以使用蓝牙商标,只有通过蓝牙认证的产品才可以 使用蓝牙标识。即使蓝牙协议及相关资料会向社会公布,但s i g 成员拥有优先获得的 权利,在正式的蓝牙协议公布之前。s i g 成员就可以得到协议的先期版本。 除了制定、修改和完善蓝牙协议之外,s i g 的另个重要任务是对不同厂商生产的 蓝牙相关产品进行认证,考核其是否符合蓝牙协议,以确保不同蓝牙产品之间的互操作 性。蓝牙认证要求包括蓝牙无线电连接要求、蓝牙协议要求、蓝牙应用规范要求和蓝牙 信息要求等。此外,蓝牙设备厂商必须保证它所生产的蓝牙产品的无线电性能符合产品 销售国的无线电管制要求。 s i g 有几个工作组组成,每个工作组都致力于蓝牙技术特定部分或一些支持业务的 研究。这些工作组是: 空中接口工作组:主要研究无线层和基带层。 软件工作组:主要开发协议栈规范。 互操作性工作组:重点研究协议子集。 致性工作组:主要定义测试、一致性和认证过程。 法律工作组:管理s i g 的法律事务,如成员资格认证和知识产权协定等。 市场工作组:主要推广蓝牙技术并帮助产生规范确定的市场需求。 s i ( 3 成立伊始,只有9 个成员,两年之后,即到了2 0 0 0 年4 月,其成员数达到1 7 9 0 家。又过了一年,到2 0 0 1 年6 月,s i g 成员数就达到2 4 9 1 家。目前s i g 的成员数量在 所有的通信及网络方面的国际组织中是最多的。 1 1 3 蓝牙技术特点 蓝牙工作在全球通用的2 4 g h zi s m 频段。i s m 频带是对所有无线电系统都开放的 频带,因此使用其中的某个频段都会遇到不可预测的干扰源。例如某些家电、无绳电话、 汽车房开门器、微波炉等等。都可能是干扰。为了保证在嘈杂的无线环境中安全可靠地 工作,蓝牙特别设计了“快速确认”和“跳频”方案以确保链路的稳定。“跳频”技术是 把频带分成若干个跳频信道,在次连接中,无线电收发器按一定的码序列( 即一定的 规律。技术上叫做“伪随机码”) 不断地从一个信道“跳”到另一个信道,只有收发双 方是按这个规律进行通信的,而其他的干扰不可能按同样的规律进行干扰;跳频的瞬时 带宽是很窄的,但通过跳频扩展频谱( f s s h ) 技术使这个窄频带成百倍地扩展成宽频 带,使干扰的可能影响变成很小。与其他工作在相同频段的系统相比,蓝牙跳频更快, 数据包更短,从而使蓝牙比其它系统都更稳定。理论上,这种跳频每秒为1 6 0 0 次,系 2 一 蔓二雯堕笙 -,_,-_-,-_-_h_j_-_-一 统有7 9 个可能的信道。 蓝牙技术传送的三种功率类型为:1 0 0 m w ,2 5 r o w 和l m w 。1 0 0 m w 的辐射距离 是1 0 0 m ;1 m w 的是1 0 m ;在理想条件下蓝牙技术的流量的额定值为1 m b s - 然而由于 错误纠正和其他的环境因素,真正的流量大约为7 0 0 到8 0 0 k b s ,不过这对替代电缆的 蓝牙技术来说已经足够了。一些其他的因素也能影响蓝牙的速度。其他2 4 g h z 设备的 存在,如个i e e e s 0 2l i b 的w l a n 就能降低蓝牙技术的性能。 采用f m 调制方式能抑制干抗和防止衰落,降低设备的复杂性。以时分双工方式 ( t d d ) 进行全双工通信,其基带协议是电路交换和分组交换的组合。一个跳频频率 发送一个同步分组,每个分组占用一个时隙,实际上可以被扩展到五个时隙。蓝牙技术 支持一个异步数据信道( a c l ) ,或三个并发的同步语音信道( s c o ) ,还可以用个信 道同时传送异步数据和同步语音。每个语音信道支持6 4 k b l s 同步语音:异步信道可以 支持一端最大速率为7 2 1 k b s ,而另一端速率为5 7 6 k b s 的不对称连接,也可以支持 4 3 2 6 k b s 的对称连接。采用前向纠错( f e c ) 编码技术,包括i 3 f e c ,2 3 f e c 和自动 重发请求( a r q ) ,目的是减少重发次数,减少远距离传输时的随机噪声影响。不过, 由于增加了冗余项,造成了不必要的开销,使数据的吞吐量减少。 1 2 蓝牙协议栈 1 2 1 蓝牙协议框架概述 蓝牙特别兴趣组( s i g ) 制定了蓝牙规范1 0 b ,能够利用可操作的无线模块和数据 通信协议开发交互性服务。图1 1 详细描述了蓝牙协议的框架,整个协议体系结构分三 大部分:底层硬件模块、中间协议层和高层应用。 圉囡目 图1 1 蓝牙协议栈 底层硬件部分包括无线跳频( r a d i of r e p u e n c y , r f ) 、基带( b a s e b a n d ,b b ) 和链路 管理( l i n km a n a g e r , l m ) 。r f 层通过2 4 g h z 无需授权的i s m 频段的微波,实现数据 位流的过滤和传输,本层协议主要定义了蓝牙收发器在此频带正常工作所满足的要求。 b b 负责跳频和蓝牙数据及信息帧的传输。l m 负责连接的建立和拆除以及链路安全和 笙二童堡堡 控制。 中间协议层包括逻辑链路控制和适应协议( l o g i c a l l i n kc o n t r o la n da d a p t a t i o n p r o t o c o l - l 2 c a p ) 、服务发现协议( s e r v i c ed i s c o v e r yp r o t o c o l ,s d p ) 、串口仿真协议 r f c o m m 和电话通信协议( t e l e p h o n y c o n t r o lp r o t o c o l ,t c s ) 。l 2 c a p 完成数据的拆装、 服务质量和协议复用等功能,是其他上层协议实现的基础。s d p 为上层应用程序提供 一种机制来发现网络中可用的服务及其特性。r f c o m m 基于e t s i 标准t s 0 7 1 0 在 l 2 c a p 上仿真9 针r s 2 3 2 串1 2 1 的功能。t c s 提供蓝牙设各间话音和数据的呼叫控制信 令。 在b b 和l m 上与l 2 c a p 之间还有一个主机控制接1 3 层( h o s tc o n t r o l l e r i n t e r f a c e , h c i ) 。h c i 是蓝牙协议中软硬件之间的接i z i ,它提供了一个调用下层b b 、l m 、 状态和控制寄存器等硬件的统一命令接口。h c i 协议以上的协议软件实体运行在主机 上,而h c l 以下的功能由蓝牙设备来完成,二者之间通过一个对两端透明的传输层进 行交互。 在蓝牙协议栈的最上部是各种高层应用模式( p r o f i l e s ) 。其中较典型的有拨号网络 ( d i a l u p n e t w o r k i n g ) 、耳机( h e a d s e t ) 、局域网访问( l a n a c c e s s ) 、文件传输( f i l e t r a n s f e r ) 等,分别对应一种应用模式。各种应用程序可以通过各自对应的模式实现无 线通信。拨号网络应用可以通过由r f c o m m 仿真的串口访问微微网,数据设备也可由 此接入传统的局域网;用户通过协议栈中的a u d i o 层在手机和耳塞中实现音频流的无线 传输;多台p c 或笔记本电脑之间不用任何连线,即可快速灵活的传输文件,共享信息, 多台设备也可由此实现操作的同步。 1 2 2 蓝牙操作模式概述 蓝牙规范的每个操作模式代表某种蓝牙设备在某种应用场合必须遵循的规范,操作 模式的名称反映了操作模式所定义的应用场合,在蓝牙规范第1 1 版标准中,定义了1 3 种操作模式,这1 3 种操作模式大致可分为4 大类,如图1 2 所示。第一类包括通用操 作模式与服务发现应用操作模式,所有蓝牙设备的设计都必须符合通用操作模式的规 范;第二类是与电话相关的操作模式,包括无绳电话操作模式与内部通信操作模式;第 三类以串行端口操作模式为基础,串行端口操作模式描述如何以蓝牙技术协议模拟现有 信息设备的串行端1 7 1 ,发展出与调制解调器相关的拨号上网操作模式、与传真机相关的 传真操作模式、与局域网相关的局域网访问操作模式、手机与耳机相连的耳机操作模式; 第四类以普通对象交换操作模式为基础,发展出使用发送对象的对象发送操作模式、发 送文件的文件传输操作模式、及数据同步功能的同步操作模式等。 通用操作模式是所有蓝牙设备的基础,所有蓝牙设备的设计都必须符合通用操作模 式的规定,以确保与其他蓝牙设备间的互操作性。通用操作模式的内容描述了蓝牙设备 的基本运行方式与参数定义,主要包括了如何与其他设备连接的有关规范,包括蓝牙设 备的发现、链路管理、安全性等级、用户界面、运行模式等。 电话控制协议t c p 包括t c sb i n a r y 与电话控制a t 指令两部分,t c sb i n a r y 是蓝 4 篁二主堡垒 一 图1 2 蓝牙操作模式 简单来说,串行端口操作模式就是串行端1 :3 模拟,使现有使用串行端口r s 2 3 2 接 口的应用软件,都能在蓝牙设备上操作,以串行操作模式为基础的操作模式有耳机操作 模式、拨号上网操作模式、传真操作模式和局域网访问操作模式。 普通对象交换操作模式的传输层为支持对象交换的协议o b e x ,当蓝牙设备内的应 用程序为对象发送、文件传输、数据同步时,由于这些应用程序的传输都是以对象交换 的形式,所以必须利用到普通对象交换操作模式的功能。 由于蓝牙技术应用的广泛,蓝牙设备在许多应用场合的操作模式标准仍在标准化, 相信在不久的将来,有关蓝牙的操作模式会更加标准化、更加广泛化。 笙三童茎堂塑堡塑堕塑塑堡:垒塞鎏堕墨一 第二章基带协议的研究和核心算法仿真 2 1 基带协议分析目的和方法 2 1 1 无线层和基带层功能概述 蓝牙系统的底层功能主要包括无线层、基带处理、链路管理,这些功能通常在蓝牙 的硬件或固件模块中实现,完整的蓝牙底层实体如图2 1 所示 图2 1蓝牙底层功能模块 规范的无线部分主要包括一系列用于蓝牙无线电收发信机设计的规范,如带内和带 外的散射发射、频率精度、同道和邻道干扰、带外阻塞、互调特性等。无线层同时给出 了一对逻辑接口,用于在蓝牙系统的无线设备与系统的其他部分之间传送数据和控制信 息。 蓝牙基带规范含盖的领域非常广泛,微微网的创建、微微网中蓝牙设备运行状态的 转变、设备控制功能( 如连接的创建、跳频序列的选择和同步) 、操作方式( 如功率控 制和安全操作) 以及媒体访问功能( 如轮询、分组类型、分组处理和链路类型) 等。这 些都是蓝牙链路控制器需要解决的关键问题。 2 1 2 协议分析的目的 由上面的简介可以看出,基带层在蓝牙模块中占据重要作用,而且基带协议中最关 键的部分就是蓝牙接入码的生成、跳频方案的选择、跳频序列的产生。因此,本研究从 蓝牙基带部分的核心:接入码生成、跳频序列的生成算法实现和算法仿真开始,仔细研 究了接入码生成过程,使用c + + 编程语言编制了接入码生成算法,分析了接入码的码 6 箜三童 苎堂垫塑盟堡窒塑堕:尘丝鲨堕塞 距、强自相关性;本研究进一步根据生成的接入码构造了蓝牙基带分组的各种格式,根 据具体接入码编制程序生成了查询、寻呼、连接状态下的跳频序列。本研究还详细分析 了信道收发定时和控制,最后,根据接入码完成蓝牙链路安全的加密、鉴权算法。 通过仿真和分析基带协议,使我们对基带的研究更加深入,为我们后面部分蓝牙模 块的实现打下了坚实的基础。 2 12 协议分析方法 使用蓝牙无线技术相互通信的设备必须是某个微微网的一部分,微微网中蓝牙设备 运行状态分析、基带链路的信道模型仿真、接入码的生成、跳频序列的生成都涉及到微 微网,因此本研究从微微网的定义开始,利用计算机辅助分析工具进行蓝牙基带协议的 分析,完成了仿真程序的编制和调试,程序已经能够正确运行。使用的分析方法是: ( 1 ) 蓝牙基带中的任何处理都和蓝牙设备地址、蓝牙设备时钟两个基本要素密切 相关,其中产生接入码、产生跳频序列是最重要的蓝牙基带基本过程。本研究利用v i s u a l c - l + 完成对这两个基本过程的算法编程。 ( 2 ) 本仿真程序还编制了各种基带分组的生成,蓝牙安全中使用的随机数生成、 加密算法e ,验证算法e 、链路生成密钥函数。 2 2 基带分组结构和差错控制的研究和仿真 2 2 1 基带分组的描述 基带分组是蓝牙系统传输的最小单元,包括接入码、分组头和有效载荷,其中接入 码和分组头的长度固定,分别为7 2 比特和5 4 比特。图2 2 给出了基带分组的详细结构。 系统传输的分组可以只是接入码,或者包括接入码和分组头,或者包括接入码、分组头 和有效载荷。 头码( 4 )i 同步字( 6 4 )l尾码( 4 ) 接入码( 7 2 )1 分组头( 5 4 )j 有效载荷( o 一2 7 4 5 ) a m a d d r ( 3 ) 1t y p e ( 4 ) lf l o w ( i ) i r q n ( 1 ) ls e q n ( 1 ) l 战( 8 ) 图2 2 基带分组结构 2 2 2 接入码的算法和仿真 接入码是一个7 2 比特段,它在通过蓝牙空中接口发送b b _ p d u 之前预先写到每个 b bp d u 中。接入码用于识别微微网、与到来的比特流同步、建立适当的d c 补偿平衡 和信道接入等等。蓝牙设备定义了三种接入码,分别是:( 1 ) 信道接入码,决定了微微 7 笙三童茎堂垫堡塑婴窒塑鳖:堂竺鲨堕塞 网中所有信道的分组交换;( 2 ) 设备接入码,任何进行寻呼操作的蓝牙设备都要在 b bp d u 中写入被呼设备的设备接入码:( 3 ) 查询接入码,在查询操作期间,每一个 在查询跳变序列给定的频率上的查询发送以及对这个查询的每一个响应都要加上查询 接入码。查询接入码有6 4 个,分为两种:通用查询接入码和专用查询接入码,前者对 所有设备都是必需的,用来发现工作范围内的其他蓝牙设备,后者用来发现某些专用的 蓝牙设备。 ( 一) 接入码的算法描述: 接入码包括头码、同步字和尾码。头码和尾码均有4 比特1 0 1 0 或0 1 0 1 组成,其选 择与同步字有关;若同步字最低有效位为1 ,头码为1 0 1 0 ;若同步字最低有效位为0 , 头码为0 1 0 1 。 同步字唯一地由蓝牙设备的地址码来确定。在蓝牙系统中,每一设备都根据 i e e e 8 0 2 标准分配到一个全球唯一的4 8 比特的设各地址( b da d d r ) ,将它分为三个 部分:( 1 ) 低2 4 比特部分( l a p ) ;( 2 ) 高8 比特部分( u a p ) ;( 3 ) 1 6 比特非有效地 址部分( n a p ) 。同步字的产生基于扩展的b c h ( 6 4 ,3 0 ) 码和一个6 4 比特长的伪随 机码。具体生成步骤如下: ( 1 )信息序列通过在2 4 位l a p 上附加6 位生成,如果l a p 的最高有效位( m s b ) 等于0 ,那么附加位为0 0 1 1 0 1 :如果l a p 的最高有效位( m s b ) 等于l ,那么 附加位为1 1 0 0 1 0 。 ( 2 ) 使用本原多项式h ( x ) = 1 + x + x 5 + x 4 + x 6 生成伪随机码,随机码的1 6 进制 表示为8 3 8 4 8 d 9 6 b b c c 5 4 f c 。 ( 3 )信息序列与伪随机码的高3 0 位进行模2 加运算实现预加扰。 ( 4 )产生扩展的b c h ( 6 4 ,3 0 ) 码字。 ( 5 ) 6 4 位b c h ( 6 4 ,3 0 ) 码字和伪随机码进行模2 加运算,生成同步字。 尾码是一个固定的o - l 模式的四个符号标志。当同步字的最高有效位( m s b ) 等于 0 时,尾码为1 0 1 0 ;当同步字的最高有效位( m s b ) 等于1 时,尾码为0 1 0 1 。 ( 二) 接入码的算法仿真: 接入码的仿真是基于给定的l a p 地址计算出同步字,同步字的产生基于扩展的 b c h ( 6 4 。3 0 ) 码和一个6 4 比特长的伪随机码。前者由一本原b c h ( 6 3 ,3 0 ) 码加1 位偶校验而得到,它保证了接入码集合的汉明距离为1 4 ;后者通过给定的本原多项式 并利用线性反馈移位寄存器来实现,用于提高接入码的自相关性接入码的算法框图如图 2 3 所示。 对于算法利用v i s u a lc + + 编制仿真程序,构造简单的蓝牙接入码类b t a c c e s s c o d e 。 地址位扩展成员函数a d d r e x p a n d 0 ,它把输入的蓝牙设备地址低2 4 比特进行高位扩展, 返回3 0 比特的信息位;伪随机码成员函数r a d o m c o d e ( ) ,它根据本原多项式 o ) = 1 + x + x + x 4 + 戈6 生成6 4 比特伪随机码;b c h ( 6 4 ,3 0 ) 码成员函数b c h p o l y 0 , 8 第二章基带协议的研究和核心算法仿真 它首先把3 0 比特的信息位和伪随机码的高3 0 比特进行模2 加运算,然后和b c h ( 6 3 , 3 0 ) 生成多项式g ( x ) = 1 5 7 4 6 4 1 6 5 5 4 7 ( 八进制) 进行乘法运算,构造6 3 比特码字, 在进行奇偶校验,返回6 4 比特的b c h ( 6 4 ,3 0 ) 码;码字接入码成员函数a c c e s s c o d e 0 , 它把b c h p o l y 0 返回的6 4 比特码字和伪随机码字进行模2 加,同时加上头和尾,最后生 成接入码。为了验证接入码的特性,增加了码距验证成员函数c o d e d i s t a n c e 0 ,它把生 成的不同的码字进行“与”运算。检查“1 ”的个数,算出码距。自相关特性验证 a u t o c o n e i a t i o n 0 把不同的码字进行相关运算,算出自相关值,观察码字之间的相关性。 图2 3 接入码算法框图 仿真程序的蓝牙接入码类描述如下: , + + + + + t + + + + + + * t h i si st h eb t a c c e s s c o d ec l a s sd e f i n a t i o n * * * ,+ + + + + + + + + + + + + + + + + + + + + # i n c l u d e # i n c l u d e # i n c l u d e # i n c l u d e c l a s sb t a c e e s s c o d e 构造函数和析构函数 p u b l i c : b t a c c e s s c o d e o ; 9 笙三童茎堂堡鲨堕堑窒塑堕:堂墨鲨堕塞一 - b t a c c e s s c o d e 0 ; p r i v a t e : i n td i s t a n c e ; i n tc o r r e l a t i o n ; u n s i g n e dl a p a d d r 2 3 ; u n s i g n e di n p u t i n t l 3 0 ; u n s i g n e do u t p u t c o d e 6 3 ; p u b l i c : 函数输入蓝牙设备地址低2 4 比特进行高位扩展,返回信息位 u n s i g n e da d d r e x p a n d ( u n s i g n e dl a p a d d r ) ; 函数由本原多项式h ( x ) = 1 + x + x 3 + x 4 + x 6 生成6 4 比特伪随机码 u n s i g n e dr a d o m c o d e 0 ; ,函数由生成多项式g ( x ) = 1 5 7 4 6 4 1 6 5 5 4 7 ( 八进制) ,并进行扩展,返回码字 u n s i g n e db e h p o l y ( u n s i g n e di n p u t l n f ) ; 胛2 生接入码 u n s i g n e da c c e s s c o d e ( u n s i g n e do u t p u t c o d e ) ; 返回接入码的码距 u a s i g n e x lc o d e d i s t a n c e ( u r t s i g n e do u t p u t c o d e ) ; 臌入码自相关运算,返回相关值 u n s i g n e da u t o c o r r e l a t i o n ( u n s i g n e do u t p u t c o d e ) ; ) ; 本研究编制的接入码仿真程序可以根据具体l a p 地址产生接入码,程序的运行窗 口要求输入l a p 地址,点击开始仿真按钮,则程序输出接入码、接入码的自相关性、 接入码的互相关性、接入码的汉明距离。 具体的结果分析可得到:接入码集合的汉明距离为1 4 :并且接入码之间由于伪随 机码的加扰,存在很强的相关性。 2 2 3 分组头、分组类型的仿真 分组头包含链路控制信息,分为6 个部分:活动成员地址a m _ a d d r 、类型码t y p e 、 流控制f l o w 、确认指示a r q n 、序列号s e q n 和头错误校验h e c ,共1 8 比特。然后 再对其使用1 3 f e c ,构成5 4 比特的分组头。 活动成员地址a ma d d r 用来区分参加微微网的不同活动成员。即处于微微网中 的激活从设备都将分配个临时的3 地址码。 类型码t y p e 用来区分1 6 种分组类型结构。 流控制f l o w 用于a c l 链路上的分组流量控制。当接受方用于a c l 连接的r x 缓冲区非空,停止( s t o p ) 指示( f l o w = 0 ) 将暂时停止数据传输。当r x 缓冲区为 空时,将返回继续( g o ) 指示( f l o w = 1 ) 。 1 0 第二章基带协议的研究和核心算法仿真 确认指示a r q n 用于将含有c r c 的有效载荷数据通知成功转发源单元。若接受成 功,则返回( a r q n = i ) ;否则返回( a r q n = 0 ) 。 序列号s e q n 提供一个序列码方式来排列分组流的顺序。 头错误校验h e c 是为了检验头的完整性,每个头都有一个“头校验错”信息字。 h e c 生成器用8 位字组成,有6 4 7 ( 八进值) 生成。 蓝牙系统定义了两种物理连接:面向连接的同步分组( s c o ) 方式和无连接的异 步分组( a c o ) 方式。对于同步分组主要在规定的时隙传送话音等实时性强的信息; 对于异步分组主要传送数据。分组的类型用4 比特来定义,已经定义了5 种公用分组、 4 种s c o 分组和6 种a c o 分组,分别是:标识分组( i d ) 、空分组( n u l l ) 、查询分组( p o n ) 、 特殊的跳频控制分组( f h s ) 和数据- 媒体速率分组( d m i ) ;3 种高质量语音分组( h v l 、 h v 2 、h v 3 ) 、数据和语音合并分组( d v ) ;3 种高速数据分组( d i l l 、d h 2 、d h 3 ) ; 另外两种数据一媒体速率分组( d m 2 、d m 3 ) 和辅助分组( a u x l ) 。 分组头部使用汉明码( 1 5 ,1 0 ) 纠错,g ( x ) = x 5 + x 4 十x 2 + 1 为其生成多项式, 生成这种代码的线性反馈移位寄存器如下图;所有的寄存器单元在初始化时被设置为 0 ,通过设置开关s l 闭合和8 2 放在1 上,将l o 个信息位顺序载入线性反馈移位寄 存器;在最后一位输入完毕后,开关s 1 断开和s 2 放在2 上。输出5 位校验位。 大多数分组的净荷都采用c r c 校验,用于c r c 的1 6 位线性移位寄存器采用生成 多项式g ( x ) = x 1 6 + x 1 2 + x 5 + 1 。图2 5 是生成c r c 校验的电路。当数据移入时,通 过设置开关s l 闭合和s 2 放在1 上,当最后位进入线性移位寄存器时,开关s 断开 和s 2 放在2 上,且寄存器内容从右至左传输。 用计算机仿真时,我们直接以电路的各个寄存器为变量,根据其编码过程来编制程 序,仿真程序的主要功能为:首先,根据给出的1 0 位信息比特生成5 位校验位;其次, 对净荷进行c r c 校验。 本部分研究的仿真软件根据具体的接入码生成蓝牙系统当前定义的全部分组格式。 输出的格式依次是:接入码、分组头、净荷;这些分组可以存盘成文件以供基带测试数 据使用。 程序运行根据输入的信息位,产生具体的加上校验后的信息,输出各种蓝牙基带分 第二章基带协议的研究和核心算法仿真 组。 2 3 跳频算法的研究和仿真 2 3 1 蓝牙系统跳频序列通用选择方案 蓝牙跳频系统的跳频序列应满足以下要求: ( 1 ) 在蓝牙系统中,微微网中设备间通信应使用同一个跳频序列,才能在时间和 频率上同步,收发双方都使用相同的参数产生跳频序列。 ( 2 ) 跳频序列应该是周期很长的伪随机序列,以保证序列值间的汉明距离。 ( 3 ) 每个跳频点被访问的概率在正常情况下是相等的。 ( 4 ) 被选的跳频序列应该方便、灵活、即时地改变。 蓝牙设备有两个主要工作状态:待机状态和连接状态;七个临时状态:寻呼、寻呼 扫描、查询、查询扫描、查询响应、主设备响应和从设备响应。跳频序列的选择包括序 列的选择和序列到跳频点的映射,序列的选择和设备当前所处的设备状态有关,所以蓝 牙7 9 2 3 跳频系统一共定义了5 种跳频序列:寻呼跳频序列、寻呼响应跳频序列、查询 跳频序列、查询响应跳频序列、信道跳频序列。其中前4 种序列是为了帮助建立连接的, 第五种序列是用来连接建立后控制信道的选择。 2 3 7 9 模式 图2 6 跳频序列通用方案 口皿二二皿 分段l 卜牟一 篇百甚i i 。 、 。 i 跳数分段长度 e u r o p e u s 田 卫圜 j a p a n b r a n c e s p a i n 团 卫田 圈2 7 跳频选择 蓝牙跳频通用选择方案如图2 6 所示,输入主要是本地时钟和当前地址,在连接状 态,本地时钟( c l k n ) 是主时钟( c l k ) 加上一个偏移地址,只使用时钟的2 7 个最 1 2 舢 吣 睫 c 篁三皇茎堂垫垫塑翌窒塑堡:垒竺鲨笪墨一 高有效位( m s b ) 。在寻呼和查询状态,使用全部的2 8 比特。然而,在寻呼子状态, 本地时钟需改变到主节点对被寻呼节点的估计值上。地址输入由全部的l a p 和u a p 的 低4 位组成。输出是按2 3 7 9 跳滑动的伪随机序列。 对于7 9 跳系统,选择方案选择一个3 2 跳频率的分段( 占6 4 m h z ) ,并按随机的次 序访问这些频率。接下来在选择另外的3 2 跳频率,依次进行。如图2 7 所试。在寻呼、 寻呼扫描、寻呼响应子状态,总是使用相同的3 2 跳段,( 段由地址进行选择,不同的节 点将使用不同的寻呼跳段) 。 2 3 2 跳频仿真 为了加强理解跳频方案,本研究过程中使用v i s u a l c + + 语言完成了h o p s e l e c t i o n 跳 频选择对象的设计,跳频选择使用私有成员s e q e n u m b e r 序列号( 基于子状态) 、b da d d r 蓝牙设备地址的相应部分、b dc l o c k 设备的时钟值作为输入;成员函数p a g e s e q 0 输出 寻呼跳频序列、成员函数p a g e r e s e q o 输出寻呼响应跳频序列、成员函数i n q u i r y s e q 0 输出查询跳频序列、成员函数i n q u i r y r e s e q 0 输出查询响应跳频序列、成员函数 c h a n n e l s e q 0 输出信道跳频序列。 仿真程序的类描述如下: ,+ 十+ 舢+ + + + + + + + + + + 十 * t h i si st h eh o p s e l e c t i o nc l a s sd e f i n a t i o n + + 十 t + + + + 十+ # i n c l u d e # i n c l u d e # i n c l u d e c l a s sh o p s e l e c t i o n ,构造函数和析构函数 p u b l i c : h o p s e l e c t i o no ; h o p s e l e e t i o no ; p r i v a t e : i m s e q e n u m b e r ; u n s i g n e db da d d r 【28 】; u n s i g n e db d _ c l o e k 【2 8 】; p u b l i c : ,函数输出寻呼跳频序列 u n s i g n e dp a g e s e q ( i n ts e q e n u m b e r , u n s i g n e db d _ a d d r , u n s i g n e db d _ _ c l o c k ) ; 函数输出寻呼响应跳频序列 u n s i g n e dp a g e r e s e q ( i ms e q e n u m b e r , u n s i g n e db da d d r , u n s i g n e db d c l o e k ) ; 笙三童薹堂垫望塑堕窒塑鳖尘竺鲨堕墨 函数输出查询跳频序列 u n s i g n e di n q u i r y s e q (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论