1  Unique identifier (UID)

  The VICCs are uniquely identified by a 64 bits unique identifier (UID). This is used for addressing each VICC uniquely and individually, during the anticollision loop and for one-to-one exchange between a VCD and a VICC.

  The UID shall be set permanently by the IC manufacturer in accordance with figure 1.

  

  The UID comprises

  • The 8 MSB bits shall be 'E0',

  • The IC manufacturer code, on 8 bits according to ISO/IEC 7816-6/AM1,

  • A unique serial number on 48 bits assigned by the IC manufacturer.

2  Example

 entity uid15963 is
port
(
RST : in std_logic; --! Async Reset
C : in std_logic; --! Clock
CE : in std_logic; --! Enable
BCNT : in std_logic_vector( downto ); --! byte counter
MANUFACT : in std_logic_vector( downto ); --! Manufacture-Code from EEPROM
SERIAL : in std_logic_vector( downto ); --! Serial number from EEPROM
BYTE : in std_logic_vector( downto ); --! Data byte input
UIDVALID : out std_logic;  --! UID is OK
MFCVALID : out std_logic --! MANUFACT is OK (for custom commands)
);
end uid15963;
signal c_valid : std_logic;                --current validation
signal n_valid : std_logic; --next validation signal compare : std_logic_vector( downto ); --compare results begin --! It's an D-Reset-Flip-Flop with enable ...
pff: process (RST,C)
begin
if RST = '' then
c_valid <= '';
MFCVALID <= '';
elsif C'event and C = '' then
if CE = '' then
if BCNT = "" then
c_valid <= n_valid;
MFCVALID <= compare();
else
c_valid <= c_valid and n_valid;
end if;
end if;
end if;
end process; UIDVALID <= c_valid; compare() <= '' when BYTE = X"E0" else '';
compare() <= '' when BYTE = MANUFACT else '';
compare() <= '' when BYTE = SERIAL( downto ) else '';
compare() <= '' when BYTE = SERIAL( downto ) else '';
compare() <= '' when BYTE = SERIAL( downto ) else '';
compare() <= '' when BYTE = SERIAL( downto ) else '';
compare() <= '' when BYTE = SERIAL( downto ) else '';
compare() <= '' when BYTE = SERIAL( downto ) else ''; with BCNT select
n_valid <= compare() when "",
compare() when "",
compare() when "",
compare() when "",
compare() when "",
compare() when "",
compare() when "",
compare() when others;

RFID之UID的更多相关文章

  1. Arduino + RFID 读取 IC 卡 Arduino uno中获得RFID的UID 并通过串口转发RFID卡号

    RFID简介:射频识别即RFID(Radio Frequency IDentification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定 ...

  2. RFID应用范围

    RFID应用范围 (1)物流: 物流过程中的货物追踪,信息自动采集,仓储应用,港口应用,邮政,快递 (2)零售: 商品的销售数据实时统计,补货,防盗 (3)制造业: 生产数据的实时监控,质量追踪,自动 ...

  3. RFID Hacking④:使用ProxMark3 破解门禁

    文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...

  4. RFID 仿真/模拟/监控/拦截/检测/嗅探器

    Sound card based RFID sniffer/emulator (Too tired after recon.cx to do draw the schematics better th ...

  5. RFID 基础/分类/编码/调制/传输

    不同频段的RFID产品会有不同的特性,本文详细介绍了无源的感应器在不同工作频率产品的特性以及主要的应用. 目前定义RFID产品的工作频率有低频.高频和甚高频的频率范围内的符合不同标准的不同的产品,而且 ...

  6. RFID Hacking③:使用ProxMark3嗅探银行闪付卡信息

    0×00 前言 RFID是Radio Frequency Identification的缩写,术语为射频识别,俗称电子标签.按照工作频率的不同,RFID标签可以分为低频(LF).高频(HF).超高频( ...

  7. 玩转无线电 -- 温哥华天车 RFID 票务系统

    0x00 前言 如今物联网 RFID系统已经完全融入了我们的生活当中. 从楼宇门禁到 Apple Pay. 可以说其身影是无处不在.很多网友也分享了自己对RFID系统的安全测试心得.不过大多还是基于门 ...

  8. RFID Hacking①:突破门禁潜入FreeBuf大本营

    某天,偶然间拿到了FreeBuf Pnig0s同学的工卡信息,终于有机会去做一些羞羞的事情了 引子 以下故事纯属虚构,如有雷同,纯属巧合. 我应聘了一个大型IT公司的"网络攻击研究部经理&q ...

  9. C++ MFC实现基于RFID读写器的上位机软件

    C++ MFC实现基于RFID读写器的上位机软件 该博客涉及的完整工程托管在https://github.com/Wsine/UpperMonitor,觉得好请给个Star (/▽\=) 运行和测试环 ...

随机推荐

  1. Ubuntu下搭建java开发环境

    JDK安装: 1. 在http://www.oracle.com/technetwork/java/javase/downloads/index.html上下载相应版本的JDK环境,这里我使用的是jd ...

  2. YTU 2616: A代码完善--简易二元运算

    2616: A代码完善--简易二元运算 时间限制: 1 Sec  内存限制: 128 MB 提交: 280  解决: 187 题目描述 注:本题只需要提交填写部分的代码,请按照C++方式提交. 编写二 ...

  3. 【Todo】InnoDB、MyISAM、数据库引擎

    关于InnoDB和MyISAM引擎的对比,下面这篇讲的挺好 http://www.cnblogs.com/vicenteforever/articles/1613119.html 这一篇关于InnoD ...

  4. android--多View切换viewpager

    网上看到viewpager的多view动画切换,模仿制作了一个  学习到了. 先看效果图:      先看主类的layout <LinearLayout xmlns:android=" ...

  5. Qt之模型/视图(自定义按钮)

    简述 衍伸前面的章节,我们对QTableView实现了数据显示.自定义排序.显示复选框.进度条等功能的实现,本节主要针对自定义按钮进行讲解,这节过后,也希望大家对自定义有更深入的了解,在以后的功能开发 ...

  6. BZOJ 4551 树

    线段树+标记永久化. #include<iostream> #include<cstdio> #include<cstring> #include<algor ...

  7. python numpy array 的一些问题

    1 将list转换成array 如果list的嵌套数组是不规整的,如 a = [[1,2], [3,4,5]] 则a = numpy.array(a)之后 a的type是ndarray,但是a中得元素 ...

  8. Maven加依赖包

    对于初学maven的人来说刚开始会有个困惑,那就是怎么知道依赖的jar的groupId和atrifactId是什么, 比如要依赖mybatis,会在pom.xml中配置如下: <dependen ...

  9. nodejs学习--express篇

    express篇:http://www.runoob.com/nodejs/nodejs-express-framework.html Express 提供了内置的中间件 express.static ...

  10. IOS公司开发者账号申请详细教程

    谈到苹果开发者账号,我们需要区分一下个人账号.公司账号和企业账号这三种,还有一种是教育账号,这个就不多说了. 个人账号:个人申请用于开发苹果app所使用的账号,仅限于个人使用,申请比较容易,$99. ...