当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]针对目前RFID读写器无法随身携带,实现远程的IC卡读写操作的问题,采用GPRS无线网络作为数据传输的载体,实现了无线RFID读写器的开发。采用μC/OS-Ⅱ嵌入式实时操作系统作为读写器终端的软件平台,在ARM7系列微处理器LPC2148上实现了对IC卡的发行、加值、消费、操作记录查询与汇总、数据采集以及无线传输。采用动态密钥加密算法很好地保证了IC卡的数据安全。

传统的RFID读写器多采用有线接入的方式实现与数据中心(上位机)的通信,即使部分RFID读写器终端实现了无线的数据传输,但也多是采用短距离的无线通信方式,最终还是要经过现场的有线设备实现与数据中心的通信,无法满足远距离、跨区域、便携式的RFID读写器的应用需求。本文介绍的无线RFID读写器的开发是以提高系统的稳定性、便携性、安全性为目标,采用嵌入式系统的设计思想,硬件方面使用功能强大的ARM处理器LPC2148,外扩GPRS无线模块实现终端数据的实时上传。LPC2148丰富的IO口资源使其能够外扩更多的外设,保证了终端功能的实现。软件方面引入实时多任务嵌入式操作系统μC/OS-Ⅱ,进行多任务的调度,在提高系统稳定性的同时降低了系统的开发难度。

1 GPRS简介

通用分组无线业务GPRS(General Packet Radio Service)是在现有GSM系统上发展起来的一种新的承载业务,目的是为GSM用户提供分组形式的数据业务,而不需要利用电路交换模式的网络资源,从而提供了一种高效、低成本的无线分组数据业务。GPRS充分利用共享无线信道,实现了与标准Internet的无缝连接,采用IP Over PPP实现数据终端的高速、远程接入。无线GPRS网络所具有的永远在线、按流量计费、传输速率高以及支持X.25和IP协议等突出特点,特别适合于RFID读写器系统这样间断、突发性的数据传输。

2 读写器硬件组成

2.1 硬件系统原理

IC卡无线手持机的硬件系统结构框图如图1所示。图中,LPC2148为终端的主控单元,通过GPIO口与IC卡读卡芯片MF RC500相连实现对IC卡的读写;通过串口1(URRT1)与GPRS模块MC55相连实现GPRS数据传输;系统外扩一块I2C接口的E2PROM芯片24C256,用于存储终端设置参数以及暂存IC卡用户在本机的交易信息;通过LPC2148自带的USB接口实现上位机对读写器相关参数的设置以及交易信息的离线上传。


2.2 读写器的微处理器

 手持机终端系统的核心部分是由LPC2148及其外围电路构成的最小系统电路。LPC2148是基于一个支持实时仿真和嵌入式跟踪的32/16 bit ARM7 TDMI-S CPU的微控制器,并带有32 KB和512 KB嵌入的高速Flash存储器。较小的封装和很低的功耗使得LPC2148特别适用于POS机等小型的应用场合。LPC2148提供多达45个高速GPIO口以及USB2.0全速设备控制器,使其成为本系统设计的理想选择。

2.3 读写器的IC卡读写模块

IC卡读写模块选用Philips公司Mifare卡专用读卡芯片MF RC500及其相关的外围电路、射频天线等,实现手持机与IC卡之间的数据通信。MF RC500是应用于13.56 MHz非接触式通信中高集成读卡IC系列之一,利用了先进的调制和解调概念,在13.56 MHz下,完全集成了所有类型的被动非接触式通信方式和协议,并支持ISO14443A所有的层。

2.4 匹配电路及天线的设计[1]

MF RC500是一个单独的读卡器集成电路,在本系统中,MF RC500与Mifare卡之间的数据交互是通过RF天线来完成的。参照MF RC500数据手册,采用直接匹配的天线,即可实现该读写器与Mifare卡之间的数据通信和能量传递,其推荐的工作距离可达100 mm。直接匹配天线的匹配电路如图2所示,主要包括:

(1)EMC滤波:Mifare系统的工作频率为13.56 MHz,由石英振荡器发生,但它同时也产生高次谐波。为了符合国际EMC规定,13.56 MHz中的3次、5次和高次谐波要被良好地抑制。本系统使用如图2所示的L1、L2、C11、C13组成的低通滤波器来实现EMC滤波。

(2)接收电路:MF RC500的内部接收部分使用了一个新的接收概念,即使用卡响应的副载波负载调制所产生的两个边频带,由图2中的R9、R10、C9、C10组成接收电路。

