一份面向工业物联网现场工程师的硬件开发笔记
在工业物联网(IIoT)项目中,现场技术人员常常需要一个可靠的手持调试工具,用于对远端的传感器节点、智能表计或工业控制器进行配置、数据读取和故障诊断。这类工具通常以 USB Dongle 的形态出现,插入笔记本电脑或平板电脑,通过专用软件与目标设备通信。
本文记录了我们基于 TI CC1310 设计一款 433/868/915 MHz 多频段 Sub‑1GHz USB Dongle 的过程,涵盖硬件设计、匹配网络调试、固件开发、测试验证以及现场应用经验,希望能为从事类似项目的工程师提供参考。
关键词:CC1310,Sub‑1GHz,USB Dongle,匹配网络,调试工具
选择 CC1310 作为核心射频 SoC,主要基于以下几点:
集成度高:Cortex‑M3 内核 + 射频收发器,简化 BOM 和 layout
低功耗:RX 电流 5.4 mA,TX 电流 13.4 mA @ +10 dBm,适合电池供电的节点;作为 Dongle,USB 供电下功耗不是主要约束,但低功耗意味着芯片发热少,稳定性更好
软件生态:TI 提供完整的 SDK、SmartRF Studio 配置工具,以及丰富的应用笔记
多频段支持:通过调整匹配网络,可覆盖 433/868/915 MHz 多个频段,方便为不同市场定制
射频部分(参考 TI 官方设计 AN122):
CC1310 的 RF_P 和 RF_N 引脚引出,采用差分输出,经过一个 balun(平衡‑不平衡转换器)转为单端 50 Ω
输出端预留 π 型匹配网络(C1, L1, C2),用于调试阻抗
天线采用 SMA 接口,便于外接高增益天线或测试线缆
电源部分:
USB 5V 输入,通过 LDO(TI TPS7A20)降压至 3.3V 为 CC1310 供电
LDO 输出端预留 10 μF + 0.1 μF 滤波电容,降低电源纹波对接收灵敏度的影响
USB 接口:
CC1310 无内置 USB 控制器,因此外挂一颗 USB‑to‑UART 桥接芯片(CP2102)
CP2102 的 TX/RX 连接到 CC1310 的 UART0,同时引出 DTR 信号用于固件升级时的复位控制
调试接口:
保留 4‑pin JTAG(Tag‑Connect)接口,用于代码下载和调试
射频性能高度依赖 PCB 布局,以下几点是调试过程中反复验证过的关键:
地平面完整性
CC1310 和射频前端区域下方必须有一个连续、不间断的地平面。避免在该区域穿任何信号线。顶层和底层之间的过孔应密集布置,形成低阻抗回路。
射频走线
从 CC1310 到 balun 的差分走线需等长、平行,阻抗控制在 100 Ω 左右
balun 输出到 SMA 的单端走线需控制在 50 Ω 特性阻抗(通过计算线宽和参考层间距实现)
走线尽量短,避免锐角,使用圆弧或 135° 转角
π 型网络位置
π 型网络(C1, L1, C2)应紧贴 balun 输出端放置,以减少额外寄生参数。电容和电感使用 0402 封装,便于调试时快速更换。
晶振布局
CC1310 所需的 24 MHz 晶振应尽可能靠近芯片引脚,负载电容靠近晶振放置,晶振下方避免走线。
USB 桥接芯片
CP2102 靠近 USB 连接器放置,差分数据线(D+/D‑)等长走线,阻抗控制在 90 Ω。
PCB 为四层板:顶层信号,第二层完整地,第三层电源,底层信号。射频走线参考第二层地平面。
天线端口回波损耗 S11 < –10 dB(目标频率)
传导输出功率 ≥ +13 dBm(CC1310 内部 PA 典型值)
二次谐波 < –30 dBm(满足 CE/FCC 要求)
矢量网络分析仪:Keysight E5061B,校准至 SMA 端面
频谱仪:Keysight N9020A
测试线缆:低损耗稳相电缆
样品电容/电感:0402 封装,E24 系列多个值(0.5 pF – 10 pF,1 nH – 27 nH)
步骤 1:测量初始阻抗
将 Dongle 的 SMA 端口连接到网络分析仪(已校准),测量 S11 在 433/868/915 MHz 频段的表现。初始设计通常阻抗点偏离 50 Ω 较远,因为参考设计的 PCB 叠层和你的实际 layout 存在差异。
步骤 2:调整 π 型网络
以 433 MHz 为例,初始匹配网络采用参考设计值:C1=1.2 pF, L1=3.3 nH, C2=1.8 pF。实测 S11 在 433 MHz 处为 –5.2 dB,阻抗偏容性。
调试过程如下:
增加 C1 至 1.8 pF,S11 改善至 –7.1 dB
减小 L1 至 2.7 nH,S11 达到 –9.8 dB
再微调 C2 至 2.2 pF,S11 最终稳定在 –12.3 dB
步骤 3:验证全频段
由于我们目标是多频段 dongle,需要在 433/868/915 MHz 分别调试。实测发现同一组 π 网络无法同时使三个频段都达到 –10 dB 以下,因此最终采用“分频段跳线”设计:预留两组不同的匹配网络焊盘,根据目标市场贴装对应的元器件。
步骤 4:谐波测试
将 dongle 置于连续发射模式(+14 dBm 输出),用频谱仪观察二次谐波。868 MHz 的二次谐波(1736 MHz)测得 –28 dBm,略高于 –30 dBm 的目标。通过增加一个串联电感(由 2.2 nH 改为 3.3 nH)将谐波压低至 –34 dBm,代价是基波功率损失 0.5 dB,属于可接受权衡。
调试结果总结:
| 频段 | 最终匹配网络 | S11 | 传导功率 | 二次谐波 |
|---|---|---|---|---|
| 433 MHz | C1=1.8p, L1=2.7n, C2=2.2p | –12.3 dB | +14.2 dBm | –36 dBm |
| 868 MHz | C1=0.8p, L1=3.9n, C2=1.5p | –11.8 dB | +14.0 dBm | –34 dBm |
| 915 MHz | C1=0.5p, L1=4.7n, C2=1.2p | –10.5 dB | +13.8 dBm | –32 dBm |
SDK:TI SimpleLink SDK 4.40
IDE:IAR Embedded Workbench for ARM 8.50
配置工具:SmartRF Studio 7
使用 SmartRF Studio 7 生成配置代码,关键参数如下:
| 参数 | 值 |
|---|---|
| 中心频率 | 433.92 / 868.3 / 915.0 MHz(软件可切换) |
| 数据速率 | 50 kbps |
| 调制方式 | 2‑GFSK |
| 频偏 | 25 kHz |
| 接收带宽 | 100 kHz |
| 输出功率 | +14 dBm(寄存器值 0x6E) |
| PA 斜坡时间 | 10 μs |
生成的配置结构体直接集成到固件中,通过函数 RF_open() 和 RF_postCmd() 调用。
为实现 PC 软件与 dongle 的通信,定义了一套简单的帧格式:
| 字节 | 字段 | 说明 |
|---|---|---|
| 0 | STX (0xAA) | 帧起始 |
| 1 | CMD | 命令类型 |
| 2 | LEN | 数据长度 |
| 3 … N | DATA | 命令参数 |
| N+1 | CRC8 | 校验和 |
支持的命令:
CMD_SET_FREQ:切换频段
CMD_SET_TX:发送自定义数据包
CMD_SET_RX:进入接收模式
CMD_GET_RSSI:读取当前 RSSI
CMD_FW_UPDATE:进入固件升级模式
采用 DFU (Device Firmware Upgrade) 机制:
上电时,如果 USB‑UART 的 DTR 信号被拉低,则进入 Bootloader 模式
Bootloader 通过 XMODEM 协议接收新固件,写入内部 Flash
完成后软复位,跳转到应用程序
这种方式无需外部编程器,现场技术人员可直接通过 PC 软件升级 dongle 固件。
虽然 dongle 由 USB 供电,但考虑现场可能使用便携式电池组,仍对功耗进行了优化:
空闲时,CC1310 进入 Standby 模式(~1 μA)
每隔 200 ms 唤醒一次,检查 PC 是否有新指令
发射完成后立即切回 Standby
实测平均功耗 < 2 mA,即使使用普通移动电源也能连续工作数天。
使用频谱仪和衰减器,直接测量 SMA 端口的输出功率(CC1310 内部 PA 设置为 +14 dBm):
| 频段 | 传导功率 | EVM | 频率误差 |
|---|---|---|---|
| 433 MHz | +14.2 dBm | 4.2% | < 2 kHz |
| 868 MHz | +14.0 dBm | 4.5% | < 1.5 kHz |
| 915 MHz | +13.8 dBm | 4.8% | < 2 kHz |
在开阔地(公园草坪)进行距离测试:
天线:SMA 接口 1/4 波长鞭状天线(433 MHz 约 17 cm)
发射功率:+14 dBm
接收端:同型号 dongle,灵敏度 –110 dBm @ 50 kbps
结果:稳定通信距离 > 1.2 km(无遮挡),丢包率 < 1%
在城市环境中(街道、少量树木),通信距离缩短至 300–500 米,但仍能满足多数工业现场需求。
使用信号发生器注入 –110 dBm 的 2‑GFSK 信号(50 kbps),实测 PER < 1%。将输入信号降至 –115 dBm 时,PER 升至 8%,仍能保持连接。
| 状态 | 电流 |
|---|---|
| 发射(+14 dBm) | 13.8 mA |
| 接收 | 5.5 mA |
| Standby | 1.2 μA |
| 平均(轮询模式) | 1.8 mA |
在某智能水表项目中,技术人员使用这款 dongle 配合 Windows 平板,对分布于一个居民小区(约 500 米范围)的 200 多个水表进行批量入网和参数配置。
遇到的问题及解决方案:
问题 1:部分水表位于地下室,信号无法到达
解决:使用外接 5 dBi 高增益天线,并将 dongle 放置在室外窗口附近,通过 USB 延长线连接平板。
问题 2:现场 2.4 GHz 干扰严重,导致首次入网失败率高
解决:利用 dongle 的频谱扫描功能(固件内实现),选择干扰最小的信道(915 MHz 频段共有 10 个信道,间隔 1 MHz),手动配置水表工作信道。
问题 3:个别水表固件版本过低,无法解析新命令
解决:通过 dongle 的 DFU 功能,将水表固件批量升级,耗时约 15 分钟完成全部。
现场反馈:dongle 操作简便,软件界面清晰,调试效率较以往使用手持终端提升约 3 倍。
回顾整个设计过程,以下几点对项目成功至关重要:
尊重参考设计,但不盲从
TI 的参考设计提供了一个很好的起点,但实际 layout 差异导致匹配网络需要重新调试。预留 π 型网络是明智的决策。
工具链熟练度
网络分析仪和频谱仪是射频调试的必备工具。花时间学习 Smith 圆图分析和谐波抑制技巧,回报远超预期。
软硬件协同设计
早期定义好命令协议和 DFU 机制,避免了后期大量返工。将固件升级能力交给现场用户,大幅降低了维护成本。
现场反馈迭代
第一批样机交付后,收集了现场工程师的使用反馈,针对“信道选择不直观”“天线接口容易松动”等问题进行了改进。
开源的价值
将项目开源后,收到了来自欧洲、北美、东南亚多位工程师的改进建议,包括增加 LoRa 调制支持、优化 Bootloader 稳定性等,这些反馈直接体现在下一版设计中。
如果你也在开发类似的 Sub‑1GHz 调试工具,希望这份笔记能帮你少走一些弯路。欢迎在 GitHub 上提 issue 或 PR,共同完善这个项目。