远程无线抄表系统设计方案V2.0

上传人:沈*** 文档编号:79554349 上传时间:2022-04-24 格式:DOC 页数:26 大小:1.82MB
收藏 版权申诉 举报 下载
远程无线抄表系统设计方案V2.0_第1页
第1页 / 共26页
远程无线抄表系统设计方案V2.0_第2页
第2页 / 共26页
远程无线抄表系统设计方案V2.0_第3页
第3页 / 共26页
资源描述:

《远程无线抄表系统设计方案V2.0》由会员分享,可在线阅读,更多相关《远程无线抄表系统设计方案V2.0(26页珍藏版)》请在装配图网上搜索。

1、26无线抄表系统总体设计方案 Version 2.0上海XX信息技术开发中心版权所有序言41术语定义52适用范围53系统组成64网络结构65协议模型75.1硬件层85.2数据连接子层85.3Broadcast广播95.3.1Package Identity field95.3.2Command Type field95.3.3Group ID field105.3.4Source ID field105.3.5Target ID field105.3.6Command Code field105.3.7CRC field115.4数据包115.4.1Package Identify field

2、115.4.2Group ID field115.4.3Source ID field115.4.4Target ID field115.4.5Data Length field125.4.6Data field125.4.7CRC field125.5Response回复125.5.1Package Type field125.5.2Group ID field135.5.3Source ID field135.5.4Target ID field135.5.5Data Length field135.5.6Data field135.5.7CRC field135.6链路管理145.7MA

3、C子层145.7.1CSMA145.7.2监听算法155.7.3CSMA-CA155.8网络路由166网络拓扑发现166.1一对多176.1.1建立链路176.1.2防碰撞186.2ad-hoc196.2.1构建路由树196.2.2防碰撞调度机制216.2.3新节点入网过程216.2.4节点失效异常处理227应用层228附录1:包格式238.1Interrogator发出的路由广播238.2Interrogator发出的检索广播238.3Interrogator发出的特定检索广播238.4Tag发出数据后无法收到回复时发出的广播248.5数据包248.6回复包24序言本协议的主要目的是为远程无

4、线收集RFID数据和状态而设计,为上层应用屏蔽下层具体硬件细节,为系统提供面向连接的服务。整个系统网络包括两种设备:Interrogator和RFID Tag,系统由一个Interrogator和多个RFID Tag(Tag的数量可多至上百个)组成,Interrogator与Tag之间、Tag与Tag之间都通过无线网络传输命令和数据。Interrogator为整个网络的根节点,整个网络的初始化(确定网络号和路由)开始由Interrogator发起;Tag既可作为最底层的子节点也可作为下一层Tag的父节点,Tag可以发起广播(在该Tag已经初始化之后)或者向自身的父节点发送数据。每个Interr

5、ogator和RFID Tag在出厂时都已经分配好一个全球唯一的48bit ID作为该设备的唯一标志,并且该标志一旦确定便无法更改。根据本协议实现的系统应该可以完成如下功能:- 自动完成网络分组- 识别网络内的RFID Tag- 从所有的RFID Tag中读取数据- 从指定的RFID Tag中读取数据- 获得每个RFID Tag的状态1 术语定义RFID:射频识别Tag:标签Interrogator:阅读器2 适用范围本协议是专门为远程无线抄表系统设计,用于远程无线收集数据量比较少的数字信息。通过无线网络接收有源RFID发送的电表信息,每一个RFID节点每一次需要传送的数据都可以通过一个数据包

6、发送完成。263 系统组成一个典型的应用系统必须包括如下几个组件:- 一个MCU作为主控制器- 一个射频发射/接收模块- 一个天线,可以是单极天线或者PCB上的微带天线图1 系统硬件平台图1所示,我们选择TI公司的MSP430作为主控制MCU,CHIPCON公司的CC1020作为射频发射/接收模块。MSP430通过SPI总线和一些离散控制信号与CC1020相连,MSP430作为Master,CC1020为Slave。MSP430实现了我们需要的协议栈和一些需要的应用逻辑,通过SPI接口与CC1020交换数据,通过一些离散的控制信号对CC1020进行控制。协议栈封装了对CC1020的操作,上层应

