微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ARM的双频RFID读写系统设计解析方案

基于ARM的双频RFID读写系统设计解析方案

时间:02-07 来源:互联网 点击:

执行了以上3 个步骤。为防止死锁,本文设置每步操作的最大次数为3 次,若3次不成功则寻卡失败。

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 实时时钟显示功能

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

3.6 PC 机软件

PC 机软件基于windows 操作系统,采用Visual C# 2005 进行编程。该软件不但能再PC机上现实操作面,与ARM 嵌入式系统通信实现对RFID 卡的读写操作,将相关信息显示在PC机上,而且还能访问数据库并读取存入,或将取出的数据写入RFID 卡,供用户查询。数据库采用Microsoft office Access 数据库系统,并采用结构化查询语言对数据库访问。

4 结束语

本文以 ARM 微处理器S3C44B0X 为核心,设计实现了RFID 双频读写器系统。在对高频RFID 卡的寻卡过程中,通过对最大操作次数的限制,有效地防止了死锁。系统具有LCD 显示器,通过键盘操作便可对RFID 卡的进行读写。设计的USB 接口可方便地与PC机连接,在PC 机上实现对RFID 卡的操作。系统功能强,使用灵活,可满足多种应用场合。由于采用了低成本的ARM 微处理器,简化了硬件,提高了系统的性价比。

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

网站地图

Top