RFID控制应用系统中串行通讯的实现

2015-03-12 02:06万学春亓晓彬龙广钱广州铁路职业技术学院广东广州50430广州市地下铁道总公司广东广州50000
机电工程技术 2015年11期

万学春,亓晓彬,龙广钱(.广州铁路职业技术学院,广东广州 50430;.广州市地下铁道总公司,广东广州 50000)



RFID控制应用系统中串行通讯的实现

万学春1,亓晓彬1,龙广钱2
(1.广州铁路职业技术学院,广东广州510430;2.广州市地下铁道总公司,广东广州510000)

摘要:简单介绍RFID控制系统及其应用,分析了该系统中RF读写器与上位机之间的通讯命令格式与通讯方式,提出了采用RS232串行通讯技术,建立以PLC、单片机为核心的RFID控制应用系统,并就该系统中RF读写器与单片机、PLC上位机之间的串行数据通信关键技术给出了具体的实现方法。

关键词:串行通讯;RFID;PLC;单品机;识别系统

0 简介

RFID(Radio Frequency Identification),射频识别,又称无线射频识别,是一种通信技术,通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。工业控制中,采用的射频频率,一般是微波,1~100 GHz,适用于短距离的识别通信[1]。

目前,RFID技术日趋成熟,在工业产品分拣、图书管理、门禁系统、食品安全管理等自动化控制领域,具有广泛的应用前景。

一套完整的RFID控制应用系统要包含3部分:

(1)嵌入在被检测物里面,写入了数据信息的电子标签;

(2)RFID应用系统的核心部件,用于检测读取和写入标签信息的RF读写器;

(3)接收检测信息并分析处理的上位机应用控制系统。

工作时,RF读写器发射一特定频率的无线电波,形成一定区域的磁场,携带电子标签的被检测物进入该磁场后,依靠感应耦合电流,驱动电子标签电路,将存储在标签芯片中的数据发送给读写器,读写器将数据传送给上位机应用控制系统,进行数据的分析与后续处理。本文就其中的RF读写器与上位机之间的数据通信部分进行探讨与研究。

1 串行通讯的命令格式与实现方法

在RFID控制应用系统中,RF读写器与上位机之间要进行频繁的数据通讯,为了降低成本、增强可靠性,采用标准统一的全双工串行通讯的方式。读写器提供RS232的标准接口电路,通过2条串行通信数据线,2条电源线,与单片机、PLC等上位机控制器进行连接。

RF读写器与上位机通讯时,采用固定的数据命令字格式,双方严格的按照命令发送-响应反馈的命令应答模式串行通讯,同时,RF读写器配合丰富的指示灯信息,极大的方便系统调试与运行监视。

RFID控制系统上电时,RF读写器主动循环发送HFF、HFC、H02三个8位的十六进制数据,每次发送1个,间隔0.2秒左右,同时绿色指示灯以1 Hz的速度闪烁;上位机接受到上述三个数据后,反馈发送H10给读写器;读写器接收到该H10数据后,发送H02、H00、H0F、H10、H02、HLE六个数据,同时绿色指示灯常亮,此时,读写器与上位机握手完成。

当上位机需要启动RF读写器开始读标签值时,上位机主动发送H10、H02两个数据,读写器反馈H10表示已经响应上位机命令,等待上位机发送具体命令指令,而后,上位机连续发送H05、H02、H00、H00、H00、H10、H10、H10、H03、H14十个数据的启动读标签指令,读写器接收完成后,进入读标签模式。

当RF读写器检测到有电子标签离开检测区域时,主动发送H02数据,上位机反馈H10,读写器连续发送H04、H0F、H00、H00、H00、H10、H03、H18八个数据,上位机接收完成后,该任务执行完成。

通过相应的命令字,RF读写器与上位机频繁通讯,完成除上述RF系统上电握手、启动RF读写器标签模式、标签离开3种任务外,还完成RFID系统启动、RFID系统停止、RF读标签值、RF写标签值4种任务,具体通讯命令字与执行顺序如表1所示。

符号“-”连接的数据表示一次性连续传送的。

标签值采用ASCII码编码。

指示灯:红色常亮-出错;橘红色常亮-正在读取标签值。

表1 RFID与上位机通讯格式

2 RF读写器与上位机的通讯实现

(1)RF读写器与单片机上位机的连接

RF读写器的输出信号采用标准的RS232电平格式,与单片机连接时,需通过RS232-TTL电平的转换,使用常用的电平转换芯片MAX232CPE即可[2]。连接时,由单片机系统统一提供电源,RF读写器的2条数据线和2条电源线通过9针的串口接头连接转换芯片,与单片机的数据接收RXD、数据发送TXD引脚相连,如图1所示。

通讯编程时,采用全双工的串行通讯方式,设置无协议的8位数据位、偶校验、1位停止位、19 200 bit/s的波特率。

当单片机需要启动RF读写器开始读标签值时,C语言编写的STC89S52单片机程序代码如下:

#include

unsigned char start_RF1[ ]={0x10,0x02};//上位机第一次发送的启动读标签命令字

unsigned char start_RF2[ ] ={0x05,0x02,0x00, 0x00,0x00,0x10,0x10,0x10,0x03,0x14};

//上位机第二次发送的启动读标签命令字...main(){...//串行通信初始化,晶振采用11.0692MHz TMOD|=0x20;//设置T1为工作方式2 TH1=0xfd;TL1=0xfd;

PCON=0x80;//设置波特率为19200bps

SCON|=0xf0;//采用8位数据,奇校验,1位停止位的串行通讯模式

TR1=1;//启动定时器

EA=1;ES=1;//开串行口中断

...do

