四路IC卡读卡器通信协议

2023-11-05 16:12

本文主要是介绍四路IC卡读卡器通信协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、摘要

       Sle4442卡为256字节加密卡,存在读数据、写数据、保护数据以及密码操作。该卡在密码验证之前数据为只读状态,需要写入数据必须先进行密码验证,密码为3个字节,新卡初始密码为0xff,0xff,0xff。该读卡器卡可读写主存储器和加密存储器,以及密码验证,和查询读卡器上卡的状态(是否验证过密码),当读卡器上有卡拔插时读卡器会主动发送卡状态指令给上位机。

2、通信协议内容

波特率 19200

表1 计算机发送到读卡器的数据格式

地址偏移

内容

说明

0

数据包头

0x55

1

指令字节1

1—操作卡1,2—操作卡2……4—操作卡4

2

指令字节2

Bit7:0—读,1—写

Bit2-Bit0: 0—主存储器,1—加密储存器,2—密码校验,3—查询卡状态

3

指令字节3

数据帧状态,0--单独帧,1--起始帧2--中间帧,3--结束帧

4

地址

0-255

5

数据字节数

取值范围0-32

6-37

数据

最多32字节的数据

38

校验高字节

前面0-37所有数据的和

39

校验低字节

表2 读卡器发送到计算机的数据格式

地址偏移

内容

说明

0

数据包头

0x55 — 正常,0x5A—未插卡,0xA5—卡无效或卡损坏,0xAA — 未验证密码,0xAB — 连续写入错误(没有起始帧),0xBB —密码验证失败

1

指令字节1

1—操作卡1,2—操作卡2……4—操作卡4

2

指令字节2

Bit7:0—读,1—写

Bit2-Bit0: 0—主存储器,1—加密储存器,2—密码验证,3—卡状态

3

指令字节3

数据帧状态,0--单独帧,1--起始帧2--中间帧,3--结束帧

4

地址

0-255

5

数据页数

取值范围0-16,对应数据总量0-256

6-37

数据

最多32字节的数据

38

校验高字节

前面0-37所有数据的和

39

校验低字节

3、读取数据示例

3.1单页读取数据

例如读取卡3读取地址0x0a开始的32个字节

地址偏移

0

1

2

3

4

5

6—37

38

39

内容

0x55

0x03

0x00

0x00

0x0a

0x01

0x00…0x00

0x00

0x63

解析:

0x55:起始字节,固定

0x03:指令字节1,卡3

0x00:指令字节2,读取主存储器

0x00:指令字节3:读取时忽略

0x0a:地址

0x01:页数,1页

0x00…0x00:数据,读取时忽略

0x00-0x63:校验,前面38字节和

收到此命令后,读卡器将返回主存储器地址0x0a开始的32字节数据

3.2 连续读取数据

例如要读取卡2的地址0x20处的96字节数据,则发送指令为:

地址偏移

0

1

2

3

4

5

6-37

38

39

内容

0x55

0x02

0x00

0x00

0x20

0x03

0x00…0x00

0x00

0x7A

解析:

0x55:起始字节,固定

0x02:指令字节1,卡2

0x00:指令字节2,读取主存储器

0x00:指令字节3:读取时忽略

0x20:地址

0x03:页数,3页(96字节)

0x00…0x00:数据,读取时忽略

0x00-0x7A:校验,前面38字节和

收到此命令后,读卡器将返回地址0x20开始的96字节数据,数据分三次次返回,每次返回32字节,每次返回数据的地址是实际地址,即第一次返回0x20,第二次返回0x40,第三次返回0x60

4.写入示例

4.1单页写入数据

例如要写入卡2的地址0x80处的32字节数据,则发送指令为:

地址偏移

0

1

2

3

4

5

6-37

38

39

内容

0x55

0x02

0x80

0x00

0x80

0x01

0x00…0x00

0x01

0x58

解析:

0x55:起始字节,固定

0x02:指令字节1,卡2

0x80:指令字节2,0x80表示写入主存储器

