基于LABVIEW 8.0的RFID超声波定位系统的开发
摘要:采用美国国家仪器(NationalInstruments,NI)LabVIEW8.0图型控制式程序语言,搭配射频和超声波模块仪器,使用TOA(timeofarrive)定位技术,可以组成RFID射频信号识别(RadioFrequencyIdentification)-超声波定位系统,并可针对不同产业的量测需求,提供客制化测试系统服务。
关键词:LabVIEWRFID超声波定位
0 引言
虚拟仪器是当前测控领域的技术热点,它代表了未来仪器技术的发展方向。LabVIEW是虚拟仪器概念的首创者。它不仅仅是一种编程语言,从测量和自动化到实时嵌入式系统,再到通用场合。而且LabVIEW还具有对FPGA编程下载的能力,所以LabVIEW也是一个硬件设计工具 。
RFID定位与跟踪系统主要是利用标签对物体的唯一标识特性,依据读写器与安装在物体上的标签之间射频通信的信号强度来测量物品的空间位置。RFID技术所具备的远距离存取,高速辨识及资料读出写入等能力,相当受到各产业重视,应用领域包括物流,零售,制造业,军事,服装业,医疗,身份识别,防伪,交通等等。但是单纯的RFID系统存在两个问题:一个问题是利用射频信号的强度定位,精度较低,而且针对研发该技术的方案,常受限于封闭式的硬件量测架构。另一个问题是使用GPIB界面的仪器,其数据传输也相当缓慢。无法对物体进行实时追踪。
为了解决第一个问题,开发了RFID-超声波定位系统。 即以报时方式构建射频触发-超声波定位系统。这个系统容易实现且成本低;定位精度高,容错性能好;标签体积小,可以附着在任何需要定位的物体上;除了被定位物体策动定位请求外,还允许外部网络策动定位请求和监控被定位物体。
在可以实现射频触发-超声波定位的基础上,导入NI的虚拟仪器控制架构,使得RFID-超声波定位测试系统开发成为可能,并可进行物理层,协议层及系统仿真等多项功能,且由于NI虚拟仪器控架构具有高弹性及扩充性,它不但能和企业现有生产线流程紧密结合,也能针对客制化的需求,进行数据库存取、Word或Excel报表产生、远程监控,或者是和其它软件进行搭配等系统整合作业。
1 硬件设计
RFID系统由三部分组成:标签(Tag),由耦合元件及芯片组成,每个标签具有唯一的电子编码(ID号),附着在物体上标识目标对象;阅读器(Reader),读取(有时还可写入)标签信息的设备;天线(Antenna),在标签和读取器间传递信号 。
RFID-超声波定位系统是在RFID的基础上加上超声波发射接受电路而得到的。基本原理是主机通过串行口向读写器写命令,由读头向标签发出射频触发信号,开启有源标签的超声波接收电路,然后读头发出超声波。等待接收返回波。利用音速较慢的特性,可以准确的量测出读头和标签之间的距离。在已知其中3个读头的空间坐标和利用超声波测得每个读头到标签的距离,就可求出标签的3D位置 。根据试验,定位精度可以达到公分等级。系统外观示意图见图1.1。
图1.1 定位系统外观示意图
2 软件设计
2.1 串口通信
LABVIEW提供了丰富的仪器控制功能,针对串行口通信提供了具有完整功能的组件,利用图形化编程语言―G语言的直观,快捷的优势,通过功能模块的组合和连接可以比较方便的开发出适合各种不同通信协议的串行口通信程序。VISA是用于仪器编程的标准I/O软件规范的总称。它是一个API(应用程序接口),通过调用底层的驱动程序来控制仪器,向串行口读写数据。实现上位机对硬件模块的控制 。
(1)用VISA Configure Serial Port节点初始化串口
串口设置为:使用串行口COM1,波特率38400bit/s,数据格式为8位数据位,1位停止位,无奇偶校验位。无握手信号。
(2)用VISA Write节点向标签发送命令
RFID―超声波定位系统有三个命令字符,第一个是使读写器搜寻有效范围内的所有标签,并返回读到的ID号;第二个是使某个标签的LED点亮或者熄灭;第三个命令是测量某一个读头到某一标签的空间距离。
(3)用VISA Read节点从读头缓存区中读取数据
当通过VISA Write节点向标签发送返回ID号命令时,用VISA Read节点从读头缓存区中读取数据是ID号字符串,因为会经历几个完整的搜寻过程,所以返回的ID号会发生重复,需要进行重号过滤。每个ID号的第一位代表标签所在地的能量等级(按照距离读头的距离,划分为4级)。
读头向标签发射超声波,系统15位计数器开始计时。直到接收返回的超声波停止计时。从缓冲区读取的数据就是计数器的计数值。根据计数值(可计算出超声波传播时间)和光速计算出标签与读头之间的距离。从而知道超声波在空中传播的距离。 即读头到标签的空间距离。
(4)结束程序,关闭VISA。
2.2 数据处理
(1)分离ID号字符串
根据返回字符串的格式,去除第一位空格位,第二位功率位,滤除重复ID号,得到有效范围内所有ID号。
图1.2 分离ID字符串程序框图
(2)空间坐标系3点定位
超声波定位的基本概念既是三点定位方式,利用空间已知三个点到待测物的距离,利用三角与几何的关系即可求解出待测物在空间的坐标 。
当3个读头在不同位置时,这个3元2次方程的通解是不同的。为了实现读头位置的无限制摆放,利用数学方法。解出所有解的情况,利用LABVIEW中的公式节点和CASE 语句,实现了在读头任意摆放的情况下,对标签进行定位。
2.3 从VC中调用LABVIEW语言开发的程序
LABVIEW作为虚拟仪器开发平台,以其编程方便,功能强大,应用灵活在测控领域应用日渐广泛,但是它毕竟是一门新兴的工具软件,还有许多不足。LABVIEW中的DLL节点在LABVIEW与其他语言之间架起资源互动的桥梁。
LabVIEW8.0可以建造动态库(DLL),DLL文件完全可以在VC或VB中进行调用,因此可以通过一种间接的办法实现LabVIEW程序和Web的结合:首先在LabVIEW中根据需要建造DLL,然后在VC或VB中调用该DLL生成ISAPI或CGI程序,甚至可以在VB中构造COM组件,在ASP中调用。
在LABVIEW编程环境下计算标签坐标,会得到两组解。但在实际情况中,标签所在的位置只能有一个,根据现场具体情况需要舍掉一组值,为了RFID定位系统的客制化需要,在VC环境下调用已编译好的LabVIEW程序,根据实际情况,编译取舍条件,进行二次开发。
3 结束语
LabVIEW是高效图形化应用开发环境,它结合了简单易用的图形化开发方式和灵活强大的编程语言。提供一个直觉性环境,并通过与测量硬件的密切结合,可以迅速开发出有关数据采集和控制,数据分析和数据显示的应用系统。基于LABVIEW8.0的RFID-超声波定位系统,可针对各式的研发量测或生产线量测需求,快速进行客制化的修改。这个系统可行性高,复杂性低,定位精度高。此系统已在INTEL生产厂房内开始使用,对大批仪器进行监控。
本文作者创新点:在对原有的RFID硬件进行修改,添加超声波发生接收电路的基础上,使用LABVIEW8.0进行软件开发,在VC环境下进行二次开发。此系统最大的研发特点在于定位精度高,具备生产线整合能力,可以满足不同行业的要求。
参考文献:
[1] 杨乐平, 李海涛, 杨磊. LabVIEW程序设计与应用[M]. 北京:电子工业出版社,2005.
[2] 刘君华, 贾惠芹, 丁 晖等, 虚拟仪器图形化编程语言LabVIEW教程[M]. 西安:西安电子科技大学出版社,2001.
[3] 林永仁, 何庆雄, 吴振胜, 精密室内定位技术建立与验证. 香港:成功大学航太所.
[4] 王宏. PLC 及PC 与RFID 射频识别读写器串行通讯的实现。《微计算机信息》 2003年第一期.
[5] McCarthy, M. and Muller, H. RF Free Ultrasonic Position. In proceedings of Seventh International Symposium on Wearable Computers. October 21-23, White Plains. New York IEEE Computer Society, 2003.
评论