7、用程序不需要直接控制CC1020。CC1020是一个可工作在多个频段的窄带射频发送/接收芯片,我们设定其工作频点为433MHz,调制方式为FSK,并支持FHSS。4 网络结构网络拓扑结构如下所示:图2 网络拓扑结构Tag1,Tag2,Tag3,Tag7是第一级节点Tag17是Tag3的第二级节点Tag9是Tag7的第二级节点Tag12,Tag15是Tag2的第二级节点Tag19是Tag9的第三级节点Tag13,Tag21是Tag15的第三级节点网络初始化由Interrogator发出第一个广播命令包开始,Interrogator开始计时,在Interrogator广播范围内的所有tag收到此广

8、播后初始化自身的网络ID和父节点ID;然后开始第二级广播,在第二级广播范围内的所有tag收到此广播后初始化自身的网络ID和父节点ID;然后开始第三级广播。在Interrogator计时到默认广播时间结束后,即认为网络内的所有Tag都已经初始化完毕并准备好发送数据。5 协议模型基于我们的应用场合比较简单,因此将通用的网络协议栈模型根据我们的需要做了相应的修改和简化,以使整个协议栈更加简单高效。整个协议栈如下图所示:图3 协议模型- 应用层:调用网络层和数据链接层完成具体的应用逻辑,包括收集数据,查询数据。- 网络层:通过广播机制,快速进行网络拓扑发现,从而确定一个树形的路由路径。- 数据链路层:

9、该层分为两个子层:数据连接子层和MAC子层。数据连接子层负责数据传输和链路管理,每一个数据包都包括具体数据和一些必要的控制信息。MAC子层负责邻居节点的多址接入和信道分配工作。采用的技术包括CSMA或TDMA。- 硬件层:负责将数据链路层提供的二进制数据调制并发送出去。支持FSK和FHSS方式。5.1 硬件层Interrogator与RFID tag之间、RFID tag与RFID tag之间的通过无线连接,射频参数如下:- 载波频率:433MHz- 调制类型:FSK并支持FHSS- 调制宽度:25KHz- 纠错编码: BCH(31,21)- 数据处理: 交织(Interleave)- 波特率

10、:最高150Kbaud5.2 数据连接子层在网络中interrogator与tag之间以及tag与tag之间的数据传输都已数据包的格式进行传输,每个数据包包括包前缀prefix、数据data byte和CRC校验三部分。数据包分为三种形式的数据包,广播Broadcast包、数据包和回复Response包,不同的包通过不同的包前缀来识别。PrefixData ByteCRC0xFF31最长 132bytes2 bytesMSB LSB数据包最长132bytes。5.3 Broadcast广播Broadcast广播报文固定总长度为22 bytes,格式如下:PrefixPackage Identi

11、tyCommand TypeGroup IDSource IDTarget IDCommand CodeCRC0xFF310x E71 byte3 bytes6 bytes6 bytes1bytes2 bytesBroadcast广播报文格式固定,每个合法的Broadcast广播包都必须符合上述的语法格式。Broadcast广播的发起者可以是Interrogator和Tag其中任意一个。在网络初始化阶段,Interrogator发出第一个广播包之后就开始进行网络拓扑结构的发现和建立,每一个tag在接收处理完Interrogator或者Tag发出的广播包之后(确认自身的父节点,确定路由)发出一个

12、它自己的广播包;Tag在监测到广播命令包后根据命令的类型需要完成相应的操作或者简单地将该广播包丢弃。5.3.1 Package Identity field0xE7表示该包属于广播包。5.3.2 Command Type field76543210ReservedReservedReservedReservedBroadcast TypeIf ReplySource TypeDate Type0 bit:数据包中Data field的类型0 - Data field为tag发送的采集数据1 - Data field不是数据(可能是命令或者用户定义的有特殊意义的任何数据)1 bit:广播发起者的

13、类型0 - Interrogator1- Tag2 bit:是否需要回复0 - 需要回复1 - 不需要回复3 bit:Broadcast广播类型0 - Broadcast 1对多(此时后续字段Target ID没有意义,可忽略)1 - point to point 点对点4 bit - 7 bit:保留,为0。当网络处于初始化阶段,由Interrogator和Tag发出的Broadcast广播命令包建议If Reply字段设置为0,即不需要回复。5.3.3 Group ID field该字段共3bytes,用于唯一标志Interrogator和tag所属的网络,只有同属于同一个Group ID

