一.单选题
1、CC2530串口0的异步串口接收中断名称是什么? C
A、U0RX B、U0TX C、URX0 D、UTX0
8、Z-Stack协议栈中,遇到什么函数便开始运行OSAL系统?D
A、osal_int_disable B、zmain_ext_addr
C、osal_init_system D、osal_start_system
2、ZigBee使用了三个频段,其中2450MHz定义了( B )个频道。
A、1 B、16 C、10 D、20
3、我们课程实验用的CC2530单片机,需要在工程中将单片机型号做相应设置,下列单片机型号正确的是( D )?
A、cc2530F32 B、CC2530F64
C、CC2530F128 D、CC2530F256
4、对于探测近距离是否有人存在,最合适的传感器选择是哪种? B
A、超声波传感器 B、红外热释电传感器
C、光电传感器 D、霍尔传感器
5、CC2530中的定时器1是一个几位的定时器( C )?
A、4 B、8 C、16 D、24
6、CC2530的定时器具有PWM输出功能,可以利用它来做什么? A
A、电机调速控制 B、频率计
C、万年历 D、信号灯控制
33、下列在Zigbee技术中,各英文缩写和汉语解释错误的是( C )
A、FFD—完整功能设备 B、RFD—简化功能设备
C、MAC—应用框架层 D、CAP—竞争接入时期
7、下列哪个宏是Z-Stack协议栈中无线射频接收数据的事件? B
A、AF_DATA_CONFIRM_CMD B、AF_INCOMING_MSG_CMD
C、ZDO_STATE_CHANGE D、SPI_INCOMMING_ZAPP_DATA
8、CC2530的ADC有几种工作模式? A
A、2 B、3 C、4 D、5
9、ZigBee( D )是协议的最底层,承付着和外界直接作用的任务。
A、支持/应用层 B、MAC层
C、网络/安全层 D、物理层
12、如果要使能CC2530的P0外部中断输入,应该使用下列的寄存器,除了哪个寄存器之外?
A、IEN0.EA B、IEN1.P0IE
C、P0IEN D、S1CON.P0IF
13、下列哪种网络拓扑结构是ZigBee网络所不支持的? B
A、星型 B、总线 C、树型 D、网状
正确答案:我的答案:B
9、以下是CC2530端口0方向寄存器的是( C )
A、P0SEL B、PLSEL C、P0DIR D、P0INP
10、如果从CC2530的ADC数据寄存器上获得的结果为负数,说明了什么情况?: D
A、ADC的参考电压是0V/GND
B、ADC的参考电压是内部参考电压
C、ADC的输入通道是GND
D、ADC的输入通道是差分信号
11、以下哪个函数是Z-Stack协议栈中最终射频发送数据的函数? B
A、afDataConfirm B、AF_DataRequest
C、zb_SendDataRequest D、afSetMatch
12、如果想测量PWM信号的正脉冲宽度,应该最好使用CC2530的哪部分功能?: B
A、定时器的定时溢出中断功能
B、定时器的边沿输入捕获功能
C、定时器的PWM输出功能
D、定时器的DMA触发功能
13、 Z-Stack协议栈中,如果使用绑定发送的方式,必须加入下列哪个编译选项? : B
A、NV_RESTORE B、REFLECTOR
C、POWER_SAVING D、HOLD_AUTO_START
14、CC2530的PM3运行/供电模式中,会关闭掉大部分系统电路,下列那一部分不在此之内?
A、CPU核 B、高频振荡器
C、SRAM存储器 D、低频振荡器
39、ZigBee采用了CSMA-CA( D ),同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突;明晰的信道检测。
A、自愈功能 B、自组织功能
C、数据传输机制 D、碰撞避免机制
15、在使用CC2530的P0端口进行ADC时,首先要设置下列哪个寄存器?将P0端口的用于模拟输入ADC功能打开才能正常使用。: B
A、PERCFG B、APCFG
C、P0DIR D、ADCCON1
28、ZigBee网络设备(: C ),只能传送信息给FFD或从FFD接收信息。
A、网络协调器 B、全功能设备(FFD)
C、精简功能设备(RFD) D、交换机
16、ZigBee,这个名字来源于( B )使用的赖以生存和发展的通信方式。
A、狼群 B、蜂群 C、鱼群 D、鸟群
17、下列关于CC250串口的说法中不正确的是哪个?: D
A、收发双方的串口波特率必须相等
B、串口通信最少需要GND、RX、TX三根线
C、串口硬件流控依赖RTS、CTS线
D、串口停止位电平和起始位电平可以相同
32、Zigbee所涉及的无线通信技术有哪些? : D
A、CCA B、DSSS C、CSMA/CA D、以上都是
33、调用下列哪个函数不能触发系统事件? : D
A、osal_set_event B、osal_start_timerEx
C、osal_msg_send D、osal_msg_allocate
36、在SimpleApp工程中,zb_AllowBind(0)是什么意思? : A
A、协调器任何时候都允许绑定
B、协调器取消对终端的绑定
C、终端向协调器发出绑定请求
D、终端取消绑定请求
34、CC2530的I/O引脚中,可以用于外部中断源输入口的有(: B )个?
A、19 B、21 C、2 D、8
31、只能选择已经建立形成的网络,可传送数据给协调器和路由器,但不能转发数据是( )部分的功能?: C
A、ZigBee协调器 B、ZigBee路由器
C、ZigBee终端节点 D、ZigBee核心模块
30、在ZigBee协议标准中,接受和建立绑定请求的节点可以是下列哪种?: A
A、协调器 B、路由器 C、终端 D、任意节点均可
18、在ZigBee网络的拓扑结构中,哪种网络没有路由器?: B
A、总线 B、星型 C、树形 D、网状
19、ZigBee网络设备( A )发送网络信标、建立一个网络、管理网络节点、存储网络节点信息、寻找一对节点间的路由消息、不断地接收信息。
A、网络协调器 B、全功能设备(FFD)
C、精简功能设备(RFD) D、路由器
20、CC2530的哪种运行模式(供电模式)功耗最低( : D )?
A、主动模式 B、空闲模式 C、PM1 D、PM3
21、下面哪个不是ZigBee技术的优点(: B)?
A、低复杂度 B、高功率
C、近距离 D、低数据速率
18、当目的地址DstAddr.addr.shortAddr参数设置为0xFFFF时,进行的是? : A
A、广播 B、单播 C、多播 D、信标传输
22、下列哪个宏是Z-Stack协议栈中接收串口数据的事件? D
A、AF_DATA_CONFIRM_CMD B、AF_INCOMING_MSG_CMD
C、ZDO_STATE_CHANGE D、SPI_INCOMMING_ZAPP_DATA
23、使能P1_4端口中断,需将P1IEN寄存器的第4位置为1,下列哪个操作正确?: B
A、P1IEN |= 0x04 B、P1IEN |= 1 << 4
C、P1IEN &= 0x04 D、P1IEN &= 1 << 4
24、在Z-Stack协议栈中,触发事件的情况有三种,下列哪种情况不会产生应用层事件?A
A、发送射频数据 B、外部中断
C、定时器 D、设备进行轮询
25、MAC层采用了完全确认的( D ),每个发送的数据包都必须等待接受方的确认信息。
A、自愈功能 B、自组织功能
C、碰撞避免机制 D、数据传输机制
26、使能P1_2端口中断,需将P1IEN寄存器的第2位置为1,下列代码正确的是( A )?
A、P1IEN |= 0x04; B、P2IEN |= 0x04;
C、P1IEN |= 0x02; D、P2IEN |= 0x02;
27、作为Zigbee技术的物理层和媒体接入层的标准协议是? C
A、IEEE 802.11b B、IEEE 802.15.11a
C、IEEE 802.15.4 D、IEEE 802.15.12
28、CC2530有哪几种模式均可以通过外部中断的方式唤醒到主动模式?( D )
A、主动、空闲 B、主动、空闲、PM1
C、主动、空闲、PM1、PM2 D、空闲、PM1、PM2、PM3
16、在IEEE 802.15.4标准协议中,规定了2.4GHz物理层的数据传输速率为( C )。
A、100kb/s B、200kb/s C、250kb/s D、350kb/s
29、CC2530有五种不同的供电模式,分别叫做( A )、空闲模式、PM1、PM2 和PM3。
A、主动模式 B、被动模式 C、寄存模式 D、复位模式
30、ZigBee( C )建立新网络,保证数据的传输。
A、物理层 B、MAC层 C、网络/安全层 D、支持/应用层
31、CC2530睡眠定时器是几位的?: C
A、8 B、16 C、24 D、32
32、在ZigBee技术中,PHY层和 MAC层采用( A )协议标准。
A、IEEE 802.15.4 B、IEEE 802.11b
C、IEEE 802.11a D、IEEE 802.12
33、如果使用CC2530的ADC来检测自身的电池电压,最好将ADC的参考电压设置为: A
A、内部参考电压1.25V
B、AIN7引脚上的外部参考电压
C、AVDD5引脚上的参考电压
D、在AIN6—AIN7差分输入的外部参考电压
34、在Z-Stack协议栈中,工程配置文件都存放在哪个目录? A
A、Tools B、Profile C、NWK D、ZMain
35、Z-Stack协议栈串口接收到数据后可以触发4种事件,其中代表发送缓存为空的是: D
A、HAL_UART_RX_FULL B、HAL_UART_RX_ABOUT_FULL
C、HAL_UART_RX_TIMEOUT D、HAL_UART_TX_EMPTY
10、无需人工干预,网络节点能够感知其他节点的存在,并确定连结关系,组成结构化的网络。 这是指ZigBee网络的什么?: B
A、自愈功能 B、自组织功能
C、碰撞避免机制 D、数据传输机制
36、当CC2530进行DMA传输时,如果将DMA通道的原地址和目标地址都配置为什么时?表明是内存到内存的数据传输。: D
A、SFR地址 B、XREG地址 C、CODED、X DATA地址
37、无需人工干预,网络节点能够感知其他节点的存在,并确定连结关系,组成结构化的网络。 这是指ZigBee网络的什么? B
A、自愈功能 B、自组织功能
C、碰撞避免机制 D、数据传输机制
二.填空题
1一般地,设置CC2530睡眠定时器的比较值,可以通过依次写入( ST2, ST1, ST0 )寄存器来设置;获取当前的比较值,可以通过依次读取( ST0,ST1,ST2 )寄存器来实现。
第一空: ST2,ST1,ST0;ST2:ST1:ST0
第二空: ST0,ST1,ST2;ST0:ST1:ST2
2( )的作用是创建ZigBee网络/子网;( )的作用是介绍新的设备加入ZigBee网络,同时产生多跳路由协助设备通信;( )的作用是采集传感器数据,通常可睡眠或唤醒。往往( )设备所需的ROM/RAM资源最小。
协调器; 路由器; 终端; 终端;
29、CC2530的8051CPU有四个不同的存储空间,分为( ) 、( )、( )和( )。
第一空: CODE;code;代码段
第二空: DATA;data;数据段
第三空: XDATA;xdata;外部数据段
第四空: SFR;sfr;特殊功能寄存器
3、CC2530的DMA传输模式有4种,分别是( )、( )、( )和( )模式。
第一空: 单一模式;单一
第二空: 块模式;块
第三空: 重复的单一模式;重复的单一
第四空: 重复的块模式;重复的块
4、Z-Stack协议栈中osal_start_timerEx(uint8 taskID, uint16 event_id, uint16 timeout_value)函数的三个参数的含义分别是( )、( )、( ) 。
第一空: 设置定时的任务id;设置定时的层id;
第二空: 定时触发事件的ID;
第三空: 定时的周期;定时多少时间之后触发事件;
5、对于协调器,配置PANID=0xFFFF,启动后会创建一个PANID是( )的ZigBee网络;对于路由器或终端,配置PANID=0xFFFF,启动后会( )。
第一空: 随机;随机数
第二空: 无视PANID,加入周围的ZigBee网络
24、Z-Stack协议栈的核心是事件的( )和事件的( )。
产生; 处理
25、Z-Stack协议栈的SampleApp、GenericApp、SimpleApp三个样例工程,其程序入口主函数main(),都是在(ZMain.c)文件中。
20、当绑定发送时,需要将afAddrType_t结构体变量的发送模式addrMode字段设置为( ),并且将短地址addr.shortAddr设置为( )。
第一空: AddrNotPresent;无效地址;
第二空: 0xFFFE;
26、Zigbee网络结构分为4层,从下至上分别为( )、( )、( )和( )。
物理层;MAC层;网络层;应用层;
6、IEEE802.15.4的数字高频调制使用( )技术。
2.4G直接序列扩频;直接序列扩频
7、若两个ZigBee节点想组播通信,需要它们的( )、( )、( )一致。
第一空: 信道;信道号
第二空: PANID;子网ID;ZigBee子网
第三空: 组ID;所在组;GroupID
8、一个ZigBee网络由一个( )节点、多个路由器和多个( )设备节点组成
协调器 ; 终端
9、ADC启动之后,可以通过查询ADCCON1的( EOC )状态位,判断AD转换是否结束。
10、ZigBee设备有2种类型的地址,一种是( )位的短地址,另一种是( )位的IEEE地址,也被称为MAC地址。
16; 64
11、CC2530的串口模式分为( )和( )两种。
异步URAT模式; 同步SPI模式
8、看门狗定时器与一般的定时器的区别在于看门狗溢出时,会( )。
系统复位、复位、reset
12、Z-Stack协议栈中,使用全局变量( )记录任务的总数;使用任务数组( )存放每个任务,也就是每一层( )的地址;使用任务事件数组( )记录每一层的事件标志,如果该层事件标志非空,则交给该层对应的任务去处理。
tasksCnt; tasksArr; 事件处理函数; tasksEvents;
13、在CC2530中,睡眠定时器不能唤醒的低功耗模式是( PM3 )。
14、Z-Stack协议栈中串口默认的波特率设置是( 38400 )。
34、( 簇;簇ID; )是一种通信的约定,约定了信息将会被怎样处理。
15、Z-Stack协议栈提供了两种获取按键状态的方式:轮询方式和中断方式。默认情况下,使用的是( 轮询 )方式。
16、Z-Stack协议栈中,加入组的函数是( ),退出组的函数是( )。
aps_AddGroup; aps_RemoveGroup
17、在Zigbee协议架构中( )、( )是属于IEEE802.15.4标准定义的。
物理层; MAC层
4、在Z-Stack协议栈中,如果需修改获取按键的方式,则需要在InitBoard()函数中,修改HalKeyConfig函数的参数。HalKeyConfig(HAL_KEY_INTERRUPT_DISABLE, OnBoard_KeyCallback)函数里面的第一个参数的含义是( ),第二个参数是( )。 默认的轮询方式 ; 按键处理回调函数
18、ZigBee的安全性比较高,其加密技术采用128位( )加密算法
AES;Advanced Encryption Standard;高级加密标准;
19、DMA的意思是( ),意味着内存和外设之间进行数据传输时,不再需要通过( )的干预了。
第一空: 直接内存存取;直接内存访问
第二空: CPU;中央处理器
20;IEEE802.15.4网络共定义了4种类型的帧:( )、( )、( )和( )。
信标帧; 数据帧; 确认帧; MAC命令帧、命令帧;
21、CC2530包括3个8位输入/输出(I/O)端口,分别是( )、( )和( )。
p0;p1;p2
17、当CC2530的SLEEPCMD.MODE=0x00,PCON.IDLE=0,处于( )供电模式;SLEEPCMD.MODE=0x00,PCON.IDLE=1,处于( )供电模式。
第一空: 主动;主动模式
第二空: 空闲;空闲模式
18、CC2530定时器Timer1运行在模模式的时候,16位计数器从0开始计数,当计数器达到( )时,触发定时器1溢出中断,同时计数器将复位到0,重新开始计时。
T1CC0;t1cc0;
22、可以将CC2530从PM1/PM2低功耗模式中唤醒恢复到主动模式的方式有( )、( )和( ) 。
第一空: 系统复位;复位;上电复位
第二空: 外部中断;
第三空: 睡眠定时器中断溢出;睡眠定时器中断;
23、ZigBee中每个协调点最多可连接( )个节点,一个ZigBee网络最多可容纳( )个节点。
255; 65535
9、CC2530睡眠定时器的时钟频率是( )Hz。如果要通过睡眠定时器设置定时时间10秒的话,需要将当前的睡眠定时器计数值读出来,加上( )值再写回去。
32.768K;32768
31、想要进行电机调速,应该通过CC2530的定时器输出引脚输出( )信号进行调速。
PWM;占空比可调;脉冲宽度调制
32、若通过MQ5传感器检测可燃气体的浓度,需要将传感器输出引脚接入CC2530的( )输入引脚上。
ADC;AD转换;
21、DHT11采用单总线的串行通信方式,其一次通信时间在4ms左右,传输的40bit数据格式为8bit的( )数据整数+8bit的( )数据小数+8bit的( )数据整数+8bit的( )数据小数+8bit的( )。
湿度; 湿度; 温度; 温度; 校验和;
22、ZigBee技术的网络拓扑结构主要有( )网络、( )型网络、( )型网络三种。默认的是( )拓扑结构。
星型; 网状; 树状、簇状; 网状、MESH;
24、对于协调器,配置PANID=0x1234并且周围没有PANID为0x1234的子网,启动后会创建一个PANID是( )的ZigBee网络;对于路由器或终端,配置PANID=0x1234,启动后会( )。
0x1234; 加入PANID=0x1234的ZigBee网络
25、在Z-Stack协议栈的SampleApp工程中,函数SampleApp_MessageMSGCB()会根据接收到的无线数据包pkt的不同( ),分别进行相关的处理。
簇;簇ID;clusterID
26、Z-Stack协议栈在应用层的初始化函数里,通过调用( )函数来实现对按键事件进行注册交给应用层处理。
RegisterForKeys
27、在Z-Stack协议栈中,如果不同的层/任务同时发生了事件,则越是底层的任务越被
( 优先 )处理。
24、DHT11温湿度传感器是采用单总线的串行通信方式,其中数字0或1编码的区别在于( )不同。
高电平的长短;高电平的持续时间;高电平的脉宽
28、CC2530采用的集成开发环境是( ),硬件仿真器/编程器是( )。
第一空: IAR;iar;
第二空:
CC-Debugger;cc-debugger;cc-debug;CC-Debug;CC_Debugger;CC_Debug;cc_debugger;cc_debug;
8、对于协调器,配置PANID=0x1234并且周围已经存在PANID为0x1234的子网,启动后会创建一个PANID是( 0x1235 )的ZigBee网络。
31、Z-Stack协议栈安装之后,有4个文件夹,其中Components文件夹是Z-Stack协议栈的各个功能部件的实现,包括hal、mac、mt、osal、service、stack、zmac等子目录。其中( )是Components文件夹最核心的部分,是协议栈的具体实现部分,其下有分为af( )、nwk( )、sapi(简单应用接口)、sec(安全)、sys(系统头文件)、zcl(ZigBee簇库)、zdo(ZigBee设备对象)等7个文件夹。
Stack; 应用框架; 网络层
29、在Zigbee结构中,( 网络;网络层 )层与建立网络息息相关。
30、MAC层提供( )和( ),并负责数据成帧。
MAC层数据服务; MAC层管理服务
31、ZigBee协议规范中规定协调器的短地址为( );如果采用组播发送模式,需要将目标设备的shortAddr字段设置为( )。
0; 组ID
32、如果在Zigbee网络中实现点对点的通信需要使用( )地址模式; 在Zigbee网络中协调器需要网络中的每个设备都收到数据使用( )模式。
单点寻址; 广播寻址
33、中国使用的Zigbee工作的频段是( ),定义了( )个信道。
2.4GHz; 16
34、CC2530F256芯片的硬件资源包括内部集成了最高主频为( )的CPU核,( )容量的SRAM内存和( )容量的FlashROM闪存。
第一空: 32MHz;32mhz;
第二空: 8KB;8kb;
第三空: 256KB;256kb;
35、对于CC2530的串口USART0来说,如果有C语句:U0DBUF=dat,是对串口0进行( )操作;如果有C语句:dat=U0DBUF,是对串口进行( )操作。
第一空: 写入;写;发送
第二空: 读取;读;接收
三.判断题
1、应用层、网络/安全层、介质访问控制层、物理层均属于ZigBee技术的体系结构。×
2、CC2530数据帧的基本结构由三部分构成:同步头、需要传输的数据以及帧尾。:√
3、在Z-Stack协议栈的SampleApp工程中,通过搜索代码中的内容,找不到“BUILD_ALL_DEVICES”。说明该宏没有被定义。:×
3、PANID为0xFFFF代表的含义是该ZigBee子网的节点采用的是广播的数据传送方式。×
4、根据IEEE802.15.4标准协议,ZigBee的工作频段分为848MHz、915MHz、5.8GHz 。×
5、和51单片机一样,CC2530的中断总开关是EA。:√
6、CC2530的21个I/O引脚都可以用于外部中断源输入口,通过外部中断将CC2530从睡眠模式中唤醒。:√
7、CC2530有5种运行/供电模式:主动模式、空闲模式、PM1、PM2和PM3,其中空闲模式的芯片功耗最低,最省电。×
8、ZigBee具有时延长,高成本的特点。×
9、CC2530芯片内部使用的是8051兼容的CPU核,所以其指令的平均执行周期是12个时钟周期。:×
10、Z-Stack协议栈的每个层/任务idx事件都存放在tasksEvents[idx]中,如果该层有事件,则交给tasksArr[idx]去处理各个任务。√
11、ZigBee Pro网络是一个基于TCP/IP网络协议基础的无线通信网。×
12、CC2530的RESET复位是低电平有效的。√
13、协调器的角色主要体现在ZigBee网络的启动和配置上,一旦网络创建完毕,协调器的任务就完成,以后的工作就和路由器相同。√
14、在ZigBee网络中,允许终端到终端之间的直接数据传输。×
四.简答题
1、简述一下CC2530和一般的51单片机(比如STC89C52)有何不同。
1.硬件资源不同,CC2530包含主频更高的CPU核,并且CPU为单指令周期不再12分频,包含容量更大的RAM和ROM,包含功能更强的外设,比如带输入捕获/输出PWM的定时器。
\2. 硬件上和传统单片机最大的不同之处在于包含了支持IEEE 802.15.4的RF收发器,软件上官方提供了支持ZigBee 2007协议标准的Z-Stack协议栈。
可以看出CC2530就是TI公司针对ZigBee协议实现与应用的技术解决方案。
2、简述ZigBee网络中协调器、路由器、终端设备的作用。
Zigbee网络层中的设备有三种类型:协调器、路由器和终端节点,分别实现不同的功能。协调器具有建立新网络的能力,网络建立后协调器就成为普通的路由器。协调器和路由器具备允许设备加入网络或者离开网络、为设备分配网络内部的逻辑地址、建立和维护邻居表等功能。Zigbee终端节点只需要有加入或离开网络的能力即可,主要用于信息的采集。
3、简述一下Z-Stack协议栈中OSAL的工作机制。
按照从底层到最高层的次序,通过tasksEvents指针访问事件表tasksEvents[taskCnt]的每一项,如果有事件发生,则查找任务表tasksEvents[taskCnt]找到事件处理函数进行处理,处理完后,继续访问事件表,查看是否有其它事件发生,重复以上过程,无限循环。
4、简述端点的作用
端点相当于ZigBee设备应用层中的通信实体。端点的主要作用可以总结为一下两个方面:数据的发送和接收。当一个设备发送数据时,必须指定接收方的节点的地址(长地址或短地址)和端点,发送方自身必须也要有地址和端点。如果设备之间需要绑定,那么在ZigBee的网络层必须注册一个或多个端点来进行数据的发送和接收以及绑定表的建立。
5、简述ZigBee的绑定机制
在zigaee协议中定义了一种特殊的操作,叫做绑定(binding)操作。它能够通过使用簇ID为不同节点上的独立端点建立一个逻辑上的连接。
要实现绑定操作,端点必须向协调器发送绑定请求,协调器接收到绑定请求后,通过绑定表形成了一个逻辑链路。
其中一个端点首先会将信息发送到协调器中,协调器接收到消息后,通过查找绑定表,将消息发送到与这个端点相绑定的所有端点中,从而实现了绑定端点之间的通信。
6、凡符合什么条件的短距离通信就可以考虑采用ZigBee技术?(请列出至少四条)
通常,符合如下条件之一的短距离通信就可以考虑应用ZigBee:
(1)需要数据采集或监控的网点多;
(2)要求传输的数据量不大,而要求设备成本低;
(3)要求数据传输可靠性高,安全性高;
(4)要求设备体积很小,不便放置较大的充电电池或者电源模块;
(5)可以用电池供电;
(6)地形复杂,监测点多,需要较大的网络覆盖;
(7)对于那些现有的移动网络的盲区进行覆盖;
(8)已经使用了现存移动网络进行低数据量传输的遥测遥控系统。
7、简述Z-Stack协议栈/ZigBee协议框架
正确答案:
Z-Stack协议栈符合Zigbee协议结构,由物理层、MAC层、网络层和应用层组成。
物理层和MAC层由IEEE802.15.4定义,网络层和应用层由Zigbee联盟来定义。
Zigbee联盟将应用层又详细划分为应用支持子层(APS)、应用设备框架(AF)以及Zigbee设备对象(ZDO)等。
Zigbee协议栈结构,包括物理层、MAC层、NWK(网络层)、APL(应用层)、应用支持子层APS、应用程序框架AF、设备对象ZDO层。
a) 物理层内容:物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务单元(PD-SAP)和物理层管理服务(MLME-SAP)。
b) MAC(介质接入控制子层):MAC层负责处理所有物理无线信道的访问,并产生网络信号、同步信号;支持PAN连接和分离,提供两个对等的MAC实体之间可靠链路。
c) NWK(网络层):网络层是Zigbee协议栈的核心部分,网络层主要实现节点加入或者离开网络、接收或抛弃其它节点、路由查找及维护等功能。
d) APL(应用层):Zigbee应用层包括应用支持子层APS、应用程序框架AF、Zigbee设备对象ZDO等。
e) 应用支持子层APS:APS层在NWK层和APL层之间,提供APSDE-SAP和APSME-SAP两个接口,两个接口的主要功能如下:
f) APSDE-SAP提供在同一个网络中的两个或者更多的应用实体之间(即端点)的数据通信。
g) APSME-SAP提供多种服务给应用对象ZDO,这些服务包括安全服务和绑定设备服务,并维护管理对象的数据库(即AIB)。
h) 应用程序框架AF:运行在Zigbee协议栈上的应用程序实际是厂商自定义的应用对象,并且遵循规范(Profile)运行在端点1~240上。
i) 设备对象层ZDO:远程设备通过ZDO请求描述信息,接收到这些请求时,ZDO会调用配置对象获取相应的描述符值。ZDO通过APSME-SAP接口提供绑定服务。
1、编写SampleApp_MessageMSGCB数据消息队列处理的回调函数, Z-Stack的API函数直接传参数即可。 #define HAL_LED_2 0x02 void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt ) { ____________________________; //声明并初始化7个字节的缓冲区 switch ( pkt->clusterId ) { case SAMPLEAPP_PERIODIC_CLUSTERID: ____________________________ //将接收到的数据复制到缓冲区 //判断是不是NEWLab这6个字符 if( ____________________________ ) { //若是NEWLab这6个字符,使LED2闪烁 ____________________________ } else { //若不是NEWLab这6个字符,则点亮LED2 ____________________________ } break; default: break; } }
正确答案:
char buffer[7]={0}; //声明并初始化7个字节的缓冲区
memcpy((void *)buffer,(void *)&pkt->cmd.Data[1],6); // 将接收到的数据复制到缓冲区
0==strcmp(buffer,“NEWLab”) //判断是不是NEWLab这6个字符
HalLedBlink( HAL_LED_2, 4, 50, (flashTime / 4) ); //若是NEWLab这6个字符,使LED2闪烁
HalLedOnOff(HAL_LED_2,HAL_LED_MODE_ON); //若不是NEWLab这6个字符,则点亮LED2
2、编写发送端无线RF初始化函数。
/点对点通讯地址设置*/ #define RF_CHANNEL 20 // 频道 11~26 #define PAN_ID 0x1379 //网络id #define MY_ADDR 0xacef // 本机地址 #define SEND_ADDR 0x1234 // 对方地址 //RF发送初始化 void halRFInit(void) { EA=0; FRMCTRL0 |= _____________; //硬件产生CRC16,自动发送确认帧 //推荐的RF_RX射频接收设置: TXFILTCFG = 0x09; AGCCTRL1 = 0x15; FSCAL1 = 0x00; //使能RXPRTDONE中断 RFIRQM0 |= 0x40; //使能一般的RF中断 IEN2 |= 0x01;
FREQCTRL =; //20信道 PAN_ID0 = _________________; //PANID PAN_ID1 = _________________; //PANID //设置接收节点的短地址: SHORT_ADDR0=; SHORT_ADDR1=__________;
RFST = 0xEC; //清接收缓冲区 RFST = 0xE3; //开启接收使能 EA = 1; }
正确答案:
0x60
(11+(RF_CHANNEL-11)*5)
PAN_ID>>8
PAN_ID&0X0FF
SEND_ADDR>>8
SEND_ADDR&0X0FF
3、编写SampleApp_HandleKeys函数,处理HAL_KEY_SW_3按键事件:通过单点传送的方式,把字符串“123”发送给协调器。 #define SAMPLEAPP_SENDTOCOORD_CLUSTERID 3 afAddrType_t SampleApp_Coord_DstAddr; void SampleApp_HandleKeys( uint8 shift, uint8 keys ) { (void)shift; // Intentionally unreferenced parameter if ( keys & HAL_KEY_SW_1 ) { /* This key sends the Flash Command is sent to Group 1. * This device will not receive the Flash Command from this * device (even if it belongs to group 1). */ SampleApp_SendFlashMessage( SAMPLEAPP_FLASH_DURATION ); } //在此处添加你的代码:
}文章来源地址https://www.toymoban.com/news/detail-521987.html
正确答案:
//在此处添加你的代码:
if ( keys & HAL_KEY_SW_3 )
{
SampleApp_Coord_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
SampleApp_Coord_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
SampleApp_Coord_DstAddr.addr.shortAddr = 0x0000;
uint8 *buffer=“123”;
//发送给协调器:
AF_DataRequest( &SampleApp_Coord_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_SENDTOCOORD_CLUSTERID,
3,
buffer,
&SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS );文章来源:https://www.toymoban.com/news/detail-521987.html
}
到了这里,关于zigbee期末考试题目汇总含答案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!