0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
FM1702NL

FM1702NL

  • 厂商:

    FUDANMICRO(复旦微电子)

  • 封装:

    SOIC32_300MIL

  • 描述:

    13.56M mifare 14443A RFID芯片读写芯片

  • 数据手册
  • 价格&库存
FM1702NL 数据手册
FM1702/1704/1705 通用读卡机芯片 目录 _______________________________________________________________1 1 概述 ___________________________________________________________5 2 结构图 _________________________________________________________6 3 管脚信息 _______________________________________________________7 3.1 3.2 4 管脚配置_____________________________________________________7 管脚描述_____________________________________________________8 数字接口 ______________________________________________________ 11 4.1 支持的微处理器接口概述______________________________________11 4.2 自动侦测微处理器接口类型____________________________________11 4.3 不同类型微处理器接口连接关系________________________________12 4.3.1 独立的读/写选通模式 _____________________________________13 通用的读/写选通模式 _____________________________________14 4.3.2 4.3.3 握手联络方式下的通用读/写选通模式(EPP) ________________15 4.4 SPI 兼容接口 ________________________________________________16 5 FM1702/1704/1705 寄存器组 _____________________________________17 5.1 FM1702/1704/1705 寄存器组概述 _________________________________17 5.1.1 寄存器位权限_______________________________________________19 5.2 寄存器描述 ____________________________________________________20 5.2.1 PAGE0:指令和状态寄存器组 _________________________________20 5.2.2 PAGE1:控制和状态寄存器组 _________________________________26 5.2.3 PAGE2:发射及编码控制寄存器组 _____________________________31 5.2.4 PAGE3:接收及解码控制寄存器组 _____________________________35 5.2.5 PAGE4:时间及校验控制寄存器组 _____________________________40 5.2.6 PAGE5:FIFO,Timer 及 IRQ 控制寄存器组 _____________________45 5.2.7 预留寄存器组_______________________________________________50 5.2.8 预留寄存器组_______________________________________________51 5.3 寄存器寻址方式 ________________________________________________52 5.3.1 独立地址总线_______________________________________________52 5.3.2 复用地址总线_______________________________________________52 6 EEPROM 结构 _________________________________________________53 6.1 EEPROM 存储器结构 _________________________________________53 6.2 寄存器初始值存放区__________________________________________54 6.2.1 寄存器复位初始值存放区 __________________________________54 6.2.2 寄存器复位初始值 ________________________________________55 寄存器初始值 ____________________________________________56 6.2.3 6.3 密钥存放区__________________________________________________56 6.3.1 6.3.2 7 密钥格式 ________________________________________________56 密钥的存放 ______________________________________________57 FIFO _________________________________________________________58 7.1 7.2 7.3 7.4 7.5 概述_______________________________________________________58 访问规则____________________________________________________58 控制 FIFO___________________________________________________59 FIFO 状态信息_______________________________________________59 FIFO 相关寄存器_____________________________________________59 中断请求系统 __________________________________________________60 8 8.1 概述_______________________________________________________60 8.1.1 中断源概述 ______________________________________________60 8.2 中断应用____________________________________________________61 控制中断请求及其标识 ____________________________________61 8.2.1 8.2.2 访问中断寄存器 __________________________________________61 8.3 IRQ 管脚配置________________________________________________61 8.4 中断相关寄存器______________________________________________62 9 TIMER _______________________________________________________63 9.1 概述_______________________________________________________63 9.2 TIMER 应用 _________________________________________________64 9.2.1 控制 TIMER______________________________________________64 9.2.2 TIMER 时钟周期 ___________________________________________64 9.2.3 TIMER 状态 _______________________________________________65 9.3 TIMER 用途 _________________________________________________65 9.3.1 TIMER-OUT 和 WATCH-DOG-COUNTER _______________________65 9.3.2 STOP WATCH ______________________________________________65 9.3.3 PROGRAMMABLE ONE-SHOT TIMER _________________________65 9.3.4 PERIODICAL TRIGGER _____________________________________65 9.4 TIMER 相关寄存器 ___________________________________________66 10 省电工作模式 _________________________________________________67 10.1 HARD POWER DOWN 模式 _____________________________________67 10.2 SOFT POWER DOWN 模式 _______________________________________68 10.3 STAND BY 模式_______________________________________________68 10.4 接收器关闭 ________________________________________________68 11 启动过程 ______________________________________________________69 11.1 HARD POWER DOWN 阶段 ______________________________________69 11.2 复位阶段 __________________________________________________69 11.3 初始化阶段 ________________________________________________70 11.4 初始化并行接口方式__________________________________________70 12 振荡器电路 ___________________________________________________71 13 发射管脚 TX1 和 TX2 __________________________________________72 13.1 13.2 13.3 14 配置 TX1 和 TX2 ___________________________________________72 工作距离与功耗的关系 ______________________________________73 脉冲宽度 __________________________________________________73 接收电路 _____________________________________________________74 14.1 概述________________________________________________________74 14.2 信号接收过程________________________________________________74 14.3 接收器操作__________________________________________________75 14.3.1 Q 时钟自动校准 __________________________________________75 14.3.2 放大器 ___________________________________________________75 14.3.3 相关电路 _________________________________________________76 14.3.4 求值及数字化电路 _________________________________________76 15 串行信号开关 _________________________________________________77 15.1 概述________________________________________________________77 15.2 时序信号开关的相关寄存器____________________________________78 15.3 MFIN 及 MFOUT 的使用 ______________________________________79 15.3.1 有源天线的概念 _________________________________________79 驱动两个 RF 部分________________________________________79 15.3.2 16 1702/1704/1705 指令集 ___________________________________________80 16.1 概述________________________________________________________80 16.2 命令行为简介________________________________________________80 16.3 FM1702/1704/1705 命令简介 ___________________________________81 16.3.1 基本说明 _______________________________________________81 16.3.2 STARTUP COMMAND 3FHEX _______________________________83 16.3.3 IDLE COMMAND 00HEX ___________________________________83 16.4 通讯命令____________________________________________________84 16.4.1 TRANSMIT COMMAND 1AHEX ______________________________84 16.4.2 RECEIVE COMMAND 16HEX _______________________________88 16.4.3 TRANSCEIVE COMMAND 1EHEX____________________________92 16.5 E2PROM 访问命令 ___________________________________________94 16.5.1 WRITEE2 COMMAND 01HEX _______________________________94 16.5.2 READE2 COMMAND 03HEX ________________________________96 16.6 其他命令____________________________________________________97 16.6.1 LOADCONFIG COMMAND 07HEX ___________________________97 16.6.2 CALCCRC COMMAND 12HEX ______________________________98 16.7 命令执行过程中的错误处理___________________________________100 16.8 安全命令___________________________________________________101 16.8.1 LOADKEYE2 COMMAND 0BHEX ___________________________101 16.8.2 LOADKEY COMMAND 19HEX _____________________________102 16.8.3 AUTHENT1 COMMAND 0CHEX ____________________________103 16.8.4 AUTHENT2 COMMAND 14HEX ____________________________104 17 认证及数据加密传输 _____________________________________________105 17.1 17.2 17.3 17.4 18 概述_______________________________________________________105 密钥处理___________________________________________________105 操作三重认证指令___________________________________________106 认证算法___________________________________________________106 典型应用 ____________________________________________________107 18.1 电路图_____________________________________________________107 18.2 电路描述___________________________________________________108 18.2.1 EMC 低通滤波器 _______________________________________108 18.2.2 接收电路 ______________________________________________108 18.3 计算天线线圈的电感_________________________________________109 18.3.1 直接连接天线的阻抗匹配 __________________________________ 110 19 测试信号 ____________________________________________________ 111 19.1 概述_______________________________________________________ 111 19.2 利用串行信号切换开关进行测试_______________________________ 111 19.2.1 TX 控制 _______________________________________________ 112 19.2.2 RX 控制 _______________________________________________ 113 20 电性能 ______________________________________________________ 114 20.1 极限参数___________________________________________________114 20.2 工作条件___________________________________________________114 20.3 工作电流___________________________________________________115 20.4 管脚特性 ___________________________________________________116 20.4.1 输入管脚特性 ____________________________________________ 116 20.4.2 数字输出管脚特性 ______________________________________ 117 天线驱动管脚输出特性 __________________________________ 117 20.4.3 20.5 交流电性能 _________________________________________________118 20.5.1 交流符号 ________________________________________________ 118 交流工作说明 __________________________________________ 119 20.5.2 20.5.3 时钟频率 ________________________________________________123 21 E²PROM 特性 _________________________________________________124 22 封装 __________________________________________________________125 概述 1 FM1702/1704/1705 是复旦微电子股份有限公司设计的基于 ISO14443 标准的 非接触卡读卡机专用芯片,采用 0.6 微米 CMOS EEPROM 工艺,支持 13.56MHz 频率下的 typeA 非接触通信协议,支持多种加密算法,兼容 Philips 的 MF RC500 读卡机芯片 产品特点: z 高集成度的模拟电路,只需最少量的外围线路 z 操作距离可达 10cm z 支持 ISO14443 typeA 协议 z 内部带有加密单元 z 支持六种接口模式 z 包含 512byte 的 EEPROM z 包含 64byte 的 FIFO z 数字电路具有 TTL/CMOS 两种电压工作模式 z 软件控制的 power down 模式 z 一个可编程计时器 z 一个中断处理器 z 一个串行输出输入口 z 启动配置可编程 z 数字,模拟和发射模块都有独立的电源供电 FM1702/1704/1705 不同之处是支持不同的认证算法: 型号 支持的认证算法 FM1702 支持 MIFARE 标准三重认证算法 FM1704 支持 SH 标准的三重认证算法 FM1705 支持 MIFARE 和 SH 标准的三重认证算法, 通过 31 寄存器进行配置 表 1-1:FM1702/1704/1705 区别 2 结构图 接口控制器 指令控制器 控制寄存器组 FIFO 控制器 中断控制器 计数器 可编程计时器 EEPROM 接口 EEPROM 单元 数据帧产生单元 CRC/奇偶校验 加密单元 编码译码控制器 串行数据控制器 随机数发生器 复位控制单元 时钟产生单元 解 调 控 制 器 发 射 控 制 器 图 2-1:FM1702/1704/1705 结构图 3 管脚信息 3.1 管脚配置 粗体字标识的管脚由 AVDD 和 AVSS 电源组供电 粗体框标识的管脚由 TVDD 和 TVSS 电源组供电 其他管脚由 DVDD 和 DVSS 电源组供电 图 3-1:FM1702/1704/1705 管脚配置(SOP32 封装) 3.2 管脚描述 引脚序号 引脚名称 类型 引脚描述 1 OSCIN I 晶振输入:fosc = 13.56MHz 2 IRQ O 中断请求:输出中断源请求信号 3 MFIN I 串行输入:接收满足 ISO14443A 协议的数 字串行信号 4 MFOUT O 串行输出:输出满足 ISO14443A 协议的数 字串行信号 5 TX1 O 发射口 1:输出经过调制的 13.56MHz 信号 6 TVDD PWR 发射器电源:提供 TX1 和 TX2 的输出能量 7 TX2 O 发射口 2:输出经过调制的 13.56MHz 信号 8 TVSS PWR 9 NCS I 发射器地 片选信号:选择并激活微处理器和 FM1702/1704/1705 的接口 NWR I FM1702/1704/1705 的内部寄存器(行接口 10 读写信号线分开模式) R/NW I 读/写信号:选择读/写周期(并行接口读写 信号线共用模式) nWrite I 读/写信号:选择读/写周期(EPP 并行接口 读写信号线共用) NRD I 读 信 号 : 从 D0 - D7 口 读 出 FM1702/1704/1705 内 部 寄 存 器 的 数 据 11 12 写 信 号 : 将 数 据 从 D0 - D7 口 写 入 (并行接口读写信号线分开) NDS I 读写周期选通:选择读/写周期(并行接口 读写信号线共用) nDstrb I 数据选通:选择读/写周期(EPP 并行接口) DVSS PWR 数字地 管脚描述(续上页) 13 D0 O 13 D0-D7 I/O 8 位双向数据总线 AD0-AD7 I/O 8 位双向数据/地址总线 ALE I 地址锁存使能:高电平时将 AD0-AD5 锁 入内部地址锁存器 AS I 地址选通:高电平时将 AD0-AD5 锁入内 部地址锁存器(通用读/写接口) nAStrb I 地址选通:低电平时将 AD0-AD5 锁入内 部地址锁存器(EPP 并行接口) NSS I 接口选通:选通 SPI 接口模式 A0 I 地址线 bit0:地址寄存器 0 位 nWait O 等待信号输出:低电平时数据输出,高电平 结束(EPP 并行接口) MOSI I 主出从入:SPI 接口下数据输入 23 A1 I 地址线 bit1:地址寄存器 1 位 24 A2 I 地址线 bit2:地址寄存器 2 位 SCK I 串行时钟:SPI 接口下时钟信号 25 DVDD PWR 数字电源 26 AVDD PWR 模拟电源 27 AUX O 28 AVSS PWR 29 RX I 30 VMID PWR 主入从出(MISO):SPI 接口下数据输出 … 20 21 22 模拟测试信号输出:输出模拟测试信号 模拟地 接收口:接收外部天线耦合过来的 13.56MHz 卡回应信号 内部参考电压:输出内部参考电压 注意:该管脚必须外接 68nF 电容 管脚描述(续上页) 31 RSTPD I 复位及掉电信号:高电平时复位内部电路, 晶振停止工作,内部输入管脚和外部电路隔 离;下沿触发内部复位程序 32 OSCOUT O 晶振输出 表 3-1:FM1702/1704/1705 管脚描述 4 数字接口 4.1 支持的微处理器接口概述 FM1702/1704/1705 支持不同的微处理器接口,且可以和个人电脑的高速增强 型接口(EPP)直接相连,下表列出 FM1702/1704/1705 支持的并行接口信号: 总线控制信号 总线 独立的地址/数据 总线 复用的地址/数据总线 独立的读/写选通模式 control NRD,NWR,NCS NRD,NWR,NCS,ALE address A0,A1,A2 AD0…AD5 data D0…D7 AD0…AD7 control R/NW,NDS,NCS R/NW,NDS,NCS,AS address A0,A1,A2 AD0…AD5 data D0…D7 AD0…AD7 通用的读/写选通模式 握手联络方式的通用读/ 写选通信号(EPP) control nWrite,nDStrb,nAStrb,nWait address A D0…AD5 data AD0…AD7 表 4-1:支持的微处理器接口信号 4.2 自动侦测微处理器接口类型 在每一次上电或硬件复位后,FM1702/1704/1705 会复位并行微处理器接口模 式,并且通过检测控制管脚上的电平来侦测当前的微处理器接口模式。 4.3 不同类型微处理器接口连接关系 和不同微处理器接口的连接见下表: 并行接口类型 独立的读/写选通模式 通用的读/写选通模式 FM1702 FM1704 FM1705 独立的地址/ 数据总线 复用的地址/ 数据总线 独立的地址/ 数据总线 复用的地址/ 数据总线 握手联络方 式下复用地 址/数据总线 ALE HIGH ALE HIGH AS nAStrb A2 A2 LOW A2 LOW HIGH A1 A1 HIGH A1 HIGH HIGH A0 A0 HIGH A0 LOW nWait NRD NRD NRD NDS NDS nDStrb NWR NWR NWR R/NW R/NW nWrite NCS NCS NCS NCS NCS LOW D7…D0 D7…D0 AD7…AD0 D7…D0 AD7…AD0 AD7…AD0 表 4-2:并行接口连接关系 4.3.1 独立的读/写选通模式 图 4-1:独立的读/写选通模式下与微处理器的连接 读写时序参照 20.5.2.1 4.3.2 通用的读/写选通模式 图 4-2:通用的读/写选通模式下与微处理器的连接 读写时序参照 20.5.2.2 4.3.3 握手联络方式下的通用读/写选通模式(EPP) 图 4-3:EPP 模式下与微处理器的连接 读写时序参照 20.5.2.3 4.4 SPI 兼容接口 在 SPI 通信方式下,FM1702/1704/1705 只能作为 slave 端,SCK 时钟需由 master 端提供。 FM1702/1704/1705 SPI Interface ALE NSS A2 SCK A1 LOW A0 MOSI NRD HIGH NWR HIGH NCS LOW D7…D1 不连接 D0 MISO 表 4-3:SPI 兼容接口 图 4-4:SPI 模式下与微处理器的连接 5 FM1702/1704/1705 寄存器组 5.1 FM1702/1704/1705 寄存器组概述 FM1702/1704/1705 的内部寄存器按功能不同分成 8 组,每组为一页,包含 8 个 寄存器: Page0:指令和状态寄存器组 Page1:控制和状态寄存器组 Page2:发射及编码控制寄存器组 Page3:接收及解码控制寄存器组 Page4:时间及校验控制寄存器组 Page5:FIFO,Timer 及 IRQ 控制寄存器组 Page6:预留寄存器组 Page7:预留寄存器组 Page 0 1 2 地址 (hex) 寄存器名 功能 0 Page 选择寄存器组 1 Command 指令寄存器 2 FIFOData 64byte FIFO 的输入输出寄存器 3 PrimaryStatus 发射器,接收器及 FIFO 的标识位寄存器 4 FIFOLength 当前 FIFO 内 byte 数 5 SecondaryStatus 各种状态标识寄存器 6 InterruptEn 中断使能/禁止控制寄存器 7 InterruptRq 中断请求标识寄存器 8 Page 选择寄存器组 9 Control 各种控制标识寄存器 A ErrorFlag 上一条指令结束后错误标识 B CollPos 侦测到的第一个冲突位的位置 C TimerValue 当前 Timer 值 D CRCResultLSB CRC 协处理器低 8 位 E CRCResultMSB CRC 协处理器高 8 位 F BitFraming 调整面向 bit 的帧格式 10 Page 选择寄存器组 11 TxControl 发射器控制寄存器 12 CWConductance 选择发射脚 TX1 和 TX2 发射天线的阻抗 13 PreSet13 预设寄存器,不要改变内容 14 PreSet14 预设寄存器,不要改变内容 15 ModWidth 选择载波调制宽度 16 PreSet16 预设寄存器,不要改变内容 17 PreSet17 预设寄存器,不要改变内容 FM1702/1704/1705 寄存器组(续上页) 3 4 5 6 7 18 Page 选择寄存器组 19 RXControl1 接收器控制寄存器 1A DecoderControl 解码控制寄存器 1B BitPhase 调整发射器和接收器时钟相差 1C Rxthreshold 选择 bit 解码的阈值 1D PreSet1D 预设寄存器,不要改变内容 1E RxControl2 解码控制及选择接收源 1F ClockQControl 时钟产生控制寄存器 20 Page 选择寄存器组 21 RxWait 选择发射和接收之间的时间间隔 22 ChannelRedundancy 选择数据校验种类和模式 23 CRCPresetLSB CRC 预置寄存器低 8 位 24 CRCPresetMSB CRC 预置寄存器高 8 位 25 PreSet25 预设寄存器,不要改变内容 26 MFOUTSelect 选择 MFOUT 信号源 27 PreSet27 预设寄存器,不要改变内容 28 Page 选择寄存器组 29 FIFOLevel 定义 FIFO 溢出级别 2A TimerClock 选择 Timer 时钟的分频 2B TimerControl 选择 Timer 启动/停止条件 2C TimerReload Timer 预置值 2D IRQPinConfig IRQ 输出配置 2E PreSet2E 预设寄存器,不要改变内容 2F PreSet2F 预设寄存器,不要改变内容 30 Page 选择寄存器组 31 CryptoSelect 认证模式选择 32 RFU 预留寄存器 33 RFU 预留寄存器 34 RFU 预留寄存器 35 RFU 预留寄存器 36 RFU 预留寄存器 37 RFU 预留寄存器 38 Page 选择寄存器组 39 RFU 预留寄存器 3A RFU 预留寄存器 3B RFU 预留寄存器 3C RFU 预留寄存器 3D RFU 预留寄存器 3E RFU 预留寄存器 3F RFU 预留寄存器 表 5-1:FM1702/1704/1705 寄存器组 5.1.1 寄存器位权限 每一个寄存器里的每一位按其功能都有不同的读写权限 缩写 r/w 权限 读和写 dy 动态 r w 只读 只写 描述 这些位可以被微处理器读出和写入,他们只是用作控制, 所以不会被内部状态机改写 这些位可以被微处理器读出和写入,并且他们可以被内 部状态机自动改写 这些位由内部状态机控制,只能被微处理器读出 这些位用作控制,只能被微处理器写入。读取这些位得 到的没有意义的数值 表 5-2:寄存器位的权限及描述 5.2 寄存器描述 5.2.1 PAGE0:指令和状态寄存器组 5.2.1.1 Page 寄存器 名字 Page 功能 选择寄存器组 地址 0x00,0x08,0x10,0x18,0x20,0x28,0x30,0x38 复位值 10000000,0x80 位 7 6 5 4 3 位名 UsePag eSelect 0 0 0 0 位权限 r/w r/w r/w r/w r/w 2 1 0 PageSelect r/w r/w r/w 位描述 位 位名 功能 7 UsePageSelect 指定是否使用 PageSelect 作为寄存器地址: 1:表示 PageSelect 的值做为寄存器地址 A5,A4 和 A3,低三 位寄存器地址 A2-A0 由外部地址线 A2-A0 决定 0:表示寄存器地址 A5-A0 全部由外部复用地址/数据总线决定 6-3 0000 2-0 PageSelect 预留值 仅在 UsePageSelect 为 1 时起作用,在这种情况下指定寄存器高 3 位地址 A5-A3 5.2.1.2 Command 寄存器 名字 Command 功能 开始或结束指令的执行 地址 0x01 复位值 X0000000,0xX0 位 7 6 位名 IFDetec tBusy 0 位权限 r r 5 4 3 2 1 0 dy dy 2 1 0 dy dy dy Command dy dy dy dy 位描述 位 位名 7 IFDetectBusy 6 0 5-0 Command 功能 接口检测的状态: 0:表示接口检测结束 1:表示接口检测正在进行 预留值 运行并保存当前的指令 5.2.1.3 FifoData 寄存器 名字 FIFOData 功能 64byte FIFO 的输入输出寄存器 地址 0x02 复位值 XXXXXXXX,0xXX 位 7 6 5 3 FIFOData 位名 位权限 4 dy dy dy dy dy 位描述 位 位名 功能 7-0 FIFOData 64byte FIFO 数据接口,通过该寄存器将数据写入或读出 FIFO 5.2.1.4 Primary Status 寄存器 名字 PrimaryStatus 功能 表示发射器,接收器及 FIFO 的状态 地址 0x03 复位值 XXXXXXXX,0xXX 位 7 位名 0 位权限 r 6 5 4 ModemState r r r 3 2 1 0 IRQ Err HiAlert LoAlert r r r r 位描述 位 位名 7 0 6-4 ModemState 功能 预留值 显示当前发射器或接收器的状态: 状态 状态名 描述 000 Idle 发射器和接收器空闲 001 TxSOF 正在发射数据帧帧头 010 TxData 正在发射数据 011 TxEOF 正在发射数据帧帧尾 100 GoToRx1 接收器开始的中间状态 GoToRx2 接收器开始的中间状态 101 PrepareRx 接收器工作前等待 RxWait 寄存器定 义的时间 110 AwaitingRx 接收器打开,准备接收数据 111 Receiving 正在接收数据 3 IRQ 表示 InterrupEn 寄存器使能的任何一个中断源是否有请求 2 Err 1:表示 ErrorFlag 寄存器里有错误状态位置 1 1 HiAlert 1:表示 FIFO 中的数据数满足下列公式: HiAlert = (64-FIFOLength) ≤ WaterLevel 0 LoAlert 1:表示 FIFO 中的数据数满足下列公式: LoAlert = FIFOLength ≤ WaterLevel 5.2.1.5 FIFOLength 寄存器 名字 FIFOLength 功能 FIFO 中数据的 byte 数 地址 0x04 复位值 00000000,0x00 位 7 位名 0 位权限 r 6 5 4 3 2 1 0 r r r FIFOLength r r r r 位描述 位 位名 7 0 6-0 FIFOLength 功能 预留值 标识 FIFO 中数据的 byte 数,每写一个数据到 FIFO,FIFOLength 加 1,每读出一个数据,FIFOLength 减 1 5.2.1.6 Secondary Status 寄存器 名字 SecondaryStatus 功能 不同的状态位 地址 0x05 复位值 01100000,0x60 位 7 6 5 4 3 位名 TRunning E2Ready CRCReady 0 0 位权限 r r r r r 2 1 0 RxLastBits r r r 位描述 位 位名 功能 7 TRunning 1:表示 Timer 正在运行 6 E2Ready 1:表示 EEPROM 擦写过程结束 5 CRCReady 4-3 00 2-0 RxLastBits 1:表示 CRC 计算结束 预留值 表示接收到的最后一 byte 数据中正确的 bit 数。若 0,表示整个 byte 都是正确的 5.2.1.7 InterruptEn 寄存器 名字 InterruptEn 功能 使能或禁止中断请求 地址 0x06 复位值 00000000,0x00 位 7 6 5 4 3 2 1 0 位名 SetlEn 0 Timerl En TxlEn RxlEn IdlelEn HiAlert lEn LoAlert lEn 位权限 w r/w r/w r/w r/w r/w r/w r/w 位描述 位 位名 功能 7 SetlEn 1:使能 InterruptEn 寄存器里置 1 的中断源 0:禁止 InterruptEn 寄存器里置 1 的中断源 如: 写 0xA0 到 InterruptEn,表示使能 Timer 中断,若有 Timer 中断 请求,Timer 中断请求会反应到 primaryStatus 寄存器的 IRQ 位 写 0x20 表示禁止 Timer 中断,Timer 中断请求不会反应到 PrimaryStatus 寄存器的 IRQ 位 6 0 5 TimerlEn 1:表示允许 Timer 中断请求(标识位为 TimerlRq)反应到 IRQ 管脚。这一位不能直接置成 1 或 0,只能通过 SetlEn 来置 4 TxlEn 1:表示允许发射器中断请求(标识位为 TxlRq)反应到 IRQ 管 脚。这一位不能直接置成 1 或 0,只能通过 SetlEn 来置 3 RxlEn 1:表示允许接收器中断请求(标识位为 RxlRq)反应到 IRQ 管 脚。这一位不能直接置成 1 或 0,只能通过 SetlEn 来置 2 IdlelEn 1 表示允许 idle 中断请求(标识位为 IdlelRq)反应到 IRQ 管脚。 这一位不能直接置成 1 或 0,只能通过 SetlEn 来置 1 HiAlertlEn 1:表示允许 high alert 中断请求(标识位为 HiAlertlRq)反应到 IRQ 管脚。这一位不能直接置成 1 或 0,只能通过 SetlEn 来置 0 LoAlertlEn 1:表示允许 low alert 中断请求(标识位为 LoAlertlRq)反应到 IRQ 管脚。这一位不能直接置成 1 或 0,只能通过 SetlEn 来置 预留值 5.2.1.8 InterruptRq 寄存器 名字 InterruptRq 功能 中断源请求标识 地址 0x07 复位值 00000000,0x00 位 7 6 5 4 3 2 1 0 位名 SetlRq 0 Timerl Rq TxlRq RxlRq IdlelRq HiAlert lRq LoAlert lRq 位权限 w r/w r/w r/w r/w r/w r/w r/w 位描述 位 位名 7 SetlRq 6 0 5 TimerlRq 4 TxlRq 功能 1:将 InterruptRq 寄存器里置 1 的标识位置 1 0:将 InterruptRq 寄存器里置 1 的标识位清 0 如: 写 0xA0 到 InterruptRq,表示将 Timer 中断源标识初始为 1 写 0x20 表示将 Timer 中断源标识初始为 0 预留值 1:表示 TimerValue 寄存器里的值已经减为 0 1:表示有下列事件发生: Transceive 指令:所有的数据都发送了 Auth1 和 Auth2 指令:所有数据都发送了 WriteE2 指令:所有数据都擦写结束 CalcCRC 指令:所有数据都计算结束 3 RxlRq 1:表示接收数据结束,接收器停止 2 IdlelRq 1:表示指令寄存器被内部状态机清 0 如果任何未知的指令写入指令寄存器,该位也置 1 但是微处理器写 Idle 指令到指令寄存器不影响该位 1 HiAlertlRq 1:表示 HiAlert 置 1。和 HiAlert 不同,HiAlertlRq 保存这个状 态并只能被 SetlRq 复位 0 LoAlertlRq 1:表示 LoAlert 置 1。和 LoAlert 不同,LoAlertlRq 保存这个状 态并只能被 SetlRq 复位 5.2.2 PAGE1:控制和状态寄存器组 5.2.2.1 Page 寄存器 选择寄存器组,见 5.2.1.1Page 寄存器 5.2.2.2 Control 寄存器 名字 Control 功能 各种控制标识 地址 0x09 复位值 00000000,0x00 位 7 6 5 4 3 2 1 0 位名 0 0 StandBy Power Down Crypto 1On TStopNow TStartNow FlushFIFO 位权限 r/w r/w dy dy dy w w w 位描述 位 位名 功能 7-6 00 5 StandBy 置 1 则进入软件 PowerDown 模式。这种模式下,内部电路停止 工作,晶振不停振 4 PowerDown 置 1 则进入软件 PowerDown 模式。这种情况下,内部电路和晶 振都停止工作 3 Crypto1On 1:表示加密单元打开,并且所有的数据传输都经过加密 这一位只有在 Authent2 指令通过后才被内部状态机置 1 2 TStopNow 置 1 则立刻停止 Timer 读该位返回 0 1 TStartNow 置 1 则立即启动 Timer 读该位返回 0 0 FlushFIFO 置 1 则清空 FIFO 以及读写指针(FIFOLength 置 0),并且清 FIFOOvfl 标识位 读该位返回 0 预留值 5.2.2.3 ErrorFlag 寄存器 名字 ErrorFlag 功能 上一条指令结束后错误标识 地址 0x0A 复位值 01000000,0x40 位 7 6 5 4 3 2 1 0 位名 0 KeyErr Access Err FIFOOvfl CRCErr Framin gErr ParityErr CollErr 位权限 r r r r r r r r 位描述 位 位名 功能 7 0 6 KeyErr 5 AccessErr 1:违反 PROM 读写权限 0:开始 EEPROM 相关指令 4 FIFOOvfl 1:表示 FIFO 数据已满,微处理器或内部状态机仍然往 FIFO 里写数据,FIFO 溢出 3 CRCErr 1:表示 RxCRCEn 置 1 的情况下 CRC 校验出错。这一位在接 收器开始(PrepareRx 状态)时自动清 0 2 FramingErr 1:表示 SOF 出错。这一位在接收器开始(PrepareRx 状态)时 自动清 0 1 ParityErr 1:表示数据奇偶校验出错。这一位在接收器开始(PrepareRx 状态)时自动清 0 0 CollErr 1:表示有冲突位。这一位在接收器开始(PrepareRx 状态)时 自动清 0 预留值 1:表示 LoadKeyE2 或 LoadKey 指令中输入的数据不符合规定 的密钥格式 0:开始 LoadkeyE2 或 LoadKey 指令 5.2.2.4 CollPos 寄存器 名字 CollPos 功能 侦测到的第一个冲突位的位置 地址 0x0B 复位值 00000000,0x00 位 7 6 5 4 2 1 0 r r r r CollPos 位名 位权限 3 r r r r 位描述 位 位名 7-0 CollPos 功能 表示接收数据过程中侦测到的第一个冲突位的位置 5.2.2.5 TimerValue 寄存器 名字 TimerValue 功能 Timer 当前值 地址 0x0C 复位值 XXXXXXXX,0xXX 位 7 6 5 3 2 1 0 r r r TimerValue 位名 位权限 4 r r r r r 位描述 位 位名 7-0 TimerValue 功能 显示当前 Timer 值 5.2.2.6 CRCResultLSB 寄存器 名字 CRCResultLSB 功能 CRC 协处理器低 8 位 地址 0x0D 复位值 XXXXXXXX,0xXX 7 位 6 5 3 2 1 0 r r r CRCResultLSB 位名 位权限 4 r r r r r 位描述 位 位名 功能 7-0 CRCResultLSB 显示 CRC 寄存器低 8 位,该寄存器的数据仅在 CRCReady 为 1 时有效 5.2.2.7 CRCResultMSB 寄存器 名字 CRCResultMSB 功能 CRC 协处理器高 8 位 地址 0x0E 复位值 XXXXXXXX,0xXX 7 位 6 5 3 2 1 0 r r r CRCResultMSB 位名 位权限 4 r r r r r 位描述 位 位名 功能 7-0 CRCResultMSB 显示 CRC 寄存器高 8 位,该寄存器的数据仅在 CRCReady 为 1 时有效 5.2.2.8 BitFraming 寄存器 名字 BitFraming 功能 调整面向 bit 的帧格式 地址 0x0F 复位值 00000000,0x00 位 7 位名 0 位权限 r/w 6 5 4 RxAlign dy dy 3 2 0 dy r/w 1 0 TxLastBits dy dy dy 位描述 位 位名 7 0 6-4 RxAlign 3 0 2-0 TxLastBits 功能 预留值 定义收到的第一个 bit 在 FIFO 中存放的位置,接收结束后, RxAlign 自动清 0 如: RxAlign = 0:收到的第一个 byte 的最低位存放在 FIFO 中的第 0 位 RxAlign = 1:收到的第一个 byte 的最低位存放在 FIFO 中的第 1 位 预留值 定义了最后一个 byte 中要发送出去的 bit 数,000 表示最后一个 byte 中所有 bit 都发送出去。 发送结束后,TxLastBits 自动清 0 5.2.3 PAGE2:发射及编码控制寄存器组 5.2.3.1 Page 寄存器 选择寄存器组,见 5.2.1.1Page 寄存器 5.2.3.2 TxControl 寄存器 名字 TxControl 功能 控制发射器逻辑行为 地址 0x11 复位值 01011000,0x58 位 7 位名 0 位权限 r/w 6 5 4 3 2 1 0 1 TX2Inv TX2Cw TX2RF En TX1RF En r/w r/w r/w r/w r/w ModulatorSource r/w r/w 位描述 位 位名 功能 7 0 6-5 ModulatorSouce 4 1 3 TX2Inv 1:TX2 管脚输出 13.56MHz 反相能量载波 2 TX2Cw 1:TX2 管脚输出持续的 13.56MHz 非调制能量载波 0:TX2 管脚输出持续的 13.56MHz 调制能量载波 1 TX2RFEn 1:TX2 管脚输出 13.56MHz 经发送数据调制过的能量载波 0:TX2 管脚输出固定的电平 0 TX1RFEn 1:TX1 管脚输出 13.56MHz 经发送数据调制过的能量载波 0:TX1 管脚输出固定的电平 预留值,不要更改 选择调制源: 00:LOW 01:HIGH 10:内部编码器 11:MFIN 管脚 预留值,不要更改 5.2.3.3 CwConductance 寄存器 名字 CwConductance 功能 选择发射脚 TX1 和 TX2 发射天线的电导 地址 0x12 复位值 00111111,0x3F 位 7 6 位名 0 0 位权限 r/w r/w 5 4 3 2 1 0 r/w r/w GsCfgCW r/w r/w r/w r/w 位描述 位 位名 7-6 00 5-0 GsCfgCW 功能 预留值,不要更改 定义了输出电导,用来调整输出能量以及电流消耗和操作距离 注意:详细信息见 13.3 5.2.3.4 PreSet13 寄存器 名字 PreSet13 功能 预留寄存器 地址 0x13 复位值 00111111,0x3F 位 7 6 5 4 2 1 0 r/w r/w r/w r/w PreSet13 位名 位权限 3 r/w r/w r/w r/w 位描述 位 位名 7-0 PreSet13 功能 预留值,不要更改 5.2.3.5 PreSet14 寄存器 名字 PreSet14 功能 预留寄存器 地址 0x14 复位值 00011001,0x19 位 7 6 5 4 2 1 0 r/w r/w r/w r/w 2 1 0 r/w r/w r/w PreSet14 位名 位权限 3 r/w r/w r/w r/w 位描述 位 位名 7-0 PreSet14 功能 预留值,不要更改 5.2.3.6 ModWidth 寄存器 名字 ModWidth 功能 定义调制宽度 地址 0x15 复位值 00010011,0x13 位 7 6 5 3 ModWidth 位名 位权限 4 r/w r/w r/w r/w r/w 位描述 位 位名 7-0 ModWidth 功能 定义调制宽度 Tmod = 2(ModWidth+1)/fc 5.2.3.7 PreSet16 寄存器 名字 PreSet16 功能 预留寄存器 地址 0x16 复位值 00000000,0x00 位 7 6 5 4 2 1 0 r/w r/w r/w r/w 3 2 1 0 r/w r/w r/w r/w PreSet16 位名 位权限 3 r/w r/w r/w r/w 位描述 位 位名 7-0 PreSet16 功能 预留值,不要更改 5.2.3.8 PreSet17 寄存器 名字 PreSet17 功能 预留寄存器 地址 0x17 复位值 00000000,0x00 位 7 6 5 4 PreSet17 位名 位权限 r/w r/w r/w r/w 位描述 位 位名 7-0 PreSet17 功能 预留值,不要更改 5.2.4 PAGE3:接收及解码控制寄存器组 5.2.4.1 Page 寄存器 选择寄存器组,见 5.2.1.1Page 寄存器 5.2.4.2 RxControl1 寄存器 名字 RxControl1 功能 控制接收器行为 地址 0x19 复位值 01110011,0x73 位 7 6 5 4 3 2 位名 0 1 1 1 0 0 位权限 r/w r/w r/w r/w r/w r/w 位描述 位 位名 7-2 011100 1-0 Gain 功能 预留值,不要更改 定义接收器放大器增益: 00:27 dB 01:30 dB 10:38 dB 11:42dB 1 0 Gain r/w r/w 5.2.4.3 DecoderControl 寄存器 名字 DecoderControl 功能 控制解码器行为 地址 0x1A 复位值 00001000,0x08 位 7 6 5 4 3 2 1 0 位名 0 0 ZeroAf erColl 0 1 0 0 0 位权限 r/w r/w r/w r/w r/w r/w r/w r/w 位描述 位 位名 7-6 00 5 ZeroAferColl 4-0 01000 功能 预留值,不要更改 1:所有接收到的冲突位之后的数据都置 0 预留值,不要更改 5.2.4.4 BitPhase 寄存器 名字 BitPhase 功能 调整发射器和接收器时钟相差 地址 0x1B 复位值 10101101,0xAD 位 7 6 5 3 2 1 0 r/w r/w r/w r/w BitPhase 位名 位权限 4 r/w r/w r/w r/w 位描述 位 位名 7-0 BitPhase 功能 定义发射器和接收器时钟的相位差,该值影响数据接收质量 5.2.4.5 RxThreshold 寄存器 名字 RxThreshold 功能 选择 bit 解码的阈值 地址 0x1C 复位值 11111111,0xFF 位 7 5 4 3 MinLevel 位名 位权限 6 r/w r/w r/w 2 1 0 CollLevel r/w r/w r/w r/w r/w 位描述 位 位名 功能 7-4 MinLevel 定义解码器能够接收的最小信号,若信号强度低于该值,则不 被处理 3-0 CollLevel 定义 Manchester 编码的信号里弱半 bit 相对强半 bit 产生冲突必 须达到的最小值 5.2.3.8 PreSet1D 寄存器 名字 PreSet1D 功能 预留寄存器 地址 0x1D 复位值 00000000,0x00 位 7 6 5 4 2 1 0 r/w r/w r/w PreSet1D 位名 位权限 3 r/w r/w r/w r/w r/w 位描述 位 位名 7-0 PreSet1D 功能 预留值,不要更改 5.2.4.7 RxControl2 寄存器 名字 RxControl2 功能 解码控制及选择接收源 地址 0x1E 复位值 01000001,0x41 位 7 6 5 4 3 2 位名 RcvClk Sell RxAuto PD 0 0 0 0 位权限 r/w r/w r/w r/w r/w r/w 1 0 DecoderSource r/w r/w 位描述 位 位名 功能 7 RcvClkSell 1:选择 I 时钟作为接收器时钟 0:选择 Q 时钟作为接收器时钟 6 RxAutoPD 1:接收器在接收数据前自动打开和接受数据后自动关闭,用于 节省功耗 0:接收器始终打开 5 0000 1-0 DecoderSource 预留值,不要更改 选择解码器源: 00:LOW 01:内部解调器 10:MFIN 输入的 Manchester 编码的副载波 11:MFIN 输入的 Manchester 编码的基带信号 5.2.4.8 ClockQControl 寄存器 名字 ClockQControl 功能 控制 Q 时钟产生 地址 0x1F 复位值 000XXXXX,0xXX 位 7 6 5 位名 ClkQ18 0Deg ClkQC alib 0 位权限 r r/w r/w 4 3 2 1 0 dy dy ClkQDelay dy dy dy 位描述 位 位名 7 clkQ180Deg 6 ClkQCalib 5 0 4-0 ClkQDelay 功能 若 I-Q 时钟相位差超过 180 度,该位置 1,否则为 0 0:复位及接收过程结束后自动校正 Q 时钟相位 1:不校正 Q 时钟相位 预留值,不要更改 用于产生 Q 时钟的预置值 5.2.5 PAGE4:时间及校验控制寄存器组 5.2.5.1 Page 寄存器 选择寄存器组,见 5.2.1.1Page 寄存器 5.2.5.2 RxWait 寄存器 名字 RxWait 功能 选择发射和接收之间的时间间隔 地址 0x21 复位值 00000110,0x06 位 7 6 5 3 2 1 0 r/w r/w r/w r/w RxWait 位名 位权限 4 r/w r/w r/w r/w 位描述 位 位名 功能 7-0 RxWait 数据发送后,接收器等待 RxWait 定义的 bit 时钟数,在这段时 间内,Rx 上收到的任何信号都被忽略 5.2.5.3 ChannelRedundancy 寄存器 名字 ChannelRedundancy 功能 选择数据校验种类和模式 地址 0x22 复位值 00000011,0x03 位 7 6 5 4 3 2 1 0 位名 0 CRCM SBFirst CRC 3309 CRC8 RxCRC En TxCRC En ParityOdd ParityEn 位权限 r/w r/w r/w r/w r/w r/w r/w r/w 位描述 位 位名 功能 7 0 6 CRCMSBFirst 1:数据流高位先进 CRC 协处理器 0:数据流低位先进 CRC 协处理器 5 CRC3309 1:CRC 算法切换为 ISO/IEC3309 0:CRC 算法切换为 ISO1443A 4 CRC8 3 RxCRCEn 1:对接收数据进行 CRC 校验,接收数据最后两 byte CRC 不送 入 FIFO。如果校验出错,CRCErrFlag 置 1 0:接收过程不进行 CRC 校验 2 TxCRCEn 1:对发射数据计算 CRC 校验码,并附加在数据流尾一起发送 0:不发送 CRC 校验码 1 ParityOdd 1:选择奇校验 0:选择偶校验 0 ParityEn 预留值,不要更改 1:计算 8bit CRC 0:计算 16bit CRC 1:每个发送的数据 byte 后都插入 1bit 校验位,同样每个接收 到的数据 byte 都进行奇偶校验 0:不发送及检查奇偶校验位 5.2.5.4 CRCPresetLSB 寄存器 名字 CRCPresetLSB 功能 CRC 预置值低 8 位 地址 0x23 复位值 01100011,0x63 7 位 6 5 3 2 1 0 r/w r/w r/w 2 1 0 r/w r/w r/w CRCPresetLSB 位名 位权限 4 r/w r/w r/w r/w r/w 位描述 位 位名 7-0 CRCPresetLSB 功能 CRC 协处理器预置值低 8 位 5.2.5.5 CRCPresetMSB 寄存器 名字 CRCPresetMSB 功能 CRC 预置值高 8 位 地址 0x24 复位值 01100011,0x63 7 位 6 5 3 CRCPresetMSB 位名 位权限 4 r/w r/w r/w r/w r/w 位描述 位 位名 7-0 CRCPresetMSB 功能 CRC 协处理器预置值高 8 位 5.2.5.6 PreSet25 寄存器 名字 PreSet25 功能 预留寄存器 地址 0x25 复位值 00000000,0x00 位 7 6 5 4 2 1 0 r/w r/w r/w r/w PreSet25 位名 位权限 3 r/w r/w r/w r/w 位描述 位 位名 7-0 PreSet25 功能 预留值,不要更改 5.2.5.7 MFOUTSelect 寄存器 名字 MFOUTSelect 功能 选择 MFOUT 信号源 地址 0x26 复位值 00000000,0x00 位 7 6 5 4 3 位名 0 0 0 0 0 位权限 r/w r/w r/w r/w r/w 2 1 0 MFOUTSelect r/w r/w r/w 3 2 1 0 w w w w 位描述 位 位名 7-3 00000 2-0 MFOUTSelect 功能 预置值,不要更改 选择 MFOUT 输出的信号: 000:LOW 001:HIGH 010:Miller 编码并调制过的内部信号 011:未经编码的串行信号 100:能量载波解调器的输出 101:副载波解调器的输出 110:RFU 111:RFU 5.2.5.8 PreSet27 寄存器 名字 PreSet27 功能 预留寄存器 地址 0x27 复位值 XXXXXXXX,0xXX 位 7 6 5 PreSet27 位名 位权限 4 w w w w 位描述 位 位名 7-0 PreSet27 功能 预留值,不要更改 5.2.6 PAGE5:FIFO,Timer 及 IRQ 控制寄存器组 5.2.6.1 Page 寄存器 选择寄存器组,见 5.2.1.1Page 寄存器 5.2.6.2 FIFOLevel 寄存器 名字 FIFOLevel 功能 定义 FIFO 溢出级别 地址 0x29 复位值 00000100,0x08 位 7 6 位名 0 0 位权限 r/w r/w 5 4 3 2 1 0 r/w r/w WaterLevel r/w r/w r/w r/w 位描述 位 位名 7-6 00 5-0 WaterLevel 功能 预留值,不要更改 定义了 FIFO 向上或向下溢出的级别: 若 FIFO 里剩下的空间小于等于 WaterLevel,则 HiAlert 置 1 若 FIFO 里已有的数据小于等于 LoAlert,则 LoAlert 置 1 5.2.6.3 TimerClock 寄存器 名字 TimerClock 功能 选择 Timer 时钟的分频 地址 0x2A 复位值 00000111,0x07 位 7 6 位名 0 0 位权限 r/w r/w 5 4 3 2 TAutoRestart r/w 1 0 TPreScaler r/w r/w r/w r/w r/w 位描述 位 位名 7-6 00 5-4 TAutoRestart 3-0 TPreScaler 功能 预留值,不要更改 1:Timer 递减到 0 后,自动重新从 TReloadValue 开始递减 定义 Timer 时钟频率 fTimer,范围从 0 到 21: fTimer = 13.56MHz/2TPreScaler 5.2.6.4 TimerControl 寄存器 名字 TimerControl 功能 选择 Timer 启动/停止条件 地址 0x2B 复位值 00000110,0x06 位 7 6 5 4 3 2 1 0 位名 0 0 0 0 TStopRxEnd TStopR xBegin TStartT xEnd TStartT xBegin 位权限 r/w r/w r/w r/w r/w r/w r/w r/w 位描述 位 位名 功能 7-4 0000 3 TStopRxEnd 2 TStopRxBegin 1 TStartTxEnd 1:数据发送结束后 Timer 自动启动。若此时 Timer 已经在运行, 则 Timer 重新启动,从 TReloadValue 开始递减 0:Timer 不受该条件影响 0 TStartTxBegin 1:第一个 bit 发送后 Timer 自动启动。若此时 Timer 已经在运 行,则 Timer 重新启动,从 TReloadValue 开始递减 0:Timer 不受该条件影响 预留值,不要更改 1:数据接收完毕后 Timer 自动停止 0:Timer 不受该条件影响 1:第一个正确的 bit 接收完 Timer 自动停止 0:Timer 不受该条件影响 5.2.6.5 TimerReload 寄存器 名字 TimerReload 功能 定义 Timer 预置值 地址 0x2C 复位值 00001010,0x0A 7 位 6 5 4 3 2 1 0 r/w r/w r/w TReloadValue 位名 位权限 r/w r/w r/w r/w r/w 位描述 位 位名 功能 7-0 TReloadValue Timer 若启动,则从该值开始倒计数。改变该寄存器值只能影响 下一次 Timer 启动的初值 5.2.6.6 IRQPinConfig 寄存器 名字 IRQPinConfig 功能 配置 IRQ 输出行为 地址 0x2D 复位值 00000010,0x02 位 7 6 5 4 3 2 1 0 位名 0 0 0 0 0 0 IRQInv IRQPus hPull 位权限 r/w r/w r/w r/w r/w r/w r/w r/w 3 2 1 0 w w w w 位描述 位 位名 功能 7-3 000000 预留值,不要更改 1 IRQInv 1:IRQ 管脚为 IRq bit 的反相输出 0:IRQ 管脚为 IRq bit 的同相输出 0 IRQPushPull 1:IRQ 管脚为标准 CMOS 输出 0:IRQ 管脚为开漏输出 5.2.6.7 PreSet2E 寄存器 名字 PreSet2E 功能 预留寄存器 地址 0x2E 复位值 XXXXXXXX,0xXX 位 7 6 5 PreSet2E 位名 位权限 4 w w w w 位描述 位 位名 7-0 PreSet2E 功能 预留值,不要更改 5.2.6.8 PreSet2F 寄存器 名字 PreSet2F 功能 预留寄存器 地址 0x2F 复位值 XXXXXXXX,0xXX 位 7 6 5 3 2 1 0 w w w w PreSet2F 位名 位权限 4 w w w w 位描述 位 位名 7-0 PreSet2F 功能 预留值,不要更改 5.2.7 预留寄存器组 5.2.7.1 Page 寄存器 选择寄存器组,见 5.2.1.1Page 寄存器 5.2.7.2 CryptoSelect 寄存器(FM1705) 名字 CryptoSelect 功能 选择认证模式 地址 0x31 复位值 00000000,0x00 位 7 6 5 4 3 2 1 0 位名 0 0 0 0 0 0 0 Crypto Select 位权限 w w w w w w w w 位描述 位 位名 7-1 0000000 0 CryptoSelect 功能 预留值,不要更改 1:兼容 SH 标准的认证模式 0:兼容 MIFARE 标准的认证模式 5.2.7.3 RFU 寄存器 名字 RFU 功能 预留寄存器 地址 0x32,0x33,0x34,0x35,0x36,0x37 复位值 XXXXXXXX,0xXX 位 7 6 5 4 2 1 0 w w w w RFU 位名 位权限 3 w w w w 位描述 位 位名 7-0 RFU 功能 预留值 5.2.8 预留寄存器组 5.2.8.1 Page 寄存器 选择寄存器组,见 5.2.1.1Page 寄存器 5.2.8.2 RFU 寄存器 名字 RFU 功能 预留寄存器 地址 0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F 复位值 XXXXXXXX,0xXX 位 7 6 5 4 2 1 0 w w w w RFU 位名 位权限 3 w w w w 位描述 位 位名 7-0 RFU 功能 预留值 5.3 寄存器寻址方式 FM1702/1704/1705 寄存器组分为 8 组,每组 8 个。Page 寄存器可以随时访问, 而不用关心当前选中的是哪一组。 5.3.1 独立地址总线 在独立地址总线模式下,微处理器提供低三位地址 A0-A2,决定了组内寻址。要 切换不同的寄存器组则要使用 Page 寄存器,合成的 6 位寄存器地址如下: 寄存器地址 UsePageSelect 1 PageSelect2 PageSelect1 PageSelect0 A2 A1 A0 表 5-3:独立地址总线模式下寄存器地址 5.3.2 复用地址总线 在复用地址总线模式下,微处理器可以通过复用地址/数据总线一次性提供 6 位 寄存器地址,在这种模式下既可以使用 Page 寄存器页可以使用直接地址: 总线类型 UsePageSelect 寄存器地址 复用地址/数据总线 (使用 page 寄存器) 1 pageSelect2 pageSelect1 pageSelect0 AD2 AD1 AD0 复用地址/数据总线 (不使用 page 寄存器) 0 AD5 AD4 AD3 AD2 AD1 AD0 6 EEPROM 结构 6.1 EEPROM 存储器结构 块号 块地址 byte地址 读写权限 内容 0 0 00…0F r 产品信息区 1 1 10…1F r/w 寄存器复位初始值存放区 2 2 20…2F r/w 3 3 30…3F r/w 4 4 40…4F r/w 5 5 50…5F r/w 6 6 60…6F r/w 7 7 70…7F r/w 8 8 80…8F w 9 9 90…9F w 10 A A0…AF w 11 B B0…BF w 12 C C0…CF w 13 D D0…DF w 14 E E0…EF w 15 F F0…FF w 16 10 100…10F w 17 11 110…11F w 18 12 120…12F w 19 13 130…13F w 20 14 140…14F w 21 15 150…15F w 22 16 160…16F w 23 17 170…17F w 24 18 180…18F w 25 19 190…19F w 26 1A 1A0…1AF w 27 1B 1B0…1BF w 28 1C 1C0…1CF w 29 1D 1D0…1DF w 30 1E 1E0…1EF w 31 1F 1F0…1FF w 表6-1:EEPROM存储器结构 寄存器初始值存放区 密钥存放区 6.2 寄存器初始值存放区 10hex 到 2Fhex 寄存器在初始阶段(见 11.3 章)会被自动初始成寄存器复位初始 值存放区内的值。用户也可以使用 LoadConfig 指令(见 16.6.1 章)将这些寄存 器初始化成寄存器初始值存放区里的值。 注意: z Page 寄存器(10hex,18hex,20hex,28hex)不会被初始化 z 不要更改任何 PreSet 寄存器的内容 z 所有预留的寄存器或寄存器位都为‘0’,不要更改内容 6.2.1 寄存器复位初始值存放区 EEPROM 第一和第二块存放初始阶段 10hex 到 2Fhex 寄存器的初始值,默认值见 6.3.2。对应关系如下: 寄存器地址 注释 10hex (块1,Byte0) 10hex 跳过 11hex 11hex 复制 … … 2Fhex 复制 EEPROM Byte地址 … 2Fhex(块2,Byte15) 表6-4:寄存器地址对应表 6.2.2 寄存器复位初始值 寄存器复位初始值在产品测试过程中被初始化,在每次上电或复位过程中,这些 值被用来初始化内部寄存器 10hex 到 2Fhex。 EEPROM Byte地址 寄存器地址 值 10 10 00 Page 11 11 58 TxControl 12 12 3F CwConductance 13 13 3F PreSet13 14 14 19 PreSet14 15 15 13 ModWidth 16 16 00 PreSet16 17 17 00 PreSet17 18 18 00 Page 19 19 73 RxControl1 1A 1A 08 DecoderControl 1B 1B AD BitPhase 1C 1C FF RxThreshold 1D 1D 00 PreSet1D 1E 1E 41 RxControl2 1F 1F 00 ClockQControl 20 20 00 Page 21 21 06 RxWait 22 22 03 ChannelRedundancy 23 23 63 CRCPresetLSB 24 24 63 CRCPresetMSB 25 25 00 PreSet25 26 26 00 MFOUTSelect 27 27 00 PreSet27 28 28 00 Page 29 29 08 FIFOLevel 2A 2A 07 TimerClock 2B 2B 06 TimerControl 2C 2C 0A TimerReload 2D 2D 02 IRQPinConfig 2E 2E 00 PreSet2E 2F 2F 00 PreSet2F 描述 表 6-5:寄存器复位初始值地址对应表 6.2.3 寄存器初始值 EEPROM 块 3 到块 7 保存着寄存器初始化值,用户可以用 LoadConfig 指令(见 16.6.1)将内部寄存器 10hex 到 20hex 初始化为这些值。对应关系如下: E²PROM Byte 地址 寄存器 Address 注释 EEPROM起始byte地址 10hex 跳过 EEPROM起始byte地址 + 1 11hex 复制 … … … EEPROM起始byte地址 + 31 2Fhex 复制 表6-6:寄存器初始值地址对应表 注意: 寄存器初始值模块是可读+可写权限,用户可以用它来初始化寄存器, 同样也可以用来来存放数据 6.3 密钥存放区 6.3.1 密钥格式 密钥必须以规定的格式存放在 EEPROM 内。每一 byte 的密钥分为低四位(k0 到 k3)和高四位(k4 到 7),每四位按位及位反存放在一个 byte 内。LoadKeyE2 和 LoadKey 指令会按此来检查密钥是否满足这种格式。使用这种格式,6byte 的 key 需存放在 12byte EEPROM 内: KEY Byte KEY 0 (LSB) k 7 k 6 k 5 k 4k 7 k 6 k 5 k 4 … 1 k 3 k 2 k 1 k 0k 3 k 2 k 1 k 0 k 7 k 6 k 5 k 4k 7 k 6 k 5 k 4 k 3 k 2 k 1 k 0k 3 k 2 k 1 k 0 … 5 (MSB) k 7 k 6 k 5 k 4k 7 k 6 k 5 k 4 k 3 k 2 k 1 k 0k 3 k 2 k 1 k 0 E²PROM Byte 地址 n n+1 n+2 n+3 n+10 n+11 例子 5Ahex F0hex 5Ahex E1hex 5Ahex A5hex … 表6-7:KEY存放格式 例 子 : key 为 A0A1A2A3A4A5 , 则 在 EEPROM 中 存 放 格 式 为 : 5AF05AE15AD25AC35AB45AA5hex 6.3.2 密钥的存放 FM1702/1704/1705 保留了 384byte EEPROM 空间用于保存密钥。密钥可以在这 些 byte 中任意位置开始存放。 例子:如果一条密钥的 byte0 存放在 12Fhex,则 byte1 存放在 130hex,byte2 存放 在 131hex,一直到 byte11 存放 在 13Ahex 7 FIFO 7.1 概述 FM1702/1704/1705 包 含 一 个 8x64 的 并 行 FIFO , 保 存 微 处 理 器 和 FM1702/1704/1705 之间通信的数据 访问规则 7.2 FIFO 通过 FIFOData 寄存器输入和输出数据。向这个寄存器里写一 byte 数据即 向 FIFO 里添加一 byte 数据,同时 FIFO 写指针加一。从这个寄存器读一 byte 数 据即从 FIFO 里读出一 byte 数据,同时 FIFO 读指针加一。FIFOLength 寄存器记 录读/写指针之间的长度。 当 FM1702/1704/1705 执行一条指令时,内部状态机可能会对 FIFO 进行内部读/ 写操作,所以除了指令本身要求外,微处理器在 FM1702/1704/1705 指令执行过 程中不要对 FIFO 执行不正确的访问 下列表格给出 FM1702/1704/1705 指令执行过程中对 FIFO 的访问情况: 指令 微处理器允许 注释 写数据到FIFO 从FIFO读数据 StartUp - - Idle - - Transmit √ - 写指令参数或追加发射数据 Receive - √ 读取接收数据 Transceive √ √ 写指令参数,接收过程中读接收到 的数据 - 写指令参数或追加要写入EEPROM 的数据 WriteE2 √ ReadE2 √ √ 写指令参数,在指令执行过程中读 取从EEPROM读出的数据 LoadKeyE2 √ - 写指令参数 LoadKey √ - 写指令参数 Authent1 √ - 写指令参数 Authent2 - - LoadConfig √ - 写指令参数 CalcCRC √ - 写指令参数 表7-1:FIFO访问规则 7.3 控制 FIFO 除了读写 FIFO 外,用户可以通过设置 FlushFIFO 位来复位 FIFO 指针。在这种 情况下,FIFO 被清空,FIFOLength 置 0,FIFOOvfl 标识位被清除,FIFO 内原有 的数据不再有效。 7.4 FIFO 状态信息 微处理器可以通过下列寄存器获得 FIFO 状态: FIFO 中数据长度:FIFOLength FIFO 渐满警告:HiAlert FIFO 渐空警告:LoAlert FIFO 溢出(FIFO 满的情况下继续写数据到 FIFO):FIFOOvfl FIFO 可以产生两个中断请求: 如果 LoAlertRq 置 1 且 LoAlert 变为 1,会激活 IRQ 管脚 如果 HiAlertRq 置 1 且 HiAlert 变为 1,会激活 IRQ 管脚 LoAlert 变为 1 的条件: LoAlert = FIFOLength ≤ WaterLevel HiAlert 变为 1 的条件: HiAlert = (64-FIFOLength)≤ WaterLevel 7.5 FIFO 相关寄存器 标识 寄存器 地址 寄存器,bit位 FIFOLength FIFOLength 0x04, bits 6-0 FIFOOvfl ErrorFlag 0x0A, bit 4 FlushFIFO Control 0x09, bit 0 HiAlert PrimaryStatus 0x03, bit 1 HiAlertIEn InterruptIEn 0x06, bit 1 HiAlertIRq InterruptIRq 0x07, bit 1 LoAlert PrimaryStatus 0x03, bit 0 LoAlertIEn InterruptIEn 0x06, bit 0 LoAlertIRq InterruptIRq 0x07, bit 0 WaterLevel FIFOLevel 0x29, bits 5-0 表7-2:FIFO相关寄存器 8 中断请求系统 8.1 概述 如果有中断请求事件发生,FM1702/1704/1705 会将 PrimaryStatus 寄存器里的 IRq 位置 1,同时激活 IRQ 管脚。IRQ 上的信号可以用来向微处理器发出中断请求。 8.1.1 中断源概述 下表列出了各个中断标识对应的中断源及其标识建立的条件。 TimerIRq 表明 TIMER 有中断请求。当 TIMER 自减到 0(TAutoRestart 置 0)或 TpreLoad 值(TautoRestart 置 1)时 TimerlRq 标识建立 TxIRq 标识在三种情况下会被建立: 1.所有数据发送完毕 2.CRC 协处理器将 FIFO 中所有数据计算完毕,此时 CRCReady 也被置 1 3.所有 FIFO 中的数据都被写入 EEPROM,此时 E2Ready 也被置 1 RxIRq 表明接收器接收数据完毕 IdleIRq 表明指令执行完毕 HiAlerIRq 表明 HiAlert 被置 1,见 7.4 章 LoAlertIRq 表明 LoAlert 被置 1,见 7.4 章 中断标识 中断源 TimerIRq TIMER Timer自减到0或TpreLoad值 发射器 数据发送结束 TxIRq CRC协处理器 E²PROM 建立条件 FIFO中所有数据CRC计算结束 FIFO中所有数据已被写入EEPROM RxIRq 接收器 IdleIRq 指令寄存器 HiAlertIRq FIFO HlAlert置1,FIFO渐满 LoAlertIRq FIFO LoAlert置1,FIFO渐空 接收器接收数据结束 指令执行结束 表8-1:中断源 8.2 中断应用 8.2.1 控制中断请求及其标识 FM1702/1704/1705 通过设置 InterrupRq 寄存器中的 bit 向微处理器指明相应的中 断请求,并且通过 InterrupEn 寄存器来打开或禁止这些中断请求。 寄存器 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 InterruptEn SetIEn rfu TimerI En TxIEn RxIEn IdleIEn HiAlert IEn LoAlert IEn InterruptRq SetIRq rfu TimerI Rq TxIRq RxIRq IdleIRq HiAlert IRq LoAlert IRq 表8-2:中断控制寄存器 只要有任何一个中断请求标识被置1并且相应的中断使能位打开,则 PrimaryStatus寄存器中的IRq位被置1。如果有多个中断标识同时置1,则所有的 中断请求位做“或”运算后激活IRq标识及IRQ管脚 8.2.2 访问中断寄存器 中断请求位由内部状态机来设置。此外微处理器也可以使用 SetIEn 或 SelIRq 位 来设置或清除他们。如果想要某个特定的中断位要置 1,则将该位置 1 并置 SetIxx 位为 1。如果想要没个特定的中断位置 0,则将该位置 1 并置 SetIxx 位为 0。 8.3 IRQ 管脚配置 用户可以通过 IRQPinConfig 寄存器来控制 IRQ 管脚的输出行为 IRQInv: 若置 0,则 IRQ 管脚电平与 IRq bit 位电平相同 若置 1,则 IRQ 管脚电平与 IRq bit 位电平相反 IRQPushPull: 若置 1,IRQ 管脚为标准 CMOS 输出特性 若置 0,IRQ 管脚为开漏输出,且必须外接上拉电阻 注意:在复位过程(见 11.2 章)IRQInv 置 1 且 IRQPushPull 置 0,此时 IRQ 管 脚为高阻状态 8.4 中断相关寄存器 标识 寄存器 地址 寄存器,bit位 HiAlertIEn InterruptEn 0x06, bit 1 HiAlertIRq InterruptRq 0x07, bit 1 IdleIEn InterruptEn 0x06, bit 2 IdleIRq InterruptRq 0x07, bit 2 IRq PrimaryStatus 0x03, bit 3 IRQInv IRQPinConfig 0x07, bit 1 IRQPushPull IRQPinConfig 0x07, bit 0 LoAlertIEn InterruptEn 0x06, bit 0 LoAlertIRq InterruptRq 0x07, bit 0 RxIEn InterruptEn 0x06, bit 3 RxIRq InterruptRq 0x07, bit 3 SetIEn InterruptEn 0x06, bit 7 SetIRq InterruptRq 0x07, bit 7 TimerIEn InterruptEn 0x06, bit 5 TimerIRq InterruptRq 0x07, bit 5 TxIEn InterruptEn 0x06, bit 4 TxIRq InterruptRq 0x07, bit 4 表8-3:中断相关寄存器 9 TIMER 9.1 概述 FM1702/1704/1705 包含一个 TIMER,选择芯片 13.56MHz 时钟的不同分频作为 计时时钟。微处理器可以按需要将其配置为: z Timeout-Counter z Watch-Dog Counter z Stop Watch z Programmable One-Shot z Periodical Trigger TIMER 可以用来计算两个事件的时间间隔或标识某一事件在某一精确的时间后 发生。TIMER 可以被若干事件触发,但不会影响任何事件的进行。TIMER 相关 的标识位也可以被用来产生中断请求 9.2 TIMER 应用 9.2.1 控制 TIMER TIMER 的主要部分是一个自减计数器。只要该计数器值不为 0,就会在时钟控 制下做自减操作。如果 AutoRestart 置 1,则 TIMER 不会自减到 0。当 TIMER 计 数到 1 时会在下一个时钟自动加载 TimerReolad 寄存器的值 TIMER 将 TimerReload 寄存器的值加载后自动开始运行,这可由下列事件触发: z 开始发送第一个 bit(TxBegin 事件)并且 TStartTxBegin 置 1 z 发送完最后一个 bit(TxEnd 事件)并且 TStartTxEnd 置 1 z TStartNow 被微处理器置 1 注意:TIMER 被触发后都会从 TimerReload 寄存器装载初始值,重新开始倒计数 TIMER 可以被下列事件停止: z 收到第一个 bit(RxBegin 事件)并且 TStopRxBegin 置 1 z 接收器接收结束(RxEnd 事件)并且 TStopRxEnd 置 1 z TIMER 自减到 0 并且 TAutoRestart 置 0 z TStopNow 被微处理器置 1 写一个新的数据到 TimerReload 寄存器并不立即影响计数器,TimerReload 寄存 器只在 TIMER 下一次重新开始时改变 TIMER 的初始值。所以 TimerReload 寄存 器可以在 TIMER 运行过程中被赋值。 如果 TIMER 是被 TstopNow 位停止的,则不会发出 TimerIRq 请求 9.2.2 TIMER 时钟周期 TIMER 时钟由芯片 13.56MHz 时钟分配得到。由 TPreScaler 寄存器决定分频数: 1 2T Pr eScaler TTimerClock = = f TimerClock 13.56MHz TPreScaler 寄存器范围从 0 到 21,对应 TTimerClock 从 74ns 到 150ms 从上一个开始事件到目前的时间范围为 74ns 到 40s,计算公式如下: TTimer = T Re loadValue − TimerValue fTimerClock 9.2.3 TIMER 状态 SecondaryStatus 寄存器里的 TRunning bit 位标识了当前 TIMER 的状态。任何事 件触发 TIMER 启动后,TRunning 标识置 1,TIMER 停止后,TRunning 置 0。 Running 标识置 1 的下一个时钟起 TimerValue 开始自减。当前 TIMER 值可从 TimerValue 寄存器读出。 9.3 TIMER 用途 9.3.1 TIMER-OUT 和 WATCH-DOG-COUNTER TIMER 启动后自动从 TimerValue 开始递减,如果定义好的结束事件(如接收到 第一个 bit)发生,TIMER 就停止,没有 TIMER 中断产生。 另一方面,如果结束事件没有发生(如卡在规定的时间内没有回发数据),则 TIMER 一直计数到 0 并产生中断请求,这个中断可以通知微处理器预期的事件 没有在规定的时间内发生 9.3.2 STOP WATCH 微处理器可以计算 TIMER 开始到结束之间的时间: VT = (T Re loadvalue − Timervalue )*TTimer 9.3.3 PROGRAMMABLE ONE-SHOT TIMER 微处理器启动 TIMER 后等待 TIMER 的中断,在规定的时间后中断会出现 9.3.4 PERIODICAL TRIGGER 若微处理器将 TAutoRestart 置 1,则会周期性(TTimer)的产生中断请求 9.4 TIMER 相关寄存器 标识 寄存器 地址 寄存器,bit位 TautoRestart TimerClock 0x2A, bit 5 TimerValue TimerValue 0x0C, bits 7-0 TimerReloadValue TimerReload 0x2C, bits 7-0 TpreScaler TimerClock 0x2A, bits 4-0 Trunning SecondaryStatus 0x05, bit 7 TstartNow Control 0x09, bit 1 TstartTxBegin TimerControl 0x2B, bit 0 TstartTxEnd TimerControl 0x2B, bit 1 TstopNow Control 0x09, bit 2 TstopRxBegin TimerControl 0x2B, bit 2 TstopRxEnd TimerControl 0x2B, bit 3 表 9-1:TIMER 相关寄存器 10 省电工作模式 Hard Power Down 模式 10.1 在 RSTPD 上加高电平就进入到 Hard Power Down 模式。这将关闭所有的内部电 流消耗包括振荡器。所有的数字输入驱动器与输入管脚分离而由内部决定电平 (RSTPD 自身除外)。所有输出管脚电平被固定在某一值。 如下表所示: 符号 管脚位置 类型 OSCIN 1 I 没有与输入分离, 被拉到 AVSS IRQ 2 O 高阻 MFIN 3 I 与输入分离 MFOUT 4 O 低 TX1 5 O 高 TX2 7 O 低 NWR 9 I 与输入分离 NRD 10 I 与输入分离 NCS 11 I 与输入分离 13 to 20 I/O 与输入分离 ALE 21 I 与输入分离 A0 22 I/O 与输入分离 A1 23 I 与输入分离 A2 24 I 与输入分离 AUX 27 O 高阻 RX 29 I 不变 VMID 30 A 拉到 AVDD RSTPD 31 I 不变 OSCOUT 32 O 高 D0 to D7 描述 表 10-1: 在 Hard Power Down 方式下管脚信号 10.2 Soft Power Down 模式 当 Control 寄存器的 PowerDown 位被置为 1 之后,芯片立即进入 Soft Power Down 模式。所有的内部电流都被关断(包括振荡器驱动)。 与 Hard Power Down 模式不同,数字输入驱动没有与输入管脚分离,依然保持工 作状态。数字输出管脚保持原有状态。 当 Control 寄存器的 PowerDown 位复位之后, 需要 512 个时钟周期退出 Soft Power Down 模式,由 PowerDown 标志来标示。对这一位复位并不能立即清除它,当 退出 Soft Power Down 模式后它会自动清零。 注意:如果使用内部振荡器,必须考虑到它由 AVDD 供电,到振荡器稳定且时 钟周期能被内部逻辑电路检测到必定会有一定的延迟 tOSC。 10.3 Stand By 模式 当 Control 寄存器的 StandBy 位被置为 1 之后,芯片立即进入 Stand By 模式。所 有的内部电流都被关断(包括除振荡器驱动外所有的内部时钟驱动)。 与 Hard Power Down 模式不同,数字输入驱动没有与输入管脚分离,依然保持工 作状态。数字输出管脚保持原有状态。 与 Soft Power Down 模式不同,振荡器不需要恢复时间。 当 Control 寄存器的 StandBy 位复位之后,OSCIN 管脚上需要经过 4 个时钟周期 才能退出 Stand By 模式,由 StandBy 标志来标示。对这一位复位并不能立即清除 它,当退出 Stand By 模式后它会自动清零。 10.4 接收器关闭 在不需要的时候关闭接收器,在数据接收之前打开接收器可以降低功耗。在将 RxAutoPD 设置成 1 之后可以自动实现这一功能。如果将这一位设置成 0,则接 收器一直处于工作状态。 11 启动过程 启动过程如下图所示: 图 11-1 启动过程 11.1 Hard Power Down 阶段 在下列情况下会进入 Hard Power Down 阶段 z 由于 DVDD 管脚上加电引起的上电复位(在 DVDD 低与数字电路复位阀值 电压时启动) z 由于 AVDD 管脚上加电引起的上电复位(在 AVDD 低与模拟电路复位阀值 电压时启动) z 在 RSTPD 管脚上加高电平(当 RSTPD 管脚上电平为高时启动) 11.2 复位阶段 复位阶段自动跟随 Hard Power Down 阶段。一旦振荡器工作稳定,需要 512 个时 钟周期完成该状态。在复位阶段,一些寄存器的值由硬件预置。相应的寄存器复 位值在介绍寄存器时已经给出(见 5.2 章)。 注意:如果使用内部振荡器,必须考虑到它由 AVDD 供电,到振荡器稳定且时 钟周期能被内部逻辑电路检测到必定会有一定的延迟 tOSC。 11.3 初始化阶段 初始化阶段自动跟随复位阶段,需要 128 个时钟周期。在初始化阶段,EEPROM 的第 1 和第 2 扇区内容被复制到 10hex 至 2Fhex 寄存器。 注意:在产品测试时,FM1702/1704/1705 被初始化成默认值,这有助于最大限 度的减少微处理器对芯片的配置工作。 11.4 初始化并行接口方式 为了配合不同微处理器的不同接口方式(参见 4.3),必须进行一次初始化程序以 便相应的微处理器接口能够被探测到,而且可以同步微处理器和 FM1702/1704/1705 的启动工作。 在整个启动过程中,Command 寄存器的值始终为 3Fhex。在初始化阶段结束后, FM1702/1704/1705 自动进入 Idle 状态,Command 寄存器的值随之变成 00hex。 执行下列程序确保能够准确探测微处理器接口: z z z 读 Command 寄存器,直到 6 比特值变成 00hex。此时内部初始化阶段已经 结束,芯片准备好接收外部指令。 往 Page 寄存器写 80hex 初始化微处理器接口 读 Command 寄存器,如果它的值为 00hex,则微处理器的接口已经成功探 测。 完成接口初始化之后,可以通过往 Page 寄存器写 00hex 切换到线性寻址方式。 12 振荡器电路 图 12-1:晶振连接方法 在同步时序电路中,提供给 FM1702/1704/1705 的时钟作为编码和解码的时基。 因此,稳定的时钟频率对于正常的工作至关重要。最好使用内部时钟振荡器以及 推荐的电路来满足这一要求。如果使用外部时钟源,时钟信号必须加到 OSCIN 管脚。在这种情况下,必须注意时钟的占空比以及抖动,时钟信号的品质必须得 到保证。时钟信号应该满足 22.5.3 中所要求的。 注意:我们不推荐使用外部时钟源。 13 发射管脚 TX1 和 TX2 从 TX1 和 TX2 发射出去的是调制过的 13.56MHz 载波信号。辅以几个无源器件 来匹配和滤波,它就可以直接驱动天线(见 18 章)。为此,输出电路的内部阻抗 被设计得非常小。通过配置 TxControl 寄存器可以控制 TX1 和 TX2 的输出信号。 13.1 配置 TX1 和 TX2 下表说明了 TX1 的可能配置情况: TxControl 配置情况 包络信号 TX1 上的信号 0 X 低 1 0 低 1 1 13.56 MHz 载波 TX1RFEn 表 13-1:配置管脚 TX1 下表说明了 TX2 的可能配置情况: TX2RFEn TX2CW InvTX2 包络 信号 0 X X X Register Configuration in TxControl 低 0 调制后 13.56 MHz 的信号 1 13.56 MHz 载波 0 调制后 13.56 MHz 的信号, 与 TX1 有 180° 相移 1 13.56 MHz 载波, 与 TX1 有 180° 相移 0 X 13.56 MHz 载波 1 X 13.56 MHz 载波, 与 TX1 有 180° 相移 0 0 1 1 TX2 上信号 1 表 13-2:TX2 管脚的配置 13.2 工作距离与功耗的关系 用户可以通过调整天线驱动电压 TVDD,在最大工作距离和使用不同的天线匹配 电路的功耗之间找到一个平衡点。 13.3 脉冲宽度 通过将数据按照 Miller 码编码,数据信息包含在包络中传输到卡。而且,Miller 码的每一个停顿也被编码成特定长度的脉冲。通过配置 ModWidth 寄存器可以调 整这一脉冲的宽度。参考下面的公式: TPulse = 2 其中,fc=13.56MHz。 ModWidth + 1 fc 14 接收电路 14.1 概述 FM1702/1704/1705 采用了正交解调电路来解调 RX 脚上的 ISO 14443 标准的副载 波信号。ISO 14443-A 副载波信号是 Manchester 编码、ASK 调制信号。正交解 调器使用两个不同的时钟:Q 时钟和 I 时钟(相差 90 度)。两路副载波信号被放大、 滤波后经相关/求值/数字化电路解调后送入数字模块。 在信号处理过程中可以进行各种调整获得最佳性能。 14.2 信号接收过程 接收过程包括以下几个步骤: 首先对 13.56MHz 的载波信号进行正交解调,建议 Q 时钟进行自动校准(见 14.3.1) 获得最佳效果, 解调后的信号被增益可调的放大器放大。相关电路计算了接收信 号与预期值的相似度,Bit phase 寄存器决定了发射器和接收器时钟的相差。在求 值和数字化电路中检测有效比特且把结果送入 FIFO 寄存器。 14.3 接收器操作 通常,缺省设置可以使 FM1702/1704/1705 与卡进行数据传输。然而,在一些特 定环境里用户设置可以获得更好的效果。 14.3.1 Q 时钟自动校准 接收器正交解调的概念是产生 I 时钟和与之相差 90 度的 Q 时钟。为了获得最佳 的解调性能,Q 时钟和 I 时钟必须相差 90 度。FM1702/1704/1705 复位后自动进 行校准。 ClkQCalib 值为 0 时, Transceive 命令结束后可以进行自动校准; ClkQCalib 值为 1 时, 禁止了除复位外所有的自动校准。也可以由软件通过设置 ClkQCalib 为 1 来进行自 动校准。 Q 时钟自动校准持续 65 个振荡周期(约 4.8µs), ClkQDelay 值正比于 Q 时钟与 I 时 钟的相差, 状态标识 ClkQ180Deg 表明 Q 时钟与 I 时钟的相差超过 180 度。 注意: z 复位初始值设置了复位后 Q 时钟为自动校准。 z ClkQCalib 设置为 1 可以永久禁止自动校准。 z 可以通过微处理器向 ClkQDelay 写数据,目的是为了禁止自动校准且通过软 件进行预设置。注意,通过软件设置延迟值时 ClkQCalib 必须已经被设置为 1 且至少经过了 4.8µs 的时间间隔。如果 ClkQCalib 为 0 时,设置的延迟值将 在下一个自动校准阶段被刷新。 14.3.2 放大器 解调信号经过可调放大器的放大可以进行性能优化。通过 Gain[1:0]寄存器调 整放大器的增益,下面是可选的增益因子: 寄存器设置 增益因子 [dB] (模拟结果) 0 20 1 24 2 31 3 35 表14-1:内部放大器的增益因子 14.3.3 相关电路 相关电路计算了接收信号与期望信号之间的匹配度, 包括Q和I两路通道。对于每 一路输入信号,相关器有两路输出,所以共有四个输出信号。相关电路需要卡信 号的相位信息来进行性能优化, 该信息由微处理器通过寄存器BitPhase [7:0]来设 置, 该值确定了发射器与接收器时钟的相位关系(tBitPhase =1/13.56 MHz的倍 数)。 14.3.4 求值及数字化电路 对 Manchester 码信号的每个 bit-half, 相关结果被求值。求值及数字化电路从两个 bit-half 的信号强度确定该比特是否有效,如果有效则确定它的值或是否包含冲 突。 为了优化,用户可以选择下面的标准: z MinLevel:确定了强 bit-half 有效的最低信号强度。 z CollLevel:确定了弱 bit-half 产生冲突的最低信号强度。如果信号强度低 于该值,1 和 0 可以确定。 CollLevel 确定了相应于强 half-bit 幅度的最低信号强度。 数据传输结束后,卡必须要在一定时间间隔(帧保护时间, ISO14443 标准)后才可 以发送响应,通过 RxWait 寄存器设置该时间长度, RxWait 寄存器确定数据传输给 卡后几个比特时间打开接收机。 如果 RcvClkSelI 寄存器设置为 1,相关器和求值电路采用 I 时钟;如果设置为 0,则 采用 Q 时钟。 注意: 建议使用默认的 Q 时钟。 15 串行信号开关 15.1 概述 FM1702/1704/1705 包括两个主要模块:数字模块(包括状态机、编码器和解码逻 辑等),模拟模块(包括调制器、天线驱动器、接收机和放大电路)。这两模块的接 口设计可以将接口信号送入 MFIN 和 MFOUT 脚。 该结构可以将 FM1702/1704/1705 的模拟部分连接到另一个器件的数字部分。 注意: 根据 ISO14443A 标准, MFIN 脚只能加载 106 kbaud 的信号; MFOUT 脚 只能输出 106 kbaud 的 Manchester 副载波和 Manchester 信号 图 15-1: 串行信号开关 图 15-1 描述了时序信号开关,其采用三种类型的开关来使用不同配置下的 FM1702/1704/1705 串行信号开关也可以在设计期间使用或用来测试检查发射及接收的数据。21.2 节描述了模拟测试信号及在该开关上的测试。 下面几节描述了用来配置和控制时序信号开关的相关寄存器。 15.2 时序信号开关的相关寄存器 DecoderSource 标识确定内部 Manchester 解码器输入信号的方式: 解码器输入信号 DecoderSource 0 常数 0 1 模拟部分的输出,缺省配置。 2 直接连接到MFIN, Manchester 码信号调制的847.5 kHz副载波 信号。 3 直接连接到MFIN, Manchester 码信号。 表15-1:DecoderSource值 ModulatorSource 确定了所发射的 13.56MHz 载波的调制信号,该信号驱动 TX1 及 TX2 脚: 调制器的输入信号 ModulatorSource 0 常数 0 ( TX1及TX2脚无载波 ). 1 常数 1 (TX1及TX2脚有持续的载波). 2 内部编码器的调制信号(包络), 缺省配置. 3 直接连接到MFIN, Miller 码信号. 表15-2:ModulatorSource值 MFOUTSelect 选择输出到 MFOUT 脚的信号: 输出到MFOUT脚的信号 MFOUTSelect 0 低电平 1 高电平 2 内部编码器的调制信号 (包络). 3 发射的时序数据流 (与MFOUTSelect= 2相同, 但是还没有 Miller编码). 5 副载波解调器的输出信号 (Manchester 编码的卡信号). 6 备用 7 备用 表15-3:MFOUTSelect值 注意:若要使用MFOUTSelect, 测试信号控制位SignalToMFOUT必须设置为0. 15.3 MFIN 及 MFOUT 的使用 有源天线的概念 15.3.1 FM1702/1704/1705 模拟模块可以通过 MFIIN 及 MFOUT 脚来使用, 相关的寄存 器设置为: 寄存器 赋值 信号 FM1702/1704/1705 脚 ModulatorSourc e 3 Miller编码 MFIN MFOUTSelect 4 副载波Manchester编码 MFOUT DecoderSource X - - 表15-4:使用FM1702/1704/1705模拟模块的寄存器设置 另一方面, FM1702/1704/1705 数字模块可以通过 MFIIN 及 MFOUT 脚来使用, 相 关的寄存器设置为: 寄存器 赋值 信号 FM1702/1704/1705 脚 ModulatorSourc e X - - MFOUTSelect 2 Miller编码 MFOUT DecoderSource 2 副载波Manchester编码 MFIN 表15-5: 只使用FM1702/1704/1705数字模块的寄存器设置 用上述方式配置的两个 FM1702/1704/1705 器件可以通过 MFOUT 及 MFIN 脚相 互连接起来。 注意:根据 ISO14443A, 有源天线概念只有在 106kbaud 波特率下才可以使用。 15.3.2 驱动两个 RF 部分 可以将一个有源天线连接到 TX1、TX2 及 RX 脚(通过合适的滤波及匹配电路), 同 时将另一个有源天线连接到 MFOUT 及 MFIN 脚。 在此结构下,一个微处理器依此驱动两个 RF 部分。 16 1702/1704/1705 指令集 16.1 概述 FM1702/1704/1705 的行为由一个内部状态机决定,该状态机可执行一组专门的 指令集。将某条指令代码写入指令寄存器可启动一个相应的命令的执行。 某些指令执行需携带参数和(或)数据,这些参数和数据主要通过 FIFO 进行交 换。 16.2 命令行为简介 z z z z 需要将数据流作为输入的命令会直接处理它在 FIFO 缓存找到的数据。 需要特定数量的参数的命令只有在接收到数量正确的参数后,才会开始 执行。 在开始执行命令时 FIFO 缓存不会自动清空,因而,可以先将部分参数 和(或)数据写入 FIFO 缓存,然后再开始命令的执行,同时写入剩余 的参数和(或)数据。 由微处理器写入指令寄存器新的指令代码例如:Idle-Command 可以中断 当前正在执行的除了 StartUp-Command 之外的任何命令. 16.3 FM1702/1704/1705 命令简介 16.3.1 基本说明 指令 代码 (16 进 制) 功能 通过 FIFO 传递的 参数和数据 返回的 数据 见相关 的章节 StartUp 3F 运行复位和初始化过程 注意:软件不能执行这条命 令,只能通过上电或冷复位来 做。 - - 16.3.2 Idle 00 空指令,用来取消当前命令执 行。 - - 16.3.3 Transmit 1A 发送 FIFO 缓存数据 数据流 - 16.4.1 16 激活接收电路。 注意:内部状态机等待配置在 RxWait 寄存器中的时间过去 后,才能真正启动接收 注意:这条命令和 Transmit-Command 没有时序 关系,所以可以单独用于测试 目的。 - 数据流 16.4.2 1E 发送 FIFO 缓存数据,发送完 后自动激活接收电路。 注意:内部状态机等待配置在 RxWait 寄存器中的时间过去 后,才能真正启动接收 注意:这条命令是发送和接收 的组合。 数据流 数据流 16.4.3 01 从 FIFO 缓存读取数据,并且 写入内部 E2PROM。 起始地址 LSB 起始地址 MSB 数据流 - 16.5.1 03 从内部 E2PROM 读取数据,并 且写入 FIFO 缓存。 注意:密钥不能读出。 起始地址 LSB 起始地址 MSB 字节数 数据流 16.5.2 命令 Receive Transceive WriteE2 ReadE2 基本说明(续上页) LoadKeyE2 LoadKey 0B 19 将密钥从 E2PROM 复制到 key 缓存。 起始地址 LSB 起始地址 MSB - 16.8.1 将密钥从 FIFO 缓存复制到 key 缓存。 Byte0(LSB) Byte1 … Byte10 Byte11(MSB) - 16.8.2 - 16.8.3 Authent1 0C 执行 Crypto1 算法的认证过程 的第一步。 卡认证命令 卡的块地址 卡序列号的 LSB 卡序列号的 Byte1 卡序列号的 Byte2 卡序列号的 MSB Authent2 14 执行 Crypto1 算法的认证过程 的第二步。 - - 16.8.4 LoadConfig 07 从 E2PROM 读取数据,用于初 始化寄存器。 起始地址 LSB 起始地址 MSB - 16.6.1 12 激活 CRC 协处理器。 注意:CRC 计算结果可从 CRCResultLSB 和 CRCResultMSB 寄存器中读 到。 数据流 - 16.6.2 CalcCRC 表 16-1:FM1702/1704/1705 命令说明 16.3.2 命令 StartUp STARTUP COMMAND 3FHEX 指令代码 (16 进制) 功能 通过 FIFO 传递 的参数和数据 返回的 数据 3F 运行复位和初始化过程。 注意:软件不能执行这条命令, 只能通过上电或硬件复位来做。 - - StartUp-Command 运行复位和初始化过程,无需发送或接收数据。不能被微处理 器激活,只能在发生下列事件后自动启动: z DVDD 管脚上引起上电复位 z DVDD 管脚上引起上电复位 z RSTPD 管脚上下降沿 在复位过程中,异步复位定义特定寄存器位;初始化过程中,用 E2PROM 中的 值定义特定寄存器。 当 StartUp-Command 结束后,Idle-Command 自动插入。 注意: z 微处理器不准在 FM1702/1704/1705 正在执行 StartUp-Command 时进行写 入 操 作 。 微 处 理 器 需 读 取 命 令 寄 存 器 (Command-Register) 中 是 否 为 Idle-Command 以确保 StartUp-Command 操作结束。(见 11.4 章) z 当 StartUp-Command 执行时,只能读 page0 中的寄存器。 z StartUp-Command 不能被微处理器中断。 16.3.3 IDLE COMMAND 00HEX 命令 指令代码 (16 进制) 功能 通过 FIFO 传递 的参数和数据 返回的 数据 Idle 00 空指令,用来取消当前命令执行。 - - Idle-Command 将 FM1702/1704/1705 切换到空闲状态,在这个状态中等待下一条 命令。无需发送或接收数据。当前指令执行完成后,FM1702/1704/1705 自动进 入空闲状态,同时将 IdleIRq 位置起来发出中断申请。如果由微处理器执行,可 以取消当前正在执行的除了 StartUp-Command 之外的任何命令,但此时中断申请 不会发出。 注意:用 Idle-Command 中断命令不会同时清 FIFO 中数据。 16.4 通讯命令 FM1702/1704/1705 全兼容 ISO14443,因此该读卡机芯片指令集非常灵活和全面。 以下几个章节会讨论和卡通讯的命令,最后是三重认证过程。 16.4.1 TRANSMIT COMMAND 1AHEX 命令 指令代码 (16 进制) Transmit 1A 功能 发送 FIFO 缓存数据 通过 FIFO 传递的 参数和数据 返回的数据 数据流 - Transmit-Command 从 FIFO 缓存中去数据然后传递到发送器。无需返回数据。只 能由微处理器启动 16.4.1.1 使用 Transmit-Command 从下列中选择发送数据的顺序: 1. 当 处 于 空 闲 状 态 时 , 将 所 有 需 要 发 送 的 数 据 写 入 FIFO , 而 后 , 将 Transmit-Command 的指令码写入命令寄存器,启动发送。 注意:这种方法最大可传输 64 字节。 2. 先将 Transmit-Command 的指令码写入命令寄存器。由于 FIFO 中无数据,则 虽然发送使能,但发送过程只有等 FIFO 中写入第一字节数据才被启动。微 处理器必须及时写入下一数据以保证在 RF 界面上有数据流传递。 注意:此方法可以传递任意长度数据流,不过要求数据及时写入 FIFO 缓存。 3. 当 处 于 空 闲 状 态 时 , 将 部 分 需 要 发 送 的 数 据 写 入 FIFO , 而 后 , 将 Transmit-Command 的 指 令 码 写 入 命 令 寄 存 器 , 启 动 发 送 。 如 果 当 前 FM1702/1704/1705 处于 Transmit-Command 工作状态中,则可以由微处理器 向 FIFO 写入数据,发送器则可以将这些数据添加到发送的数据流中。 注意:此方法可以传递任意长度数据流,不过要求数据及时写入 FIFO 缓存。 如果发送器为保证 RF 界面上数据流的连续性,请求发送下一数据,但 FIFO 中 为空,则 Transmit-Command 自动停止,内部状态机由发送状态跳回空闲状态。 注意:如果微处理器将写入 Idle-Command 和其他命令写入命令寄存器,覆盖了 Transmit-Command,下一个时钟发送即停止。这会导致不符合 ISO14443-A 的信 号产生。 16.4.1.2 RF 通道冗余校验及帧格式 每次发送的帧由 SOF(帧头)、数据流、EOF(帧尾)三个阶段依次构成,可以 通过 PrimaryStatus-Register 的 ModemState (见 16.4.4 章)来观察这些不同阶段。 如果 ChannelRedundancy-Register 的 TxCRCEn 位被置起,则 FM1702/1704/1705 计算出 CRC 添加到数据流后。CRC 计算方法由 ChannelRedundancy-Register 中 设置决定。产生奇偶校验也由 ChannelRedundancy-Register 中的设置(ParityEn 位和 ParityOdd 位)决定。 16.4.1.3 发送面向位的帧 通过将 TxLastBits 位设为非 0 值,发送器可以配置成最后发送一个不完整的字节。 见下图: 图 16-1 :发送面向位的帧 上图也同时展示了如果如果 ChannelRedundancy-Register 的 ParityEn 位被置起, 所由完整传送的字节都由奇偶校验位,但最后一个不完整的字节没有。发送结束 后,TxLastBits 位被自动清成 0。 注意:如果 TxLastBits 位不为 0,则必须通过清 ChannelRedundancy-Register 的 TxCRCEn 位来禁止 CRC 产生。 16.4.1.4 发送长于 64 字节的帧 为发送长于 64 字节的帧,微处理器需在 Transmit-Command 执行时向 FIFO 继续 写入数据,内部状态机在开始发送数据流的最后一前时会检查 FIFO 的状态。如 下图: 图 16- 2:发送面向字节的帧的时序 只要内部信号‘Accept Further Data’为 1,写入 FIFO 的数据就会被添加到发送数 据流后。如果为 0,则发送结束,此时才写入的数据不会被发送,而只保留在 FIFO 缓存中。 注意:如果使能奇偶校验位的产生(即 ParityEn 位被置起),奇偶校验位时是最 后一位被发送的,这样会使‘Accept Further Data’信号多持续一位时间。 如果 TxLastBits 位不为 0,最后一字节不被完整发送,而只发送 TxLastBits 位定 义的起始于最低有效位的位数。 这样,内部状态机会提前检查 FIFO 状态,如下图: 图 16-3:发送面向位的帧的时序 在上图的例子中,发送 Bit 3 后停止。如果经过配置,会加上 EOF。 上图还显示了在 FIFO 状态在被检测前 FIFOData-Register 正好有一个写操作, 这就造成了‘FIFO empty’信号再次跳为 0,由此内部信号‘Accept Further Data’维 持为 1,刚写的一个字节则通过 RF 界面被发送出去。 信号‘Accept Further Data’只能由‘Check FIFO empty’功能改变。这个功能作用是 在预期发送的最后一位前一位检测‘FIFO empty’信号。 帧定义 检测位置 8 位,带奇偶校验 第8位 8 位,不带奇偶校验 第7位 x 位, 不带奇偶校验 第(x - 1)位 16.4.2 RECEIVE COMMAND 16HEX 命令 指令代码 (16 进制) Receive 16 功能 激活接收电路。 通过 FIFO 传递的 参数和数据 返回的数据 - 数据流 Receive-Command 激活接收电路,所有从 RF 界面接收的数据可通过 FIFO 返回。 可由微处理器启动,也可由执行 Transceive-Command 自动启动。 注意:这条命令和 Transmit-Command 没有时序关系,所以可以单独用于测试目 的。 16.4.2.1 使用 Receive-Command Transmit-Command 启动后,每一个位时钟会使 RxWait-Register 中的值减一。当 从 3 减到 1 使,模拟部分的接收电路准备好并被激活。当计数值到 0,接收电路 开始监视从 RF 界面接收的信号。如果信号电平超过 MinLevel-Register 中定义的 水平时,接收电路于是开始译码。如果在接收电路探测到输入管脚 Rx 再也没有 信号,则结束接收,译码器会置起 RxIRq 位表示申请中断。 检测 PrimaryStatus-Register 的 ModemState,可监视发送过程的不同阶段。(见 16.4.4 章) 注意:由于 RxWait-Register 中必须计数从 3 到 0 以有时间初始化模拟部分的接收 电路,所以该寄存器至少置 3。 16.4.2.1 RF 通道冗余校验及帧格式 译码器在开始接收数据流等待 SOF。当检测到,它就激活串变并转换器并收集输 入的数据位。每一个完整的字节都被传递到 FIFO。如果检测到 EOF 或者输入信 号电平低于 RxThreshold-Register 中定义的 MinLevel 值时,接收和译码停止, Idle-Command 自动插入,随之产生给微处理器的中断申请并置起相应状态标志。 如果 ChannelRedundancy-Register 的 RxCRCEn 位被置起,接收到的数据中应包 括 CRC 块,块的大小由 ChannelRedundancy-Register 的 CRC8 位决定是一个或 两个字节。 注意:如果接收到的 CRC 块正确,就不会将它传递到 FIFO 缓存。这通过将收 到的数据串行移过一个一字节或两字节(由定义的 CRC 方法决定)长的内部缓 存实现。CRC 块将保留在内部缓存中,最后在延迟一个或两个字节时间后,FIFO 中含有除了 CRC 块的所有数据。如果 CRC 校验失败,则将所有数据包括错误的 CRC 块送入 FIFO。 ChannelRedundancy-Register 中的 ParityEn 位置起,收到的每一字节后应当跟一 个奇偶校验位。如果 ParityOdd 位置起,预期的校验为奇校验,否则为偶校验。 16.4.2.2 冲突检测 在选卡阶段,如果有不止一张的卡,就会同时应答。FM1702/1704/1705 支持 ISO14443-A 规定的算法,通过所谓防冲突循环来解决卡序列号的数据冲突问题。 该算法的基础是检测位冲突。 现在使用的位编码机制即 Manchester-coding 支持位冲突检测。如果在某位的前 半和后半部分都检测到副载波调制,就会发送不是一个 1 或一个 0 而是一位冲突 信号。FM1702/1704/1705 使用 CollLevel 的设置来区分 1 或 0 和一个位冲突,即 当一位收到的数据中较小的半位大于 CollLevel 的定义,则说明检测到一个位冲 突。 如果数据位检测到一个位冲突,则错误标志 CollErr 置起;如果检测到奇偶校验 有一个位冲突,则错误标志 ParityErr 置起。 接收电路不受检测到的冲突位的制约,继续接收输入的数据,译码器会发送 1 给检测到冲突的位。 注:作为例外,如果 ZeroafterColl 位置起,所有第一个冲突位后接收到的位无论 冲突或不冲突,都被强制为 0。这个特点可以简化软件实现兼容 ISO14443-A 防 冲突机制。 当帧的第一位冲突被检测到,该位位置会存放在 CollPos-Register。 冲突位对应值如下: 冲突位 CollPos-Register 的值 SOF 0 LSByte 的 LSBit 1 … … LSByte 的 MSBit 8 第二个 Byte 的 LSBit 9 … … 第二个 Byte 的 MSBit 16 第二个 Byte 的 LSBit 17 … … 表 16- 1:位冲突位置的返回值 由于奇偶校验位的冲突根据定义跟随在数据位的冲突后,所以奇偶校验位不包括 在 CollPos 中。如果在 SOF 中检测到位冲突,则报告帧错误,而且没有数据传递 到 FIFO,在这种情况下,接收电路继续监视输入信号直到收到错误输入数据流 的结尾,产生正确的通知信号给微处理器。这将帮助微处理器决定什么时候允许 发送数据给卡。 16.4.2.3 接收面向位的帧 接收电路可以处理含有不完整字节的数据流,支持面向位的帧需使用以下值: z z RxAlign 给第一个输入字节选择一个位偏移量,例如:如果 RxAlign 被设 为 3,前 5 位被传递到 FIFO 缓存,接下来的位按字节打包并传递。完成 接收后,RxAlign 被自动清空。 TxLastBits 位返回最后接收一字节的有效位数,例如:如果在接收命令结 束后 TxLastBits 位等于 5,说明最低 5 位有效。 只有帧错误标志 FrameErr 没有置起,TxLastBits 位才有效;如果 RxAlign 不为 0 且 ParityEn 有效,第一个奇偶校验位会被忽略而不被校验。 16.4.2.4 通讯错误 下表列出了错误标志建立条件: 原因 置起的标准位 接收的数据没有 SOF FramingErr CRC 块不等于计算值 CRCErr 接收到数据长度小于 CRC 块 CRCErr 奇偶校验位不等于计算值 ParErr 检测到冲突 CollErr 表 16- 2:通讯错误 16.4.3 TRANSCEIVE COMMAND 1EHEX 命令 指令代码 (16 进制) 功能 通过 FIFO 传递的 参数和数据 返回的数 据 Transceive 1E 发送 FIFO 缓存数据,发送 完后自动激活接收电路。 数据流 数据流 Transceive-Command 先执行 Transmit-Command(见 16.4.1 章),然后自动启动 Receive-Command(见 16.4.2 章),所有需发送的数据传递到 FIFO 缓存,所有接 收的数据也传递到 FIFO 缓存。它只能由微处理器启动。 注意:RxWait 寄存器定义发送最后一位到激活接收电路的时间,可用来调整发送 和接收之间的时序关系,此外,BitPhase 寄存器定义发送电路和接收电路时钟之 间的相移。 16.4.3.1 与卡通讯的状态 发送器和接收器的实际状态可从通过 PrimaryStatus-Register 的 ModemState 得 知。 下列是 ModemState 内部状态分配如下表: ModemState 状态名 描述 000 Idle 由于发送器和接收器被启动或接收器没有输入数据,所 有都不在工作状态。 001 TxSOF 发送 SOF 010 TxData 发送 FIFO 里的数据(或冗余检查位) 011 TxEOF 发送 EOF GotoRx1 当接收器启动,通过中间状态 GotoRx2 当接收器结束,通过中间状态 101 PrepareRx 等待 RxWait 寄存器定义的时间。 110 AwaitingRx 接收器激活;在 Rx 引脚等待输入信号 111 Receiving 100 接收数据 表 16-3:ModemState 含义 16.4.3.2 与卡通讯的状态机 图 16-4:与卡通讯的状态机 16.5 E2PROM 访问命令 16.5.1 WRITEE2 COMMAND 01HEX 16.5.1.1 概述 命令 WriteE2 指令代码 (16 进制) 功能 通过 FIFO 传递的参数和数 据 返回的 数据 01 从 FIFO 缓存读取数 据,并且写入内部 E2PROM。 起始地址 LSB 起始地址 MSB 数据流 - WriteE2-Command 将 FIFO 中前两个字节看作 E2PROM 开始地址,余下的任何 数据被看作数据并对 E2PROM 从给定的开始地址开始编程。该命令不返回数据。 它只能由微处理器启动,而且不能自动停止,只能用微处理器插入 Idle-Command 中止。 16.5.1.2 编程过程 在一个编程周期内可对 E2PROM 的一个到 16 个字节进行编程,一个编程周期所 需时间为 8ms。 内部状态机将在 FIFO 中准备的数据复制到 E2PROM 数据缓存,E2PROM 数据缓 存为 16 个字节,正好等于 E2PROM 块的大小。当 E2PROM 数据缓存写满或 FIFO 中数据全部读出,启动一个编程周期。 只要在FIFO缓存中有未处理的字节或处于一个编程周期中,标志E2Ready为0。 如果FIFO中所有数据都编程进E2PROM,E2Ready置为1,同时中断申请标志TxIRq 也置1,用来产生编程结束的中断。 E2Ready 置为 1,可用用微处理器插入 Idle-Command 中止 WriteE2-Command。 注意:当E2Ready为0时,E2PROM还处在编程过程中,WriteE2-Command不可以 被任何命令中断。 16.5.1.3 时序图 下图以写 5 个字节为例说明了编程过程: 图 16-5:E2PROM 编程的时序图 解释:假定 FM1702/1704/1705 在微处理器写入 Byte 1 之前只读到 Byte 0(tprog,del = 300 ns),FM1702/1704/1705 开始了一次 8ms 的编程过程,同时微处理器将 Byte 1 到 Byte 4 写入 FIFO。假定开始地址 16CHEX,Byte 0 存放在此;然后 FIFO 中 的数据再复制到 E2PROM 数据缓存,拷贝到 Byte 3 时,FM1702/1704/1705 发现 此时 E2PROM 地址为 16FHEX,已经到了 E2PROM 块的最后一字节了。所以下次, Byte 4 被编程至地址 170HEX。最后一个字节编程完后,标志位 E2Ready 和 TxIRq 置起,表示当前编程过程结束。 虽然所有数据都已写入 E2PROM,但 WriteE2-Command 不会自动退出。如果此 时写入新的数据到 FIFO,编程过程就会在地址 171HEX 继续。使用 Idle-Command 可以使其退出。 16.5.1.4 WriteE2-Command 相关错误标志 E2PROM 第 0 块(地址 00HEX ~ 0FHEX)禁止编程,如果对这些地址编程就会 造成错误标志 AccessErr 置起,也不会有编程过程启动。若地址超过 1FFHEX,则 将其和 1FFHEX 相与后作为实际的操作地址(要了解 E2PROM 组织结构,参见第 6 章) 。 16.5.2 READE2 COMMAND 03HEX 16.5.2.1 概述 命令 ReadE2 指令代码 (16 进制) 功能 通过 FIFO 传递的参数和数 据 返回的 数据 03 从内部 E2PROM 读取 数据,并且写入 FIFO 缓存。 起始地址 LSB 起始地址 MSB 字节数 数据流 ReadE2-Command 将 FIFO 中前两字节作为 E2PROM 读操作的起始地址。下一个 字节指定要读出的字节数。 当在 FIFO 中有以上三个参数后,从起始地址开始指定字节数从 E2PROM 读出到 FIFO 缓存。 ReadE2-Command 只能由微处理器启动,当指定数据读出后自动中止执行。 16.5.2.2 READE2-Command 相关错误标志 禁止读 E2PROM 地址 08HEX ~ 1FHEX(密钥 key 保存区),如果读这些地址,就 会造成错误标志 AccessErr 置起。。若地址超过 1FFHEX,则将其和 1FFHEX 相与后 作为实际的操作地址(要了解 E2PROM 组织结构,参见第 6 章)。 16.6 其他命令 16.6.1 LOADCONFIG COMMAND 07HEX 16.6.1.1 概述 命令 指令代码 (16 进制) 功能 通过 FIFO 传递的参数 和数据 返回的 数据 LoadConfig 07 从 E2PROM 读取数据,用 于初始化寄存器。 起始地址 LSB 起始地址 MSB - LoadConfig-Command 将 FIFO 中前两个字节作为 E2PROM 读操作的起始地址, 当 FIFO 中的两个参数有效时,从 E2PROM 该起始地址开始的 32 字节会复制到 FM1702/1704/1705 控制和配置寄存器内。LoadConfig -Command 只能由微处理器 启动,当所有相关寄存器配置后自动中止执行。 16.6.1.2 寄存器分配 从 E2PROM 该起始地址开始的 32 字节会复制到 FM1702/1704/1705 地址为 10HEX ~ 2FHEX 的寄存器内(要了解 E2PROM 组织结构,参见第 6 章)。 注意:寄存器分配的过程和芯片初始化的过程是相同的(见 11.3 章)。不同点在 于,芯片初始化时 E2PROM 起始地址固定为 10HEX(第 1 块,Byte 0),而 LoadConfig-Command 可以选择起始地址。 16.6.1.3 LOADCONFIG-Command 相关错误标志 合法的 E2PROM 起始地址为 10HEX ~ 60HEX。 禁止复制 E2PROM 块 08HEX ~ 1FHEX(密钥 key 保存区)的内容,如果读这些 地址,就会造成错误标志 AccessErr 置起。若地址超过 1FFHEX,则将其和 1FFHEX 相与后作为实际的操作地址(要了解 E2PROM 组织结构,参见第 6 章)。 16.6.2 CALCCRC COMMAND 12HEX 16.6.2.1 概述 命令 指令代码 (16 进制) CalcCRC 12 功能 通过 FIFO 传递的 参数和数据 返回的 数据 数据流 - 激活 CRC 协处理器。 CalcCRC-Command 把 FIFO 中所有数据作为 CRC 协处理器输入字节,所有在命 令启动前存放在 FIFO 中的数据都会被处理。该命令不返回通过 FIFO 任何数据, CRC 寄存器的内容可从 CRCResultLSB 和 CRCResultMSB 寄存器中读到。它只能 由微处理器启动,而且不能自动停止,只能用微处理器插入 Idle-Command 中止。 如果 FIFO 中没有数据,在停止前 CalcCRC-Command 会一直等待有新的数据写 入 FIFO 作为输入。 16.6.2.2 CRC 协处理器设置 使用 CRC 协处理器前,需配置下列参数: 参数 值 位 寄存器 CRC 寄存器长度 8 位或 16 位 CRC CRC8 ChannelRedundancy CRC 算法 符合 ISO14443-A 或 ISO/IEC3309 的算法 CRC3309 ChannelRedundancy CRC 复位值 任意 CRCPresetLSB CRCPresetMSB CRCPresetLSB CRCPresetMSB 表 16-4 :CRC 协处理器相关参数 8 位 CRC 多项式为:x8 + x4 + x3 +x2 + 1。 16 位 CRC 多项式为:x16 + x12 + x5 + 1。 16.6.2.3 CRC 协处理器的状态标志 状态标志 CRCReady 表示 CRC 协处理器已处理完所有 FIFO 中的数据。当 CRCReady 置起,TxIRq 会置起产生中断申请,支持 CRC 协处理器的中断驱动的 使用方法。 当 CRCReady 和 TxIRq 置为 1,CRCResultLSB、CRCResultMSB 寄存器和标志 CRCErr 分别有效。 CRCResultLSB、CRCResultMSB 寄存器保存 CRC 寄存器的内容,标志 CRCErr 指示处理数据的正确性。 16.7 命令执行过程中的错误处理 如果命令执行中产生错误,通过将 PrimaryStatus 寄存器内的状态标志 Err 置起 来表示,微处理器通过读 ErrorFlag 中的状态标志可以知道错误产生的原因。 ErrorFlag 寄存器中的错误标志 相关命令 KeyErr LoadKeyE2, LoadKey AccessError WriteE2, ReadE2, LoadConfig FIFOOvl 没有特定的命令 CRCErr Receive,Transceive,CalcCRC FramingErr Receive,Transceive ParityErr Receive,Transceive CollErr Receive,Transceive 表 16-5:错误标志纵览 16.8 安全命令 16.8.1 LOADKEYE2 COMMAND 0BHEX 16.8.1.1 概述 命令 指令代码 (16 进制) 功能 通过 FIFO 传递的 参数和数据 返回的 数据 LoadKeyE2 0B 将密钥从 E2PROM 复制到 key 缓 存。 起始地址 LSB 起始地址 MSB - LoadKeyE2-Command 将 FIFO 中前两字节作为 E2PROM 读操作的起始地址。 E2PROM 起始地址开始的字节作为密钥,需符合 6.4.1 规定的正确密钥格式。当 FIFO 中有两个字节数据后,该命令则启动。LoadKeyE2-Command 只能由微处理 器启动,当整个密钥复制从 E2PROM 到密钥缓存区后自动中止执行。 16.8.1.2 LOADKEYE2-Command 相关错误标志 如果密钥的格式不正确(见 6.4.1),密钥缓存区保存的是一个未定义的值,同时 KeyError 置起。 16.8.2 LOADKEY COMMAND 19HEX 16.8.2.1 概述 命令 LoadKey 指令代码 (16 进制) 19 功能 通过 FIFO 传递的 参数和数据 返回的 数据 将密钥从 FIFO 缓存复制到 key 缓 存。 Byte0(LSB) Byte1 … Byte10 Byte11(MSB) - LoadKey-Command 将 FIFO 中前十二个字节作为密钥,需符合 6.4.1 规定的正确 密钥格式。 当 FIFO 中有十二个字节后,如果检查后格式合法则被拷贝到密钥缓存区。 (见 17.2)。 LoadKey-Command 只能由微处理器启动,当整个密钥复制从 FIFO 到密钥缓存区 后自动中止执行。 16.2.2.2 LOADKEY-Command 相关错误标志 所有所需的数据被从 FIFO 复制到密钥缓存区后,如果密钥的格式不正确(见 6.4.1 章),密钥缓存区保存的是一个未定义的值,同时 KeyError 置起。 16.8.3 AUTHENT1 COMMAND 0CHEX 16.8.3.1 概述 命令 Authent1 指令代码 (16 进制) 0C 功能 通过 FIFO 传递的 参数和数据 返回的 数据 执行 Crypto1 算法的认证过程的 第一步。 卡认证命令 卡的块地址 卡序列号的 LSB 卡序列号的 Byte1 卡序列号的 Byte2 卡序列号的 MSB - Authent1-Command 是一条特殊的 Transceive-Command:它需要 6 个参数,前两 个参数被发送到卡,卡的回发不传递给微处理器,而用作检验卡的真实性和证明 FM1702/1704/1705 对卡的真实性。 Authent1-Command 只能由微处理器启动,该命令状态转换同 Transceive-Command (见 16.4.3 章)。 16.8.4 AUTHENT2 COMMAND 14HEX 16.8.4.1 概述 命令 指令代码 (16 进制) 功能 通过 FIFO 传递的 参数和数据 返回的 数据 Authent2 14 执行 Crypto1 算法的认证过程的 第二步。 - - Authen2-Command 是 一 条 特 殊 的 Transceive-Command 。 无 需 任 何 参 数 , FM1702/1704/1705 内部产生需发送给卡的数据。卡的回发不传递给微处理器, 而用作检验卡的真实性和证明 FM1702/1704/1705 对卡的真实性。 Authent2-Command 只能由微处理器启动,该命令状态转换同 Transceive-Command (见 16.4.3 章)。 16.8.4.2 AUTHENT2-Command 的作用 如果 Authen2-Command 通过,卡和 FM1702/1704/1705 的认证都通过,于是控制 位 Crypto1On 自动置位。该位置起后,所有与卡的通讯都使用 Crypto1 算法加密 后进行。如果 Authen2-Command 失败,Crypto1On 自动清零。 注:标志 Crypto1On 不能用软件置位,只有通过 Authen2-Command 后硬件置位 才行。软件可以清该位使以后的通讯恢复成明文。 注意:Authen2-Command 必须在 Authent1-Command 成功通过后执行(见 16.8.3 章),此外,密钥缓存区的密钥必须和卡上的相同。 17 认证及数据加密传输 17.1 概述 FM1702/1704/1705 使用的认证算法称为三重认证。它基于密钥长度为 48 比特的 私有加密数据流。如欲获取标准卡片的数据,有关相应密要的知识是必需的。为 了能够成功进行卡的认证以及后续对储存于卡 EEPROM 中的数据进行操作, FM1702/1704/1705 必须能够获得正确的密钥。当一张卡按照 ISO14443A 协议被 选中后,用户可以按照标准协议继续操作。这种情况下,必须执行卡片认证。这 一过程在执行 Authent1(参考 16.8.3)和 Authent2(参考 16.8.4)指令时自动完 成。在卡认证的过程中,加密算法被初始化,在成功认证之后与卡的通讯处于加 密状态。 17.2 密钥处理 在认证指令执行过程中,FM1702/1704/1705 从内部密钥缓冲器中读取密钥。密 钥总是从密钥缓冲器中获取。因此认证指令无需指明密钥存储地址。当然,在认 证指令开始之前,用户必须保证在密钥缓冲器中已经准备好了密钥。 密钥缓冲器可以通过一下方式加载: z 用LoadKeyE2指令从E²PROM中加载 z 直接由外部处理器通过LoadKey指令从FIFO中加载 17.3 操作三重认证指令 三重加密算法被用于执行标准认证。在密钥缓冲器中必须储存准确的密钥以便能 够进行成功的认证操作。 步骤 1: 步骤 2: 步骤 3: 通过 LoadKeyE2(参见 16.8.1)或者 LoadKey(参见 16.8.2)加载密 钥到内部密钥缓冲器; 启动 Authent1 指令(参见 16.8.3),结束以后,检查错误标志来判断 执行结果; 启动 Authent2 指令(参见 16.8.4),结束以后,检查错误标志以及 Crypto1On 标志来判断执行结果。 17.4 认证算法 FM1702/1704/1705 分别支持不同的三重认证算法: 型号 支持的认证算法 FM1702 支持 MIFARE 标准三重认证算法 FM1704 支持 SH 标准的三重认证算法 FM1705 支持 MIFARE 和 SH 标准的三重认证算法, 通过 31 寄存器进行配置 表 17-1:FM1702/1704/1705 支持的认证算法 对于 FM1705 芯片,用户可以通过 31hex 寄存器来切换认证算法: 认证算法 31hex 00 兼容 MIFARE 标准的三重认证算法 01 兼容 SH 标准的三重认证算法 表 17-2:FM1705 认证算法选择 18 典型应用 18.1 电路图 下面是典型应用电路图,天线直接连接到 FM1702/1704/1705 图 18-1:应用电路示例:直接天线连接 匹配电路包含一个 EMC 低通滤波器,一个接收电路,天线匹配电路以及天线 18.2 电路描述 18.2.1 EMC 低通滤波器 FM1702/1704/1705 系统工作于 13.56MHz 频率下,这一频率产生于一个石英晶体 振荡器,用于驱动 FM1702/1704/1705 并且提供给天线 13.56MHz 的载波。但是 除了 13.56MHz 以外,还会有能量以高次谐波的方式往外发射。国际 EMC 规则 规定了在一个宽频范围内发射能量的大小,因此,必须要有一个合适的滤波器过 滤输出信号以满足此规定。 我们强烈推荐使用多层板来实现上述电路的滤波器。低通滤波器由 L0 和 C0 组 成,它们的值由下表给出。 注意:为了得到最好的效果,所有器件的质量至少要达到下表所推荐的范围。 18.2.2 接收电路 FM1702/1704/1705 的内部接收电路利用卡的回应信号在副载波的双边带上都有 调制这一概念来进行工作。我们推荐时用芯片内部产生的 VMID 作为 RX 管脚输 入信号的偏置。为了稳定 VMID 的输出,必须在 VMID 和 GND 之间连接一个电 容 C4。接收电路需要在 RX 和 VMID 之间连接一个分压电路。上面的电路图展 示了一个推荐的接收电路。这个接收电路由 R1、R2、C3 和 C4 组成。其值由下 表给出。 器件 值 备注 L0 1.0uH±10% 如 TDK 1R0J C0 136pF±2% NP0 材料 R1 1kΩ±5% R2 820Ω±5% C3 68nF±2% NP0 材料 表 18-1:EMC 滤波器和接收电路元件值 注意:不推荐适用 X7R 材料的电容 18.3 计算天线线圈的电感 精确计算天线线圈的电感值在实践上石非常困难的,但是可以用下面的公式估 算。我们建议天线采用圆环状或者矩形设计。 l1 …… 一圈导线的长度 D1 …… 导线直径或者 PCB 板敷铜的宽度 K …… 天线形状系数(圆环状:K=1.07;矩形:K=1.47) ln …… 自然对数 18.3.1 直接连接天线的阻抗匹配 我们推荐使用图 20-1 所示的电路设计天线直接连接的匹配电路。电容 C1 和 C2a、 C2b 的取值依赖于天线的电性能以及环境影响。 下表所示电容值只是一个参考。事实上,它们只是用于调试时的起始值。 天线线圈电感 [uH] C1 [pF] C2a [pF] C2b [pF] 0.8 15 270 330 0.9 15 270 270 1.0 15 220 270 1.1 15 180//22 220 1.2 15 180 180//22 1.3 15 180 180 1.4 15 150 180 1.5 15 150 150 1.6 15 120//10 150 1.7 15 120 150 1.8 15 120 120 表 18-2:匹配电路的电容取值 然而,为了优化性能,准确地取值必须通过调试来获得。 上面的表格假设天线线圈的分布电容有 15pF。电容 C1、C2a 和 C2b 应该采用 NP0 电介质而且误差在±2%之内。 实际的天线电感和电容值取决于很多情况比如: z z z z z 天线的电阻(PCB 类型) 导体的厚度 线与线之间的距离 保护层材料 附近的金属或者铁氧体 19 测试信号 19.1 概述 FM1702/1704/1705 提供各种信号测试,这些测试可以通过 15 章中所述的一系列 信号选择开关来检查内部产生的和接收到的信号。 此外,用户通过配置相应的寄存器,可以在 AUX 管脚上观察相应的芯片内部的 模拟信号,也可以在 MFOUT 管脚上观察相应的芯片内部的数字信号。这些测试 方法有益于设计阶段优化接收器的工作状况或者仅仅为了测试。 19.2 利用串行信号切换开关进行测试 通过串行信号切换开关,用户可以在 MFOUT 管脚上观测到发送到卡和从卡接收 到的数据。下表列出了可观测到的信号。 SignalToMFOUT MFOUTSelect 连接到 MFOUT 管脚的信号 0 0 低电平 0 1 高电平 0 2 包络信号 0 3 发射出去的 NRZ 编码 0 4 带载波的 Manchester 编码 0 5 Manchester 编码 0 6 保留 0 7 保留 1 * 数字测试信号 表 19-1:连接到 MFOUT 管脚的信号 注意:只有在 106k 波特率,符合 ISO14443A 标准的情况下,MFOUT 管脚才能 输出 Manchester 编码和带载波的 Manchester 编码。 19.2.1 TX 控制 下图显示了利用串行信号切换来控制 MFOUT 上测量的发送到卡的信号。将 MFOUTSelect 设置为 3,则发送到卡的信号以 NRZ 的形式表现;MFOUTSelect 设置为 2,则发送到卡的信号以米勒编码的形式表现。 直接在天线上测得的 RF 信号显示了 RF 信号的波形 图 19-1:TX 控制信号 19.2.2 RX 控制 下图显示了卡回应 REQUEST 指令的开始部分。RF 信号直接从天线上测量,从 上面可以看到调制信号。MFOUTSelect 设置成 4 显示带载波的 Manchester 解调 信号;MFOUTSelects 设置成 5 显示 Manchester 解调信号。 图 19-2:RX 控制信号 20 电性能 20.1 极限参数 符号 参数 MIN MAX 单位 Tamb,abs 存储温度 -40 +150 °C DVDD AVDD TVDD 直流供电电压 -0.5 6 V Vin,abs 所有数字管脚对 DVSS 绝对电压 -0.5 DVDD + 0.5 V VRX,abs RX 管脚对 AVSS 绝对电压 -0.5 AVDD + 0.5 V 表 20-1:极限参数 20.2 工作条件 符号 参数 条件 MIN TYP MAX 单位 Tamb 环境温度 - -25 +25 +85 °C DVDD 数字电路供电电压 DVSS = AVSS = TVSS = 0V 3.0 3.3 3.6 V 4.5 5.0 5.5 V AVDD 模拟电路供电电压 DVSS = AVSS = TVSS = 0V 4.5 5.0 5.5 V TVDD 发射电路供电电压 DVSS = AVSS = TVSS = 0V 3.0 5.0 5.5 V 表 20-2:工作条件 20.3 工作电流 符号 IDVDD IAVDD 参数 数字电路工作电流 模拟电路工作电流 条件 TYP MAX 单位 Idle 指令 6 9 mA Stand By 模式 3 5 mA Soft Power Down 模式 800 1000 µA Hard Power Down 模式 1 10 µA Idle 指令, 接收器打开 25 40 mA Idle 指令, 接收器关闭 8 12 mA Stand By 模式 6.5 9 mA Soft Power Down 模式 1 10 µA Hard Power Down 模式 1 10 µA 150 mA MIN 发射连续载波 ITVDD 发射电路工作电流 TX1 和 TX2 悬 空 TX1RFEn, TX2RFEn= 1 4.5 6 mA TX1 和 TX2 悬 空 TX1RFEn, TX2RFEn= 0 65 130 µA 表 20-3:工作电流 20.4 管脚特性 20.4.1 输入管脚特性 管脚 D0 到 D7,A0 和 A1 有 TTL 输入特性,如下表所示 符号 参数 ILeak 输入漏电流 VT 条件 阀值 MIN MAX 单位 -1.0 +1.0 µA CMOS: DVDD < 3.6 V 0.35 DVDD 0.65 DVDD V TTL: 4.5 < DVDD 0.8 2.0 V 表 20-4:典型输入管脚特性 管脚 NCS,NWR,NRD,ALE,A2 和 MFIN 具有 Schmitt 触发器特性,如下表 所示 符号 参数 条件 ILeak 输入漏电流 VT+ 正向阀值 VT- 负向阀值 MIN MAX 单位 -1.0 +1.0 µA TTL: 4.5 < DVDD 1.4 2.0 V CMOS: DVDD < 3.6 V 0.65 DVDD 0.75 DVDD V TTL: 4.5 < DVDD 0.8 1.3 V CMOS: DVDD < 3.6 V 0.25 DVDD 0.4 DVDD V 表 20-5:具有 Schmitt 触发器的输入管脚特性 RSTPD 具有 CMOS Schmitt 特性。此外,它内部有一个 RC 低通滤波器,因此输 入的复位信号有相应延迟。 符号 参数 ILeak 输入漏电流 VT+ 正向阀值 VT- 负向阀值 tRSTPD,p 传输延迟 条件 MIN MAX 单位 -1.0 +1.0 µA CMOS: DVDD < 3.6 V 0.65 DVDD 0.75 DVDD V CMOS: DVDD < 3.6 V 0.25 DVDD 0.4 DVDD V 20 µs MAX 单位 15 pF 表 20-6:RSTPD 输入特性 模拟输入管脚 RX 具有如下的电容特性 符号 参数 CRX 输入电容 条件 MIN 表 20-7:RX 输入电容 数字输出管脚特性 20.4.2 管脚 D0 到 D7,MFOUT 和 IRQ 具有 TTL 输出特性,如下表所示 符号 VOH VOL IO 参数 输出高电平 输出低电平 输出电流或灌电流 单位 CONDITIONS MIN TYP MAX DVDD = 5 V, IOH= -1 mA 2.4 4.9 V DVDD = 5 V, IOH= -10 mA 2.4 4.2 V DVDD = 5 V, IOL= 1 mA 25 400 mV DVDD = 5 V, IOL= 10 mA 250 400 mV 10 mA DVDD = 5 V 表 20-8:数字输出管脚特性 天线驱动管脚输出特性 20.4.3 天 线 驱 动 管 脚 TX1 和 TX2 的 输 出 电 阻 在 输 出 高 电 平 时 可 以 通 过 配 置 CwConductance 寄存器的 GsCfgCW 来更改,而在输出低电平时,输出阻抗是固 定的。 在默认配置下,输出特性如下表所示 符号 参数 VOH 输出高电平 VOL 输出低电平 ITX 输出电流 CONDITIONS MIN TYP MAX 单位 TVDD = 5.0 V, IOL = 20 mA 4.97 V TVDD = 5.0 V, IOL = 100 mA 4.85 V TVDD = 5.0 V, IOL = 20 mA 30 mV TVDD = 5.0 V, IOL = 100 mA 150 mV 连续载波 表 20-9:天线驱动管脚输出特性 200 mApeak 20.5 交流电性能 20.5.1 交流符号 每一个交流符号由五个字母组成。第一个总是”t”表示时间,另外的字母表示信 号的名称或者那个信号逻辑状态(取决于所处的位置): 标示: 信号: 标示: A 地址 H 高 D 数据 L 低 W NWR 或者 nWait Z 高阻 R NRD 或者 R/NW 或者 nWrite X 任意电平或者数据 L ALE 或者 AS V 任意有效电平或数据 C NCS N NSS S NDS 或 者 nDStrb 或 者 nAStrb, SCK 例如:tAVLL=从地址有效到 ALE 变低的时间 逻辑电平: 20.5.2 交流工作说明 20.5.2.1 独立读/写信号的总线时序 符号 参数 tLHLL tAVLL tLLAX tLLWL tCLWL tWHCH tRLDV tRHDZ tWLDV tWHDX tWLWH tAVWL tWHAX tWHWL ALE 宽度 20 ns 复用地址信号有效到 ALE 变低(地址建立时间) 15 ns ALE 变低到复用数据信号有效 (地址保持时间) 8 ns ALE 变低到 NRD,NWR 变低 15 ns NCS 变低到 NRD, NWR 变低 0 ns NRD, NWR 变高到 NCS 变高 0 ns MIN MAX 单位 NRD 变低到 DATA 有效 65 ns NRD 变低到 DATA 高阻 20 ns NWR 变低到 DATA 有效 35 ns NWR 变高后 DATA 保持时间(数据保持时间) 8 ns NRD, NWR 信号宽度 65 ns 独立地址总线有效到 NRD, NWR 变低 (建立时间) 30 ns NWR 变高后独立地址总线有效时间 (保持时间) 8 ns 150 ns 两次读/写之间的间隔时间 表 20-10:独立读/写信号的时序说明 tLHLL ALE tCLWL tWHCH NCS tLLWL tWHWL tWLWH tWHWL NWR NRD tAVLL D0...D7 tWLDV tRLDV tLLAX Multiplexed Address A0...A2 D0...D7 tAVWL A0...A7 tWHDX tRHDZ tWHAX Separated Address A0...A2 图 20-1:独立读/写信号线时序图 注意:对于独立的地址数据总线,ALE 是无关信号且不关心地址数据是否复用; 对于复用的地址数据总线,A0 到 A2 必须按照 4.3 所述连接。 20.5.2.2 共用读/写信号线的总线时序 符号 参数 MIN tLHLL tAVLL tLLAX tLLSL tCLSL tSHCH tSLDV,R tSHDZ tSLDV,W tSHDX tSHRX tSLSH tAVSL tSHAX tSHSL tRVSL AS 信号宽度 20 ns 复用地址数据总线有效到 AS 变低 (地址建立时间) 15 ns AS 变低后到复用地址数据总线有效(地址保持时间) 8 ns AS 变低到 NDS 变低 15 ns NCS 变低到 NDS 变低 0 ns NDS 变高到 NCS 变高 0 ns MAX 单位 NDS 变低到 DATA 有效 (读周期) 65 ns NDS 变低到 DATA 高阻 (读周期) 20 ns NDS 变低到 DATA 有效 (写周期) 35 ns NDS 变高后数据有效时间(写周期, 保持时间) 8 ns NDS 变高后 R/NW 保持时间 8 ns NDS 信号宽度 65 ns 独立地址有效到 NDS 变低 (建立时间) 30 ns NDS 变高后独立地址有效时间 (保持时间) 8 ns 连续两次读/写的间隔时间 150 ns R/NW 有效到 NDS 变低 8 ns 表 20-11:共用读/写信号时序说明 tLHLL ALE tCLSL tSHCH NCS tRVSL tSHRX R/NW tLLSL tSHSL NDS tAVLL D0...D7 tSLSH tSLDV,R tSLDV,W tLLAX Multiplexed Address A0...A2 tSHDX tSHDZ D0...D7 tAVSL A0...A7 tSHSL tSHAX Separated Address A0...A2 图 20-2:共用读/写总线时序图 注意: 对于独立的地址数据总线,ALE 是无关信号且不关心地址数据是否复用; 对于复用的地址数据总线,A0 到 A2 必须按照 4.3 所述连接。 20.5.2.3 EPP 总线时序 符号 参数 MIN tLLLH tAVLH tLHAX tCLSL tSHCH tSLDV,R tSHDZ tSLDV,W tSHDX tSHRX tSLSH tRVSL tSLWH tSHWL nAStrb 信号宽度 20 ns 复用地址数据总线有效到 nAStrb 变高 (建立时间) 15 ns nAStrb 变高后复用地址数据总线有效时间(保持时间) 8 ns NCS 变低到 nDStrb 变低 0 ns nDStrb 变高到 NCS 变高 0 ns MAX 单位 nDStrb 变低到数据有效 (读周期) 65 ns nDStrb 变低到数据高阻 (读周期) 20 ns nDStrb 变低到数据有效 (写周期, 建立时间) 35 ns nDStrb 变高后数据保持事件 (写周期, 保持时间) 8 ns nDStrb 变高后 nWrite 保持时间 8 ns nDStrb 信号宽度 65 ns nWrite 有效到 nDStrb 变低 8 ns nDStrb 变低到 nWait 变高 75 ns nDStrb 变高到 nWait 变低 75 ns 表 20-12:EPP 总线时序说明 tCLSL tSHCH NCS tRVSL tSHRX nWrite tSLSH nDStrb nAstrb D0...D7 tSLDV,R tSLDV,W tSHDX tSHDZ AD0...AD7 tSLWH tSHWL nWait 图 20-3:EPP 总线时序图 注意: 上图没有区分写地址周期和写数据周期。应该考虑到地址周期和写数据 周期是有所不同的。在 EPP 方式下 A0 到 A2 必须按照 4.3 中所述连接。 20.5.2.4 SPI 接口时序 符号 参数 MIN tSCKL tSCKH tSHDX tDXSH tSLDX tSLNH SCK 低电平宽度 100 ns SCK 高电平宽度 100 ns SCK 高到数据改变 20 ns d 数据改变到 SCK 变高 20 ns SCK 低到数据改变 MAX 15 SCK 低到 NSS 变高 单位 ns 20 ns 表 20-13:SPI 时序说明 tSCKL SCK tDXSH tSCKH tSCKL tSLDX tSHDX tDXSH MOSI MSB LSB MISO MSB LSB tSLNH NSS 图 20-4:SPI 时序图 说明:如果要在一个数据流里传输更多 byte 的数据,NSS 必须始终为低。在传 输多于一个的数据流时,在数据流之间 NSS 必须为高。 20.5.3 时钟频率 1 号管脚为时钟输入管脚,OSCIN 参数 符号 时钟频率 (由时钟滤波器检测) fOSCIN 占空比 dFEC 时钟沿波动 tjitter MIN TYP MAX 13.56 40 50 单位 MHz 60 % 10 ps 21 E²PROM 特性 E²PROM 大小为 32x16x8 = 4096 bit. 符号 参数 tEEEndurance tEERetention tEEErase tEEWrite 数据擦写次数 数据保存时间 条件 Tamb ≤55°C MIN MAX 单位 100.000 擦/写次数 10 年 擦时间 4 ms 写时间 4 ms 表 21-1:E²PROM 特性 22 封装 芯片采用 SOP32 封装 图 23-1:SOP32 封装
FM1702NL 价格&库存

很抱歉,暂时无法提供与“FM1702NL”相匹配的价格&库存,您可以联系我们找货

免费人工找货
FM1702NL
  •  国内价格
  • 1+28.85760
  • 10+25.23960
  • 30+21.40560

库存:6