14、的Interrogator和tag之间、tag和tag之间才能够进行通讯。Group ID在Interrogator发出第一个用于确定网络拓扑结构的命令广播时确定,以后每一个监测到该广播并且没有Group ID标志的tag都将该Group ID拷贝作为自身的Group ID。5.3.4 Source ID field该字段共6bytes,为发送广播的tag或者interrogator的id。Tag ID和Interrogator ID用于唯一标志每一个Tag和Interrogator,每一个tag和interrogator的id在出厂都已经确定写入ROM中,该id都固定无法修改。5.3.5 T

15、arget ID field该字段共6bytes,为接收广播的tag或者interrogator的id。Tag ID和Interrogator ID用于唯一标志每一个Tag和Interrogator,每一个tag和interrogator的id在出厂都已经确定写入ROM中,该id都固定无法修改。如果广播形式为1对多的方式,则该字段没有意义,其值可能为任何值。如果广播形式为1对多的形式,则字段没有意义,为固定值0XFFFFFFFFFFFF。5.3.6 Command Code field该字段共1byte,表示具体的命令,根据命令需要进行不同的操作。已定义的命令操作如下:命令代码命令名命令类型包

16、类型说明0x10DiscoveryBroadcast命令包确定网络中所有激活的tag,接收到该命令的tag需要回复自身采集的数据。0x11Discovery with IDBroadcast命令包用于检查网络中所有激活的tag,接收到该命令的tag需要回复返回自身的tag id0x12RediscoveryBroadcast命令包当路由出现问题(父节点无法返回数据确认)时tag需要发出该命令,接收到该命令的tag需要做出回复确认0x20LocationPoint to point命令包用于确定具体的tag是否在网络中存在,接收到该命令的tag需要回复确认0x31禁止使用,其余未作出规定的命令代

17、码均作为保留使用。5.3.7 CRC fieldCRC校验字段,共2 bytes。5.4 数据包数据包的格式如下,用于在Tag和Tag之间,Tag和Interrogator之间传输数据,数据包长度为(21+N)byte。PrefixPackage IdentifyGroup ID Source ID Target IDData LengthDataCRC0xFF310x 073 bytes6 bytes6 bytes1 byteN bytes2 bytes5.4.1 Package Identify field0x07表示该包属于数据包。5.4.2 Group ID field该字段共3byt

18、es,用于唯一标志Interrogator和tag所属的网络,只有同属于同一个Group ID的Interrogator和tag之间、tag和tag之间才能够进行通讯。Group ID在Interrogator发出第一个用于确定网络拓扑结构的命令广播时确定,以后每一个监测到该广播并且没有Group ID标志的tag都将该Group ID拷贝作为自身的Group ID。5.4.3 Source ID field该字段共6bytes,为发送广播的tag或者interrogator的id。Tag ID和Interrogator ID用于唯一标志每一个Tag和Interrogator,每一个tag和i

19、nterrogator的id在出厂都已经确定写入ROM中,该id都固定无法修改。5.4.4 Target ID field该字段共6 bytes,为接收广播的Tag或者Interrogator的ID。Tag ID和Interrogator ID用于唯一标志每一个Tag和Interrogator,每一个Tag和Interrogator的ID在出厂都已经确定写入ROM中,该ID都固定无法修改。如果广播形式为一对多的方式,则该字段没有意义,其值可能为任何值。5.4.5 Data Length field该字段共一个字节,表示后续Data字段的字节数,所以Data字段最多只能有28 = 256 byt

20、es,但是受限于整个数据包最多只能有132 bytes,所以本字段最大取值只能为(132 21 = 111)。5.4.6 Data field具体的数据。5.4.7 CRC field2 bytes,用于CRC校验。5.5 Response回复当Interrogator或者Tag收到需要回复的命令时进行回复时采用该种数据格式,包总长度为(22 + N)bytes。PrefixPackage IdentifyPackage TypeGroup ID Source ID Target IDData LengthDataCRC0xFF310x EA1 byte3 bytes6 bytes6 byte

