做测控开发的朋友经常碰到这种需求:信号要采下来,还得无线传回主机——设备要转、要动,或者现场布线根本走不通。有线采集卡随便几百兆采样率都不叫事,一到无线就复杂了:采样率、传输带宽、实时性、功耗这几个指标互相牵制,很难全都要。今天聊聊这里面的门道。
先说采样率。按奈奎斯特定理,采样率至少是信号最高频率的两倍,实际工程里一般取5到10倍,波形回放出来才不至于失真。比如采一个1kHz的振动信号,ADC用10kSPS就够;但要是做电力谐波分析或者瞬态捕捉,信号带宽几十兆往上,那就得上高速ADC了。无线采集方案里常见的几颗料:AD7606,8通道16位200kSPS,同步采样,电力行业用得特别多;ADS131M04,24位ΔΣ型,适合高精度低速场景;再往上高速的,基本就得FPGA配分立ADC了。
无线传输是最大的瓶颈,很多人会低估这一点。WiFi标称几百兆bps,听着很够用,但那是物理层速率,实际TCP有效吞吐能有一半就不错了。2.4GHz频段干扰多,实测20到30Mbps有效吞吐很正常。算笔账:16位ADC、4通道、每通道100kSPS,原始数据率就是4×100k×2字节=800KB/s,约6.4Mbps,加上协议开销,WiFi勉强扛得住,蓝牙就别想了——经典蓝牙有效吞吐也就一两兆,BLE更低,只适合低频慢速采集。
所以选无线方案前一定要先算数据量。给个粗略参考:1kSPS以下的低速多通道采集,BLE 5.0或者ZigBee都够用还省电;几十k到几百kSPS的,选WiFi,ESP32这类自带WiFi的SoC最省事;上MHz的高速采集,无线传原始数据基本传不动,要么上5G专网,要么改思路——本地存、事后取。
"本地存、事后取"是个特别实用的架构。采集端配一块SD卡或者Flash,高速数据先落盘,同时把降采样后的数据无线传出去做实时监视,任务结束后再把全量数据导出来。很多野外振动监测、车辆路试的数采系统就是这么干的,真正走无线的只是监视流,原始数据要么拔卡要么连线上传。
再说实时性。无线链路的延迟抖动比有线大得多,WiFi在干扰重传的时候延迟可能从几毫秒跳到几百毫秒。如果应用对时序敏感,比如多台设备要同步采集,就不能指望传输层,得在采集端自己解决:要么用GPS北斗授时,要么用IEEE 1588对时,让每台设备按统一时钟独立采样,无线只管搬数据。千万别用"主机发指令、设备响应"的方式去同步多台无线设备,那个抖动会让你怀疑人生。
传输协议的选择也有讲究。TCP可靠但重传会造成延迟堆积,实时监视流用UDP更合适,丢几帧无所谓,画面不卡最重要。可靠性交给应用层做:给数据包加序号和校验,接收端发现缺包再通过回传通道补拉。这套东西几十行代码就能搭起来,比死磕TCP调参划算多了。
功耗和天线是两个容易被忽略的坑。电池供电的采集节点,WiFi功耗比BLE高一个数量级,加上ADC和模拟前端,一节18650撑不了太久。实用做法是间歇工作:平时休眠,定时醒来采一段传一段,或者事件触发,比如振动超阈值了再启动高速采集。天线方面,2.4G模块别随便塞金属壳里,天线附近要留净空,金属外壳要么开塑料窗要么改外置天线,现场信号差一大半的情况基本都是天线布局埋的雷。
最后给个选型建议。原型验证阶段,ESP32直接顶上,自带WiFi和BLE,片上ADC虽然只有12位,先跑通流程再说。正经产品,STM32或者国产MCU配专用ADC芯片,无线按带宽选WiFi模组或私有2.4G协议。高速高精度的场合,FPGA配JESD204B接口的高速ADC,无线只做控制指令通道,数据走有线或者本地存储。别一上来就追求指标全拉满,先把数据量算清楚再定架构,能省下大量返工。
上一篇:超硬材料刀具磨损形式详解:磨粒磨损、粘结磨损、扩散磨损的区别与应对
下一篇:没有了