收藏 分享(赏)

毕业设计(论文)-工程机械蓝牙无线远程故障诊断系统研究(含程序图纸).docx

上传人:QQ153893706 文档编号:1740612 上传时间:2018-08-21 格式:DOCX 页数:61 大小:175.32KB
下载 相关 举报
毕业设计(论文)-工程机械蓝牙无线远程故障诊断系统研究(含程序图纸).docx_第1页
第1页 / 共61页
毕业设计(论文)-工程机械蓝牙无线远程故障诊断系统研究(含程序图纸).docx_第2页
第2页 / 共61页
毕业设计(论文)-工程机械蓝牙无线远程故障诊断系统研究(含程序图纸).docx_第3页
第3页 / 共61页
毕业设计(论文)-工程机械蓝牙无线远程故障诊断系统研究(含程序图纸).docx_第4页
第4页 / 共61页
毕业设计(论文)-工程机械蓝牙无线远程故障诊断系统研究(含程序图纸).docx_第5页
第5页 / 共61页
点击查看更多>>
资源描述

1、黑龙江工程学院本科生毕业设计1全套设计程序,CAD 图纸,联系 153893706第 1 章 绪 论1.1 概述该项目主要研究蓝牙技术在工程机械监控及故障诊断中无线数据传感技术,机群散射网中蓝牙无线分布式通信、远程无线上网等的应用。对工程机械工况参数进行分析、处理,可实时控制施工进度,提高施工质量,加强作业管理。对工程机械进行有效的监测和故障诊断,不但可使工程机械正常高效地运行,且使得设备在现场出现故障时,能够快速、准确、可靠地确定故障原因和排除故障。工程机械结构形式多种多样,而且结构复杂,再加上工程机械所处的工作环境复杂、条件恶劣,施工载荷不确定,所以导致其故障率较高。工程机械发生故障后会影

2、响施工进程,造成巨大损失。由于施工现场的操作人员常缺少故障诊断的专业知识和诊断设备,让制造商或维修厂家快速有效地进行故障诊断与排除是个很好的解决办法。而工程机械大多数在野外进行作业或在运动中,即现场没有诊断设备和上网条件。基于蓝牙技术的远程故障诊断系统由客户端(远程监测现场的数据采集处理和单机处理系统) 、网络通信协议和远程故障诊断服务中心三个部分组成。工程机械设备的各种运行状态信息由不同传感器采集, 本地用户将反映现场设备状态的数据通过现场监控中心计算机经由蓝牙适配器和蓝牙手机与 Internet 网络连接,发送给远程故障诊断中心,并提请故障诊断及远程信息咨询等服务。安装在工程机械上的蓝牙适

3、配器和移动设备(蓝牙手机)通过微微网连接,最大特征是可为用户提供 10100 米远的无线连接距离,接口方面兼容USB1.1/USB2.0。可采用蓝牙接入点或蓝牙手机上网,进行无线网络通讯。蓝牙采用了扩频技术,使整个蓝牙频段内噪声影响变得最低。很大程度上抑止了黑龙江工程学院本科生毕业设计2无线电电磁干扰。基于蓝牙技术的状态监测与远程故障诊断系统其特色是:1)实现无线数据采集和网络通讯,免去有线电缆的连接,使得监测网络的调整和重组变得非常方便。可以实现多台工程机械之间的联网,便于进行集中测控。2)实现无线移动监测。没有方向上的限制,可以从各个角度进行测控数据的传输。固定设备(工程机械)和移动设备(

4、笔记本、蓝牙手机)通过微微网连接,可达到 10100 米远的无线连接距离,蓝牙技术支持点对点和点对多点连接;3)实现无线远程通信和故障诊断。采用蓝牙手机或蓝牙适配器联网,蓝牙3.0 技术标准传输速率可达 24Mb/s 以上;便于携带,功耗低,可灵活实现1.2 文献综述1998 年 5 月,爱立信、诺基亚、东芝、IBM 和英特尔公司等五家厂商,在联合开展短程无线通信技术的标准化活动时提出了蓝牙技术,其宗旨是提供一种短距离、低成本的无线传输应用技术。目前国内蓝牙技术正在飞速发展,北京清华大学汽车工程系康荣学等人,提出了一种施工机械状态无线监测系统,实现对施工机械状态的实时监控。利用蓝牙技术可将传感

5、器在线监测数据传送到计算机进行处理,而经过计算机处理后的信息可再经蓝牙技术传至各台设备。人工智能四川省(高校)重点实验室任小洪等人设计研究了一种能适用于工业现场的无线传感器系统。该系统以蓝牙模块 BC006-C3 为核心,通过对蓝牙 HCI(H ost Controller Interface)底层协议进行二次开发,实现了一个具有主从网络结构的蓝牙无线数据采集系统。文献介绍了利用 MSP430 单片机进行数据采集,并通过蓝牙模块将采集的数据以无线电波的方式发送到终端设备。文献提出了一种基于蓝牙技术的无线局域网解决方案。重庆邮电学院提出了适应工业控制的现场级“蓝牙”通信协议体系,介绍了适应工业现

6、场的“蓝牙”适配器和连接有线控制网络的“蓝牙”接入设备的实现方法。文献提出了基于一体化思想的工程机械监测与故障诊断系统设计思想。东南大学研究了工程机械设备智能故障诊断专家系统,通过无线网络将单机的采集数据传送到数据库服务器端。研究了基于网络平台的机群状态远程设备监控与故障诊断系统实现了远程数据传输和对工程机械施工机群进行远程状态监控。由于施工过程中各设备彼此分散,所以通过无线网络构建机群监控中心与各分散设备的联系,完成各设备之间的协同工作。机群监控中心和各黑龙江工程学院本科生毕业设计3单机之间,在整体布局和功能上将系统构造成分布分层式结构。整个机群设置监控中心,通过无线网络将单机与监控中心联网

7、,实时监控单机状态。各台单机共享同一专家诊断系统,使机群设备的管理者和操作者能实时监控设备状态,并获取维护处理措施。国外一些著名的工程机械公司在故障诊断、远程监控系统及整机智能控制方面取得了较大进展。卡特彼勒公司 1998 年推出的 Cat 950G 计算机监控系统还配备有 Cat 指导诊断系统和以维修工具为基础的 Cat 软件包,使维修人员坐在汽车里用笔记本电脑就能迅速而容易地诊断和排除故障。Cat 992G 在监控装载机各功能状况并作出诊断的同时还能把这些信息数据作为履历记录下来,无线传送到办公室用计算机进行分析,从而防患于未然。沃尔沃(Volvo)公司的 L系列装载机上也安装有 Matr

8、is 软件包,用以监控和分析装载机的工作状态;其小型装载机上配有电子伺服控制及信息系统(ESIS) ,由液晶显示屏和键盘组成,用来显示和记录各种信息,其自动诊断功能记录机器故障并储存所有相关信息,通过编码可以防盗。凯斯(Case)公司 21B、C 系列装载机也采用计算机监控系统,其微处理器安装在司机座椅的右侧,也具有故障诊断和工作状态液晶显示功能。蓝牙特别兴趣小组(SIG)宣布,采用低能量蓝牙无线技术,这是蓝牙核心规格 4.0 版本的标志功能。蓝牙技术是一种跳频系统,标准的跳频信号 1600跳/秒。蓝牙自组织网络可以把互连的几个微微网形成一个散射网,文献介绍了基于蓝牙无线网络活塞的温度遥测系统

9、。文献介绍了采用蓝牙协议,GSM/GPRS 的远程医疗系统。1.3 基本内容和拟解决的问题1.3.1 基本内容(1)蓝牙远程无线故障诊断,嵌入式蓝牙网关设计,实现无线远程通信和故障诊断。利用蓝牙技术解决工程机械在野外进行作业或在运动中,即现场没有诊断设备和有线上网条件的情况下实现远程无线通信和故障诊断的问题(2)测试系统的拓扑结构,远程故障诊断系统的结构及运行模式。(3)现场检测数据和数据采集系统、设计水温蓝牙无线传感器、故障诊断专家系统等模块。1.3.2 拟解决的问题网路通信结构与实现,测试系统的拓扑结构,远程故障诊断系统的结构及运行模式。黑龙江工程学院本科生毕业设计4现场检测和数据采集系统

10、、设计水温蓝牙无线传感器、故障诊断专家系统模块的建立。嵌入式蓝牙网关的研究。第 2 章 嵌入式蓝牙网关的研究2.1 开发环境的搭建嵌入式蓝牙硬件的部分以 ARM9 微处理器为核心,外围有存储器模块、以太网借口模块、调试接口模块、基于 USB 接口的蓝牙模块组成。硬件总体框图如图所示:图 2-1 嵌入式蓝牙网关硬件平台框图Internet以太网接口模块MCU调制接口模块 存储模块蓝牙模块黑龙江工程学院本科生毕业设计52.1.1 微处理器模块硬件平台采用韩国三星的 ARM 处理器 S3C2410 作为微处理器,这是一款基于 ARM920T 内核,采用 0.18 微米工艺的 32 位微处理器,低价格

11、,高性能,高集成度使得用户可以节省系统成本和提高系统性能。ARM920T 支持两种指令集:ARM 指令集和 Thumb 指令集,其中,ARM 指令集为 32 位的长度,Thumb 指令 16 位长度。Thumb 指令集为 ARM 指令集的功能子集,但与等价的ARM 代码相比较,可以节省 30%-40%以上的存储空间,同时具备 32 位代码的所有优点。同时,S3C2410 芯片集成了大量的功能单元,包括:16KB 指令和 16KB 数据的缓存(cache), MMU、内置外部存储器控制器、LCD 控制器、4 个带外部请求线的 DMA、3 个通用异步串行端口、1 通道的 SPI、一个多主 llC

