-1-中南大学考试试卷2014--2015学年下学期(1)时间100分钟无线传感器网络课程48学时3学分考试形式:闭卷专业年级:物联网12级总分100分,占总评成绩70%试题共8页,答案直接写在答题纸上,记得填姓名哦姓名:一、选择题。(选出一个正确答案,并将其代号写在相应题中的括号内。每小题2分,共14分)1、Confirm的意思是(D)A请求原语B指示原语C响应原语D确认原语2、ZigBee适应的应用场合___________。(D)A.个人健康监护B.玩具和游戏C.家庭自动化D.上述全部3、Zigbee不支持的网络拓扑结构式:()CA.星型B.树型C.环型D.网状4、下面哪一项不是WSN的强项。()CA.自组织B.分布式C.安全性D.节点平等5、对于WSN来说,下面哪种说法不对。()CA.节点能力不高B.能量供应不好C.节点变化性不强D.网络规模很大6、产生载波频率在WSN中,是属于哪一层的事务。()AA.物理层B.数据链路层C.网络层D.以上都不是7、S-MAC协议是属于()AA.基于竞争的MAC协议B.基于分配的MAC协议C.混合型MAC协议D.跨层MAC协议二、填空题。(每空1分,共30分)1.定向扩散路由机制可以分为三个阶段:兴趣扩展阶段、梯度建立阶段、路径加强阶段2.无线传感器网络的收发模块的4个状态按能耗递减分别为发送;接收;空闲;睡眠。3.WSN一般使用ISM频段,ISM是指无须注册的公用频段,ISM频段主要用于工业、科学和医疗。ISM就是这三个词汇的缩写。4.TRAMA协议由近邻协议(NP)、分配交换协议(SEP)和自适应选举算法(AEA)三个部分组成。5.无线传感器网络器网络的特征包括自组织,分布式,节点平等,可靠性要求高,节点资源有限,网络规模大,时效性等。6.ISM频段是指无须注册的公用频段、具有大范围的可选频段、没有特定的标准,可以灵活使用,ZSTACK将ISM频段划分为16个信道。7.ZStack中如果节点正在休眠,则广播信息将会被保持在它的父节点,直到该休眠设备获得该信息或该信息时间溢出。8.Z-Stack中OSAL的任务通过函数指针来调用,参数有任务标识符(taskID)和对应的事件(event)9.ZStack支持三种网络拓扑,即星形网络,树形网络,网状网络。10.对于差分脉冲位置调制机制,它采用两个32-chipPN码,I、Q通道各一个,通过周期性移动PN码(共16个移位值),将信息以差分方式放置在每个通道的符号内。11.地波是指沿地球表面附近的空间传播的波。12.无线传感器网络中,信道共享容易造成两个问题数据冲突和串扰。13.S-MAC把时间分割成许多时隙,在每个时隙中又划分为侦听和睡眠两个状态。14.ZigBee中,端点(EndPoint)定义了一个设备内的一个通信实体,一个特定的应用通过它来执行。ZDO的端点号是0。15.基于竞争的MAC协议--T-MAC协议中,采用满缓冲区优先和未来请求发送两种方法解决早睡问题。16.相对于传统网络,WSN具有以下特征:1)大规模分布式应用2)以数据为中心3)基于局部拓扑信息4)基于应用5)数据的融合17.SPIN协议通过节点之间的协商,解决Flooding协议和Gossiping协议的内爆和重叠问题。内爆是指节点在同一时刻收到多份相同的数据;重叠是指节点多次收到同一地区关于同一事件的数据。18.相对于传统网络,WSN在安全性方面有所不同:1因为是无线,所以说不够安全。这是难免的;因为是平等的,不可能有中心节点来分配公钥密码机制来统一调配;因为每个节点能力有限,(计算能力,存储能力,能量等),不可能有复杂的加解密。19.为了实现传输层对上层透明,可靠的数据传输服务,传输层主要研究链路的流量控制和拥塞避免,保证数据能够有效无差错地传输到目的节点。20.PFSQ为了保证网络的可靠性,采用了三种机制来确保数据的可靠传输:缓存机制;NACK确认机制;逐跳错误恢复机制。21.WSN中,靠近sink节点的地方,数据流很大。首先要发现拥塞,一般有两种方法:1根据队列缓冲的利用率2根据信道的空闲状况。22.在ZigBee协议栈中,绑定是基于设备应用层端点的绑定,而且绑定只能在互为“补充的”设备间被创建。三、简答题(40分。尽可能简单)1、什么是AdHoc网络?Adhoc网是一种多跳的、无中心的、自组织无线网络,又称为多跳网(Multi-hopNetwork)、无基础设施网(InfrastructurelessNetwork)或自组织网(Self-or-ganizingNetwork)。整个网络没有固定的基础设施,每个节点都是移动的,并且都能以任意方式动态地保持与其它节点的联系。在这种网络中,由于终端无线覆盖取值范围的有限性,两个无法直接进行通信的用户终端可以借助其它节点进行分组转发。每一个节点同时是一个路由器,它们能完成发现以及维持到其它节点路由的功能。2、逻辑链路与物理链路有何区别?物理链路就是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。逻辑链路就是数据链路,是物理链路加上必要的通信规程。数据链路则是另一个概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的规程来控制这些数据的传输。3、分析UWB技术的优势。系统结构实现简单;高速的数据传输;功耗低;安全性高;多径分辨能力强;定位精确;工程简单造价便宜4、介绍LEACH协议的主要阶段。主要包括建立阶段和数据传输阶段。在建立阶段:节点运行算法,确定本次自己是否成为簇头;簇头节点广播自己成为簇头的事实;其他非簇头节点按照信号强弱选择应该加入的簇头,并通知该簇头节点;簇头节点按照TDMA的调度,给依附于他的节点分配时间片;在数据传输阶段:非簇首节点负责采-2-集数据,如果需要发送数据,就用最小的能耗发送给它的簇首节点;非簇首节点节点在分配给他的时间片上发送数据,在不属于自己时隙的期间可以进入睡眠状态以节省能耗,而簇首节点则必须始终处于接收状态;所有非簇首节点的TDMA时隙都轮过后,簇首节点对接收到的数据进行融合压缩,然后直接发送给Sink节点。5、分析GPSR协议的优缺点。优点:采用局部最优的贪婪算法,不需要维护网络拓扑,路由开销小;可适用于静态和移动的WSN网络;缺点:需要地理位置信息的支持;需要维护邻居节点位置信息。6、说明zigbee网络建立的主要过程。首先未加入网络的协调器节点建立ZigBee网络;处于激活状态的设备可以直接加入网络,也可以通过关联操作加入到网络中,设备寻找父设备,经过父设备的同意加入网络;设备加入到网络之后,网络就会为其分配网络地址;设备节点的离开有两种不同的情况:第一种是子设备向父设备请求离开网络,第二种是父设备要求子设备离开网络。每个网络中的节点维护一个邻居列表,其中包含传输范围内所有节点的信息。7、分析T-MAC协议的未来发送机制的过程和优缺点。未来请求发送:采用提前通知需要接收数据的节点的方法来实现早睡的避免:当中继节点C接收到CTS后,除了触发自己保持监听状态之外,还发送一个FRTS分组给下一节点D,FRTS分组中含有下一节点D需要等待的时间,在此空闲状态中,下一节点必须要保持侦听状态。在中继节点C发送FRTS时看哪个节点会干扰源节点A发送的数据,因此源节点A需要延迟原数据的发送响应的时间,但是又必须保持对信道的占用,因此源节点A在这段时间内发送一个与FRTS一样长度的分组,该分组不包含任何有用的数据,然后才接着发送有用数据信息。从而数据传到中继节点C之后中间节点D还是处于唤醒状态,保证数据的实时传输。由于采用了未来请求发送机制,协议需要增加一个FRTS分组传输的时间,该方法提高了系统吞吐量和实时性,但是多了一些控制消息,相应地要消耗能量。8、ZStack的协议栈结构为APP,HAL,MAC,MT,NWK,OSAL,Profile,Security,Services,Tools,ZDO,ZMac,ZMain和Output。,简述期中HAL,MT,Profile这三层的功能。HAL(Hardware(H/W)AbstractionLayer):硬件层目录,包含有与硬件相关的配置和驱动及操作函数。MT(MonitorTest):实现通过串口可控各层,与各层进行直接交互。Profile:AF(Applicationwork)层目录,包含AF层处理函数文件。9、举一个您认为是WSN应用的最好的例子,简要介绍一下如何实现的。四、程序题1、#defineled1P1_0#defineled2P1_2//这两条语句的含义是定义P1_0为led1P1_2为led2voidled_init(void){P1SEL=0x00;//P1为普通I/O口P1DIR|=0x05;//P1.0P1.2输出led1=0;led2=0;}voidio_init(void){P0IEN|=0X02;//设置为中断方式PICTL&=~0X02;//下降沿触发IEN1|=0X20;//允许P0口中断;P0IFG=0x00;//初始化中断标志位EA=1;//这一条语句的含义开总中断};#pragmavector=P0INT_VECTOR__interruptvoidP0_ISR(void)//这表示是什么程序P0中断服务程序{P0IFG=0;led1=~led1;//这一条语句的含义是led1取反,让led1闪烁P0IF=0;}2、floatgetTemperature(void)//ADC获得到实际温度值程序{unsignedintvalue;ADCCON3=(0x3E);//选择1.25V为参考电压;14位分辨率;对片内温度传感器采样ADCCON1|=0x30;//选择ADC的启动模式为手动ADCCON1|=0x40;//启动AD转化while(!(ADCCON1&0x80));//等待ADC转化结束value=ADCL2;//低字节的高6位,高字节的低两位构成温度值value|=(ADCH6);//取得最终转化结果,存入value中returnvalue*0.06229-311.43;//根据公式计算出温度值}3、下面程序是人体感应传感器中的两个子程序,请加相应注释。voidled_init(void)//LED灯初始化{P1SEL=0x00;//P1为普通I/O口P1DIR|=0x05;//P1.0P1.1输出led1=0;led2=1;}voidio_init(void){P0SEL&=~0x80;//设置P0.7为普通io口P0DIR&=~0x80;//设置P0.7为输入}-3-4、#defineRELAY1P0_3#defineRELAY2P0_5#definekey1P0_1#definekey2P0_4voidmain(void)//继电器板实验{charsave_key1=1;charsave_key2=1;EA=0;xtal_init();io_init();while(1){if(key1==0&&save_key1==1){RELAY1^=1;//什么情况下执行到此按键按下并且与上一次检测时发生了变化}if(key2==0&&save_key2==1){RELAY2^=1;//^=这个运算符怎么理解与前一次继电器的状态相比,改变继电器状态}save_key1=key1;save_key2=key2;Delay(10);}}5、进行点对点通信实验voidmain(void){halMcuInit();hal_led_init();hal_uart_init();basicRfConfig.panId=PAN_ID;网络ID号basicRfConfig.channel=RF_CHANNEL;basicRfConfig.ackRequest=TRUE;#ifNODE_TYPE//NODE_TYPE是干什么用的区分发送节点还是接收节点,分别编译不同程序basicRfConfig.myAddr=SEND_ADDR;#elsebasic