哪种无线技术适合物联网?
许多应用的元件选择相对简单,但对于诸如微控制器之类可编程半导体来说,开发团队必须考虑更广泛的条件范围:有无可用的开发工具、终端编程设备供应商以及编译代码质量都需要纳入考虑范围。
随着物联网 (IoT) 应用的飞速发展,通常需要在产品中集成一个或多个无线协议。 当然,市场上有多种能让无线“问题”消失的模块,但此类解决方案采用集成的专业知识和固定的固件功能,可能会缺乏所需的灵活性、没有一个合理的价位或者占据过多板空间。 如需通过一个具有无线功能的可编程芯片或者一个仅有无线功能的模块来扩展微控制器功能,开发团队应考虑目前什么样的软件堆栈可用,以及软件堆栈在开发工具选择方面的各种限制。
针对 IEEE 802.15.4 无线解决方案的硅片选项
Atmel 的最新 IEEE 802.15.4 解决方案以 SAMR21 系列器件形式推出,这是一种单芯片解决方案,它集成了工作频率高达 48 MHz 的 ARM Cortex M0+ 处理器和一个低功耗 2.4 GHz 收发器。 该收发器的发射功率可达 +4dBm,接收器灵敏度为 -101dBm。 采用 QFN32(16 个 I/O 引脚)或 QFN48 封装(28 个 I/O 引脚)以及高达 256 KB 的闪存、32 KB 的 SRAM,这些器件似乎非常适合那些要求高集成度的设计。
如果您不擅长 RF 设计,那么预认证型 MRF24J40Mx 无线模块(来自 Microchip)也应该是一个十分诱人的选项。 这些器件工作在 2.4 GHz 范围内,包括一个可选 PCB 天线和 PA/LNA(用于要求更大范围的应用)以及一个易于配置的 SPI 接口。 选用 PA/LNA 时,发射功率可保持在 +20 dBm,接收器灵敏度达到 -102 dBm。 当模块仅采用 RF 收发器时,设计团队可自由选择 MCU,以通过其 SPI 接口控制该模块。
硬件开发工具
为减轻开发工作,Atmel 推出 ATSAMR21-XPRO 开发板(图 1),复制其成功的“Xplained”格式。 最新的开发板已采用同样的风格,它非常有助于 MCU 引脚沿开发板边缘分布,以方便使用连接器。 另外,开发板采用功能强大、被称作 EDBG 的板载嵌入式调试器。 该 EDBG 包括一个 ARM 标准串行有线调试 (SWD) 接口(用于对目标 MCU 进行调试和编程)和一个虚拟 COM 端口,从而能在 MCU 和 PC 主机之间传输串行(USART)格式数据,这种情况极为适合从应用代码输出调试信息。 该器件的微型 USB 连接器也可用作电源,成为多个可能电源中的一个。 在无线方面,提供两个片式天线以及 SMA 连接器,以简化系统开发和 RF 性能测试。 功耗在电池供电型设计中是关键指标,可通过板载针座轻松测量。
图 1:SAMR21-XPRO 易于沿板边缘接入微控制器引脚,带有一个板载调试器以及一个片式天线和 SMA 连接器。
Freescale 推出的 1322X 开发者入门套件 (DSK) 则采用了一种不同的方法。 该套件属于开箱即用型,可用作基于两块不同参考板的气象站应用,用作具有温度、压力和加速传感器的传感器参考板,以及用作具有 LCD 图形显示屏的网络协调器板。 这两块板均提供操纵杆、多个按钮和 LED 指示灯用于监视和控制,以及一个 USB 接口用于连接 PC。 该套件包含电源,但从电池连接器可以看出,Freescale 已认识到在开发时需要通过在实验室周围走动来进行环境测试。 该套件还包括一个 J-Link JTAG 调试器。
MRF24J40MA PICtail/PICtail Plus 是一种简单扩展卡,用于配合使用 Microchip 的专有 PICtail 和 PICtail Plus 连接器,在该公司的微控制器开发板上也能发现这种连接器。 这种扩展卡会使该公司的 PIC18 Explorer 板 更易于配合使用,以满足要求不高且 8 位性能即足以应付的应用,或者当需要 16/32 位功能时,则可以使用该公司的 Explorer 16 开发板 。 请注意,为进行全面开发,还需购买如 MPLAB ICD 3 或 MPLAB REAL ICE 等在线调试工具。
软件开发工具
Atmel 将继续推广自家的开发环境 (IDE)——Atmel Studio 6 并提供免费下载、使用。 然而,由于该工具全部安装后体积超过 850 MB,因此下载、安装过程非常耗时。 安装完毕后,用户便拥有了进行无线软件开发所需的一切:GNU GCC 工具链、 Atmel 软件框架 (ASF)(用于简化片载外设编程和使用的 API 集合),以及海量项目示例,其中包括 100 多个针对 ATSAMR21-XPRO 的示例。 内置扩展管理器也提供更多模块,如无线编译器、无线性能分析器,并能简化配置和无线链路性能测试。
如果 MRF24J40x 模块与 Microchip 微控制器(图 2)配合使用,还需要使用 MPLAB X IDE,其下载容量小于 400 MB。 该 IDE 可在 Linux、MAC OS 和 Windows 系统下运行。 编译工具链必须单独下载,MPLAB XC 编译器的免费版享受有限优化支持。 升级到付费版后可享受全优化功能。 Wireless Development Studio 需单独下载,利用同样由 Microchip 提供的 ZENA 无线适配器工具为 MiWi™ 网络提供网络监听功能。
图 2:MRF24J40A 模块已获认证并带有 PCB 天线,允许开发人员根据实际需要选择合适的微控制器
无线软件堆栈
IEEE 802.15.4 不可避免地要与 ZigBee® 链接;当需要与此类网络互操作时,Atmel 可提供已获 ZigBee® PRO 认证的 Bit Cloud SDK 协议栈。 如不需要无线互操作功能,还可使用称作“轻型网状网”的 Atmel 专有网络堆栈。 可支持网状网中超过 65,000 个节点、具有 8 kB 闪存/4 kB SRAM 典型存储器容量,这足以满足绝大多数系统的要求(AVR2130 参考文献 1)。 对于希望在 IEEE 802.15.4 MAC 层编程的更多冒险者来说,也有针对规范兼容性通讯且无需堆栈开销的软件(AVR2025 参考文献 2)。
类似于上文提到的解决方案,Freescale 也推出其通过鉴定、命名为 “BeeStack” 的 ZigBee® 协议栈。 Freescale 也象其他公司一样推出一款专有网状网络产品,该产品被命名为 SynkroRF,具有控制器和受控节点。 对于点对点或者星形网络即可满足的系统,也有 SMAC 无线网络协议来使之最简化。 所有这些协议堆栈均包含在 BeeKit 软件下载中免费赠送。 下载并安装后能生成必要的软件文件,以便与必要的技术文档一起纳入 IAR 项目中。
Microchip 的 ZigBee® PRO 堆栈价格为 1000 美元,不过也免费提供其专有的 MiWi™ 堆栈。 MiWi™ P2P 是最简化版,是专门针对点对点或简单星状网络拓扑结构的轻型堆栈。 MiWi™ PRO 是一种全网状网络堆栈,总共可支持 8000 个节点、64 个协调器节点和一个 65 的跳距。 协调器设备需要一个不到 25 KB 的闪存和一个约 13 KB 的端节点设备。 应用说明 AN1629 深入研究了无线性能和链路预算计算,解答了设计团队在系统总性能方面许多首要关注问题。
总结
当我们将某个产品无线连接到物联网中的 IEEE 802.15.4 网络时,无疑有众多选择。 所有供应商提供了广泛的协议堆栈,且其中绝大多数都能以最少的费用,通过有评价的套件和一些下载软件进行筛选。 当板空间和高集成度是关键指标时,Atmel 和 Freescale 的解决方案最出色。 但是,如果板空间不是最重要的关注点,那么,具有合适微控制器选择灵活性的认证型 Microchip 无线收发器模块就可能是一个更诱人的选择。