语言选择
English
产品使用
2021-07-16 18:28


网页-532M读卡模块29.png

网页-532M读卡模块31.png 

调试板接口说明

 

网页-532M读卡模块42.png 

简介

款高性能的多功能读卡模块,可以支持IC卡、CPU卡、NFC卡的读写,支持读IC卡、CPU卡、NFC卡、NFC手机、银联卡、二代三代身份证、羊城通....于一体。可输出TTL232、RS485、WG26、WG34、WG66,支持蜂鸣器控制、支持两组LED控制、支持3.3V工作电压、支持AD算法键盘。可用于门禁、考勤、消费、读写器的核心部件(免费提供PCB与读卡器外围电路设计方案)。


特点

1. 支持外接收发天线;

2. 最远作用距离达至100mm;

3. 单电源供电,低功耗设计;

4. 支持韦根(Wiegand26、34、66)、TTL电平、RS485;

5. 支持蜂鸣器与LED控制器输出。

6. 支持软件配置各项功能。

7. 支持识别IC卡扇区,验证IC卡扇区密码和特定内容

8. 支持自定义卡号

9. 支持AD算法键盘(订货前需说明)

 

电特性

1、极限参数

网页-532M读卡模块405.png


2、 规格(除特别说明,所示规格取自TA25℃及VCC+5V工作条件下)

网页-532M读卡模块443.png

*有效距离与卡片及工作环境有关)


3、 尺寸 26.5mm X 12.5mm X 2.5mm

网页-532M读卡模块490.png 

 


多功能读卡模块接口说明

网页-532M读卡模块506.png 

网页-532M读卡模块508.png 

注:1、模块默认波特率19200


注:ADY键盘 原理图

网页-532M读卡模块539.png


通讯命令格式

通讯命令格式软硬件通用格式。

网页-532M读卡模块564.png 

模块接收信息:接收此通讯命令的设备信息,指设备机器号,机器号为0表示广播。

软件命令标识信息:发出此命令的软件命令代码,用于区分此命令是哪个模块发出的,巡更棒不需要处理此数据,只有在返回命令时带上此数据即可。

控制码:通讯命令的具体含义代码,包含分类,命令二类。

数据码:当通讯命令包含数据时使用,数据长度指定了此命令中包含数据内容的字节数。

数据长度的最大值为:64字节。

检验码:除标志码和检验码,命令中所有字节都相加然后取尾字节。


转译码

由于命令中使用了0x7E作为命令的开始和结束标志,所以7E这个字节就不能出现在命令内容中只能出现在命令头和命令尾。

因此命令中的0x7E和0x7F都必须转换为如下数据后再发送:

0x7E = 0x7F 01

0x7F = 0x7F 02

转译码使用流程是:

1、发送命令:在命令数据生成后,先对命令内容检验和计算,然后再进行0x7E和0x7F的数据检查,发现0x7E或0x7F就进行上面的公式转换,转换后在发送。

2、接受命令:收到数据后应该先按照上面的公式进行数据反转译再进行校验和检验,然后在分析命令和执行具体操作。

 

预定义命令

预定义返回命令

应答OK包的定义:

网页-532M读卡模块1076.png 

后文所有涉及回应,OK应答时,直接使用此定义。

 

应答校验错的定义:

网页-532M读卡模块1115.png 

 

第一类:设备参数

前言:

本类中的分类开头一律为0x01

本类中应答的开头一律为0x31

一般来讲应答命令中命令,需要和发出的命令一样

一、写入机器号

网页-532M读卡模块1195.png 

机器号取值:1-255,不可以是00是广播码。

解释:写入机器号命令不判断命令格式中的巡更棒信息中的机器号。

应答:OK

二、读取机器号

网页-532M读卡模块1267.png 

解释:读取机器号命令不判断命令格式中的巡更棒信息中的机器号。

 

应答:传送机器号

网页-532M读卡模块1310.png 

三、获取设备版本号

网页-532M读卡模块1322.png 

获得设备的应用程序版本号。

 

应答:传送设备版本号

网页-532M读卡模块1350.png 

 

版本号字节

网页-532M读卡模块1359.png 

例如:0x39393232 Ver 99.22


四、读卡类型

设置读卡类型

网页-532M读卡模块1400.png 

 

网页-532M读卡模块1403.png 

读卡类型可一次性支持所有类型卡,也可以选择仅支持其中一种或多种。

应答:OK

 

读取读卡类型

网页-532M读卡模块1452.png 

 

应答:开关