21、s1 byteN bytes2 bytes5.5.1 Package Type field76543210ReservedReservedReservedReservedReserved回复模式数据确认数据确认:表示收到到数据正确与否。- 0表示收到的数据正确- 1 表示收到的数据有错误,需要重发-回复模式:01表示回复的对象是数据10表示回复的对象是重新路由广播00,11保留使用5.5.2 Group ID field该字段共3bytes,用于唯一标志Interrogator和Tag所属的网络,只有同属于同一个Group ID的Interrogator和Tag之间、Tag和Tag之间才能够进

22、行通讯。Group ID在Interrogator发出第一个用于确定网络拓扑结构的命令广播时确定,以后每一个监测到该广播并且没有Group ID标志的Tag都将该Group ID拷贝作为自身的Group ID。5.5.3 Source ID field该字段共6bytes,为发送广播的tag或者interrogator的id。Tag ID和Interrogator ID用于唯一标志每一个Tag和Interrogator,每一个tag和interrogator的id在出厂都已经确定写入ROM中,该ID都固定无法修改。5.5.4 Target ID field该字段共6bytes,为接收广播的ta

23、g或者interrogator的ID。Tag ID和Interrogator ID用于唯一标志每一个Tag和Interrogator,每一个tag和interrogator的ID在出厂都已经确定写入ROM中,该id都固定无法修改。5.5.5 Data Length field该字段共1bytes,表示后续的Data字段一共有多少bytes(包括填充字节)。所以Data字段最多有28 = 256bytes,但是受限于整个数据包最多只能由bytes,所以该字段最大为bytes。5.5.6 Data field广播包携带的具体数据,包括填充字节0xFF长度根据需要确定5.5.7 CRC fieldC

24、RC校验字段,共2 bytes。5.6 链路管理链路管理的主要功能为创建、维持和释放链路,每个节点都需要维持一张链路表,通过链路表来管理该节点发起和收到的所有连接。A一个节点可以发起链接类型包括:1、 不需要回复的广播:成功发出广播包即释放链接2、需要回复的广播:成功发出广播包即释放链接3、点对点数据传输:成功发出数据包后需要维持该链路,直到收到ack后释放链接注:如果收到的ack要求重发,则重新开始发送过程。B一个节点可以接收的链接类型包括:1、接收不需要回复的广播:对该广播包解析完毕后即马上释放链接2、接收需要回复的广播:对该广播包解析完毕后开始发送回复数据包,发送成功后释放链接3、接收点

25、对点传输的数据:对该包解析完毕成功发回ack后释放链接C一个节点需要转发的数据包括:1、转发需要回复的广播:成功发出广播包即释放链接2、转发不需要回复的广播:成功发出广播包即释放链接3、转发数据:成功发出数据包后需要维持该链路,直到收到ack后释放链接注:如果收到的ack要求重发,则重新开始发送过程。一个节点至少要同时维持3个链接,一个用于发送数据,一个用于接收数据,一个用于转发数据,如果节点维持的链接数达到了最大链接数,则该节点将拒绝所有连接请求并且也不能发起任何新的连接请求。链路表结构如下:链路编号链路类型连接类型链路状态数据包地址数据包长度1byte1byte1byte1byte2byt

26、e1byte发送需要ack发送不需要ack接收转发广播数据ack已连接已释放数据包存放的内存地址数据包的长度,最长256byte5.7 MAC子层Interrogator和所有的Tag都使用相同的频点进行数据传输,使用同一个信道,因此必须使用一个协议控制和分配节点对信道的使用权,即MAC(Media Access Control 介质访问控制)技术。5.7.1 CSMA在节点发送数据前先监听网络上是否有别的节点发送的载波信号,如果有,说明信道忙,如果没有,则说明信道空闲,然后根据预定策略决定动作:- 如果信道空闲,是否立即发送- 如果信道忙,是否继续监听5.7.2 监听算法监听算法并不能避免发

