微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > ZigBee最大帧长度是多少啊

ZigBee最大帧长度是多少啊

时间:10-02 整理:3721RD 点击:

你好,我用终端给协调器发数据,测得可以收到128字节的数据,从网上查最大是127字节的数据

请问:可以发送最大数据到底是多少啊?

           加上协议中的东西构成的帧最大是多少字节啊?

           怎么设置拆包(还是自动拆包的,如果是自动拆包,那不拆包的最大可以发送多少字节?怎么设置不拆包?)?

1、IEEE802.15.4协议规定的最大帧长度为127字节。

2、自动拆包的实现,一般是把接收到的数据存放到缓冲区,跟包头的长度对比,如果超过了,则进行拆包

你好,我做的实验是一个终端和一个协调器,终端向协调器发送数据,协调器收到数据后通过串口向PC显示

开始发送116个字节的数据,协调器收到116字节的数据

然后发送127字节的数据,协调器能收到127字节的数据

最后发送145字节的数据,协调器只收到128字节的数据

 

你说的最大帧长度是包括      协议栈的内容(mac层和phy层)+实际数据     吗?

自动拆包在程序哪里可以设置?给点提示

谢谢

Hua jiao:

1: zigbee协议的的MAC和PHY是基于IEEE802.15.4的,从PHY层发到空中的数据包中,用一个字节bit6~bit0来表示数据帧的的长度,bit7接收方用来填写CRC校验值。所以每个数据包长度最大是127个字节,

2:自动拆包的程序以及library提供,在发送数据的时候会自动封装好拆分的数据包。

if (len > afDataReqMTU( &mtu ) )
{
if (apsfSendFragmented)
{
stat = (*apsfSendFragmented)( &req );
}
else
{
stat = afStatus_INVALID_PARAMETER;
}
}
else
{
stat = APSDE_DataReq( &req );
}

你好,谢谢你的回答

这个由PHY层发送到空中的数据包  包括实际数据和SHR及PHR共127字节么?   还是实际数据就127字节?

可以给说下文档的出处和程序的出处吗?谢谢,程序我待会去搜下看看

 

看一下我总结的有问题么

zigbee最大帧长度

摘自《ZigBee无线网络与收发器》,[美] Shahin Farahani 著  沈建华 王维华 阔鑫 译

英文版名为《ZigBee Wireless Networks and Transceivers》

<1>P30-P31:

3.2.6 PHY常量和属性

常量定义了协议的特性,如最大帧长度、一个事件的持续期间等。协议的每一层都有自己的常量。PHY只有两个常量,如表3.2所列。PHY常量aMaxPHYPackerSize表明PHY服务数据单元(PSDU)不能超过127字节。Turnaround时间是指收发器从发送(TX)切换到接收(RX)所需的时间,反之亦然。根据aTurnaroundTime常量,收发器必须在12个符号周期内完成切换。

表3.2 PHY常量

常量

描述

aMaxPHYPacketSize

PSDU最大长度(单位字节)

127

aTurnaroundTime

RX到TX或TX到RX最大切换时间(单位符号周期)

12

…………………………………………………………………………………………

<2> P35-P37

3.2.9 PHY数据包格式

PHY层协议数据单元(PPDU)格式如图3.5所示。PPDU由三部分组成:同步头(SHR)、PHY头(PHR)和PHY载荷。

                                                                        7 bits            1 bit            MAC帧

 

同步序列

帧起始分隔符

帧长度

保留

PSDU

     

            SHR                              PHR                   PHY载荷

图3.5 PPDU格式

                   …………………………………………………………

PHY数据包下一个域是帧长度。帧长度指定了PHY载荷(PSDU)字节总数。PSDU长度可以是0至127中的任意值(见表3.2,PHY常量)。但是实际上,基于IEEE 802.15.4-2006,对于一个MAC确认帧PSDU长度是5字节,而PSDU长度对其他任何MPDU是9-127字节。0-4和6-8的帧长度值保留为潜在未来应用(表3.7)

表3.7 帧长度值

帧长度值

PHY载荷

0到4

保留

5

应答MPDU

6到8

保留

9到aMaxPHYPacketSize

其他类型MPDU

<3>摘自网络      

 

                       

注意:这个mac层没有显示信息

也就是说:最大帧长度为4+1+1+127 =133字节

 

额,不好意思,有个图没显示出来,其他图还没显示全,

对的是这样的,因为SHR和PHR是PHY层自动添加的,所以通常理解的可以发送的数量就是127字节。

非常感谢你的帮助

写的好,非常有帮助! 谢谢大牛们!

请问发送的时候,字节数大于127个字节,是否自动循环发送?而接收的时候,是否也是自动封装好的呢?谢谢!

同问,如果大于127个字节,如何发送,

如果大于127字节了,底层会自动开启分包发送功能。

接收端也是,底层处理多个报文,然后把完整的报文给到应用层

#if !defined ( ZIGBEE_FRAGMENTATION )
#define ZIGBEE_FRAGMENTATION
#endif

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top