{...

for(i=0;i<2;i++)//读标签

{SBUF= start_RF1[ i];//发送读标签命令第一次数据

while( !TI );

TI=0;//1个数发送完毕,清零

}

} while(SBUF!=0x02);//等待RF返回H02 REN=0;...for(i=0;i<8;i++)

{SBUF= start_RF2[ i];//发送读标签命令第二次数据

while( !TI );

TI=0;//1个数发送完毕,清零

}...

}

其他的通讯任务根据命令字,同理完成,在此不一一赘述。

(2)RF读写器与三菱PLC上位机的连接

RF读写器输出采用RS232信号,传送距离远,抗干扰能力强,最远距离可以达到100多米,非常适合工业环境的应用。三菱PLC作为上位机构造RFID系统时,根据机型,选用相应三菱串口通讯的特殊功能模块,例如FX2n232-BD、FX3U-232-BD等,如果使用485BD模块,则在连接前,需先进行232BD-485BD的信号转接,市面上普通的232-485转换接头都能完成。

图1 RF读写器与单片机连接原理图

线路连接时,将RF读写器的SD、RD两条数据线分别与232-BD或者485BD模块的RD、SD相连即可,读写器电源依靠其他外部电源模块提供,2条电源线连接在电源上。如图2所示。

图2 RF读写器与三菱PLC连接示意图

通讯编程时,三菱PLC上位机采用RS串行数据传送指令与RF读写器进行通讯联系。RS指令格式如下[3]:

1)RF读写器上电时,与PLC建立通讯的握手程序代码如下:

STL S20

RS D100K1 D0 K1 //RF读写器循环发送HFF、HFC、H02

LD M8123//PLC接收单个数据

MOVD0 D200V1

AND= D0H0FF//从第一个数据开始建立联系

RST V1

INCP V1

RST M8123

LD= D203H02//接收到的第3个数据为H02

SET S21

STL S21

MOVH10D100

RS D100K1 D0 K3 //握手正常,RF读写器返回6个数据

ANDP S21

SET M8122

LD M8123 //PLC接收完6个数据(为了简便,可以不对数据内容检测),握手完成

RST M8123//复位接收允许,为下个数据通讯做准备

2)使RF读写器启动读标签模式,PLC程序代码如下:

STL S40

MOVH210D100

RS D100K2 D0 K1//PLC发送H02、H10

ANDP S40

SET M8122

LD M8123

RST M8123

LD= D0 H02//RF读写器响应后反馈数据H02

SET S41

STL S41

MOVH205D100//10个数据的RF启动读标签命令字

MOVH0D101

MOVH100D102

MOVH010D103

MOVH403D104

RS D100K10 D0 K1 //PLC发送10个数据的启动RF读标签命令

ANDP S41

SET M8122

LD M8123//接收了RF读写器反馈的数据

RST M8123

...

3)RFID与西门子PLC上位机的连接:

西门子PLC做上位机时,与RFID的连接和三菱PLC一样,需要用到西门子的RS232串口通讯模块,通讯格式和线路连接方法与三菱的一致。

通讯时,西门子PLC可以使用专用的软件库,通过RS232模块与RF读写器进行通讯,使用3964R协议,通过简单的参数设置,直接调用各命令程序块,非常方便。

使用时,先安装RFID软件库,在新建的项目中,打开OB1组织块,将库文件“rfid_serial”中的库文件夹“rfid_serial_com”中的文件拷贝到程序块中,将库文件夹“rfid_serial_char”中的文件拷贝到监控表中,拖拽“com_serial”功能块到OB1中,选择背景数据块的名字和数据块号。

设置完成后,就可以直接组态调用相应功能块进行控制了,例如复位功能块_cmd_reset_,读标签值功能块_cmd_read_,写标签值功能块_cmd_write_等。

3 结束语

射频识别技术因其无接触、可阻挡的检测特性,除在传统的工业控制中广泛使用外,目前在二代身份证识别、安全保卫等系统中,也越来越被青睐,例如北京亚运会、上海世博会的人员身份识别中,在参会者的证件中植入微小的电子标签,通过RF读写器,可以快速、方便、免打扰的自动识别与会者的身份信息。

本文从底层分析了RFID系统的应用方法,提出了在单片机、PLC常用工业控制中的使用方法,引出了该系统的智能控制系统软件开发的接口技术。

参考文献:

[1]黄玉兰.通信技术术语[M].北京:人民邮电出版社,2010.

[2]刘星.计算机接口技术[M].北京:机械工业出版社,2003.

[3]三菱电机.三菱微型可编程控制器编程手册[Z]. 2000.

(编辑:向飞)

Realization of Serial Communication in RFID Control System Application

WAN Xue-chun1,QI Xiao-bin1,LONG Guang-qian2
(1.Guangzhou Institute of Railway Technology,Guangzhou510430,China;2. Guangzhou City Underground Railway Corporation,Guangzhou510000,China)

Abstract:This paper introduces the RFID control system and its application, analyzes the communication command format and communication mode of the system of RF reader with the host computer, this paper proposes the use of RS232 serial communication technology, the establishment of RFID control system applied to PLC, single chip computer as the core, and the system RF to read and write serial data communication gives the key technology between reader and the SCM, PLC specific ways.

Key words:serial communication;RFID;PLC;single product machine;recognition system

作者简介:第一万学春,男,1975年生,湖南岳阳人,硕士,讲师。研究领域:机电一体化技术应用。已发表论文10篇。

收稿日期:2015-05-16

DOI:10. 3969 / j. issn. 1009-9492. 2015. 11. 023

中图分类号:TN919

文献标识码:A

文章编号:1009-9492 ( 2015 ) 11-0085-04