微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 射频工程师文库 > 基于ARM的双频RFID读写设计

基于ARM的双频RFID读写设计

时间:01-21 来源:维库电子 点击:

  对 CR013 模块的读写过程相对较复杂,要执行一系列的操作指令,包括询卡、请求、防冲突、选卡、装载密钥、验证密码、读块、写块,这一系列的操作必须按固定的顺序。寻卡时,处理器需要执行请求、防冲突、选卡操作,与CR013 模块建立起通信关系,在通过装载密钥、验证密码操作后,才可进行读卡或写卡操作。

  1)、防冲突

  防冲突就是从多张卡中选出一张卡来操作,又叫防碰撞、防重叠。如果知道卡的序列号,则可跳过此步,直接执行下一步选卡命令。若不知道卡的序列号,则必须调用防碰撞函数,得到感应区内卡的序列号。若同时有多张卡在感应区内,防碰撞函数能检测到,并且从中选出一张卡的序列号来。

  2)、选择卡片

  根据上一步收到的卡号,发出选卡命令。经过这一步后才真正选中了一张要操作的卡,以后的操作都对这张卡进行。

  整个寻卡过程包括请求、防冲突、选卡三个步骤。当微处理器发出寻卡命令时,实际上微处理器执行了以上3 个步骤。为防止死锁,本文设置每步操作的最大次数为3 次,若3次不成功则寻卡失败。程序流程如图3 所示。


图3 CR013 模块寻卡程序流程
3)、密钥装载和验证密码

  微处理器发出读、写命令后,在进行读写操作前必须先执行密钥装载和验证密码。验证密码又叫认证、证实。模块将装载到读卡芯片FM1702SL 中的密码与卡中指定扇区的密码进行认证,如果密码相同,则认证成功,卡允许进行读写操作。

  3.2 LCD 显示软件设计

  LCD 用于显示用户操作界面,为此需要在屏幕上绘制图形,显示数据和文字。在对LCD 控制器进行操作前,首先要对LCD 控制器的专用寄存器进行初始化,内容包括定义3个LCD 控制寄存器,3 个帧缓冲区地址寄存器和3 个颜色查找表寄存器。

  为了在 LCD 上显示字符和图形,需要建立绘图和字符显示库函数。绘图函数包含一些基本的绘图功能,如画点、画线、画矩形框和区域填充等。其中画点是最基本的函数,其它函数都可以调用画点函数实现。

  为了在 LCD 上显示字符,还要建立ASCII 字符和汉字字符的点阵库和显示函数。显示ASCII 字符的原理是在特定的坐标位置画点,形成人们可以识别的字符图形。点的坐标根据建立的ASCII 字符点阵库来确定。ASCII 字符的点阵库可以根据字符的点阵位置生成点阵数组供调用。汉字的显示原理与ASCII 字符相同,事先也要建立汉字点阵字库,这一过程可通过专用的字库生成软件实现。另外,为了节省存储器空间,只需建立本系统要用到的汉字小字库,而不必生成所有常用字的点阵。

  3.3 键盘和指示灯的软件设计

  对键盘和指示灯的操作控制是由 ZLG7290 实现的,由于S3C44B0X 具有I2C 接口,因此可直接与ZLG7290 连接。编程时首先要对 I2C 总线进行初始化,然后打开键盘中断。当键盘有键被按下时,ZLG7290 的INT 引脚会产生一个低电平的中断请求信号。在ARM 的中断程序中通过I2C 总线读取键值,再根据键值完成相应功能。

  3.4 USB 接口通信

  为方便与 PC 机接口,本系统采用应用广泛的USB 接口与PC 机通信。因S3C44B0X 本身不带USB 接口,必须要进行扩展。但是,USB 接口协议非常复杂,固件编程和WDM 驱动程序的编写都是相当麻烦的工作。为降了设计难度,缩短开发周期,本文采用哈尔滨讯通公司的通用串行总线模块USB100。该模块内部封装了USB 协议和细节,即插即用,完全满足USB1.1 标准,对 USB 接口的操作如同对外部存储器操作一样方便,无需任何外接元件。

  USB100 模块有2 根状态信号RXF 和TXE,用于与ARM 联络。RXF 为低表示模块有数据输出,ARM 可以读取数据;TXE 则表示USB100 发送缓冲区的状态,TXE 为低表示USB100 发送缓冲器未满,可以向发送缓冲区写数据。在编程时,可以采用查询方式实现数据的收发。

  3.5 RTC 实时时钟显示功能

  为了显示读卡和写卡的时间,需要使用实时时钟(RTC)。S3C44B0X 具有一个独立的RTC 功能模块,能够像钟表和日历一样保存并自动计算时间。RTC 的寄存器保存了表示时间的8 位BCD 码数据,包括秒、分、时、日、星期、月和年,编程时主要是对这些参数进行初始化设置。在LCD 上显示实时时钟时,需定时地从上述的寄存器中取出相应的数据。由于LCD 上字符是根据ASCII 码显示的,而RTC 的寄存器中存放的时间参数都以 BCD 码形式存储,因此在LCD 显示日期和时间之前,必须先对时间数据进行格式转换,即将BCD码转换为ASCII 码。

  3.6 PC 机软件

PC 机软件基于windows 操作系统,采用Visual C# 2005 进行编程。软件的功能主要包括在PC 机上显示操作面板,通过与 ARM 嵌入式系统通信实现对RFID 卡的读写操作,并将卡的相

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top