蓝牙技术是在全球应用十分广泛的一种通信技术。它采用2.4 ghz ism频段,是一种抗干扰能力强,十分稳定的无线通信技术。利用蓝牙技术可以实现微小网的自主组网,在小范围内进行无线的通信连接。蓝牙设备和蓝牙手机之间的无线通讯,可以通过外围的单片机,并通过主机控制接口进行蓝牙模块的开发和设计,满足蓝牙设备和蓝牙手机之间通讯的要求,并可以通过蓝牙手机对蓝牙设备系统进行控制。
1. 蓝牙模块概述
在实际的设计和开发过程中,对蓝牙模块进行开发的微控制器是蓝牙的主机,而蓝牙模块又称之为主机控制器。蓝牙模块其内部的体系主要由基带控制器,程序存储器,数据存储器,射频接口以及外界通讯的I/0口等几部分组成。
射频接口,其主要的功能是接收外部的信号,并将蓝牙基带控制器的信号向外发射的功能。在进行信号接收时,主要是接收2.4 ghz的高频信号,并将其转化为中频信号并传递给蓝牙基带控制器。同时把蓝牙基带控制器的低中频信号进行调制,并调制成2.4 ghz的高频信号向外进行发射。基带控制器由mcu和Dsf两部分组成,是蓝牙模块的核心以及基础,是整个蓝牙模块的大脑,具有实时的处理功能。在通讯过程中,语音以及数据的处理和暂存则由RAM数据存储器来完成,而蓝牙模块的开发程序以及低层硬件协议则由flash程序存储器得以实现。蓝牙模块对外的通信主要由IO口来实现,蓝牙模块的接口包括了SPI 、PIO、 PCM 、UART/USB四种。
蓝牙协议的签订,决定了蓝牙模块的功能,蓝牙模块在出厂时处理器上会进行加载。蓝牙协议主要分为了标准的HCI、集成应用程序以及串口功能。而其中的HCI接口,可以通过它对蓝牙模块进行开发,开发出的特定功能要符合蓝牙协议的规定。串口功能是指蓝牙模块的无线串口,模拟了RS232功能,也就是将RFCOMM串口仿真协议在蓝牙模块上进行了加载。而集成应用程序是指蓝牙模块的某些应用功能,例如文件传输功能,以及蓝牙耳机等等。
蓝牙主机与主机控制器之间的接口是蓝牙模块开发的唯一的途径,对主机控制器的控制都是通过控制器接口来完成的。蓝牙主机与蓝牙控制器进行通信,通过软件程序的运行,实现了控制。主机控制器接口接收主机程序的功能,并向主机控制器进行解释,把上层的软件进行解析,使主机控制器等低层硬件能够进行识别,从而使蓝牙模块的基带控制器以及管理器,存储器等硬件进行响应。与此同时,射频模块会通过ics层的通讯数据格式,把接收到的数据向主机传送,主机接收数据信息之后进行处理。由此方式,我们不难看出,主机控制器接口HCI四软件和硬件的接口,他对狼牙高层的应用程序像狼牙低层硬件传送,实现两者之间的通信。它包括了USB、RS232、UART、SD 四个传输层,数据的传输也分为了HCI指令分组、HCI事件分组、HCI-ACL数据分组以及HCI-SCO数据分组四个类型。
2. 蓝牙模块串口通信的设计与实现
蓝牙模块的开发分为了两种模式,第一种是单微控制器模式,整个的处理过程都是由微处理器来实现,是低层传输协议和高层传输协议以及用户应用程序的高度集成。另一种方式就是双微控制器的模式,它是指主机控制器和主机分别实现蓝牙的低层协议以及用户的应用程序。双微控制器的模式,它更能够体现蓝牙的功能和作用,它利用单片机通过主机控制器接口对蓝牙模块开发并达成其执行特定的功能。
2.1硬件设计
本文采用了csr公司的BC417143主流芯片,芯片具有uart接口spi接口pcm接口以及pio接口,使用3.3伏的电压接口,多重选择串口波特率,波特率默认值为9600h/s。蓝牙主机与芯片之间是通过串口进行通讯,同时。芯片可以与PC机PC机可以通过at指令控制蓝牙芯片。单片机作为蓝牙主机,它采用at 89c2051芯片,额定的电压为5v,同时,具有可编程,存储器以及数据存储器,包含了可编程串行通道以及两个定时器。通过串口剪蓝牙模块与单片机连接起来,同时具有兼容性。单片机通过IO口对通信中的大量的数据进行控制,并且能够使储存空间进行外部的扩展,连接人脚较少,控制十分的简便。
在硬件设计过程中,蓝牙芯片的3.3伏工作电压并通过LM 2576产生了单片机的5伏的工作电压,由于两者之间的额定电压不同,因此在IO口中间利用电阻进行调节,从而保证IO口通信的稳定以及安全。在设计实验过程中,蓝牙模块与手机之间的通信是通过蓝牙模块端的电子锁来确保蓝牙模块与手机通信之间的安全性和正确性。而单片机的驱动继电器则对电子锁的开关进行控制,在进行设计时,应当照顾继电器的工作电流,要通过放大电路才能够实现驱动继电器的正常供电电流。
2.2软件设计
蓝牙主机和主机控制器之间的通信是通过指令分组以及和数据分组得以实现的,蓝牙模块串口的通信应该分成五个阶段,首先是初始化阶段,然后是蓝牙地址的搜索和查询,在搜索到地址之后进行连接,连接完成之后即进行通信,数据间的传输,通信完成后是连接的断开。
蓝牙芯片的初始化有五个指令来完成:HCI-Resel、HCI-Read-Buffer-size、HCI-Write-Sean-EnabIe、HcI-Write-Connection-Accept、HCI-Page-Timeout。
周边蓝牙地址的查询可以使用HCI-Inquiry指令来对一定范围内的蓝牙的地址进行查询并进行显示。
连接的建立可以使用HCI-Creat-Connection指令,来对指定的设备地址与手机进行连接。
通信及数据的传输可以利用HCI--Acl-Data指令来完成,他的前提是两个蓝牙设备必须连接成功,在连接成功之后,才能够实现设备之间数据的传输。
连接的断开可以利用HCI-Disconnection指令来对设备之间的连接进行断开。
初始化、查询、连接、通信以及断开等指令、事件以及数据分组的具体格式应当参考相关的标准和协议来进行。
2.3电子锁的实现
蓝牙模块的电子锁是确保通信安全的重要保障。它具有了开、关锁、密码修改、用户的删除和增加等功能,而每一个特定的功能都赋予了唯一的ID开锁即开启蓝牙模块端的电子锁,对蓝牙设备的唯一的设备地址进行利用,能够使蓝牙模块与指定的设备进行连接,从而确保了不会与所有公开的蓝牙设备进行连接是系统的安全性得到了提高,避免了非法连接操作。另外,通过设置管理员密钥,通过操作可以对用户进行增加和删除,同时,还具有对密码修改的权限。电子锁的用户开锁和关锁的数据格式为:ID+用户名+密码;删除增加用户数据格式:ID+主人用户名+主人密码+增删用户名+增删用户密码;密码的修改数据格式:ID+主人用户名+主人密码+需要修改的用户号+新的修改的密码。
2.4手机端的设计以及实现
与蓝牙相连接的蓝牙手机,首先要支持window操作系统,是智能手机能够实现手机的开发和利用,并且具有蓝牙芯片的协议以及仿真功能。在手机中建立起接口以及相应的应用程序,并编写串口调试助手应用软件从而实现了利用手机对相连接的蓝牙设备的控制。例如手机发送相应的,用户开锁和关锁的数据格式,继电器就会进行接收并动作,从而实现蓝牙模块端电子锁的开启和关闭,并将蓝牙模块端的数据向手机进行传输,手机就会接收并显示的结果。
结束语:
通过外围的单片机对蓝牙模块的无线串口进行设计和开发,从而使蓝牙模块和蓝牙手机之间的通讯得以实现,另外,通过唯一的设备地址,确保了蓝牙模块与指定的蓝牙设备的连接,使系统的安全性和稳定性得到了保障,蓝牙模块在嵌入式系统中的应用,使蓝牙无线通信技术在工业现场的控制系统、GPS导航系统中广泛的应用,促进了各个领域的建设和发展。
参考文献:
[1].一种基于蓝牙通信的电能表数据智能读写装置及方法[J].电气技术,2017(02):134.
[2]张群,杨絮,张正言,陆起涌.蓝牙模块串口通信的设计与实现[J].实验室研究与探索,2012,31(03):79-82.