触发型读写器通讯协议带地址 带心跳
IC卡读写器协议12.17

一、通讯协议通讯由上位机主动发送命令,设备接受命令后做相应的处理然后返回处理结果。
9600-57600 波特率、无校验位、数据位8 位、1 个停止位2、发送信息SEND_INFO[0]… SEND_INFO[n]格式描述:(此格式随卡型和命令变化)3、返回信息 RECEIVE_INFO[0]… RECEIVE_INFO[n]4注:考虑到本读卡器可能和其他串口设备共用一个串口,命令错误、校验和错误、长度错误等错误,一律不做任何响应。
6二、感应卡部分指令详解基础指令02BUZZER03LED &BUZZER其他无效。
举例:发送55 04 D0 01 05 DA (LED 闪烁5次)接收AA 00 01 04 052、RF RESET 复位或关闭射频模块HOST TO MSR:COMMAND:0XD1DATA[0]:0 到255 =0 表示关闭射频>0 表示复位射频模块的时间(毫秒)MSR TO HOST:STATUS:LEN:1DATA[0]:保留未用举例:发送55 03 D1 01 E0 复位射频模块1 毫秒接收AA 00 01 04 053、REQUEST 寻卡HOST TO MSR:COMMAND:0XD2DATA[0]:MODE 0:REQUEST IDLEMODE 1:REQUESTALLMSR TO HOST:STATUS:LEN:2DATA[0]:4 表示为M1卡DATA[1]:00举例:发送55 03 D2 01 D3接收AA 00 02 04 00 06 找到一张M1 卡4、ANTICOLL 防冲突HOST TO MSR:COMMAND:0xD3DATA[0]:0DATA[1]:SNR(LL)(卡4 字节唯一序列号)DATA[2]:SNR(LH)DATA[3]:SNR(HL)DATA[4]:SNR(HH)MSR TO HOST:STATUS:LEN:4DATA[1]:SNR(LL)DATA[2]:SNR(LH)DATA[3]:SNR(HL)DATA[4]:SNR(HH)注:在执行ANTICOLL 命令的时候,一般DATA[1]… DATA[4](卡序列号填0),ANTICOLL 执行成功后将返回SNR举例:发送55 07 D3 00 00 00 00 00 D8返回AA 00 04 38 A1 00 49 26 (注意这里的序列号根据卡不同而不同)5、SELECT 选择卡,这里的SNR 是ANTICOLL 返回的HOST TO MSRCOMMAND:0XD4DATA[1]:SNR(LL)DATA[2]:SNR(LH)DATA[3]:SNR(HL)DATA[4]:SNR(HH)MSR TO HOST:STATUS:LEN:1DATA[0]:SIZE举例:发送55 06 D4 38 a1 00 49 FA (注意这里的蓝色序列号根据卡不同而不同)接收AA 00 01 04 056、LOAD KEY 直接装载密码HOST TO MSR:COMMAND:0xD5DATA[0]:MODE =1 密码A 目前尽支持密码A. DATA[0]=1;DATA[1]:SECNR 扇区号0-15DATA[2]… DATA[7] 密码数据MSR TO HOST:STATUS:LEN:1DATA[0]:保留未用举例:发送55 0A D5 01 00 FF FF FF FF FF FF DF (装载0 扇区密码为FFFFFFFFFFFF) 接收AA 00 01 04 057、LOAD KEYE2 从EEPROM装载密码HOST TO MSR:COMMAND:0xD6DATA[0]:Sector地址(0~15共16个扇区密码)MSR TO HOST:STATUS:LEN:1DATA[0]:保留未用举例:发送55 03 D6 00 DA 从E2PROM加载第一扇区密码接收AA 00 01 04 058、AUTHENTICATION 验证卡密码HOST TO MSR:COMMAND:0XD7DATA[0]:MODE =1 密码A(目前尽支持密码A)DATA[1]:SECNR 扇区号MSR TO HOST:STATUS:LEN:1DATA[0]:保留未用举例:发送55 04 D7 01 00 DC (验证0 扇区)接收AA 00 01 04 05 (这里的1 字节数据04 保留未用)9、READ 读卡HOST TO MSR:COMMAND:0XD8DATA[0]:ADDRESS 块绝对地址(0-63)MSR TO HOST:STATUS:LEN:16DATA[0]… DATA[15] 读出的块数据举例:发送55 03 D8 01 DB 读1 块数据(就是0 扇区的第2 块)接收AA 00 10 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 1010、WRITE 写卡HOST TO MSR:COMMAND:0XD9DATA[0]:ADDRESS 块地址(1-63)DATA[1]… DATA[16] 要写入的数据MSR TO HOST:STATUS:LEN:1DATA[0]:保留未用举例:发送55 13 D9 01 00 11 22 33 44 45 66 77 88 99 A1 BB CC DD EE FF E2写1 块数据(就是0 扇区的第2 块)接收AA 00 01 04 0511、HALT 停止卡HOST TO MSR:COMMAND:0XDAMSR TO HOST:STATUS:LEN:1DATA[0]:保留未用举例:发送55 02 DA D6接收AA 00 01 04 0512、WRITEE2 写EEPROMHOST TO MSR:COMMAND:0XDBDATA[0]:ADDRESS 低地址(地址00-1FF,其中80~170存放密码不要随便写!)DATA[1]:ADDRESS 高地址DATA[2] 写入数据长度DATA[3]…DATA[18] 要写入的数据(不足16字节时后面补00)MSR TO HOST:STATUS:LEN:1DATA[0]:保留未用举例:发送55 14 DB B0 01 02 01 02 00 00 00 00 00 00 00 00 00 00 00 00 00 0084 从EEPROM地址1BO起写入两字节数据 01 02接收AA 00 01 04 0513、READE2 读EEPROM 每次16字节HOST TO MSR:COMMAND:0XDCDATA[0]:块首地址低地址(地址00-1FF,)DATA[1]: 块首地址高地址MSR TO HOST:STATUS:LEN:1DATA[0]~DATA[15]:返回数据缓冲区举例:发送55 04 DC B0 01 B2 从EEPROM地址1BO起读出16字节数据接收AA 00 10 01 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 读出数据位 01 0214、WRITEKEY 写卡密码,同时保存新密码到EEPROM密钥保存区HOST TO MSR:COMMAND:0XDDDATA[0]:写入扇区 0~15DATA[1]~DATA[6]:写入的密码数据DATA[7]~DATA[10]: 控制位(控制位修改可能导致卡片数据不可读写,默认:FF 07 80 69)DATA[11]~DATA[16]: FF FF FF FF FF FFMSR TO HOST:STATUS:LEN:1DATA[0]:保留未用举例:发送 55 13 DD 00 01 02 03 04 05 06FF 07 80 69 FF FF FF FF FF FF 12 扇区0写入密码01 02 03 04 05 06接受 AA 00 01 04 05AA 00 01 04 05AA 00 08 44 38 50 53 2D 56 30 33 0DBAUD_28800 3BAUD_19200 2BAUD_14400 1BAUD_9600 0默认 57600修改后,直接生效,但重新上电后,仍然是57600例如:发送 55 03 E0 04 E7应答 AA 00 01 04 05高级指令集1、READ_D直接读STATUS:00LEN:16DATA[0]-DATA[15]:读出的数据举例:发送: 55 04 E1 00 01 E3 (用原始密码读取块1)接收: AA 00 10 36 1E 11 C1 F8 88 04 00 46 8E 36 57 65 80 17 04 1B同基础指令中READ指令差别,基础指令中READ命令,之前必须经过寻卡,防冲突,选卡,验证4个步骤之后,才可以读,而本指令,直接完成上述所有功能,读出数据.只是速度比单独读操作要慢大约10ms.2、WRITE_D直接写HOST TO MSR:COMMAND:0XE2DATA[0]:密码选择位0:原始密码(6个FF),1:用户自定义密码。
RFID读写器中的数据传输协议设计

