基于蓝牙的无线测量系统研究与实现内容摘要:

tControllerInterface, HCI)。 HCI是蓝牙协议中软硬件之间的接口,它提供了一个调用下层 BB、 LMP、状态和控制寄存器等硬件的统一命令接口。 HCI 协议以上的协议软件实体 运行在主机上,而 HCI以下的功能一般由蓝牙设备硬件来完成,二者之间通过一个对两端透明的传输层进行交互。 通过 HCI 传输的信息包括命令、事件、数据三类,命令由主机端发给硬件设备,事件由设备提交给主机,数据则是双向的。 两个蓝牙设备之间只能建立一条 ACL 信道,但可以建立多条 SCO 信道。 连接建立起来后,主机控制器将从主机端收到的数据通过 LM.、 BB 和 RF 发送出去,当收到数据时则过程相反。 逻辑链路控制和适配协议 (LZCAP) 逻辑链路控制适配层协议,是一个为高层传输层和应用层协议屏蔽基带协议的适配协议。 LMP 只负责连接的建立和控制,而 LZCAP 则是业务协议,向上层提供面向连接和无连接的数据服务,支持高层协议的多路复用。 LZCAP 层本身只关心异步信息 (ACL 分组 )的传输。 此外,它还使较大的高层数据分组和较小的基带数据分组之间的分割和重组变得容易。 LZCAP 位于基带协议层之上,属于数据链路层,它为高层提供数据服务,允许高层和应用层协议收发大小为 64kB字节的 LZCAP 数据包。 虽然基带协议提供了 SCO 和 ACL 两种连接类型,但是 LZCAP 只支持面向无连接的异步传输 ACL,不支持面向连接的同步传输 SCO, SCO 链路主 要用预留的带宽进行实时语音传输。 串口仿真协议 (RFCOMM) 蓝牙串口仿真协议运行于 LZCAP 信道之上,定义了在对等蓝牙设备之间如何使用 RFCOMM 来模拟 RS 一 232 串口进行连接,从而传送用户数据、控制信号及配置命令等。 蓝牙串口仿真协议完成了对 RS232串口的仿真,这样就可以尽可能利用现有的各种高层应用程序,保证 Bluetooth 技术与现有技术的融合以及各种应用之间的互通性,充分利用兼容 Bluetooth 技术规范的软硬件体系。 其中最常用的是基于串行线传送机制的高层协议,如 :PPP、 OBEX(对 象交换协议 )和 AT 命令集。 蓝牙串口仿真协议是作为一个协议来实现的,其涉及到太多细节问题,为了给用户提供一些简单必要的接口,需要对串口仿真协议的接口进行进一步的封装。 蓝牙 SIG 专门制定了串口应用规范 (SerialPortProfile)来封装串口仿真协议。 使用蓝牙无线技术替代电缆时采用的就是由串口应用规范生 8 成的面向连接的信道。 蓝牙技术规范中基于串口应用规范的应用模型如图 服务发现协议 (SDP) SDP 在蓝牙协议中起着至关重要的作用,它是所有用户模型的基础。 通过 SDP 协议,蓝牙设备可以查询到 其它设备的信息和提供的服务类型,从而决定采用何种应用层协议。 用户可以从邻近的服务中选一个可用的,然后就可以在两个或多个蓝牙设备间建立连接。 蓝牙通信原理 蓝牙数据流 蓝牙可以传输同步和异步数据。 同步数据一般直接由硬件接出,如输出给耳机。 异步数据流则要通过软件层。 蓝牙协议栈为高层应用提供透明信道,完成与远端高层应用的透明数据交换。 蓝牙异步数据流如图 所示 9 图 蓝牙异步数据流 当发送异步数据时,数据的走向为 :硬件一 HCI 一 LZCAP 一 RFCOMM/SDP 一 APP。 当接收异 步数据时,数据的走向为 :APP 一 RFCOMM/SDP 一 LZCAP 一 HCI 一 硬件。 蓝牙控制流 蓝牙协议栈的每一层都接受上一层的命令,向上一层报告事件,并接收下一层提交的事件,向下一层发送命令。 在串口的读写操作过程中,应用程序 APP 通过打开 /关闭、读 /写等命令操作仿真串口。 仿真串口向 RFCOMM 发出与远端建立 DLC 链、拆除 DLC 链、发送和接收数据的指令,RFCOMM 层向下发出由 LZCAP 建立设备间蓝牙数据链路的指令,完成整个数据收发的过程。 蓝牙控制流如图 所示。 蓝牙通 信载体 蓝牙设备间应能够进行通信,即任何蓝牙设备之间都应能够实现互连。 实现某些设备,从无线电兼容模块和空中接口,直到应用层协议和对象交换格式,都要实现通信。 蓝牙计划的目标就是要确保任何带有蓝牙功能的设备都能进行通信,包括硬件和软件通信。 硬件通信是指蓝牙设备能够适应蓝牙规范和现有的协议,采用相同的应用层协议栈,具有彼此 10 发现、识别并进行语音、数据收发的能力。 不同类型的蓝牙设备对通信有不同的要求,通过安装合适的软件识别出彼此支持的高层功能。 更多的功能则要由手机、手持设备及笔记本电脑等蓝牙设备来完成。 软件通信始 于链路级协议的多路传输、设备和服务的发现、以及分组的分段和重组。 软件结构的功能有 :配置及故障诊断工具、自动识别其它蓝牙设备、电缆仿真、与外网设备的通信、音频通信与呼叫控制和商用卡的交易与号簿网络协议。 为实现这些功能,蓝牙软件构架必须利用现有的规范,而不是再去开发新的规范。 根据实现方式的不同,存在两种不同的蓝牙设备 :类型 1 的蓝牙设备本身具有完整的蓝牙硬件和软件,能独立完成蓝牙功能,实现通信设备之间的短距离无线连接。 类型 2 的蓝牙设备仅仅起到类似于 Modem的功能,负责将普通设备所要传输的信息与蓝牙格式的码流进 行相互转换。 当采用类型 2的蓝牙设备时,数据传输的瓶颈在于实际的串口之间的有线连接,即受到标准串口最高速率921600bit/s 的限制。 而采用类型 1 的蓝牙设备时,则不受串口速率的限制。 蓝牙网络结构 蓝牙网络分为微微网 (Pieo)和散射网 (Seatte。 )。 共享单个公共信道的一组蓝牙设备组成一个微微网。 每个微微网使用不同跳频序列,多个微微网可以在公共区域内共存相连而形成散射网。 其网络结构如图 所示。 微微网 (P1eo) 微微网是蓝牙最基本的网络形式,由主设备和从 设备组成。 主设备是主动发起组网连接请求的设备,而连接的响应方则为从设备。 一个微微网中,一般只有一个主设备,最多可以有 256 个从设备,不过处于活动状态的从设备目前最多可以有 7 个。 主从设备间的关系不固定,可以变化。 主设备轮询从设备,与它们通信,从设备与主设备之间保持同步,但从设备之间不能通信,需要主设备转发数据才能实现它们之间的互通。 (l)连接过程 某个设备一旦加入 Pico 中,就被分配一个 3bit 的活动成员地址 (ActiveMembe:Address,AMA),其他成员可以用该地址访问该设备。 一个 Pieo 内一旦有 8 个活动的从属设备,主控设备必须把一个从属设备强制成休眠 (P 盯 k)模式。 在 Park 模式中,此设备仍然存在于 Pico 中,但是它释放了 AMA地址而得到一个 8bit 的被动成员地址 (PassiveMemberAddress, pMA)。 AMA和 PMA的结合允许超过 256 个设备同时存在于一个 Pico 中,但是只有 7个具有 AMA地址的设备 (包括主控设备 )刁能进行通信。 11 Pico内的蓝牙设备之间建立连接之前,所有的设备都处于待机 (Standby)状态。 此时,这些设备周期性地监听其他设备的 查询 (Inquiry)消息或者构建 Pico 的寻呼 (Page)请求。 作为主蓝牙设备首先初始化连接程序,如果地址已知,则通过 Page 消息建立连接。 如果地址未知,则通过一个后接Page 消息的 Inquiry 消息建立连接。 每当一个蓝牙设备被激活,它就将监听划给该单元的 32 个跳频频点。 在最初的 Page 状态,主设备将在分配给被 Page 单元的 16 个跳频频点上发送 16 个相同的 Page消息。 如果没有应答,主设备则按照激活次序在剩余 16 个频点上继续 page。 Inquiry 消息主要用来寻找蓝牙设备, Inquiry 消息和 Page 消息很像,但是需要一个额外的数据串周期来收集所有的响应。 (2)工作模式 如果微微网中己经处于连接的设备在较长一段时间内没有数据传输,蓝牙还支持节能工作模式。 按照节能效率以升序排列依次是 :呼吸 (Snif)模式、保持 (Hofd)模式和休眠 (Park)模式。 在 Snif 模式下,从属设备降低了从 Pico 收听消息的速率,一会儿醒一会睡,宛如呼吸一样,呼吸间隔可以根据应用要求作适当调整。 在 Hold 模式下,只有一个内部计数器在工作,一般被用于连接好几个微微网的情况或者耗能低的设备中,设备停止传送数据,但一旦 激活,数据传递就立即重新开始。 在 Park 模式下,设备被赋予 PMA 地址,并以一定间隔监听主控设备的消息,设备依然与微微网同步但没有数据传送。 散射网 (Seatter) 几个相互独立并且不同步的、以特定的方式连接起来的微微网构成了分布式网络,称为散射网(Scarte:),微微网之间的跳频各自独立,从而微微网之间可以相互连接。 通过时分复用技术,一个蓝牙设备便可以同时与几个不同的微微网保持同步。 具体来说,就是该设备按照一定的时间顺序参与不同的微微网,即某一时刻参与某一个微微网,而下一个时刻 参与另一个微微网。 蓝牙微微网与蓝牙散射网本质上都是一种 Ad 一 Hoc 射频网络,统称为蓝牙 Ad 一 Hoc 网络,其设备连接如图 所示。 图中, Master 和 Slavc 分别代表蓝牙主设备和从设备。 微微网只能建立点对点或点对多点的星形结构网络连接,以单跳通信方式为主。 而散射网由多个微微网互连起来,可以建立树形结构网络连接和其它更为复杂的网络连接,支持灵活的多跳通信方式,进而适应不同应用场合的多种需求。 蓝牙散射网实质也是一种分群 (duster)分级式 Ad 一 Hoc 网络。 蓝牙移动性及安全性 蓝牙系统的移动性和开 放性使得安全问题极其重要。 蓝牙技术标准包含了多种安全措施。 除了有限的通信范围和跳频技术使得现场截获信号异常困难之外,蓝牙还采用了链路级的鉴权和加密等措施。 鉴权可防止关键数据和功能的非法访问,也可以防止黑客试图伪装成授权用户进行欺骗。 加密技术中把传送的数据扰乱,可以保持链路的机密性,防止他人窃听。 蓝牙技术在三个层面上保证了系统的安全 :首先,每个蓝牙单元都有一个唯一的 48 位物理地址 (MACaddress),数据只能在配对的单元之间传输。 其次,蓝牙协议提供了 8 到 128位的密匙数据加密机制,保证了数据传输的可 靠性。 最后,蓝牙的数据加密密匙的长度是可以配置的,产品在出厂前由厂商制定,用户无法对密匙进行修改。 蓝牙系统支持高层协议栈的不同应用体内的特殊安全机制。 比如两台计算机在进行商业卡信息交流时,一台计算机就只能访问另一台计算机的该项业务,而无权访问其它业务。 蓝牙安全机制依赖 PIN 码在设备间建立信任关系,一旦这种了实现关系建立起来了,这些 PIN 码就可以存储在设备中,以便将来更便捷的连接。 按照蓝牙的安全体系结构,在准予接入之前,不可信设备或未知设备会基于某种用户界面请求鉴权。 以前获得过鉴权并被允许基于链路级密钥进 行访问的设备成为可信任设备。 链路级密钥可存储在该设备的数据库中,对于以后的访问,就可以用此密钥来证实该设备是可信的。 链路层安全机制提供了大量的认证方案和一个灵活的加密方案,即允许协商密码长度。 每个用 12 户都有一个个人标识码 (PIN),它会被译成 128bit 的链路密钥 (LinkKey)来进行单双向认证。 一旦认证完毕,链路就会以不同长度的密码 (EneryptionKey)来加密,此密码以 sbit 为单位增减,最大 12sbit。 当来自不同国家的设备互相通信时,这种机制是极其重要的,因为某些国家会指定最大密码长度。 蓝 牙系统会选取 Pico 网中各个设备的最小的最大允许密码长度。 例如,美国允许 128bit 的密码长度,而西班牙仅允许 48bit,这样当两国的设备互通时,将选择 48bit 来加密。 本章小结 本章主要研究了蓝牙协议及其体系结构,包括蓝牙核心协议,蓝牙通信原理、蓝牙网络结构以及应用中的移动性和安全性,为本文系统设计中的蓝牙技术应用提供了理论依据。 第三章 蓝牙无线测量系统设计 本文设计的无线测量系统,主要是由温度传感器 DS18B20,进行测量 ,再由 AVR ATMEGAL128L进行 处理 ,再通过蓝牙进行无线传输 ,传回到 PC 上 ,PC 进行信息收集和处理 . 采集器硬件设计 按照实际应用需要,无线测量系统的硬件系统设计为上位机一下位机结构,即分为采集器和控制端两部分。 如图 所示,采集器根据监测要求选择不同的传感器来采集监控参数,实现对所需参数的实时采集、处理、与控制端的蓝牙无线通信。 控制器可采用 PC机或蓝牙 PDA等,实现对采集器的控制,以及对采集数据进行接收、提取、处理、存储、分析和显示。 信号采集与变换模块 :包括温度传感器 处理器模块 :采集器的核心部分,采用 AVR 单 片机作为控制器,实现对其他模块的控制,对采集的多路信号进行处理并递交给蓝牙通信模块进行无线传送。 蓝牙通信模块 :与控制端按照系统约定的通信协议进行通信,主要实现控制端对采集器的无线控制和采集数据的无线收发。 电源供电模块 :为系统各模块供电,保证采集器系统能长时间稳定工作。 采集器软件负责完成现场各路传感器数据的采集并通过蓝牙通信模块将采集的数据进行无线传 13 送。 采集器软件主要包括三个模块 :系统初始化模块、数据。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。