当前位置:文档之家› ZigBee试卷A

ZigBee试卷A

一、填空题(本大题共20空,每空1分,共20分)
1.无线传感器网络系统通常包括、和管理节点。

2.ZigBee协议框架包括物理层、、网络层和。

3.ZigBee标准定义了两种地址:和64位IEEE地址,协调器创建一个新网络,为新加入的设备分配。

4.ZigBee是一种无线连接,可工作在(全球流行)、868MHz (欧洲流行)和915MHz (美国流行)3个频段上,最高bit/s的传输速率。

5.IEEE 802.15.4/ZigBee目前支持三种网络拓扑结构,分别为星型、和。

6. ZigBee协议的MAC层使用机制访问物理信道。

2530 有不同的型号,CC2530F256编号后缀代表具有。

8. CC 2530共有四个定时器,定时器1 是位定时器;定时器3 和定时器4 是
位定时器。

9. CC2530共有个振荡器,它们为系统时钟提供时钟源。

10. CC 2530定时器可以工作在模式、模式和模式。

11. I2C总线在传送数据过程中共有三种特殊类型信号,它们分别是:、
和应答信号。

二、程序题(共2小题,每题10分,共20分)
(寄存器名称参考:PxSEL、PxDIR 、PxIEN、PICTL、IEN2、EA、PERCFG、P1IFG )
1.点亮led,使能端口P1.5中断并设为下降沿触发的程序,流程图如图所示,完成程序。

2. 根据注释完成利用CC2530的ADC实现芯片温度测量功能的核心程序。

TR0= ;// 连接片上温度传感器到ADC输入.
ATEST= ;// 使能片上温度传感器
/* 选择1.25V为内部参考电压;12位有效数字;对片内温度传感器采样*/ ADCCON3 = ;
/* 选择ADC的启动模式为手动*/
ADCCON1 |= ;
/* 启动AD转化*/
ADCCON1 |= 0x40;
/* 等待AD 转换完成*/
while(!(ADCCON1 & 0x80));
value = ADCL >> 4;
value |= (((UINT16)ADCH) );
return (value-1480)/4.5 + 25; //根据AD 值,计算出实际的温度
三、简答题(本题共2小题,每题10分,共20分)
1.简述Z-stack协议栈的工作机制
2.实现一个简单的光照数据采集功能,首先传感器节点连接到协调器建立的网络中,然后将采集到的光照传感器数据传输给协调器。

协调器接收到光照数据,并将数据从串口中输出。

画出传感器节点和协调器的程序流程图。

四、综合题(本题共2小题第1小题6分,第二小题17空,每空2分,共40分)注:答案填在后面的横线上
某照明系统基于ZigBee技术,利用环境光照强度控制灯具的开关,从而实现智能照明。

整个系统包括两个终端节点和一个协调器,光照传感器在节点1上,灯具控制在节点2上,节点1将光照数据传输给协调器,当光照值大于20时,协调器向节点2发送“ledoff”,控制照明灯具关闭,小于20时,协调器向节点2发送“ledon”,控制照明灯具打开,完成以下内容:
1.画出系统的拓扑结构
2.下面是协调器的程序,完成填空。

void GenericApp_Init(byte task_id)
{
GenericApp_TaskID = 1 ;
GenericApp_TransID = 2 ;
GenericApp_epDesc.endPoint = GENERICAPP_ENDPOINT;
GenericApp_epDesc.task_id = & 3 ;
GenericApp_epDesc.simpleDesc =
(SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc;
GenericApp_tencyReq = noLatencyReqs;
afRegister(& 4 );
}
UINT16 GenericApp_ProcessEvent( byte 5 , UINT16 6 ) {
afIncomingMSGPacket_t *MSGpkt;
if(events & SYS_EVENT_MSG){
/* 申请一段空间用来保存,无线接收到的数据*/
MSGpkt = (afIncomingMSGPacket_t*)osal_msg_receive(GenericApp_TaskID);
while( 7 ){
switch(MSGpkt->hdr.event){
case 8 ://收到应用层的数据(从
GENERICAPP_ENDPOINT 、AF_INCOMING_MSG_CMD、ZDO_STATE_CHANGE、SEND_KEY_MSG中选择一个)
GenericApp_MessageMSGCB(MSGpkt);
break;
default:
break;
}
osal_msg_deallocate((uint8*) 9 ); //释放保存无线数据的空间
MSGpkt =
(afIncomingMSGPacket_t*)osal_msg_receive( 10 );
}
return (events ^ 11 );//返回未处理的事件
}
return 0;
}
void GenericApp_MessageMSGCB(afIncomingMSGPacket_t * pkt )
{
uint16 lightval = 0;
if(!memcmp(pkt->cmd.Data, "light", 5))
{
lightval = pkt->cmd.Data[5]; // 保存16位光强度值
lightval |= ((uint16)pkt->cmd.Data[6]) << 12 ;
if( 13 )
{
Senddata_MSG(ledon);
}
else
{
Senddata_MSG(ledoff);
}
}
else if(!memcmp(pkt->cmd.Data, "Eaddr", 5))
{ /* 保存LED灯设备节点16位地址信息*/
endAddr = pkt->cmd.Data[5];
endAddr |= ((uint16)pkt->cmd.Data[6]) << 14 ;
}
}
void Senddata_MSG(uint8 *coding)
{
afAddrType_t my_DstAddr;
my_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
my_DstAddr.endPoint = GENERICAPP_ENDPOINT;
my_DstAddr.addr.shortAddr = 15 ;
AF_DataRequest(& 16 ,
&GenericApp_epDesc,
GENERICAPP_CLUSTERID,
6, 17 ,
&GenericApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS);
}
1.2.3..
4.5.6..
7.8.9..
10.11.12..
13.14.15..
16.17..。

相关主题