27、送冲突,但是可以减小发送冲突的概率。非坚持型:当节点准备好发送数据时监听信道:- 如果信道空闲,立即发送,否则转下一步- 如果信道忙,则后退一个随机时间,然后重复上一步减少了冲突,但是信道利用率降低。1-坚持型:当节点准备好发送数据时监听信道:- 如果信道空闲,立即发送,否则转下一步- 如果信道忙,则继续监听,直到信道空闲立即发送 利于信道抢占,但是如果同时有多个节点监听时必然发生冲突。P-坚持型:当节点准备好发送数据时监听信道:- 如果信道空闲,则以概率P发送,以概率(1-P)延迟一个时间单位。 一个时间单位等于网络传输时延T。- 如果信道忙,则继续监听,直到信道空闲时重复上一步- 如果发送

28、延迟一个时间单位,则重复第一步要点在于P的选择,必须在网络负载很高时网络能有效工作。5.7.3 CSMA-CA本协议中采取CSMA-CA方法来防止碰撞,CSMA-CA全称为Carrier Sense Multiple Access Collision Avoidance,即载波侦听多址接入/碰撞避免,其基本机制为在发送数据前先检测信道是否空闲,如果信道忙,则采用退避算法延迟一段时间再检测信道;如果信道空闲,不立即发送而是延迟一个随机时间后再发送,但是如果在延迟的随机时间内检测到信道忙,则随机时间被取消,重新采用退避算法延迟一段时间然后重新开始检测信道。图4 CSMA/CA一个数据在信道中的处理

29、周期为t(包括Data的网络传播延时,Data的处理时间加上收到Ack的时间),退避算法延迟时间为在RANDOM0,T(在0-T之间的随机数),建议T略大于t,这样可以尽量保证正在使用信道的节点发送数据后能够收到Ack,避免数据的重复发送。退避算法采用采用二进制指数后退算法,后退延迟的时间与后退的次数(即重发次数n)成指数关系,重发的次数越多,后退延迟的时间越长。n超过一定的次数即认为发送失败。5.8 网络路由每个节点都必须保存一个且仅保存一个父节点(Initerrogator为根节点,没有父节点)作为自己传输数据的目标节点,这样形成一个如下的树形路由结构。图5 网络路由在网络初始化阶段,每个

30、节点以监测到的第一个网络初始化广播的发起节点作为自身的父节点,将其余的类似广播都忽略。如上图所示,Tag9对于Tag1和Tag5发出的广播都能监测到,但是先监测到Tag5发出的广播,所以Tag9将Tag5作为自身的父节点,而将其余的类似广播都忽略。6 网络拓扑发现网络拓扑结构有两种,一种为一对多的形式,所有的Tag都为Interrogator的一级节点;另一种为ad-hoc,即Interrogator有N级节点。6.1 一对多6.1.1 建立链路在此情况下,Interrogator有三种状态:广播、接收和回复;tag有五种状态:监听、识别、记录、发数据、等待回复和睡眠。Interrogator

31、Interrogator发送命令广播包(REQUEST)并开始计时。在REQUEST中描述了发起者的类型(即为Interrogator)。当时间超出,Interrogator即认为所有的Tag都收到广播,开始进入接收状态。一旦收到tag的数据包,Interrogator随即返回Response回复命令。并判断是否收到全部tag的数据包,若没收到全部,则将时间窗口*2,继续接收,直到收到全部数据。Interrogator的流程图如下图所示:图6 Interrogator建立链路 Tag 图7 Tag建立链路Interrogator向周围发送命令广播包(REQUEST),并开始计时。当时间超出时,

32、Interrogator即认为所有的Tag都收到广播,即链路已建立,开始进入接收状态。一旦收到tag的数据包,Interrogator随即返回Response回复命令。6.1.2 防碰撞Interrogator设置一段时间窗口(窗口的大小可自己定义,最小为57.3ms)。时间窗口又可分为N个时隙(slot),每个时隙都足够Interrogator接收数据。Tag在1-N中随机选择一个slot发送数据。当一个slot只有一个数据时,Interrogator接收,并发送回复命令Response。Tag收到回复命令后转入睡眠状态。若一个slot中有若干个数据时,其tag在下一个时间窗口从1-(N+N

33、)中重新选择一个slot发送。图8 防碰撞机制6.2 ad-hoc 6.2.1 构建路由树InterrogatorInterrogator向它周围的Tag发送命令广播包(REQUEST),并开始计时。当时间超出时,Interrogator即认为所有的Tag都收到广播,开始进入接收状态。一旦收到tag的数据包,Interrogator随即返回Response回复命令。Interrogator的流程图如下:图9 Interrogator建立链路 TagTag初始化后一直处于监听状态。当监听到有广播后,便分析CommonTypeField字段来识别该广播的来源为Interrogator还是Tag。随