RFID读写器中的数据传输协议设计随着自动识别技术的快速发展,无线射频识别(RFID)系统在许多领域中得到了广泛应用。
RFID读写器作为RFID系统的关键组成部分,负责与RFID标签进行通信,并实现数据的传输。
在RFID读写器中,数据传输协议的设计至关重要,它决定了读写器与标签之间通信的方式和规则。
本文将介绍RFID读写器中的数据传输协议设计的基本原理和注意事项,并提出一种高效可靠的数据传输协议。
首先,我们需要了解RFID读写器与标签之间的通信方式。
在Passive RFID系统中,标签通过读写器发送的电磁波供电,并利用能量来完成数据传输。
传统上,RFID读写器通过发送指令控制标签的操作,并接收标签返回的响应或数据。
因此,设计一个高效可靠的数据传输协议,需要考虑以下几个方面:1.通信速率:数据传输协议需要决定读写器与标签之间的通信速率。
通常情况下,RFID系统需要处理大量的标签,并在有限的时间内完成数据传输。
因此,协议的通信速率需要足够快以满足应用需求,但同时也不能过高导致通信冲突或数据丢失。
2.数据格式:数据传输协议需要定义数据的格式和编码方式。
这包括数据长度、校验和、起始标记和结束标记等。
正确的数据格式能够确保数据的准确传输,并提高通信的可靠性。
3.冲突处理:由于RFID系统中可能存在多个标签同时响应读写器的指令,因此数据传输协议需要具备冲突处理机制。
这些机制可以通过时间间隔、多路访问技术或信道分割等方式来避免或解决冲突,从而确保每个标签的数据都能正确地传输。
4.安全性:数据传输协议还需要考虑数据的安全性。
在一些应用中,读写器与标签之间的数据传输可能包含敏感信息。
因此,协议应该提供加密、认证和数据完整性检查等功能,以防止数据被未授权的用户访问或篡改。
基于以上原则,我们提出了一种高效可靠的数据传输协议设计。
该协议采用时分多路复用(TDMA)技术,将时间划分为多个时隙,使每个标签在指定的时隙内发送数据。
通信协议中心跳计数解析