(3)阻抗匹配:在图2中由电容C11和C13组成,电容的值由天线本身和环境因素来决定,本系统C11、C13均取47 pF。该部分电路主要是为了实现滤波和天线之间的阻抗匹配,以使天线的性能达到最佳。

2.5 读写器无线传输模块

系统的无线数据传输通过内嵌有TCP/IP协议的GPRS模块来实现。目前市场上提供的GPRS无线模块有WAVECOM公司的Q2403B,SIEMENS公司的MC35i、MC39I,摩托罗拉公司的G20等。结合本系统的实际应用,选用了SIEMENS的Sim300。Sim300是新一代的900 MHz/1 800 MHz双频自动选择的无线模块,内嵌有TCP/IP协议栈,无需微处理器的支持即可实现基于TCP/IP的数据传输。其支持标准的AT命令及增强的AT命令监护数据模式,功能强大,操作灵活方便。微处理器可以通过标准串口接口RS232与Sim300通信,为用户提供了标准的AT命令接口,为数据传输提供了快速、可靠、安全的传输通道,用户可以很方便地进行实际应用的二次开发设计。

2.6 读写器人机交互的实现

手持终端人机交互通过外扩的一块I2C接口的数码管驱动及键盘扫描管理芯片ZLG7290,配以8 bit共阴数码管和16个按键实现。ZLG7290是广州周立功单片机发展有限公司研发的数码管驱动及键盘扫描管理芯片,具有I2C总线串行接口,能够提供键盘中断、驱动8 bit共阴数码管和64个按键扫描等功能,并且支持10种数字和21种字母的译码显示功能。

3 读写器软件设计

读写器的软件采用μC/OS-Ⅱ嵌入式实时操作系统作为系统的软件平台,在μC/OS-Ⅱ系统下实现对读写器终端的控制管理。μC/OS-Ⅱ具有较高的可靠性和稳定性,提供了多任务管理功能。系统的各单元部分以单独的任务线程设计,在减少了软件设计的复杂度的同时也增强了软件系统的稳定性。

3.1 μC/OS-Ⅱ嵌入式实时操作系统的移植

要将μC/OS-Ⅱ实时操作系统移植到处理器上,处理器必须满足以下条件[2]:

(1)处理器的编译环境能够产生可以重入的C代码。
(2)用C语言就可以打开或关闭中断。
(3)处理器支持中断处理,并能产生定时中断。
(4)处理器支持能够容纳一定数量的硬件堆栈。
(5)处理器具有将寄存器、堆栈指针读出和存储到堆栈中的指令。

对于ARM7系列的微处理器LPC2148及其开发环境ADS1.2的编译器,完全能够满足上述条件,可以确保μC/OS-Ⅱ在LPC2148上的移植成功。移植工作包括:

(1)用#define设置一个常量的值(OS_CPU.H)。
(2)声明10个数据类型(OS_CPU.H)。
(3)用#define声明3个宏(OS_CPU.H)。
(4)用C语言编写6个简单的函数(OS_CPU_C.C)。
(5)编写4个汇编语言函数(OS_CPU_A.ASM)。

3.2 无线数据传输的软件实现

Sim300中内嵌了TCP/IP协议,并且以AT指令的形式给控制模块提供接入GPRS网络进而接入Internet的API接口。由于该GPRS模块具有自动拨号功能,因此在进行无线数据传输时,不需要通过AT拨号指令连接Internet。读卡器系统在传输数据时对数据准确性的要求相对较高,因此,本设计采用TCP的方式实现读写器终端与系统数据中心之间的数据传输。读写器终端在与数据中心进行数据传输时用到的AT指令如下:

(1)建立TCP连接

AT+CIPSTART=“TCP”,”61.13.48.9”,”2020”
连接数据中心服务器,此处61.13.48.9是服务器的IP地址,2020是端口号。连接成功的返回值是:CONNECT OK。

(2)向服务器发送数据

AT+CIPSEND
>Hello everyone!<Ctrl+Z>
向服务器发送字符串Hello everyone!。发送成功返回值为:OK。

(3)关闭连接

AT+CIPCLOSE
断开与数据中心服务器之间的连接,操作成功返回值为:OK。

(4)关闭移动场景

AT+CIPSHUT
操作成功返回值为:OK。
当服务器端有数据传输到GPRS模块时,数据会通过模块与LPC2148之间的串口接口直接转发给MCU,不需要AT指令操作。

由于该GPRS模块具有上电自动拨号的功能,在程序设计时就不再考虑终端拨号上网的实现。

3.3 MF RC500驱动软件的设计

MF RC500的驱动程序主要是MCU对MF RC500的控制以实现MF RC500与IC卡之间的数据交互,并把相关的数据结果返回给MCU。MCU通过MF RC500与IC卡的数据交换过程如下:

(1)由读写器的MCU发送指令给MCM(MF RC500)。
(2)MCM执行指令,并将其转换为射频信号发送给IC卡。
(3)IC卡接收到来自MCM的指令后,按指令完成其内部的各种处理,并回送应答信号/数据给MCM。
(4)MCM接收卡回送的射频信号,并将其转换为数字信号输出给MCU,MCU读取MCM接收到的应答/数据,即可完成与IC卡的数据交换。

MF RC500实现对IC卡读写的程序流程如图3所示。


3.4 动态密钥加密算法

动态密钥的的基本思想是在保持系统主密钥不变的情况下,每读一次用户卡就使用本次通信中产生的数据A动态地改写用户卡的密钥一次,以此来确保用户卡密钥不断更新,从而不被破解。数据A可以是当前通信时间、操作机具体标识或者随机数的组合。其具体的设计和实现可以参考文献[2]。

本文介绍的利用GPRS无线网络作为数据传输载体,以ARM7系列微处理器LPC2148作为主控单元的无线RFID读写器,具有通用性强、功耗低、便于携带、安装方便等特点。采用μC/OS-Ⅱ多任务实时操作系统,使得读写器终端的稳定性和可靠性均得到了较大的提高,同时程序的模块化设计有利于终端功能的升级与扩展。应用结果表明,该RFID读写器运行稳定可靠、响应速度快、安装和操作方便、便于携带,具有广泛的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

GPRS通信模块是采用高性能工业级无线模块及嵌入式处理器,以实时操作系统作为软件支撑平台,内嵌自主知识产权的TCP/IP协议,为用户提供高速,稳定可靠,永远在线的透明数据传输通道。

关键字: GPRS 通信模块 处理器

在这篇文章中,小编将对GSM模块的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: GSM GSM模块 GPRS

摘要:随着农业生产中对水资源利用率重视程度的不断提升,农业用水的灌溉效率与灌溉渗漏系数测定准确化与规范化越来越重要。为实现渠道水位测量的精确化与自动化,研制开发出一种基于GPRS的渠道水位监测系统。对投入式压力水位检测方...

关键字: GPRS 水位监测 上位机设计

GPS和GPRS,字面上仅仅多了个G,按照中国人捂住一半,读一半的猜字逻辑来看,这两者区别应该是不多的,GPS模块能做的,GPRS模块应该也能干,这显然是个美丽的误会。

关键字: GPS GPRS 通信

摘要:随着农业生产中对水资源利用率重视程度的不断提升,农业用水的灌溉效率与灌溉渗漏系数测定准确化与规范化越来越重要。为实现渠道水位测量的精确化与自动化,研制开发出一种基于GPRS的渠道水位监测系统。对投入式压力水位检测方...

关键字: GPRS 水位监测 上位机设计

摘要:针对目前城市道路井盖安全存在的问题,提出了一种基于ZigBee组网技术监测井盖破损或移位以及丢失的实时监测系统,其由井盖数据采集系统和上位机监测系统两部分构成。井盖数据采集系统由多个ZigBee节点构成,同一个Zi...

关键字: 井盖管理 Zigbee GPRS 实时监测

摘 要:设计一种运行在嵌入式Linux平台下的智能家居控制系统的实现方案,该系统采用ARM9微处理器S3C2440作 为主处理器,通过传感器模块对温度、湿度、烟雾信息等进行检测;通辻USB接口的摄像头采集视频信息,采用J...

关键字: S3C2440 Linux 传感器 GPRS 远程监控

摘要:论述了船舶企业高电耗的主要表现,为了达到船舶建造企业节电增效的目标,利用先进的物联网技术、传感器技术、智能仪表及嵌入式技术,研究并提出了船舶企业电能智能化应用的思路。同时通过对国内外电能研究的综合分析,设计了电能智...

关键字: 电能 智能化 船舶企业 物联网 GPRS

GSM-GPRS通过在原GSM网络基础上增加一系列的功能实体来完成分组数据功能,新增功能实体组成GSM-GPRS网络,作为独立的网络实体对CSM数据进行旁路,完成GPRS业务,原GSM网络则完成话音功能,尽量减少了对CS...

关键字: GSM GPRS SMG

GPRS主要的应用领域可以是:E—mail电子邮件、WWW浏览、WAP业务、电子商务、信息查询、远程监控,等等。人们通常将移动通信分为三代。第一代是模拟的无线网络,第二代是数字通信包括GSM、CDMA等,第三代是分组型的...

关键字: GPRS GSM
关闭
关闭