当前位置RFID世界网 > 技术文章 > 其它 > 正文

基于μC/OS-Ⅱ和GPRS的无线RFID 读写器的研究与开发

作者:王延政,李瑞祥,王立青 来源:微型机与应用 2013-11-04 11:29:04

摘要:针对目前RFID读写器无法随身携带,实现远程的IC卡读写操作的问题,采用GPRS无线网络作为数据传输的载体,实现了无线RFID读写器的开发。采用μC/OS-Ⅱ嵌入式实时操作系统作为读写器终端的软件平台,在ARM7系列微处理器LPC2148上实现了对IC卡的发行、加值、消费、操作记录查询与汇总、数据采集以及无线传输。采用动态密钥加密算法很好地保证了IC卡的数据安全。应用结果表明,该RFID读写器运行稳定可靠、响应速度快、安装及操作方便、便于携带,具有一定的实用性和推广价值。

关键词:μC/OS-Ⅱ[0篇]  GPRS[37篇]  LPC2148[0篇]  动态密钥[1篇]  NXP[4篇]  

  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!

  向服务器发送字符串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所示。

  

基于μC/OS-Ⅱ和GPRS的无线RFID 读写器的研究与开发

  3.4 动态密钥加密算法

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

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

 已有0条评论 我要评论 联系编辑 分享到:网易新浪腾讯人人开心网豆瓣MSN


最新评论(加载最新评论):


上一篇:基于RFID的物联网车载终端系统实现方案设计


相关文章:


关键字搜索:


新闻中心:μC/OS-Ⅱ[0篇]  GPRS[44篇]  LPC2148[0篇]  动态密钥[0篇]  NXP[199篇]  

成功应用:μC/OS-Ⅱ[0篇]  GPRS[9篇]  LPC2148[0篇]  动态密钥[0篇]  NXP[2篇]  

解决方案:μC/OS-Ⅱ[0篇]  GPRS[52篇]  LPC2148[0篇]  动态密钥[0篇]  NXP[0篇]  


图片文章: