毕业设计(论文)-工程机械蓝牙无线远程故障诊断系统研究(含程序图纸) .docx_第1页
毕业设计(论文)-工程机械蓝牙无线远程故障诊断系统研究(含程序图纸) .docx_第2页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

黑龙江工程学院本科生毕业设计全套设计程序,cad图纸,联系 153893706第1章 绪 论1.1概述该项目主要研究蓝牙技术在工程机械监控及故障诊断中无线数据传感技术,机群散射网中蓝牙无线分布式通信、远程无线上网等的应用。对工程机械工况参数进行分析、处理,可实时控制施工进度,提高施工质量,加强作业管理。对工程机械进行有效的监测和故障诊断,不但可使工程机械正常高效地运行,且使得设备在现场出现故障时,能够快速、准确、可靠地确定故障原因和排除故障。工程机械结构形式多种多样,而且结构复杂,再加上工程机械所处的工作环境复杂、条件恶劣,施工载荷不确定,所以导致其故障率较高。工程机械发生故障后会影响施工进程,造成巨大损失。由于施工现场的操作人员常缺少故障诊断的专业知识和诊断设备,让制造商或维修厂家快速有效地进行故障诊断与排除是个很好的解决办法。而工程机械大多数在野外进行作业或在运动中,即现场没有诊断设备和上网条件。基于蓝牙技术的远程故障诊断系统由客户端(远程监测现场的数据采集处理和单机处理系统)、网络通信协议和远程故障诊断服务中心三个部分组成。工程机械设备的各种运行状态信息由不同传感器采集, 本地用户将反映现场设备状态的数据通过现场监控中心计算机经由蓝牙适配器和蓝牙手机与internet网络连接,发送给远程故障诊断中心,并提请故障诊断及远程信息咨询等服务。安装在工程机械上的蓝牙适配器和移动设备(蓝牙手机)通过微微网连接,最大特征是可为用户提供10100米远的无线连接距离,接口方面兼容usb1.1/usb2.0。可采用蓝牙接入点或蓝牙手机上网,进行无线网络通讯。蓝牙采用了扩频技术,使整个蓝牙频段内噪声影响变得最低。很大程度上抑止了无线电电磁干扰。基于蓝牙技术的状态监测与远程故障诊断系统其特色是:1)实现无线数据采集和网络通讯,免去有线电缆的连接,使得监测网络的调整和重组变得非常方便。可以实现多台工程机械之间的联网,便于进行集中测控。2)实现无线移动监测。没有方向上的限制,可以从各个角度进行测控数据的传输。固定设备(工程机械)和移动设备(笔记本、蓝牙手机)通过微微网连接,可达到10100米远的无线连接距离,蓝牙技术支持点对点和点对多点连接;3)实现无线远程通信和故障诊断。采用蓝牙手机或蓝牙适配器联网,蓝牙3.0技术标准传输速率可达24mb/s以上;便于携带,功耗低,可灵活实现1.2文献综述 1998年5月,爱立信、诺基亚、东芝、ibm和英特尔公司等五家厂商,在联合开展短程无线通信技术的标准化活动时提出了蓝牙技术,其宗旨是提供一种短距离、低成本的无线传输应用技术。目前国内蓝牙技术正在飞速发展,北京清华大学汽车工程系康荣学等人,提出了一种施工机械状态无线监测系统,实现对施工机械状态的实时监控。利用蓝牙技术可将传感器在线监测数据传送到计算机进行处理,而经过计算机处理后的信息可再经蓝牙技术传至各台设备。人工智能四川省(高校)重点实验室任小洪等人设计研究了一种能适用于工业现场的无线传感器系统。该系统以蓝牙模块bc006-c3为核心,通过对蓝牙hci(host controller interface)底层协议进行二次开发,实现了一个具有主从网络结构的蓝牙无线数据采集系统。文献介绍了利用msp430单片机进行数据采集,并通过蓝牙模块将采集的数据以无线电波的方式发送到终端设备。文献提出了一种基于蓝牙技术的无线局域网解决方案。重庆邮电学院提出了适应工业控制的现场级“蓝牙”通信协议体系,介绍了适应工业现场的“蓝牙”适配器和连接有线控制网络的“蓝牙”接入设备的实现方法。文献提出了基于一体化思想的工程机械监测与故障诊断系统设计思想。东南大学研究了工程机械设备智能故障诊断专家系统,通过无线网络将单机的采集数据传送到数据库服务器端。研究了基于网络平台的机群状态远程设备监控与故障诊断系统实现了远程数据传输和对工程机械施工机群进行远程状态监控。由于施工过程中各设备彼此分散,所以通过无线网络构建机群监控中心与各分散设备的联系,完成各设备之间的协同工作。机群监控中心和各单机之间,在整体布局和功能上将系统构造成分布分层式结构。整个机群设置监控中心,通过无线网络将单机与监控中心联网,实时监控单机状态。各台单机共享同一专家诊断系统,使机群设备的管理者和操作者能实时监控设备状态,并获取维护处理措施。国外一些著名的工程机械公司在故障诊断、远程监控系统及整机智能控制方面取得了较大进展。卡特彼勒公司1998年推出的cat 950g计算机监控系统还配备有cat指导诊断系统和以维修工具为基础的cat软件包,使维修人员坐在汽车里用笔记本电脑就能迅速而容易地诊断和排除故障。cat 992g在监控装载机各功能状况并作出诊断的同时还能把这些信息数据作为履历记录下来,无线传送到办公室用计算机进行分析,从而防患于未然。沃尔沃(volvo)公司的l系列装载机上也安装有matris软件包,用以监控和分析装载机的工作状态;其小型装载机上配有电子伺服控制及信息系统(esis),由液晶显示屏和键盘组成,用来显示和记录各种信息,其自动诊断功能记录机器故障并储存所有相关信息,通过编码可以防盗。凯斯(case)公司21b、c系列装载机也采用计算机监控系统,其微处理器安装在司机座椅的右侧,也具有故障诊断和工作状态液晶显示功能。蓝牙特别兴趣小组(sig)宣布,采用低能量蓝牙无线技术,这是蓝牙核心规格4.0版本的标志功能。蓝牙技术是一种跳频系统,标准的跳频信号1600跳/秒。蓝牙自组织网络可以把互连的几个微微网形成一个散射网,文献介绍了基于蓝牙无线网络活塞的温度遥测系统。文献介绍了采用蓝牙协议,gsm/gprs的远程医疗系统。1.3基本内容和拟解决的问题1.3.1基本内容(1)蓝牙远程无线故障诊断,嵌入式蓝牙网关设计,实现无线远程通信和故障诊断。利用蓝牙技术解决工程机械在野外进行作业或在运动中,即现场没有诊断设备和有线上网条件的情况下实现远程无线通信和故障诊断的问题(2)测试系统的拓扑结构,远程故障诊断系统的结构及运行模式。(3)现场检测数据和数据采集系统、设计水温蓝牙无线传感器、故障诊断专家系统等模块。1.3.2拟解决的问题网路通信结构与实现,测试系统的拓扑结构,远程故障诊断系统的结构及运行模式。现场检测和数据采集系统、设计水温蓝牙无线传感器、故障诊断专家系统模块的建立。嵌入式蓝牙网关的研究。第2章 嵌入式蓝牙网关的研究2.1 开发环境的搭建嵌入式蓝牙硬件的部分以arm9微处理器为核心,外围有存储器模块、以太网借口模块、调试接口模块、基于usb接口的蓝牙模块组成。硬件总体框图如图所示:存储模块蓝牙模块调制接口模块mcu以太网接口模块internet图2-1嵌入式蓝牙网关硬件平台框图2.1.1 微处理器模块硬件平台采用韩国三星的arm处理器s3c2410作为微处理器,这是一款基于arm920t内核,采用0.18微米工艺的32位微处理器,低价格,高性能,高集成度使得用户可以节省系统成本和提高系统性能。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总线、一个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是程序运行的区域。 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地址,其中引导代码bootloader,就烧写在地址0处,内核zimage烧写在0x1040000开始处,根文件系统烧写在0x01140000地址处。2.1.3 以太网接口模块 s3c2410处理器是一款高性能、低功耗、高集成度的片上系统,它本身集成了两个以太网接口,分别为通过c8900扩展的10m以太网接口和通过dm9000扩展的10m/100m以太网接口,因此很容易实现网络接入功能,这两个接口使得嵌入式蓝牙网关以有线方式与局域网相连。2.1.4 调试接口模块 通常硬件调试接口有jtag和bdm两种,arm系列芯片所需要的测试工具接口是jtag,可以用该接口进行在线仿真、调试、下载和烧写rom等操作。另外,嵌入式开发时往往还需要一个监视口,我们用串口0来承担,网口既是与局域网的通信接口,也是开发过程中从主机下载image文件到目标机的高速通道。总体而一言,在设计硬件电路的时候,要保证所提供的接口能够同时满足基本通信过程和调试过程。2.1.5 usb蓝牙接口模块 硬件平台采用外扩usb蓝牙适配器来实现嵌入式蓝牙网关的无线通信,本设计采用的是力特公司的一款基于蓝牙规范2.0设计生产的蓝牙适配器。 蓝牙适配器的特性如下:(1)具有桥接功能,能够完整覆盖商用和家用应用环境。无线网络(wirelesslan)通过无线电传输及接收数据,使得电脑间及电脑与其它网络设备之间可以不经由电线或是网络线建立无线连接。 (2)蓝牙2.0规范支持全新的edr profile(提高数据传输速率),最高带宽将高达36mbps。而在对蓝牙语音的支持上面,2.0蓝牙设备也有更大的优势,可提供更优良的音质。 (3)新增的onebuttonconnect按键,其人性化的设计提供用户直接与蓝牙键盘、鼠标立即连接的功能,而不需要再安装蓝牙管理软件,非常方便。 (4)采用broadcom蓝牙芯片,支持微微网,支持7个蓝牙子设备同时工作,并可以和更多的从设备(最多可达256个)保持同步但不进行通信。(5)高达2mb的内存。提供蓝牙通信缓冲及蓝牙固件存储,确保通信可靠度。 2.2嵌入式蓝牙网关的协议体系结构结合嵌入式蓝牙网关的功能,可以得出嵌入式蓝牙网关的协议体系结构图,如图所示:rfhclbb网络应用(http、ftp)sdpl2caprfcomm虚拟串口ppptcp/ip等网络协议课题实现 lmp图2-2嵌入式蓝牙网关协议体系结构从结构图可知在嵌入式蓝牙网关使用蓝牙协议栈承载ppp协议来支持上层tcp/ip网络的协议,虚拟串口向上模拟真实串口的行为,向下与蓝牙协议栈的rfcomm进行通信。l2cap、rfcomm、sdp层协议以及虚拟串口是软件的核心部分,负责蓝牙连接的建立、管理和数据收发。蓝牙协议中hcl、lmp、bb协议已经固化到硬件中,无需开发。2.2.1 l2cap协议的实现l2cap协议在蓝牙协议中属于中间协议层部分,下层连接主机控制接口,上层连接rfcomm,是整个协议栈中非常重要的一个,也是最复杂的一个,它的主要作用是向上层提供一个可靠的l2cap链接。为了实现这一点它必须与上层协议、下层协议和对等l2cap协议进行各种交互。 l2cap为高层提供数据服务,需要注意的是它不保证信道的可靠性以及数据的完整性,l2cap是通过基带提供的机制来提供一条可靠的信道。它只支持基带异步无连接传输服务(acl),不支持同步面向连接的服务(sco)。l2cap数据包是利用基带的acl数据包来传输。l2cap协议的主要功能有:(1)协议复用l2cap必须支持协议复用,因为蓝牙的基带协议并不支持通过类型字段区分复用的高层协议功能,因此l2cap必须能够将这些高层协议区分开。(2)分段与重组蓝牙基带协议中定义的数据分组长度是有限的,而蓝牙的高层协议则需要更大的分组来发送。基带分组有效载荷最大为341字节,如果用这种最大传输单位(mtu)来传输高层协议,将会限制带宽的利用率。因此l2cap分组必须能够在无线传输前分成许多小的基带分组;在接收端,经过简单的完整检查后,这些小的分组能够重新组合成一个较大的l2cap分组。(3)在l2cap连接建立的过程中允许两台蓝牙设备之间交换各自所期望的 服务质量消息。执行l2cap的设备必须对协议所使用的资源进行监视,以保证能都达到所期望的服务质量。(4)组 许多协议中都包含有地址组的概念。蓝牙基带协议支持微微网的概念,在一个微微网中最多可以有八个蓝牙设备,这些设备组成一个组在同一个时钟下同步的工作。l2cap卫中组的概念可以把协议中的组有效的映射到微微网中。如果没有这项功能,高层协议将直接面对基带协议和链路管理器,刁能达到对地址组的有效管理。2.2.2 l2cap的互操作客户端蓝牙设备 服务器端蓝牙设备上层协议上层协议l2capl2capl2cap请求 l2cap确认 l2cap响应l2cap指示 l2cap请求底层请求底层确认 l2cap响应底层响应底层指示底层底层物理链路图2-3 l2cap层的互操作图2-3显示了l2cap层的互操作过程,l2cap实体必须能够在高层和底层之间传输数据。同时支持一组对等的l2cap实体信令命令。l2cap实体必须能够接收底层来的事件,然后产生响应的事件给上层。 2.2.3 l2cap的数据处理方式 l2cap通过分段重组的形式来处理数据的收发,分段和重组用来支持mtu比基带数据包更大的协议层,从而提高通信的效率。从l2cap往基带发送数据时,执行分段处理,产生更小的数据包,适合基带传输,从基带l2cap发送数据时,执行重组处理,组合成适合l2cap的数据格式,l2cap层本身并不执行任何分段和重组,但是数据包格式支持对更小物理帧的适配,分段和重组在实现时使用很小的基带包开销。2.2.4 l2cap的数据包l2cap是基于分组传输的,遵循信道传输模型,跳信道代表一对本地和远程设备l2cap实体间的数据流。l2cap支持的信道有两种:面向的连接信道和面向无连接的信道。面向连接信道: l2cap 包头 有效载荷长度信道idlsb 16bits 16bits msb 图2-4 l2cap层的数据封装格式面向无连接信道:信道idpsm有效载荷长度 lsb 16bits 16bits 16bits msb 图2-5 l2cap层的数据封装格式 无连接的数据信道支持组传输,数据通过组信道被发往所有的组成员,完成上层协议组地址与蓝牙微微网的映射,但是在组信道中不提供服务质量,因此组信道通常是不可靠的,l2cap不保证数据能成功发往所有组成员,如果需要可靠的传输,需要上层协议的支持。2.2.5 l2cap的状态流程l2cap面向连接的信道假定不同协议层进行通信有不同的状态。协议的这一部分描述了l2cap卫面向连接信道的状态机,并定义了一些状态,引起状态转换的事件,以及响应事件的动作。蓝牙协议规定,“状态机”只适用于双向信道,并不适用于信令信道和单向信道。1.事件和动作事件是指在一定时限内到达l2cap层的消息。事件分为五类:低层来的指示和证实、高层来的请求和响应、来自对等协议层的数据、对等协议层来的信号请求和应答消息、定时器超时引起的事件。动作也分为五类:对高协议层的证实与指示、对低协议层的请求与响应、对对等协议层的请求和应答、对等协议层的数据传输、设置定时器。的命令规则如下:(1)两个协议层之间的接口(垂直方向接口)使用为高层提供服务的底层协议的前缀,如l2cap。位于相同协议层的实体之间的接口(水平方向接口)使用协议的前缀,如 l2cap。(2)从上层来的事件称为“请求”(req),相应的回答称为“证实(cfm);从低层来的事件称为“指示”(ind),相应的应答称为“响应”(rsp);需要有进一步的处理过程的响应称为“中间响应”(pnd);如果是表示否定的应答,在相应的记号后加上“neg”后缀。(3)高层的请求信号必须有相应的证实回答(表示动作的执行成功或者不成功),而低层对高层的指示信号并不一定需要相应的应答,例如当指示信号用于向高层通知本地触发事件的信息时。2.2.6 l2cap层的实现过程流程图1,请求方l2cap层建立逻辑信道过程模块流程图请求建立l2cap逻辑信道记录返回参数destination-cid请求方l2cap层逻辑信道 建立模块启动 分组connect-request? 分组configuration-respon?se发送到下层hcl子模块请求方l2cap曾逻辑信道建立模块结束反方向设置及模块向用户报错:硬件平台获蓝牙基带有误,检查后再试程序结束发送到下层hcl子模块进行hcl层打包创建connect-request分组进行hcl层打包创建configuration-request分组yesnonoyes图2-6 l2cap层的实现过程流程图rfcomm在蓝牙协议中模拟串口,实现l2cap层和基于rfcomm层的ppp,tcs等协议层的数据交互。rfcomm的目的是对两个不同设备上的应用保证一条完整的通信路径,病保持一个通信段。2.3 rfcomm在蓝牙设备中的实现形式rfcomm通过l2cap连接来实现设备间的逻辑串行链路,特别是建立一条面向连接l2cap信道,以连接两个设备rfcomm实体,两个设备之间只允许同时存在一个rfcomm连接,但是该链接是可多路复用,故两个设备时间可以再一条rfcomm连接之上存在多大60条逻辑链路,但是没有规定rfcomm多路复用实现的层次。 rfcomm绘画过程中,客户和服务器应用可以分布在通信的两端,每一端都可以独立发起连接。在客户和服务器之间的每一条多路复用链路都用数据链路标志符来唯一标识,dlci标识控制信道,dlcii不可用,dlci62和dlci63是系统保留值,在两个设备之间的rfcomm会话期间,dlci是唯一的。 如果蓝牙设备支持多个设备之间的串口仿真,那么rfcomm实体必须能够运行多个ts07.10多路复用器会话,每一个多路复用器都使用期l2cap信道id。rfcomm对ts07.10多路复用器多个会话的支持是可选的。 一般大多数便携式蓝牙设备在蓝牙环境下很少会需要同时使用如此多的串行连接。局域网访问规范规定在rfcomm上使用ppp,因此一个局域网接入点设备实际上可能同时需要很多与多个设备之间的串行连接,可利用lzcap的多路复用能力来实现rfcomm的多路复用。2.3.1 rfcomm的帧分析与流控制rfcomm协议层命令的执行和数据的发送都是通过各种帧来完成的。rfcomm将各种数据和控制信号封装在各种不同的帧中进行传输,所使用的帧来自于gsm ts07.10多路控制协议。主要包括:设置异步平衡模式帧(sabm),无序号响应帧(ua)、断开模式帧(dm),断开连接帧(disc)和带头校验的无序号信息帧(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、rpn、msc、rls和nsc,被放在uih的信息域字段里面传输。rfcomm和较低层l2cap之间的流控制依赖于设备所支持的服务接口,除了使用于基带的链路管理(lm)层提供的流控制机制外,rfcomm也有自己的三种流控机制。 (1)rfcomm协议定义了能对两个rfcomm实体之间全部数据流操作的流控制指令fcon和fcoff,它对所有的dlci都起作用。如果本地会话不能接收更多的数据,则发送fcoff通知远端会话实体停止发送数据,在收到确认后本地会话实体将不再接收数据,如果本地可以接收更多的数据则发送fcon命令通知远端流控打开,以使通信可以进行下去。(2)调制解调器状态命令msc,它是对单个dlci的流控制机制。 (3)基于信用的流控制,在这种流控方式中,通信双方在初始连接时使用pn命令协商好初始信誉量,每发送一条数据帧,远端信誉量减1,减至0时停止发送,直到接收到远端信誉量通知才可以发送数据。2.3.2 rfcomm的通信流程rfcomm信道是建立在l2cap信道基础上的,建立rfcomm链接时,首先要建立l2cap信道,并且进行相应的配置。通过查询sdp数据得到使用该服务所需要的通道信号。2.3.3 rfcomm的状态过程通过状态机可以清楚的分析rfcomm的通信流程,状态机共六种状态,包括disconnected(断开状态)、connected(连接状态)、disconnecting(正断开连接过程中状态)、connecting(连接过程中状态)、config(配置状态)、flow stop(流控停止状态)。系统开机后,所有的状态都是链路断开状态,主机发送完建立连接请求到配置结束的过程中,系统一直处在链路建立连接过程中。当收到对方确认连接响应后,系统的状态变为参数配置状态,需要协商配置的参数有l2cap卫信道的参数配置和rfcomm的dlci建立以及参数的配置。当双方参数协商配置完后,系统转为链路建立状态,此时用户可以进行数据的传输,当主机发送断开连接请求后,系统转为链路断开连接过程中,收到对方断开确认响应后,系统转为链路断开状态。 需要注意的是,在连接状态中,如果收到fcoff命令,则进入flow stop状态,在flow stop状态中,收到fcon命令,则进入连接状态。在任何状态中,收到l2cap链路丢失通知,rfcomm实体将从新初始化,释放所有数据连接,回到最初的链路断开状态。2.3.4 rfcomm的数据处理流程 1链路连接串口设备是一种字符设备,可以方便地和ppp建立连接,这个特性对于本设计来说是必要的,因此必须为应用程序提供虚拟串口,虚拟串日可以在不占用真实串口的情况下创建任意数量并互为连接的纯虚拟串口对,其在功能和使用上与真实串口无异。这些虚拟串口并不跟具体的物理硬件打交道,而是将应用程序的请求转发到对蓝牙系统的请求,还有将从蓝牙系统来的数据和事件转发给应用程序,它起到了一个中继者的作用。开始存在rfcommsession?no发送l2cap连接请求 yes发送sabm数据,启动定时器等待直到响应到达阻塞直到连接响应到达发送l2cap配置请求发送pn数据帧阻塞,等待直到响应到达。错误处理阻塞直到请求确认到达结束连接是否超时yesno图2-7 rfcomm的数据处理流程 本设计中采用虚拟串口技术可以缩短开发周期,减少开发成本,通过建立虚拟串口连接可以使用linux上很多现有的应用程序来快速构建嵌入式蓝牙网关的各种应用,即使没有现成的应用程序也可以很方便地对串口进行编程以构建新的蓝牙应用。2.4虚拟串口设备的管理 在虚拟串口设备与蓝牙模块交互中,可能存在多个虚拟串口设备,因此需要建立一个串口管理设备,负责对串口设备和蓝牙模块的交互进行管理,其中管理任务包括以下四部分内容(1)虚拟串口设备发送消息 当一个虚拟串口设备被打开、关闭、写数据等的时候,它要向蓝牙协议模块发送消息。设备不是和蓝牙协议模块直接通信的,它是通过串口管理设备和蓝牙协议模块通信的。在串口管理设备的数据结构中,维护了一个消息链表,所有的串口设备要向协议模块发送的消息都要先插入到这个消息链表中。(2)蓝牙协议模块发送消息蓝牙协议模块向虚拟串口设备发消息,使用iocti统调用发送消息。(3)蓝牙协议模块接收消息在蓝牙协议模块中,专门有一个线程来接收来自驱动程序的消息,这些消息不是直接来自虚拟串口设备而是来自串口管理设备。如果当前消息队列里有消息,或一旦有消息被添加到消息队列,蓝牙模块将消息从管理串口设备中读出,然后根据消息类型进行相应的处理。例如,收到了打开串口消息,蓝牙模块就要和远端的设备去建立蓝牙的rfcomm连接。 (4)串日设备接收消息 如果蓝牙协议模块向串口管理设备发送了消息,串口管理设备要将这些消息转发给虚拟串口设备。由于串口管理设备和虚拟串口设备的驱动程序都是编译成内核模块,运行在内核空间。它们可以共享全局变量。这样串日管理设备直接修改虚拟串口设备的全局变量就可以完成它们之间的通信。2.5局域网接入模型的实现 嵌入式蓝牙网关的实现基于蓝牙局域网接入模型(lap),该模型通过建立在蓝牙无线链路之上的网络协议使计算机连接到网络上。局域网接入模型中定义了使用蓝牙无线技术的设备如何接入到一个局域网的服务,此局域网使用在rfcomm上的点对点协议(ppp)。其次,显示了如何使用同一个ppp机制来构成由两个蓝牙设备组成的网络。在这个应用模型中,数据终端使用局域网接入点作为一个局域网无线连接。一旦连接上,数据终端运行如同它们与lan拨号网络连接,并且可以访问lan提供的所有访问。 ppp是一种允许接入到网络的普遍配置方式。ppp提供鉴权、加密、数据压缩和多协议便利。在rfcomm之上的ppp己经被选为给蓝牙设备提供lan接入的方式,因为具有给设备配置ppp软件的大型安装基础。在ppp可以支持多种网络协议,由于在现有网络中lp协议被公认为最重要的协议,因此在ppp上支持lp协议。2.5.1局域网接入模型中的协议从图中可以看看出,在局域网接入模型中,蓝牙设备有两种角色:局域网接入点和数据终端。局域网接入点是提供ppp服务并连在lan上的设备而。ppp连接在rfcomm上传送,rfcomm可以用来传输ppp数据包并且可以作为ppp数据流的流控,数据终端是使用lap服务的设备,典型的dt设备有蓝牙笔记本电脑,蓝牙pc,蓝牙pda等。me为管理实体,在初始化,配置和连接过程中起着协调作用。局域网接入的协议栈如图所示:applicationstcpudpipapplicationstcpudp ppp networkingipmeppplanmeppprfcomm sdplmp l2capbasebandsdp rfcommlanbasebandl2cap lmp data terminal lan access point图2-8 局域网接入协议栈 局域网接入模型中主要的协议有:(1)ppp协议:ppp是ietf的点到点协议,它属于数据链路层协议的一部分。ppp协议主要负责粗无检测,实现网络层协议复用,协商连接时的ip地址,进行身份验证等。(2)sdp协议:负责移动数据终端接入时的服务发现,包含服务的登记,搜索,抽取服务信息等。(3)rfcomm协议:负责仿真rs-232的传输信道和控制方式,为ppp层提供一个类似串口的通道。(4)l2cap协议:负责支持高层的协议复用。数据包打包,拆包,传递qos信息等。(5)lmp和基带协议:这部分属于蓝牙底层协议,与硬件紧密结合。负责物理链路的管理,基带pdu的形成,检纠错,加密和鉴权。lap中,ppp的使用是关键,它用于再说数据终端和接入点之间建立连接,ppp建立在rfcomm之上,一旦ppp连接建立后,传统的ip解决方案就可以建立在其之上,从而完成一些诸如获得ip资质等网络功能。2.5.2局域网接入模型的通信过程在局域网接入模型中,终端设备和网关之间的通信大体包括查询,建立连接,鉴权,通信几个过程。详细过程如下:(1)数据终端查询是否有一个在无线网络内的lap,当数据终端要求接入局域网时,首先启动服务发现协议,向作出回应的lap发出查询请求。lap此时作为sdp server具备发现服务数据库,里面记录着接入点可以提供的服务及属性,sdp机制可以提取建立rfcomm连接需要的所有服务信息。数据终端查询到可用的服务信息后,就可以建立连接。(2)建立物理连接。数据终端找到并选定合适的lap后,若二者间无物理连接,则dt向lap请求建立基带物理连接。若已存在物理连接,则进行蓝牙配对,鉴权过程,并在所建链路上进行加密传输。(3)依次建立ppp/rfcomm/l2cap链路。(4)作为可选安全措施,lap可以适当的采取ppp的鉴权机制。(5)建立连接后数据终端和lap即可通过ip数据流进行网络通信。(6)任何时候,dt和lap都可以终止已经建立的连接。拆除各层连接的操作顺序与建立时正好相反。 lap在上电之后所做的第一件事情就是进行初始化工作,实质上就是软硬件自启动过程,系统起来之后,lap需要发起若干任务,主要有:查询扫描任务,负责监视有无dt需要与其通信;向前任务,负责将串口数据转至网口并完成必要的格式转换;向后通信功能,负责监视网口并完成向前通信任务的逆过程,任务是并发的,因此lap能够同时支持与多个dt保持通信。2.6 ppp协议 使用ppp协议是lap应用模型中非常重要的一点,也是lap的关键所在,因为ppp协议很好的解决了点对点通信的问题,ppp协议属于数据链路层协议,主要用来完成在串行连接上封装数据报,监视链路连接质量,建立和配置及测试数据连接,在不同的网络层协议上建立连接和配置ip选项等功能。2.6.1 ppp协议的状态转移数据通信设备的两端如果希望通过ppp协议建立点对点的通信,无论哪一端的设备都需发送lcp数据报文来配置链路(测试链路)。一旦lcp的配置参数选项协商完后,通信的双方就会根据lcp配置请求报文中所协商的认证配置参数选项来决定链路两端设备所采用的认证方式。协议缺省情况下双方是不进行认证的,而直接进入到ncp配置参数选项的协商,直至所经历的.几个配置过程全部完成后,点对点的双方就可以开始通过己建立好的链路进行网络层数据报文的传送了,整个链路就处于可用状态。只有当任何一端收lcp或ncp的链路关闭报文时(一般而一言协议是不要求ncp有关闭链路的能力的,因此通过情况下关闭链路的数据报文是在lcp协商阶段或应用程序会话阶段发出的);物理层无法检测到载波或管理人员对该链路进行关闭操作,都会将该条链路断开,从而终止ppp会话。2.6.2 ppp协议的实现 如果使用公开的ppp代码实现ppp协议,那么针对操作系统而进行的移植工作不仅需要熟练的技术,而且需要较长的时间。鉴于此,决定选用成熟的ppp产品。 由于嵌入式操作系统选用的是linux所以可以使用linux中己经实现的ppp服务功能,在linux下对ppp的支持需要在内核编译时配置内核选项networking support加入对ppp(point一to一point)support等选项。同时,由于在设计中加入了虚拟串口的支持,可采用linux上很多现有的应用程序,在嵌入式蓝牙网关(laf端)可以使用linux操作系统上的mgetty+autoppp来接收进入的连接请求,使用pppd+kppp来构建客户端,从而实现网关与数据终端ppp连接。2.7数据终端对局域网的访问当lap与dt间建立ppp链路后,在链路的两端将产生一对ip地址,这是由ppp协议中的网络控制协议(ncp)分配协商得到的。但这里的ip地址与一般意义上的iternet上的ip地址是不同的。这里每个拨号网络终端的ip地址是由lap(ppp server)临时动态分配的。每个终端在连接过程中拥有ip地址,在连接结束时释放,从而可以再被分配给其他的终端。但是,这样通过lap上网的dt来说,其ip地址对网络是不可见的,可以说是虚拟的ip地址,只有lap才能从外部获得一个真正有效的ip地址。因此,为了与局域网进行通信,必须在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多年的发展,由于其具有高集成度、低功耗、工作电压范围宽、价格便宜、使用方便等诸多优点而在广泛使用。到目前为止将单片机发展阶段分为三个阶段,分别为初级阶段、高性能阶段、以及高位单片机的推出。通常单片机内部含有中央处理部件(cpu)、数据存储器(ram)、程序存储器(rom、eprom、flash rom)、定时器、计数器和各种输入输出接口等。目前8位单片机是目前品种最丰富、应用最广泛的单片机。今天我所使用的就其中比较典型的一种8位单片机at89c52。3.2基于单片机和温度传感器设计数字温度计的发展现状随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。检测是控制的基础和前提,而检测的精度必须高于控制的精确度,否则无从实现控制的精度要求。不仅如此,检测还涉及国计民生各个部门,可以说在所以科学技术领域无时不在进行检测。科学技术的发展和检测技术的发展是密切相关的。现代化的检测手段能达到的精度、灵敏度及测量范围等,在很大程度上决定了科学技术的发展水平。同时,科学技术的发展达到的水平越高,又为检测技术、传感器技术提供了新的前提手段。目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等。目前的温度计中传感器是它的重要组成部分,它的精度灵敏度基本决定了温度计的精度、测量范围、控制范围和用途等。传感器应用极其广泛,目前已经研制出多种新型传感器。3.3 电路介绍该电路是由18b20温度传感器作为温度传感元件,并由at89c52单片机进行数据处理输出,有蓝牙模块与计算机进行数据传输,此电路可由外接3v-12v的直流电电源提供。 温度显示和控制的范围为:55-125之间,精确度到达1,即数码管显示温度为整数。如果设定的报警温度为30,则当温度到达30的时候,报警发光二极管发光同时蜂鸣器发出响声,此时继电器发生动作。如果不需要对温度控制报警,可以将报警温度设置提高。如果是为了控制局部温度,可以把18b20用引线引出,但是距离不宜过大,注意引脚要绝缘。3.4制作所需电子元件及其功能表3-1 制作所需原件及其功能电子元件名称规格编号主要功能作用电容30pc1、c2单片机的时钟振荡电容10ufc3单片机复位温度传感器ds18b20ic2感应温度变化数据采集单片机at89c52ic1数据处理传输等电阻10kr1单片机复位电源5vusb开关电源开关电源晶体12mcrystal单片机的时钟震荡3.5温度传感器总体设计此次所讨论的数字水温蓝牙无线传感器主要应用单片机技术、温度传感器技术、蓝牙无线传输技术等,把所有硬件集成在一起以便于在工程施工现场应用。先由温度传感器将工程机械的实时温度采集处理传送给单片机,单片机经过储存经由蓝牙模块与计算机连接,最后现场工作人员根据计算机显示的数据判断工程机械的工作状态是否正常以便采取及时的措施。3.5.1硬件说明传感器的选择设计单片机数字温度计需要考虑以下3个方面 温度传感器的选择温度传感器的选择单片机和温度传感器的接口电路; 控制温度传感器实现温度信息采集以及数据传输的软件。单片机的接口信号是数字信号。要想用单片机获取温度这类非电信号的信息,必须使用温度传感器,将温度信息转换为电流或电压输出。如果转换后的电流或电压输出是模拟信号,还必须进行a/d转换,以满足单片机接口的需要。传统的温度检测大多以热敏电阻作为温度传感器。但是,热敏电阻的可靠性较差、测量温度准确率低,而且还必须经专门的接口电路转换成数字信号后才能由单片机进行处理。20世纪90年代中期出现了智能温度传感器(亦称数字温度传感器)。智能温度传感器的内部都包含温度传感器、a/d转换器、信号处理器、存储器(或寄存器)和接口电路,其特点是能直接输出数字化的温度数据及相关的温度控制量,适配各种微控制器(mcu)。其中ds18b20就是一种应用相当广泛的单总线数字温度传感器,它结构简单、不需外接元件,采用一根i/o数据线既可供电又可传输数据、并可设置温度报警界限等特点,广泛用于工业、民用等领域的温度测量中。3.5.2水温蓝牙无线传感器总体结构框图温度传感器单片机蓝牙模块计算机 图3-1 水温蓝牙无线传感器总体结构图3.5.3 ds18b20的介绍ds18b20是单总线数字化智能集成温度传感器。单总线它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省i/o口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。与其它温度传感器相比,ds18b20具有以下特性:独特的单线接口方式,在与微处理器连接时仅需要一条接口线即可实现微处理器与ds18b20的双向通信。ds18b20支持多点组网功能,多个ds18b20可以并联在唯一的信号线上,实现多点测温。ds18b20在使用中不需要任何外围元件。测温范围-55+125,固有测温分辨率0625。测量结果以912位数字量方式串行传送。 ds18b20内部结构 ds18b20内部结构主要由四部分组成:64位光刻rom,温度传感器,非挥发的温度报警触发器th和tl,高速暂存器。64位光刻rom是出厂前被光刻好的,它可以看作是该ds18b20的地址序列号。 ds18b20的管脚排列如图所示。 图3-2 ds18b20引脚分布图引脚功能如下nc:空引脚,悬空不使用; vdd:可选电源脚,电源电压范围35.5v。工作于寄生电源时,此引脚应接地; dq:数据输入/输出脚,漏极开路,常态下高电平。 dsl8820的核心功能部件是它的数字温度传感器,其分辨率可

温馨提示

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

评论

0/150

提交评论