信息化 频道

生产线嵌入式RFID终端读写器设计

    【IT168 信息化

    一、研究背景及设计方案

    RFID 是射频识别技术(Radio Frequency Identification)的英文缩写,射频识别技术是一种非接触式的自动识别技术,它使用射频电磁波通过空间耦合(交变磁场或电磁场)在阅读器和要进行识别、分类和跟踪的移动物品(物品上附着有RFID 标签)之间实现无接触信息传递并通过所传递的信息达到识别目的的技术。RFID 是一种自动识别和数据捕获技术,可以提供无人看管的自动监视与报告作业。

    RFID 阅读器的工作原理如下:阅读器通过天线发送出一定频率的射频信号,当标签进入磁场时产生感应电流从而获得能量,发送出自身编码和相关信息被读取器读取并解码后送回到计算机中进行有关处理,。识别工作无须人工干预,可工作于各种恶劣环境。高性能的RFID 读写器可以同时识别多个物体。

    在工业生产线RFID 系统中,由于生产线现场的工作环境复杂,各类电磁干扰源非常多,采集点的数量多,而通常的RFID 读写器,由于采用单片机为主控制器,运算能力弱,本地不具备数据分析和存储能力,不具备较强的抗干扰能力,对后台系统数据处理能力要求较高,而在工业生产线上,如果直接将所有采集点(通常多达数百点)所读取的信息直接传回服务器,由于要在服务器上进行繁重的数据分析和干扰排除,过大的数据量和计算量很容易造成服务器端的信息堵塞,进而影响系统的稳定性。所以现有的解决方案往往直接使用价格昂贵的工业PC 机完成前端工作,但这样无疑大大增加了总体的部署成本。本系统的设计思路见图(1)通过功能强大的RFID 嵌入式终端,直接在本地完成复杂的标签读取,数据纠错,干扰排除,信息提取和数据保存等工作,仅将有效信息通过网络传输给后台服务器,这样就大大降低网络通信的开销,降低了服务器的资源占用,从而提高了系统整体的运行效率,提高了稳定性,增加了业务的灵活性。

    图(1) RFID 技术应用于生产线总体示意

    二、系统的总体硬件设计

    为了达到设计功能和环境需求,本系统底板采用了PCB 6 层设计,机壳加装了电磁屏蔽网,另外专门配备了PCMCIA 接口用来外接RFID 读写模块,采用的主要元件如下:

    ① 微处理器(MPU):针对终端需要高速运算和数据库操作的需要,并考虑到系统外围设备的需求情况,本系统采用ARM9 核的SAMSUNG S3C2410 处理器。最高主频可达203MHz。 

    ② SDRAM 存储部分采用两颗Hynix 公司的HY57V561620CT 内存,大小为32M。 

    ③ FLASH 存储器采用SAMSUNG 公司的K9F1208UOM Nand Flash,大小为64M。 

    ④ RFID 阅读器模块:采用了WJ 公司的MPR6000 系列产品,PCMCIA 接口。 

    ⑤ 网络通信模块:采用了Realtek 8039 芯片,支持10M/100M 网络通信。

    三、系统的软件系统介绍

    系统的软件部分主要由Linux 基本系统、RFID 标签识别解析模块、嵌入式数据库操作模块、网络通信等模组成,软件模块关系如图(2),下面简单介绍一下各模块的功能和主要函数。

    图(2)软件系统流程

    ① Linux 基本系统

    由于Linux 成本低,代码开放,稳定性高,多线程,支持USB、Flash 等多种外设,底层支持TCP/IP 网络,故本系统将其移植到ARM9 上作为操作系统,内核版本号为2.4.1。由于文件系统涉及数据库文档保存,故采用了YAFFS 文件系统,另外就是针对本系统采用的外设和功能对Linux 内核作了相应裁减,以降低其内存占用。提高速度。

    ② RFID 标签识别解析模块

    在设计中采用了WJ 公司PCMCIA 接口的RFID 读写器模块MPR6000,该模块通过UART-over-PC BUS 总线与嵌入式主机进行数据通信,其通信的特点如下:遵循命令-回复的通信模式,首先由系统向RFID 读写模块发命令帧,读写模块在识别到通信包头的时候读取命令字,并进行CRC 纠错,如果错误的话则忽略该帧,有效地话则执行相关指令,并将读取的标签信息及结果编成返回数据帧传给系统,系统收到通信帧时也同样进行包头识别和CRC 纠错,如正确的话就进行解包并取得标签相关信息。

    命令包的格式如下

    

    命令帧范例样本如下:01 00 0D 11 00 1E 01 18 30 18 2E B7 69 CC通过解包后表示如下内容:从一号天线,以1E 的功率,读取过滤码(即标签前几位的ID 号)为30 18 2E B7 的RFID EPC Class0 标签,帧长度为0D,CRC 纠错码为69CC。

    返回帧的格式如下

    

    返回帧范例样本如下:01 00 11 01 01 30 18 2E B7 20 00 00 00 00 00 00 74 F6
 
    通过解包后表示如下内容:读取到一个96bit 的EPC 标签,标签ID 为 30 18 2E B7 20 00 00 00 00 00 00 00 ,读取操作完成,数据帧长度为11,CRC 纠错码为74F6。 

 

0
相关文章