0x00:指令字节3,单独帧
0x80:写入的地址为0x80

0x01:写入1页数据

0x00…0x00:实际写入数据

0x01-0x58:校验,前面38字节的数据之和

收到此命令后,读卡器将32字节数据写入地址0x80开始的位置,并返回写入信息,返回的状态中,只要开头的0x55和校验对就说明写入成功,其他部分数据忽略。

4.2连续写入数据

例如要写入卡3的地址0x10处的128字节数据,则发送指令为:

地址偏移

0

1

2

3

4

5

6-37

38

39

内容

0x55

0x03

0x80

0x01

0x10

0x04

0x00…0x00

0x00

0xEE

解析:

0x55:起始字节,固定

0x03:指令字节1,卡3

0x80:指令字节2,0x80表示写入主存储器

0x01:指令字节3,0x01表示此帧是要写入的第一帧数据,写第2-第3帧数据时,发送指令为0x02,写第四帧数据时,发送指令为0x03,发送完第四帧数据后,读卡器将数据写入卡中,并返回状态

0x10:写入的地址为0x0120

0x04:写入4页数据

0x00…0x00:要写入的数据

0x00-0xEE:校验,前面38字节的数据之和

收到此4次数据写入命令完成后,读卡器将128字节数据写入地址0x10开始的位置,并返回状态,返回的状态中,只要开头的0x55和校验对就说明写入成功,其他部分数据忽略。

5. 密码验证示例

       例如要验证入卡1密码为0xff,0xff,0xff:

地址偏移

0

1

2

3—5

6

7

8

9-37

38

39

内容

0x55

0x01

0x02

0x00…0x00

0xff

0xff

0xff

0x00…0x00

0x03

0x55

解析:

0x55:起始字节,固定

0x01:指令字节1, 卡1

0x02:指令字节2,验证密码

0x00…0x00:验证密码时忽略

0xff,0xff,0xff:需要验证的密码
0x00…0x00:其余数据部分,忽略

0x03-0x55:校验,前面38字节的数据之和

收到此命令后,读卡器将写入卡1密码0xff,0xff,0xff,并返回写入信息,返回的状态中,只要开头的0x55和校验对就说明写入成功,其他部分数据忽略。

6. 查询卡状态示例

地址偏移

0

1

2

3—5

6-37

38

39

内容

0x55

0x00

0x03

0x00…0x00

0x00…0x00

0x00

0x5B

解析:

0x55:起始字节,固定

0x00:指令字节1, 查询卡状态时忽略

0x00…0x00:查询卡状态时忽略

0x00…0x00:数据,查询卡状态时忽略

0x00-0x5B:校验,前面38字节的数据之和

收到此命令后,读卡器将返回卡状态信息,返回的状态中,只要开头的0x55和校验对就说明成功,数据位6—9为位卡1—卡4状态,0—无卡,1—有卡但未验证密码,2—有卡且验证密码,其他部分数据忽略。

这篇关于四路IC卡读卡器通信协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/350997

相关文章

生日贺卡录放音芯片,多段音频录音ic生产厂商,NVF04M-32minute

可以录音播放的生日贺卡与传统的纸质贺卡相比,它有着创意以及个性的特点,仅需少量的电子元器件,即可实现录音功能,搭配上文字,让声音存储在生日贺卡里,让贺卡也变得有温度,祝福我想亲口对TA说。 生日贺卡录放音芯片方案——NVF04M 采用外挂SPI存储器的方式,达到录音的功能。它的主要特点是声音清晰,录音时间长。目前可以提供的录音时间为32分钟。NV04FM的一个显著特点是存储时间灵活,客

ERP系统在IC设计行业的必要性

在当今这个科技日新月异的时代,集成电路(IC)设计行业作为信息技术发展的核心驱动力之一,正面临着前所未有的挑战与机遇。随着产品复杂度的提升、市场需求的快速变化以及全球供应链的紧密交织,如何高效管理设计资源、优化生产流程、提升响应速度,成为了IC设计企业亟需解决的问题。在此背景下,企业资源规划(ERP)系统的引入,无疑为IC设计行业注入了新的活力,其必要性日益凸显。   一、整合资源,提升效率

