1、设备技术指标通讯接口: 内置式 RS232 串口;外置式 RS232 串口、TTL 串口或标准并口串口波特率:1200115200BPS 并口传输方式:全字节(BYTE MODE)和半字节(NIBBLE MODE) 电源:内置式 DC5V10%;外置式 AC220V10% 最大功耗:100 mW 环境温度:050 相对湿度:30%95% 外型尺寸:内置式 138mm120mm25mm(长 宽 高);外置式 150mm118mm100mm(长 宽 高)重量:内置式约 200 克;外置式约 500接口特性读写器采用 DB25/F 接插件与外界通讯,PIN 脚使用如下:D0-D7:并行通讯数据总线,
2、BYTE MODE 时,为双向数据传送。ND0-ND3:并行通讯数据线,NIBBLE MODE 时为数据上行线,下行线为 D0-D7。TXD, RXD:串行通讯时为 TTL 接口,并行通讯时为握手信号线 PTRCLK,HOSTBUSY。T1,R1:串行通讯时为 232 接口。SLT:通讯方式选择线,低电平时选择并口,高电平,或悬空时选择串口。GND:接地线。由于数据总线的存在,此读写器可方便的与其他系统进行系统集成,只须把读写设备接到自己系统的总线上即可(具体内容请参看并行通讯 1284 协议)。读写设备分类及型号读写设备分类设备类型 接口方式 操作卡型 卡座类型 放置方式RD 通用读写器 串
3、并两用 各种存储器卡 自弹式推推式推拨式内置式外置式CPU 卡专用读写器 串并两用 CPU 卡 推推式推拨式外置式存储器卡专用读写器 串并选一 用户定制卡型 推推式推拨式外置式MIX 混合读写器 串并两用 CPU 卡各种存储器卡推推式推拨式外置式建立连接建立连接初次运行系统时,系统按自动测试方式建立连接,并将成功连接的参数保存在系统文件中。下次运行时系统将自动按保存的参数建立连接。系统建立连接成功,则在提示信息中显示当前连接方式。例如, “当前接口:串口 1 9600”,表示读写器连接在 COM1,通讯速率为 9600BPS。如设备密码有效,则必须先核对密码,才能进行后续操作。如密码无效或核对
4、密码正确后,系统将做如下操作:1、读硬件版本号(读写器 CPU 程序版本号,参见函数 srd_ver( )) ;2、读产品序列号(产品生产批号,参见函数 srd_snr( )) ;3、读设备计数值;(参见函数 val_read())建立连接失败,系统显示提示信息。此时请用户检查读写器电源、端口等是否连接正确,连接方式是否设置正确,再执行建立连接操作;或选择自动测试方式,让系统自行连接。注:1、提示信息显示各项操作的结果或出错信息。鼠标双点框内文字可清空该区域。2、软件版本号表示本演示软件的版本号。3、用户可根据是否显示硬件版本号及产品序列号,来判断是否连接成功。更改连接连接成功后,用户可以更换
5、读写器端口,指定连接方式,更改连接。自动测试按串口 1串口 4、并口 0x378、并口 0x278 的顺序测试连接。设备操作设备计数该功能将用户指定的整数写入读写器的 EEPROM 中,有效值为 0200,000,000 之间的整数。设备计数值在建立连接时读出。具体运用参见函数:设初值: val_set( )读值: val_read( )加值: val_inc( )减值: val_dec( )设备蜂鸣输入 0255 之间的一个值,读写器按此值鸣响。参见函数 dv_beep( )。密码操作读写器有密码保护功能,并设有一使能开关。设置读写器密码时一定要慎重。如果设备密码设置为有效,则每次设备上电时
6、,必须先核对设备密码,才可以对读写器进行其他操作。如果设备密码遗忘,用户只能穷举尝试或与供应商联系,敬请用户千万小心!设备出厂时,缺省密码为 0xffffff,密码方式设置为无效。在密码设置无效或在密码正确核对有效期间,均可读出或修改设备密码。密码核对的有效期是指从正确核对设备密码开始,到读写器关闭电源为止的这段时间。在此期间即使用户程序已经退出,原先核对的密码仍然有效。具体运用参见函数:核对密码: cmp_dvsc( )读取密码: srd_dvsc( )更改密码: swr_dvsc( )用户备注用户可在读写器的 EEPROM 中写入最长为 384Byte 的备注信息。用户可在备注区中写入读写
7、器编号、公司名称、部门名称、使用者姓名、日期、时间等各种信息。具体运用参见函数:写备注区: swr_eeprom( )读备注区: srd_eeprom( )卡片操作自动测卡对插入读写器的卡进行卡型测试,仅限于 ATMEL 和 SIEMENS 列表中的卡型,SSF1101卡放在 ATMEL 类。具体运用参见函数 chk_card( )。卡片操作选定卡型后,即可进入该卡的操作界面,分为存储器卡和 CPU 卡。C 语言接口函数库我公司提供的 C 语言库函数可在 Borland C、Microsoft C 和 Watcom C 中使用,共包括六种模式库,提供文件如下:C.LIBMWIC.H C 语言库
8、函数头文件MWICT.LIB C 微模式(TINY)函数库MWICS.LIB C 小模式(SMALL)函数库MWICM.LIB C 中模式(MEDIUM )函数库MWICC.LIB C 紧凑模式(COMPACT )函数库MWICL.LIB C 大模式(LARGE)函数库MWICH.LIB C 巨模式(HUGE)函数库C 语言调用库函数的方法(1)建立工程文件;(2)在工程文件中加入所用模式的库;(3)将头文件 MWIC.H 包含在程序中;(4)在程序中调用库中函数。注意事项编译时应注意编译模式要与所选库的模式相同。各种函数的使用方法请参见库函数详细说明。SLE4404 卡特性简介SLE4404
9、 卡为 416 位加密卡,存在读数据、写数据、密码及熔断操作。电气性能416 位容量 208 位应用区 整区擦除特性 温度范围:-3580 至少 10,000 次循环擦写 至少 10 年数据保存期 触点结构和串行接口符合 ISO7816 同步协议保密特性SLE4404 卡的保密特性主要是由用户密码、擦除密码及熔断操作来决定的,熔丝熔断前和熔断后的保密特性有所不同,现说明如下:注:以下的写表示置0,擦表示置1,编程操作时必须先擦后写。(1)存储区名称:厂商代码字节地址: 01字节长度: 2熔断前特性:出厂时已固化,只能读,不能更改熔断后特性:同熔丝前(2)存储区名称:发行商代码字节地址: 27字
10、节长度: 6熔断前特性:用户密码核对正确后,可反复擦写熔断后特性:固化,不可更改(3)存储区名称:用户密码字节地址: 89字节长度: 2熔断前特性:用户密码核对正确后,可读,可更改熔断后特性:核对正确后不可读,但可更改(4)存储区名称:密码错误计数器字节地址: 10字节长度: 1熔断前特性:初始值为 4,用户密码核对出错 1 次减 1,连续 4 次出错,则卡片自动锁死,若其中有一次正确,则计数器恢复为初始值熔断后特性:同熔丝前(5)存储区名称:备注区字节地址: 1113字节长度: 3熔断前特性:用户密码核对正确后,可读,可擦,可写,用户可在其中标注信息熔断后特性:同熔丝前(6)存储区名称:应用
11、区(首字节的第 1 位为写属性控制位,第 2 位为读属性控制位)字节地址: 1439字节长度: 26熔断前特性:读:当 RD 置为1时,任何情况下可读;当 RD 置为0时,用户密码核对正确后,可读;写:用户密码核对正确后,可写;擦:用户密码核对正确后,且擦除密码核对正确,则整区擦除熔断后特性:读:特性同熔丝前;写:当 PR 置为1,用户密码校对正确后,可写;当 PR 置为 0,任何情况下不可写;擦:同熔丝前(7)存储区名称:擦除密码字节地址: 4043字节长度: 4熔断前特性:用户密码核对正确后,可读,可更改熔断后特性:任何情况下不可读,不可更改(8)存储区名称:擦除计数器字节地址: 4451
12、字节长度: 8熔断前特性:不起作用熔断后特性:每校验一次擦除密码,不论对错,擦除计数器减 1,应用区共可擦 64 次提供操作函数(见范例)读操作函数: srd_4404()写操作函数: swr_4404()效验用户密码函数: csc_4404()更改用户密码函数: wsc_4404()读取用户密码函数: rsc_4404()读取密码错误计数: rsct_4404()效验擦除密码函数: cesc_4404()更改擦除密码函数: wesc_4404()读取擦除密码函数: resc_4404()读取擦除计数函数: resct_4404()擦除数据操作函数: ser_4404()模拟个人化函数: fa
13、kefus_4404()个人化操作函数: psnl_4404()清除写保护位函数: clrpr_4404()清除读保护位函数: clrrd_4404()测卡型函数: chk_4404()AT24CXX 卡特性简介AT24CXX 卡(XX 为 01A、 02、04、08、16、32、64)是 XX 位的非加密存储器卡,只存在读、写两种操作。电气性能低电压和标准电压操作5.0(Vcc = 4.5V5.5V)2.7(Vcc = 2.7V5.5V)2.5(Vcc = 2.5V5.5V)1.8(Vcc = 1.8V5.5V)两线串行接口 双向数据传输协议 (1.8V,2.5V,2.7V)电压时 100K
14、Hz 时钟频率,(5V )电压时 400KHz 时钟频率 XX=01 02 时按 8 字节页写方式,XX=04 16 时按 16 字节页写方式,XX=32 64 时按 32字节页写方式 自定时写时间:最大 10ms 循环擦写:1,000,000 次 数据保存期:100 年提供操作函数(见范例)写操作函数:swr_24c01a()读操作函数:srd_24c01a()测卡型函数:chk_24c01a()CPU 卡CPU 卡的内部结构由 CPU 及加密逻辑、 ROM、RAM、EEPROM 及 I/O 几部分组成,构成一个完整的安全体系。读写器支持的 CPU 卡包括 T=0/T=1 模式,T=1 协议
15、的传输基本组成如下:开 始 字 段 信息字段 结尾字段 NAD PCB LEN INF EDC 其中,NAD 长 1 字节,PCB 长 1 字节,LEN 长 1 字节,INF 长 0254 字节,EDC 长 1 字节;LEN 表示 INF 的数据长度, EDC 为开始字段和信息字段的出错校验码。CPU 卡操作范例该范例对 CPU 卡进行产生随机数操作。#include “stdio.h“#include “string.h“#include “mem.h“extern int ic_init(int port,long baud);extern int cpu_reset(int icdev,
16、unsigned char *receive_data);extern int cpu_protocol(int icdev,int len, unsigned char *send_data,unsigned char *receive_data);main()int icdev,st,port;unsigned char icRead200,icWrite200;long baud;port=1;baud=9600;if(icdev=ic_init(port,baud),将用户输入的数据写入卡中。ML 卡按下读出卡中所有单元的数据,如果要修改数据,直接在界面上修改,然后按下。值操作M1 卡
17、可进行读值、初始化值、减值、加值操作。参考函数:rf_initval()rf_readval()rf_increment()rf_decrement()ML 卡可进行读值、初始化值、减值操作。参考函数:rf_initval_ml()rf_readval_ml()rf_decrement_ml()rf_decrement_transfer()读写测试将射频卡放在天线有效范围内,指定读/写地址,点击,系统对该卡进行连续的读/写操作,直至用户点取按钮为止。同时将每个操作步骤调用的函数、操作结果及读出/写入的数据显示在列表框中。VC 调用 16 位或 32 位动态库的方法(1)在.CPP 中包含“MW
18、RF*.H”头文件;(2)在工程文件中加入 MWRF*.LIB 文件。WINDOWS 16/32 位动态库我公司提供 WINDOWS 平台下的 WINDOWS 16 位动态库和 WINDOWS 32 动态库,文件名称如下:MWRF16MWRF16.DLL WINDOWS 16 位动态库MWRF16.H 16 位动态库的头文件MWRF16.LIB 16 位动态库的输入库MWRF32MWRF32.DLL WINDOWS 32 位动态库MWRF32.H 32 位动态库的头文件MWRF32.LIB 32 位动态库的输入库调用 WINDOWS 动态库的方法基于 WINDOWS 平台的各种开发工具调用动态
19、库的方法各不相同,详见如何调用动态库。WINDOWS 16 位和 32 位动态库与 C 语言函数库格式基本相同,它们的区别如下:函数库 rf_init 返回值 icdev 参数 intC 语言库 int rf_init(int port,long baud);baud 9600115200int int16 位库 int rf_init(int port,long baud);baud 9600115200int int32 位库 HANDLE rf_init(_int16 port,long baud);baud 9600115200HANDLE _int16Mifare l 卡特性简介M1
20、 卡为 8K 位的非接触式 IC 卡。电气特性 容量为 8K 位 EEPrOM 分为 16 个扇区,每个扇区为 4 块,每块 16 个字节,以块为存取单位 每个扇区有独立的一组密码及访问控制 每张卡有唯一序列号,为 32 位 具有防冲突机制,支持多卡操作 无电源,自带天线,内含加密控制逻辑和通讯逻辑电路 工作温度: -20 50 工作频率: 13.56MHZ 通信速率: 106KBPS 读写距离: 10mm 以内(与读写器有关) 数据保存期为 10 年,可改写 10 万次,读不限次存储结构M1 卡分为 16 个扇区,每个扇区 4 块(块 03) ,共 64 块,按块号编址为 063。第0 扇区
21、的块 0(即绝对地址 0 块)用于存放厂商代码,已经固化,不可更改。其他各扇区的块 0、块 1、块 2 为数据块,用于存贮数据;块 3 为控制块,存放密码 A、存取控制、密码B,其结构如下:A0A1A2A3A4A5 FF 07 80 69 B0B1B2B3B4B5 密码 A(6 字节) 存取控制(4 字节) 密码 B(6 字节)控制属性每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。在存取控制中每个块都有相应的三个控制位,定义如下:块 0: C10 C20 C30块 1: C11 C21 C31块 2: C12 C22 C32块 3: C13 C23 C33三个控
22、制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如进行减值操作必须验证 KEY A,进行加值操作必须验证 KEY B,等等) 。三个控制位在存取控制字节中的位置如下(字节 9 为备用字节,默认值为 0x69):bit 7 6 5 4 3 2 1 0字节 6 C23_b C22_b C21_b C20_b C13_b C12_b C11_b C10_b字节 7 C13 C12 C11 C10 C33_b C32_b C31_b C30_b字节 8 C33 C32 C31 C30 C23 C22 C21 C20(注: _b 表示取反)其中,黑色区控制块 3,蓝色区控制块 2,绿色区
23、控制块 1,红色区控制块 0。数据块(块 0、块 1、块 2)的存取控制如下:控制位(X=02) 访 问 条 件 (对块 0、1、2) C1X C2X C3X Read Write Increment Decrementtransferrestore0 0 0 KeyA|B KeyA|B KeyA|B KeyA|B0 1 0 KeyA|B Never Never Never1 0 0 KeyA|B KeyB Never Never1 1 0 KeyA|B KeyB KeyB KeyA|B0 0 1 KeyA|B Never Never KeyA|B0 1 1 KeyB KeyB Never N
24、ever1 0 1 KeyB Never Never Never1 1 1 Never Never Never Never(KeyA|B 表示密码 A 或密码 B,Never 表示任何条件下不能实现)例如:当块 0 的存取控制位 C10 C20 C30=100 时,验证密码 A 或密码 B 正确后可读;验证密码 B 正确后可写;不能进行加值、减值操作。控制块(块 3)的存取控制与数据块(块 0、1、2)不同,它的存取控制如下:控制位 密码 A 存取控制 密码 B C13 C23 C33 Read Write Read Write Read Write0 0 0 Never KeyA|B Key
25、A|B Never KeyA|B KeyA|B0 1 0 Never Never KeyA|B Never KeyA|B Never1 0 0 Never KeyB KeyA|B Never Never KeyB1 1 0 Never Never KeyA|B Never Never Never0 0 1 Never KeyA|B KeyA|B KeyA|B KeyA|B KeyA|B0 1 1 Never KeyB KeyA|B KeyB Never KeyB1 0 1 Never Never KeyA|B KeyB Never Never1 1 1 Never Never KeyA|B N
26、ever Never Never例如:当块 3 的存取控制位 C13 C23 C33=100 时,表示:密码 A: 不可读,验证 KEYB 正确后,可写(更改) 。存取控制:验证 KEYA 或 KEYB 正确后,可读不可写。密码 B: 不可读,验证 KEYB 正确后,可写。工作原理卡片的电气部分只由一个天线和 ASIC 组成。天线:卡片的天线是只有几组绕线的线圈,很适于封装到 IS0 卡片中。ASIC:卡片的 ASIC 由一个高速(106KB 波特率)的 RF 接口,一个控制单元和一个8K 位 EEPROM 组成。读写器向 M1 卡发一组固定频率的电磁波,卡片内有一个 LC 串联谐振电路,其频
27、率与讯写器发射的频率相同,在电磁波的激励下,LC 谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到 2V 时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接取读写器的数据。Mifare Light 卡特性简介ML 卡是一种小容量卡,共 384 位,适合于一卡一用。电气特性 容量为 384 位 16 位的数值计算 128 位的数据区(如果不用钱包文件可达 192 位) 用户可自定义控制权限 唯一的 32 位序列号 工作频率: 13.56MHZ 通信速率: 106KB 波特率 防冲 突:同一
28、时间可处理多张卡 读写距离:在 10cm 以内(与天线有关) 卡内无需电源存储结构ML 卡共 384 位,分为 12 页,每页为 4 个字节。存储结构如下:页号 字节 0 字节 1 字节 2 字节 3 说明0 SerNr(0) SerNr(1) SerNr(2) SerNr(3) Block 01 SerNr(4) Size Code Type(0) Type(1) 2 Data(0) Data(1) Data(2) Data(3) Data13 Data(4) Data(5) Data(6) Data(7) 4 Value(0) Value(1) Value_b(0) Value_b(1)
29、Value5 Value(0) Value(1) Value_b(0) Value_b(1) 6 KeyA(0) KeyA(1) KeyA(2) KeyA(3) KeyA7 KeyA(4) KeyA(5) AC-A AC-A_b 8 KeyB(0) KeyB(1) KeyB(2) KeyB(3) KeyB9 KeyB(4) KeyB(5) AC-B AC-B_b A Data(0) Data(1) Data(2) Data(3) Data2B Data(4) Data(5) Data(6) Data(7) (注:_b 表示取反)(1)第 0、1 页存放着卡的序列号等信息,只可读。(2)第 2、
30、3 页及 A、B 两页数据块,可存贮一般的数据。(3)第 4、5 页为数值块,可作为钱包使用,两字节的值以正和反两种形式存贮。只有减值操作,没有加值操作。如果不做钱包使用,则可以做为普通的数据块使用。(4)第 6、7、8、9 页存储着密码 A(6 字节) 、密码 B(6 字节)及存取控制。(5)第 7 页的 2 字节、第 9 页的 2 字节为存储控制,存储控制以正和反的形式存两次。Bit 7 Bit 6 Bit 5 Data2WriteEnableBit 4 Data2readEnableBit 3 Key+ACWriteEnableBit 2 ValueWriteEnableBit 1 Data1WriteEnableBit 0 Data1readEnable例如:AC-A 的初始值为 ff,即11111111 ,即:Data1:可读、可写;Value:可写;AC-A:可写;Data2:可读、可写;(6)一次写一页(4 个字节) ,一次读两页(8 个字节) 。