DONSEE东信智能 - 身份证社保卡读卡智能终端应用服务商

eastcoms@qq.com
400-6722-705
首页 > 服务支持专区 > 产品支持 > SDK开发包和软件下载

身份证阅读器模块SAM通讯协议

来源:www.eastcoms.com   标签:身份证阅读器 模块 通讯协议 SAM_V   发布时间: 2017-8-14 10:52:39

公安部身份证阅读器SAM模块照片
图为:身份证阅读器SAM模块照片

如需单独采购身份证识别SAM_V模块,可联系:13822216429(盛小姐)

本公司提供的SAM模块支持Windows、Android、Linux、ARM、单片机等各系统二次开发。

技术支持:13922210502(微信同号)

新一代小身份证SAM模块
图为:新一代小身份证SAM模块

身份证阅读器模块SAM_V通讯协议:

适用:windows开发、Android开发、单片机开发、Linux开发等各种身份证阅读器开发接口支持,支持发送指令方式读取信息。

文件大小:336 KB

公安部身份证阅读器模块SAM通讯协议


其他相关资料下载:

1、居民身份证验证SAM安全控制模块接口技术规范

2、身份证阅读器模块SAM通讯协议

3、身份证阅读器SAM模块身份证信息解析说明

4、身份证阅读器32位64位驱动下载

SAM_V通信协议

一、通信方式:

SAM_V模块提供两种通信方式:UART 和 USB,同一时间只允许选择其中一种。

二、通讯配置:

表 1UART 接口参数说明

起始位1 位

数据位8 位

停止位1 位

校验位

波特率默认 115200bps.可以设置为 57600bps、38400bps、19200bps、9600bps

表 2USB  接口参数说明

速度全速(12Mbps)

输入管道0x02(Pipe2)、0x06(Pipe6)

输出管道0x81(Pipe81)、0x85(Pipe85)

供电模式自供电

设备远程唤醒特性支持

三、数据传输格式:

UART 数据传输格式:

表 3 数据输入传输帧格式

PreambleLen1Len2CMDParaDataCHK_SUM

表 4 数据输出传输帧格式

Preambleen1Len2SW1SW2SW3DataCHK_SUM

USB 数据传输格式:

表 5 Pipe2 数据传输格式

PreambleLen1Len2

表 6 Pipe6 数据传输格式

CMDParaDataCHK_SUM

表 7 Pipe81 数据传输格式

PreambleLen1Len2

表 8 Pipe85 数据传输格式

SW1SW2SW3DataCHK_SUM

四、各字段含义:

1、Preamble:本帧数据的帧头,5 字节,为 0xAA、0xAA、0xAA、0x96、0x69。2、Len1、Len2:数据帧的有效数据长度,各为 1 字节。Len1 为数据长度高字节;Len2

为数据长度低字节。 输入数据长度为:CMD、Para、Data、CHK_SUM 字 段字节数之和; 输出数据长度为:SW1、SW2、SW3、Data、CHK_SUM 字段字节数之和。

3、CHK_SUM:校验和,1 字节。 数据帧中除帧头和校验和之外的数据逐字节按位异或的结果。

表 9 CMD 和 Para

命令CMDPara

SAM 状态检测0x110xFF

读 SAM 管理信息0x120xFF

寻找证/卡0x200x01

选取证/卡0x200x02

读身份证信息0x300x01

表 10SW1、SW2、SW3

SW1 SW2 SW3Data意义

0x00 0x00 0x90和具体命令有关,可能为空操作成功

0x00 0x00 0x9F证/卡芯片管理号寻找证/卡成功

0x00 0x00 0x10接收数据校验和错

0x00 0x00 0x11接收数据长度错

0x00 0x00 0x21接收数据命令错

0x00 0x00 0x23越权操作

0x00 0x00 0x24无法识别的错误

XXXX0x31证/卡认证 SAM 失败

XXXX0x32SAM 认证证/卡失败

0x00 0x00 0x33信息验证错误

XXXX0x40无法识别的卡类型

XXXX0x41读证/卡操作失败

XXXX0x47取随机数失败

0x00 0x00 0x60SAM 自检失败

0x00 0x00 0x66SAM 未经授权

0x00 0x00 0x80寻找证/卡失败

XXXX0x81选取证/卡失败

0x00 0x00 0x91证/卡中此项无内容

五、常用命令示例:

1、读安全模块号码(通常作为动态库授权): 以安全模块号:

05.01-20101129-0001228293-0296863149为例

协议:

AA AA AA 96 69 00 03 12 FF EE获取安全模块号指令(PC 到 读卡器)

AA AA AA 96 69 00 14 00 00 90 05 00 01 00 09 B8 32 01 05 BE 12 00 AD C5 B1 11 63 返

回数据

AA AA AA 96 69 00 14 00 00 90

05 00 01 00

09 B8 32 01

05 BE 12 00

63

数据头数据长度 成功状态 安

全模块号前两位 05.01

