广播扩展虽然不是蓝牙5的重点特性,但其功能可以带来更大潜力。这个于2016年推出的新版本标准允许在低功耗蓝牙(Bluetooth Low Energy/Bluetooth LE)技术的三个主要广播信道上传输的信息卸载到(全宽)数据信道上,这项技术还能够对广播包进行链接,把广播数据有效载荷提高到最大255字节。
蓝牙5还引入了定期广播功能,通过无连接广播将数据包以固定间隔发送到同步的设备,配合蓝牙5标准增加(8倍)的广播容量,进一步增强了这项功能。
这些新功能以及蓝牙5智能手机的推出,鼓励开发人员提供零售和室内定位信标应用程序,这些应用程序在新版本推出之前是不切实际的。新一代经济高效、超低功耗且功能强大的系统级芯片(SoC)、开发工具、应用示例和参考设计使得开发人员更轻易利用这个协议增强功能。
信标发展
低功耗蓝牙版本4.0、4.1和4.2支持的基本信标技术定义了一种简单服务,能够有效地使用完整蓝牙交换功能的其中一面。蓝牙设备发送定期广播(“发现”)消息,该消息邀请其它设备启动配对和随后的数据交换。比较之下,信标的广播消息包含保留的地址,该地址将其识别为不请求配对,随后便是一个可以直接操作、固定长度的 “有效载荷” 短数据。
在零售应用中,消费者在接近时自动接收短信标通信,但是,由于数据包最大只有31字节,使得在这种“无连接”广播中可以传输的信息量受到很大限制。
例如,现在的蓝牙5技术容许零售商使用通过广播扩展功能启用的链式255字节数据包,直接传达有关特价或新产品的特定信息,而不是只能向智能手机发送一个消费者必须访问才可以获取更多信息的URL链接。另外,室内导航应用变得更加实用和普及,因为消费者不需要安装特定应用程序或设置连接才可以接收基于位置的信息。
蓝牙5的广播扩展功能
低功耗蓝牙在83MHz宽度2.4GHz ISM频谱分配中使用40×2MHz信道。其中,三个是专用的主要广播信道(37(2402MHz)、38(2426MHz)和39(2480MHz)),而其余37个信道(0到36)一旦连接,通常用于数据信道传输。
设备使用广播信道,通过向范围内的任何“观察者”设备广播信息来“宣传”其存在,观察者设备“发现”广播设备,并且可以在没有正式连接的情况下接收其发送的信息。
蓝牙5技术具有较长的数据包和较低的传播速率(例如125kbit/s),同时采用扩展范围操作,有可能导致三个广播信道变得拥挤,这可能是信标等应用的主要挑战,因为这些设备通常使用这些广播信道向附近的智能手机发送信息。
标准规范中包括的广播扩展功能用于解决这个难题。现在,广播信息作为广播数据包,通过三个主要信道中的一个、两个或全部来发送。如果出现额外的数据包,通过将它们“卸载”到正常数据信道(而后充当“次要”广播信道)来容纳。更好的是,广播扩展功能可以“链接”广播包以允许高达255字节的更大广播数据有效载荷(图1)。
此外,广播扩展还带来了定期广播功能。该功能包括通过“无连接”广播以固定间隔发送信息到同步的设备。通过使用定期广播,扫描设备可以更一致地“关注”广播者并更频繁地监视其更新。无连接广播得到进一步提升,因为与先前的技术版本相比,蓝牙5的广播容量高出八倍。(连接设备还可以利用这些增强功能发送更多数据,并允许使用次要广播信道进行连接(再次释放主要广播信道))。
图1:在蓝牙5面世之前,广播数据包仅限于蓝牙的三个广播信道,忙碌的使用带来拥堵风险。利用广播扩展功能,可以将广播数据包卸载到充当次要广播信道的正常数据信道。
图片翻译: 传统广播;广播+数据载荷;广播信道;广播扩展功能;广播数据包包头;广播信道;广播数据包包头+数据载荷;数据信道;
蓝牙5的广播扩展功能也推动了针对确定位置的应用的开发工作(这是日益流行的应用,通过了解移动实体的位置来实现人和资产的跟踪)。通过使用接收信号强度指示(RSSI)来估计从信标到接收器的距离,可以实现定位。知道发射信号的强度以及它随距离减小的速率,能够进行简单的计算,得出接收器与信标之间的距离。在指定区域内,信标信号强度可以经过映射处理成为一张地图,并且这张地图 (有时称为签名)可以传送到智能手机的应用程序。
例如,位于北京的北京升哲科技有限公司推出了云子产品,这是符合Apple iBeacon™规格的信标 (图2),这个信标包含多个传感器,包括用于跟踪信标运动的加速计,以及光和温度传感器。信标可用于触发智能手机接近通知,识别其所连接的对象是否正在移动,以及广播其周围环境的光和温度信息。
图2:北京升哲科技有限公司的云子信标符合Apple iBeacon™规范,可以放置在任何位置或附加到任何物品,用于广播基于位置的相关数据。
日本富士通公司推出了一系列符合Apple iBeacon™和Google Eddystone™格式的信标产品,共有三种型号,均具有嵌入式加速计和温度传感器,以跟踪信标的精确运动并为用户提供环境反馈。
开始使用蓝牙5信标
虽然市场上有许多用于无线产品实施方案的低功耗蓝牙 SoC器件,但考虑到现今复杂信标应用的特定需求时,合适的选择便会减少。这些要求包括:
· 符合蓝牙5核心规范;
· 成熟且经过验证的RF协议软件堆栈
· Apple iBeacon™和Google Eddystone™合规性
· 低功耗(延长电池寿命)以最大限度地减少维护,尤其是在高节点数安装应用中
· 通过高链路预算(发射器输出功率+接收器灵敏度(dBm))确保良好的范围和连接稳健性
· 用于应用和协议无线(OTA)更新支持(通过定期固件修订延长产品的使用寿命)的Flash内存
· 小体积,适合紧凑型设计
· 具有足够的开销来运行堆栈和应用程序的嵌入式Arm控制器
· 高性价比
· 成熟且易于使用的开发工具
· 具有良好RF性能的硬件参考设计
· 良好的技术支持,包括兴旺的开发者论坛
Nordic Semiconductor在2012年推出nRF51产品系列,率先设计和开发了低功耗蓝牙 SoC器件,其后继续推出nRF52系列产品。例如最近推出的nRF52810 SoC,这是符合蓝牙5标准的芯片,带有具有良好计算能力的64MHz、32位Arm Cortex M4微控制器,100dBm链路预算2.4GHz多协议无线电,以及分别为4.6mA(输出功率为0dBm)和4.6mA(吞吐量为1Mbps)的峰值Tx和Rx功耗以提供长电池寿命。
nRF52810 SoC是Nordic的入门级蓝牙5/低功耗蓝牙产品,可降低信标应用材料清单(BoM)成本。这款SoC器件继承了nRF52系列SoC器件的高性能。nRF52810 SoC集成了196kB Flash和24kB RAM。内存配置足以运行典型的高容量、低成本应用程序代码,并支持OTA固件更新。这款SoC器件采用带有32个GPIO 的6×6mm 48引脚QFN封装,或者采用带有16个GPIO 的5×5mm 32引脚QFN封装。
对于没有RF硬件设计经验的开发人员来说,另一种方法是以开发套件(DK)的形式投资经过组装和测试的硬件,大多数芯片制造商提供此类产品。就这部分而言,Nordic提供nRF52开发套件(DK),可以连接到PC或Mac上用于开发,并构成使用nRF52810 SoC进行信标产品原型设计所需的全部硬件(图2)。
图3:Nordic的nRF52开发套件包括使用nRF52810 SoC构建信标设计原型产品所需的全部硬件。
这个DK通过连接器提供针对SoC所有I/O和接口的直接访问,并且包括四个用户可编程LED和按钮。这个DK的另一个方便功能就是与Arduino Uno(修订版3)标准硬件兼容,可以使用众多商用第三方盾中来增强功能。
创建应用程序代码
虽然低功耗蓝牙 SoC供应商在开发方面各师各法,但他们的软件都基于工厂提供的蓝牙5/低功耗蓝牙 RF协议栈。开发人员的任务是为其信标设计编写应用程序代码。这需要克服一些挑战:蓝牙技术联盟(SIG)没有制订用于信标的“规范(Profile)”(经过测试和验证的应用软件);在信标通信中,广播信道的使用方法与其它低功耗蓝牙应用不同,即不建立配对,而是直接向范围内的设备广播数据;此外,应用程序代码需要遵守Apple iBeacon™和Google Eddystone™规范,以确保与Apple和安卓手机的互操作性。如果没有适当的管理,在应用程序代码编译期间,供应商的低功耗蓝牙协议栈可能会被破坏,从而延长调试过程。
Nordic的低功耗蓝牙设计方法是从开发人员那里简化这种复杂性,这种方法的关键是该公司独特的软件架构,它将Nordic的RF协议栈(称为“堆栈”)与应用程序代码完全分开,这种方法意味着开发人员可以专注于应用程序代码的质量,因为他们安心知道堆栈在设计过程中不会被破坏。在编译期间,开发工具负责管理Nordic RF协议栈与应用程序代码之间的链接,并且保持高效可靠的堆栈操作的关键依赖性(图4)。
图4:在开发和运行期间,Nordic的堆栈(图中为低功耗蓝牙版本)和客户应用程序代码保持分离。
Nordic DK的主机低功耗蓝牙 SoC在交付时是空白的,所需堆栈的预编译二进制文件从Nordic的网站上下载,并使用nRF Connect无缝移植到DK的SoC上。nRF Connect是Nordic的跨平台工具,可以通过低功耗蓝牙进行测试和开发(nRF Connect提供桌面和移动版本,允许开发人员使用低功耗蓝牙连接,分别从PC或智能手机与其原型构建产品进行通信)。对于使用nRF52810 SoC的信标应用,推荐使用S112 堆栈,仅占用100kB Flash内存,这是用于构建信标等高性能低功耗蓝牙应用的蓝牙5兼容协议栈。
使用Nordic技术时,应用软件开发人员需要三个基本工具,第一个是带有Nordic支持的编译器的集成开发环境(IDE)(例如SEGGER Embedded Studio、MDK-ARM Keil、GNU/GCC或IAR(所有这些IDE均支持Windows,但只有SEGGER和GNU/GCC同时支持Linux和OSX))。
开发人员还需要使用Nordic的nRF5软件DK (SDK)和nRF5x命令行工具。为了减低信标应用程序代码开发的复杂性,nRF5 SDK包含软件示例、源文件和其它有用的开发项目。
重振信标应用
蓝牙4,4.1和4.2以及Apple和Google信标规范鼓励开发人员为机场、博物馆和画廊等公共场所提供零售和定位应用的早期设计。但是,在这些版本的核心规范中,广播信道的受限有效载荷可能会限制创新。蓝牙5技术的广播扩展功能可以实现先前无法达成的零售和室内导航信标应用,从而重振信标行业。
对于缺乏经验的开发人员来说,利用这个协议增强功能似乎十分困难。不过,通过与Nordic Semiconductor等成熟的低功耗蓝牙供应商合作,可以简化成功实施信标应用的过程。
然而,与所有的工程设计一样,事情有时会变得困难,特别是对于首次发开信标应用程序的开发人员而言。好消息是,无线设计社群内有许多先锋,并且乐意分享经验。例如,Nordic的DevZone开发社区云集了25,000名设计人员,他们很可能可解决十分棘手的信标设计问题。
关于作者
John Leonard是Nordic Semiconductor的产品营销经理,他在英国朴次茅斯大学获得电子与计算机学士学位(荣誉学位)。Leonard拥有丰富的Nordic产品和技术经验,并曾担任该公司的现场应用工程师和销售工程师。他目前的职责是产品管理团队成员,确保交付所有与产品发布相关的内容,包括IC、开发工具、文档和培训。