12、总线、一个 IIS总线控制器、两个 USB 的主机(host)单元,一个 USB 的设备(device) 接口、1 17个通用 I/O、触摸屏接口和 8 个通道的 10-bitADC 以及实时时钟单元 RTC 等等。S3C2410 是嵌入式蓝牙网关的主处理器部分,同时也是整个硬件电路的核心模块,负责控制其他外围设备,管理着系统的平稳运行。2.1.2 存储器模块存储器模块包括一片 16Mbytes 的 NOR FLASH 和两片 16Mbytes SDRAM。FLASH 用于固化 Bootloader 程序和 LINUX 内核映像文件和文件系统以及蓝牙协议栈和所有应用程序,SDRAM 是程序运行

13、的区域。GX-ARM9-2410A 型开发板的 RAM 是由两片 16M16 位数据宽度的SDRAM 构成,两片拼成 32 位模式,共 64M,公用 nGCS6。地址范围为0x300000000x34000000,起始物理实地址:0x30000000,经 MMU 映射后地址为 0xC0000000。nGCS0 接的是一片 8M16 位数据宽度的 INTEL E28F128 FLASH,地址范围为 0x10000000x02000000,按照 S3C2410 处理器手册,Nor FLASH 安装在 Bank0,地址应该为 0,但由于 S3C2410 地址是循环映射,0x10000000 就是 0

14、 地址,其中引导代码 Bootloader,就烧写在地址 0 处,内核zImage 烧写在 0x1040000 开始处,根文件系统烧写在 0x01140000 地址处。2.1.3 以太网接口模块S3C2410 处理器是一款高性能、低功耗、高集成度的片上系统,它本身集成黑龙江工程学院本科生毕业设计6了两个以太网接口,分别为通过 C8900 扩展的 10M 以太网接口和通过 DM9000扩展的 10M/100M 以太网接口,因此很容易实现网络接入功能,这两个接口使得嵌入式蓝牙网关以有线方式与局域网相连。2.1.4 调试接口模块通常硬件调试接口有 JTAG 和 BDM 两种,ARM 系列芯片所需要的

15、测试工具接口是 JTAG,可以用该接口进行在线仿真、调试、下载和烧写 ROM 等操作。另外,嵌入式开发时往往还需要一个监视口,我们用串口 0 来承担,网口既是与局域网的通信接口,也是开发过程中从主机下载 Image 文件到目标机的高速通道。总体而一言,在设计硬件电路的时候,要保证所提供的接口能够同时满足基本通信过程和调试过程。2.1.5 USB 蓝牙接口模块硬件平台采用外扩 USB 蓝牙适配器来实现嵌入式蓝牙网关的无线通信,本设计采用的是力特公司的一款基于蓝牙规范 2.0 设计生产的蓝牙适配器。蓝牙适配器的特性如下:(1)具有桥接功能,能够完整覆盖商用和家用应用环境。无线网络(Wireless

16、LAN)通过无线电传输及接收数据,使得电脑间及电脑与其它网络设备之间可以不经由电线或是网络线建立无线连接。(2)蓝牙 2.0 规范支持全新的 EDR Profile(提高数据传输速率) ,最高带宽将高达 36Mbps。而在对蓝牙语音的支持上面,2.0 蓝牙设备也有更大的优势,可提供更优良的音质。(3)新增的 oneButtonConnect 按键,其人性化的设计提供用户直接与蓝牙键盘、鼠标立即连接的功能,而不需要再安装蓝牙管理软件,非常方便。(4)采用 Broadcom 蓝牙芯片,支持微微网,支持 7 个蓝牙子设备同时工作,并可以和更多的从设备(最多可达 256 个) 保持同步但不进行通信。(

17、5)高达 2MB 的内存。提供蓝牙通信缓冲及蓝牙固件存储,确保通信可靠度。 2.2 嵌入式蓝牙网关的协议体系结构结合嵌入式蓝牙网关的功能,可以得出嵌入式蓝牙网关的协议体系结构图,如图所示:网络应用(HTTP、FTP)TCP/IP 等网络协议PPP虚拟串口RFCOMML2CAPSDPHCLBBRF黑龙江工程学院本科生毕业设计7图 2-2 嵌入式蓝牙网关协议体系结构从结构图可知在嵌入式蓝牙网关使用蓝牙协议栈承载 PPP 协议来支持上层TCP/IP 网络的协议,虚拟串口向上模拟真实串口的行为,向下与蓝牙协议栈的RFCOMM 进行通信。L2CAP、RFCOMM、SDP 层协议以及虚拟串口是软件的核心部

