2. 物联网主流协议物理层与MAC层差异
做物联网选型,最头疼的就是挑无线协议。Wi-Fi、BLE、Zigbee、LoRa、NB-IoT、Thread……名字都听过,真到项目里该怎么选?
我个人习惯,先看物理层和MAC层。这两层决定了协议的硬实力——通信距离、速率、功耗、抗干扰能力,全看它们。
核心观点:物理层管“怎么发信号”,MAC层管“什么时候发信号”。两者共同决定了无线系统的天花板。
2.1 物理层:频率、调制与功率
物理层说白了,就是信号从天线出去的那一套。频率选多高?怎么把0和1变成电磁波?能发多大功率?
我整理了一张对比表,方便你一眼看清差异:
| 协议 | 工作频段 | 调制方式 | 典型发射功率 | 物理层速率 |
|---|---|---|---|---|
| Wi-Fi 4/5/6 | 2.4 GHz / 5 GHz | OFDM、QAM(BPSK~1024-QAM) | 15~20 dBm | 最高 9.6 Gbps(Wi-Fi 6) |
| BLE 5.x | 2.4 GHz | GFSK | 0~10 dBm | 1~2 Mbps |
| Zigbee 3.0 | 2.4 GHz / 868 MHz / 915 MHz | O-QPSK、BPSK | 0~10 dBm | 250 kbps(2.4 GHz) |
| LoRa | Sub-1 GHz(433/868/915 MHz) | CSS(啁啾扩频) | 14~20 dBm | 0.3~50 kbps |
| NB-IoT | 授权频段(700~900 MHz) | SC-FDMA(上行)、OFDMA(下行) | 23 dBm | 约 200 kbps |
| Thread | 2.4 GHz | O-QPSK(基于IEEE 802.15.4) | 0~10 dBm | 250 kbps |
看到这个表,你可能会有个疑问:为什么LoRa速率这么低,还有人用?
嗯,这里要注意。LoRa的CSS调制有个特点——灵敏度极高。我记得在郊区做测试时,用SF12扩频因子,-140 dBm的信号都能解出来。代价就是速率掉到几百bps。你想想看,传一个温湿度数据才几个字节,慢一点也无所谓。
反过来,Wi-Fi用OFDM+高阶QAM,速率是上去了,但接收灵敏度也就-90 dBm左右。穿两堵墙就悬了。
我的经验:选频段时,2.4 GHz穿透力尚可但干扰多,5 GHz速率高但穿墙差,Sub-1 GHz覆盖远但天线尺寸大。没有完美的频段,只有适合场景的频段。
2.2 MAC层:谁先说话?怎么避免撞车?
物理层搞定了信号传输,MAC层就要解决一个核心问题:多个设备同时发数据,会不会打架?
不同协议的MAC机制差异很大,我直接上对比:
| 协议 | MAC机制 | 信道接入方式 | 功耗特点 |
|---|---|---|---|
| Wi-Fi | CSMA/CA(载波侦听+冲突避免) | 竞争型,随机退避 | 高(需持续侦听) |
| BLE | TDMA + 跳频 | 主从式,时隙调度 | 低(可深度睡眠) |
| Zigbee | CSMA/CA + 信标(可选) | 竞争型 + 时隙混合 | 低(支持休眠) |
| LoRa | ALOHA(纯随机接入) | 无侦听,直接发 | 极低(发完即睡) |
| NB-IoT | 基于调度的TDMA | 基站集中调度 | 低(PSM/eDRX) |
| Thread | CSMA/CA + TDMA混合 | 竞争型 + 时隙调度 | 低(支持休眠) |
这里我想重点聊聊CSMA/CA和ALOHA的区别。
Wi-Fi用的CSMA/CA,发数据前先听一下信道有没有人在用。如果信道忙,就随机等一段时间再试。好处是碰撞概率低,坏处是——越忙越等,越等越慢。我在写字楼部署过20多个AP,2.4 GHz频段几乎被占满,设备经常退避几百毫秒才能发出去。
LoRa的ALOHA就简单粗暴了:想发就发,不管别人。碰撞了怎么办?等下次重传。这种机制在信道空闲时效率极高,但负载一高,碰撞率直线上升。我做过一个测试,100个节点同时上报,丢包率超过40%。
避坑指南:我曾经在一个智慧农业项目里,用LoRa做了200多个传感器节点。结果每天凌晨整点上报时,网关收包率不到60%。后来加了随机延时发送,才把收包率提到95%以上。ALOHA机制下,一定要做发送时间随机化。
2.3 物理层与MAC层的协同设计
物理层和MAC层不是孤立的。它们互相影响,甚至需要联合优化。
举个例子:LoRa的物理层支持多种扩频因子(SF7~SF12)。SF越高,灵敏度越好,但空中时间越长。如果你用SF12,一个数据包在空中要飞2~3秒。这时候MAC层如果还用纯ALOHA,碰撞概率会非常高。
所以LoRaWAN标准在MAC层加了ADR(自适应数据速率)机制。网关会根据信号质量,自动建议终端调整SF。信号好就用SF7,速率快、空中时间短;信号差才用SF12。这就是物理层和MAC层协同的典型例子。
再看Wi-Fi。802.11ax(Wi-Fi 6)引入了OFDMA,把物理层的子载波分给多个用户同时用。但光有物理层还不够,MAC层也得配合——引入了触发帧机制,由AP统一调度上下行资源。这就是为什么Wi-Fi 6在高密场景下比Wi-Fi 5强那么多。
关键认知:选型时不要只看物理层参数,也不要只看MAC层特性。要问自己一个问题:这套协议在目标场景下,物理层和MAC层能不能配合好?
2.4 一张图看懂协议分层差异
下面这张SVG图,把六种协议的物理层和MAC层核心差异放在一起对比。你可以保存下来,选型时当参考。
2.5 选型建议:从物理层和MAC层出发
讲完这些差异,我给出几条实战建议:
- 需要高速率(>10 Mbps):选Wi-Fi。物理层OFDM+QAM的底子在那,MAC层CSMA/CA在高带宽场景下效率不错。但要做好功耗和干扰管理。
- 需要低功耗+中等速率:BLE或Zigbee。BLE的TDMA+跳频在抗干扰上有优势,Zigbee的Mesh组网更灵活。我个人习惯,穿戴设备用BLE,智能家居用Zigbee。
- 需要远距离+超低功耗:LoRa。CSS调制的灵敏度是独门绝技,但MAC层的ALOHA需要你做随机化处理。别偷懒。
- 需要运营商级覆盖:NB-IoT。物理层用授权频段,MAC层由基站调度,可靠性高。但注意,NB-IoT的时延较大,不适合实时控制。
- 需要IP网络+低功耗Mesh:Thread。物理层复用802.15.4,MAC层加了TDMA增强,适合需要IPv6寻址的智能家居场景。
我的习惯:选型时先画一个二维坐标——横轴是距离(10m~10km+),纵轴是速率(100 bps~1 Gbps)。把六种协议标上去,哪个象限空着,哪个协议就适合你。剩下的就是看功耗和成本能不能接受。
好了,这一章的内容就到这里。物理层和MAC层的差异,是物联网无线选型的底层逻辑。搞懂了这些,后面调模组、做联调时,你心里就有底了。