经常有人问到这个问题,但实际上无线传输和许多因素有关,并没有一个直观的答案。在数据包的大小,串口波特率和空中波特率都确定的情况下,一个已知协议的无线单跳传输是可以计算出来的。由于无线协议一般会有底层校验和重传机制,因此即使是相同大小的数据包,并不意味着每次传输时延就是相同的。即使通过参数设置强制底层不重发,在相同条件下不同大小的数据包的时延也并不是简单的倍数关系。因为无线数据包通常会有包头和包层,通常实际应用中应该在效率和时延之间寻找平衡。
数据传输时延通常和数据包大小,串口和空中波特率,无线协议,网络大小都有关系。对实时性要求较高的应用,建议不要采用mesh网络,而是采用P2MP网络,以减少因网络层协议带来的时延。Digimesh利用参数,可以设置成P2MP模式,由于参数的灵活性,在同时星状网络的情况下,它相对于802.15.4,它能更精准地控制时延。不过时延和可靠性是需要相互折衷的,实时性提高往往意味着放弃底层的失败校验自动重传机制,造成可靠性和丢包率的上升。
我们可以从802.15.4在网络中的时延来了解如何计算这一过程:数据在802.15.4中的时延
对于不同的Digi无线产品,有个测试比较值在:Timing Comparison For Data Transfer By Product