用c语言编写rfid读卡系统,USB免驱RFID读写器编程解析之一:智能卡篇
随着RFID应用的普及,越来越多的软件工程师需要使用RFID读写器编程来实现自己的需求。为了使软件工程师更快的了解RFID读写器的使
用,本文选择一款市面上常用的USB免驱RFID读写器SDT-HA来做解析。USB免驱一般是使用USB HID接口,因为windows系统本身带有HID接口的驱
动,所以不需要单独发布驱动程序。
要编写RFID读写器的程序,先必须了解RFID读写器读写的卡的内存结构。现在广泛使用的是以M1(S50)卡及其兼容卡为代表的智能卡,以
下将详细介绍S50卡的内存结构。
标准S50智能卡有8Kbits内存,相当于1K字节,实际可以用来的存储数据的有752字节,为什么会缩水,在稍后的内存介绍中将会解释。
标准S50智能卡有16个扇区,每个扇区有4块,每块有16个字节。这全部算下来就是16*4*16=1024字节(1K)。由于块是卡结构的最小管理
单位,所以我们在读写这张卡的时候就是按照块来操作的,就是说必须是16个字节。每4个块组成了一个扇区单元,组成扇区单元的目的就是为
了管理卡的密钥,也就是卡的密钥和扇区是对应的。有16个扇区,也就有16组密钥各自独立的工作着。某组密钥只是对这个扇区(4个块)管用
,与其他的扇区无关。这种设计可以使此智能卡可以同时作多达16种不同的应用。
每个扇区的密钥都存放在该扇区的最后一块,占用了一个单独的块。密钥分为A密钥和B密钥,关于密钥可以参见文章《关于S50卡密钥A和密钥B》。
第0扇区的第0块用于保存序列号等相关数据,是只读的,不能写入任何数据。如果我们按照顺序定义块,那么块号就是从0到63。0到3块
为第0扇区,4到7块为第1扇区,依此类推,第60到63块为第15扇区。其中第0块是只读的,第3块,7块....第63块全部是密钥块,不能用来保存
数据, 所以总的可以保存数据的块为16*3-1=47块,共47*16=752字节。
用c语言编写rfid读卡系统,USB免驱RFID读写器编程解析之一:智能卡篇相关推荐
- Win7 64位系统USB免驱设备驱动识别失败解决方法
插入USB设备,然后打开设备管理器,选择要安装驱动的设备,然后选择计算机的指定位置. 选择c:\windows\winsxs位置或者C:\WINDOWS\SYSTEM32\DRIVERSTORE位置
- 韦根读卡电路c语言程序,私人项目开源 — 低成本125K RFID读卡模块(原理图+PCB+代码+调试)...
RFID读卡模块原理图是ORCAD的,有PDF预览,PCB是PADS的,还有BOM烧写说明,标注图等.其中UART输出是量产过的 韦根输出的只是看示波器波形是对的,没有实际应用:里面有源代码,编写前提 ...
- 板线分离嵌入式RFID读卡模块NFC读写模块HX880系列的应用案例
HX880系列高频IC卡读写模块是华翔天诚科技一款支持ISO14443A/B,ISO15693双协议.支持S50.S70.Ultralight.FM11RF08.FM1208.MF Pro.MF Fe ...
- 如何开发Android安卓RFID读卡APP
读卡器介绍:免驱RFID读卡器 Web读卡器 可二次开发 Android.Linux 乐乐课堂-淘宝网 (taobao.com)https://item.taobao.com/item.htm?spm ...
- FDX-B|EMID格式低频RFID 读卡模块LD6900技术选型与说明
FDX-B|EMID格式低频RFID 读卡模块LD6900是华翔天诚推出一款基于 RFID 无线射频识别技术的低频(LF)读卡模块,工作频率支持 134.2KHZ.125KHZ,符合 ISO 1178 ...
- 用c语言做RFID读卡程序,2.STM32读卡号读写数据代码示例3.0(C语言)
文件名大小更新时间 2.STM32读卡号读写数据代码示例3.0(C语言)\HFRFID.uvgui.WEIZAI736912016-07-15 2.STM32读卡号读写数据代码示例3.0(C语言)\H ...
- 韦根读卡电路c语言程序,RFID读卡模块电路图、PCB源文件 125K RFID读卡模块 - 下载 - 搜珍网...
RFID项目\ATtiny13_cn.pdf RFID项目\PCB示意图.png RFID项目\RFID BOM.xls RFID项目\RFID_0630.pcb RFID项目\RFID_UART\. ...
- 低频RFID读卡流程
低频RFID系统与ID卡 低频RFID系统读卡器的工作频率范围一般从120KHz到134KHz.该频段的波长大约为2500m,除了金属材料影响外,一般低频能够穿过任意材料的物品而不降低它的读取距离.低 ...
- 用c语言编写程序学工系统,[工学]chap02_用C语言编写程序.ppt
[工学]chap02_用C语言编写程序 Chap 2 用C语言编写程序 2.1 在屏幕上显示 Hello World! 2.2 求华氏温度 100°F 对应的摄氏温度 2.3 计算分段函数 2.4 输 ...
最新文章
- 如何用Python从本地将一个文件备份到Google Drive
- 在数据库SQl中拼串
- html5基础知识文档,HTML5基础知识(1)
- java 判断是否是日期_java判断是否为日期的方法(附代码)
- text 热敏打印机_只要有想象力,打印机都能做游戏
- 将历史、数学、语文、地理、政治知识融会贯通的诀窍就是它
- 机械动作时序图怎么画_人物动作怎么画?动漫绘画人物姿势的基本画法!
- SylixOS电源管理之外设功耗管理
- C宏的一个技巧:可变参数
- 菲波那契数列编程实现
- 用R解析Mahout用户推荐协同过滤算法(UserCF)
- spring基于注解的 IOC 配置ioc实现crud
- 青少年计算机知识,学习计算机程序设计和算法知识对青少年教育有什么帮助?...
- 3Dmax读取丢失的贴图的方法
- C语言程序100例之C#版-029
- 二倍图三倍图什么意思_iOS开发中的二倍图、三倍图
- 计算机老出现安全警报怎么办,windows安全警报怎么关闭,教您怎么关闭windows安全警报...
- 谢孟媛老师 初级文法学习笔记
- 出海企业怎么选择国际短信平台
- 开源游戏服务器框架NoahGameFrame(NF)服务器端环境搭建(二)