单片机和蓝牙模块无线传输的数据采集系统
1.引言
蓝牙技术是近年来发展迅速的短距离无线通信技术,可以用来替代数字设备间短距离的有线电缆连接。利用蓝牙技术构建数据采集无线传输模块,与传统的电线或红外方式传输测控数据相比,在测控领域应用篮牙技术的优点主要有[1][2][3]:
1.采集测控现场数据遇到大量的电磁干扰,而蓝牙系统因采用了跳频扩频技术,故可以有效地提高数据传输的
安全性和抗干扰能力。
2.无须铺设线缆,降低了环境改造成本,方便了数据采集人员的工作。
3.可以从各个角度进行测控数据的传输,可以实现多个测控仪器设备间的连网,便于进行集中监测与控制。 2.系统结构原理
本课题以单片机和蓝牙模块ROK 101 008为主,设计了基于蓝牙无线传输的数据采集系统,整个装置由前端数据采集、传送部分以及末端的数据接受部分组成(如PC机)。前端数据采集部分由位于现场的传感器、信号放大电路、A/D转换器、单片机、
存储器、串口通信等构成,传送部分主要利用
自带微带天线的蓝牙模块进行数据的无线传输;末端通过蓝牙模块、串口通信传输将数据送到上位PC机进一步处理。整个系统结构框架图如图1所示。 AT89C51单片机作为下位机主机,传感器获得的信号经过放大后送入12位A/D转换器AD574A进行A/D 转换,然后将转换后的数据
存储到
RAM芯片6264中。下位机可以主动地或者在接收上位机通过蓝牙模块发送的传送数据指令后,将6264中存储的数据按照HCI-RS232传输
协议进行数据定义,
通过MAX3232进行电平转换后送至蓝牙模块,由篮牙模块将数据传送到空间,同时上位机的蓝牙模块对此数据进行接收,再通过MAX3232电平转换后传送至PC机,从而完成蓝牙无线数据的
交换。
图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分组
件的统一接口。HCI是通过分组(Packet)的方式来进行信息
有三种类型:指令分组(Command Packet)、事件分组(Event Packet)和数据分组(Data Packet)。
主机与蓝牙模块用指令--应答方式进行通信,主机向主机控制器发送指令分组;主机控制器执行某一指令后,大多数情况下会返回给主机一个指令完成事件分组(Command Complete Event Packet),该分组携带有指令完成的信息。有些分组不会返回指令完成事件,而返回指令状态事件分组(Command Status Event Packet)用以说明主机发出的指令己经被主机控制器接收并开始处理。如果指令分组的参数有误,返回的指令状态事件分组就会给出相应的错误代码;数据分组分为异步无连接(Asynchronous Connectionless, ACL)数据分组和同步面向连接(Synchronization Connection Oriented, SCO)数据分组两种。在本课题中,仅涉及到数据通信,而没有涉及到语音通信,因此建立的是ACL链路。
单片机与蓝牙模块的软件接口,就是指单片机如何通过软件实现向蓝牙模块发送HCI指令,蓝牙模块又如何通过软件向单片机返回HCI事件
单片机和蓝牙模块无线传输的数据采集系统



