基于ARM 技术一卡通消费系统设计
文章出处:http://www.singbon.com 作者:王先彪 人气: 发表时间:2011年12月08日
引言
随着科学技术的不断发展,一卡通系统市场越来越大,而一卡通消费系统作为它的主要组成部分发展却比较慢,早在几年前(甚至更早)的技术架构下发展。为改进现有消费系统,增强市场竞争力,本文提出基于ARM 技术的一卡通消费系统,不仅具有很好的市场效应,还能促进一卡通系统发展。
本设计具备以下特点:
1) 系统处理能力和稳定性有一定提高,系统能管理百万张IC 卡和百万条消费记录,并有快速响应能力;
2) 系统网络得到改善,系统能提供高速、可靠的网络通道,并支持未来的无线通信;
3) 提高了系统性能价格比,非单纯的降低成本;
4) 系统既能工作在联网状态下,也能在脱网状态下正常工作。
1 系统组成
1.1 系统总体设计
硬件设计:如图1 所示,系统采用ARM7 S3C4510B芯片作处理器,使用RTL8201 构成以太网网络通信接口,采用AT89C2051 作为PS/2 键盘输入接口,再配合外部闪速存储器K 9 F 1 2 0 8 和S D R A M 存储器HY57V281620,8 位LED 显示驱动芯片BC7281A 及非接触式IC 卡驱动芯片MFRC500,构成整个电路,它具有可靠性高、处理能力和联网能力强及性能价格比高等优点。
软件设计:除提供现有消费系统的所有功能外还提供32 位的运算能力,系统处理和响应能力提高。此外,系统使用标准的以太网接口和TCP/IP 协议,提供安全、快速的网络联接,因此本系统使用方便,具有很强的通用性和极大的系统拓展性。
1 . 2 系统主芯片介绍
ARM(Advanced RISC Machines)是一个公司名,既是一类微处理器的通称,也是一种技术的名称[ 3 ]。到目前为止,ARM 微处理器技术已广泛应用于工业控制、无线通信、网络、消费类电子产品、成像与安全产品等领域。
RISC 架构的ARM 微处理器具有以下特点:
1)体积小、低功耗、低成本、高性能;
2)支持Thumb(16 位)/ARM(32 位)双指令集,能很好地兼容8 位/16 位器件;
3)精简的指令集,指令执行速度更快;
4)寻址方式灵活简单,执行效率高;
5)嵌入式的ICE-RT 逻辑,程序调试开发方便。32 位ARM微处理器处理能力是8 位单片机系统100倍以上,同时提供丰富的存储器接口,有SRAM、SDRAM、FLASH、NAND FLASH 等,最大化实现系统2 GB 的存储器容量,卡存储量和数据存储能力都十分巨大,系统响应时间也十分快捷。
由于ARM 微处理器的成本价格不断下降,已经接近8 位微处理器的价格,所以,在小型系统的应用中,投入也只是稍有增加。但是,当系统增加到十几个消费点以上,或者系统覆盖区域较大时(超过1 000 m),因为组网的优势,系统的投入成本反而大大下降,同时,工程施工的费用也随之大大降低[ 4 ]。
2 系统软件设计
系统软件主要包括主控程序、读卡程序、通讯程序、显示程序、键盘接口程序等。
2 . 1 主控软件流程
主控软件流程如图2。
2 . 2 读卡模块
IC 卡操作作为软件的一个模块,是直接镶嵌在程序主流程的刷卡操作部分,并通过返回的执行状态可知道执行的结果。首先,程序查询MF RC500 模块的状态,有卡在感应区就开始卡操作流程,否则返回;然后,读入必要的卡信息,并选择要进行操作的卡(因会出现同时有几张卡在感应区的情况);接着对卡的密码进行验证,只有符合本系统发放的密码的卡才能操作,通过密码验证,就可进行卡读、写或其它操作。
2 . 3 通讯模块
1) 发送数据。要发送数据,发送控制寄存器中的发送使能位必须置“1”,发送停止请求位必须清“0”。此外,MAC 控制寄存器中的立即停止位和停止请求位也必须清“0”,这些条件通常在初始化完成以后设置,然后由系统传输字节数据到发送数据缓冲区。
发送状态机开始发送FIFO 中的数据,并保持前64个字节直到本站获得网络控制权。此时,发送模块请求更多的数据并发送,直到到达发送数据包末尾,发送模块添加经过计算的CRC 到数据包的末尾并发送出去,然后设置发送状态寄存器,即表示成功发送。如果中断使能,该操作同时产生一个中断请求。
2) 接收数据。当接收模块使能时,监控从发送模块传来的数据流。接收模块首先检测前导字节,然后在前8 个字节中寻找SFD(10101011),如果不能检测到SFD,就将数据包当作碎片丢弃。然后,接收模块每接收到一个字节就将其存储到接收FIFO 中,同时发出Rx_rdy 接收等待信号。如此不断地接收其后的数据并将其存入接收,直至数据包末尾,如果中断使能,该操作同时产生一个中断请求。
2.4 LED 显示模块
BC7281A 是8/16 位数码管显示专用控制芯片,通过外接LED移位寄存器(典型芯片如74HC164,74LS595等最多可以控制16 位数码管显示或128 只独立的LED,BC7281A 驱动输出极性及输出时序均为软件可控,可以和各种外部电路配合适用于任何尺寸的数码管[ 5 ]。
2 . 5 键盘接口模块
键盘接口设计采用ATMEL 公司的8 位简易型单片机AT89C2051,主要是考虑减轻主CPU 负担和通过PS/2 接口扩展接入其它的输入、识别设备。
3 仿真和调试
3 . 1 软件编制
ARM 提供集成开发工具ARM ADS(ARM DeveloperSuite),现在最新版本支持所有Windows 系列操作系统。ADS 由命令行开发工具、ARM 实时库、GUI 开发环境(Code Warrior 和 AXD)、实用程序和支持软件组成。使用户方便地为ARM 系列的RISC 处理器编写和调试自己的应用程序。
3 . 2 仿真与调试
使用仿真器时,首先通过主机将编译产生的输出文件加载到仿真器上,如图3 所示。
在程序的调试过程中,可以采用设置或清除断点;单步或连续跟踪;修改控制字或程序计数器;观察指针和寄存器的值,将数据区数据用图形输出;查看或修改堆栈内容等方法。只要充分利用这些强大的工具和手段,程序调试就得心应手的顺利实现。
4 结语
基于ARM 微处理器无线产品在市场上十分成熟和畅销,因而采用ARM 微处理器技术的一卡通消费系统,必将领引一卡通消费系统乃至一卡通产品市场,其发展前景是其它一卡通系统所不能比拟的。目前国内一卡通消费系统使用ARM 技术的很少,在校园一卡通系统应用中尚无先例,所以,以上优势使本系统具有很好的市场潜力和投产价值。