34、后记录广播来源,并与其父节点同步计数器。Tag修改广播中某些字段后向其周围的Tag广播,并开始计时。当时间超出时,Tag接收数据。一旦收到数据包,tag随即返回Response回复命令。当并计数器中的值与tag的ID值相同时,tag发送数据,并计时等待回复。若在时间超出前收到回复,则结束;否则进行异常处理。Tag流程图如下所示:图10 tag建立链路Interrogator向周围发送广播并计时。收到广播的节点根据广播内容识别发送者为Interrogator并记录,此时一级节点建立。一级节点再向周围广播并计时。一级节点可能会收到其他一级节点的广播,但不予以理会(节点只会在第一次收到广播时记录)。

35、这样二级节点建立,以次类推。当Interrogator和tag的计时器到时,他们开始收发数据。图11 确定路由链路6.2.2 防碰撞调度机制每个tag都有一个计数器,并且在tag进入网络前都会分配到一个固定的ID。在所有的广播中都含有计时同步,这样所有的计数器在发送数据前都被同步了。计数器进行周期循环计数。当计数器中的数值和ID号相同时,便轮到该ID号的tag发送数据。为了防止ID号相近的tag在发送数据时发生碰撞,因此在构建网络时相近ID号的tag应该尽量分散。图12 防碰撞机制6.2.3 新节点入网过程当一个节点要加入网络时,它广播一个parent request(PRQ)包,来寻找父节点

36、。在网络中收到此广播的节点将回复一个child request(CRQ)包。新加入的节点记录所有的回复的节点的ID,并在其中指定一个为它的父节点,并向其父节点发送一个child reply(CRP)包等待child acceptance(CAC)回复。假如当一个节点发送parent request(PRQ)广播包后在规定的时间内并没有收到child request(CRQ)包,随即认为此网络中无其他节点。它会定时的广播parent request(PRQ)包,直到收到child request(CRQ)包。图13 新节点入网6.2.4 节点失效异常处理tag发出数据后在规定的时间里没有收到答复

37、,即认为链路出错需要进行异常处理。异常处理机制如下:tag先向周围发送Rediscovery广播,它的子节点收到此广播对来源的ID进行比较,发现和其父节点的ID相同,不予理会。其他节点,收到广播后给予回复。在Counter=ID时tag向第一个回复的tag/Interrogator发送数据并计时。在时间超出前收到Response回复命令,则结束异常处理;否则重复异常处理。图14 异常处理如上图所示2号Tag向3号Tag发送数据,在时间超出后还未收到3号Tag的回复。2号tag随即向周围发送Re-discovery广播。1号tag、15号tag、4号tag和14号tag都收到广播。1号tag收到

38、广播后发现是父节点所发的Re-discovery广播,不予理会。15号tag、4号tag和14号tag先后向2号tag发送Response回复命令。2号tag最先收到4号tag的回复。则2号tag就向4号tag发送数据,并等待4号tag的回复。若在规定时间内没有收到4号tag的Response回复命令,2号tag继续向周围发送Re-discovery广播。当节点发送数据后在规定的时间内得不到回复,就成为失去父节点的孤点,将要重新寻找父节点。若该孤点曾发送过parent request(PRQ)广播包,则所有回复child request(CRQ)的节点都会被记录在从parental candi

39、date table(PC表)中。若PC表中有数据,该孤点从parental candidate table(PC表)中选择最合适的一个节点作为父节点。否则该孤点发送parent request(PRQ)广播包,并等待child request(CRQ)回复(它的所有子节点收到该广播包都不会回复)。所有回复的节点都会被记录在parental candidate table(PC表)中,该孤点从中选择一个作为父节点。若在规定的时间内得不到child request(CRQ)回复,该孤点将向它的子节点发送parent query(PQR)。子节点回复parent reply(PRP)包,包中含有子

