单片机和蓝牙模块无线传输的数据采集系统-课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机和蓝牙模块无线传输的数据采集系统课程设计目录1.引言.......................................................................................................32.系统结构原理......................................................................................33.数据采集系统的下位机电路设计[4].................................................44.数据采集和蓝牙通信的软件实现.......................................................65.结论.......................................................................................................91.引言蓝牙技术是近年来发展迅速的短距离无线通信技术,可以用来替代数字设备间短距离的有线电缆连接。利用蓝牙技术构建数据采集无线传输模块,与传统的电线或红外方式传输测控数据相比,在测控领域应用篮牙技术的优点主要有[1][2][3]:1.采集测控现场数据遇到大量的电磁干扰,而蓝牙系统因采用了跳频扩频技术,故可以有效地提高数据传输的安全性和抗干扰能力。2.无须铺设线缆,降低了环境改造成本,方便了数据采集人员的工作。3.可以从各个角度进行测控数据的传输,可以实现多个测控仪器设备间的连网,便于进行集中监测与控制。2.系统结构原理本课题以单片机和蓝牙模块ROK101008为主,设计了基于蓝牙无线传输的数据采集系统,整个装置由前端数据采集、传送部分以及末端的数据接受部分组成(如PC机)。前端数据采集部分由位于现场的传感器、信号放大电路、A/D转换器、单片机、存储器、串口通信等构成,传送部分主要利用自带微带天线的蓝牙模块进行数据的无线传输;末端通过蓝牙模块、串口通信传输将数据送到上位PC机进一步处理。整个系统结构框架图如图1所示。AT89C51单片机作为下位机主机,传感器获得的信号经过放大后送入12位A/D转换器AD574A进行A/D转换,然后将转换后的数据存储到RAM芯片6264中。下位机可以主动地或者在接收上位机通过蓝牙模块发送的传送数据指令后,将6264中存储的数据按照HCI-RS232传输协议进行数据定义,通过MAX3232进行电平转换后送至蓝牙模块,由篮牙模块将数据传送到空间,同时上位机的蓝牙模块对此数据进行接收,再通过MAX3232电平转换后传送至PC机,从而完成蓝牙无线数据的交换。图1.基于蓝牙无线传输的数据采集系统结构框架图3.数据采集系统的下位机电路设计[4]信号放大电路主要采用高共模抑制比放大电路,它由三个集成运算放大器组成,本课题选用的集成运算放大器TL082具有高精度、低漂移的特性。AT89C51与A/D转换器AD574A及外扩数据存储器6264的接口示意图如图2所示。AT89C51通过地址译码器74LS138、地址锁存器74LS373,对A/D转换器、数据存储器进行地址选择。图2.AT89C51与AD574及外扩数据存储器6264的接口示意图蓝牙模块与AT89C51串口之间采用蓝牙模块提供的RS232传输层接口实现通信,需要外接电路实现电平转换,由于蓝牙模块需3.3V供电,因此这里选用MAX3232芯片作电平转换芯片。另外,为了将5V输入电压转换为3.3V电压,选用电源稳压芯片7301为蓝牙模块供电。AT89C51通过MAX3232与蓝牙模块的接口示意图如图3所示。图3.AT89C51通过MAX3232与蓝牙模块的接口示意图4.数据采集和蓝牙通信的软件实现本课题的软件主要包括两部分:数据采集和蓝牙通信,采用汇编语言和C51混合编程。为了保证数据采集的实时性,数据采集部分采用汇编语言编程,单片机采用定时采样,具体选择定时方式2,定时为100微秒,定时结束后,进行A/D转换,单片机采用查询的方式读取AD574A的转换结果,然后将转换后的数据存至外扩存储器6264中。另外,串行口工作在方式1,波特率为9600bps。蓝牙通信部分采用C51编程,主要实现利用主机控制器接口HCI层建立点对点的蓝牙异步无链接数据传输通道,当两个蓝牙模块链路建立成功后,就可以按照蓝牙规范规定的HCI数据分组格式收发数据。两个蓝牙设备间进行数据通信是通过HCI分组实现的,HCI作为蓝牙软件协议堆栈中软硬件之间的接口,为上层提供了访问和控制蓝牙硬件的统一接口。HCI是通过分组(Packet)的方式来进行信息交换的。HCI分组有三种类型:指令分组(CommandPacket)、事件分组(EventPacket)和数据分组(DataPacket)。主机与蓝牙模块用指令--应答方式进行通信,主机向主机控制器发送指令分组;主机控制器执行某一指令后,大多数情况下会返回给主机一个指令完成事件分组(CommandCompleteEventPacket),该分组携带有指令完成的信息。有些分组不会返回指令完成事件,而返回指令状态事件分组(CommandStatusEventPacket)用以说明主机发出的指令己经被主机控制器接收并开始处理。如果指令分组的参数有误,返回的指令状态事件分组就会给出相应的错误代码;数据分组分为异步无连接(AsynchronousConnectionless,ACL)数据分组和同步面向连接(SynchronizationConnectionOriented,SCO)数据分组两种。在本课题中,仅涉及到数据通信,而没有涉及到语音通信,因此建立的是ACL链路。单片机与蓝牙模块的软件接口,就是指单片机如何通过软件实现向蓝牙模块发送HCI指令,蓝牙模块又如何通过软件向单片机返回HCI事件以及两者之间如何实现数据传输。单片机和蓝牙模块间通信的过程是通过键入HCI指令,观察收到的HCI事件。当两个蓝牙模块建立链路成功后,就可以按照蓝牙规范规定的HCI数据包格式收发数据。在通过蓝牙模块进行数据通信时,首先要进行蓝牙模块的初始化和HCI层流控设置。典型的蓝牙模块间的ACL数据通信流程有6个步骤:蓝牙模块自身初始化InitBluetooth()、HCI流量控制设置FlowSet()、查询Inquiry()、建立连接GreatConnection()、进行数据通信Data_Transmit(DataLength,HCI_Number)和断开连接Disconnect()[5]。初始化程序主要是单片机对蓝牙发送一系列命令分组。单片机每向蓝牙发送一个HCI命令分组就要接收蓝牙返回的事件分组,判断命令执行的情况。若返回事件分组不正确就要重新初始化蓝牙,直到完全正确。蓝牙设备在初始化完成之后,通过Set_Host_Controller_To_Host_Flow_Control指令打开主机控制器到主机的流量控制,并通过HostBufferSize指令来对流量控制进行配置,包括数据分组的长度等。此后,主设备查询周围的蓝牙设备,找到之后即可向其发出建立连接指令,建立ACL连接。成功建立连接之后就可以进行数据通信。通信完成后,主设备和从设备都可以发出断开连接的命令Disconnect。在上述过程中,查询过程不一定存在,所以这只是一般的流程模型。如果在任何一条指令分组发出后,返回错误的事件分组,则指令需重发直到正确为止[5]。本课题中,下、上位机的蓝牙模块间进行数据传输的程序流程图分别如图4、5所示。图4.点对点蓝牙系统主方程序流程图图5.点对点蓝牙系统从方程序流程图5.结论随着数据采集技术的不断发展,将蓝牙技术与数据采集技术相结合构建出的数据采集蓝牙无线传输系统具有性能高、体积小、功耗低、抗干扰能力强、数据传输速度快、安装维护方便适用于移动设备和便携设备等优点。本课题所设计的数据采集蓝牙无线传输模块,有效的实现了对现场数据的采集和短距离内数据的无线传输,对于类似的数据采集系统的设计具有很好的借鉴意义。本文作者创新点:基于蓝牙技术的无线数据采集系统可以在短距离内用无线接口来代替有线连接,这对于需要采集大量数据的测控场合非常有用,在采集数据时,本系统就可以迅速地将所采集到的数据传送到附近的数据处理装置(例如PC、笔记本电脑)中,不仅避免了在现场铺设大量复杂连线以及对这些接线是否正确的检查与核对,而且不会发生因接线可能存在的错误而造成测控的失误

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功