蓝牙BLE模块系统
BLE软硬件模块及系统组成
本文基于BLE模块,方案从硬件电路的选型设计,到软件功能的实现,最后组成物联网系统,实现智能设备的定位控制;1.物联网的基础是智能设备硬件模块,2.物联网的实现是将智能设备模块嵌入的电器设备中并配以软件的支持,3.物联网到室内定位控制系统是在完成1、2的基础上加入算法模型,本文将详细介绍BLE的硬件与软件部分。
一、BLE硬件系统模块
硬件电路的设计主要有3个重要模块和1个功能模块,3个重要模块为主控设计、电源设计、天线设计,本文将主控模块和电源模块归纳入主控电路设计,下文将详细介绍。
1.1主控电路设计
本课题设计采用CSR公司的CSR1010作为CPU主控芯片,其特性是:拥有64KB的运行内存和64KB的储存内存、蓝牙低功耗输出的最大功率为75dBm、蓝牙低功耗接收信号的功率下限为-92.5dBm、支持蓝牙4.2规范,主机协议栈包括ATT、GATT、SM、L2CAP、GAP等,睡眠模式下电流小于900nA、采用32.768KHz和16MHz的双晶振系统时钟,前者用于睡眠模式下,而后者为正常工作时钟、开关电源供电、可编程的通用PIO控制器、10位高精度的内置ADC、12个数字的PIO口、3个模拟的AIO口、支持UART串口通信,I²C通信、SPI总线对EEPROM烧写、外置flash芯片、支持SPI仿真、支持4路PWM模式、中断唤醒和看门狗功能。设计的总原理图如图4.1所示:
(1)EEPROM电路设计:CSR1010不存在内嵌的程序存储器,因此在设计时外接了一块存储容量为512Kb的EEPROM芯片,芯片型号为AT24C512,对模块小型化的要求,封装选为8-lead SOIC,其中1、2、3引脚为地址位,4和8分别为GND和VCC,5为数据引脚SDA,6为时钟引脚SCL,7为写保护引脚。其原理设计如图4.2所示:通过SPI总线将程序烧入该芯片。
(2)时钟电路设计:芯片采用的低功耗设计方案是:正常模式和睡眠模式相互交替工作来实现低功耗输出。睡眠模式下采用低速时钟,其晶振频率为32.768KHz,工作模式下采用则采用晶振频率为16MHz的高速时钟,这种双晶振的设计优点是:时钟更加准确,减少内部时钟分频带来的损耗,其电路设计如图4.3所示:
(3)电源电路设计:电源模块的设计是保证整个电路稳定工作的首要因素,输入电源模块和驱动电路模块设计如图4.5所示:VDD_BAT即输入的总电源,其阈值大小在1.8v~4.4v之间,将47uf的大电容并接一个铁氧体(在总电路设计中画出),实现储能和滤波,防止冲击电流对电路的损坏;VBAT_REG_IN和VDD_CORE的阈值大小是0.8v~1.35v以及0.65v~1.2v,这两部分模块的功能是为数字电路模块提供稳定的工作电压,可通过软件编程实现VDD_CORE的电压控制。
课题研究的一项重要工作是将BLE智能控制模块嵌入电器中,在电源上实现工频电到直流电的转化;设计中对24v恒压直流电进行降压稳压处理,导出3.3v恒压源供给芯片使用,即图4.5中的VDD_BAT等于3.3v,具体设计电路原理图如图4.6所示:
图中VBAT为输入的电压24v,采用5.6v的稳压二极管和J3Y的三极管组成放大电路,输出5v电压给LM117供电,其中LM117是稳压IC芯片,本设计采用LM117-3.3型号,即输入电压控制4.75v~10v,输出电压恒定为3.3v,电流阈值为0~1A。
1.2天线电路设计
天线的匹配程度将直接影响电磁波信号的传输质量、传输距离与信道模型的准确性。蓝牙常用的天线有倒F天线、蛇形天线和集成的陶瓷天线,这里介绍前两种类型。
(1)倒F天线:倒F天线是一种四分之一波长的天线,天线有两个方向,一端接GND,另一端作为射频信号的发射末端,反馈点位于两端之间,这种结构的天线结构简单,设计方便,成本低;它的缺点是带宽较窄。
(2)蛇形天线:蛇形天线的长度取决于它的几何结构和近地距离,本文参照蛇形天线的物理性质,通过HFFS仿真设计获得天线的模型结构。根据蓝牙的工作频段该天线的中心频率为2.44GHz;本课题的板材选用FR4,相应的介电常数为4.5,损耗角为0.02,板厚选择为0.8cm,其中,芯片的7引脚是RF端口,理论上需要将端口后的特性阻抗匹配到50Ω,因此通过HFSS软件仿真,获取天线的长度和宽度。
1.3功能电路设计
BLE最小系统板引出多个I/O口实现与功能电路的对接,CSR1010芯片一共有32个引脚,其中有12个PIO引脚,设计时利用PIO9、PIO10和PIO11三个引脚作为功能模块的输出端口,输出端口接三级管驱动电路,通过I/O口输出的高低电平使三极管工作在开关状态,即饱和状态和截止状态的交互变化,其中三极管的集电极接上拉负载。
二、BLE软件模块
软件功能的实现分为2大模块:首先,是CSR1010主控CPU芯片的编程,驱动智能设备工作,实现多个智能设备之间通信与电器设备的直接控制;然后,对移动终端的编程与软件优化,完成用户与智能控制设备之间的信息交互与电器设备的间接控制。
2.1蓝牙相关协议
BLE的协议栈是实现蓝牙相关功能的基础,BLE4.2的协议栈中主要分为两大模块1.主机(host)和2控制器(controller),其协议框架如图4.10所示。其中控制器主要包括BLE的物理层协议以及链路层协议在此不再赘述,主机层从下往上包含了逻辑链路控制适配协议(L2CAP)、属性协议(ATT)、安全管理器(SM)、通用属性协议(GATT)和通用访问协议(GAP)。
(1)逻辑链路控制适配协议(L2CAP):L2CAP是BLE协议栈的核心之一,是基带的上层协议,它的功能是将基带递交的数据转化为分组的格式,以便上层应用的调用,且只支持异步无连接数据(ACL)。L2CAP根据不同功能定义了3种信道:1.用于多个设备之间的面向连接信道,2.作为广播的无连接信道,3用于创建命令的信令信道。
(2)通用属性协议(GATT):GATT是建立BLE连接的基础,主要功能是发送或者接收信号的属性数据段,实现2个设备数据交换,它通过定义服务(Service)和特征(Characteristic)实现BLE的通信,其中一个服务下包含了多个特征数据段,每个特征都具有唯一标识的16比特或者128比特的UUID;在连接方面,GATT定义了一个Master主控设备,能同时连接多个Peripheral从设备,因此在实验过程中可以出现一个移动终端能同时控制多个BLE设备,而一个BLE设备只能被一台移动终端连接控制,它实现的原理是一个BLE设备被连接后将不再发送请求连接信号;这里引入了多个BLE设备自组网的概念,即从设备会间歇性的发给主设备请求被连接信号。
(3)通用访问协议(GAP):在BLE协议框架中GAP是面向应用层的协议,它定义了BLE设备的2种通信方式:连接通信和广播通信;同时上文提到的主设备与从设备是在GAP规范中定义的,通过HCI命令实现设备的扫描、连接、通信、中断等功能。其中广播通信有2种实现方式,广播数据与扫描回复,前者是作为信号发生器向外辐射广播,后者实现了来自GATT层数据的处理。
2.2驱动模块
智能设备驱动模块编程,涉及蓝牙协议规范的编写,以及软件驱动层实现电路功能,使用的软件为CSRµEnergy SDK 2.4.5.13(xIDE);APP设计是在移动终端设备上编程,实现用户信息的交换,这里采用Android4.3系统与android studio编程环境。
(1)驱动模块:软件驱动模块分为3部分内容:协议规范的实现、I/O口编程实现电路功能和Mesh自组网驱动编程。
(2)协议规范的编写主要是GAP和GATT这两点内容:GAP实现的功能函数:将BLE设备名称写入EEPROM gapWriteDeviceNameToNvm()、更新设备名称updateDeviceName()、对GATT的信息进行读操作GapHandleAccessRead()、对GATT的信息进行写操作GapHandleAccessWrite()等;GATT实现的功能函数有:设置广播参数gattSetAdvertParams()、广播定时器执行gattAdvertTimerHandler()、开始广播GattStartAdverts()以及停止广播GattStopAdverts()。如图4.11所示:该图表示BLE智能设备在协议规范中注册、广播与连接的流程图。
(3)I/O编程:首先,初始化应用的时钟、硬件、数据结构,注册固件在数据库中的属性,编写系统事件驱动;然后,对CPU芯片的12个PIO口以及一些寄存器进行编写,其中包括对4路PWM进行设置,它实现的方式是通过调制脉冲频率、周期、占空比,实现对三极管电路的开关频率的控制;并以查找表的形式输出电流,即查找预设表中所对应的输出值。
(4)Mesh自组网编程:主要通过几个功能函数对Mesh信息的处理,包括数据初始化、读/写GATT的消息、通知和答复GATT从设备、以及对Mesh事件的编写;BLE设备在Mesh网络有3种状态:未连接、连接中、已连接,其中连接中状态到已连接需要发送网络密钥。
2.3APP设计
APP软件的功能是实现了对功能电路的控制和室内定位导航的控制;课题采用基于android4.5系统的移动终端,其中,BLE功能模块对android系统的最低要求是4.3版本,该版本以上(包括4.3)系统提供了BLE的适配器、管理器等功能模块;其实现步骤为1.蓝牙管理器(BluetoothManager)对象实例化,2.通过BluetoothManager获取蓝牙适配器(BluetoothAdapter)的实例化对象,3.打开蓝牙即对适配器的实例化对象使能,4.搜索蓝牙,5.创建蓝牙设备,并连接。
三、BLE智能设备控制系统及功能架构
CSR1010芯片设计的最小系统板作为智能设备的控制单元,功能电路设计为智能照明的MESH灯,将最小系统板嵌入功能电路模块,实现手机移动终端对该智能设备的控制;在室内部署智能控制设备作为BLE基站,并向空间辐射信号,每个基站发射出具有唯一UUID标识码的广播信号,通过不同基站组建的RSSI网络实现室内定位的控制与导航。系统框架依次为移动终端、最小系统板、功能照明模块。对于复杂的室内空间,部署BLE智能照明设备的间隔距离为8米,有效的控制精度与成本。
总结
本文首先从芯片选型与功能结构方面介绍硬件电路的设计,包括时钟电路、天线电路、功能电路、及电源驱动电路;然后,软件方面先从L2CAP、GATT、GAP等介绍了BLE协议栈的实现与应用,以及功能驱动模块与Mesh自组网的实现,再结合手机终端简述了智能设备控制与室内定位导航、路径规划等功能实现的原理;最后,简要概述室内定位控制系统的架构组成。
以上就是我们深圳市组创微电子有限公司为您介绍的BLE软硬件模块及系统组成。如果您有蓝牙产品设计开发需求,可以放心交给我们,我们有丰富的智能电子产品定制开发经验,可以尽快评估开发周期与IC价格,也可以核算PCBA报价。我们是多家国内外芯片代理商:松翰、应广、杰理、安凯、全志、realtek,有MCU、语音IC、BLE蓝牙IC、双模蓝牙模块、wifi模块。我们的拥有硬件设计与软件开发能力。涵盖了电路设计、PCB设计、单片机开发、软件定制开发、APP定制开发、微信公众号开发、语音识别技术、蓝牙开发、wifi技术等。还可以承接智能电子产品研发、家用电器方案设计、美容仪器开发、物联网应用开发、智能家居方案设计、TWS耳机开发、蓝牙耳机音箱开发、儿童玩具方案开发、电子教育产品研发。
- 返回顶部