18、分,负责蓝牙连接的建立、管理和数据收发。蓝牙协议中HCL、LMP、 BB 协议已经固化到硬件中,无需开发。2.2.1 L2CAP 协议的实现L2CAP 协议在蓝牙协议中属于中间协议层部分,下层连接主机控制接口,上层连接 RFCOMM,是整个协议栈中非常重要的一个,也是最复杂的一个,它的主要作用是向上层提供一个可靠的 L2CAP 链接。为了实现这一点它必须与上层协议、下层协议和对等 L2CAP 协议进行各种交互。L2CAP 为高层提供数据服务,需要注意的是它不保证信道的可靠性以及数据的完整性,L2CAP 是通过基带提供的机制来提供一条可靠的信道。它只支持基带异步无连接传输服务(ACL),不支持同

19、步面向连接的服务(SCO)。L2CAP 数据包是利用基带的 ACL 数据包来传输。L2CAP 协议的主要功能有:(1)协议复用L2CAP 必须支持协议复用,因为蓝牙的基带协议并不支持通过类型字段区分复用的高层协议功能,因此 L2CAP 必须能够将这些高层协议区分开。LMP课题实现黑龙江工程学院本科生毕业设计8(2)分段与重组蓝牙基带协议中定义的数据分组长度是有限的,而蓝牙的高层协议则需要更大的分组来发送。基带分组有效载荷最大为 341 字节,如果用这种最大传输单位(MTU)来传输高层协议,将会限制带宽的利用率。因此 L2CAP 分组必须能够在无线传输前分成许多小的基带分组;在接收端,经过简单的

20、完整检查后,这些小的分组能够重新组合成一个较大的 L2CAP 分组。(3)在 L2CAP 连接建立的过程中允许两台蓝牙设备之间交换各自所期望的 服务质量消息。执行 L2CAP 的设备必须对协议所使用的资源进行监视,以保证能都达到所期望的服务质量。(4)组许多协议中都包含有地址组的概念。蓝牙基带协议支持微微网的概念,在一个微微网中最多可以有八个蓝牙设备,这些设备组成一个组在同一个时钟下同步的工作。L2CAP 卫中组的概念可以把协议中的组有效的映射到微微网中。如果没有这项功能,高层协议将直接面对基带协议和链路管理器,刁能达到对地址组的有效管理。2.2.2 L2CAP 的互操作客户端蓝牙设备 服务器

21、端蓝牙设备L2CAP 请求 L2CAP 确认 L2CAP 响应 L2CAP 指示L2CAP 请求底层请求 底层确认 L2CAP 响应 底层响应 底层指示物理链路图 2-3 L2CAP 层的互操作图 2-3 显示了 L2CAP 层的互操作过程, L2CAP 实体必须能够在高层和底层之间传输数据。同时支持一组对等的 L2CAP 实体信令命令。L2CAP 实体必上层协议 上层协议L2CAP底层L2CAP底层黑龙江工程学院本科生毕业设计9须能够接收底层来的事件,然后产生响应的事件给上层。2.2.3 L2CAP 的数据处理方式 L2CAP 通过分段重组的形式来处理数据的收发,分段和重组用来支持MTU 比

22、基带数据包更大的协议层,从而提高通信的效率。从 L2CAP 往基带发送数据时,执行分段处理,产生更小的数据包,适合基带传输,从基带 L2CAP发送数据时,执行重组处理,组合成适合 L2CAP 的数据格式,L2CAP 层本身并不执行任何分段和重组,但是数据包格式支持对更小物理帧的适配,分段和重组在实现时使用很小的基带包开销。2.2.4 L2CAP 的数据包L2CAP 是基于分组传输的,遵循信道传输模型,跳信道代表一对本地和远程设备 L2CAP 实体间的数据流。 L2CAP 支持的信道有两种:面向的连接信道和面向无连接的信道。面向连接信道:L2CAP 包头 LSB 16bits 16bits MS

23、B图 2-4 L2CAP 层的数据封装格式面向无连接信道:LSB 16bits 16bits 16bits MSB图 2-5 L2CAP 层的数据封装格式无连接的数据信道支持组传输,数据通过组信道被发往所有的组成员,完成上层协议组地址与蓝牙微微网的映射,但是在组信道中不提供服务质量,因此组信道通常是不可靠的,L2CAP 不保证数据能成功发往所有组成员,如果需要可靠的传输,需要上层协议的支持。2.2.5 L2CAP 的状态流程L2CAP 面向连接的信道假定不同协议层进行通信有不同的状态。协议的这一部分描述了 L2CAP 卫面向连接信道的状态机,并定义了一些状态,引起状态转换的事件,以及响应事件的

24、动作。蓝牙协议规定, “状态机”只适用于双向信道,并不适用于信令信道和单向信道。长度 信道 ID 有效载荷长度 信道 ID PSM 有效载荷黑龙江工程学院本科生毕业设计101.事件和动作事件是指在一定时限内到达 L2CAP 层的消息。事件分为五类:低层来的指示和证实、高层来的请求和响应、来自对等协议层的数据、对等协议层来的信号请求和应答消息、定时器超时引起的事件。动作也分为五类:对高协议层的证实与指示、对低协议层的请求与响应、对对等协议层的请求和应答、对等协议层的数据传输、设置定时器。的命令规则如下:(1)两个协议层之间的接口(垂直方向接口)使用为高层提供服务的底层协议的前缀,如 L2CAP。