通信协议中心跳计数解析
通信协议中的“中心跳计数”是指在通信过程中,中心设备发送的心跳信号的计数。
心跳信号是一种周期性发送的信号,用于检测通信链路的连通性和稳定性。
中心跳计数的解析涉及到对通信协议中心跳计数字段的含义和处理方式的理解。
首先,中心跳计数通常是一个由中心设备发送的递增计数器,用于标识发送的心跳信号的次数。
这个计数器的作用是让接收设备知道已经收到了多少个心跳信号,从而可以判断通信链路的畅通程度和设备之间的通信状态。
通过解析中心跳计数字段,可以了解通信是否正常、通信频率、延迟等信息。
其次,解析中心跳计数需要考虑通信协议的具体规范和格式。
不同的通信协议可能对中心跳计数的编码方式和含义有所不同,因此需要参考相应的通信协议规范文档来进行解析。
通常情况下,中心跳计数会以特定的位数或字节长度进行编码,解析时需要按照规范来解析这些编码。
另外,解析中心跳计数还需要考虑到通信环境的实际情况。
例如,在无线通信中,由于信道的不稳定性和传输延迟,中心跳计数
的解析可能需要考虑到数据丢失、重传等情况,以确保对通信状态的准确判断。
总的来说,解析通信协议中心跳计数需要理解其在通信中的作用和含义,遵循通信协议规范进行解析,并考虑实际通信环境的影响,以获取准确的通信状态信息。
仪器读写协议

仪器读写协议
仪器读写协议是指用于仪器与计算机或其他设备之间进行数据交换的规范和约定。
这种协议可以定义仪器与计算机之间的通信协议,包括数据格式、通信接口、命令集、数据传输速率等规定。
常见的仪器读写协议包括:
1. GPIB(General Purpose Interface Bus):是一种常用的仪器
读写协议,用于连接多台仪器与计算机,可以同时控制和读取多台仪器的数据。
2. USB(Universal Serial Bus):是一种常用的通用串行总线
接口,也可以用于仪器与计算机之间的数据交换。
通过USB
接口,仪器可以与计算机进行数据传输和命令控制。
3. Ethernet协议:使用以太网连接仪器和计算机时,可以使用TCP/IP协议进行通信,通过网络进行数据交换和远程控制。
4. RS-232协议:是一种常用的串行通信协议,用于连接仪器
与计算机之间的数据交换和控制。
5. IEEE 488.2协议:也是一种用于连接仪器和计算机的通信协议,与GPIB类似,但更新且功能更强大。
这些协议可以根据仪器的具体需求和通信要求进行选择和配置。
在仪器操作和数据读取过程中,计算机或其他设备需要遵循相应的协议规范,以确保正确的数据传输和仪器控制。
CANlink总线协议文档V3.14