40、节点parental candidate table(PC表)中的内容。孤点从收到回复包后,从parental candidate table(PC表)不为空的子节点中任意选择一个作为父节点,并向其发送reverse(REV)。被选中的子节点就会从其parental candidate table(PC表)中选择一个节点做为它的父节点。若孤点的所有子节点的parental candidate table(PC表)都为空,则孤点仍会随机选择一个子节点作为它的父节点,并向其发送reverse(REV)。被选中的子节点将会用新节点入网的方法重新寻找它的父节点(详见6.2.3)。7 应用层Interr

41、ogator有三种功能分别为选择、清点和访问。图14 应用层功能- 选择:Interrogator通过Select命令来选择tag。Select的参数为Target-ID,指出所选择的tag的ID号。- 清点:在Interrogator选择了tag后,所选择的tag随即向Interrogator发送数据。Interrogator在收到数据后通过Ack命令向该tag答复。- 访问:Interrogator可通过Read,Write,Block-Erase等命令来对tag操作。8 附录1:包格式8.1 Interrogator发出的路由广播用于确定路由,不需要回复,属于命令包。路由完成后节点需要发

42、回数据包。PrefixPackage IdentityCommand TypeGroup IDSource IDTarget IDCommand CodeCRC0xFF310x E70000 01013 bytes6 bytes6 bytes0x102 bytes收到该包的节点需要完成的工作:- 将Group ID设置为自身的Group ID- 将Source ID设置为自身的父节点- 修改Source ID后转发该广播包8.2 Interrogator发出的检索广播用于确定网络中有多少tag,tag需要回复自身的id,属于命令包。回复包为数据包PrefixPackage IdentityCo

43、mmand TypeGroup IDSource IDTarget IDCommand CodeCRC0xFF310x E70000 00013 bytes6 bytes6 bytes0x112 bytes收到该包的节点需要完成的工作:- 检查自身是否有父节点,如果有,则忽略该包;如果无,则执行以下步骤- 将Group ID设置为自身的Group ID- 将Source ID设置为自身的父节点- 修改Source ID后转发该广播包- 发回回复数据包8.3 Interrogator发出的特定检索广播用于确定网络是否存在某个确定的tag,tag需要回复自身的id,属于命令包。回复包为数据包。Pr

44、efixPackage IdentityCommand TypeGroup IDSource IDTarget IDCommand CodeCRC0xFF310x E70000 10013 bytes6 bytes6 bytes0x202 bytes收到该包的节点需要完成的工作:- 检查自身是否有父节点,如果有,则发出回复数据包;如果无,则执行以下步骤- 将Group ID设置为自身的Group ID- 将Source ID设置为自身的父节点- 修改Source ID后转发该广播包- 发回回复数据包8.4 Tag发出的路游广播parence request(PRQ)新节点加入网络时用于确定路由

45、,需要回复,属于命令包。PrefixPackage IdentityCommand TypeGroup IDSource IDTarget IDCommand CodeCRC0xFF310x E73 bytes6 bytes6 bytes2 bytes8.5 Tag发出数据后无法收到回复时发出的广播收到广播的节点需要做出回复,属于命令包。回复包为ack包。PrefixPackage IdentityCommand TypeGroup IDSource IDTarget IDCommand CodeData LengthDataCRC0xFF310x E70000 00113 bytes6 by

46、tes6 bytes0x12 1bytesN bytes2 bytes收到该包的节点检查自身的父节点是否与Source ID相同,如果相同则将该包丢弃,否则回复ack(response数据包)。8.6 数据包收到数据包的节点需要发回ack包。PrefixPackage IdentifyGroup ID Source ID Target IDData LengthDataCRC0xFF310x 073 bytes6 bytes6 bytes1 byteN bytes2 bytes如果Target ID是Interrogator,则Interrogator接收到该包后即发回ack(response包)后传输完成。如果Target ID是Tag,则Tag接收到该包修改Target ID后转发该包,然后发回ack(response包)后传输完成。8.7 回复包Ack, response数据包PrefixPackage IdentifyPackage TypeGroup ID Source ID Target IDData LengthDataCRC0xFF310x EA1 byte3 bytes6 bytes6 bytes1 byteN bytes2 bytes该包用于对需要回复的数据包进行回复。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!