25、位于相同协议层的实体之间的接口(水平方向接口)使用协议的前缀,如 L2CAP 。(2)从上层来的事件称为“请求” (Req),相应的回答称为 “证实(Cfm) ;从低层来的事件称为“指示”(Ind),相应的应答称为“响应”(Rsp) ;需要有进一步的处理过程的响应称为“中间响应”(Pnd);如果是表示否定的应答,在相应的记号后加上“Neg ”后缀。(3)高层的请求信号必须有相应的证实回答( 表示动作的执行成功或者不成功),而低层对高层的指示信号并不一定需要相应的应答,例如当指示信号用于向高层通知本地触发事件的信息时。2.2.6 L2CAP 层的实现过程流程图1,请求方 L2CAP 层建立逻辑信

26、道过程模块流程图请求建立 L2CAP 逻辑信道请求方 L2CAP 层逻辑信道建立模块启动创建 connect-request 分组进行 HCL 层打包发送到下层 HCL 子模块分组Connect-request?向用户报错:硬件平台获蓝牙基带有误,检查后再试程序结束记录返回参数 Destination-CID创建 Configuration-Request 分组进行 HCL 层打包发送到下层 HCL 子模块分组Configuration-Respon?se反方向设置及模块请求方 L2CAP 曾逻辑信道建立模块结束黑龙江工程学院本科生毕业设计11yes noNO yes图 2-6 L2CAP 层

27、的实现过程流程图RFCOMM 在蓝牙协议中模拟串口,实现 L2CAP 层和基于 RFCOMM 层的PPP,TCS 等协议层的数据交互。 RFCOMM 的目的是对两个不同设备上的应用保证一条完整的通信路径,病保持一个通信段。2.3 RFCOMM 在蓝牙设备中的实现形式RFCOMM 通过 L2CAP 连接来实现设备间的逻辑串行链路,特别是建立一条面向连接 L2CAP 信道,以连接两个设备 RFCOMM 实体,两个设备之间只允许同时存在一个 RFCOMM 连接,但是该链接是可多路复用,故两个设备时间可以再一条 RFCOMM 连接之上存在多大 60 条逻辑链路,但是没有规定RFCOMM 多路复用实现的

28、层次。RFCOMM 绘画过程中,客户和服务器应用可以分布在通信的两端,每一端都可以独立发起连接。在客户和服务器之间的每一条多路复用链路都用数据链路标志符来唯一标识,DLCI 标识控制信道,DLCII 不可用,DLCI62 和 DLCI63 是系统保留值,在两个设备之间的 RFCOMM 会话期间,DLCI 是唯一的。如果蓝牙设备支持多个设备之间的串口仿真,那么 RFCOMM 实体必须能够运行多个 TS07.10 多路复用器会话,每一个多路复用器都使用期 L2CAP 信道ID。 RFCOMM 对 TS07.10 多路复用器多个会话的支持是可选的。一般大多数便携式蓝牙设备在蓝牙环境下很少会需要同时使

29、用如此多的串行连接。局域网访问规范规定在 RFCOMM 上使用 PPP,因此一个局域网接入黑龙江工程学院本科生毕业设计12点设备实际上可能同时需要很多与多个设备之间的串行连接,可利用 LZCAP 的多路复用能力来实现 RFCOMM 的多路复用。2.3.1 RFCOMM 的帧分析与流控制RFCOMM 协议层命令的执行和数据的发送都是通过各种帧来完成的。RFCOMM 将各种数据和控制信号封装在各种不同的帧中进行传输,所使用的帧来自于 GSM TS07.10 多路控制协议。主要包括:设置异步平衡模式帧(SABM),无序号响应帧(UA)、断开模式帧(DM),断开连接帧(DISC)和带头校验的无序号信息

