蓝牙无线手操器的设计与开发
扫描二维码
随时随地手机看文章
1.引言
工业现场设备的工作环境复杂多变,有些地方工作人员甚至难以接近,特别是一些工业环境禁止使用电缆(如超净或真空封闭的房间)或者很难使用电缆来传送数据(如高速旋转的设备、高空设备、不适于布线的强腐蚀恶劣环境),这时采用蓝牙等无线通信技术来对现场设备进行数据采集与参数设置能有效解决上述问题。为此本文设计了基于蓝牙无线通信协议的手操器,该手操器具有体积小、操作方便、性能完善和组网灵活等特点,目前已获得实用新型专利,并有效应用于工业现场的数据采集和控制系统中。
2 总体设计
2.1 功能分析
2.2 系统设计
图1 数据采集系统拓扑结构图
本文设计蓝牙手操器现应用于图1所示的无线监控系统中。整个系统分为两部分:蓝牙无线手操器作为主设备,而其他的四个现场设备作为从设备。从设备负责信号转换、数据采集和数据传输。信号转换,这一部分电路的作用是把相应的物理信号量转换为电压信号,然后对其进行放大和滤波处理,处理的结果作为数据采集电路的输入信号;数据采集,把信号转换电路输出的模拟信号转换为数字信号(数字序列),然后把数字信号输出给CPU,以便进行相应的处理;数据传输,在控制系统中,智能传感器采集并整理好的数据,需要传输给系统的监控系统,在本系统中所有的蓝牙协议都固化在芯片中,芯片通过UART接口与应用系统相连接。由于片内嵌入了CPU,所以,嵌入式蓝牙系统实际上是一个智能终端,适合于任何具有CPU器件的系统。本系统中的智能传感器和蓝牙无线手操器都是通过增加一个单芯片蓝牙器件,以组成一个以蓝牙为通信方式的设备。
蓝牙手操器作为便携式监控设备通信是系统的一个主要功能,除此之外还需要实现系统的其他功能如菜单显示、键盘输入以及数据处理等功能。由于CPU串行结构的特点,当系统需要同时启用通信功能和其它重要功能时(如实施数据处理等操作), 就需要使用适当的方法进行协调。在本设计中采用了UC/OS-II操作系统,通过该系统来建立多个任务进程,各个任务之间的切换通过操作系统的调度功能来完成。其次,对于现场的智能传感器来说,传输数据量一般不是很大(如压力、温度等传感器),因此蓝牙手操器并不需要很大的存储容量,但必须考虑用于设备维护和数据处理的存储空间,所以本文设计了两套数据存储系统,一种是针对动态数据(如发送和接收的数据)使用片内RAM,另一种则针对工程人员需要掉电保存的重要资料,该部分由非易失性数据存储空间来实现。再者,由于蓝牙手操器作为主设备其蓝牙模块的配置与现场设备不同,手操器的蓝牙模块必须设置成主动链接单元,并能在其覆盖范围内自动搜寻其他带有蓝牙模块的现场设备,若有,则通过了鉴权和认证后建立链接,实现蓝牙现场设备之间的数据通信。最后,为了使现场操作人员能观察系统的运行情况,采用一块小型液晶屏以显示各模块的工作状态,并可通过键盘输入控制命令。
以下将从软件硬件两方面具体阐述实现方案。
3 蓝牙无线手操器的开发
3.1 硬件设计
.3.1.1 微处理器C8051F020
.C8051F020 系列单片机是Cygnal 公司新推出的一种混合信号系统级单片机。其含有64kB 片内Flash 程序存储器,4352B 的RAM、8 个I/O 端口共64 根I/O 口线、5 个16 位通用定时器、看门狗定时器等部分。与以前的51 系列单片机相比,C8051F020增添了许多功能,同时其可靠性和速度也有了很大提高。本系统中,Flash、RAM 及显示屏共用数据总线,地址总线Flash 和RAM 分别共用。各个芯片的片选信号用P0 口的高位接口。
.3.1.2 蓝牙模块
.蓝牙通信模块型号为BCM04, 通信距离是10 米。蓝牙模块本身带有微处理器及EEPROM、ROM 和RAM, 整个模块有四个接口分别是AUD、SPI、URAT、PIO口和天线接口。本文采用蓝牙模块进行通信时,其工作电压为3.3V, 蓝牙的通信方式为异步串行通信(URAT), 可与处理器的串口直接连接,对应的处理器管脚为P00 和P01, 通用串口(UART)波特率设置成38400b ps。
.3.1.3 显示屏
.设计中采用的显示屏是由北京蓬远公司生产的液晶屏显示屏PDA32024 0A。PDA320240A 液晶显示屏是一种精度高的点阵显示器,具有体积小、重量轻和显示灵活等优点。它具有两种显示方式:文本显示和图形显示。为了向用户提供更为简单的操作界面,许多显示屏的辅助功能块都已经集成化,对于PDA320240A 只需要对18 根信号线进行操作,就可以完成相应得显示功能。
.3.1.4 键盘模块
.键盘采用4* 6矩阵式键盘,其接口引脚与处理器的P2 和P3 口相连。键盘共设有22 个按键,10 个数字键0~9、4 个方向键及确定、删除等8 个其他按键,通常,矩阵键盘在判断有无按键动作时,有中断和查询两种方式,本文采用查询方式实现。如有按键动作则进行行列扫描后计算键值,并通过键值映射表查找出对应的功能处理函数进行处理。
3.2 软件设计 软件结构框图如图3 所示,软件部分主要分为三部分:操作系统,通信,菜单显示。
蓝牙手操器的硬件结构框图如图2 所示,包括微控制器C8051F020、蓝牙通信模块、液晶屏显示模块、键盘。电源选用电池供电,该电源经过电平转换,为微处理器、存储器、
蓝牙通信模块等提供所需的+3.3V 和+1.8V 电源。下面将对各个模块分别介绍。
除底层硬件的驱动程序外,整个软件程序建立在UC/OS 操作系统上,该操作系统具有足够的稳定性和安全性。根据系统功能要求建立了六个用户任务,即串口任务,蓝牙接收和发送任务,菜单显示任务,键盘任务。每个任务由三个组成部分构成:任务程序代码、任务堆栈和任务控制块。其中,任务控制块用来保存任务属性;任务堆栈用来保存任务工作环境;任务程序代码是任务的执行部分。在建立任务的时候需要为任务堆栈分配堆栈空间和任务优先级。各个任务之间的数据传递采用消息邮箱和消息队列实现。
通信部分涉及到单片机串口和蓝牙模块之间的通信。手操器启动后,需要向蓝牙模块发送HCI(主机控制器接口)指令以便初始化蓝牙模块,这些指令包括蓝牙通信接口波特率设置、数据接收准备、设备查询、蓝牙链路连接等指令。处理器对蓝牙的操作和控制主要是通过串口通信方式来完成。当确定蓝牙信息接收完毕后,解出有效数据存放在已经开辟好的循环缓冲区内。这些数据分为数据信息和事件信息。数据信息,则存放在相应设备的消息队列中以便显示菜单调用。事件信息,清除该信息不作处理。
在显示界面中设置了两级菜单,手操器启动后,会自动搜索周围的其他蓝牙设备并获得对方蓝牙地址从而建立链接,此后需要在手操器中建立一个临节点列表,并通过主菜单显示周围存在的蓝牙设备。在主菜单中工程人员可以根据具体需要选择被监控设备,而子菜单中则设置了读写设备参数选项,每个设备对应的参数不同,所以需要对不同的设备参数设置不同的控制命令。
4 蓝牙手操器应用实例
图4 蓝牙手操器应用实例图
如图4 所示,以蓝牙阀门定位器作说明示例。蓝牙阀门定位器由我校与四联集团共同研发(采用总线供电),在阀门定位器中的蓝牙通信卡设置为被动链接模式,设备启动后阀门定位器会周期性的采集阀位值并存储在该设备的缓冲区内,当蓝牙手操器搜索到阀门定位器后向阀门定位器发送链接指令,建立链接后,蓝牙手操器将获得一个链接句柄。此后进入如图5 所示的监控界面,可以执行读阀位值、阀位上限、以及写上限三项功能。每项功能在执行时,都由手操器发送一条控制指令,该指令由串口发给蓝牙模块,其中包括蓝牙链接句柄、功能代码(0x01-0x03 分别针对以上的三项功能)以及CRC 校验域。阀门定位器收到控制指令后先判断链接句柄,判断是否接收该指令,其后根据功能代码分别执行对应的任务。图4 中为通过蓝牙手操器读取的阀门定位器的阀位值。此外,该手操器还可对蓝牙电磁流量计,蓝牙温度变送器等设备进行操作。
5 结论
经过现场测试表明,本文设计的蓝牙手操器系统稳定、使用方便、实用性强,有一定的抗干扰能力,可根据需要进行软件升级,能有效地与工业现场设备进行无线互联,实现对工业现场数据采集和处理功能,为工程人员监控现场设备提供了一种新方法。本文作者创新点: 本文介绍了基于蓝牙通信协议的手操器在工业现场的设计与应用。该蓝牙手操器使用新华龙C8051F020 芯片和BCM04 蓝牙模块为主要功能结构模块,与现场蓝牙设备建立一对一或一对多的通信系统,并可通过该手操器采集和处理现场数据以及校正现场设备的功能参数。