系统设计
系统框图如图1所示,系统由MCU、键盘、EEPROM、FMl702SL、液晶屏、485通信模块组成。MCu控制FMl702对Mifare卡进行读写操作,再根据得到的相应数据对液晶屏、EEPROM进行相应的操作。MCU 与PC机通过485,总线通信,即使PC机与MCU之间通信发生异常,MCU也可以独立工作,在与PC机通信恢复之后,MCU可以将备份在EEPROM中的信息再传给PC机。
P8912C931是一款单片封装的微控制器。P89LPC931采用了高性能的处理器结构,指令执行时间只需2~4个时钟周期。P89LPC931集成了许多系统级的功能,这样可大大减少元件的数目和电路板面积,并降低系统的成本。EEPROM用的是FM24C64L,它是一款以I2C为操作方式的存储芯片。液晶驱动芯片是PCF8576,也是以I2C为操作方式。整个系统用12V电源供电,再由稳压芯片2576稳压成3.6V。
工作原理
Mifare卡包含一片容量为8K位EEPROM,为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位,每个扇区有独立的一组密码及访问控制。每张卡有唯一序列号,为32位。无电源,自带高频天线,内含加密控制逻辑和通讯逻辑电路。
信息存储在Mifare卡里,读写器与Mifare卡通过各自的天线建立起二者之间非接触信息传输通道。当Mifare卡进人系统的工作区域时,读写器向Mifare卡发一组固定频率的电磁波,Mifare卡内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,Lc谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或读取读写器的数据。通过调整天线驱动电压可以改变通信的最长距离。
FMl702SL与MCU的接口电路
过SPI总线通信的,采用中断工作模式。需要注意的是在FMl702SL复位后,必须进行一次初始化程序以便初始化SPI接口模式,而且可以同步MCU和FMl702SL的启动工作。
读写器天线的设计
根据互感原理可知,半径越大、匝数越多,读写器上的天线和卡上的天线的互感系数就越大。根据国际标准的要求,卡和读写器的通信距离为10cm。天线可等效成R、L、c并联回路,示意图如图3所示,图3中,L为天线的自感,R为天线的等效电阻,C为天线的分布电容。图4为天线的PCB图。
设计天线时还要注意天线的品质因数。国际标准ISOl4443规定无论TYPEA或TYPEB非接触式IC卡,读写器和卡之间的数据传输速度为106kbit/s,载波的频率f0=13.56MHz,因此,每一位的数据维持的时间tO=106/104k=9.44μs,TypeA类射频卡智能卡读写器到射频卡的信号编码是修正米勒编码,传送每一位数具有t=3μs的载波中断,因此,该信号的带宽近似为B=lT=1/3μs=333.333kHz,故天线的品质因数Q= fO/B=13.56 MHz33.333kHz=35,天线的传输带宽与品质因数成反比关系。因此,过高的品质因数会导致带宽缩小,从而减弱读写器的调制边带,会导致读写器无法与卡通信。
读写器对卡的操作流程
FMl702SL内部有8个寄存器页,每页有8个寄存器,每个寄存器有8位数据。这些寄存器是统一编址的,从Ox00~0x3F,MCU通过SPI接口与 FMl702SL通信对这些寄存器进行设置。例如,MCU需要让FMl702SL执行某个命令(Transceive)时,把此命令的代码(1E)写入 Command寄存器就可以了。
必须注意的是,MCU对卡片的操作不是简单的一条指令所能完成的,其中必须有对FMl702SL硬件内部寄存器的设置。操作步骤如图5所示。
(1)复位初始化FMr702SL:初始化FMl702SL的SPI接口,初始化FMl702SL定时器,设置定时器控制寄存器,打开Txl、TX2。
(2)Request(请求):当一张Mifare卡片处在卡片读写器的天线的工作范围之内时,程序员控制读写器向卡片发出R:EQUEsT all(或REQUEsT std)命令。卡片的ATR将启动,将卡片BLOCkO中的卡片类型(TagType)号共2个字节传送给读写器,建立卡片与读写器的第一步通信联络。如果不进行复位请求操作,读写器对卡片的其它操作将不会进行。
(3)Antieollision LOOp(防冲突机制):如果有多张Mifare卡片处在卡片读写器的天线的工作范围之内时,读写器将首先与每一张卡片进行通信,取得每一张卡片的系列号。由于每一张Mifare卡片都具有其唯一的序列号,决不会相同,因此读写器根据卡片的序列号来保证一次只对一张卡操作。该操作读写器得到卡的返回值为卡的序列号。
(4)Select Tag(选择卡片):完成了上述二个步骤之后,读写器必须对卡片进行选择操作。执行操作后,返回卡上的SIZE字节。
(5)Authentication(三次相互验证):经过上述三个步骤,在确认已经选择了一张卡片时,读写器在对卡进行读写操作之前,一必须对卡片上已经设置的密码进行认证。如果匹配,才允许进一步的读写操作。
(6)读写操作:对卡的最后操作是读、写、增值、减值、存储和传送等操作。
关键字:射频读写器 微控制器 FMl702SL 读写器天线
引用地址:
基于FM 1702SL的射频读写器
推荐阅读最新更新时间:2024-05-07 16:20
基于凌阳单片机的语音信号实时采集
摘要:语音信号采集是语音信号处理的基础。本文利用凌阳公司16位单片机——SPCE061A所具有的数字信号处理(DSP)功能及其所提供的音频压缩函数库来实现语音信号的实时采样与压缩;通过RS232接口,将采集到的语音信号实时上传到PC机中存储。
关键词:语音信号处理 RS232 串口通信 语音采样 语音压缩
引言
随着单片机集成化程度的不断提高,现代单片机已经具备了数字信号处理功能,使语音信号处理用单片机实现成为可能。台湾凌阳科技公司(SunPlus)推出的一款SPCE061A就是这样的产品。SPCE061A是以μ"nSP TM16位微控制器及信号处理器芯片为内核的16位单片机,采用模块式集成结构,片内集成了2KB RAM、3
[应用]
飞思卡尔推出Kinetis KL03 MCU
飞思卡尔半导体(纽约证劵交易所:FSL)宣布,其Kinetis微型产品系列推出Kinetis KL03 MCU,即世上最小的、最具能效的、基于ARM®技术的32位MCU。Kinetis KL03 MCU基于上一代Kinetis KL02设备,具备全新的性能、先进的集成特性及更卓越的易用性,并采用尺寸更小的1.6 x 2.0mm2封装。借助Kinetis KL03 设备的全新功能,客户可减小产品尺寸并降低功耗,节省产品设计时间和成本。 Kinetis KL03 MCU采用高级晶圆级芯片封装,比上一代飞思卡尔 KL02设备的尺寸小15%,比32位ARM MCU的尺寸小35%。全新的片上系统(SoC)非常适合空间受限的设计,包括消费电子、
[单片机]
一款基于单片机的脉冲快速充电系统设计
1、开关电源电路的设计 系统中的开关电源电路为蓄电池的充电提供稳定的电压采用的是反激式的开关电源电路。反激式开关电源的电路比较简单,比正激式开关电源少用了一个大的储能滤波电感,以及一个续流二极管,因此,反激式开关电源的体积要比正激式开关电源的体积小,且成本也要低。此外,反激式开关电源输出电压受占空比的调制幅度,相对于正激式开关电源来要高很多,因此,反激式开关电源要求调控占空比的误差信号幅度要比较低,误差信号放大器的增益和动态范围也要较小。基于这些优点,反激式开关电源在目前家电领域中被广泛的应用。如图1所示。 图1开关电源电路 开关电源电路控制芯片采用UC3842,UC3842是目前比较理想的新型的脉宽调制器。由该集成电
[单片机]
【51单片机快速入门指南】2.3:GPIO读取矩阵键盘 8个IO读16键
普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 选自《普中51单片机开发攻略_V1.2》 矩阵键盘介绍 独立按键与单片机连接时,每一个按键都需要单片机的一个 I/O 口,若某单片机系统需较多按键,如果用独立按键便会占用过多的 I/O 口资源。单片机系统中 I/O 口资源往往比较宝贵,当用到多个按键时为了减少 I/O 口引脚,便引入了矩阵按键。 以 4x4 矩阵键盘为例讲解其工作原理和检测方法。开发板上将 16 个按 键排成 4 行 4 列,第一行将每个按键的一端连接在一起构成行线
[单片机]
基于单片机89C51的异步串行接口键盘设计
在信息处理系统中,显示分系统是整个系统的人机界面。显示器画面呈现出的态势图形和数据,是人们决策的重要依据。人工干预手段则是将人们的决策变为系统所能接收信息的必不可少的工具。因此人工干预手段的多寡及有效度直接影响着整个系统的有效度。特别是在处理信息量大,人机交互频繁的系统中,对人工干预手段的要求更高。 笔者结合工作实际,围绕单片机89C51设计了通用异步串行接口键盘作为显示分系统的扩展键盘。目的在于为显示分系统增加一种干预手段。实践表明:此键盘改善了系统的人机界面,提高了系统的处理效率。 1 设计要求与工作原理 1.1 设计要求 (1)扩展键盘键位编码符合显示分系统的约定。 (2)扩展键盘与显示处理机通讯通过其异步串
[单片机]
avr单片机proteus仿真第四课:控制继电器
继电器(Relay),作用是用弱电控制强电。比如,我们用avr单片控制一个220V电压的灯泡,这就必须用到继电器。 本课用avr单片机来控制继电器的吸合与断开。 Proteus仿真实验器件: 1 atmega128一块 2 button,按键一个 3 relay,通用继电器一个,并把继电器的Component Value设置为5V 4 pnp三极管一个 5 LAMP,灯泡一个改为220V 6 resistor 1k 7 DIODE 二极管一个 这个程序实际上很简单,主要要学习继电器的用法,注意的是,继电器必须接一个二极管。 仿真程序如下: #include avr/io.h #include util/delay.h #def
[单片机]
基于51单片机DS1302四位数码管可调时钟
#include reg52.h #define uchar unsigned char #define uint unsigned int sbit sda=P1^0; //ds1302的数据线 sbit clk=P1^1; //ds1302的时钟线 sbit rst=P1^2; //ds1302的复位线 sbit k1=P1^5; //设置/确定 sbit k2=P1^6; //加 sbit k3=P1^7; //切换 uchar code duan_code ={ 0xc0,0xf9,0xa4,0xb0,0
[单片机]
51单片机无条件转移指令(4条)
控制转移 指令 用于控制程序的流向,所控制的范围即为程序存储器区间,MCS-51系列单片机的控制转移 指令 相对丰富,有可对64kB程序空间地址单元进行访问的长调用、长转移指令,也有可对2kB字节进行访问的绝对调用和绝对转移指令,还有在一页范围内短相对转移及其它无条件转移指令,这些指令的执行一般都不会对标志位有影响。 . 无条件转移指令(4条) 这组指令执行完后,程序就会无条件转移到指令所指向的地址上去。长转移指令访问的程序存储器空间为16地址64kB,绝对转移指令访问的程序存储器空间为11位地址2kB空间。 LJMP addr16 ;addr16→(PC),给程序 计数器 赋予新值(16位地址) AJMP addr
[单片机]