• 欢迎访问伊栖物联网社区,聚焦物联网技术和解决方案QQ群:735553309
  • ,从传感器到片上嵌入式系统,无线接入,边缘计算,在这里您可以讨论一切
  • 参加最新的物联网研讨会报名
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏伊栖Eccee

浅谈无线通信的带宽优化

无线 peyoot 4年前 (2021-02-12) 1468次浏览 0个评论
        无线技术越来越多地替代传统的有线,比如串口或485通讯。基于802.15.4协议的无线协议,理论上最大带宽可达250kbps,在实际应用中,由于重传和网络层的损耗,实际带宽是达不到它的最大许可带宽的。这就需要对数据模型和接口方式进行优化,以期达到最大化利用无线带宽。
一、数据模型的优化
        对于双工通信的无线模块来说,它既要接收,也要发送,通常无线数传电台只有一对天线,也就是同一个天线要时分复用来实现双向无缝通讯。大部分的无线模块采用发送和接收缓存以实现自动双工通讯。在数据通信不频繁,带宽有足够冗余时,用户无需干预就可实现预期的通讯效果。如果增大发送的数据包和加快发送频次,无线模块需要处理更多的发送请求和接收请求,当接近其承载极限时,就会产生丢包。这种丢包通常是发送方来不及处理送入发送缓冲区的数据而导致溢出。为了避免这种情况发生,除了采用流控外,更科学的方式是对数据模型进行优化。比如在数百毫秒内,不重复发送一些没有变化的数据(比如温度,方向等),从而减少数据量。对于一些必须时时发送的数据或命令,尽量不用ASCII明文发送,而采用比特位来代表。在一个字节的数据包中,如果把每个bit当成一种状态值,就可以在一个数据包中传输8种状态量,远比用8个包来传输节省带宽。
二、发送频冲的优化
        如果不加约束无限增大发送频次,除了可能引入缓冲区溢出的丢包外,还增大了各方发送数据的碰撞冲突概率,无线协议中应用冲突有相应的处理算法,大多是采用随机延迟重发的方式,可见增大发送频次并不一定带来实时性的提高。因此,获取最大带宽和发送频次,数据包大小间的关系并不是线性的,而是抛物曲线,当发现增加发送频次没有带来带宽和实时性的提高时,应停止增加发送频率,转向其它方式来优化带宽。
三、接口速率
        除了空中无线带宽外,MCU和无线模块间的接口也是可优化的选项,通常采用更快的接口,更高的串行波特率,总能带来整体带宽的提升。有条件还可以使用spi来代替串口。但要注意,无线模块的固件并不一定对所有非标准的波行率验证过,尽量采用常见的几个高速波特率(115200等)来验证哪些本地串行接口速率能更好地提升带宽。
四、协议方式
        一般无线模块能同时支持透传和API模式,透传实际上是模块固件自动帮助用户组帧发出,而API模式是用户自组帧发出,很难说哪种用法能更有效利用带宽,还是要根据数据模型实测为准。
此外,用户可以选择不同的无线协议,以及是定向发送还是广播的方式进行通讯,最大重传次数等,不同场景下带宽也是不同的。用户也可以通过控制是否产生反馈包等,来尝试提升可用带宽的途径。XBee无线模块支持多种协议,对于高带宽的应用,最好是采用Digimesh协议,并通过参数改为P2MP模式,通过自定义的最多重发次数来实现比802.15.4更大的带宽。
四、网络布局
        如上面所说,在同样的区域内越多无线模块同时工作会增加模块的碰撞机率,在广播模式下,对于有mesh自组网功能的模块,可以合理设置同一个区域的router功能节点,从而减少路由节点带来的广播风暴,这可以提升以广播方式为基础的带宽。
        综上,无线传输的带宽是个复杂的问题,需要根据数据模型并多做实验,来找到适合自己的最佳模式。


ECCEE版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:浅谈无线通信的带宽优化
喜欢 (2)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址