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字节。

(转载请注明出处: 友我科技网站 http://www.youwokeji.com.cn)

最新版RFID读写器产品手册下载

(转载请注明出处: 友我科技网站 http://www.youwokeji.com.cn)

最新版RFID读写器产品手册下载

时间: 2024-12-09 13:23:36

USB免驱RFID读写器编程解析之一:智能卡篇的相关文章

技巧.【转】在虚拟机Vmware中使用HID设备(如USB免驱键盘)

https://blog.csdn.net/future_ai/article/details/80603724 1. 2. 3. 4. 5. 原文地址:https://www.cnblogs.com/vmskill/p/10241829.html

国产免驱USBasp下载线烧录Arduino BootLoader的方法

本文仅适用于BootLoader损坏且买到国产免驱USBasp下载线导致IDE无法识别从而不能烧写的情况.是一种略显非主流的操作方式. 因为Arduino的IDE并不支持这种免驱的USBasp线,会提示错误. 事情的全程是这样的: 1.症状 用Arduino控制舵机不慎玩脱了,插入电脑时,在“设备管理器”中没有串口提示,用Arduino IDE无法下载程序到电路板中,提示找不到COM口.而且电脑也找不到串口.估计是BootLoader损坏了,准备用USBasp下载线重新烧录. 2.准备解决 之前

Android网络编程(七)源码解析OkHttp前篇[请求网络]

相关文章 Android网络编程(一)HTTP协议原理 Android网络编程(二)HttpClient与HttpURLConnection Android网络编程(三)Volley用法全解析 Android网络编程(四)从源码解析volley Android网络编程(五)OkHttp2.x用法全解析 Android网络编程(六)OkHttp3用法全解析 前言 学会了OkHttp3的用法后,我们当然有必要来了解下OkHttp3的源码,当然现在网上的文章很多,我仍旧希望我这一系列文章篇是最简洁易懂

LLRP协议--基于低级别读写器协议的无线射频识别中间件系统

第一章  LLRP协议介绍 在一个RFID系统中,LLRP 协议为上层应用层(Clinent)与底层物理层(读写器设备)之间的中间接口(如图1-1),底层物理层因厂商不同而有差异,LLRP 协议将低层物理层的差异屏蔽掉,为上层应用提供统一的协议接口,使得上层应用可以无差别的对下层的读写器进行控制和管理. LLRP  协定定义了客户端与读写器之间通讯的格式与过程,LLRP 协议通讯格式单元为数据协议单位(PDU),即报文(Messages). LLRP 协议三个作用:标签数据的处理.读写器装置的管

Mifare系列6-射频卡与读写器的通信(转)

文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38085415 1. 复位应答(Answer to request) 读写器呼叫磁场内的卡片,卡片对呼叫做出应答.对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入 休眠状态的卡片,卡唤醒(WAKE-UP,0x52).其中卡请求(REQA)只能呼叫处于休闲(Idle)状态的卡片,卡唤醒(WAKE-UP)可以呼 叫所有卡片,包括处于休

MIFARE系列6——射频卡与读写器的通讯

1. 复位应答(Answer to request) 读写器呼叫磁场内的卡片,卡片对呼叫做出应答.对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入休眠状态的卡片,卡唤醒(WAKE-UP,0x52).其中卡请求(REQA)只能呼叫处于休闲(Idle)状态的卡片,卡唤醒(WAKE-UP)可以呼叫所有卡片,包括处于休眠(Halt)和休闲状态的卡片. 收到卡呼叫命令后,卡片将对命令做出应答(AnswerTo Request,ATQA), 读写器以特定的协

LIB 配置文件读写器

由于读写配置文件的次数比较频繁,而且拥有众多的类库,到最后,直接被各种各样的类库烦死. 顺手封一个简单,实用的.主要功能: 读写AppSetting 读取连接字符串 读取自定义配置节 using System; using System.Configuration; using System.Web.Configuration; namespace HPWorkUtility { /// <summary> /// 配置文件读写器 /// </summary> public cla

MATLAB获取“非免驱的相机或者摄像头”的图像数据

Image Acquisition Toolbox? Adaptor Kit 图像采集工具箱 当要使用MATLAB获取"非免驱的相机或者摄像头"的图像数据时,需要开发一个插件,MATLAB提供了插件接口,MATLAB中有范例和说明书,以方便二次开发. 通过imaqtool命令注册调用插件,可以预览相机或摄像头,也可以查看和设置参数. 有意思的事情是: 刚开始在计算机win7 32位系统安装了MATLAB R2009a,安装目录中有32位和64位的lib,用vs2008都开发了插件. 拿

文件读写器FileRW 1.0发布

这个软件未发布前,当年被计算机杂志报道过. FileRW 文件读写器 1.0功能介绍:1.可以以各种方式读普通文件和I/O文件.2.可以以各种方式写文件.3.可以配置文件的分享读写方式.4.可以指定文件属性.5.可以指定文件的创建属性.6.可以设置自动读写的频率,实现自动读写.7.可以指定每次读写的字节数.其他功能请见软件界面.本软件定价70元人民币. 软件文件下载地址:http://files.cnblogs.com/files/gdigital/FileRW.rar