30、帧(UIH) 。其中 SABM、DISC 为命令帧,UA、DM 为响应帧,UIH 既可以是命令帧,也可以是响应帧。在建立 DLCI 链接时,首先需要发送的是 SABM 帧,其中所携带的 DLCI信息就是要建立的 DLCI 连接。UA 帧是在接收到需要响应的帧时(如SABM、DISC 帧),发送的响应帧。DM 帧用来向对方确认本地当前的状态。DISC 帧用来断开某个 DLC 帧用来装载有效用户数据,以及多路控制命令(MCC)。当为普通用户数据的时候,通过非控制信道(DLCI 殉来传输;当是MCC 命令时,通过控制信道(DLCIO)传输。MCC 命令包括TEST、FCON 、FCOFF 、 PN、

31、RPN、MSC、RLS 和 NSC,被放在 UIH 的信息域字段里面传输。RFCOMM 和较低层 L2CAP 之间的流控制依赖于设备所支持的服务接口,除了使用于基带的链路管理(LM)层提供的流控制机制外,RFCOMM 也有自己的三种流控机制。(1)RFCOMM 协议定义了能对两个 RFCOMM 实体之间全部数据流操作的流控制指令 FCON 和 FCOFF,它对所有的 DLCI 都起作用。如果本地会话不能接收更多的数据,则发送 FCOFF 通知远端会话实体停止发送数据,在收到确认后本地会话实体将不再接收数据,如果本地可以接收更多的数据则发送 FCON命令通知远端流控打开,以使通信可以进行下去。(

32、2)调制解调器状态命令 MSC,它是对单个 DLCI 的流控制机制。(3)基于信用的流控制,在这种流控方式中,通信双方在初始连接时使用PN 命令协商好初始信誉量,每发送一条数据帧,远端信誉量减 1,减至 0 时停止发送,直到接收到远端信誉量通知才可以发送数据。2.3.2 RFCOMM 的通信流程黑龙江工程学院本科生毕业设计13RFCOMM 信道是建立在 L2CAP 信道基础上的,建立 RFCOMM 链接时,首先要建立 L2CAP 信道,并且进行相应的配置。通过查询 SDP 数据得到使用该服务所需要的通道信号。2.3.3 RFCOMM 的状态过程通过状态机可以清楚的分析 RFCOMM 的通信流程

33、,状态机共六种状态,包括 DISCONNECTED(断开状态)、CONNECTED (连接状态)、DISCONNECTING(正断开连接过程中状态)、CONNECTING(连接过程中状态)、CONFIG(配置状态 )、FLOW STOP(流控停止状态) 。系统开机后,所有的状态都是链路断开状态,主机发送完建立连接请求到配置结束的过程中,系统一直处在链路建立连接过程中。当收到对方确认连接响应后,系统的状态变为参数配置状态,需要协商配置的参数有 L2CAP 卫信道的参数配置和 RFCOMM 的 DLCI 建立以及参数的配置。当双方参数协商配置完后,系统转为链路建立状态,此时用户可以进行数据的传输,

34、当主机发送断开连接请求后,系统转为链路断开连接过程中,收到对方断开确认响应后,系统转为链路断开状态。需要注意的是,在连接状态中,如果收到 FCOFF 命令,则进入 FLOW STOP 状态,在 FLOW STOP 状态中,收到 FCON 命令,则进入连接状态。在任何状态中,收到 L2CAP 链路丢失通知,RFCOMM 实体将从新初始化,释放所有数据连接,回到最初的链路断开状态。2.3.4 RFCOMM 的数据处理流程1链路连接串口设备是一种字符设备,可以方便地和 PPP 建立连接,这个特性对于本设计来说是必要的,因此必须为应用程序提供虚拟串口,虚拟串日可以在不占用真实串口的情况下创建任意数量并

35、互为连接的纯虚拟串口对,其在功能和使用上与真实串口无异。这些虚拟串口并不跟具体的物理硬件打交道,而是将应用程序的黑龙江工程学院本科生毕业设计14请求转发到对蓝牙系统的请求,还有将从蓝牙系统来的数据和事件转发给应用程序,它起到了一个中继者的作用。noyesyesno图 2-7 RFCOMM 的数据处理流程本设计中采用虚拟串口技术可以缩短开发周期,减少开发成本,通过建立虚拟串口连接可以使用 Linux 上很多现有的应用程序来快速构建嵌入式蓝牙网关的各种应用,即使没有现成的应用程序也可以很方便地对串口进行编程以构建新的蓝牙应用。2.4 虚拟串口设备的管理在虚拟串口设备与蓝牙模块交互中,可能存在多个虚

36、拟串口设备,因此需要建立一个串口管理设备,负责对串口设备和蓝牙模块的交互进行管理,其中管理任务包括以下四部分内容开始发送 SABM 数据,启动定时器等待直到响应到达发送 PN 数据帧阻塞,等待直到响应到达。存在 rfcommSession?连接是否超时结束发送 L2CAP 连接请求阻塞直到连接响应到达发送 L2CAP 配置请求阻塞直到请求确认到达错误处理黑龙江工程学院本科生毕业设计15(1)虚拟串口设备发送消息当一个虚拟串口设备被打开、关闭、写数据等的时候,它要向蓝牙协议模块发送消息。设备不是和蓝牙协议模块直接通信的,它是通过串口管理设备和蓝牙协议模块通信的。在串口管理设备的数据结构中,维护了

37、一个消息链表,所有的串口设备要向协议模块发送的消息都要先插入到这个消息链表中。(2)蓝牙协议模块发送消息蓝牙协议模块向虚拟串口设备发消息,使用 IOCTI 统调用发送消息。(3)蓝牙协议模块接收消息在蓝牙协议模块中,专门有一个线程来接收来自驱动程序的消息,这些消息不是直接来自虚拟串口设备而是来自串口管理设备。如果当前消息队列里有消息,或一旦有消息被添加到消息队列,蓝牙模块将消息从管理串口设备中读出,然后根据消息类型进行相应的处理。例如,收到了打开串口消息,蓝牙模块就要和远端的设备去建立蓝牙的 RFCOMM 连接。(4)串日设备接收消息如果蓝牙协议模块向串口管理设备发送了消息,串口管理设备要将这

38、些消息转发给虚拟串口设备。由于串口管理设备和虚拟串口设备的驱动程序都是编译成内核模块,运行在内核空间。它们可以共享全局变量。这样串日管理设备直接修改虚拟串口设备的全局变量就可以完成它们之间的通信。2.5 局域网接入模型的实现嵌入式蓝牙网关的实现基于蓝牙局域网接入模型(LAP) ,该模型通过建立在蓝牙无线链路之上的网络协议使计算机连接到网络上。局域网接入模型中定义了使用蓝牙无线技术的设备如何接入到一个局域网的服务,此局域网使用在 RFCOMM 上的点对点协议(PPP )。其次,显示了如何使用同一个 PPP 机制来构成由两个蓝牙设备组成的网络。在这个应用模型中,数据终端使用局域网接入点作为一个局域

39、网无线连接。一旦连接上,数据终端运行如同它们与 LAN 拨号网络连接,并且可以访问 LAN 提供的所有访问。黑龙江工程学院本科生毕业设计16PPP 是一种允许接入到网络的普遍配置方式。PPP 提供鉴权、加密、数据压缩和多协议便利。在 RFCOMM 之上的 PPP 己经被选为给蓝牙设备提供 LAN接入的方式,因为具有给设备配置 PPP 软件的大型安装基础。在 PPP 可以支持多种网络协议,由于在现有网络中 lP 协议被公认为最重要的协议,因此在 PPP上支持 lP 协议。2.5.1 局域网接入模型中的协议从图中可以看看出,在局域网接入模型中,蓝牙设备有两种角色:局域网接入点和数据终端。局域网接入

40、点是提供 PPP 服务并连在 LAN 上的设备而。PPP 连接在 RFCOMM 上传送,RFCOMM 可以用来传输 PPP 数据包并且可以作为 PPP 数据流的流控,数据终端是使用 LAP 服务的设备,典型的 DT 设备有蓝牙笔记本电脑,蓝牙 PC,蓝牙 PDA 等。ME 为管理实体,在初始化,配置和连接过程中起着协调作用。局域网接入的协议栈如图所示:Data Terminal LAN Access Point图 2-8 局域网接入协议栈局域网接入模型中主要的协议有:(1)PPP 协议:PPP 是 IETF 的点到点协议,它属于数据链路层协议的一部分。PPP 协议主要负责粗无检测,实现网络层协

41、议复用,协商连接时的 IP 地址,进行身份验证等。(2)SDP 协议:负责移动数据终端接入时的服务发现,包含服务的登记,搜索,抽取服务信息等。(3)RFCOMM 协议:负责仿真 RS-232 的传输信道和控制方式,为 PPP 层提供一个类似串口的通道。(4)L2CAP 协议:负责支持高层的协议复用。数据包打包,拆包,传递 QoSApplicationsTCPUDP IPPPPSDP RFCOMML2CAP LMPBasebandMEApplicationsTCPUDPIPPPP NetworkingPPPRFCOMM SDPLMP L2CAPBasebandMELANLAN黑龙江工程学院本科生

42、毕业设计17信息等。(5)LMP 和基带协议:这部分属于蓝牙底层协议,与硬件紧密结合。负责物理链路的管理,基带 PDU 的形成,检纠错,加密和鉴权。LAP 中,PPP 的使用是关键,它用于再说数据终端和接入点之间建立连接,PPP 建立在 RFCOMM 之上, 一旦 PPP 连接建立后,传统的 IP 解决方案就可以建立在其之上,从而完成一些诸如获得 IP 资质等网络功能。2.5.2 局域网接入模型的通信过程在局域网接入模型中,终端设备和网关之间的通信大体包括查询,建立连接,鉴权,通信几个过程。详细过程如下:(1)数据终端查询是否有一个在无线网络内的 LAP,当数据终端要求接入局域网时,首先启动服

43、务发现协议,向作出回应的 LAP 发出查询请求。LAP 此时作为 SDP Server 具备发现服务数据库,里面记录着接入点可以提供的服务及属性,SDP 机制可以提取建立 RFCOMM 连接需要的所有服务信息。数据终端查询到可用的服务信息后,就可以建立连接。(2)建立物理连接。数据终端找到并选定合适的 LAP 后,若二者间无物理连接,则 DT 向 LAP 请求建立基带物理连接。若已存在物理连接,则进行蓝牙配对,鉴权过程,并在所建链路上进行加密传输。(3)依次建立 PPP/RFCOMM/L2CAP 链路。(4)作为可选安全措施,LAP 可以适当的采取 PPP 的鉴权机制。(5)建立连接后数据终端

44、和 LAP 即可通过 IP 数据流进行网络通信。(6)任何时候,DT 和 LAP 都可以终止已经建立的连接。拆除各层连接的操作顺序与建立时正好相反。LAP 在上电之后所做的第一件事情就是进行初始化工作,实质上就是软硬件自启动过程,系统起来之后,LAP 需要发起若干任务,主要有:查询扫描任务,负责监视有无 DT 需要与其通信;向前任务,负责将串口数据转至网口并完成必要的格式转换;向后通信功能,负责监视网口并完成向前通信任务的逆过程,任务是并发的,因此 LAP 能够同时支持与多个 DT 保持通信。2.6 PPP 协议使用 PPP 协议是 LAP 应用模型中非常重要的一点,也是 LAP 的关键所在,

45、因为 PPP 协议很好的解决了点对点通信的问题,PPP 协议属于数据链路层协议,主要用来完成在串行连接上封装数据报,监视链路连接质量,建立黑龙江工程学院本科生毕业设计18和配置及测试数据连接,在不同的网络层协议上建立连接和配置 IP 选项等功能。2.6.1 PPP 协议的状态转移数据通信设备的两端如果希望通过 PPP 协议建立点对点的通信,无论哪一端的设备都需发送 LCP 数据报文来配置链路(测试链路)。一旦 LCP 的配置参数选项协商完后,通信的双方就会根据 LCP 配置请求报文中所协商的认证配置参数选项来决定链路两端设备所采用的认证方式。协议缺省情况下双方是不进行认证的,而直接进入到 NC

46、P 配置参数选项的协商,直至所经历的.几个配置过程全部完成后,点对点的双方就可以开始通过己建立好的链路进行网络层数据报文的传送了,整个链路就处于可用状态。只有当任何一端收 LCP 或 NCP 的链路关闭报文时(一般而一言协议是不要求 NCP 有关闭链路的能力的,因此通过情况下关闭链路的数据报文是在 LCP 协商阶段或应用程序会话阶段发出的);物理层无法检测到载波或管理人员对该链路进行关闭操作,都会将该条链路断开,从而终止 PPP 会话。2.6.2 PPP 协议的实现如果使用公开的 PPP 代码实现 PPP 协议,那么针对操作系统而进行的移植工作不仅需要熟练的技术,而且需要较长的时间。鉴于此,决

47、定选用成熟的PPP 产品。由于嵌入式操作系统选用的是 Linux 所以可以使用 Linux 中己经实现的PPP服务功能,在 Linux 下对 PPP 的支持需要在内核编译时配置内核选项Networking support 加入对 PPP(Point 一 to 一 point)support 等选项。同时,由于在设计中加入了虚拟串口的支持,可采用 Linux 上很多现有的应用程序,在嵌入式蓝牙网关(LAF 端)可以使用 Linux 操作系统上的 mgetty+AutoPPP 来接收进入的连接请求,使用 pppd+kppp 来构建客户端,从而实现网关与数据终端PPP 连接。2.7 数据终端对局域网

48、的访问当 LAP 与 DT 间建立 PPP 链路后,在链路的两端将产生一对 IP 地址,这是由 PPP 协议中的网络控制协议 (NCP)分配协商得到的。但这里的 IP 地址与一般意义上的 Iternet 上的 IP 地址是不同的。这里每个拨号网络终端的 IP 地址是由 LAP(PPP Server)临时动态分配的。每个终端在连接过程中拥有 IP 地址,在连接结束时释放,从而可以再被分配给其他的终端。黑龙江工程学院本科生毕业设计19但是,这样通过 LAP 上网的 DT 来说,其 IP 地址对网络是不可见的,可以说是虚拟的 IP 地址,只有 LAP 才能从外部获得一个真正有效的 IP 地址。因此,

49、为了与局域网进行通信,必须在 LAP 端设置地址转换功能。对于 DT端向外发送的 IP 包,将源地址转成 LAP 端的有效 IP 地址,而由局域网发回的 IP 包,则将其目的地址转换为响应的内部 IP 地址。在多对一的情况下,为了能区分发送到不同 DT 的数据包,可以在 LAP 端设置一个地址转换表,将不同的 DT 发到外部的 IP 包对应于 LAP 上不同的虚拟串口端口送出,而从局域网发回的 IP 包而可以按照此表,对应到相应的 DT,从而实现多个 DT 通过LAP 访问局域网。2.8 本章小结本章是嵌入式蓝牙网关的所有内容,深入研究了蓝牙协议栈中 L2CAP 协议、RFCOMM 协议、SDP 协议,对各层协议的数据处理方式、实现流程、状态转移做出详尽的分析。同时,在 RFCOMM 层上建立虚拟串口作为数据中继,实现与上层应用程序的连接,最后,研究了蓝牙规范中局域网接入模型的实现。第 3 章 水温蓝牙无线传感器3.1 单片机简介单片机全称为单片微型计算机。单片机发展始于 70 年代,经过 30 多年的发展,由于其具有高集成度、低功耗、工作电

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 论文指导/设计

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报