微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于CAN总线的PC与RFID读写器通信实现

基于CAN总线的PC与RFID读写器通信实现

时间:10-13 来源:互联网 点击:

图2用双绞线连接的CAN总线网络

2.2通信协议说明

CAN总线的ISO标准中规定了自己的通信协议格式,在这个应用中为使用方便并满足更多节点扩展的需要,信息帧统一采用符合CAN2.0B协议(表1)实现系统中的信息传输。与RFID读写器通信的协议帧的意义表示(表2)以及与CAN总线协议扩展帧的对应解释如下,其中表1中x表示CAN协议中的保留位。

表1 CAN总线CAN2.0B协议奠结构

表2 RFID通信协议奠的规定

在RFID通信协议帧的规定中,信息被分为4个域(表1),其中,信号类型域用来表示信息的传输方向,即是上位机发送到RFID读写器还是相反, 占用CAN2.0协议扩展帧数据域的第1个字节(字节6)。站点域,即报文识别码区域,总共有4个字节(29位二进制数+3位保留位,字节2~5),此处采用报文识别码的前两个字节作为目的地址字节,作为识别符参与滤波的有效部分,以达到表示每个工作站的目的地址的作用;采用后两个字节的13位二进制数表示信息的来源地址,它们不参与滤波;通信中采用的是数据帧,而非远程帧,所以数据域的长度为1-8个字节,由CAN2.0协议扩展帧中的DLC区域表示;规定中的数据域实际上只剩下7个字节(字节7—13),用以表示通信中的命令或信息内容。这里的信息对应内容即是CAN 总线通信协议帧解析时,程序要做的工作。

2.3 USB-CAN智能转换卡与上位机PC通信的软件实现

以中科院自动化所开发的手操器式RFID读写器作为终端通信节点,以某公司生产的USBCAN—I型USB—CAN转换接13卡作为连接PC 与CAN 总线的硬件设备,基于Microsoft.NET 2003的MFC开发环境,本文实现了基于CAN总线的PC与多RFID读写器之间的通信。在上位机PC要实现的功能中,首先是要配置CAN总线通信的相关参数,如定时器设置、滤波方式、工作模式等,并初始化USB—CAN智能转换卡,然后才可以启动USB—CAN设备。图3显示了上位机PC与RFID读写器通信过程操作的主要流程。

图3上位机PC与USB-CAN通信主要流程

该流程中,信息的读取解析与发送过程是通信的核心部分,其相应的USB 13监听线程程序的说明如下:

该段程序中协议规定的命令类型解析部分和数据内容处理部分是PC实现与RFID读写器通信的核心。程序实现时应特别注意协议帧中保留位的处理方法。在接收到一帧信息时报文识别码区域共占用4个字节,但是字节5低三位作为保留位而没有使用,因此解析字节2~字节5时应首先将这4个字节的内容右移3位去掉保留位的内容,然后处理报文识别码的真正内容,否则就会解析出错。

该段程序在确认相应的命令类型的基础之上,对接收到的各种数据信息作出进一步解析和响应(在ProcessData(、、、 )函数中实现)。ProcessData( )函数所完成的任务,要根据不同工程中规定的协议意义做出解析和响应。比如,在本文的通信中把十六进制的“AABB”放入扩展帧中的字节7-13中表示上位机的握手查询命令,而如果接收到的帧中7~13字节的内容是十六进制的“BB AA+站点当前接入的设备ID”,则表示RFID读写器的握手应答信息。

3结论

在介绍了RFID技术的一些应用后,针对生产线上几十个RFID读写器的应用情况,对RS485总线和CAN总线的关键技术特性作出了详细的对比,给出了一种基于CAN总线的PC与多RFID读写器通信的硬件结构和软件实现的关键部分说明。在RFID技术广泛应用的今天,这样一种基于CAN总线的PC与多RFID读写器的连接通信方式对于促进RFID技术在工业自动化领域中的应用具有积极意义。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top