IS014443A_通讯协议

1.数据格式
11数据格式
数据格式(起始位,数据位,校验位,停止位)可以根据通讯的需要由软件设置,下面是设备支持的数据格式:
参数
描述
波特率
可选: 9600, 19200, 38400, 57600, 1152000
数据位
固定: 8 bits
起始位
固定: 1 Bits
停止位
固定: 1 bit.
校验位
可选: Odd, Even, None
下面是默认设置:
波特率
数据位
起始位
停止位
校验位
9600
8
1
1
None
12数据包格式
数据包格式,命令包是由主机发送到读写器,返回包是由读写器返回主机。
命令包格式 (主机到读写器)
STX
STATION ID
DATA LENGTH
CMD
DATA [0..N]
BCC
ETX
(BCC) = STATION ID DATALENGTH CMD DATA [0]  …  DATA [n], where  is the “EOR”.
返回包格式 (读写器到主机)
STX
STATION ID
DATA LENGTH
STATUS
DATA[0..N]
BCC
ETX
(BCC) = STATION ID DATA LENGTH STATUS DATA [0]  …  DATA [n], where  is the “EOR”.
数据包中字节描述:
字段
长度
描述
备注
STX
1
0xAA – ‘起始字节’ – 标准控制字节. 表示一个数据包的开始
STATION ID
1
设备地址,在多机通讯所必需,读写器在收到数据包后判断包内的地址与自身预设地址是否相符,相符才会响应。
地址0x00 是一个在单机模式下使用的特殊地址。读写器会响应任何带0地址的数据包(不进行地址判断).
DATALENGTH
1
数据包中数据字节的长度.包括 CMD/STATUS DATA field,但不包括 BCC.
LENGTH= 字节数 (CMD/STATUS + DATA[0.. N])
CMD
1
命令字:由一个命令字节组成.
可以参照命令表
该字节只在发送包中使用
STATUS
1
返回状态字节: 由读写器返回主机的状态
该字节只在返回包中使用
DATA [0-N]
0–123
这是一个长度与命令字有关的数据流。也有部分命令不需要附加数据.
BCC
1
8bits的校验字节.它包括除STX, ETX外所有字节的异或校验.
ETX
1
0xBB:’终止字节’ – 标准控制字节,表示数据包的结束.
COMMANDS(命令)
命令表
名称
描述
ISO14443 TYPE A Commands (0x03~0x06)
0x03
REQA
ISO14443 -A寻卡请求
0x04
Anticoll
防冲突
0x05
Select
选定卡
0x06
Halt
使卡进入HAIT状态
Mifare Application Commands (0x20~0x2F)
0x20
RDM_ Read
集成寻卡,防冲突,选卡,验证密码,读卡等操作,一个命令完成读卡操作。
0x21
RDM_ Write
集成寻卡,防冲突,选卡,验证密码,写卡等操作,一个命令完成写卡操作。
0x22
RDM_ InitVal
集成寻卡,防冲突,选卡,验证密码等操作,一个命令完成块值初始化操作。
0x23
RDM_Decrement
集成了寻卡,防冲突,选卡,验证密码,块值减操作,一个命令完成块减值操作。
0x24
RDM_Increment
集成了寻卡,防冲突,选卡,验证密码,块值加等操作,一个命令完成块值加操作。
0x25
RDM_GET_SNR
集成了寻卡,防冲突,选卡等操作,一个命令完成读取卡片序列号的操作
0x28
RDM_ISO14443_TypeA_Transfer_Command
ISO14443 TypeA 通用命令,可以根据ISO14443 TypeA 向卡发任何数据
系统命令 (0x80~0xFF)
0x80
SetAddress
设置读写器地址
0x81
SetBaudrate
设置通讯波特率
0x82
SetSerlNum
设置读写器的序列号
0x83
GetSerlNum
读取读写器的序列号
0x84
Write_UserInfo
设置用户数据信息
0x85
Read_UserInfo
读取用户数据信息
0x86
Get_VersionNum
用来读取模块的版本信息
0x88
Control_Led
控制led的工作方式
0x89
Control_Buzzer
控制buzzer的工作方式
3 System Commands
31系统命令
3.1.1 SetAddress (0x80)
发送数据:
DATA[0]:    要设置的新地址 ,十六进制表示。
正确返回:
STATUS:    0x00 – OK
DATA[0]    设置的地址
错误返回:
STATUS:    0x01 –FAIL
DATA[0]            错误代码
    0x85:    表示输入参数或输入命令格式错误   
        0x8F 表示 输入的指令代码不存在       
描述:              为读写器设置,读写器返回设置好的地址.
比如:
发送命令:  AA 00  02 80 02 80 BB 
回执数据:    AA 00  02 00 02 00 BB
3.1.2 SetBaudrate (0x81)
发送数据:
DATA[0]    波特率
0x00 – 9600 bps
0x01 – 19200 bps
0x02 – 38400 bps
0x03 – 57600 bps
0x04 – 115200 bps
> 0x04—9600 bps
正确返回:
STATUS:    0x00 – OK
DATA[0]    设置的波特率代码.
错误返回:
STATUS:    0x01 –FAIL
DATA[0]            错误代码
                            0x85:    表示输入参数或输入命令格式错误 
    0x8f:      表示 输入的指令代码不存在
描述 :              设置读写器与主机通讯的波特率. 这个波特率将被保存到EEPROM内并作为新的默认波特率
比如:
发送命令:  AA  00  02 81 01 82 BB 
回执数据:  AA 00 02 00 01 03 BB    ;设置波特率为19200,N,8,1
3.1.3 SetSerNum (0x82)
发送数据:       
DATA[0..7]:    8个字节的读写器序列号
正确返回:
STATUS:    0x00 – OK
DATA[0]    0x80(表示操作成功)
错误返回:
STATUS:    0x01 –FAIL
DATA[0]            错误代码
0x81 表示操作失败
                0x85:    表示输入参数或输入命令格式错误 
        0x8F 表示 输入的指令代码不存在
描述: 设置 8个字节的序列号,这个命令用于生产厂家,以方便模块管理.
比如:
发送命令:  AA 00 09 82 AA BB AA BB AA BB AA BB 8B BB
m1卡
回执数据: AA 00 02 00 80 82 BB
3.1.4 GetserNum (0x83)
发送数据:    N/A
正确返回:
STATUS:    0x00 – OK
DATA[0]:    读写器地址
    DATA[1..8]:  8个字节的读写器序列号
错误返回:
STATUS:    0x01 –FAIL
DATA[0]          错误代码
              0x85:    表示输入参数或输入命令格式错误 
        0x8F  表示 输入的指令代码不存在
描述:                读取由厂家预设的1个字节的读卡器地址和8个字节序列号.
比如:
发送命令:AA 00 01 83 82 BB
回执数据:AA 00 0A 00 00 AA BB AA BB AA BB AA BB 0A BB
3.1.5 Write_UserInfo (0x84)
发送数据:   
DATA[0]:          读写器进行写数据操作的区域号
                                      0x00: 对读写器的 区域0进行写操作
0x01: 对读写器的区域1进行写操作
                                0x02: 对读写器的区域2进行写操作
                                0x03: 对读写器的区域3进行写操作

本文发布于:2024-09-23 02:18:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/359403.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:命令   操作   字节   读写器   输入
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议