session中的数据存储时间_关于EPC中存储数据的说明

搞RFID的都知道,标签分为RESERVED区,EPC区,TID区,USER区。其中EPC区作为可编辑的快速可读写区域,大多数项目都使用EPC,下面对EPC做个简单介绍。

首先普及一下bit(位),byte(字节),word(字)的基本概念,1个bit就是一个二进制位,只能存放0或1;一个byte是由8个二进制位组成;一个word由两个byte组成。比如常见的96bit的EPC区,是存24位数字的,确切说,是24个十六进制数字(0-F)。也就是二进制和十六进制对应的4次幂的关系,所以96/4=24,同理,128位的EPC,则由32位十六进制数字表示。继续计算,一个word则是16bit,也就是由4个十六进制数字,ISO18000 - 6C中都是以word为单位去做读,写的,所以你发现一次最少也要读或者写4个十六进制数字。于是,人们经常叨念的“起始地址2,长度6....”就这么来的。

言归正传,EPC存储器内部,也分了三个区域,其中前16位分给CRC检验区,第二个16位是PC值,从第33个位开始才是EPC值的开始。换另一种说法就是EPC存储器内,前四个数是CRC检验用的,第二个四位数是PC值,后面的才是EPC....计算机世界里所谓的第一位,其实是0位,所以第0位存放了CRC,第1个位置存放了PC,第二位开始才是EPC。所以再叨念一遍“起始地址2,长度6....”,是不是更有感觉了?

CRC占领的16bit空间,主要是为了检验,过滤错误值,其中的数据是通过校验算法自动生成,如果使用读写器盘n个标签,却返回来n+x个epc值,要么标签芯片的CRC校验有问题,要么读写器没有CRC校验算法,所谓“幽灵标签”的说法,其实来源于此。你遇到过类似现象没有?

PC值占领了第二个16bit空间,它的主要作用是决定盘EPC时,返回EPC值的长度,有软件截取前多少位的感觉。一个没做初始化的标签,其PC值是0000,也就是盘点时,返回EPC长度也为0,于是有的读写器,会有盘点到标签的滴滴声,有计盘点次数,就是没EPC信息,原因在于此。那么,PC值是如何规定EPC长度的呢?答案是,看PC值的前5个bit,前5位的值是多少,就代表EPC有几个word!例如,很多人都知道PC值写4000代表可以盘到32位EPC的数字,写3000可以盘到24位EPC的数字,其实4000写成二进制就是0100 0000 0000 0000,前5位01000,也就是8,8个word就是32位十六进制数字;3000可以写成0011 0000 0000 0000,前5位就是00110,也就是6,6个word也就是24位十六进制数。(留个家庭作业,用这种方法反推,如果想让盘点出来的EPC长度是12位,那么PC值应该设置成多少?不会的加L276963271单聊,发10块钱红包还能给你喷两小时不带重复滴),这时你会发现,EPC是有最大长度的,PC值前5位二进制数字最大也就是11111,折算成咱们常见十进制数字也就是31,也就是最多可以容纳31*4=124个十六进制数字,也就是EPC的最大容量是31*16=496bit。

最后说说咱们伟大的EPC,其实前面聊了那么多,EPC也没啥可讲的了,EPC区作为可读可以区域,做项目时一定要写权限加密或锁定,加密或锁定,加密或锁定!!!我有n次偷偷带RFID手持机到应用现场,发现很多EPC是敞开的,可以随便改,在这里只想说,享受RFID便捷的同时,也要防患于未然啊~

最后感谢松哥和强哥两位童鞋的帮助,让我此刻对各种二进制和十六进制,是如此明晰!

e58ebb4a8b41c3c0cf13add7947bbc00.png
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值