视环会
您现在的位置:物流技术网>技术首页>行业百科

企业直播推荐

更多>
合肥精大仪表宣传片

合肥精大仪表宣传片回放

开播时间06-08 14:00

产品推荐

更多>

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

2009
01-20

15:47:28

分享:
400
来源:
  一、研究背景及设计方案
  RFID是射频识别技术(RadioFrequencyIdentification)的英文缩写,射频识别技术是一种非接触式的自动识别技术,它使用射频电磁波通过空间耦合(交变磁场或电磁场)在阅读器和要进行识别、分类和跟踪的移动物品(物品上附着有RFID标签)之间实现无接触信息传递并通过所传递的信息达到识别目的的技术。RFID是一种自动识别和数据捕获技术,可以提供无人看管的自动监视与报告作业。
  RFID阅读器的工作原理如下:阅读器通过天线发送出一定频率的射频信号,当标签进入磁场时产生感应电流从而获得能量,发送出自身编码和相关信息被读取器读取并解码后送回到计算机中进行有关处理,。识别工作无须人工干预,可工作于各种恶劣环境。高性能的RFID读写器可以同时识别多个物体。
  在工业生产线RFID系统中,由于生产线现场的工作环境复杂,各类电磁干扰源非常多,采集点的数量多,而通常的RFID读写器,由于采用单片机为主控制器,运算能力弱,本地不具备数据分析和存储能力,不具备较强的抗*力,对后台系统数据处理能力要求较高,而在工业生产线上,如果直接将所有采集点(通常多达数百点)所读取的信息直接传回服务器,由于要在服务器上进行繁重的数据分析和干扰排除,过大的数据量和计算量很容易造成服务器端的信息堵塞,进而影响系统的稳定性。所以现有的解决方案往往直接使用价格昂贵的工业PC机完成前端工作,但这样无疑大大增加了总体的部署成本。本系统的设计思路见图(1)通过功能强大的RFID嵌入式终端,直接在本地完成复杂的标签读取,数据纠错,干扰排除,信息提取和数据保存等工作,仅将有效信息通过网络传输给后台服务器,这样就大大降低网络通信的开销,降低了服务器的资源占用,从而提高了系统整体的运行效率,提高了稳定性,增加了业务的灵活性。
  图(1)RFID技术应用于生产线总体示意
  二、系统的总体硬件设计
  为了达到设计功能和环境需求,本系统底板采用了PCB6层设计,机壳加装了电磁屏蔽网,另外专门配备了PCMCIA接口用来外接RFID读写模块,采用的主要元件如下:
  ①微处理器(MPU):针对终端需要高速运算和数据库操作的需要,并考虑到系统外围设备的需求情况,本系统采用ARM9核的SAMSUNGS3C2410处理器。zui高主频可达203MHz。
  ②SDRAM存储部分采用两颗Hynix公司的HY57V561620CT内存,大小为32M。
  ③FLASH存储器采用SAMSUNG公司的K9F1208UOMNandFlash,大小为64M。
  ④RFID阅读器模块:采用了WJ公司的MPR6000系列产品,PCMCIA接口。
  ⑤网络通信模块:采用了Realtek8039芯片,支持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-PCBUS总线与嵌入式主机进行数据通信,其通信的特点如下:遵循命令-回复的通信模式,首先由系统向RFID读写模块发命令帧,读写模块在识别到通信包头的时候读取命令字,并进行CRC纠错,如果错误的话则忽略该帧,有效地话则执行相关指令,并将读取的标签信息及结果编成返回数据帧传给系统,系统收到通信帧时也同样进行包头识别和CRC纠错,如正确的话就进行解包并取得标签相关信息。
  命令包的格式如下
 
  命令帧范例样本如下:01000D11001E011830182EB769CC通过解包后表示如下内容:从一号天线,以1E的功率,读取过滤码(即标签前几位的ID号)为30182EB7的RFIDEPCClass0标签,帧长度为0D,CRC纠错码为69CC。
  返回帧的格式如下

  返回帧范例样本如下:010011010130182EB72000000000000074F6
  通过解包后表示如下内容:读取到一个96bit的EPC标签,标签ID为30182EB72000000000000000,读取操作完成,数据帧长度为11,CRC纠错码为74F6。
  针对通信帧的特点设计的Linux平台驱动软件由以下几个主要的子函数组成:
  1、unsignedshortCalculateBlockCRC16(intlen,unsignedchar*pBuf);进行CRC计算和验证
  2、intAppendCRC(void*pBuf,unsignedshortCRC);将算出的CRC值添加到请求包位置
  3、intUartSend(void*pBuf,intuart_num);将算出的CRC及命令字发送到串口
  4、intUartRead(unsignedchar*pBuf,intuart_num);从的串口读入返回的数据包
  5、intCRCcheck(unsignedchar*pBuf,unsignedshortCRC);比对得到的CRC与数据包是否正确
  6、intProcessTag(unsignedchar*pBuf,unsignedcharTags[]);
  处理得到的返回桢,分离出读取到的条码编号,并存入数组进行暂存,为下一步数据库存取做好准备除以上子函数外,还有其它相应的函数来进行剔除干扰数据包,处理异常等工作,经本模块处理后,已经可以确保可以过滤绝大多部分的干扰信息了,这样处理完的数据就可以直接进行数据库记录和通过网络传输给后台数据库了。
  ③嵌入式数据库操作模块
  嵌入式数据库是整个系统的重要组成部分,在本系统中采用了开源的小型嵌入式数据库SQLite,支持SQL92标准数据库操作语句和事务,其工作流程如下:当读取到条码时,本模块将条码号、读取时间、条码内容、采集点编号,操作状态等信息写入本地数据库,从而实现采集数据的本地初步存储,数据库在此列举几个主要的子函数如下:
  1、intQuery_Init(string*p_command,struct*p_DB_Status,inttype);选择基本的SQL操作符符号和初始值设置,为执行数据库操作做好准备。
  2、intQuery_Exec(intdb,string*p_command,void(*p_fuction)(*str),(void*)&res);选择数据库,根据SQL操作符进行数据库操作,并将返回数据通过p_function函数处理。
  3、intQuery_CallBack(void*p_data,intnum,char**value,char**column);将数据库操作返回的数据列表暂存到数组中,以待下一步处理。
  除以上函数外,还预留了相应的接口用来完成前端数据库和后台数据库的同步,经测试,平均插入一条数据的时间<=0.01秒,满足了系统的即时性上的需求。
  ④网络通信模块
  本系统的特色就是通过嵌入式Linux操作系统的网络底层支持,以多种网络传输途径,将数据和后台数据服务器进行数据传输。在本系统的网络部分设计中,在局域网内利用Linux系统的提供的TCP/IP协议支持,在编程中采用了动态与服务器建立连接的方法,在读取到RFID芯片并解码出有效信息的时候,向服务器相应端口发送相应的Socket请求信息,服务器端接受到请求后建立连接并新建Socket端口来和终端进行通信;只有在读取数据的时候数据库和终端间才产生数据传输和占用服务器端资源,从而降低了网络占有率和服务器端的负荷,通信部分终端客户端部分的主要子函数如下:
  1、intNet_Init(struct*p_net_Status,inttype);初始化通信,根据选择通信的类型建立和服务器端的网络连接,取得服务器基本信息,并建立Socket连接。
  2、intNet_Send(string*p_data,intlen,structsockaddr*p_addr);发送大小字符串到连结的服务器端口。
  3、intNet_Receive(string*p_buffer,intlen,structsockaddr*p_addr);从服务器接受数据(主要是接受指令)到缓冲区内。
  由于Linux底层提供了TCP支持,可以保证通信的可靠性,大大降低了编程复杂度,所以只要经过简单的对Socket函数进行了封装来实现数据网络传输,配合服务器端程序即可将标签信息保存到后台的主数据库中,并由后台服务器根据通信内容进行数据保存,发送控制命令等操作。
  四、结论
  本文中描述的嵌入式RFID终端读取器,在冰箱生产线中进行了实用,基本满足了生产线RFID系统对前端RFID标签数据采集、处理、通信方面的要求,在功能上和稳定性方面已经能够替代现有的工业PC,因为采用了免费的开源Linux操作系统和开源数据库Sqlite,大大降低了总体成本,对在生产线上进行RFID读写终端的大量部署非常有利。
  本文作者创新点:通过设计使用功能强大的RFID嵌入式读写终端,将抗干扰、信息提取、日志保存等功能在终端进行本地处理,从而大大降低了网络通讯负担和后台服务器占用,满足了生产线上的工作环境和需求。(来源:IT168)
全年征稿/资讯合作 联系邮箱:137230772@qq.com
版权与免责声明

1、凡本网注明"来源:物流技术网"的所有作品,版权均属于物流技术网,转载请必须注明物流技术网,https://www.56js.com/。违反者本网将追究相关法律责任。

2、企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。

3、本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。

4、如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

浙公网安备 33010602012911号

QQ联系

咨询中心
客服帮您轻松解决~

联系电话

参展咨询0571-81020275会议咨询0571-81020275

建议反馈

返回顶部