搭建SpringBoot+ Netty + WebSocket 通信协议框架

运用场景:与机器设备进行通讯或者其他场景; pom文件就不上传了,直接上代码,网上都可以找的到 主要是 SpringBoot 和 Netty 的依赖 1.配置类 @Component@ConfigurationProperties(prefix = "ws")public class WebSocketConfig {private int port;private String host

太速科技-基于Kintex-7 XC7K325T的FMC USB3.0四路光纤数据转发卡

基于Kintex-7 XC7K325T的FMC USB3.0四路光纤数据转发卡 一、板卡概述   本板卡基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片,pin_to_pin兼容FPGAXC7K410T-2FFG900 ,支持64bit DDR3容量2GByte,USB3.0接口,HPC的FMC连接器,4路光纤接口,板卡支持各种接口输入,USB3.0软件具有

串行通信协议——UART

概述 UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)是一种广泛使用的串行通信协议,用于实现计算机与外设之间或两个计算机之间的数据传输。UART通信以异步方式进行,这意味着发送和接收设备不需要共享时钟信号。在嵌入式系统、工业控制、消费电子产品等领域,UART通信协议得到了广泛应用。 UART通信原理 UART通信基于RS-

电动汽车行业智能充电桩语音提示IC方案

随着电动车市场的日益壮大,共享汽车也纷纷采用电动车这类新能源,预示着充电桩市场将迎来巨大的发展潜力。智能充电桩,其功能与加油站的加油机颇为相似,可灵活安装于公共建筑如商场、停车场以及居民小区内,为用户提供便捷的充电服务。用户只需通过刷卡,便可在充电桩的人机交互界面上轻松选择充电方式、设定充电时间,并打印费用数据,同时,充电桩的显示屏还会实时展示充电量、费用及充电时间等详细信息。 那么,为充电桩增

浅谈通信协议设计

目录 1.设计原则 2.注意事项 2.1.大小端编码问题 2.2.字节对齐 2.3.显式指定整型字段的长度 2.4.涉及到浮点数要考虑精度问题,建议放大成整数或者使用字符串去传输 2.5.协议与自动升级功能 1.设计原则 设计通信协议时,需要考虑以下几个原则: 1) 简单性:协议设计应尽可能简单,简单的协议更易于实现和维护,减少出错的可能性。复杂的协议往往会导致理解和实现的

江协科技stm32————11-1SPI通信协议

目录 SPI通信 硬件电路 移位示意图 SPI时序基本单元 模式0  模式1 SPI时序 发送指令 指定地址写  指定地址读 SPI通信 四根通信线: SCK(Serial Clock):串行时钟线 MOSI(Master Output Slave Input):主机输出从机输入 MISO(Master Input Slave Output):主机输入从机

通信协议——Modbus 讲明白了

目 录 Modbus通信协议一、说明1.1 描述1.2 查询1.3 响应 二、异常三、功能码 Modbus通信协议 Modbus由Modicon公司(也是现在的施耐德电气)于1979年开发,是一种工业现场总线协议标准。最初是为使用PLC(可编程逻辑控制器)通信而发表,即该协议最先是在PLC通信上使用的。 因以下特点而广泛使用: 1、免费 —— 使用在任何产品上 2、简单

FP7208:LED恒流驱动IC 在美甲手持一字灯的运用 单节锂电池

前言:  经常做美甲的朋友应该知道,去美甲店做美甲需要经过多个步骤,其中有一个步骤就是光照(又叫做烤胶)。一般是涂完指甲油之后使用美甲光疗灯进行照射、烘干。 接下来给大家说明一下LED升压驱动IC FP7208 如何在便携式美甲一字灯上进行升压运用。相关内容如下: 一、美甲光疗灯工作原理 现如今有两种常见的美甲光疗灯,一种是紫外线灯,另一种是LED灯。 美甲光疗灯的工作原理是利用了紫