目录第1章CANlink协议 (1)1.1 CANlink基本 (1)1.1.1 概述 (1)1.1.2 说明 (1)1.1.3 新增功能 (2)1.2 CANlink模式 (2)1.2.1 三种模式 (2)1.2.2 模式转换 (3)1.3 指示灯 (3)1.4 CANlink远程帧(0xD) (4)1.5 电子标签 (4)1.6 CANlink管理帧(0x7) (4)1.6.1 启动节点(01H) (4)1.6.2 停止节点(02H) (5)1.6.3 地址冲突检测(03H) (5)1.6.4 同步广播帧(04H) (5)1.6.5 请求配置帧(05H) (6)1.6.6 关闭节点(06H) (6)1.7 CANlink命令帧(0x8) (6)1.7.1 读寄存器数据(04H) (7)1.7.2 写寄存器数据(05H) (7)1.7.3 读设备信息(06H) (8)1.7.4 读设备状态(故障)(07H)XXX (8)1.7.5 读32位寄存器数据(14H) (9)1.7.6 写32位寄存器数据(15H) (9)1.7.7 同步写寄存器(21H) (10)1.7.8 命令异常响应帧(ffH) (10)1.8 CANlink配置帧(0xA) (10)1.8.1 删除配置(01H) (11)1.8.2 读配置信息(03H) (11)1.8.3 数据帧接收配置(10H) (11)1.8.4 数据传输配置(8xH) (12)1.8.5 配置异常响应(7fH) (12)1.9 CANlink数据帧(0xC) (13)1.10 CANlink心跳帧(0xE) (14)1.10.1 监测心跳帧(01H) (14)1.10.2 节点心跳(02H) (14)1.10.3 超时处理 (15)1.11 CANlink协议软件底层接口 (15)附录A (16)A.2 文件管理帧(0xF) (16)A.2.1 读文件块 (16)A.2.2 文件数据帧 (16)A.2.3 读块结束帧 (17)A.2.4 文件数据帧错误号 (17)第1章CANlink协议1.1 CANlink基本1.1.1 概述CANlink协议是汇川技术股份有限公司基于CAN2.0总线协议制订的CAN实时总线应用层协议。
OMRONHostlink通讯协议

OMRONHostlink通讯协议
OMRON Hostlink通讯协议是一种用于OMRON PLC与上位机或外部设备之间进行通信的协议。
它定义了一系列的命令和数据格式,用于实现数据的读写、PLC程序的控制
以及与外部设备的交互。
下面是一些常用的OMRON Hostlink通讯协议命令:
- 读取位元件(Read Bit):用于读取PLC中的位元件的状态,如开关、指示灯等。
- 写入位元件(Write Bit):用于写入PLC中的位元件的状态,如开关、指示灯等。
- 读取字元件(Read Word):用于读取PLC中的字元件的值,如数据寄存器、定时器、计数器等。
- 写入字元件(Write Word):用于写入PLC中的字元件的值,如数据寄存器、定时器、计数器等。
- 读取文件(Read File):用于读取PLC中的文件的数据,如数据表、文件寄存器等。
- 写入文件(Write File):用于写入PLC中的文件的数据,如数据表、文件寄存器等。
除了上述命令外,还有一些用于控制PLC程序的命令和用于与外部设备通信的命令。
通过使用这些命令,上位机或外部设备可以实现与PLC的数据交换和程序控制。
OMRON Hostlink通讯协议的数据格式一般使用ASCII码或十六进制表示,并且有固定的命令格式和数据结构。
使用该协议进行通信时,需要注意正确的命令格式和数据格式,以及PLC和上位机或外部设备的通信参数的设置。
总的来说,OMRON Hostlink通讯协议是一种简单易用的通信协议,适用于OMRON PLC与上位机或外部设备之间的数据交换和程序控制。
心电算法服务器协议

