AMR220-C1 参考手册 V1.03
|
|
|
- 夙济 房
- 6 years ago
- Views:
Transcription
1 AMR220-C1 安全蓝牙 mpos 读写器 参考手册 V1.03 如有任何更改, 恕不另行通知
2 版本历史 发布日期修订说明版本号 首次发布 更新 2.0 节 特性 更新 节相片 新增 节 设备重置针孔 更新 电池寿命 更新 2.0 节 特性 1.03 Page 2 of 71
3 目录 1.0. 简介 符号和缩写 特性 架构 硬件设计 电池 用户接口 软件设计 USB 接口 蓝牙接口 主机编程 PCSC API SCardEstablishContext SCardListReaders SCardConnect SCardControl ScardTransmit ScardDisconnect APDU 流程图 直接 (Escape) 命令流程图 蓝牙库 设置 BLE 初始化 Java 智能卡 I/O API 发现 BLE 卡终端 连接卡片 断开卡片连接 传输 APDU 传输控制命令 断开 BLE 卡终端连接 命令集 平板电脑和 AMR220-C1 之间的 API BT 通信帧格式 数据字段格式 命令 数据字段格式 响应 BT 命令和响应 非接触式智能卡协议 ATR 的生成 非接触接口的私有 APDU 指令 直接命令 获取固件版本 关闭时间配置 天线控制 自动 PICC 轮询参数 PICC 轮询检测卡片类型 蜂鸣器控制 Page 3 of 71
4 LED 控制 图目录 图 1 : 硬件结构... 9 图 2 : 软件架构 - USB 接口 图 3 : 软件架构 - 蓝牙接口 图 4 :APDU 流程图 图 5 : 直接 (Escape) 命令流程图 表目录 表 1 : 符号和缩写... 6 表 2 : 从智能设备至 AMR220-C1 的 BT 命令 表 3 : 从 AMR220-C1 至智能设备的 BT 响应 Page 4 of 71
5 1.0. 简介 AMR220-C1 安全蓝牙 mpos 读写器通过蓝牙 (Bluetooth ) 技术与智能设备进行通信 它符合 ISO 7816 和 ISO 标准, 支持接触式和非接触式智能卡 除此之外, 它还符合 EMV Level 1 和 Level 2, Mastercard Contactless ( 原名 MasterCard PayPass) 和 Visa Contactless 标准, 支持的卡片范围更广, 提升了 ACS 移动读卡器产品线在支付领域的适用度 目标客户包括微商, 移动商贩 ( 例如美食车, 流动餐车, 快递公司 ), 零售商等 1.1. 符号和缩写 缩写 AC AID AIP AOSA APDU ATC BT BLE CA CED CID CVM CVR DD DF FFI FW IAD IFD JCB 说明应用密文 Application Cryptogram 应用标识符 Application Identifier 应用交互特征 Application Interchange Profile 可用脱机消费金额 Available Offline Spending Amount 应用协议数据单元 Application Protocol Data Unit 应用交易计数器 Application Transaction Counter 蓝牙 Bluetooth 低功耗蓝牙 Bluetooth Low Energy 认证中心 Certification Authority 客户专属数据 Customer Exclusive Data 密文信息数据 Cryptogram Information Data 持卡人验证方法 Cardholder Verification Method 卡片验证结果 Card Verification Results 可随意使用数据 Discretionary Data 专用文件 Dedicated File 形状系数标识符 Form Factor Indicator 固件 Firmware 发卡行应用数据 Issuer Application Data 接口设备 Interface Device 吉士美卡 Japan Credit Bureau Page 5 of 71
6 缩写 PAN PBOC PCD PIN POS PSN RID QPBOC TAC TTQ TVR 说明 主账号 Primary Account Number 中国人民银行标准 People s Bank of China specifications 邻近耦合设备 ( 读写器 ) Proximity Coupling Device 个人识别码 Personal Identification Number 销售点 Point of Sale 应用 PAN 序号 Application PAN Sequence Number 注册应用提供商标识 Registered Application Provider Identifier 快速借记 / 贷记应用 Quick PBOC ( 非接触式 EMV 应用的中国应用 ) 终端行为代码 Terminal Action Code 终端交易属性 Terminal Transaction Qualifiers 终端验证结果 Terminal Verification Results 表 1 : 符号和缩写 Page 6 of 71
7 2.0. 特性 USB 全速接口 蓝牙 接口 即插即用 - 支持 CCID 标准, 具有高度灵活性 智能卡读写器 : o 非接触接口 : 读写速率可达 848 Kbps 内置天线用于读写非接触式标签, 读取距离可达 50 mm( 视标签的类型而定 ) 支持 ISO 第 4 部分 A 类和 B 类卡, MIFARE 卡, FeliCa 卡和全部 4 种 NFC (ISO/IEC 18092) 标签 支持符合 Mastercard Contactless 和 Visa paywave 的卡 内建防冲突特性 ( 任何时候只能访问 1 张标签 ) 支持的 NFC 模式 : o 接触式接口 : 卡片读 / 写模式 读写速率高达 600 Kbps 支持 ISO 7816 A 类, B 类和 C 类 (5V, 3V, 1.8V) 标准尺寸卡 支持符合 T=0 或 T=1 协议的微处理器卡 支持协议和参数选择 (PPS) 具有短路保护功能 应用程序编程接口 : 内置外设 : o 支持 PC/SC o 支持 CT-API( 通过 PC/SC 上一层的封装 ) o LED 指示灯 : 4 个用户可控的单色 LED( 绿色 ) 1 个电池充电状态 LED( 红色 ) 1 个蓝牙状态 LED( 蓝色 ) o 按键 : 电源开关 蓝牙开关 o 用户可控的扬声器 ( 单音指示 ) 支持多种加密算法 ( 按需定制 ), 例如 AES, DES 和 3DES 具有 USB 固件升级能力 1 支持 Android 4.4 及更高版本 2 支持 ios 8.0 及更高版本 3 1 适用于连接计算机模式 2 使用 ACS 定义的安卓库 3 使用 ACS 定义的 ios 库 Page 7 of 71
8 符合下列标准 : o EN 60950/IEC o ISO 7816 o ISO o ISO o EMV Level 1 和 Level 2 o Mastercard Contactless o Visa paywave o Bluetooth TM o PC/SC o CCID o CE o FCC o RoHS 2 o REACH o MIC( 日本 ) o Microsoft WHQL Page 8 of 71
9 3.0. 架构 3.1. 硬件设计 采用的 Cortex M3 级主处理器可通过蓝牙接口或 USB 接口与平板电脑或计算机通信, 也可控制外设并与 ICC 通信 NFC 芯片作为收发器在非接触标签与主处理器之间建立 RF 通道 锂离子电池 内置天线 载波频率 = 13.56MHz NFC 芯片 主处理器 蓝牙模块 载波频率 = 2.4GHz 带蓝牙的主机 BLE 4.1 外设 LED 蜂鸣器等 ICC 卡槽 USB 2.0 带 USB 接口的主机 非接触标签 接触式卡 图 1 : 硬件结构 电池 AMR220-C1 使用容量为 450 mah 的锂离子充电电池 电池充电 AMR220-C1 可连接电源插座为电池充电 电池寿命电池寿命与设备使用情况相关 以下是各种工作条件下预估的电池寿命 : 模式 工作模式 : 接触式接口 工作模式 : 非接触接口 关机模式 预计电池寿命 9 天 * (1) 7 天 * (1) 2 年 * 注 : 结果可能因采用的智能卡不同而发生变化. 表 2 : 预计电池寿命长度 (1) 在蓝牙模式下, 每天进行 10 次操作, 每次操作一分钟 Page 9 of 71
10 用户接口 LED 操作 充电状态 LED LED 状态 说明 充电 LED 开启 正在充电 充电 LED 关闭 已充满 蓝牙状态 LED LED 状态缓慢闪烁 (0.5 秒 - 开启, 4.5 秒 - 关闭 ) 缓慢闪烁 (0.5 秒 - 开启, 1.5 秒 - 关闭 ) 关 说明已配对配对中蓝牙停用 LED 状态 蓝牙状态 LED 开启 蓝牙状态 LED 关闭 EMV 非接触 LED 操作 注 : 如需了解更多信息, 请参考 EMV 非接触规范 : Page 10 of 71
11 开关操作 电源开关操作 开机时, 长按电源开关 1-2 秒钟 关机时, 长按电源开关, 直到听到 哔 的一声, 松开开关 蓝牙开关操作 激活 / 取消激活蓝牙配对 : 要激活蓝牙配对, 只需按一下蓝牙开关 要取消激活蓝牙配对, 需要在两秒钟内两次按压蓝牙开关 设置设备进入固件升级模式 : 如果设备已经开机, 长按蓝牙开关 10 秒钟 如果设备关机, 同时按下蓝牙开关和电源开关 设备重置针孔 重置设备 : 重置设备, 找到蓝牙按钮旁边的针孔, 然后使用一个针按下重置按钮 Page 11 of 71
12 3.2. 软件设计 USB 接口 通过 MS-CCID 驱动, 仅可支持一个单槽设备, 并且只能使用 PICC 接口 若想使用两个接口, 就需要用到 ACS 驱动 AMR220-C1 的 USB 接口符合 CCID 协议, 定义了两个插槽, 一个用于 ICC 接口, 一个用于 PICC 接口 AMR220-C1 是一款 CCID 设备, 所以主机应用程序完全符合 PCSC 标准 注 : 关于这些 API 的更多细节, 请参考 Microsoft MSDN 库或 PCSC 工作组 一些经常用到的 PCSC API 将在 PCSC API 中进行介绍 AMR220-C1 PCSC 应用 USB CCID 命令调度 AMR220-C ISO ISO / ISO18092 物理 ICC PICC 图 2 : 软件架构 - USB 接口 Page 12 of 71
13 蓝牙接口 AMR220-C1 的蓝牙接口符合低功耗蓝牙 (BLE)4.1 标准 ACS 提供一个高级别的 Android/IOS 库来简化应用程序编程 蓝牙 API 将在蓝牙库中进行介绍 以下是 BLE 的架构, 供用户参考 图 3 : 软件架构 - 蓝牙接口 Page 13 of 71
14 4.0. 主机编程 4.1. PCSC API 本节将介绍一些使用 USB 接口进行应用程序编程的 PCSC API 关于这些 API 的更多细节, 请参考 Microsoft MSDN 库或 PCSC 工作组 SCardEstablishContext SCardEstablishContext 函数用于建立进行设备数据库操作的资源管理器上下文 请参考 : SCardListReaders SCardListReaders 函数可以给出系统中在指定读卡器组集合中的读卡器名字列表 ( 去掉重复的 ) 调用者提供一个读卡器组列表, 函数返回这些指定组里面的读卡器名字列表 无法识别的组名会被忽略 这个函数只会返回当前系统中可以使用的组里面的读卡器 请参考 : SCardConnect SCardConnect 函数利用特定资源管理器上下文, 在应用程序与包含在特定读卡器中的智能卡之间建立一条连接 如果特定读卡器中没有卡片, 会返回一条错误信息 请参考 : SCardControl SCardControl 函数提供对读卡器的直接控制 你可以在 SCardConnect 函数成功调用后, 但 SCardDisconnect 函数成功调用前随时调用此函数 它对读卡器状态的影响取决于控制码 请参考 : 注 : 直接命令介绍的命令要使用此 API 进行发送 ScardTransmit SCardTransmit 函数用来发送服务请求给智能卡, 并接收从智能卡返回的数据 请参考 : 注 :APDU 命令 ( 即非接触接口的私有 APDU 指令发送给所连接卡片的命令 ) 要使用此 API 进行发送 ScardDisconnect SCardDisconnect 函数用来断开先前在应用程序和目标读卡器中的智能卡之间建立的连接 请参考 : Page 14 of 71
15 APDU 流程图 开始 SCardEstablishContext SCardListReaders 否 发现读写器? 是 SCardConnect 否 成功建立连接? 是 SCardTransmit SCardDisconnect 结束 图 4 :APDU 流程图 Page 15 of 71
16 直接 (Escape) 命令流程图 开始 SCardEstablishContext SCardListReaders 否 发现读写器? 是 SCardConnect SCardControl SCardDisconnect 结束 图 5 : 直接 (Escape) 命令流程图 Page 16 of 71
17 4.2. 蓝牙库 本节介绍了 ACS 提供给开发人员使用的蓝牙库 更多详情, 请参考库封装文件 设置 BLE 如果设备支持 BLE, 启用蓝牙功能才能连接卡片终端 要启用蓝牙功能, 需要从 BluetoothManager 获取 BluetoothAdapter 实例 private BluetoothAdapter mbluetoothadapter;... // Initializes Bluetooth adapter. final BluetoothManager bluetoothmanager = (BluetoothManager) getsystemservice(context.bluetooth_service); mbluetoothadapter = bluetoothmanager.getadapter(); 要查看蓝牙是否启用, 只需从 BluetoothAdapter 调用 isenabled(), 然后再调用 startactivityforresult() 来请求用户许可启用蓝牙功能 执行完 onactivityresult() 后返回结果 // Ensures Bluetooth is available on the device and it is enabled. If not, // displays a dialog requesting user permission to enable Bluetooth. if (mbluetoothadapter == null!mbluetoothadapter.isenabled()) { Intent enablebtintent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startactivityforresult(enablebtintent, REQUEST_ENABLE_BT); } 初始化 Java 智能卡 I/O API 要使用 Java 智能卡 I/O API 和 BLE 卡终端, 需要调用 BluetoothSmartCard 的 getinstance() 这是一个将 Context 作为参数的单例类 如果在 Activity 中调用这个方法, 他们可以将此传递给参数 private BluetoothTerminalManager mmanager; private TerminalFactory mfactory;... // Get the Bluetooth terminal manager. mmanager = BluetoothSmartCard.getInstance(this).getManager(); if (mmanager == null) { Toast.makeText(this, R.string.error_bluetooth_not_supported, Toast.LENGTH_SHORT).show(); finish(); return; } // Get the terminal factory. mfactory = BluetoothSmartCard.getInstance(this).getFactory(); if (mfactory == null) { Toast.makeText(this, R.string.error_bluetooth_provider_not_found, Toast.LENGTH_SHORT).show(); finish(); return; } Page 17 of 71
18 发现 BLE 卡终端 要找到 BLE 卡终端, 需用到 BluetoothTerminalManager 的 startscan() 方法 提供终端类型和回调来返回 CardTerminal 对象 找到卡片终端后, 必须调用 stopscan() 来停止扫描, 以避免智能设备电池电量快速流失而影响操作 对于 Android 6.0 或更高版本, 开发人员必须在运行时间请求 ACCESS_COARSE_LOCATION 或 ACCESS_FINE_LOCATION 权限才能扫描 BLE 设备 private Handler mhandler; private Button mscanbutton; private TerminalAdapter mterminaladapter;... // Initialize Scan button. mhandler = new Handler(); mscanbutton = (Button) findviewbyid(r.id.activity_main_button_scan); mscanbutton.setonclicklistener(new View.OnClickListener() public void onclick(view v) { // Request access coarse location permission. if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION)!= PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_ACCESS_COARSE_LOCATION); } else { mscanbutton.setenabled(false); mterminaladapter.clear(); // Start the scan. mmanager.startscan(bluetoothterminalmanager.terminal_type_amr220_c, new BluetoothTerminalManager.TerminalScanCallback() public void onscan(final CardTerminal terminal) { runonuithread(new Runnable() public void run() { mterminaladapter.addterminal(terminal); } }); } }); } }); } // Stop the scan. mhandler.postdelayed(new Runnable() public void run() { mmanager.stopscan(); mscanbutton.setenabled(true); } }, SCAN_PERIOD); Page 18 of 71
19 从 onrequestpermissionsresult() 返回结果 获得授权后, public void onrequestpermissionsresult(int String[] int[] grantresults) { if (requestcode == REQUEST_ACCESS_COARSE_LOCATION) { if ((grantresults.length > 0) && (grantresults[0] == PackageManager.PERMISSION_GRANTED)) { mscanbutton.setenabled(false); mterminaladapter.clear(); } // Start the scan. mmanager.startscan(bluetoothterminalmanager.terminal_type_amr220_c, new BluetoothTerminalManager.TerminalScanCallback() public void onscan(final CardTerminal terminal) { runonuithread(new Runnable() public void run() { mterminaladapter.addterminal(terminal); } }); } }); // Stop the scan. mhandler.postdelayed(new Runnable() public void run() { mmanager.stopscan(); mscanbutton.setenabled(true); } }, SCAN_PERIOD); } } else { super.onrequestpermissionsresult(requestcode, permissions, grantresults); } Page 19 of 71
20 连接卡片 要连接卡片, 需要调用 CardTerminal 对象的 connect() 来返回卡片对象 可用的协议包括 T=0, T=1, T=0 或 T=1 和直接模式 // Protocol: // "T=0" - T=0 // "T=1" - T=1 // "*" - T=0 or T=1 // "direct" - Direct mode try { Card card = terminal.connect("*"); } catch (CardException e) { e.printstacktrace(); } 断开卡片连接 使用完卡片后, 可以调用卡片对象的 disconnect() 来断开卡片连接 如果断开连接后需要重置卡片, 可发送 true 给参数 try { card.disconnect(false); } catch (CardException e) { e.printstacktrace(); } 传输 APDU 成功连接卡片后, 必须开放一个通道来传输 APDU 方法是调用卡片对象的 getbasicchannel() 或 openlogicalchannel() 返回 CardChannel 对象后, 即可使用 CardChannel 对象的 transmit(commandapdu) 或 transmit(bytebuffer, ByteBuffer) 来传输 APDU byte[] command = { 0x00, (byte) 0x84, 0x00, 0x00, 0x08 }; try { Card card = terminal.connect("*"); CardChannel channel = card.getbasicchannel(); CommandAPDU commandapdu = new CommandAPDU(command); ResponseAPDU responseapdu = channel.transmit(commandapdu); } catch (CardException e) { } e.printstacktrace(); Page 20 of 71
21 传输控制命令 成功连接卡片后, 可以调用卡片对象的 transmitcontrolcommand() 来传输控制命令 int controlcode = BluetoothTerminalManager.IOCTL_ESCAPE; try { Card card = terminal.connect("direct"); card.transmitcontrolcommand(controlcode, command); } catch (CardException e) { e.printstacktrace(); } 断开 BLE 卡终端连接 当调用 CardTerminal 对象的 connect() 时, 库会自动连接 BLE 卡终端 要手动终止蓝牙连接, 必须调用 BluetoothTerminalManager 对象的 disconnect() mmanager.disconnect(terminal); Page 21 of 71
22 5.0. 命令集 5.1. 平板电脑和 AMR220-C1 之间的 API 注 : 此部分内容仅针对不准备使用 ACS BT 库开发自己应用程序的开发人员, 如果您使用的是 ACS BT 库, 请忽略此部分内容 BT 通信帧格式 AMR220-C1 和平板电脑之间采用预定义的帧格式进行通信 帧格式的定义如下 : STX (0x02) Data Len MSB Data Len LSB Sequence Number Frame Type Data Field (N 个字节 ) CheckSum 其中 : STX 文本起点, 必须是 0x02 Data Len MSB 数据字段长度, MSB(1 字节 ) Data Len LSB 数据字段长度, LSB(1 字节 ) Sequence Number Frame Type BT 消息的序号, 每条消息加 1, bit 7 表示是否为链接数据包 ( 1 表示是链接数据包 ; 0 表示最后一个数据包 ) 通信帧类型 不带加密的数据帧 = 0x00 ACK 帧 = 0x02 Abort 帧 = 0x04 加密的数据帧 = 0x01 NAK 帧 = 0x03 INT 帧 = 0x05 Inter 字符超时帧 = 0xF1 校验和错误帧 = 0xF2 数据长度错误帧 = 0xF3 Data Field: 消息正文 (N 个字节 ), 数据加密部分 Checksum: XOR { 数据长度 MSB, 数据长度 LSB, 序列号, 帧类型, 数据字段 } Page 22 of 71
23 状态响应 : 1. 成功接收或已接受链接 - ACK 响应格式 : ACK 应答后紧跟着响应帧 0x02 0x00 0x00 Seq 0x02 CS 2. 接收失败 - 否定应答 - NAK 响应格式 : 0x02 0x00 0x00 Seq 0x03 CS 3. Inter 字符超时 - 每个字符间的超时值 ( 比如说 5ms) 响应格式 : 0x02 0x00 0x00 Seq 0xF1 CS 4. 校验和检查 - 校验和错误响应格式 : 0x02 0x00 0x00 Seq 0xF2 CS 5. 数据长度错误 - 数据长度超出最大限制 响应格式 : 0x02 0x00 0x00 Seq 0xF3 CS Page 23 of 71
24 数据字段格式 命令 本节定义了命令帧的数据字段内容格式 数据字段 INS (1 字节 ) Counter (1 字节 ) Command Payload Length (2 字节 ) Command Payload (N 字节 ) CS (1 字节 ) 其中 : INS 命令头 (1 字节 ) 用于说明特定命令属性的命令头部 Counter 计数器用于防止重放攻击 (1 字节 ) 每个命令增加一次, 用于防止重放攻击 Command Payload Length 命令数据包的长度 (2 字节 ) Command Payload 命令消息 (N 字节 ) CS 校验和, XOR {INS, Counter, Command Payload Length, Command Payload} 数据字段格式 响应 本节定义了响应帧的数据字段内容格式 数据字段 RSP (1 字节 ) Counter (1 字节 ) Response Payload Length (2 字节 ) ResponsePayload (N 字节 ) CS (1 字节 ) 其中 : RSP 响应头 (1 字节 ) 对应特定命令头的响应头部 Counter 计数器用于防止重放攻击 (1 字节 ) 每个响应增加一次 Response Payload Length 响应数据包的长度 (2 字节 ) ResponsePayload 响应报文 (N 字节 ) CS 校验和, XOR {INS, Counter, ResponsePayload Length, ResponsePayload} Page 24 of 71
25 BT 命令和响应 命令 ( 从智能设备至 AMR220-C1) 命令名称 说明 INS SPH_to_RDR_EmvExchangeData 在智能设备和 EMV L2 内核之间交换数据 0x44 SPH_to_RDR_PcdPowerOn SPH_to_RDR_PcdPowerOff SPH_to_RDR_PcdExAPDU 请求 AMR220-C1 在定义的范围内轮询 PCD 标签 请求 AMR220-C1 取消选择已经激活的 PCD 标签 请求 AMR220-C1 与已经激活的 PCD 标签交换 APDU 注 : 必须首先完成 SPH_to_RDR_PcdPowerOn 0x80 0x81 0x82 SPH_to_RDR_IccPowerOn 请求 AMR220-C1 激活 ICC/SAM 卡 0xA0 SPH_to_RDR_IccPowerOff SPH_to_RDR_IccExAPDU SPH_to_RDR_IccSetParameter SPH_to_RDR_ExEscape 请求 AMR220-C1 下电激活的 ICC/SAM 卡 请求 AMR220-C1 与激活的 ICC/SAM 卡交换 APDU 注 : 必须首先完成 SPH_to_RDR_IccPowerOn 请求 AMR220-C1 与激活的 ICC/SAM 卡进行 PPS 注 : 必须首先完成 SPH_to_RDR_IccPowerOn 请求 AMR220-C1 交换 Escape 命令来控制 / 配置外设 0xA1 0xA2 0xA3 0xC0 表 3 : 从智能设备至 AMR220-C1 的 BT 命令 Page 25 of 71
26 SPH_to_RDR_PcdPowerOn 此命令请求 AMR220-C1 在定义的范围内轮询 PCD 标签 偏移数据域大小值说明 0 INS 1 0x80 命令头 1 Counter 1 命令计数器 2 Command Payload Length 2 0x0006 命令数据包的长度 Byte 1 卡片类型 Bit 0 = 0 禁用 Type A 轮询 1 启用 Type A 轮询 Bit 1 = 0 禁用 Type B 轮询 1 启用 Type B 轮询 Bit 2 = 0 禁用 FeliCa212 轮询 1 启用 FeliCa212 轮询 4 Command Payload 6 Bit 3 = 0 禁用 FeliCa424 轮询 1 启用 FeliCa424 轮询 Bit 4-6 = RFU Bit 7 = 0 不发送 RATS 1 自动发送 RATS Byte 2 轮询重试 Byte 3 6 轮询间隔 每次轮询间的间隔 ( 单位 :1ms) 10 CS 1 XOR 上述字段 此报文的响应是 RDR_to_SPH_PcdPowerOnRsp Page 26 of 71
27 SPH_to_RDR_PcdPowerOff 此命令请求 AMR220-C1 取消选择已经激活的 PCD 标签 偏移数据域大小值说明 0 INS 1 0x81 命令头 1 Counter 1 命令计数器 2 Command Payload Length 2 0x0000 命令数据包的长度 4 Command Payload 0-4 CS 1 XOR 上述字段 此报文的响应是 RDR_to_SPH_PcdPowerOffRsp SPH_to_RDR_PcdExAPDU 此命令请求 AMR220-C1 与激活的 PCD 标签交换 APDU 注 : 必须首先完成 SPH_to_RDR_PcdPowerOn 偏移数据域大小值说明 0 INS 1 0x82 命令头 1 Counter 1 命令计数器 2 Command Payload Length 2 N 命令数据包的长度 4 Command Payload N 用于激活 PCD 标签的 APDU N+4 CS 1 XOR 上述字段 此报文的响应是 RDR_to_SPH_PcdExAPDURsp Page 27 of 71
28 SPH_to_RDR_IccPowerOn 此命令请求 AMR220-C1 激活 ICC/SAM 卡 偏移数据域大小值说明 0 INS 1 0xA0 命令头 1 Counter 1 命令计数器 2 Command Payload Length 2 0x0001 命令数据包的长度 4 Command Payload 1 ICC 卡槽选择 0x01 = ICC 卡槽 5 CS 1 XOR 上述字段 此报文的响应是 RDR_to_SPH_IccPowerOnRsp SPH_to_RDR_IccPowerOff 此命令请求 AMR220-C1 下电激活的 ICC/SAM 卡 偏移数据域大小值说明 0 INS 1 0xA1 命令头 1 Counter 1 命令计数器 2 Command Payload Length 2 0x0001 命令数据包的长度 4 Command Payload 1 ICC 卡槽选择 0x01 = ICC 卡槽 5 CS 1 XOR 上述字段 此报文的响应是 RDR_to_SPH_IccPowerOffRsp Page 28 of 71
29 SPH_to_RDR_IccExAPDU 此命令请求 AMR220-C1 与激活的 ICC/SAM 卡交换 APDU 注 : 必须首先完成 SPH_to_RDR_IccPowerOn 偏移数据域大小值说明 0 INS 1 0xA2 命令头 1 Counter 1 命令计数器 2 Command Payload Length 2 N 命令数据包的长度 字节 1 - ICC 卡槽选择 4 Command Payload N 0x01 = ICC 卡槽 字节 APDU 用于激活 ICC 卡的 APDU N+4 CS 1 XOR 上述字段 此报文的响应是 RDR_to_SPH_IccExAPDURsp SPH_to_RDR_IccSetParameter 此命令请求 AMR220-C1 与激活的 ICC/SAM 卡进行 PPS 注 : 必须先完成 SPH_to_RDR_IccPowerOn 偏移数据域大小值说明 0 INS 1 0xA3 命令头 1 Counter 1 命令计数器 2 Command Payload Length 2 5 命令数据包的长度 字节 1 - ICC 卡槽选择 4 Command Payload 5 0x01 = ICC 卡槽 字节 PPS 9 CS 1 XOR 上述字段 此报文的响应是 RDR_to_SPH_IccSetParameterRsp Page 29 of 71
30 SPH_to_RDR_ExEscape 此命令请求 AMR220-C1 交换 Escape 命令来控制 / 配置外设 偏移数据域大小值说明 0 INS 1 0xC0 命令头 1 Counter 1 命令计数器 2 Command Payload Length 2 5 命令数据包的长度 4 Command Payload N 直接 (Escape) 命令 N+4 CS 1 XOR 上述字段 此报文的响应是 RDR_to_SPH_ExEscapeRsp Page 30 of 71
31 响应 ( 从 AMR220-C1 至智能设备 ) 响应名称 说明 INS RDR_to_SPH_EmvExchangeData SPH_to_RDR_EmvExchangeData 的响应 0x54 RDR_to_SPH_PcdPowerOnRsp SPH_to_RDR_PcdPowerOn 的响应 0x90 RDR_to_SPH_PcdPowerOffRsp SPH_to_RDR_PcdPowerOff 的响应 0x91 RDR_to_SPH_PcdExAPDURsp SPH_to_RDR_PcdExAPDU 的响应 0x92 RDR_to_SPH_IccPowerOnRsp SPH_to_RDR_IccPowerOn 的响应 0xB0 RDR_to_SPH_IccPowerOffRsp SPH_to_RDR_IccPowerOff 的响应 0xB1 RDR_to_SPH_IccExAPDURsp SPH_to_RDR_IccExAPDU 的响应 0xB2 RDR_to_SPH_IccSetParameterRsp SPH_to_RDR_IccSetParameter 的响应 0xB3 RDR_to_SPH_ExEscapeRsp SPH_to_RDR_ExEscape 的响应 0xD0 表 4 : 从 AMR220-C1 至智能设备的 BT 响应 RDR_to_SPH_PcdPowerOnRsp 此命令是对 SPH_to_RDR_PcdPowerOn 的响应 偏移数据域大小值说明 0 RSP 1 0x90 响应的头部 1 Counter 1 响应计数器 2 Response Payload Length 2 N 响应数据包的长度 字节 1 错误代码 4 Response Payload N 0x00 = 无错误 其它 = 参考错误代码表 字节 卡片 ATR N+4 CS 1 XOR 上述字段 Page 31 of 71
32 RDR_to_SPH_PcdPowerOffRsp 此命令是对 SPH_to_RDR_PcdPowerOff 的响应 偏移数据域大小值说明 0 RSP 1 0x91 响应的头部 1 Counter 1 响应计数器 2 Response Payload Length 2 0x0001 响应数据包的长度 4 Response Payload 1 0x00 = 无错误 其它 = 参考错误代码表 5 CS 1 XOR 上述字段 RDR_to_SPH_PcdExAPDURsp 此命令是对 RDR_to_SPH_PcdExAPDURsp 的响应 偏移数据域大小值说明 0 RSP 1 0x92 响应的头部 1 Counter 1 响应计数器 2 Response Payload Length 2 N 响应数据包的长度 字节 1 错误代码 4 Response Payload N 0x00 = 无错误 其它 = 参考错误代码表 字节 APDU 响应 N+4 CS 1 XOR 上述字段 Page 32 of 71
33 RDR_to_SPH_IccPowerOnRsp 此命令是对 SPH_to_RDR_IccPowerOn 的响应 偏移数据域大小值说明 0 RSP 1 0xB0 响应的头部 1 Counter 1 响应计数器 2 Response Payload Length 2 N 响应数据包的长度 字节 1 - ICC 卡槽选择 0x01 = ICC 卡槽 4 Response Payload N 字节 2 错误代码 0x00 = 无错误其它 = 参考错误代码表字节 卡片 ATR N+4 CS 1 XOR 上述字段 RDR_to_SPH_IccPowerOffRsp 此命令是对 SPH_to_RDR_IccPowerOff 的响应 偏移数据域大小值说明 0 RSP 1 0xB1 响应的头部 1 Counter 1 响应计数器 2 Response Payload Length 2 0x0002 响应数据包的长度 字节 1 - ICC 卡槽选择 0x01 = ICC 卡槽 4 Response Payload 2 字节 2 错误代码 0x00 = 无错误 其它 = 参考错误代码表 6 CS 1 XOR 上述字段 Page 33 of 71
34 RDR_to_SPH_IccExAPDURsp 此命令是对 SPH_to_RDR_IccExAPDU 的响应 偏移数据域大小值说明 0 RSP 1 0xB2 响应的头部 1 Counter 1 响应计数器 2 Response Payload Length 2 N 响应数据包的长度 字节 1 - ICC 卡槽选择 0x01 = ICC 卡槽 4 Response Payload N 字节 2 错误代码 0x00 = 无错误其它 = 参考错误代码表字节 APDU 响应 N+4 CS 1 XOR 上述字段 RDR_to_SPH_IccSetParameterRsp 此命令是对 SPH_to_RDR_IccSetParameter 的响应 偏移 数据域 大小 值 说明 0 RSP 1 0xB3 响应的头部 1 Counter 1 响应计数器 2 Response Payload Length 2 N 响应数据包的长度 字节 1 - ICC 卡槽选择 0x01 = ICC 卡槽 4 Response Payload N 字节 2 错误代码 0x00 = 无错误其它 = 参考错误代码表字节 PPS 响应 N+4 CS 1 XOR 上述字段 Page 34 of 71
35 RDR_to_SPH_ExEscapeRsp 此命令是对 SPH_to_RDR_ExEscape 的响应 偏移数据域大小值说明 0 RSP 1 0xD0 响应的头部 1 Counter 1 响应计数器 2 Response Payload Length 2 N 响应数据包的长度 4 Response Payload N Escape 命令响应 N+4 CS 1 XOR 上述字段 Page 35 of 71
36 5.2. 非接触式智能卡协议 ATR 的生成 PICC 接口的 ATR 符合 PCSC 规范 注 : 如需了解更多信息, 请参考 ATR 信息格式 ( 适用于 ISO PICC). 字节 值 (Hex) 标记 0 0x3B Initial 1 0x8N T0 2 0x80 TD1 3 0x01 TD2 说明高半字节 8 表示 : 不存在 TA1, TB1 和 TC1; 存在 TD1 低半字节 N 表示 : 历史字节的数量高半字节 8 表示 : 不存在 TA2, TB2 和 TC2; 存在 TD2 低半字节 0 表示 : 支持 T=0 协议高半字节 0 表示 : 不存在 TA3, TB3, TC3 和 TD3 低半字节 1 表示 : 支持 T=1 协议 0x80 T1 类别指示字节 80 表示在可选的 COMPACT-TLV 数据对象中或许存在一个状态标识符 4 0x4F 0x0C 应用标识符存在标识长度 至 RID Tk 注册应用提供商标识 (RID) 等于 0xA0 0x00 0x00 0x03 0x06 3+N SS 标准字节 C0..C1 0x00 0x00 0x00 0x00 RFU 卡片名称字节 RFU 4+N UU TCK T0 至 Tk 的所有字节按位异或 例如 :Mifare 1K 的 ATR = {0x3B 0x8F 0x80 0x01 0x80 0x4F 0x0C 0xA0 0x00 0x00 0x03 0x06 0x03 0x00 0x01 0x00 0x00 0x00 0x00 0x6A} Page 36 of 71
37 长度 (YY) = 0x0C RID = {0xA0 0x00 0x00 0x03 0x06} (PC/SC 工作组 ) 标准 (SS) = 0x03 (ISO14443A, Part 3) 卡片名称 (C0..C1) = {0x00 0x01} (Mifare 1K) 标准 (SS) 0x03:ISO14443A, 第 3 部分卡片名称 (C0..C1) 0x00 0x01:Mifare 1K 0x00 0x02:Mifare 4K 0x00 0x03:Mifare Ultralight 0x00 0x26:Mifare Mini 0x00 0x30:Topaz 0x11:FeliCa 0x000x3B:FeliCa 0x00 0x38:Mifare Plus SL2_2K 0x00 0x39:Mifare Plus SL2_4K 0xFF [SAK]: 尚未定义的标签 ATR 信息格式 ( 适用于 ISO PICC). 字节 值 (Hex) 标记 0 0x3B Initial 1 0x8N T0 高半字节 8 表示 : 说明 不存在 TA1, TB1 和 TC1; 存在 TD1 低半字节 N 表示 : 历史字节的数量 2 0x80 TD1 高半字节 8 表示 : 不存在 TA2, TB2 和 TC2; 存在 TD2 低半字节 0 表示 : 支持 T=0 协议 3 0x01 TD2 高半字节 0 表示 : 4 至 3 + N 不存在 TA3, TB3, TC3 和 TD3 低半字节 1 表示 : XX T1 历史字节 : XX XX XX Tk ISO14443A: 支持 T=1 协议 来自 ATS 应答的历史字节 请参考 ISO 规范 ISO14443B: Byte1-4 Byte5-7 Byte8 ATQB 的应用数据 ATQB 的协议信息字符 4+N UU TCK T0 至 Tk 的所有字节按位异或 高半字节 = ATTRIB 命令的 MBLI 低半字节 (RFU) = 0 Page 37 of 71
38 例如 1:Desfire 的 ATR = {0x3B 0x81 0x80 0x01 0x80 0x80} // 6 字节的 ATR 注 : 使用 APDU 0xFF 0xCA 0x01 0x00 0x00 来区分是符合 ISO14443A-4 的 PICC 还是符合 ISO14443B-4 的 PICC, 并且如果有的话, 取回完整的 ATS ISO14443A-3 和 ISO14443B-3/4 的 PICC 会返回 ATS APDU 命令 = 0xFF 0xCA 0x01 0x00 0x00 APDU 响应 = 0x06 0x75 0x77 0x81 0x02 0x80 0x90 0x00 ATS = {0x } 例如 2:EZ-link 的 ATR = {0x3B 0x880x80 0x01 0x1C 0x2D 0x94 0x11 0xF7 0x71 0x85 0x00 0xBE} ATQB 的应用数据 = 0x1C0x2D 0x94 0x11 ATQB 的协议信息 =0xF7 0x71 0x85 ATTRIB 的 MBLI = 0x 非接触接口的私有 APDU 指令 获取数据命令 获取数据 (Get Data) 命令依据所插入的卡片, 获取卡片的信息 可用于各种非接触卡 Get Data 的命令结构 (5 字节 ) 命令 CLA INS P1 P2 Le Get Data 0xFF 0xCA 0x00 如果 P1 = 0x00, UID 响应报文结构 (UID + 2 个字节 ) 0x01 0x00 0x00 响应 响应数据域 结果 UID (LSB) UID (MSB) SW1 SW2 如果 P1 = 0x01, ISO A 类卡的 ATS 响应结构 (ATS + 2 个字节 ) 响应 响应数据域 响应状态码 结果 ATS SW1 SW2 结果 SW1 SW2 含义 成功 0x90 0x00 操作成功完成 警告 0x62 0x82 UID/ATS 的末尾先于 Le 字节到达 (Le 大于 UID 的长度 ) Page 38 of 71
39 错误 0x6C XX 长度错误 ( 错误的 Le: XX 表示确切的数字 ), 如果 Le 小于 UID 的长度 错误 0x63 0x00 操作失败 错误 0x6A 0x81 不支持此功能 PCSC 2.0 第 3 部分 (2.02 及以上版本 ) 的 APDU 命令 PCSC 2.0 第三部分规定的命令用于将数据从应用程序透明地传递给非接触式标签, 将接收到的数据透明地返回给应用程序和协议, 以及同时切换协议 命令和响应的 APDU 格式 命令格式 : CLA INS P1 P2 Lc 命令数据域 0xFF 0xC2 0x00 Function DataLen Data[DataLen] Functions 应答格式 : 1 字节 0x00 = 管理会话 0x01 = 透明交换 0x02 = 切换协议其它 = RFU 响应数据域 SW1 SW2 编码的数据域 BER-TLV 每个命令都会返回 SW1 和 SW2 加上响应数据域 ( 如有 ) SW1 SW2 符合 ISO 7816 的定义 下述 C0 数据对象的 SW1 SW2 也要用到 C0 数据元格式 : 标签长度 (1 字节 ) SW2 0xC0 0x03 错误状态 错误状态说明 错误状态 XX SW1 SW2 说明 XX = APDU 中不良数据对象的数量 00 = APDU 常见错误 01 = 第 1 个数据对象有错误 02 = 第 2 个数据对象有错误 Page 39 of 71
40 错误状态 0x00 0x90 0x00 XX 0x62 0x82 XX 0x63 0x00 XX 0x63 0x01 XX 0x6A 0x81 XX 0x67 0x00 XX 0x6A 0x80 说明未发生错误数据对象 XX 告警, 请求信息不存在未有信息由于其它数据对象失败, 停止执行不支持数据对象 XX 意外长度的数据对象 XX 意外值的数据对象 XX XX 0x64 0x00 数据对象 XX 执行错误 ( 没有 IFD 响应 ) XX 0x64 0x01 数据对象 XX 执行错误 ( 没有 ICC 响应 ) XX 0x6F 0x00 数据对象 XX 失败, 未有准确诊断 第一个字节的值表示错误数据对象 XX 的数量, 而最后两个字节是对错误的解释 允许使用 ISO 7816 规定的其它 SW1 SW2 值 如果在 C-APDU 数据域中存在多个数据对象, 而且其中一个数据对象失败, 那么在其它数据对象不依赖于失败的数据对象的情况下, IFD 可以处理接下来的数据对象 管理会话命令 管理会话 (Manage Session) 命令用于管理透明会话, 其中包括开启透明会话, 结束透明会话, 管理操作环境, 管理透明会话中 IFD 的性能等 Manage Session 命令 命令 CLA INS P1 P2 Lc ManageSession 0xFF 0xC2 0x00 0x00 DataLen 命令数据域 DataObject (N 个字节 ) Page 40 of 71
41 其中 : Data Object (1 字节 ) 标签 0x80 0x81 0x82 0x83 0x84 0x5F46 0xFF6D 0xFF6E 数据对象版本数据对象开始透明会话结束透明会话关闭 RF 场打开 RF 场计时器获取参数设置参数 管理会话响应数据对象 标签 0xC0 0x80 0xFF6D 数据对象常见错误状态版本数据对象 IFD 参数数据对象 开始会话数据对象 此命令开始透明会话 会话开始后, 自动轮询功能被禁用, 直到会话结束 开始会话数据对象 标签 长度 (1 字节 ) 值 0x81 0x 终止会话数据对象 此命令终止透明会话 自动轮询会被重置为会话开始前的状态 终止会话数据对象 标签 长度 (1 字节 ) 值 0x82 0x00 - Page 41 of 71
42 版本数据对象此命令返回 IFD 处理程序的版本号 版本数据对象标签长度 (1 字节 ) 值 0x80 0x03 主版本 次版本 内部版本 关闭 RF 数据对象 此命令关闭天线场 关闭 RF 场数据对象 标签 长度 (1 字节 ) 值 0x83 0x 开启 RF 数据对象 此命令开启天线场 打开 RF 场数据对象 标签 长度 (1 字节 ) 值 0x84 0x 计时器数据对象 此命令创建一个 32 位计时器数据对象 ( 以 1 µs 为单位 ) 例如, 如果在关闭 RF 数据对象和开启 RF 数据对象之间有 5000 µs 的计时器数据对象, 读写器会关闭 RF 场大约 5000µs, 然后再重新开启 RF 场 计时器数据对象 标签长度 (1 字节 ) 值 0x5F46 0x04 计时器 (4 字节 ) 获取参数数据对象 此命令从 IFD 中获取参数 获取参数数据对象 标签长度 (1 字节 ) 值 标签长度值 0xFF6D 变长 TLV_Objects Page 42 of 71
43 TLV_Objects: 所需参数标签长度 IFD 帧长度整数 (FSDI) 0x01 0x00 ICC 帧长度整数 (FSCI) 0x02 0x00 帧等待时间整数 (FWTI) 0x03 0x00 IFD 支持的最高通信速度 0x04 0x00 ICC 通信速度 0x05 0x00 调制指数 0x06 0x00 符合 ISO/IEC14443 的 PCB 0x07 0x00 符合 ISO/IEC14443 的 CID 0x08 0x00 符合 ISO/IEC14443 的 NAD 0x09 0x00 ISO/IEC14443 B 类的参数 1-4 0x0A 0x 设置参数数据对象 此命令设置 IFD 的各种参数 设置参数数据对象 标签长度 (1 字节 ) 值 标签长度值 0xFF6E 变长 TLV_Objects TLV_Objects: 所需参数标签长度 IFD 帧长度整数 (FSDI) 0x01 0x01 ICC 帧长度整数 (FSCI) 0x02 0x01 帧等待时间整数 (FWTI) 0x03 0x01 IFD 支持的最高通信速度 0x04 0x01 PICC 的通信速度 0x05 0x01 调制指数 0x06 0x01 符合 ISO/IEC14443 的 PCB 0x07 0x01 Page 43 of 71
44 所需参数标签长度 符合 ISO/IEC14443 的 CID 0x08 0x01 符合 ISO/IEC14443 的 NAD 0x09 0x01 ISO/IEC14443 B 类的参数 1-4 0x0A 0x Transparent Exchange 命令 透明交换 (Transparent Exchange) 命令用于发送和接收来自 ICC 的任何位或字节 透明交换命令 命令 CLA INS P1 P2 Lc TranspEx 0xFF 0xC2 0x00 0x01 DataLen 命令数据域 DataObject (N 个字节 ) 其中 : Data Object (1 字节 ) 标签 0x90 0x91 0x92 0x93 0x94 0x95 0xFF6D 0xFF6E 数据对象发送和接收标志发送位成帧接收位成帧发送接收收发 - 发送和接收获取参数设置参数 透明交换响应数据对象 标签 0xC0 0x92 0x96 数据对象常见错误状态所接收数据中最后一个字节的有效位数响应报文状态字 Page 44 of 71
45 标签 0x97 0xFF6D 数据对象 ICC 响应 IFD 参数数据对象 发送和接收标志数据对象 为下列传输定义成帧参数和 RF 参数 发送和接收标志数据对象 标签长度 (1 字节 ) 位 0 1 值说明 0 在传输的数据后添加 CRC 1 不在传输的数据后添加 CRC 0 丢弃接收数据中的 CRC 1 不丢弃接收数据中的 CRC( 即不进行 CRC 检查 ) 0x90 0x 在传输的数据中插入奇偶校验位 1 不插入奇偶校验位 3 0 期望接收的数据中含有奇偶校验位 1 不期望接收的数据中含有奇偶校验位 ( 即不进行奇偶校验 ) 4 0 在传输数据中添加协议头, 或者从响应中丢弃 1 不添加或者丢弃协议头 ( 如有 )( 例如 PCB, CID, NAD) 5-15 RFU 发送位成帧数据对象 定义待发送或待收发数据中最后一个字节的有效位数量 发送位成帧数据对象 标签长度 (1 字节 ) 位 值 说明 0x91 0x 最后一个字节中的有效位数量 (0 表示所有的位都有效 ) 3-7 RFU 发送位成帧数据对象只能和 发送 或 收发 数据对象一起使用 如果该数据对象不存在, 则表明所有的位都有效 Page 45 of 71
46 接收位成帧数据对象 在命令 APDU 中, 此数据对象用于定义接收到的数据中最后一个字节的预期有效位数量 在响应 APDU 中, 此数据对象用于告知接收到的数据中最后一个字节的有效位数量 接收位成帧数据对象 标签长度 (1 字节 ) 位 值 说明 0x92 0x 最后一个字节中的有效位数量 (0 表示所有的位都有效 ) 3-7 RFU 如果该数据对象不存在, 则表明所有的位都有效 发送数据对象 要从 IFD 向 ICC 传输数据, 传输完成后 ICC 不会返回响应 发送数据对象 标签长度 (1 字节 ) 值 0x93 DataLen 数据 (N 个字节 ) 接收数据对象 强制读写器在下述计时器对象规定的时间段内进入接收模式 接收数据对象 标签长度 (1 字节 ) 值 0x94 0x 收发数据对象 此数据对象用于发送和接收来自 ICC 的数据 数据发送完成后, 读写器会保持等待状态, 直到计时器数据对象规定的时间结束 如果没有在数据域中定义计时器数据对象, 读写器会保持等待状态直到设置参数 FWTI 数据对象规定的时间段结束 如果没有设置 FWTI, 读写器会等待大约 302 µs Page 46 of 71
47 收发数据对象 标签长度 (1 字节 ) 值 0x95 DataLen 数据 (N 个字节 ) 响应状态数据对象 此数据对象用于提示在响应中接收到的数据状态 响应状态数据对象 标签长度 (1 字节 ) 值 位 字节 0 说明 字节 CRC 正确, 或未进行校验 1 CRC 校验失败 0x96 0x 无冲突 1 检测到冲突 0 无奇偶校验位错误 1 检测到奇偶校验位错误 0 无成帧错误 1 检测到成帧错误 如果检测到冲突, 这些字节会说明冲突的位置 否则会显示 00h 4-7 RFU 响应数据对象 此数据对象用于提示响应中接收到的数据 响应数据对象 标签长度 (1 字节 ) 值 0x97 数据长度响应数据 (N 字节 ) Page 47 of 71
48 切换协议命令 切换协议 (Switch Protocol) 命令用于指定透明会话中的协议和不同标准层 Switch Protocol 命令 命令 CLA INS P1 P2 Lc SwProtocol 0xFF 0xC2 0x00 0x02 数据长度 命令数据域 数据对象 (N 个字节 ) 其中 : 数据对象 (1 字节 ) 标签 0x8F 0xFF6D 0xFF6E 数据对象切换协议数据对象获取参数设置参数 切换协议响应数据对象 标签 0xC0 0xFF6D 数据对象 常见错误状态 IFD 参数数据对象 切换协议数据对象 用于指定协议和不同标准层 切换协议数据对象 标签长度 (1 字节 ) 字节 0 字节 1 值 0x8F 0x02 0x00 ISO/IEC14443 Type A 0x01 ISO/IEC14443 Type B 0x03 FeliCa 其它 RFU 0x00 如果没有分层 0x02 切换到第二层 0x03 切换或激活到第三层 0x04 激活到第四层其它 - RFU Page 48 of 71
49 PCSC 2.0 第 3 部分示例 Step 1. 开始透明会话命令 :0xFF 0xC2 0x00 0x00 0x02 0x81 0x00 响应 :0xC0 0x03 0x00 0x90 0x00 0x90 0x00 Step 2. 开启天线场命令 :0xFF 0xC2 0x00 0x00 0x02 0x84 0x00 响应 :0xC0 0x03 0x00 0x90 0x00 0x90 0x00 Step 3. ISO A 生效命令 :0xFF 0xC2 0x00 0x02 0x04 0x8F 0x02 0x00 0x04 响应 :0xC0 0x03 0x01 0x64 0x01 0x90 0x00 ( 如果卡片不存在 ) 0xC0 0x03 0x00 0x90 0x00 0x5F 0x51 [ATR]0x90 0x00 Page 49 of 71
50 Step 4. 将 PCB 设为 0x0A 并在传输数据中启用 CRC, 奇偶校验和协议头 命令 :0xFF 0xC2 0x00 0x01 0x0A 0x90 0x02 0x00 0x00 0xFF 0x6E 0x03 0x07 0x01 0x0A 响应 :0xC0 0x03 0x00 0x90 0x00 0x90 0x00 Step 5. 发送 APDU 0x80 0xB2 0x00 0x00 0x08 至卡片并取响应命令 :0xFF 0xC2 0x00 0x01 0x0E 0x5F 0x46 0x04 0x40 0x42 0x0F 0x00 0x95 0x05 0x80 0xB2 0x00 0x00 0x08 响应 :0xC0 0x03 0x00 0x90 0x00 0x92 0x01 0x00 0x96 0x02 0x00 0x00 0x97 0x0C [ 卡片响应 ]0x90 0x00 Step 6. 结束透明会话命令 :0xFF 0xC2 0x00 0x00 0x02 0x82 0x00 响应 :0xC0 0x03 0x00 0x90 0x00 0x90 0x00 Page 50 of 71
51 Mifare 1K/4K 存储卡的 PICC 命令 (T=CL 模拟 ) 加载认证密钥 加载认证密钥 (Load Authentication Keys) 命令用于向读写器加载认证密钥 该认证密钥用于验证 Mifare 1K/4K 存储卡的特定扇区 AMR220-C1 仅提供了易失密钥存储位置 Load Authentication Keys 的 APDU 结构 (11 个字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Load Authentication Keys 0xFF 0x82 密钥结构密钥号 0x06 密钥 (6 字节 ) 密钥结构 (1 个字节 ): 0x00 = 密钥被载入读写器的易失存储器 密钥号 (1 个字节 ): 0x00 ~ 0x01 = 用于存储临时密钥的易失存储器 一旦读写器与电脑断开连接, 密钥就会消失 易失密钥有两个, 可以用作不同会话的过程密钥 默认值 = {0xFF 0xFF 0xFF 0xFF 0xFF 0xFF} 密钥 (6 个字节 ): 载入读写器的密钥值 例如 {0xFF 0xFF 0xFF 0xFF 0xFF 0xFF} Load Authentication Keys 的响应结构 (2 字节 ) 响应 响应数据域 结果 SW1 SW2 Load Authentication Keys 的响应状态码 结果 SW1 SW2 含义 成功 0x90 0x00 操作成功完成 错误 0x63 0x00 操作失败 例如 : // 向易失性存储位置 0x00 加载秘钥 {0xFF 0xFF 0xFF 0xFF 0xFF FF} APDU = {0xFF 0x82 0x00 0x000x06 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF} Page 51 of 71
52 MIFARE 1K/4K 卡认证 认证 (Authentication) 命令用存储在读写器内的密钥来验证 MIFARE 1K/4K 卡 其中会用到两种认证密钥 :TYPE_A 和 TYPE_B Authentication 的 APDU 结构 #1(6 个字节 ) 命令 CLA INS P1 P2 P3 命令数据域 Authentication 0xFF 0x88 0x00 块号密钥类型密钥号 Authentication 的 APDU 结构 #2(10 个字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Authentication 0xFF 0x86 0x00 0x00 0x05 认证数据字节 认证数据字节 (5 个字节 ): 字节 1 字节 2 字节 3 字节 4 字节 5 版本号 0x01 0x00 块号 密钥类 型 密钥号 块号 (1 个字节 ): 待验证的存储块 Mifare 1K 卡的内存分为 16 个扇区, 每个扇区包含 4 个连续的块 例如 : 扇区 0x00 包含块 {0x00, 0x01, 0x02 和 0x03} 扇区 0x01 包含块 {0x04, 0x05, 0x06 和 0x07} 最后一个扇区 0x0F 包含块 {0x3C, 0x3D, 0x3E 和 0x3F} 验证成功后, 读取同一个扇区内的其他块不需要再进行验证 详情请参考 Mifare 1K/4K 卡标准 注 : 一旦该块被成功验证, 即可访问属于同一扇区的所有块 密钥类型 (1 个字节 ): 0x60 = 该密钥被用作 TYPE A 密钥进行验证 0x61 = 该密钥被用作 TYPE B 密钥进行验证 密钥号 (1 个字节 ): 0x00 ~ 0x01 = 用于存储密钥的易失存储器 读写器与电脑断开连接后, 密钥即会消失 易失密钥有两个, 可以用作不同会话的过程密钥 Page 52 of 71
53 Load Authentication Keys 的响应结构 (2 字节 ) 响应 响应数据域 结果 SW1 SW2 Load Authentication Keys 的响应状态码 结果 SW1 SW2 含义 成功 0x90 0x00 操作成功完成 错误 0x63 0x00 操作失败 MIFARE 1K 卡的内存结构 扇区 ( 总共 16 个扇区 ) ( 每个扇区包含 4 个连续的块 ) 数据块 (3 个块, 每个块 16 个字节 ) 尾部块 (1 个块, 16 字节 ) 扇区 0 0x00 ~ 0x02 0x03 扇区 1 0x04 ~ 0x06 0x07 扇区 14 0x38 ~ 0x0A 0x3B 扇区 15 0x3C ~ 0x3E 0x3F 1K 字节 MIFARE 4K 卡的内存结构 扇区 ( 总共 32 个扇区 ) ( 每个扇区包含 4 个连续的块 ) 数据块 (3 个块, 每个块 16 个字节 ) 尾部块 (1 个块, 16 字节 ) 扇区 0 0x00 ~ 0x02 0x03 扇区 1 0x04 ~ 0x06 0x07 扇区 30 0x78 ~ 0x7A 0x7B 扇区 31 0x7C ~ 0x7E 0x7F 2K 字节 扇区 ( 总共 8 个扇区 ) ( 每个扇区包含 16 个连续的块 ) 数据块 (15 个块, 每个块 16 个字节 ) 尾部块 (1 个块, 16 字节 ) 扇区 32 0x80 ~ 0x8E 0x8F 扇区 33 0x90 ~ 0x9E 0x9F 扇区 38 0xE0 ~ 0xEE 0xEF 扇区 39 0xF0 ~ 0xFE 0xFF 2K 字节 Page 53 of 71
54 例如 : // 要使用 {TYPE A, 密钥号 0x00} 验证块 0x04 // PC/SC V2.01, 弃用 APDU = {0xFF 0x88 0x00 0x040x600x00}; // 要使用 {TYPE A, 密钥号 0x00} 验证块 0x04 // PC/SC V2.07 APDU = {0xFF 0x86 0x00 0x00 0x05 0x01 0x00 0x040x600x00} 注 :MIFARE Ultralight 不需要进行验证, 其内存可以自由访问 MIFARE Ultralight 卡的内存结构 字节号 页 序列号 SN0 SN1 SN2 BCC0 0 序列号 SN3 SN4 SN5 SN6 1 内部 / 锁 BCC1 内部 Lock0 Lock1 2 OTP OPT0 OPT1 OTP2 OTP3 3 数据读 / 写 Data0 Data1 Data2 Data3 4 数据读 / 写 Data4 Data5 Data6 Data7 5 数据读 / 写 Data8 Data9 Data10 Data11 6 数据读 / 写 Data12 Data13 Data14 Data15 7 数据读 / 写 Data16 Data17 Data18 Data19 8 数据读 / 写 Data20 Data21 Data22 Data23 9 数据读 / 写 Data24 Data25 Data26 Data27 10 数据读 / 写 Data28 Data29 Data30 Data31 11 数据读 / 写 Data32 Data33 Data34 Data35 12 数据读 / 写 Data36 Data37 Data38 Data39 13 数据读 / 写 Data40 Data41 Data42 Data43 14 数据读 / 写 Data44 Data45 Data46 Data 个字节 读二进制块 读二进制块 (Read Binary Blocks) 命令用于从 Mifare 卡片中取回多个 数据块 执行此命令前, 必须先对数据块 / 尾部块进行验证 Read Binary 的 APDU 结构 (5 个字节 ) 命令 CLA INS P1 P2 Le Read Binary Blocks 0xFF 0xB0 0x00 块号 待读取的 字节数 块号 (1 个字节 ): 起始块待读取的字节数 (1 个字节 ): MIFARE 1K/4K 卡的待读字节的长度应是 16 字节的倍数 ;MIFARE Ultralight 卡应是 4 字节的倍数 MIFARE Ultralight 卡的待读字节数最大为 16 Page 54 of 71
55 MIFARE 1K 卡的待读字节数最大为 48 ( 多块模式 ;3 个连续的块 ) MIFARE 4K 卡的待读字节数最大为 240 ( 多块模式 ;15 个连续的块 ) 例 1:0x10 (16 字节 ) -> 仅读取起始块 ( 单块模式 ) 例 2:0x40 (64 字节 ) -> 读取起始块至起始 +3 块 ( 多块模式 ) 注 : 出于安全原因, 多块模式仅用于读写数据块 尾部块不能在多块模式下被访问, 请使用单块模式对其进行访问 Read Binary Block 的响应结构 (4/16 的倍数 + 2 个字节 ) 响应 响应数据域 结果 数据 (4/16 字节的倍数 ) SW1 SW2 Read Binary Block 命令的响应状态码 结果 SW1 SW2 含义 成功 0x90 0x00 操作成功完成 错误 0x63 0x00 操作失败 例如 : // 从二进制块 0x04 中读取 16 个字节 (MIFARE 1K 或 4K) APDU = {0xFF 0xB0 0x00 0x04 0x10} // 从二进制块 0x80 开始读取 240 个字节 (MIFARE 4K) // 块 0x80 至块 0x8E(15 个块 ) APDU = {0xFF 0xB0 0x00 0x80 0xF0} 更新二进制块 更新二进制块 (Update Binary Blocks) 命令用于向 Mifare 写入多个 数据块 执行此命令前, 必须先对数据块 / 尾部块进行验证 Update Binary 的 APDU 结构 (16 的倍数 + 5 字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Update Binary Blocks 0xFF 0xD6 0x00 块号待更新的字节数块数据 (16 字节的倍数 ) Page 55 of 71
56 块号 (1 个字节 ): 待更新的起始块 待更新的字节数 (1 个字节 ): MIFARE 1K/4K 卡的待更新字节的长度应该是 16 字节的倍数 ;MIFARE Ultralight 卡是 4 字节的倍数 MIFARE 1K 卡的待更新字节数最大为 48 ( 多块模式 ;3 个连续的块 ) MIFARE 4K 卡的待更新字节数最大为 240 ( 多块模式 ;15 个连续的块 ) 例 1:0x10 (16 字节 ) -> 仅写入起始块 ( 单块模式 ) 例 2:0x30 (48 字节 ) -> 写入起始块至起始 + 2 块.( 多块模式 ) 注 : 出于安全原因, 多块模式仅用于读写数据块 尾部块不能在多块模式下被访问, 请使用单块模式对其进行访问 块数据 (16 的倍数 + 2 个字节, 或 6 个字节 ): 待写入二进制块的数据 Update Binary Block 的响应状态码 (2 个字节 ) 结果 SW1 SW2 含义 成功 0x90 0x00 操作成功完成 错误 0x63 0x00 操作失败 例如 : // 将 MIFARE 1K/4K 卡中的二进制块 0x04 的数据更新为 {0x00 0x01..0x0F} APDU = {0xFF 0xD6 0x00 0x04 0x10 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F} // 将 MIFARE Ultralight 中二进制块 0x04 的数据更新为 {0x00 0x01 0x02 0x03} APDU = {0xFF 0xD6 0x00 0x04 0x04 0x00 0x01 0x02 0x03} Page 56 of 71
57 值块操作 (INC, DEC, STORE) 值块操作 (Value Block Operation) 命令用于进行数值操作, 例如 : 增加值块的值等 Value Block Operation 的 APDU 结构 (10 个字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Value Block Operation 0xFF 0xD7 0x00 块号 0x05 VB_OP VB_Value (4 个字节 ) {MSB...LSB} 块号 (1 个字节 ): 待操作的值块 VB_OP(1 个字节 ): 0x00 = 将 VB_Value 存入该块 然后该块将变为值块 0x01 = 使值块的值增加 VB_Value 该命令仅用于操作值块 0x02 = 使值块的值减少 VB_Value 该命令仅用于操作值块 VB_Value(4 个字节 ): 用于算数运算的数值, 是一个有符号长整数 (4 个字节 ) 例如 1:Decimal 4 = {0xFF, 0xFF, 0xFF, 0xFC} VB_Value MSB LSB 0xFF 0xFF 0xFF 0xFC 例如 2:Decimal 1 = {0x00, 0x00, 0x00, 0x01} VB_Value MSB LSB 0x00 0x00 0x00 0x01 Value Block Operation 的响应结构 (2 个字节 ) 响应 响应数据域 结果 SW1 SW2 Value Block Operation 的响应状态码 Page 57 of 71
58 结果 SW1 SW2 含义 成功 0x90 0x00 操作成功完成 错误 0x63 0x00 操作失败 读取值块 读取值块 (Read Value Block) 命令用于获取值块中的数值, 仅用于操作值块 Value Block Operation 的 APDU 结构 (5 字节 ) 命令 CLA INS P1 P2 Le Read Value Block 0xFF 0xB1 0x00 块号 0x04 块号 (1 个字节 ): 待访问的值块 Read Value Block 的响应结构 (4 + 2 个字节 ) 响应 响应数据域 结果 值 {MSB..LSB} SW1 SW2 值 (4 个字节 ): 卡片返回的数值, 是一个有符号长整数 (4 个字节 ) 例如 1:Decimal 4 = {0xFF, 0xFF, 0xFF, 0xFC} 值 MSB LSB 0xFF 0xFF 0xFF 0xFC 例如 2:Decimal 1 = {0x00, 0x00, 0x00, 0x01} 值 MSB LSB 0x00 0x00 0x00 0x01 Page 58 of 71
59 Read Value Block 命令的响应状态码 结果 SW1 SW2 含义 成功 0x90 0x00 操作成功完成 错误 0x63 0x00 操作失败 复制值块 复制值块 (Copy Value Block) 命令用于将一个值块中的数值复制到另外一个值块 Copy Value Block 命令的 APDU 结构 (7 字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Copy Value Block 0xFF 0xD7 0x00 源块号 0x02 0x03 目标块号 源块号 (1 个字节 ): 源值块中的值会被复制到目标值块 目标块号 (1 个字节 ): 要恢复的值块 源值块和目标值块必须位于同一个扇区 Copy Value Block 的响应结构 (2 字节 ) 响应 响应数据域 结果 SW1 SW2 Copy Value Block 的响应状态码 结果 SW1 SW2 含义 成功 0x90 0x00 操作成功完成 错误 0x63 0x00 操作失败 Page 59 of 71
60 访问符合 PCSC 的标签 (ISO ) 基本上, 所有符合 ISO 标准的卡片 (PICC 卡 ) 都可以理解 ISO 规定的 APDU AMR220-C1 读写器与符合 ISO 标准的卡片进行通信时, 只需要交换 ISO 规定的 APDU 和响应 AMR220-C1 会在内部处理 ISO 第 1-4 部分协议 另外 MIFARE 1K, 4K, MINI 和 Ultralight 标签是通过 T=CL 模拟进行支持的, 只要将 MIFARE 标签视作标准的 ISO 标签即可 更多相关信息, 请参阅 Mifare 1K/4K 存储卡的 PICC 命令 (T=CL 模拟 ) ISO 规定的 APDU 报文结构 命令 CLA INS P1 P2 Lc 命令数据域 Le ISO 命令 命令数据域的长度 期望返回的响应数据的长度 ISO 规定的响应报文的结构 ( 数据 + 2 个字节 ) 响应 响应数据域 结果响应数据 SW1 SW2 通用的 ISO 命令的响应状态码 结果 SW1 SW2 含义 成功 0x90 0x00 操作成功完成 错误 0x63 0x00 操作失败 典型的操作顺序是 : 出示标签并连接 读取 / 更新标签的存储内容 Page 60 of 71
61 操作举例 : Step 1. 连接标签标签的 ATR 是 0x3B 0x880x80 0x01 0x00 0x00 0x00 0x00 0x33 0x81 0x81 0x00 0x3A 其中, 这是一个 ISO TypeB 标签, ATQB 的应用数据 = 0x00 0x00 0x00 0x00 ATQB 的协议信息 = 0x33 0x81 0x81 Step 2. 发送 APDU, 例如, 取随机数 CMD: 0x00 0x84 0x00 0x00 0x08 RSP: 0x1A 0xF7 0xF3 0x1B 0xCD 0x2B 0xA9 0x58 [0x90 0x00] 注 : 对于 ISO A 类标签来说, 可以通过 APDU 0xFF 0xCA 0x01 0x00 0x00 来获取 ATS Page 61 of 71
62 访问 FeliCa 标签 访问 FeliCa 标签的命令与访问 PCSC 标签和 Mifare 卡的命令有所不同 这些命令符合 FeliCa 规范, 加了一个命令头, 格式如下 FeliCa 命令结构 命令 CLA INS P1 P2 Lc 命令数据域 FeliCa 命令 0xFF 0x00 0x00 0x00 命令数据 域的长度 FeliCa 命令 ( 开始于长度字节 ) Felica 命令 : 请参阅 FeliCa 卡片标准 例如 : 例 1 轮询命令 = {0x06, 0x00, 0xFF, 0xFF, 0x00, 0x00} 其中 0x00 = 轮询命令代码 0xFF 0xFF = 系统代码 例 2 非加密读取命令 = {0x10 0x06 0x01 0x01 0x06 0x01 0xCB 0x09 0x57 0x03 0x01 0x09 0x01 0x01 0x80 0x00} 其中 0x06 = 非加密读取命令代码 0x01 0x01 0x06 0x01 0xCB 0x09 0x57 0x03= Felica IDm ( 取决于卡片 ) 0x09 0x01= 服务代码 0x80 0x00 = 块 FeliCa 的响应结构 ( 数据 + 2 个字节 ) 响应 响应数据域 结果响应数据 SW1 SW2 响应状态码结果 SW1 SW2 含义 成功 0x90 0x00 操作成功完成 错误 0x67 0x00 长度错误 0x64 0x01 操作失败 Page 62 of 71
63 操作举例 : Step 1. 连接 FeliCa ATR = 0x3B 0x8F 0x80 0x01 0x80 0x4F 0x0C 0xA0 0x00 0x00 0x03 0x06 0x11 0x00 0x3B0x00 0x00 0x00 0x00 0x42 其中 B = FeliCa Step 2. 读取 FeliCa IDM CMD = 0xFF 0xCA 0x00 0x00 0x00 RSP = [IDM (8bytes)] 0x90 0x00 例如 :FeliCa IDM = 0x01 0x01 0x06 0x01 0xCB 0x09 0x57 0x03 Step 3. FeliCa 命令访问 ( 非加密读取命令的使用范例 ) CMD = 0xFF0x00 0x00 0x00 0x10 0x10 0x06 0x01 0x01 0x06 0x01 0xCB 0x09 0x57 0x030x01 0x09 0x01 0x01 0x80 0x00 其中 Felica 命令 = 0x10 0x06 0x01 0x01 0x06 0x01 0xCB 0x09 0x57 0x030x01 0x09 0x01 0x01 0x80 0x00 Felica IDm = 0x01 0x01 0x06 0x01 0xCB 0x09 0x57 0x03 RSP = 0x1D 0x07 0x01 0x01 0x06 0x01 0xCB 0x09 0x57 0x03 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x90 0x00 其中 响应代码 = 0x07 Felica IDm = 0x01 0x01 0x06 0x01 0xCB 0x09 0x57 0x03 状态标识 = 0x00 0x00 块数据 = 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Page 63 of 71
64 5.3. 直接命令 直接 (Escape) 命令用于控制外设或进行特殊操作 命令通过 dwcontrolcode = SCARD_CTL_CODE(3500) 的 SPH_to_RDR_ExEscape 或 PCSC SCardControl 发送 获取固件版本 获取固件版本 (Geg Firmware Version) 命令用于获取 AMR220-C1 的固件信息 Get Firmware Version 的结构 (5 个字节 ) 命令 CLA INS P1 P2 Lc Get Firmware Version 0xE0 0x00 0x00 0x18 0x00 Get Firmware Version 的响应结构 (5 个字节 + 固件信息的长度 ) 响应 CLA INS P1 P2 Le 响应数据域 结果 0xE1 0x00 0x00 0x00 待接收的字节 数 固件版本号 例如 : 响应 = 0xE1 0x00 0x00 0x00 0x10 0x41 0x4D 0x4D 0x32 0x32 0x30 0x43 0x5F 0x31 0x2E 0x30 0x30 0x2E 0x30 0x30 0x00 固件版本 (HEX) = 0x41 0x4D 0x4D 0x32 0x32 0x30 0x43 0x5F 0x31 0x2E 0x30 0x30 0x2E 0x30 0x30 固件版本 (ASCII) = AMM220C_ Page 64 of 71
65 关闭时间配置 关闭时间配置 (Shut Down Time Configure) 命令用于获取 / 设置 AMR220-C1 的关机时间设置 设置 Shut Down Time Configure 的命令格式 (6 个字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Shut Down Time Configure 0xE0 0x00 0x00 0x48 0x01 关闭时间 或 获取 Shut Down Time Configure 的命令格式 (5 个字节 ) 命令 CLA INS P1 P2 Lc Shut Down Time Configure 0xE0 0x00 0x00 0x48 0x00 Shut Down Time Configure 的响应结构 (6 个字节 ) 响应 CLA INS P1 P2 Le 响应数据域 结果 0xE1 0x00 0x00 0x00 0x01 关闭时间 关闭时间 (1 字节 ): 以秒为单位 0x00 = 不关闭 默认 = 0x78 (120 秒 ) Page 65 of 71
66 天线控制天线控制 (Antenna Control) 命令用于控制天线场 注 : 天线场受自动轮询影响 Antenna Control 命令格式 (6 字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Antenna Control 0xE0 0x00 0x00 0x41 0x01 0x00 天线关闭 0x01 天线开启 Antenna Control 的响应结构 (6 字节 ) 响应 CLA INS P1 P2 Le 响应数据域 结果 0xE1 0x00 0x00 0x00 0x01 0x00 天线关闭 0x01 天线开启 自动 PICC 轮询参数 自动 PICC 轮询参数 (Automatic PICC Polling Parameter) 命令用于设置使用 USB 进行通讯时读写器的轮询模式 每当 AMR220-C1 连接到电脑的时候, 读写器的 PICC 轮询功能就会启动 PICC 扫描, 以确定 PICC 是否被放置于 / 移出了内置天线的范围 我们可以发送一个命令来停用 PICC 轮询功能 为了满足节能要求, PICC 闲置, 或者找不到 PICC 的时候, 我们提供了几种关闭天线场的特殊模式 在省电模式下, 读写器的电能消耗更低 注 : 1. 自动轮询功能仅用于 PICC 模式 2. AMR220-C1 重置时, 会被设置成默认值 设置 Automatic PICC Polling Parameter 的命令格式 (6 个字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Automatic PICC Polling Parameter 0xE0 0x00 0x00 0x23 0x01 轮询设置 或 获取 Automatic PICC Polling Parameter 的命令格式 (5 个字节 ) 命令 CLA INS P1 P2 Lc Automatic PICC Polling Parameter 0xE0 0x00 0x00 0x23 0x00 Page 66 of 71
67 Automatic PICC Polling Parameter 的响应结构 (6 个字节 ) 响应 CLA INS P1 P2 Le 响应数据域 结果 0xE1 0x00 0x00 0x00 0x01 轮询设置 轮询设置 (1 个字节 ): 轮询设置说明说明 Bit 0 自动 PICC 轮询 1 = 启用 ;0 = 禁用 Bit 1 如果没有找到 PICC, 关闭天线场 1 = 启用 ;0 = 禁用 Bit 2 如果 PICC 闲置, 关闭天线场 1 = 启用 ;0 = 禁用 Bit 3 RFU - Bit PICC 轮询间隔 <Bit 5 Bit 4> <0 0> = 250 ms <0 1> = 500 ms <1 0> = 1000 ms <1 1> = 2500 ms Bit 6 RFU - Bit 7 强制执行 ISO14443A 第 4 部分 1 = 启用 ;0 = 禁用 * 轮询设置参数的默认值 = 0x8B 注 : 1. 建议启用 如果 PICC 闲置, 关闭天线场 选项, 这样闲置的 PICC 就不会一直暴露在天线场中, 可以防止 PICC 发热 2. PICC 轮询间隔时间越长, 节能效果越好 然而, PICC 轮询的响应时间也会增加 3. 读写器会自动激活 ISO14443A-4 PICC 的 ISO 14443A-4 模式 Type B PICC 不受此选项影响 4. JCOP30 卡片有两种模式 :ISO14443A-3 (MIFARE 1K) 和 ISO14443A-4 模式 一旦 PICC 被激活, 应用就必须选定一种模式 Page 67 of 71
68 PICC 轮询检测卡片类型 PICC 轮询检测卡片类型 (PICC Polling Detect Card Type) 命令用于设置自动轮询的检测卡片类型 注 : 1. 自动轮询功能仅用于 PICC 模式 2. AMR220-C1 重置时, 会被设置成默认值 设置 PICC Polling Detect Card Type 的命令格式 (6 个字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 PICC Polling Select Card Type 0xE0 0x00 0x00 0x20 0x01 卡片类型 或 获取 PICC Polling Detect Card Type 的命令格式 (5 个字节 ) 命令 CLA INS P1 P2 Lc PICC Polling Select Card Type 0xE0 0x00 0x00 0x20 0x00 PICC Polling Detect Card Type 的响应格式 (6 个字节 ) 响应 CLA INS P1 P2 Le 响应数据域 结果 0xE1 0x00 0x00 0x00 0x01 卡片类型 卡片类型 (1 个字节 ): 卡片类型参数说明选项 Bit0 ISO14443 Type A 1 = 检测 0 = 跳过 Bit1 Bit2 ISO14443 Type B Felica 212kbps PICC 轮询要检测的标签类别 1 = 检测 0 = 跳过 1 = 检测 0 = 跳过 Bit3 Felica 424kbps 1 = 检测 0 = 跳过 Bit4-7 RFU RFU RFU * 卡片类型默认值 = 0x0F Page 68 of 71
69 蜂鸣器控制 蜂鸣器控制 (Buzzer Control) 命令用于控制蜂鸣器声音 Buzzer Control 的格式 #1 (6 个字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Buzzer Control 0xE0 0x00 0x00 0x28 0x01 蜂鸣器鸣响 时间 蜂鸣器鸣响时间 (1 个字节 ): 0x00 = 关闭 0x01-0xFF = 持续时间 ( 单位 :10ms), 频率 = 1500Hz 或 Buzzer Control 的格式 #2 (8 个字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Buzzer Control 0xE0 0x00 0x00 0x28 0x03 蜂鸣器鸣 响时间 蜂鸣器关闭时间 重复次数 蜂鸣器鸣响时间 (1 个字节 ): 0x00 = 关闭 0x01-0xFF = 开启时间 ( 单位 :10ms), 频率 = 1500Hz 蜂鸣器关闭时间 (1 个字节 ): 0x00 = 开启, 频率 = 1500Hz 0x01-0xFF = 关闭时间 ( 单位 :10ms) 重复次数 (1 个字节 ): 开启和关闭模式重复次数 或 Buzzer Control 的格式 #3 (12 个字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 Buzzer Control 0xE0 0x00 0x00 0x28 0x07 蜂鸣器鸣 响时间 蜂鸣器关闭时间 重复次数 频率 (MSB LSB) 蜂鸣器鸣响时间 (1 个字节 ): 0x00 = 关闭 0x01-0xFF = 开启时间 ( 单位 :10ms) Page 69 of 71
70 蜂鸣器关闭时间 (1 个字节 ): 0x00 = Turn ON 0x01-0xFF = 关闭时间 ( 单位 :10ms) 重复次数 (1 个字节 ): 开启和关闭模式重复次数 频率 (4 个字节 ): 蜂鸣器输出频率频率 = > 1500Hz 频率 = 750 -> 750Hz 频率 = 其它值 -> RFU Buzzer Control 的响应格式 (6 个字节 ) 响应 CLA INS P1 P2 Le 响应数据域 结果 0xE1 0x00 0x00 0x00 0x01 0x LED 控制 LED 控制 (LEDs Control) 命令用于控制 LED 设置 LEDs Control 的命令结构 (6 个字节 ) 命令 CLA INS P1 P2 Lc 命令数据域 LEDs Control 0xE0 0x00 0x00 0x29 0x01 LED 状态 或 获取 LEDs Control 的命令结构 (5 个字节 ) 命令 CLA INS P1 P2 Lc Buzzer Control 0xE0 0x00 0x00 0x29 0x00 LEDs Control 的响应结构 (6 个字节 ) 响应 CLA INS P1 P2 Le 响应数据域 结果 0xE1 0x00 0x00 0x00 0x01 LED 状态 Page 70 of 71
71 LED 状态 (1 个字节 ): 轮询设置 说明 说明 Bit 0 绿色 1 LED 1 = 开 ;0 = 关 Bit 1 绿色 2 LED 1 = 开 ;0 = 关 Bit 2 绿色 3 LED 1 = 开 ;0 = 关 Bit 3 绿色 4 LED 1 = 开 ;0 = 关 Bit RFU RFU 蓝牙 字样, 标记和标识是 Bluetooth SIG, Inc. 拥有的注册商标, 龙杰智能卡有限公司对上诉标记的使用都具有合法授权 其他商标和商标名称皆为其各自拥有者所有 EMV 是 EMVCo LLC 在美国及其他国家的注册商标或商标 Mastercard 是 Mastercard International Incorporated 的注册商标和 Microsoft 和 Windows 是 Microsoft Corporation 在美国及 / 或其他国家的注册商标 MIFARE, MIFARE Classic, MIFARE DESFire, MIFARE Ultralight 和 MIFARE Plus 是 NXP B.V. 的注册商标, 由 NXP B.V. 授权许可使用 Visa paywave 是 Visa 国际组织的注册商标 Page 71 of 71
ACR1251U 应用程序编程接口 V1.11
ACR1251U 带 SAM 的 NFC 读写器 应用程序编程接口 V1.11 如有任何更改, 恕不另行通知 版本历史 发布日期修订说明版本号 2013-05-31 初始发布 1.00 2014-01-08 删除 6.4 节以下命令 o 设置自动 PPS o 读取自动 PPS o 天线场控制 o 读取天线场状态 o 读取用户额外保护时间 o 设置 616C 自动操作选项 o 读取 616C 自动操作选项
ACR1222L 应用程序编程接口 V1.02
ACR1222L 带 LCD 的 NFC 读写器 应用程序编程接口 V1.02 如有任何更改, 恕不另行通知 目录 1.0. 简介... 4 2.0. 特性... 5 3.0. 架构... 6 3.1. 读写器功能框图... 6 3.2. PC/SC 驱动与 PICC 和 SAM 间的通信... 7 4.0. 硬件设计... 8 4.1. USB... 8 4.1.1. 通信参数... 8 4.1.2.
ISO h.PDF
1 2 ID-1 IC IC 2 GB/T 14916 1994 - GB/T 16649.1 1996 - - 1 : GB/T 16649.2 1996 - - 2 : GB/T 16649.3 1996 - - 3 : ISO/IEC 7816 4 1995 - - 4 : ISO/IEC 7816 5 199 5 - - 5 :. 3 i 3 4 5 data cold reset 6 4
ACR1281S-C1 通信协议 V1.01
ACR1281S-C1 双界面读写器 ( 串口 ) 通信协议 V1.01 如有任何更改, 恕不另行通知 目录 1.0. 简介... 4 1.1. 特性... 4 1.2. 串行接口... 5 1.2.1. 通信参数... 5 1.3. 串行协议... 5 1.4. 仿 CCID 命令... 7 1.4.1. Bulk-OUT 消息... 7 1.4.2. Bulk-IN 消息... 10 2.0.
HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD
Leica MC170 HD Leica MC190 HD 5 6 7 8 11 12 13 14 16 HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD 22 23 24 26 Leica MC170 HD Leica MC190 HD ( ) 28
(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor
1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4
+00DE _01EN.book
TCS-NET MODBUS TCS-NET Modbus TCB-IFMB640TLE 1...... 2 2 RS 485... 3 3... 3 4... 4 5... 4 6... 5 7... 6 8... 16 TCS-NET Modbus 1 http://www.modbus-ida.org/ >=3.5 8 8 N*8 ( N = 252.) 16 >= 3.5 Modbus-Master
SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基
开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些
Chapter #
第三章 TCP/IP 协议栈 本章目标 通过本章的学习, 您应该掌握以下内容 : 掌握 TCP/IP 分层模型 掌握 IP 协议原理 理解 OSI 和 TCP/IP 模型的区别和联系 TCP/IP 介绍 主机 主机 Internet TCP/IP 早期的协议族 全球范围 TCP/IP 协议栈 7 6 5 4 3 应用层表示层会话层传输层网络层 应用层 主机到主机层 Internet 层 2 1 数据链路层
ACR1255U-J1 用户使用手册l V1.03
ACR1255U-J1 安全蓝牙 NFC 读写器 用户手册 V1.03 如有任何更改, 恕不另行通知 目录 1.0. 简介... 3 2.0. ios 系统... 4 2.1. 安装应用... 4 2.2. 使用应用... 5 2.2.1. 连接读写器... 5 2.2.2. 查看设备信息... 7 2.2.3. 查看电池电量... 8 2.2.4. 获取 ATR( 复位应答 )... 9 2.2.5.
Bus Hound 5
Bus Hound 5.0 ( 1.0) 21IC 2007 7 BusHound perisoft PC hound Bus Hound 6.0 5.0 5.0 Bus Hound, IDE SCSI USB 1394 DVD Windows9X,WindowsMe,NT4.0,2000,2003,XP XP IRP Html ZIP SCSI sense USB Bus Hound 1 Bus
概述
OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3
<4D F736F F D20CBABC1FA DA3A8BAACB6C1D0B44D31A3A9C4A3BFE9D7CAC1CF B0E62E646F63>
SL-1356MOD-SU 射 频 卡 读 写 模 块 使 用 说 明 一. 概 述 双 龙 公 司 针 对 支 付 系 统 公 共 交 通 门 禁 锁 具 设 备 管 理 二 代 身 份 证 等 行 业 推 出 SL-1356MOD-SU 射 频 卡 读 写 模 块 该 模 块 全 面 支 持 ISO14443 A/B -1-2 -3-4 标 准, 适 用 于 读 写 各 种 符 合 ISO14443
《计算机应用基础》学习材料(讲义)
计 算 机 应 用 基 础 学 习 材 料 ( 讲 义 ) Fundamentals of Computer Application 2014-3-22 JIANGSU OPEN UNIVERSITY 第 二 学 习 周 计 算 机 基 础 知 识 ( 一 ) 导 学 在 本 学 习 周, 我 们 主 要 的 任 务 是 认 识 计 算 机 你 将 知 道 计 算 机 是 什 么 时 候 产 生 的,
Ps22Pdf
2 0 0 0 ( ) 0 6 3,,,, (CIP ) / :,1999 12 ISBN 7 113 033040 F830 46 CI P ( 1999) 55907 : : : ( 100054, 8 ) : : : : : 850 mm1 168 mm 1/ 32 : 3 875 : 104 : 2000 2 1 2000 2 1 : 1 3 000 : ISBN 7113033040/ Z451
获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复
获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret
AL-MX200 Series
PostScript Level3 Compatible NPD4760-00 TC Seiko Epson Corporation Seiko Epson Corporation ( ) Seiko Epson Corporation Seiko Epson Corporation Epson Seiko Epson Corporation Apple Bonjour ColorSync Macintosh
untitled
MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12
移 动 商 务 计 划 指 导 委 员 会 和 领 导 团 队 运 营 商 : 中 国 移 动 德 国 电 信 法 国 电 信 韩 国 电 信 意 大 利 电 信 西 班 牙 电 信 沃 达 丰
机会机遇研究 移动和网上商务 SIM卡 带来的机会创造新机遇 移 动 商 务 计 划 指 导 委 员 会 和 领 导 团 队 运 营 商 : 中 国 移 动 德 国 电 信 法 国 电 信 韩 国 电 信 意 大 利 电 信 西 班 牙 电 信 沃 达 丰 机 会 机 遇 研 究 移 动 和 网 上 商 务 SIM 卡 创 造 新 机 遇 SIM 带 来 的 机 会 目 录 术 语 表 2 1 执
財金資訊-81期.indd
/ 2014 10 Google (TNS) (Consumer Barometer) 80% 68% ( ) 11 11 ( 11) 571 ( 95 ) 2013 362 58% (Black Friday) (Cyber Monday) 29 42.6% ( 243 ) 2013 20% 70% Apple Pay 2014 10 20 72 22 Apple Pay 500 VISA MasterCard
bingdian001.com
TSM12M TSM12 STM8L152C6, STM8L152R8 MSP430F5325 [email protected]! /******************************************************************************* * : TSM12.c * : * : 2013/10/21 * : TSM12, STM8L f(sysclk)
untitled
2006 6 Geoframe Geoframe 4.0.3 Geoframe 1.2 1 Project Manager Project Management Create a new project Create a new project ( ) OK storage setting OK (Create charisma project extension) NO OK 2 Edit project
MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi
MICROCHIP EVM Board : APP001 1-1. APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pin 16 I/O Extension Interface 1-2. APP001 Block_A Block_B
epub83-1
C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C
F515_CS_Book.book
/USB , ( ) / L R 1 > > > 2, / 3 L 1 > > > 2 + - 3, 4 L 1 了解显示屏上显示的图标 Wap 信箱收到一条 Wap push 信息 ( ) GSM 手机已连接到 GSM 网络 指示条越多, 接收质量越好 2 ...........................4.............................. 4 Micro SD (
/ / (FC 3)...
Modbus/TCP 1.0 1999 3 29 Andy Swales Schneider [email protected] ... 2 1.... 3 2.... 3 2.1.. 3 2.2..4 2.3..4 2.4... 5 3.... 5 3.1 0... 5 3.2 1... 5 3.3 2... 6 3.4 / /... 7 4.... 7 5.... 8 5.1 0... 9
R3105+ ADSL
... 1 1 1... 1 1 2... 1... 3 2 1... 3 2 2... 3 2 3... 5 2 4... 5 2 4 1... 5... 7 3 1... 7 3 2... 8 3 2 1... 8 3 2 2... 9 3 3... 12 3 3 1... 13 3 3 2 WAN... 16 3 3 3 LAN... 21 3 3 4 NAT... 22 3 3 5... 24
untitled
EDM12864-GR 1 24 1. ----------------------------------------------------3 2. ----------------------------------------------------3 3. ----------------------------------------------------3 4. -------------------------------------------------------6
目录
ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28
AL-M200 Series
NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel
构建 Bluetooth 移动应用 主讲人 : 任凯 微信 :kaiser-tech 2016 年 5 月 6 日 3
构建 Bluetooth 移动应用 主讲人 : 任凯 [email protected] 微信 :kaiser-tech 2016 年 5 月 6 日 3 无处不在 IOS ANDROID WINDOWS BLACKBERRY TIZEN 4 平台性能 平台 操作系统 操作系统版本 ios / Android / Windows / BlackBerry 10 / Tizen Android 4.3
Microsoft Word - MTK平台生产软件使用说明.doc
MTK 1. 1.1 SMT BSN 1.2 1 IMEI 2. 2 2.1 MTK Flash Flash NAND FlashMP3 1 SMT SOFT Flash 2 SOFT MKT USB-RS232 921600 8 2.2 COPY 2.3 USB PCUSB USB 8 USB USB USB-RS232 (USB ) RS232 PCRS232 8 4V2A 2.4 DA File
an153f
153 2016 1 Linduino Michael Jones (PSM) LTpowerPlay (BMC) PSM PSM PMBus PMBus SMBus SMBus I2C PSM BMC Linduino (API) PSM Linduino PSM BMC BMC Robust PMBus System Software for the LTC3880) I 2 C / SMBus
Specification of the 13.56MHz RFID card reader/writer
Specification of the 13.56MHz RFID card reader/writer 3.1 RFID RFID card...4 3.2 13.56MHz RFID 13.56MHz RFID card reader/writer...4 4.1...4 4.2...7 4.3...7 4.4...7 4.5...8 4.6...8 4.7...9 4.8...9 4.9...9
untitled
I G B T S310 220V 0.4~1.5KW (0.88~2.9KVA) : : 65-C : 0510-85227555() : 0510-85227556 http://www.taian-technology.com VER:06 2011.7 S310 0.1 0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 3.1 3.2 3.3 3.3.1 3.3.2
untitled
EM 253 V1.0 SLC A&D CS Beijing January 2005 Page 1 of 49 EM 253 SIMATIC S7 200 SIMATIC S7 200 9 EM 253 EM 253 EM 253 STEP 7-MicroWIN Page 2 of 49 Page 3 of 49 Page 4 of 49 1 1 EM 253 Page 5 of 49 EM 253
PTS7_Manual.PDF
User Manual Soliton Technologies CO., LTD www.soliton.com.tw - PCI V2.2. - PCI 32-bit / 33MHz * 2 - Zero Skew CLK Signal Generator. - (each Slot). -. - PCI. - Hot-Swap - DOS, Windows 98/2000/XP, Linux
ebook140-8
8 Microsoft VPN Windows NT 4 V P N Windows 98 Client 7 Vintage Air V P N 7 Wi n d o w s NT V P N 7 VPN ( ) 7 Novell NetWare VPN 8.1 PPTP NT4 VPN Q 154091 M i c r o s o f t Windows NT RAS [ ] Windows NT4
T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma = 25 = 3V) VDD
1/16 T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma (@T = 25 C, @Vdd = 3V) VDD 1.8 3.0 3.6 V (1) 0.08 0.3 µa Idd 300 450 500 µa 0.25
OSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Prot
OSI OSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Protocol OSI OSI OSI OSI OSI O S I 2-1 Application
財金資訊-82期.indd
/ / PC (M-Generation) ( ) ( ) ( ) 103 2 27 (Payment Service Provider Trusted Service Manager) 9 5 PSP TSM 103 12 30 ( ) VISA MasterCard www.fisc.com.tw 43 700 70 189 ( ) HCE (Host Card Emulation) Apple
CANVIO_AEROCAST_CS_EN.indd
简 体 中 文...2 English...4 SC5151-A0 简 体 中 文 步 骤 2: 了 解 您 的 CANVIO AeroCast CANVIO AeroCast 无 线 移 动 硬 盘 快 速 入 门 指 南 欢 迎 并 感 谢 您 选 择 TOSHIBA 产 品 有 关 您 的 TOSHIBA 产 品 的 详 情, 请 参 阅 包 含 更 多 信 息 的 用 户 手 册 () 安
P4i45GL_GV-R50-CN.p65
1 Main Advanced Security Power Boot Exit System Date System Time Floppy Drives IDE Devices BIOS Version Processor Type Processor Speed Cache Size Microcode Update Total Memory DDR1 DDR2 Dec 18 2003 Thu
Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO
Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS
解 除 身 份 验 证 机 密 性 Wep 等 一 些 加 密 机 制 MSDU 传 递 (MAC Service Data Unit) 负 责 将 数 据 传 送 给 实 际 的 接 收 端 传 输 功 率 控 制 (Transmit Power Control 简 称 TPC) 欧 洲 标 准
一 网 络 服 务 802.11 总 共 提 供 9 种 服 务 : 分 布 式 (distribution) 接 入 点 收 到 帧, 就 会 使 用 分 布 式 服 务 将 真 传 送 至 目 的 地 整 合 (integration) 该 服 务 由 分 布 式 系 统 提 供, 它 让 分 布 式 系 统 得 以 链 接 至 非 IEEE802.11 网 络 关 联 (association)
DreamStation CPAP DreamStation CPAP Pro DreamStation Auto CPAP
DreamStation CPAP DreamStation CPAP Pro DreamStation Auto CPAP ... 1... 1... 1... 2... 2... 3... 3 Philips Respironics...3... 4 /...5... 6...6... 7... 8... 8...9... 9...10 Bluetooth...14...15...15...15...16...20...22...23...24...24...24...24...25...26...27
新・解きながら学ぶJava
481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --
SOUNDTOUCH 300 SOUNDBAR
SOUNDTOUCH 300 SOUNDBAR 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. / 11. 12. 2 - / 3 仅适用于 2000m 以下地区安全使用 2000 m WB-300 SoundTouch 300 Bose - 3 FCC 15 B / Bose Corporation FCC 15 RSS (1) (2) FCC 20 cm 5150 5250 MHz
AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING
AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING 前言 - Andrew Payne 目录 1 2 Firefly Basics 3 COMPONENT TOOLBOX 目录 4 RESOURCES 致谢
多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t
設定存取 SD 卡的權限 SD SD 13.1.4
エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******
******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);
前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii
前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii C# 7 More Effective C# C# C# C# C# C# Common Language Runtime CLR just-in-time
/ 2-
SOUNDTOUCH WIRELESS LINK 1. 2. 3. 4. 5. 6. 7. 8. 9. / 2- FCC 15 B / Bose Corporation FCC 15 RSS (1) (2) FCC 20 cm 5150-5250 Mhz W52/W53 Bose Corporation 2014/53/EU www.bose.com/compliance 2400 2480 MHz
TX-NR3030_BAS_Cs_ indd
TX-NR3030 http://www.onkyo.com/manual/txnr3030/adv/cs.html Cs 1 2 3 Speaker Cable 2 HDMI OUT HDMI IN HDMI OUT HDMI OUT HDMI OUT HDMI OUT 1 DIGITAL OPTICAL OUT AUDIO OUT TV 3 1 5 4 6 1 2 3 3 2 2 4 3 2 5
Microsoft Word - 16. 董乙璇.doc
活 動 紀 實 2012 年 金 融 資 訊 系 統 年 會 專 題 座 談 - 電 子 支 付 服 務 之 發 展 趨 勢 及 推 展 策 略 分 享 2012 年 金 融 資 訊 系 統 年 會 專 題 座 談 - 電 子 支 付 服 務 之 發 展 趨 勢 及 推 展 策 略 分 享 引 言 人 : 財 金 資 訊 公 司 林 孟 津 總 經 理 與 談 人 : 華 南 商 業 銀 行 張 振
勤 學 * 卓 越 * 快 樂 成 長 本 校 在 老 師 群 策 群 力 共 同 討 論 下, 型 塑 了 學 校 願 景 : 勤 學 卓 越 快 樂 成 長 ( 一 ) 勤 學 運 用 真 的 力 量 培 養 勤 學, 以 語 文 教 為 基 礎 紮 根 ( 二 ) 卓 越 利 用 美 的 感
桃 園 市 復 旦 國 民 小 學 104 學 年 度 學 校 課 程 計 畫 壹 依 據 貳 目 的 一 教 基 本 法 第 13 條, 國 民 教 法 第 4 條 二 教 部 92 公 佈 之 國 民 中 小 學 九 年 一 貫 課 程 綱 要 三 桃 園 市 政 府 推 動 國 民 中 小 學 九 年 一 貫 課 程 實 施 計 畫 四 桃 園 市 政 府 97.5.29 府 教 數 字 第
Guava学习之Resources
Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于
PROFIBUS3.doc
PLC PLC ProfiBus 3. PROFIBUS-DP PROFIBUS-DP PROFIBUS-DP PROFIBUS S7 STEP7 SIMATIC NET S5 COM PROFIBUS COM5431 PROFIBUS-DP GSD GSD *.GSD *. GSE GSD S7 STEP7 PROFIBUS DP S7-400 CPU416-2DP S7-200 PROFIBUS
RS-232C [11-13] 1 1 (PLC) (HMI) Visual Basic (PLC) 402
年 路 年 1 [1-3][4] [5-7] [15] Visual Basic [10] 401 RS-232C [11-13] 1 1 (PLC) (HMI) Visual Basic (PLC) 402 1 1 X0 X1 X2 X3 SENSOR Y0 SENSOR VB X3 Y0 Y1 Y2 Y3 Y4 Y5 Y1~Y5 Y6 VB Y7 VB Y11 Y12 Y13 Y14 Y15 Y11~Y15
ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x
115 AVR W.V. Awdrey ATMEL AVR PIC AVR PIC AVR RISC AVR PIC AVR AVR AVR AVR AVR ATtiny15 AVR AVR AVR RAM ROM 121 116 122 ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r31 3 16 X Y Z 6-1 118 7 0
Leica IC90 E Leica IC90 E: USB 20 HDMI 22 SD () CLR ( ) 30 CLR ( ) 31 EXPSURE () 32 RESLUTIN ( ) 33 SETUP CAMER
Leica IC90 E 4 5 6 10 Leica IC90 E 12 13 Leica IC90 E: 14 16 18 USB 20 HDMI 22 SD 24 25 () 27 28 29 CLR ( ) 30 CLR ( ) 31 EXPSURE () 32 RESLUTIN ( ) 33 SETUP CAMERA ( ) 34 SETUP USER 35 SETUP ETHERNET
untitled
IN2112, IN2114, IN2116 010-0735-02 DISPERINDAG No. 0287/1.824.51/09.0 Regulatory models: V2000, M2100 InFocus Corporation, 13190 SW 68th Parkway, Portland, Oregon 97223-8368 USA EMC 2004/108/EC EuP 2005/32/EC
Bose : / 212 F (100 C) AA (IEC LR06) 統 Bose Corporation 32 F ~ 104 F (0 C ~ 40 C)
Bose : / 212 F (100 C) AA (IEC LR06) 3 2 - 統 Bose Corporation 32 F ~ 104 F (0 C ~ 40 C) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. / 12. 13. FCC 15 RSS (1) (2) FCC RF RSS (1) (2) SoundTouch 8 20 CAN ICES-3 (B)/NMB-3(B)
2 1 安 全 資 訊 有 觸 電 的 危 險 請 勿 開 啟 : 為 了 減 低 觸 電 風 險, 切 勿 把 蓋 ( 或 背 板 ) 移 去 機 內 並 無 使 用 者 可 自 行 修 理 的 部 份 等 邊 三 角 形 內 含 有 一 個 箭 頭 的 閃 電 符 號 主 要 用 於 警 告 使
繁 體 中 文 操 作 手 冊 MUSIC IN STYLE 底 座 連 動 音 響 使 用 這 套 裝 置 之 前, 請 仔 細 閱 讀 並 保 留 此 說 明 書, 方 便 日 後 參 考 ND5520 ND5520-FM.BTWNLL_TC.indd 1 12. 7. 11. 9:42 2 1 安 全 資 訊 有 觸 電 的 危 險 請 勿 開 啟 : 為 了 減 低 觸 電 風 險, 切 勿
SAPIDO GR-1733 無線寬頻分享器
1 版 權 聲 明... 4 產 品 保 固 說 明... 4 保 固 期 限... 4 維 修 辦 法... 5 服 務 條 款... 5 注 意 事 項... 6 低 功 率 電 波 輻 射 性 電 機 管 理 辦 法... 6 CE 標 誌 聲 明... 6 無 線 功 能 注 意 事 項... 6 1 產 品 特 點 介 紹... 7 1.1 LED 指 示 燈 功 能 說 明... 8 1.2
X513_Book.book
: 2.0MP +/- TFT /, / / USB SIM 1 >>> 2, > 3 + -< > 4, (, ) / / / L R * 1 Wap Wap push GSM GPRS ( ) GSM GPRS 2 ...........................4.............................. 4 Micro SD ( )................ 6..........................
5m m SE2L m 1 170cm 70cm RS IDEC 2 RF2 4 6 RF1V 2
SE2L 5m 270 7 1 5m SE2L 2 2 2 12 1 2705m 1 170cm 70cm RS-485 41 IDEC 2 RF2 4 6 RF1V 2 2 1 2 FS1A LD6A 3 32 AGV 32 EDM IDEC XWXNX6 4 SE2L USB MicroSD IDEC IDEC 5 Functional Safety SE2L SE2L 3m SE2L-H05LP
QR Code 技術之探討
QR Code 技術之探討 曾婉菁 Bar Space, 1 2 15 第二十九卷第一期 1. 2. Matrix 2D barcode 1 0 QR Code Magicode QuickMark DataMatrix ShotCode 3 QR 50 印刷科技 QR Code PDF417 DataMatrix Maxi Code Developer(country) Data capacity
