资源描述:
《基于蓝牙的PC双机数据通信的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、您的论文得到两院院士关注蓝牙技术应用文章编号:1008-0570(2007)08-2-0237-03基于蓝牙的PC双机数据通信的实现TheImplementationofDataCommunicationbetweenPCsbasedonBluetoothTechnology(海军工程大学)李琴周朝晖宋志勇LIQINZHOUZHAOHUISONGZHIYONG摘要:蓝牙是一种较新的无线短距离通信技术,它使笔记本电脑、移动电话和其他便携式设备及家用设备可以相互交换信息。本文探讨了蓝牙通信的最重要的方面———基于HCI指令的蓝牙串
2、口通信。通过对指令的探讨,利用软件开发环境LabVIEW实现了PC机间由蓝牙模块模拟的空中串口(RS232)通信。关键词:蓝牙;HCI;LabVIEW;串口通信中图分类号:TN925文献标识码:A技术创新Abstract:Bluetoothisanewtechnologydesignedforwirelessandshortdistancecommunication.Itenablesustoexchangedataa-mongnotebookPCs,mobiletelephones,otherportabledevicesa
3、ndhomeappliances.ThearticlegivesadescriptionoftheprincipalaspectofBluetoothcommunication,whichisusingHCIcommandtoimplementtheBluetoothcommunication.AfterthediscussionofHCIcommand,thefunctionofRS232isstimulatedbetweentwoPCbyusingthesoftwareLabVIEWandBluetoothModule.K
4、eywords:Bluetooth,HCI,LabVIEW,serialcommunication引言蓝牙技术使用全球通行的、无需申请许可的2.4GHz频段,可进行实时数据和语音传输,而且有较高的传输质量。它是以低成本、短距离无线通信为基础,为固定与移动设备的通信环境提供特别连接的通信技术。将基于LabVIEW的虚拟仪器技术与蓝牙技术相融合,拓广了虚拟仪器的应用领域,能方便的实施仪器监控,实现无线数据采集系统,是虚拟仪器发展的新方向。本文所讨论的蓝牙系统模式是WIN32PC主机系统。该系统通过RS-232接口与外部蓝牙模块通信
5、,利用一些HCI指令,在LabVIEW的软件开发环境下与蓝牙模块通信来实现类似串口的双机数据传输。1主机控制器HCI及LabVIEW介绍图1HCI的数据传输模式1.1HCI及其传输过程李琴:硕士研究生在基于主机的系统中,HCI接口是一个重要的部件,它为主机提供了直接控制蓝牙模块的方法和途径,在蓝牙模块与主机之间起连接作用。基于HCI的数据传输模式如图1所示。射频、基带控制器、HCI固件及链路管理器构成了蓝牙硬件模块。对于上层数据而言,蓝牙模块唯一可以识别的是HCI指令。而在蓝牙模块中则包含有HCI固件层,用来处理由主机传来的
6、HCI指令和数据,然后再传向链路管理固件和基带硬件,最后通过射频发出。而接收端正好是一个逆过程。主机和蓝牙模块之间是通过物理线路(本方案为RS-232)来连接和通信的。1.2HCI分组蓝牙主机与蓝牙模块之间是通过各种HCI分组来交互的。HCI分组包括三种:HCI指令分组、HCI事件分组、HCI数据分组。图2HCI指令分组格式(1)HCI指令分组(CommandPacket)用于从主机向主控制器发送指令。其格式如图2所示。HCI指令分组由操作码(OpCode)、参数总长(ParameterTotalLength)和参数列表(Pa
7、rameters)三部分组成。例如:Reset指令其十六进制表示为:01030C00,其中01是类型码,凡是01开始都代表HCI的指令分组,而02开始代表是ACL数据分组,03开始为SCO分组,04为事件分组;030C是操作码,由OCF和OGF组成;最后的00表示参数长度,说明后面不跟参数。(2)HCI事件分组(EventPacket)用于主机控制器向主机通《PLC技术应用200例》邮局订阅号:82-946360元/年-237-蓝牙技术应用中文核心期刊《微计算机信息》(嵌入式与SOC)2007年第23卷第8-2期图3HCI事
8、件分组格式知事件的发生。主机向主机控制器发出一个指令分组后,主机控制器就会返回事件分组,说明指令分组的执行情况。事件分组格式如图3所示。例如:Reset指令的指令完成事件十六进制表示为:040E0408030C00,其中04为类型码,说明这是事件分组,0E为事件码,表示指令完