网页-532M读卡模块1461.png 

 

五、输出格式

设置输出格式

网页-532M读卡模块1478.png 

第一字节为输出的数据协议格式

第二字节为输出的卡号字节顺序

输出协议格式。  WG263466

网页-532M读卡模块1530.png 

 

卡号字节顺序

网页-532M读卡模块1540.png 

 

应答:OK

 

读取输出格式

网页-532M读卡模块1557.png 

 

应答:输出格式

网页-532M读卡模块1568.png 


六、IC卡控卡

设置扇区验证

网页-532M读卡模块1585.png 


扇区验证参数格式 29字节(0x1D):

网页-532M读卡模块1608.png 

 

应答:OK

 

读取扇区验证

网页-532M读卡模块1625.png 

 

应答:验证参数

网页-532M读卡模块1636.png 

七、IC卡自定义卡号

设置卡号参数

网页-532M读卡模块1656.png 


IC卡自定义卡号参数格式 12字节(0xC):

网页-532M读卡模块1682.png 

应答:OK

 

读取卡号参数

网页-532M读卡模块1699.png 

 

应答:卡号参数

网页-532M读卡模块1710.png 


八、读卡时TTL输出卡号

这个波特率配置只针对TTL输出卡号,和模块通信波特率仍旧是默认19200


设置监控开关

网页-532M读卡模块1768.png 

1字节开关

1字节波特率;

1字节奇偶校验;

1字节数据位数;

1字节停止位数

波特率取值范围:

网页-532M读卡模块1819.png 


奇偶校验取值:

网页-532M读卡模块1829.png 

数据位值直接使用字节数值表示。取值:4-8;

 

停止位值

网页-532M读卡模块1860.png 

 

应答:OK

 

读取监控开关

网页-532M读卡模块1877.png 

 

应答:监控开关

网页-532M读卡模块1888.png 

九、初始化

网页-532M读卡模块1896.png 

 

应答:OK

十、控制蜂鸣器

网页-532M读卡模块1913.png 

取值范围:1-10

应答:OK

 

十一、控制LED灯

网页-532M读卡模块1942.png 

值范围说明:

1表示红灯亮

2表示绿灯亮

应答:OK

 

第二类:IC卡操作

一、寻卡

网页-532M读卡模块1990.png 

应答:寻卡结果

网页-532M读卡模块2000.png 

 

返回的数据结构:

网页-532M读卡模块2012.png 

 

卡片类型:

网页-532M读卡模块2021.png 

 

二、读扇区内容

扇区:

S50卡的取值范围是0-15

S70卡的取值范围是 0-39

块号:

S50卡每个扇区的块号都是0-3,其中块3是密码块

S700-31块扇区的块号是0-3,其中块3是密码块

32-39块扇区的块号是0-15,其中块15是密码块

网页-532M读卡模块2153.png 

参数定义

网页-532M读卡模块2160.png 

目前一次读取数据4块数据块内容,即最大每次读取64个字节数据

 

应答:读取结果

网页-532M读卡模块2201.png

 

结果定义:

网页-532M读卡模块2210.png 

 

三、写扇区内容

网页-532M读卡模块2221.png 

参数定义

网页-532M读卡模块2228.png 

目前一次写入数据4块数据块内容,即最大每次写入64个字节数据

注意:每次写入的数据内容必须为16字节的倍数

 

应答:写入结果

网页-532M读卡模块2293.png 

 

结果定义:

网页-532M读卡模块2302.png

 

第三类:读卡消息

此类别的消息为控制板主动发送的,信息代码为固定的:0xFFFF。上位机无需做任何回应。


读卡消息

网页-532M读卡模块2363.png 


消息内容格式:

网页-532M读卡模块2373.png 

 

卡类代码:

网页-532M读卡模块2382.png 

第四类 默认值

机器号:无默认值,初始化不能修改

版本号:固件版本号,初始化保持最新的

生成日期:无默认值,初始化不可修改

读卡类型: 默认支持 M1 IC卡,NFC卡,CPU卡,身份证卡

输出格式:默认输出:WG34(四字节),字节序:高位在前低位在后

IC卡控卡:无默认值,初始化不可修改。

IC卡自定义卡号:无默认值,初始化不可修改

读卡TTL输出卡号:默认值:开启,输出波特率:19200,n,8,1

 

附录I  IC卡动态密码算法

动态密码的算法思路是:

1、首先根据扇区密码(6字节)和卡号(4字节)混淆生成一个newkey10字节)

