应用于物联网和信标的BLE模块选择
扫描二维码
随时随地手机看文章
我们的家庭,办公室和工厂几乎没有使用嵌入式设备,因为它没有某种形式的无线通信。当我们开车,锻炼自行车或监督制造过程时,无数的设备都在我们周围喋喋不休。不久之前,事实恰恰相反。我们家的恒温器,汽车的音乐播放器和办公室的自动扶梯都是隔离的应用程序;只是做他们需要做的工作。毫无疑问,物联网(IoT)及其工业形式IIoT负责连通性的激增;但这种无处不在的无线环境的基础完全基于智能手机及其应用的出现。
从工程角度来看,将无线电频率连接的任何方面融入产品已经走过了漫长的道路。进行离散无线设计。对于大批量设计而言,离散无线技术的投资反映在较低的材料成本中,与选择基于模块的方法相比,设计和进行必要的无线电监管审批的可能性大于成本差异。 。当制定新产品的营销规范时,通常情况下它可以在世界上任何国家或地区使用。认为产品只会用于销售地理的日子已经一去不复返了。经过预认证的无线模块可满足所有必要的无线电认证标准,大大简化了创建区域产品变型的设计要求。
帮助工程师加快将无线通信集成到设计中的工作现在更为直接任务。 Digi-Key的IoT产品选择器等资源打破了选择合适的组件和模块以用于开发的过程。选择无线模块时,第一个标准是要使用的通信标准和协议。最流行的方法是Wi-Fi和蓝牙,后者是短距离,低功耗通信的默认方法。具体而言,蓝牙低功耗(BLE)配置文件似乎专门用于电池供电的物联网设备。 BLE也称为蓝牙4.0/4.2或蓝牙智能,提供300英尺的范围和高达270 kbs的数据吞吐量。除了用于各种物联网设备(如传感器和执行器)之外,BLE还可用于医疗保健,健身,家庭娱乐和信标应用。用于近距离营销和室内导航目的的信标已经被销售饥渴的零售组织所接受,作为向通过客户的智能手机推销营销服务的一种方式。根据市场研究公司Research and Markets的数据,预计2016 - 2020年期间BLE在零售信标中的使用量将增长222%。在零售之外,信标被用来让乘客了解他们的航班状态以及机场内的潜在延误。
面对为他们的设计选择BLE模块,工程师在不是全部时应该寻找什么功能模块提供相同的功能?某些模块具有无线收发器调制解调器,但依赖于主机应用程序来运行必要的软件堆栈。其他人,以及越来越常见的方法,是“无主机”,由无线SoC设备组成,其中包含无线收发器和微控制器。这样的无线SoC设备具有足够的计算资源,不仅可以运行协议栈,还可以运行最终应用程序,尽管复杂设计显然会受到限制。在审查潜在产品时,将会有明显但仍然重要的数据表规格,包括物理尺寸,功耗和外设功能。
然而,最有可能帮助加速模块集成的因素只需查看数据表,设计并不总是显而易见的。原型平台(如评估套件或参考设计)的可用性是一个很好的起点。然后是要考虑的软件工具和堆栈。供应商是否提供这些?他们需要许可吗?是否需要额外的电路,如外部时钟或天线匹配组件?此外,开发平台是否附带代码示例?你能设置一个非常简单的测试来快速建立使用该模块的信心吗?写“Hello world”或闪烁LED的日子似乎已经过时,但他们对模块和开发环境产生了很大的信心,并建立了一个值得信赖的已知位置,可以从中采取下一步措施。
BLE模块的一个例子是模块制造商Rigado的BMD-3XX系列。
图1:Rigado BMD-300 BLE模块。
该模块基于Nordic Semiconductor的nRF52832 2.4 GHz无线SoC,提供完整的RF解决方案,该解决方案已在全球所有地区进行了预认证。无需额外的RF设计,因为该模块可提供内置天线或U.FL连接器。这两个版本的尺寸均为14 x 9.8 x 1.9 mm。 BMD-350是一款超紧凑型变体,尺寸仅为8.7 x 6.4 x 1.5 mm,适用于极其空间受限的设计。
图2:BMD-3XX系列模块的框图。
图2突出显示了BMD的功能框图 - 3XX系列。 SoC具有ARM Cortex-M4F 32位内核,带有FPU,512 kB嵌入式闪存和64 kB RAM。外设接口包括三个SPI主/从,两个2线I 2 C,I 2 S音频,UART和32个GPIO。 128位AES硬件加密功能,随机数发生器,32位和24位定时器以及12位ADC是其他一些功能。完善此综合模块的功能包括集成DC-DC转换器,温度传感器,低功耗比较器和正交解调器。预加载的BMDware固件提供iBeacon和UART桥接功能,无需以任何方式对模块进行编程。或者,可以使用许多Nordic Semiconductor SoftDevice协议栈来创建集成的BLE应用程序。通过使用模块AEC-128功能的安全引导加载程序,可以提供加密的无线(OTA)固件更新。通过串行线调试(SWD)接口和串行线输出(SWO)的标准ARM调试功能允许调试程序代码,设置断点和单步执行代码的非侵入式方法。此外,该模块还支持ETM和ITM跟踪数据,这些数据被发送到连接到4位跟踪端口的调试器。
集成的32 MHz晶振为无线操作提供高频时钟。还需要一个低频时钟源,这可以由内部RC振荡器提供,取自高频时钟或外部提供。选择外部晶振有助于保持功率预算尽可能低,同时保持精度。
BMD-300系列评估套件BMD-300-EVAL如图3所示,提供全面的原型设计和开发平台,从中开始您的设计。这包括模块引脚的完全突破,用于低频时钟的32.768 kHz晶振以及多个按钮和LED。板载编程和调试使用Segger J-Link-OB允许通过USB接口访问SWD/SWO。 Atmel MCU用于促进与测试环境和模块本身的接口。与Nordic Semiconductor自己的nRF52评估板共享很多共同意味着大多数代码示例和设置过程也适用于BMD-300平台。
< p>图3:BMD-300系列评估套件。
设置和编程是一个简单的过程,并在模块的评估套件用户指南中进行了详细说明。此过程的第一步涉及下载和安装最新的Keil MDK-ARM开发套件,Nordic Semiconductor的nRFgo-Studio,最新的Segger J-Link实用程序以及Nordic最新的nRF5 SDK。除了所有必要的库,驱动程序和软件堆栈之外,SDK还提供了一组功能齐全的代码示例。
一旦安装了上述所有项目,就可以将评估套件连接到计算机通过Segger J-Link接口。 nRFgo Studio与J-Link接口配合使用,可以完全访问模块的功能。使用此方法也可以使用SoftDevice协议文件对模块进行编程。
图4:Nordic Semiconductor nRFgo Studio SoftDevice窗口。
S132 SoftDevice是一个BLE中央和外围协议栈,支持最多八个连接,另外一个观察者和一个广播员角色同时运行。图4说明了在nRFgo Studio工具中进行设置。该堆栈还集成了BLE控制器和主机,并配备了一组灵活的API,可集成到您自己的应用程序中。可以在Nordic Semiconductor网站上找到可用的SoftDevice文件的完整列表。
评估板还有一组与Arduino屏蔽格式兼容的连接器,可通过许多模块访问GPIO模块标准的Arduino防护罩。
图5:来自Nordic nRF SDK的文档齐全的代码示例。
如上所述,Nordic SDK提供了许多使用API与SoftDevice协议交互的示例应用程序。图5中所示的一个示例显示了'ble_app_blinky_c'main.c文件。代码记录非常好,第一次面对这个代码的开发人员很容易理解程序内部的内容。
你是否希望创建自己的开发和测试环境评估板,该过程相对简单,因为Rigado在其网站上提供所有必要的布局,PCB,钻孔和原理图。还包括完整记录的物料清单文件,提供制造商和Digi-Key部件号。
结论
采用整体方法为您的下一个设计选择无线模块,不仅是模块本身,而且评估工具,软件堆栈和代码示例的可用性确保您的设计将在尽可能短的时间内进行通信。