从低位到高位 01 32 B8 09 转换为十进制为 0001228293 从低位到高位 00 12 BE 05 转换为十进制为 0296863149

奇偶检验位

2、检测安全模块状态(通常用来寻找读卡器连接的串口号):

AA AA AA 96 69 00 03 11 FF EDPC 到读卡器

返回成功值

AA AA AA 96 69 00 04 00 00 90 94

3、寻找身份证信息:

寻卡命令:AA AA AA 96 69 00 03 20 01 22

返 回 值:AA AA AA 96 69 00 08 00 00 9F 00 00 00 00 97

4、选取身份证信息:

选卡命令:AA AA AA 96 69 00 03 20 02 21

返 回 值:AA AA AA 96 69 00 0C 00 00 90 00 00 00 00 00 00 00 00 9C

5、读取身份证信息(文字+照片信息):

读卡命令:AA AA AA 96 69 00 03 30 01 32

返 回 值:1295  字节数据身份证信息

6 、读取身份证信息(文字+照片+指纹特征点信息)

读卡命令:AA AA AA 96 69 00 03 30 10 23

返回 值:2321 或 1809 或 1297 字节数据身份证信息

六、身份证信息(文字+照片)结构:

AA AA AA 96 69 05 08 00 00 90 01 00 04 00 +(256 字节文字信息 )+(1024 字节照片信息)+(1 字节 CRC)

七、身份证信息(文字+照片+指纹)结构:

AA AA AA 96 69 09 0A 00 00 90 01 00 04 00 04 00 +(256 字节文字信息)+

(1024 字节图片信息)+(1024 或 512 或 0 字节指纹信息)+1 字节校验位 指纹数据的具体大小由第十五和第十六字节判断 (04 00)=4*16*16=1024

(02 00)=2*16*16=512

文字信息采用 GB 13000 的 UCS-2 进行存储,各项目分配如下:

项目长度(字节)说明

姓名30汉字

性别2代码

民族4代码

出生16年月日:YYYYMMDD

住址70汉字和数字

公民身份号码36数字

签发机关30汉字

有效期起始日期16年月日:YYYYMMDD

有效期截止日期16年月日:YYYYMMDD

有效期为长期时存储

“长期”

备用36

附录一 民族代码对照表

0115土家29柯尔克孜43乌孜别克

02蒙古16哈尼3044俄罗斯

0317哈萨克31达斡尔45鄂温克

041832仫佬46德昂

05维吾尔193347保安

0620傈僳34布朗48裕固

072135撒拉49

082236毛南50塔塔尔

09布依23高山37仡佬51独龙

10朝鲜24拉祜38锡伯52鄂伦春

       112539阿昌53赫哲

1226东乡40普米54门巴

1327纳西41塔吉克55珞巴

1428景颇4256基诺

其他外国血

9798统中国

籍人士

附录二 性别代码对照表

0未知2

19未说明

第一枚指纹信息(前 512 字节指纹数据):

pucFPMsgValue[0]字段文件头类型,记录字符“C”(43H)

pucFPMsgValue[1]指纹算法版本号

pucFPMsgValue[2]指纹采集器代码

pucFPMsgValue[3]指纹算法开发者代码

pucFPMsgValue[4] 注册结果代码,01H 表示“注册成功”,02H 表示“注册失败”,03H 表示“未注册”,09H 表示“未知”

pucFPMsgValue[5]指位代码 具体见指位说明

pucFPMsgValue[6] 指纹质量值,以 00H~64H 来表示,值 01H 表示最低质量,值 64H 表示最高质量,值 00H 表示“未知”

第二枚指纹信息(后 512 字节指纹数据):

pucFPMsgValue[512]字段文件头类型,记录字符“C”(43H)

pucFPMsgValue[513]指纹算法版本号

pucFPMsgValue[514]指纹采集器代码

pucFPMsgValue[515]指纹算法开发者代码

pucFPMsgValue[516] 注册结果代码,01H 表示“注册成功”,02H 表示“注册失败”,03H 表示“未注册”,09H 表示“未知”

pucFPMsgValue[517]指位代码 具体见指位说明

pucFPMsgValue[518]指纹质量值,以 00H~64H 来表示,值 01H 表示最低质量,

值 64H 表示最高质量,值 00H 表示“未知”

指位码说明:

pucFPMsgValue[5or517]

指位

011  右手拇指  0BH

012  右手食指  0CH

013  右手中指  0DH

014  右手环指  0EH

015  右手小指  0FH

016  左手拇指  10H

017  左手食指  11H

018  左手中指  12H

019  左手环指  13H

20  左手小指14H

097  右手不确定指位  61H

098  左手不确定指位  62H

099  其他不确定指位  63H

注:

pucFPMsgValue[0]  表示指纹数据的第一个字节数据,其他依次类推.

串口或蓝牙发送指令的流程如下:

找卡指令---------》选卡指令--------》读卡指令。

公安部身份证阅读器SAM模块照片

 

 
QQ在线咨询