1 蓝牙协议栈实现形式
扬修自控蓝牙协议规范遵循开放系统互联模型。
扬修自控蓝牙协议栈按照封装方式有 3 种不同的实现模型——寄居式、嵌入式和完全嵌入式,分别针对具有不同功能和资源的产品。
对于嵌入式模型,蓝牙协议栈位于蓝牙模块中,应用程序单独运行在主机上,通过适配协议与蓝牙模块通信。嵌入式模型无需主机处理蓝牙上层协议,减少了主机的软件负荷和代码长度,降低了开发难度,对于内存有限的设备是不错的选择。本设计在蓝牙协议栈实现形式上选用了嵌入式模型,通过使用南京国春电子技术有限公司的 KC02 蓝牙模块,保证通信可靠性并减少了 CPU 的代码量。
2 蓝牙节点链接过程
扬修自控处于工业现场的阀门电动装置通常为一个阵列,此时正确完成蓝牙节点的查询以及链接是建立手持操作器与阀门电动装置通信的关键。该过程由手持操作器 MCU 通过适配协议操作主蓝牙模块完成。
扬修自控由于在工业现场可能有多台阀门同时具有蓝牙无线通信功能,手持操作器与阀门电动装置的链接分为物理链接和逻辑链接。其中逻辑链接为物理链接的一个子集,只有在手持操作器与阀门电动装置之间建立了物理链接,并且手持操作器接收到了确认链接的指令后逻辑链接才建立。此时手持操作器进入操作阀门电动装置并同步显示的状态。阀门电动装置只能被动地接收手持操作器的搜索和链接,其上层程序在处理链接状态时给出提示用于操作者判断蓝牙网络的链接状态。
3 蓝牙应用系统设计
扬修自控在工业现场使用蓝牙无线通信,其系统的硬件设计分为阀门电动装置和手持操作器两部分。
2.1 阀门电动装置
扬修自控阀门电动装置实现阀门本体的控制功能。以 LPC2292 为核心构建整个嵌入式系统,蓝牙模块采用工业级 KC02 模块。
LPC2292 是 NXP 公司基于 ARM7TDMI-S 的一款高性能工业级微处理器。其处理器内核为 32 位 RISC 体系结构,具有高密度的 16 位指令集及极低的功耗。
KC02 蓝牙模块是可进行数据交换和语音通信的蓝牙通信模块。其体积小,外形尺寸长为 17.8mm,宽为 15.2mm;工作电压为 3.3V,拥有 UART、SPI 和 USB 串行接口,在本设计中使用处理器的 UART 与蓝牙模块相连。
2.2 手持操作器软件流程
扬修自控手持操作器复位后首先进行各底层硬件的初始化操作,然后根据接收到的按键命令进行相应的操作。
在硬件设计中,将单片机的 PD4 与蓝牙模块的链接状态端口相连,PD7 口与蓝牙模块的 RESET 引脚相连 。
2.3 手持操作器
扬修自控手持操作器的功能为搜索从蓝牙,并在主从蓝牙建立链接之后,操作阀门电动装置,并同步显示阀门电动装置屏幕内容。其系统结构以 8 位 AVR 单片机 ATmega128L 为核心,包括按键、液晶显示屏、主蓝牙模块和电源处理 4 个部分。KC02 主蓝牙模块通过串口与单片机相连。手持操作器使用电池,通过电源转换芯片 AMSI1117 稳压后给整个嵌入式系统供电。
4 系统功能
扬修自控数据交换功能:手持操作器采用查询应答的方式采集阀门电动装置的实时状态。每隔 100ms,手持操作器就会发出 1 次查询指令,阀门电动装置将当前状态打包为 1 帧 6 字符的数据上传给手持操作器。由于所传输的数据不会包含 0xff 和 0xfe,可以将其作为 1 帧数据的起始和结束标志。
手持操作器通过同样的数据格式去除掉起始标志和结束标志解析出一帧数据,并同步显示阀门电动装置状态。在手持操作器和阀门电动装置进入阀门参数的同步设置状态时,数据帧长度不固定,按照书前显示页面所需的信息进行数据交换。链接断开提示:当由于外界于扰或距离增加导致手持操作器和阀门电动装置之间链接断开时,手持操作器给出链接断开提示,阀门电动装置则跳出蓝牙无线操作状态,恢复到本地操作模式。
结语
扬修自控针对将蓝牙无线技术引入阀门电动装置中的实际工程需求,本文分析了其可行性,并且实现了实际软硬件系统,对工业现场的无线技术应用有些参考价值。