




已阅读5页,还剩54页未读, 继续免费阅读
(电路与系统专业论文)嵌入式蓝牙系统中的基带ip实现技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京交通大学硕士学位论文 摘要 y5 8 5 9 9 3 蓝牙技术是一种低成本、低功耗、短距离的无线连接技术。在后p c 时代,嵌入式设备的网络化是一大趋势,一方面由于嵌入式设各自身体积 的限制,使得嵌入式设备所连接的网络要从有线网络向无线网络的方向发 展,另一方面嵌入式设备对网络访问的成本和功耗要求都非常严格,因此 嵌入式系统与蓝牙技术的结合有着巨大的发展前景。 基带层协议是蓝牙系统的底层核心协议,本文在概括介绍蓝牙技术标 准、蓝牙协议架构、应用模式、实现和发展的基础上,对蓝牙基带核心协 议进行了深入研究。通过对蓝牙硬件模块的划分和功能分析,给出了蓝牙 基带i p 模块实现结构和数据处理路径,并用v h d l 描述语言设计了蓝矛 基带7 9 跳频算法。e d a 仿真结果表明该算法能较好的满足设计目标与要 求。本文同时还较详细地论述了蓝牙基带数据分组的处理流程,对其中的 关键算法给出实现算法流程图。最后用v h d l 设计了蓝牙基带数据分组的 发送和接收模块,该模块内部集成了1 6 位c r c ( 循环冗余度校验) ,8 位 h e c ( 头错误校验) 和1 3 率f e c ( 前向纠错) 的实现。仿真结果证明满 足了设计要求。 本论文用v h d l 语言实现了嵌入式蓝牙系统的部分功能,提供了硬件 实现相应功能专用处理器的基础。仿真结果验证了设计的正确性和可行性。 论文所研究内容适应当前科学技术的发展和更新,除了具有重要的理论和 实践意义,还具有较大的商业价值。 关键词: 蓝牙,基带,跳频,v h d l ,i p ,分组,c r c 来墨作者、导师消息 勿全文公布 北京交通大学硕士学位论文 a b s t r a c t b l u e t o o t h t e c h n o l o g y i sa l o w c o s t ,l o w p o w e r ,s h o r t r a n g e w i r e l e s s c o n n e c t i v i t ys o l u t i o n i na ne r ao fp o s t p c ,t h ei m p o r t a n tt r e n di st oc o n n e c tt h e e m b e d d e dd e v i c e so n t ot h en e t w o r k o no n eh a n d ,b e c a u s eo ft h er e s t r i c t i o no n t h eb u l ko ft h ee m b e d d e dd e v i c e s ,t h en e t w o r ko nw h i c he m b e d d e dd e v i c e sa r e c o n n e c t e dm u s tc h a n g ef r o mt h ew i r e dn e t w o r kt ot h ew i r e l e s sn e t w o r k o nt h e o t h e rh a n d ,t h ee s s e n t i a lr e q u i r e m e n t so fe m b e d d e dd e v i c e sa r el o wc o s ta n d l o wp o w e rc o n s u m p t i o n ,s oh o wt oc o m b i n et h ee m b e d d e d s y s t e m sw i t h b l u e t o o t ht e c h n o l o g yi sc u r r e n t l yi n v e s t i g a t e di n t e n s i v e l y b a s e b a n dp r o t o c o li st h el o wl a y e rc o r ep r o t o c o li nb l u e t o o t hs y s t e m b a s e do nt h eb r i e fi n t r o d u c i n gb l u e t o o t ht e c h n o l o g ys t a n d a r d ,p r o t o c o lf r a m e , a p p l i c a t i o n ,i m p l e m e n ta n dd e v e l o p m e n t ,a l l a b o u tt h eb a s e b a n d ,t h i sp a p e r d i s c u s s e dt h eb l u e t o o t hb a s e b a n dc o r ep r o t o c o li nd e e p l y t h r o u g ht h ed i v i s i o n o fb l u e t o o t hh a r d w a r em o d u l ea n di t sf u n c t i o na n a l y s i s ,an e wd a t a p r o c e s sp a t h i nb a s e b a n da n dt h eb a s e b a n d i ps t r u c t u r e d e s i g n a r e g i v e n s o f t w a r e s i m u l a t i o no fh o ps e l e c t i o na l g o r i t h mo ft h eb a s e b a n di sd e s i g n e di nv h d l e d as i m u l a t i o ni n d i c a t e st h eh o pa l g o r i t h mc a nm e e tt h ed e s i g na i m sa n d n e e d sp r i m l y t h ed a t ap r o c e s sp a t hi nb a s e b a n di sd e t a i l e dd i s c u s s e d t h e a l g o r i t h mf l o wd i a g r a mi sg i v e ni ne a c hk e ya l g o r i t h m f i n a l l y ,t h er e c e i v i n g a n ds e n d i n gm o d u l e so fb l u e t o o t hb a s e b a n dp a c k e ti sd e s i g n e di nv h d la n d s i m u l a t e d ,w h i c hi n t e g r a t e1 6 _ b i tc r c ,8 - b i th e c a n d1 3r a t i of e e t h er e s u l t v a l i d a t e si tf i t sw i t ht h ed e s i g nn e e d t h i s p a p e rr e a l i z e dp a r t f u n c t i o no fe m b e d d e d b l u e t o o t hs y s t e mw i t h v h d l t h i sw i l ls u p p o aad e s i g nb a s eo ft h eh a r d w a r ei m p l e m e n t a t i o no ft h e s i n g l ep u r p o s ep r o c e s s o r t h e r e s u l tv a l i d a t e st h e d e s i g n sv a l i d i t y a n d f e a s i b i l i t y t h er e s e a r c hc o n t e n ti si na c c o r d i n gw i t ht h ec u r r e n t l yd e v e l o p m e n t a n du p d a t eo fs c i e n c ea n dt e c h n o l o g y i th a st h es i g n i f i c a n c ef o rb o t ht h e o r y , p r a c t i c ea n d b u s i n e s sv a l u e k e y w o r d s : b l u e t o o t h ,b a s e b a n d ,h o p ,v h d l ,i p ,p a c k a g e ,c r c 北京交通大学硕士学位论文 第一章概述 1 1 蓝牙技术提出的背景 “蓝牙”这个名字的来历颇具传奇色彩。这一名称取自丹麦国王哈拉 德二世,关于这位国王的名字有两种说法:一种说法是他的全名是h a r a l d b l a t a n d ,b l a t a n d 在英语中意思为“蓝牙”( b l u e t o o t h ) ;还有一种说法是, 这位丹麦国王酷爱吃蓝梅,以致于牙齿都染成了蓝色,因此“蓝牙” ( b l u e t o o t h ) 成了这位国王的绰号。 瑞典的爱立信公司于1 9 9 4 年成立了一个专项科研小组,对移动电话及 其附件的低能耗、低费用无线连接的可能性进行研究,他们的最初目的在 于建立无线电话与p c 卡、耳机及桌面设备等产品的连接。但是随着研究 的深入,科研人员越来越感到这项技术所独具的个性和巨大的商业潜力, 同时也意识到凭借一家企业的实力根本无法继续研究,于是,爱立信将其 公诸于世,并极力说服其他企业加入到它的研究中来。他们共同的目标是 建立一个全球性的小范围无线通信技术,并将此技术命名为“蓝牙”,来表 达要将这种全新的无线传输技术在全球推广,并实现全球通用的雄心。1 9 9 8 年2 月,爱立信、诺基亚、i b m 、东芝及i m e l 组成了蓝牙特殊利益集i 圃( s t g ) 。 之后,蓝牙引起了越来越多企业的关注。目前,包括微软、索尼、惠普、 戴尔在内的2 0 0 0 多家公司都签署了相关协议,共享这一先进技术。 目前工作在2 4 g h z 频段上的无线个人区域网技术中,除了蓝牙技术 之外,还有e e e 8 0 2 1 1 ,h o m e r f 和红外技术。它们各有优缺点,总的来 说,i e e e s 0 2 1 1 比较适合于办公室中的企业无线网络,h o m e r f 可应用于 家庭中的移动数据和语音设备与主机之间的通信,而蓝牙技术则可以应用 于任何可以用无线方式替代线缆的场合。 1 2 蓝牙技术的基本内容 蓝牙技术是一种无线数据与数字通信的开放性全球规范。它以低成本 的近距离无线连接为基础,为固定与移动通信环境建立一个接入点。该技 术实质内容是建立通用的无线空中接口及其控制软件的公开标准,使移动 通信与计算机网络进一步结合,使不同厂家生产的便携式设备在没有电线 或电缆相互连接的情况下,能在近距离( 1 0 m 一1 0 0 m ) 范围内具有互操作性 北京交通大学硕i 学位论文 能,使人们能随时随地的进行数据信息的交换与传输。 蓝牙技术规范1 0 版本所公布的主要技术指标和系统参数为:蓝牙工 作在全球通用的2 4 g h z i s m ( b i ji n d u s t r i a l ,s c i e n t i f i ca n dm e d i c a l ) 免付费、 免申请的无线电频段:采用了快跳频和短分组技术,有效的抗信号衰落和 低的同频干扰性,既保证了与蓝牙系统较相似的其它系统更为稳定,又保 证语音和数据传输的可靠性;采用二进制调频( f m ) 技术的跳频收发器来抑 制干扰和防止衰落:采用前向纠错o = - e c ) 技术来抑制长距离链路的随机噪 声;数据速率为1 m b i t s ,时分双工传输方案被用来实现全双工传输,其基 带协议是电路交换和分组交换的结合;一个跳频频率发送一个同步分组, 每个分组占用一个时隙,也可扩展到5 个时隙。蓝牙技术支持一个异步数 据通道或3 个并发的同步语音通道,或一个同时传送异步数据和同步语 音的通道。蓝牙1 0 b 规范所公布的主要技术指标和系统参数如表1 - 1 所示。 表1 - 1 蓝牙主要技术指标和系统参数 工作频段i s m 频段,2 4 0 2 2 4 8 0 g h z 双工方式全双工,t d d 时分双工 业务类型支持电路交换和分组交换 数据速率 1 m b i t s 异步信道速率非对称连接7 2 1 5 7 6 k i t s ,对称连接4 3 2 6 k b i t s 同步信道速率 6 4 k b i t s 功率美国f c c 要求 (j 吣瓜 | 图5 - 57 9 跳系统排序操作 工o_ ) ,o 图5 - 6 蝶形操作原理 3 1 孔 北京变通大学硕士学位论文 5 3 基于v h d l 的蓝牙基带跳频的i p 实现 以x i l i n x 公司的i s e 5 2 作为开发工具,用两个实体m o d 7 9 和p e r m 分 别模拟二次相加运算和换位操作来进行仿真。实体p e r m 和m o d 7 9 的描述 分别为 e n u t yp e r mi s p o r t ( c l o c k :i ns t d l o g i c ; c :i ns t d _ l o g i c _ v e c t o r ( 4d o w n t o0 ) ; b :i ns t d _ l o g i c _ v e c t o r ( 4d o w n t o0 ) ; d :i ns t d _ l o g i c _ v e c t o r ( 8d o w n t oo ) ; y :i ns t d _ l o g i c ; r e s u l t :o u ts ( 1 _ l o g i c _ _ v e c t o r ( 4d o w n t oo ) ) ; e n d p e r m ; e n t i t ym o d 7 9 i s p o r t ( c l o c k :i ns t d j o g i c ; c l k u l a j p p e n n x o u t :i ns t d _ l o g i c v e c t o r ( 2 7d o w n t o0 ) ; :i ns t d _ l o g i c _ v e c t o r ( 3 1d o w n t oo ) ; :i ns t d _ ! o g i c v e c t o r ( 4d o w n t o0 ) ; :o u ts t d _ l o g i c _ v e c t o r ( 6d o w n t o0 ) ) 二 e n dm o d 7 9 ; 仿直波形如下陶5 7 所示: 图5 7 换位操作和二次相加运算仿真波形图 3 2 北京交通大学硕士学位论文 跳频选择模块如下图5 - 8 所示: h o p f r e q 图5 - 8 跳频选择模块 构成:由文件h o p f r e q v h d 生成,其内部集成了蝶形运算和二次相加运 算操作等功能模块。 功能:可正确的仿真蓝牙系统中的7 9 跳频选择功能。 管脚说明: 输入:c l o c k :主时钟 r s t :复位信号 c l k ( 2 7 :们:主单元时钟信号 u l a p ( 2 7 :0 1 :蓝牙设备地址l a p 和u a p 的低4 位 输出:h o p f r e q o e n c e :7 9 跳频编号 仿真波形图如图5 9 所示: 图5 - 9 跳频仿真波形图 选取1 a p 为4 5 2 3 1 2 ( 十进制) ,主单元时钟初始值c l k 为1 2 5 1 6 4 4 ( 十 进制) ,对上面的实现用i s e 的h d lb e n c h e r 进行7 9 跳跳频序列的仿真, 由仿真波形可知,产生的跳频序列覆盖了7 9 跳选择范围,并且跳频的选取 具有良好的随机性, 3 3 北京交通大学硕士学位论文 第六章蓝牙基带数据处理及其v h d l 实现 6 1 蓝牙基带的数据分组一般格式 在一个蓝牙网的信道中,数据以分组的形式传输。每一个分组由三个 部分组成:访问码、分组头和有效载荷。访问码和分组头的长度是固定的, 分别为7 2 位和5 4 位。有效载荷的长度可以从0 2 7 4 5 位变化。标准分组格 式如图6 - 1 所示。基带规范中,分组与消息的编码比特顺序遵循l i t t l e e n d i a n 格式。基带控制器将来自高层软件层的第一个b j f 终为如( 对应最低有效值 t s b ) ,这也是无线发射的第一比特。而且,在基带层产生的数据字段,如 分组头和载荷头等,都是l s b 首先发射。蓝牙微微网中分组的类型与它们 的链接方式有关。对于s c o 和a c l 两种链接方式,每种都各有1 2 种不同 类型的分组。此外还有四种为这两种连接方式通用的控制分组。 6 1 ,1 访问码 图6 1 标准分组格式 每个分组都以访问码作为开头,如果分组含有分组头,则访问码长度 是7 2 比特,否则为6 8 比特。访问码用于同步、d c 补偿及识别,用于标 识微网信道上交换的所有分组。同一微网内传输的分组,均以相同信道访 问码开头。访问码包括前缀、同步字,有时也包括码尾。参见图6 - 2 。 l s b 46 44 m s b r 1 。r j l前缀i 同步字 【 码尾 : l j 二一一二 图6 - 2 访问码格式 其中访问码的类型又有信道访问码( c a c ) 、设备访问码( d a c ) 和 查询访问码( i a c ) 等三种。信道访问码标识一个微网,设备访问码用于 特殊信令过程,如呼叫和呼叫应答。对于查询访问码有两种类型,通用查 询访问码( g i a c ) 和专用查询访f 弼( d i a c ) 。c a c 由前缀、同步字和码尾组 成,总长度是7 2 比特。d a c 和i a c 本身作为独立完整消息使用,没有码 北京交通大学硕士学位论文 尾部分和分组头部分,长度是6 8 比特。 前缀为固定0 - 1 模式的4 比特符号,用于d c 补偿。根据随后同步字 l s b 是“1 ”或0 ,4 位符号分别是“1 0 1 0 ”或“0 1 0 1 ”。 不同类型访问码使用不同蓝牙设备低地址( l 镭) 构造同步字。对于 c a c ,使用主单元b 岬:对于g i a c 和d i a c ,使用保留的专用的l a p ; 对于d a c ,使用从单元l a p 。对同一个主单元来说,其访问码都相同。 同步字的具体计算如下: 1 l a p 的m s b 为0 ,则在l 谨后加上0 0 1 1 0 1 ;若为1 ,则加上1 1 0 0 1 0 。 这样就构成了一个3 0 比特的信息,l a p 的m s b 与附加的6 比特组成7 比 特的b a r k 序列,用以进一步提高自相关性; 2 将得到3 0 比特信息与p n 序列的后3 0 比特相异或进行预干扰; 3 用( 6 4 ,3 0 ) 区组码产生器对此3 0 比特信息生成6 4 比特临时码字; 4 将6 4 比特的p n 码与临时码字相异或得到同步字。 p 码生成式为h ( d ) = l + d + d 3 + d 4 十矿,初态为1 0 0 0 0 0 ,得到 6 4 位p 序列p ( d ) 1 6 进制表示为3 f 2 a 3 3 d d 6 9 8 1 2 1 c 1 。其中,p 0 在 最左边,风3 在最右边。 将2 4t b 特的l a p 表示成多项式形式为: a ( d ) = ;口o + 口l d + + 口2 3 d 2 3 其中a o 是u 垤的最低位l s b 。( 6 4 ,3 0 ) 区组码产生器的生成多项式为: “d ) = 1 + d 2 + d 3 + d 8 + d 1 0 + d 1 2 + d 1 3 + d + d 1 8 + d 2 1 + d 2 2 + d + d 2 4 + d 弱+ d 2 7 + d 2 9 + d 3 1 + d 3 4 下面举例说明计算同步字的过程。假设给出的b da d d r 为 4 5 i :) 3 0 0 6 1 6 8 7 2 ,所有数据采用1 6 进制表示。 1 。给出的b da d d r 是l s b 在最右边,先将b da d d r 反序,得到 l a p 为4 e d 6 8 6 。l a p 的m s b 为0 ,则在l a p 后加上0 d ,得到3 0 比特的 信息序列为1 3 8 5 c 1 8 d 。 2 将3 0 比特信息序列与6 4 比特p n 序列尸( d ) 的p 。p p 6 3 位相异 或得到待编码字为3 a 0 4 8 4 c 。 3 求得奇偶比特为f c a 8 c f 7 5 ,临时码字为7 8 1 3 f d c a 7 a 0 4 8 0 4 c 。 4 临时码字与p n 码异或得到同步字为4 4 3 9 c e l 7 1 3 8 5 a 1 8 d ,加上前 置和后缀码得到b da d d r 的访问码为5 4 4 3 9 c e l 7 1 3 8 5 a 1 8 d 5 。 只要在分组构成中分组访问码之后跟有分组头,则一定在同步字之后 附加码尾序列,分组带有c a c 的情况是个典型例子。码尾序列是具有固定 北京交通大学硕士学位论文 o l 模式的4 比特符号。根据同步字的m s b 是0 或1 ,码尾序列为 “1 0 1 0 ”或“0 1 0 1 ”。 6 1 2 分组头 分组头包含链路控制信息,由六段组成, a m a d d r 活动成员j 嗵t j l :( 3 比特1 t y p e 类型码( 4 比特1 f l o w 流控位( 1 比特1 a r q n 确认指示( 1 比特) s e q n 序列编号( 1 比特) h e c 头错误校验码( 8 比特) i s b341】 如图6 - 3 : 18m s b 图6 - 3 分组头格式 分组头的总长度为1 8 比特,经过1 3 比例前向纠错编码( f e c ) 彤成5 4 比特的头信息。 1 活动成员地址( a ma d d r ) 此3 比特字段用于区分参加微微网的活动成员。活动成员地址在从单 元激活时由主单元临时分配。主单元与从单元交换分组时,都将带有从单 元的a ma d d r 信息。全“0 ”地址保留用于主单元到所有从单元的广播 分组。但是,f h s 分组例外,它使用全“0 ”地址时不是广播分组。 2 类型码( t y p e ) 分组分为1 6 种不同类型,采用4 比特类型码( t y p e ) 表示。类型码的 确定,首先取决于分组是在s c o 链路发送还是a c l 链路发送;其次,取 决于是何种s c o 分组或a c l 分组。 3 流控位( f l o w ) 流控位用于a c l 链路上分组流量控制。当接收方a c l 链路r x 缓冲 区充满时,返回f l o w - - 0 用于暂停数据传输。但是停止信号只涉及a c l 分组。当r x 缓冲区清空时,将返回发送( g o ) 信号,f l o w = 。当没有接 收到分组或接收头信息出错时,默认n d w = 1 。 4 。确认指示( a r q n ) 北京交通大学硕士学位论文 a r q n 信号用于通知发送端:有效载荷己经成功接收并经过c r c 校 验。如果载荷完全正确接收,就返回a c k ( a r q n - - 1 ) ,否则返回 n a k ( a r q n = 0 ) 。如果没有收发返回确认信号时,就默认为n a k 。 5 序列编号( s e q n l 对于每一个含有c r c 的新传输分组,s e q n 位将反相,这有助于分组 接收端排除己正确接收的重传分组。对于无编号a r q n 机制,由于缺少分 组编号,所以采取增加s e q n 位提供辅助编号机制。 6 头错误校验( h e c ) 此8 比特字段用来检查分组头的完整性。h e c 由多项式6 4 7 f 八进制1 形成。在校验之前需对h e c 进行初始化。 6 1 3 有效载荷 有效载荷中又有两种字段应区分开:( 同步) 语音段和( 异步) 数据段。 a c l 分组仅含有数据段;s c o 分组除d v 分组外,一般也仅含有话音段; d v 分组同时含有话音段与数据段。 话音段具有固定长度,对于i - i v 分组来说,话音段长度为2 4 0 比特; 对于d v 分组来说,话音段长度为8 0 比特。话音段没有有效载荷头。 数据段由三部分组成:有效载荷头、有效载荷体和c r c 码识有a u x l 分组不含有c r c 码1 。 1 有效载荷头 只有数据段含有有效载荷头,其长度为一个或两个字节。载荷头定义 了逻辑信道( 2 位l _ c h 标志) 、逻辑信道上的流控f i l t j ( 1 位f l o w 标志) 以及 有效载荷长度指示器。 2 有效载荷体 有效载荷体为用户信息,它代表有效流通量。 3 c r c 码 有效载荷中1 6 位循环冗余校验码由多项式( 八进制) 生成。它的生成过 程类似于头错误校验码生成过程。在生成c r c 码之前,用一个8 比特值来 初始化。在主单元呼叫响应状态中发送f h s 分组的c r c 码,使用从单元 的u a p 来初始化。在查询响应状态中发送阳s 分组的c r c 码,使用默认 初试化c i ) 值。而对所有其它分组,使用主单元的u a p 来初始化。 北京交通大学硕士学位论文 6 _ 2 蓝牙基带数据处理过程 尽管蓝牙数据分组有不同的分组类型,但总的来说,基带层中的比特 流处理流程如图6 - 2 和图6 3 所示。 图6 - 2 分组头比特流处理过程 图6 - 3 有效载荷比特流处理过程 虚线表示该项为可选项,它取决于数据分组的类型。有上两图可以看 出,在分组头和有效载荷的比特处理中,都必须进行加噪处理,目的是使 具有较高冗余读模式的数据随机化,并减少分组的直流偏移。在f e c 编码 之前执行加扰过程,在接收端,接收数据使用与发送端相同的噪声字发生 器进行解扰。解噪过程在f e c 解码后完成,下面以发送方的分组比特流处 理步骤为例详述如下。 第一步,产生h e c 和c r c 使用信道访问码、分组头阳及有效载荷c r c ,可以校验分组因传 输而引起的差错。h e c 和c r c 通常也包括对u a p 的校验。太多数分组情 况下都使用主设备u a p ( 高地址部分) 进行初始化。 c r c 的全称为c y c l i cr e d u n d a n c yc h e c k ,中文名称为循环冗余校验。 它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强, 在通信领域广泛地用于实现差错控制。这里我们着眼于介绍c r c 的算法与 实现,对原理只能捎带说明一下。若需要进一步了解线性码、分组码、循 北京交通大学硕士学位论文 环码、纠错编码等方面的原理,可以阅读有关资料。利用c r c 进行检错的 过程可简单描述为:在发送端根据要传送的k 为二进制码序列,以一定的 规则产生一个校验用的r 位监督码( c r c 码) ,附在原始信息后边,构成一 个新的二进制码序列共j “r 位,然后发送出去。在接收端,根据信息码和 c r c 码之问所遵循的规则进行校验,以确定传送中是否出错。这个规则, 在差错控制理论中称为“生成多项式”。 在代数编码理论中,将一码组表示为一个多项式,码组中码元当作多 项式的系数。例如1 1 0 0 1 1 0 1 表示为1 + x 7 + 1 + x 6 + 1 + ,+ 1 + + 1 + 一假 设c r c 多项式为尺( ,生成多项式为g ( 砷( g 使用已经被大量的数据, 时问验证过的,正确的且高效的生成多项式,其码组表示式假设为p o l y ) , 原始多项式为琢) ,g ( 砷的最高幂次等于r ,则将p 乘以,再除以g , 所得余式即为尉,而其码组表示共有r 位。除法运算在数字电路中就是 异或操作。 我们知道g 的最高位一定是1 ,商1 还是商0 是由被除数的最高位 决定的。而我们并不关心商究竟是多少,我们关心的是余数。当被除数的 最高位是1 时,商1 然后把最高位以后的r 位与g o 。的后,位x o r 得到余 数:如果被除数的最高位是0 ,商0 然后把被除数的最高位以后的r 位与 g 的后r 位x o r 得到余数,而我们发现其实这个余数就是原来被除数最 高位以后的r 位。也就是说如果最高位是0 就不需要做x o r 的运算了。由 此我们不难得出一个简单的c r c 算法如图6 _ 4 。但这样实现的算法效率较 低,不适合用于高速通信的场合。数字通信系统般是对一帧数据进行 c r c 校验,而字节是帧的基本单位。因此最常用且快速的一种方法是按字 节查表的快速算法。用标准的c r c 生成多项式,对应有一个固定表其中数 值共有2 8 = 2 5 6 个。我们假设每次左移一个字节。则算法可优化为如下所示: a 、r e g i s t e r 左移一个字节,从原始数据中读入个新的字节 b 、利用刚从r e g i s t e r 移出的字节作为下标定位t a b l e 中的一个值 c 、把这个值x 0 r 到r e g i s t e r 中 d 、如数据未处理完,则循环执行a c 北京交通大学硕士学位论文 i e r 中的值置零 原始数据p ( x ) 后添加r 个零,设 为p ( x ) r e g i s t e r 中的值左移一位将 p ( x ) 的值从高位移入 移出的b i t 是否为l x o r p 0 1 p ( x ) 是否处理完毕 中的低r 位即为r ( x 否 图6 - 4 c r c 算法流程圈 用v h d l 描述语言设计1 6 位c r c 模块实体描述如下所示: e n t i t yc r c l 6i s p o r t ( c l k _ d i v :i ns t d _ l o g i c ; c r c e n :i ns t dl o i g i c ; d a t a _ i n :i ns t d _ l o g i c _ v e c t o r ( 7d o w n t oo ) ; d a t ao u t :o u ts t d _ l o g i c v e c t o r ( 1 5d o w n t o ) ; 元件实例如图6 4 所示,用m o d e l s i m s e 5 5 e 仿真如图6 5 所示。 构成:由源文件c r c l 6 v h d 生成。 功能:对分组有效数据载荷进行1 6 位循环冗余码产生和校验。生成电 路中的移位寄存器用8 比特u a p 初始化( 在本文假设为o o o o o o o o ) 。 管脚说明: 输入:c l kd i v :输入分频信号 c r ce n :c r c 模块工作使能信号 d a t a3 n ( 7 :0 ) :进行c r c 运算的数据 输出:d a t a _ o u t ( 1 5 :0 ) :输出数据 北京交通大学硕士学位论文 c r c l 6 图6 - 4 1 6 位c r c 原理图 图6 - 5 c r c 仿真结果图 同理用v h d l 描述语言设计8 位h e c 模块实体描述如下: e n t i t yh e c i s p o r t ( c l k :i ns t d j o g i c : h e c e n :i ns t d _ l o g i c ; d a t a j n :i ns t d _ l o g i c v e c t o r ( 9d o w n t oo ) ; d a t a _ o u t :o u ts t d _ l o g i c v e c t o r ( 7d o w n t o0 ) ) t 元件实例如图6 - 6 所示,仿真结果如图6 - 7 所示。 构成:由源文件h e c v h d 生成。 功能:对分组中的分组头信息进行头错误校验码的产生和校验。 管脚说明: 输入:c l k :输入时钟信号 h e ce n :h e c 模块使能信号 d a t ai n ( 9 :0 1 :分组头的低1 0 位数据信息 输出:d a t ao u t ( 7 :o ) :产生的8 位头错误校验码 h e c 图6 - 6 8 位h e c 原理图 北京交通大学硕士学位论文 图6 7 仿真结果图 第二步,产生加密序列 1 ) 、产生链路密钥 2 ) 、鉴权 3 ) 、产生加密密钥 4 ) 、产生加密序列 第三步,产生加噪序列 噪声字利用公式g 。, t a t e ( d ) = d 7 + d 4 + l ( 即八进制数2 2 1 ) 产生,并随即 使用头和有效载荷的异或操作。噪声字采用线性反馈移位寄存器( l f s r ) 产 生, 图6 - 8 数据加噪l f s r 第四步,加密 第五步,加噪 第六步,分别对分组头和有效载荷进行1 3 和2 3 f e c 编码,得到完整 的分组比特流。 上述基带发送方数据处理过程可用图6 - 9 表示。 图6 - 9 基带发送数据处理过程 北京交通大学硕士学位论文 6 3 蓝牙基带收发规程 6 3 1 发送规程 对于每一条a c l 链路及s c o 链路,独立执行发送规程。图6 一l o 显示 了对应单个从单元的a c l 和s c o 缓冲区的t x 例程。 t xa c l b u f f e r 瓢一 其次当前话音f i f o 图6 1 0 发送缓存功能图 分 组 打 包 器 在主单元中,对每一个从单元都有一个独立的t xa c l 缓冲区,而对 每一个s c o 从单元可能有一个或多个 i xs c o 缓冲区。每一个发送缓冲区 由两个f i f o ( 先入先出) 寄存器组成。其中,“当前”寄存器由蓝牙控制器准 备打包使用;“其次”寄存器由蓝牙链路管理器加载新信息使用。开发s 1 与s 2 的位置决定哪一个寄存器是“当前”寄存器,哪一个是“其次”寄存 器。开关由蓝牙链路控制器控制。f i f o 寄存器输入输出开关不能同时连接 同一寄存器。 在a c l 和s c o 公用分组0 d ,n u l l ,f o l l ,f h s ,d m i ) v e ,只有 d m l 分组携带的有效载荷能够在链路管理器和链路控制器之间进行交换, 此分组使用a c l 缓冲区。所有a c l 分组使用a c l 缓冲区,所有s c o 分 组使用s c o 缓冲区。d v 分组除外,它的话音部分使用s c o 缓冲区,数据 部分使用a c l 缓冲区。 6 3 2 接收规程 a c l 链路和s c o 链路执行不同接收规程。在发送规程中,主单元对 各个从单元设有独立a c l 发送缓冲区。但是在接受规程中,所有从单元共 享一个a c l 接收缓存区;而s c o 缓存区使用方式将取决于如果区分不同 北京交通大学硕士学位论文 s c o 链路,从而决定是否需要额外s c o 缓存区。图6 1 1 描述了r x 规程中 使用的a c l 和s c o 缓冲区结构。 r x a c l b u f f e r 图6 1 1 接收缓存功能图 接收a c l 缓存区由两个f 1 f 先入先出) 寄存器组成:其中一个寄存器 由链路控制器载入最新收到分组有效载荷;另一个寄存器由链路管理器读 取前一分组有效载苟。接收s c o 缓存区也是由两个f i f o 寄存器组成:其 中一个寄存器由刚收到的话音信息填入;另一个寄存器由话音处理单元读 取。因为接收分组头中类型代码指明了有效载荷是数据还是话音,所以拆 包器能自动引导业务流到恰当缓存区。每当链路管理器读取寄存器时,开 关s 1 切换一次。如果下一个载荷在接收寄存器清空之前到达,则必须在返 回分组头中设置“s t o p ”指示。该指示在接收寄存器清空后,立刻取消。 一个新的a c l 分组有效载荷存储在a c l 寄存器之前,必须校验“s e q n ” 位。 6 3 3 流量控制 由于新载荷到达时,a c l 接收缓冲区可能已饱和,所以需要流控。通 过分组头中的“f l o w ”位,可以使用“s t o p ”或“g o ”指示对传输信 数据进行控制。 1 接收端控制 只要数据无法接收,或者接收缓冲区未被链路管理器清空,就发出 “s t o p ”指示。当可以再次接收新数据时,返回“g o ”指示。但话音通 信不受流控影响,而且流控对于收,发传输方向独立执行。 北京交通大学硕上学位论文 2 发送端控制 发送端收到“s t o p ”信号后,链路控制器将自动切换到发送默认类型 分组。只要收到“s t o p ”指示,就发送默认分组。当没有收到返回分组时, 假定隐含为“g o ”信号。当收到“g o ”信号时,链路控制器假定要传输 在发送a c l 缓存区中提供的数据。 6 4 基于v h d l 的蓝牙基带数据收发i p 模块 i p 硬件研制是十分复杂的工作,实际上是把软件变成全硬件实现,也 就是实现所谓s o c 设计。研制工作的技术难点在于: 1 1 软件结构硬件实现中的时序安排问题。如果使用软件实现蓝牙基带 数据打包发送器,则可以直接根据协议的功能和要求,按流图设计软件各 部分模块,并规定相应的存储器即可。设计硬件系统,则需要根据协议功 能和要求分割电路,如果在结构上设计的与软件完全相同,则势必形成硬 件中时序的延长,同时,由于延迟的影响,任意形成系统混乱而导致硬件 工作失效。所以,硬件实现软件的个核心问题就是时序的合理安排和延 迟均匀的调整。 2 ) 硬件实现软件的另一个重要问题是,如何根据协议功能要求实现合 理的并行计算结构,从而提供硬件性能。 为了较好的解决硬件合理性和均匀延迟问题,本设计中把数据发送和 接收分为两大功能模块,电路进行了模块分割,在各模块内部实行流水线 工作电路,各模块之间实现同步并行工作方式。把接收和发送分开,可以 形成相应的并行工作方式。这样可以比较有效地解决硬件和理性问题,避 免工作混乱。同时,由于在接收和发送模块内部也实现了同步并行的设计 仿真,把电路分割成比较合理的功能单元,在单元内部实行串行工作,各 单元之间采用同步并行方式,因此可以有效地解决均匀延迟的问题。 6 4 1 发送单元模块 a c l 业务流当需要发送载荷时,打包器读取当前寄存器,然后根据分 组类型构造分组有效载荷,加在分组信道访问码及分组头之后并发送。在 本文仿真中假设已根据蓝牙设备地址计算得出同步字,并假设发送分组为 d h l 分组。 设计思路:蓝牙标准数据分组格式如图6 - 1 所示,在发送分组数据时 北京交通大学硕士学位论文 最低有效比特首先发送。为了发挥硬件电路并行处理的优势,采用8 位并 行数据线,发送端再通过8 位并串转换逐位发送出去。发送模块在接收上 层协议输入的有效载荷的同时,形成信道访问码和分组头部分,其中分组 头部分包括有8 位h e c 生成,再与1 0 比特头信息进行1 3 率f e c ( 前向 纠错) 编码,形成5 4 比特分组头。同时对输入的有效载荷进行1 6 位c r c 循环冗余度校验码生成,加在有效载荷之后。然后按访问码、分组头和有 图6 1 2 发送流程图 如图6 - 1 3 所示为该模块。以下所述模块均用v h d l 语言设计并在 x i l i n x 公司的e d a 软件i s e 5 2 i 下编译成功。该模块又由三部分构成分 别是f i f o ,c o m p o s e r 和p a r a 2 s e r ,其内部结构如图6 - 1 4 所示 北京交通大学硕士学位论文 s e n d p a r t 图6 1 3 蓝牙基带数据发送模块 送。 图6 - 1 4 9 9 i i dp a l _ t 内部结构图 构成:由s e n d p a r t v h d 生成。其中包括了三个例化元件。 功能:接收上层协议传送过来的有效载荷,打包形成数据分组进行发 管脚说明: 输入:r e s e t :复位信号 c l k :主时钟信号 w r i 也0 :上层协议发送数据请求信号 d a t a i n ( 7 :o ) :上层协议输入8 位并行数据 输出:d a t ao u te n :数据发送允许信号 d a t ao u t :串行输出数据 n ) 、f i f o 模块 如图6 1 5 所示,为一8 8 的f i f o 缓存器。 北京交通大学硕士学位论文 f i f o 图6 1 5 f i f o 模块 构成:由文件f i f o v h d 生成。 功能:缓存上层输入的有效载荷。 管脚说明: 输入:r e s e t :复位信号 w r r e o :写数据请求信号 r d r e o :读数据请求信号 d a t a i n ( 7 :o ) :输入数据 c l o c k :输入时钟的8 分频信号 输出:d a t a :输出数据ooi(7 e m p t y :缓存器空信号 f u l l :缓存器满信号 ( 2 ) 、c o m p o s e r 模块 如图6 1 6 所示。该模块内置了1 6 位c r c 和8 位h e c 校验码生成功 能。并将访问码、分组头和有效载荷按顺序组成数据分组进行发送。其中 由于1 8 比特分组头经1 3 率
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆国隆农业科技产业发展集团有限公司选聘下属子企业领导人员1人笔试历年参考题库附带答案详解
- 2025贵州纳雍源生牧业股份有限公司招聘4人笔试历年参考题库附带答案详解
- 2025贵州毕节市金沙县国有资本投资运营集团有限公司招聘51人笔试历年参考题库附带答案详解
- 2025贵州六枝特区益正开发投资有限责任公司人员招聘4人笔试历年参考题库附带答案详解
- 2025西安华山金属材料科技有限公司校园招聘笔试历年参考题库附带答案详解
- 2025秋季安徽合肥工投工业科技发展有限公司招聘8人笔试历年参考题库附带答案详解
- 2025杭州临安区教育局公开招聘中小学教师76人考前自测高频考点模拟试题及完整答案详解一套
- 2025福建漳龙集团有限公司招聘3人笔试历年参考题库附带答案详解
- 2025河南许昌市消防救援支队招聘政府专职队员50人模拟试卷附答案详解(完整版)
- 2025福建广电网络集团股份有限公司连江分公司招聘笔试历年参考题库附带答案详解
- 《山东省房屋市政施工安全监督要点》及《安全监督“二十要”》2025
- 2025年湖南环境生物职业技术学院单招职业技能考试题库带答案
- 生物安全管理体系文件
- 河道疏浚外运施工方案
- 银行职业介绍课件
- 辽宁省盘锦市大洼区田家学校2024-2025学年九年级上学期第四次质量检测语文试卷
- 广东省惠州市联考2024-2025学年上学期12月教学质量阶段性诊断八年级数学试卷(无答案)
- 工程结算协议书
- 砖砌围墙施工方案
- 2024-2030年中国痘痘贴行业营销动态及消费需求预测研究报告
- 《人工智能导论》(第2版)高职全套教学课件
评论
0/150
提交评论