专栏中心

EEPW首页 > 专栏 > 802..15.4(zigbee协议)

802..15.4(zigbee协议)

发布人:xiajiashan 时间:2012-08-28 来源:工程师 发布文章

作者:下家山

一:802.15.4帧格式     20110607_xjs_f1.jpg

图一

 
1.1 Preamble Sequence

此字段包含4个字节,有cc2420自动产生。

1.2 Start of Frame Delimiter

此字段包含1个字节,有cc2420自动产生。

=============================================================================

1.3 Mac Protocol Data Unit

接下来的字段是我们需要设置的

二:结构体表示MPDU

通常我们用一个结构体来表示

typedef struct

{

/* The following fields are transmitted/received on the radio. */

char length;

char fcfhi;

char fcflo;

char dsn;

int destpan;

int addr;

char type;

char group;

char Txdata[TOSH_DATA_LENGTH];

 

/* The following fields are not actually transmitted or received

* on the radio! They are used for internal accounting only.

* The reason they are in this structure is that the AM interface

* requires them to be part of the TOS_Msg that is passed to

* send/receive operations.

*/

char strength;

char lqi;

int crc;

int ack;

int time;//

} Msg;

如果,我们要发送一个字节0x55,程序该怎么写:

#define CC2420_DEF_FCF_LO 0x08

#define TOS_BCAST_ADDR 0xffff

#define CC2420_DEF_FCF_HI_ACK 0x21 // with ACK

#define CC2420_DEF_FCF_HI 0x01 // without ACK

void main()

{

 

WDTCTL = WDTPW + WDTHOLD; // Stop WDT

hardwareinit();

Msg * data;

long int i,j;

data=(Msg*)malloc(sizeof(Msg));

 

P5DIR|=0X70;//0111 0000 1out 0 in

P5OUT|=0X70; //1高电平

data -> length = 12; //msg data length:10 last lqi&rssi:2

data -> fcflo = CC2420_DEF_FCF_LO;//destination address mode:10

data -> fcfhi = CC2420_DEF_FCF_HI_ACK;//ack request:1 frame type:10

// destination PAN is broadcast

data -> destpan = TOS_BCAST_ADDR;

// adjust the destination address to be in the right byte order

data -> addr = 0x0001;

// adjust the data type if need

data -> type = FRAME_TYPE_DATA;

// keep the DSN increasing for ACK recognition

data -> dsn = 1;

// reset the time field

data -> time = 0;

data -> group=0x00;

data -> Txdata[0]=0x55;

 

for(i=0;i<100;i++)

{

data->dsn =i;

sendAMessage(data -> length,(char*)data);

for(j=0;j<50000;j++);

}

free(data);

P5OUT|=0X10;

}

2.1发送数据截图

那么最终发送出去的数据是:

 

20110607_xjs_f2.jpg

图二

有了这些,我们可以把协议与代码,还有实际发送的数据一一对应起来

2.2 代码与发送数据汇总

20110607_xjs_f3.jpg

20110607_xjs_f4.jpg

 

2.3接收数据截图

 

那么接收到的数据呢?

首先,我们把发送与接收的数据的截图做一个比较:

20110607_xjs_f5.jpg

三:怎么找到RSSI

那么我们MODEMCTRL0,AUTOCRC有没有被置位呢?

20110607_xjs_f6.jpg

2010-10-18 11:06 写于上海.松江

(请尊重原创,转载请注明:作者,下家山)

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

消息称三星已解决 SOCAMM2 翘曲问题,量产进度有望领先美光、SK 海力士

面向安全硬件设计的新兴工具与技术

力科示波器及其在嵌入式系统中的应用(华中科技大学)

视频 2011-04-26

比利时微电子研究中心(Imec)牵头 SPINS 联盟打造量子芯片中试线

低功率 RF 混频器增强了接收器性能

2 月芯片销售额同比增长 61.8%

超越--赛灵思7系列28nm FPGA产品发布会

视频 2011-05-04

力科推出全新电流探头,在1.5 MHz带宽下可捕获最高1000安培

昂瑞微5G射频前端通过车规认证,为智能网联车辆通信提供可靠保障

ESIE 2026:MPS发布储能BMS全栈芯片方案 以技术创新破解产业核心痛点

全球第一款28nm产品— Kintex-7 FPGA的 10Gbps 眼图演示

视频 2011-05-04

拆解:摩托罗拉 Razr Ultra

RS上海新扩建分拨中心 巩固在华领先地位

视频 2011-05-04

当平台提供商变成竞争对手:Arm 的芯片战略如何重构行业利益格局

EDA/PCB 2026-04-08

龙腾半导体启动IPO辅导

2026-04-08
更多 培训课堂
更多 焦点
更多 视频

技术专区