心电算法服务器通讯协议V1.0一.基本信息网络协议:TCP服务器:端口:39758字节对齐:采用小端,低字节在前二.基本流程:Servicecode心电格式校验校验、分析心电数据准备发送波形标识三.协议详解:客户端(设备端)给服务器发送的数据除心电数据、服务器返回给客户端的波形标志是二进制流以外其它都为JSON格式。
服务器发送给客户端的数据可以是字符串JSON格式也可以是二进制数据。
第一步:客户端给服务器发送“请求头”请求头:REQ_INFO_LENGTH(4Bytes)+Request_Information_JSON_FormatREQ_INFO_LENGTH(4Bytes):JSON信息的字节长度。
Request_Information_JSON_Format:请求头信息体,JSON格式:{"flag":"header", //字符串,请求头标志"res":8/16, //整数,数据位分辨率,8位或16位有符号整数"spr":250, //整数,采样率samplerate,范围250Hz到2000Hz"unit":200, //整数,1mV电压的量化数,例如:200表示1mV用200表示"leads":0, //整数,导联名:0-I,1-II,2-V1,3-V2,4-V4,5-V4,6-V5,7-V5"spc":60000, //整数,数据采样点数(samplecount),最大采样时长不能超过60秒"rsp":0, //整数,服务器回复信息的形式,0-JSON文本,1-二进制紧凑数据"servicecode":"xxx", //字符串,服务码,从官网购买服务码}服务器收到客户端发来的请求头后会对servicecode验证、对心电格式进行检查然后发送反馈给客户端第二步:服务器给客户端发送请求反馈。
读写器通讯协议

控制字:
推荐使用方法如下: //先定义以下常量 #define NEEDSERIAL 0x08 举例: //以下控制字含义:只改动指定序列号的卡 控制字= NEEDSERIAL
//以下控制字含义:改动任何卡 控制字= 0
卡号序列号:如果在控制字的 bit3 为 0 ,则 Serial 数组的内容无需赋值,否则需要 赋值以便使其寻找指定的卡号。
读写器开发使用说明
IC 卡内部存储结构知识: 本读写器支持 ISO14443 TYPE A 标准的 Mifare One 系列卡。Mifare One 卡的内部存储 结构分为 16 个扇区,从第 0 区到第 15 区,每个扇区有独立的密码和权限控制字,可作为独 立的电子钱包,每个扇区有 4 个块,序号为第 0 块、第 1 块、第 2 块、第 3 块,每块 16 个 字节,第 3 块是卡的密码和权限控制字专用块,禁止在此存放数据。第 0 块、第 1 块、第 2 块可随意存放数据。但第 0 区的第 0 块已被固化了 IC 卡出厂信息,此块只能读出信息,不 可更改。 每张卡都有一个全球统一的 4 个字节的序列号。许多公司销售的读卡模块只有读取卡序 列号的功能,也能用于一般的考勤系统。但这类读卡模块跟本公司的读写器有着本质的不同, 本公司的读写器不仅能读序列号,而且还有服务于 IC 卡所有用途的功能,比如选中卡、认 证、读卡、写卡、改密码、休眠卡能功能。
寻不到卡 有两张以上卡片同时在感应区,发生冲突 无法选择激活卡片 密码装载失败,卡片序列号已知
密码认证失败,卡片序列号已知
改密码成功
7
卡号序列号:如果在控制字的 bit3 为 0 ,则 Serial 数组的内容无需赋值,否则需要 赋值以便使其寻找指定的卡号。
区号指需要写进的区号,则 0-15 中的某个数,一张卡有 16 个区,各个区有单独密 码,可独立使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
触发型读写器通讯协议(地址带心跳)
V2.0
一.适用范围
本协议适用产品ZWT-RFR3000/ZWT-RFR6L00触发型读写器、ZWT-TGW6C01触发半有源电子标签二.概述
触发型有源电子标签采取两种工作模式可选,一是低频触发工作模式,二是以400ms为周期工作模式;在读写器天线的有效接受区域内,读写器接收到被低频触发后电子标签的发射的信号后,自动将数据向PC 机发送。
通讯设置:波特率可调,8位数据位,1位起始位,1位停止位,无校验。
PDA固定波特率38400,地址码固定0x00。
三.通讯协议
读写器接受标签发送的ID信息后,以ASCII码的形式向PC机发送数据,格式如下:
发送数据格式:
1:卡数据
说明:
1、注释1:读写器的编号
2、注释2:触发标签的ID号码
3、注释3:ID状态(1byte) = 位7(1=在激活区,0不在激活区),位6-0(暂空,用于扩展)
4、注释4:激活ID由激活器设备ID+天线ID两部分组成,
其中:
激活器设备ID由低字节及高字节的bit0-bit5表示;
天线ID用高字节的最高两位表示:
bit7+bit6为00代表天线1,bit7+bit6为01代表天线2,bit7+bit6为10代表天线3
5、注释5:RSSI(1byte) = 激活强度,(0-31) 0为离激活器比较远,31为离激活器比较近
6、:注释6:CRC为前面所有字节的异或
2:心跳数据
在无卡的状态下,每隔5秒钟发送心跳包,为了和卡数据长度保持一致,格式定义如下:
四.波段开关设置
本机器的后窗盖可以被打开,开启后在主控板左侧有一个8位的波段开关,用于对机器进行设置。
8位波段开关
●Bit1~Bit4 读头地址码编号:0~15
●Bit5 定义为蜂鸣器&LED的开关
●Bit6~Bit7 定义为总线方式
●Bit8 定义为波特率设置
2/ 2。