蓝牙无线手操器的设计与开发
时间:10-02
整理:3721RD
点击:
作者:吴虹岑 王平 唐铭 来源:微计算机信息
摘要:本文综合运用C8051F020微控制器、BCM04蓝牙通信模块和 SED1335液晶显示控制芯片设计了一种基于蓝牙通信协议的手操器,该手操器能够有效的应用于工业现场,解决现场设备不便于通过有线方式进行数据采集、参数设置与调校维护等问题。实际测试结果表明本文介绍的蓝牙手操器运行稳定,工作可靠。
关键词:蓝牙 C8051F020 SED1335
The design and development of the Bluetooth Handset
Abstruct: This paper designed a kind of portable Bluetooth handset which composed of microprocessor C8051F020,BCM04 Bluetooth communication module and SED1335 LCD screen Control chipset. This collector can effectively solved the problem that many device can’t use wire communication to collect the data and set the parameter. The result of the test turn out that the Bluetooth handset runs and works reliably.
Keyword: Bluetooth C8051F020 SED1335
1.引言
工业现场设备的工作环境复杂多变,有些地方工作人员甚至难以接近,特别是一些工业环境禁止使用电缆(如超净或真空封闭的房间)或者很难使用电缆来传送数据(如高速旋转的设备、高空设备、不适于布线的强腐蚀恶劣环境),这时采用蓝牙等无线通信技术来对现场设备进行数据采集与参数设置能有效解决上述问题。为此本文设计了基于蓝牙无线通信协议的手操器,该手操器具有体积小、操作方便、性能完善和组网灵活等特点,目前已获得实用新型专利,并有效应用于工业现场的数据采集和控制系统中。
2总体设计
2.1功能分析
自动组网功能。当蓝牙手操器进入工业现场时,能够快速搜寻其射频范围内的其他蓝牙设备,并与这些设备建立链接。
监控功能。对于现场采集的数据可以通过液晶显示器实时显示,并可对某些现场设备设置相关的控制参数。
数据存储功能。蓝牙手操器在获取了现场数据后可根据需要保存相关的数值以便给工程人员分析处理提供帮助。
调校维护功能。通过蓝牙手操器对现场设备的采集频率以及报警上限值进行修正。
2.2 系统设计
本文设计蓝牙手操器现应用于图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)波特率设置成38400bps。
3.1.3显示屏 设计中采用的显示屏是由北京蓬远公司生产的液晶屏显示屏 PDA320240A。PDA320240A液晶显示屏是一种精度高的点阵显示器,具有体积小、重量轻和显示灵活等优点。它具有两种显示方式:文本显示和图形显示。为了向用户提供更为简单的操作界面,许多显示屏的辅助功能块都已经集成化,对于 PDA320240A只需要对 18根信号线进行操作,就可以完成相应得显示功能。
3.1.4键盘模块
蓝牙手操器的硬件结构框图如图 2所示,包括微控制器C8051F020、蓝牙通信模块、液晶屏显示模块、键盘。电源选用电池供电,该电源经过电平转换,为微处理器、存储器、
蓝牙通信模块等提供所需的+3.3V和+1.8V电源。下面将对各个模块分别介绍。
键盘采用4*6矩阵式键盘,其接口引脚与处理器的 P2和 P3口相连。键盘共设有 22个按键,10个数字键0~9、4个方向键及确定、删除等 8个其他按键,通常,矩阵键盘在判断有无按键动作时,有中断和查询两种方式,本文采用查询方式实现。如有按键动作则进行行列扫描后计算键值,并通过键值映射表查找出对应的功能处理函数进行处理。
3.2软件设计 软件结构框图如图 3所示,软件部分主要分为三部分:操作系统,通信,菜单显示。
除底层硬件的驱动程序外,整个软件程序建立在 UC/OS操作系统上,该操作系统具有足够的稳定性和安全性。根据系统功能要求建立了六个用户任务,即串口任务,蓝牙接收和发送任务,菜单显示任务,键盘任务。每个任务由三个组成部分构成:任务程序代码、任务堆栈和任务控制块。其中,任务控制块用来保存任务属性;任务堆栈用来保存任务工作环境;任务程序代码是任务的执行部分。在建立任务的时候需要为任务堆栈分配堆栈空间和任务优先级。各个任务之间的数据传递采用消息邮箱和消息队列实现。
通信部分涉及到单片机串口和蓝牙模块之间的通信。手操器启动后,需要向蓝牙模块发送HCI(主机控制器接口)指令以便初始化蓝牙模块,这些指令包括蓝牙通信接口波特率设置、数据接收准备、设备查询、蓝牙链路连接等指令。处理器对蓝牙的操作和控制主要是通过串口通信方式来完成。当确定蓝牙信息接收完毕后,解出有效数据存放在已经开辟好的循环缓冲区内。这些数据分为数据信息和事件信息。数据信息,则存放在相应设备的消息队列中以便显示菜单调用。事件信息,清除该信息不作处理。
在显示界面中设置了两级菜单,手操器启动后,会自动搜索周围的其他蓝牙设备并获得对方蓝牙地址从而建立链接,此后需要在手操器中建立一个临节点列表,并通过主菜单显示周围存在的蓝牙设备。在主菜单中工程人员可以根据具体需要选择被监控设备,而子菜单中则设置了读写设备参数选项,每个设备对应的参数不同,所以需要对不同的设备参数设置不同的控制命令。
4 蓝牙手操器应用实例
如图 4所示,以蓝牙阀门定位器作说明示例。蓝牙阀门定位器由我校与四联集团共同研发(采用总线供电),在阀门定位器中的蓝牙通信卡设置为被动链接模式,设备启动后阀门定位器会周期性的采集阀位值并存储在该设备的缓冲区内,当蓝牙手操器搜索到阀门定位器后向阀门定位器发送链接指令,建立链接后,蓝牙手操器将获得一个链接句柄。此后进入如图 5所示的监控界面,可以执行读阀位值、阀位上限、以及写上限三项功能。每项功能在执行时,都由手操器发送一条控制指令,该指令由串口发给蓝牙模块,其中包括蓝牙链接句柄、功能代码(0x01-0x03分别针对以上的三项功能)以及 CRC校验域。阀门定位器收到控制指令后先判断链接句柄,判断是否接收该指令,其后根据功能代码分别执行对应的任务。图 4中为通过蓝牙手操器读取的阀门定位器的阀位值。此外,该手操器还可对蓝牙电磁流量计,蓝牙温度变送器等设备进行操作。
5 结论
经过现场测试表明,本文设计的蓝牙手操器系统稳定、使用方便、实用性强,有一定的抗干扰能力,可根据需要进行软件升级,能有效地与工业现场设备进行无线互联,实现对工业现场数据采集和处理功能,为工程人员监控现场设备提供了一种新方法。 本文作者创新点:本文介绍了基于蓝牙通信协议的手操器在工业现场的设计与应用。该蓝牙手操器使用新华龙 C8051F020芯片和 BCM04蓝牙模块为主要功能结构模块,与现场蓝牙设备建立一对一或一对多的通信系统,并可通过该手操器采集和处理现场数据以及校正现场设备的功能参数。
参考文献
[1]王平,郑武,王浩。基于 “蓝牙”通信的现场控制技术。计算机集成制造系统 ,CIMS,2003,6
[2]陈祥福,王平,钟刚,李津。嵌入式 Linux无线接入点的设计与实现[J]。微计算机信息, 1008-0570(2006)04-2-0034-03。
[3]周立功等。 ARM微控制器基础与实践。北京:北京航空航天大学出版社, 2003.11
[4]马建仓,罗亚军,赵玉亭。蓝牙核心技术及其应用 [M]。北京:科学出版社, 2003
[5]Bluetooth SIG-2001.Specification Volume 1.Specification of the Bluetooth System Core ,version1.1[S]
摘要:本文综合运用C8051F020微控制器、BCM04蓝牙通信模块和 SED1335液晶显示控制芯片设计了一种基于蓝牙通信协议的手操器,该手操器能够有效的应用于工业现场,解决现场设备不便于通过有线方式进行数据采集、参数设置与调校维护等问题。实际测试结果表明本文介绍的蓝牙手操器运行稳定,工作可靠。
关键词:蓝牙 C8051F020 SED1335
The design and development of the Bluetooth Handset
Abstruct: This paper designed a kind of portable Bluetooth handset which composed of microprocessor C8051F020,BCM04 Bluetooth communication module and SED1335 LCD screen Control chipset. This collector can effectively solved the problem that many device can’t use wire communication to collect the data and set the parameter. The result of the test turn out that the Bluetooth handset runs and works reliably.
Keyword: Bluetooth C8051F020 SED1335
1.引言
工业现场设备的工作环境复杂多变,有些地方工作人员甚至难以接近,特别是一些工业环境禁止使用电缆(如超净或真空封闭的房间)或者很难使用电缆来传送数据(如高速旋转的设备、高空设备、不适于布线的强腐蚀恶劣环境),这时采用蓝牙等无线通信技术来对现场设备进行数据采集与参数设置能有效解决上述问题。为此本文设计了基于蓝牙无线通信协议的手操器,该手操器具有体积小、操作方便、性能完善和组网灵活等特点,目前已获得实用新型专利,并有效应用于工业现场的数据采集和控制系统中。
2总体设计
2.1功能分析
自动组网功能。当蓝牙手操器进入工业现场时,能够快速搜寻其射频范围内的其他蓝牙设备,并与这些设备建立链接。
监控功能。对于现场采集的数据可以通过液晶显示器实时显示,并可对某些现场设备设置相关的控制参数。
数据存储功能。蓝牙手操器在获取了现场数据后可根据需要保存相关的数值以便给工程人员分析处理提供帮助。
调校维护功能。通过蓝牙手操器对现场设备的采集频率以及报警上限值进行修正。
2.2 系统设计
本文设计蓝牙手操器现应用于图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)波特率设置成38400bps。
3.1.3显示屏 设计中采用的显示屏是由北京蓬远公司生产的液晶屏显示屏 PDA320240A。PDA320240A液晶显示屏是一种精度高的点阵显示器,具有体积小、重量轻和显示灵活等优点。它具有两种显示方式:文本显示和图形显示。为了向用户提供更为简单的操作界面,许多显示屏的辅助功能块都已经集成化,对于 PDA320240A只需要对 18根信号线进行操作,就可以完成相应得显示功能。
3.1.4键盘模块
蓝牙手操器的硬件结构框图如图 2所示,包括微控制器C8051F020、蓝牙通信模块、液晶屏显示模块、键盘。电源选用电池供电,该电源经过电平转换,为微处理器、存储器、
蓝牙通信模块等提供所需的+3.3V和+1.8V电源。下面将对各个模块分别介绍。
键盘采用4*6矩阵式键盘,其接口引脚与处理器的 P2和 P3口相连。键盘共设有 22个按键,10个数字键0~9、4个方向键及确定、删除等 8个其他按键,通常,矩阵键盘在判断有无按键动作时,有中断和查询两种方式,本文采用查询方式实现。如有按键动作则进行行列扫描后计算键值,并通过键值映射表查找出对应的功能处理函数进行处理。
3.2软件设计 软件结构框图如图 3所示,软件部分主要分为三部分:操作系统,通信,菜单显示。
除底层硬件的驱动程序外,整个软件程序建立在 UC/OS操作系统上,该操作系统具有足够的稳定性和安全性。根据系统功能要求建立了六个用户任务,即串口任务,蓝牙接收和发送任务,菜单显示任务,键盘任务。每个任务由三个组成部分构成:任务程序代码、任务堆栈和任务控制块。其中,任务控制块用来保存任务属性;任务堆栈用来保存任务工作环境;任务程序代码是任务的执行部分。在建立任务的时候需要为任务堆栈分配堆栈空间和任务优先级。各个任务之间的数据传递采用消息邮箱和消息队列实现。
通信部分涉及到单片机串口和蓝牙模块之间的通信。手操器启动后,需要向蓝牙模块发送HCI(主机控制器接口)指令以便初始化蓝牙模块,这些指令包括蓝牙通信接口波特率设置、数据接收准备、设备查询、蓝牙链路连接等指令。处理器对蓝牙的操作和控制主要是通过串口通信方式来完成。当确定蓝牙信息接收完毕后,解出有效数据存放在已经开辟好的循环缓冲区内。这些数据分为数据信息和事件信息。数据信息,则存放在相应设备的消息队列中以便显示菜单调用。事件信息,清除该信息不作处理。
在显示界面中设置了两级菜单,手操器启动后,会自动搜索周围的其他蓝牙设备并获得对方蓝牙地址从而建立链接,此后需要在手操器中建立一个临节点列表,并通过主菜单显示周围存在的蓝牙设备。在主菜单中工程人员可以根据具体需要选择被监控设备,而子菜单中则设置了读写设备参数选项,每个设备对应的参数不同,所以需要对不同的设备参数设置不同的控制命令。
4 蓝牙手操器应用实例
如图 4所示,以蓝牙阀门定位器作说明示例。蓝牙阀门定位器由我校与四联集团共同研发(采用总线供电),在阀门定位器中的蓝牙通信卡设置为被动链接模式,设备启动后阀门定位器会周期性的采集阀位值并存储在该设备的缓冲区内,当蓝牙手操器搜索到阀门定位器后向阀门定位器发送链接指令,建立链接后,蓝牙手操器将获得一个链接句柄。此后进入如图 5所示的监控界面,可以执行读阀位值、阀位上限、以及写上限三项功能。每项功能在执行时,都由手操器发送一条控制指令,该指令由串口发给蓝牙模块,其中包括蓝牙链接句柄、功能代码(0x01-0x03分别针对以上的三项功能)以及 CRC校验域。阀门定位器收到控制指令后先判断链接句柄,判断是否接收该指令,其后根据功能代码分别执行对应的任务。图 4中为通过蓝牙手操器读取的阀门定位器的阀位值。此外,该手操器还可对蓝牙电磁流量计,蓝牙温度变送器等设备进行操作。
5 结论
经过现场测试表明,本文设计的蓝牙手操器系统稳定、使用方便、实用性强,有一定的抗干扰能力,可根据需要进行软件升级,能有效地与工业现场设备进行无线互联,实现对工业现场数据采集和处理功能,为工程人员监控现场设备提供了一种新方法。 本文作者创新点:本文介绍了基于蓝牙通信协议的手操器在工业现场的设计与应用。该蓝牙手操器使用新华龙 C8051F020芯片和 BCM04蓝牙模块为主要功能结构模块,与现场蓝牙设备建立一对一或一对多的通信系统,并可通过该手操器采集和处理现场数据以及校正现场设备的功能参数。
参考文献
[1]王平,郑武,王浩。基于 “蓝牙”通信的现场控制技术。计算机集成制造系统 ,CIMS,2003,6
[2]陈祥福,王平,钟刚,李津。嵌入式 Linux无线接入点的设计与实现[J]。微计算机信息, 1008-0570(2006)04-2-0034-03。
[3]周立功等。 ARM微控制器基础与实践。北京:北京航空航天大学出版社, 2003.11
[4]马建仓,罗亚军,赵玉亭。蓝牙核心技术及其应用 [M]。北京:科学出版社, 2003
[5]Bluetooth SIG-2001.Specification Volume 1.Specification of the Bluetooth System Core ,version1.1[S]
内容想下来看看。
很好呀,多谢小编了