基于蓝牙技术的火控检测系统无线网络的研究
PI_MOSI、SPI_MISO、SPI_CSB和SPI_CLK引脚,直接印在PCB(印制板)板的测试口,它是一个很简单的调试接口,与蓝牙开发工具相连接,用来向蓝牙模块写入程序、调整和与Bluecore4-External直接通信,并且还可以擦写Flash存储器。连接状态显示设计了一个发光二极管,其主要作用是用它来显示蓝牙串口适配器的工作状态:当发光二极管处于高电平,也就是发光时,蓝牙设备连接正常,处于工作状态;当二极管处于低电平,二极管不发光时,蓝牙设备没有建立连接。发光二极管可以任意安装在蓝牙模块的PIO引脚上,可由蓝牙模块的PIO口直接驱动。
关于蓝牙天线[5],目前常用的蓝牙天线有:偶极天线(Dipole Antenna)、PIFA天线(Planar Inverted Antenna)和集成陶瓷天线(Ceramic Antenna)等。本文主要设计了成本低,结构简单的倒F天线,直接印制在PCB板上。
软件实现
系统的软件开发主要在蓝牙串口适配器的基础上,实现蓝牙设备的组网,其软件设计主要是蓝牙串口适配器的串口通信实现,包括蓝牙串口适配器串口的打开、初始化、本地设备设置、查询设备、建立连接、数据/广播数据等,其软件流程如图4所示。
整个程序以HCI命令及事件为手段,发送响应的命令,并对接收到的数据进行分析,做出响应的动作。在完成蓝牙串口适配器与主机连接之后,首先打开串口,是主机获得串口,有效识别适配器;其次完成初始化,主要包括适配器和主机的初始化;然后设置蓝牙设备名称,读取蓝牙设备地址;紧接着主机发送查询指令,查询有限范围内的蓝牙设备;在查询完成后,主设备根据需要建立连接,并向从设备发送指令,完成网内点对点数据传输和广播数据。
其主要的程序设计HCI指令[6]有如下几条。
M8 get_local_bd_addr() reentrant //获取本地地址
M8 HCI_change_local_name() reentrant //改变蓝牙
设备名称
void HCI_inquiry() reentrant //查询设备
void HCI_creat_connect() reentrant //建立连接
void HCI_disconnect() reentrant //断开连接
void HCI_send_acl_data() reentrant //发送数据
void HCI_event_handler() reentrant //接收数据
void HCI_broadcast() reentrant //广播数据
LED驱动程序:
#ifdef CSR_APPLICATION_HARDWARE
PioSet(LED_CONNECT|LED_POWER,LED_CONNECT);
#else
PioSet(LED_CONNECT,0)
在完成蓝牙串口适配器组建火控检测系统微微网后,利用蓝牙微微网在网内实现了几类特殊信号的数据和广播数据,主设备自发送相应指令后,从设备发回相应的测试结果,其点对点数据传输显示测试结果如图5a所示。对于广播数据来说,也就是点对多点数据传输,其具有不稳定性,不能确定主设备每次发送的指令从设备都能够接收到,一般需采用2次以上的广播。本设计测试中主设备广播次数为2次,在主设备广播完成后,得到的从设备1-7发回的测试结果见图5b。从测试结果来看,网内点对点数据通信和广播数据效果良好,能满足检测需求。
结语
本文在研究蓝牙无线网络的基础上,设计开发了以蓝牙串口适配器为硬件的火控检测系统无线网络。测试表明,本文设计的蓝牙微微网可以实现网内点对点数据和广播数据,且通信效果良好。由此可以得知在火控检测系统中实现蓝牙无线组网是可行的,这也为蓝牙网络特性在装备检测中的应用积累了经验,做出了有益探索。
- 蓝牙技术在组建无线局域网中的应用(06-12)
- 蓝牙技术未来发展更加注重低功耗和互联性(12-22)
- 小尺寸低功耗 Dialog打造蓝牙智能解决方案(03-24)
- 从概念到开发,基于蓝牙的Beacon技术纯干货!(10-05)
- Beacon在可穿戴设备中的应用:安卓蓝牙第二篇(06-08)
- Beacon在可穿戴设备中的应用:安卓蓝牙(06-08)