2、然后再把newkey进行混淆生成一个6字节的newdata

3、使用rc4加密,密钥就是newkey,明文就是newdata,真正的扇区密码就是加密后的密文。

4、RC4加密运算时采用的卡号是物理卡号,并且是固定的4字节 “低位在前,高位在后”格式下输出的卡号作为加密基准。

 

源代码如下:

/*将卡号和密钥混淆后使用RC4加密

返回值:

1  -- 表示加密完成

-1 -- 表示key 长度不足6字节

-2 -- 表示 cardcode 长度不足4字节

-3 -- 表示 result_len 长度不足6字节

*/

RC4_API long  WINAPI Create_Section_Password(BYTE *key, long key_len, BYTE *cardcode, long cardcode_len, BYTE *SectionPWD, long SectionPWD_len)

{

if (key_len < 6)

{

return -1;

}

if (cardcode_len < 4)

{

return -2;

}

if (SectionPWD_len < 6)

{

return -3;

}

 

BYTE newKey[10];

BYTE newData[6];

newKey[6] = key[0];

newKey[4] = key[1];

newKey[8] = key[2];

newKey[5] = key[3];

newKey[2] = key[4];

newKey[0] = key[5];

 

newKey[1] = cardcode[0];

newKey[7] = cardcode[1];

newKey[3] = cardcode[2];

newKey[9] = cardcode[3];

 

newData[0] = newKey[1];

newData[1] = newKey[9];

newData[2] = newKey[5];

newData[3] = newKey[6];

newData[4] = newKey[7];

newData[5] = newKey[3];

 

RC4_Encrypt(newKey, 10, newData, 6, SectionPWD, 6);

return 1;

} 

 

WG26协议

Wiegand 26格式

各数据位的含义:

 1   位:为输出数据2—13位的偶校验位

2—9 位:ID卡的HID码的低8位

第1025位:ID卡的PID号码

 26  位:为输出数据14-25位的奇校验位

 

数据输出顺序:

HID码和PID码均为高位在前,低位在后

例:一张ID卡内容为:

HID:32769   PID:34953      ( 卡面印:2147584137   001, 34953  )

相应的二进制为:

HID:1000 0000 0000 0001       (  只输出低8位 )

PID:1000 1000 1000 1001

输出如下:

1  2             9 10                            25  26

0  0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1    1

|     HID_L   |               PID             |

 

输出端D0、D1时序:

图示:

网页-532M读卡模块4123.png 

1、D0、D1在没有数据输出时均保持高电平;

2、输出数据位时间为420uS(TL),如输出为0,D0拉低420uS(TL)后为高电平,若输出为1,则D1拉低420uS(TL)后为高电平;

3、输出数据位之间的间隔时间为2mS(TL),如输出00:D0拉低420uS(TL)后为高电2mS(TL),再拉低为低电平420uS(TL),然后释放为高电平;


WG34协议

Wiegand 34格式

各数据位的含义:

 1   位:为输出第2—17位的偶校验位

2-17 位:ID卡的HID码

第1833位:ID卡的PID号码

 34  位:为输出第18-33位的奇校验位

 

数据输出顺序:

HID码和PID码均为高位在前,低位在后

例:一张ID卡内容为:

HID:32769   PID:34953       ( 卡面印:2147584137   001, 34953 )

相应的二进制为:

HID:1000 0000 0000 0001

PID:1000 1000 1000 1001

输出如下:

1  2                            17 18                            33  34

0  1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1  1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1   0

|            HID_L            |                 PID            |

 

输出端D0、D1时序:

图示:

网页-532M读卡模块4814.png 

1、D0、D1在没有数据输出时均保持高电平;

2、输出数据位时间为420uS(TL),如输出为0,D0拉低420uS(TL)后为高电平,若输出为1,则D1拉低420uS(TL)后为高电平;

3、输出数据位之间的间隔时间为2mS(TL),如输出00:D0拉低420uS(TL)后为高电2mS(TL),再拉低为低电平420uS(TL),然后释放为高电平;

 

WG按键协议

WG按键格式

各数据位的含义:

1-4 位:按键值的16进制表示

0 发0000

1 发0001

2 发0010

.

.

.

* 发 1010

# 发 1011


数据输出顺序:

按键码均为高位在前,低位在后

例:一个按键内容为:

VALUE:9

相应的二进制为:

VALUE:1001

输出如下:

1           4

1   0   0   1

|   VALUE   |

 

输出端D0、D1时序

图示:

网页-532M读卡模块5213.png 

1、D0、D1在没有数据输出时均保持高电平;

2、输出数据位时间为420uS(TL),如输出为0,D0拉低420uS(TL)后为高电平,若输出为1,则D1拉低420uS(TL)后为高电平;

3、输出数据位之间的间隔时间为2mS(TL),如输出00:D0拉低420uS(TL)后为高电2mS(TL),再拉低为低电平420uS(TL),然后释放为高电平;


调试软件使用说明

搜索设备

网页-532M读卡模块5405.png 

1、点击自动检测按钮,搜索对应的串口号和调试板。

2、点击机器号的读取,如果机器号为0,写入需要设置的机器号(机器号范围1~255),出厂默认机器号为0

3、设置对应的出厂日期。

 

模块参数设置

网页-532M读卡模块5500.png 

网页-532M读卡模块5502.png 

1、点击需要支持的卡片类型,然后写入到模块,默认支持全部卡片,WG输出WG26+WG34,高位在前。

2、韦根输出支持WG26+WG34(默认是WG26,模块的11引脚低电平输出WG34)和WG26+WG66(默认是WG26,模块的11引脚低电平输出WG66)两个模式,不需要韦根信号可以选择禁用。

3、韦根信号输出卡号格式支持高位在前和低位在前两种格式,选择好需要的功能写入到模块。 

  

控卡设置 

网页-532M读卡模块5701.png 

1、如果需要支持控卡功能则需要打开功能开关,默认关闭;(该功能只支持类IC卡)

2、选择控卡扇区的扇区号(范围0~15扇区),输入控卡的扇区密码,密码为16进制数据,验证方式选选择A秘钥或B秘钥,扇区密码是否加密,加密方式是RC4,加密算法参考附录I

3、验证数据开关,验证数据的起始字节0~47(如果控卡扇区是0扇区,该起始字节必须从16字节开始)

4、输入需要验证的类容,数据是16进制方式输入,将以上所有数据配置好写入到模块。


自定义卡号

网页-532M读卡模块5919.png 

1、如果需要支持自定义卡号则需要打开功能开关,默认关闭;(该功能只支持类IC卡)

2、选择自定义卡号保存的扇区号(范围0~15扇区),输入自定义卡号的扇区密码,密码为16进制数据,验证方式选选择A秘钥或B秘钥,扇区密码是否加密,加密方式是RC4,加密算法参考附录I

3、选择自定义卡号的长度(范围2~8),卡号数据在扇区的起始字节,将以上所有数据配置好写入到模块。


卡号输出设置

网页-532M读卡模块6106.png 

1、如果读卡时需要输出TTLRS485信号则需要打开功能开关,默认关闭;

2、选择输出的时的波特率,波特支持1200,2400,4800,9600,14400,19200,38400,43000,56000,576000,115200

3、奇偶校验有无,奇校验和偶校验三个选择,数据位目前只支持8位,停止位支持1,1.5,2三个选择,将配置的数据写入到模块。改配置只针对读卡是输出数据功能,对数据配置无影响。

 

网页-532M读卡模块6310.png 


通讯数据监控

网页-532M读卡模块6319.png 

1、监控读卡开启,将会解析调试板读到卡片数据。

2、初始化读卡模块,将会恢复到出厂设置。

3、停止所有命令,将会停止所有正在执行的命令。

 

卡读写操作

网页-532M读卡模块6391.png 

1、点击寻卡按钮,将会返回读取到的卡号。

2、如果需要读寻到卡片的数据则需要配置扇区号(0~15),块号(0~3),密码类型(A秘钥或B秘钥),扇区密码,读取字节数(1~64),点击读取,将会返回相应的扇区数据。

3、如果需要对寻到的卡片写入数据需要配置扇区号(0~15),块号(0~3),密码类型(A秘钥或B秘钥),扇区密码,读取字节数(1~64),在扇区数据方框内写入需要写入的数据,然后点击写入(请勿随意操作扇区的49~64字节数据,如果不当将会损坏改扇区)

 

蜂鸣器设置

网页-532M读卡模块6633.png 

1、设置蜂鸣器鸣叫次数,该命令立马生效,不保存。

2、LED灯开关设置,该命令立马生效,不保存。


IC卡加密设置

网页-532M读卡模块6689.png 

1、对整个IC卡操作,选择需要操作的扇区号,并输入对应的扇区密码,点击读取全部内容。

2、修改每个扇区的密码A,点击开始加密,可以加密IC卡。