基于CAN总线的PC与RFID读写器通信实现 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

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

来源:中国一卡通网  作者:王启刚 谭杰  发布时间:2008-03-18 11:12:58  字体:[ ]

关键字:rfid读写器  can总线  rs485总线  通信  

摘   要:以制衣流程生产线上多个RFID读写器的应用需求为背景,引入了一种具有通用性的通信连接方法,利用CAN总线实现PC与多个RFID读写器的实时通信。对RS485总线和CAN总线作了对比,介绍了通信实现的硬件结构和通信中使用的协议格式及涵义。给出了通信的总体流程图和程序实现的关键代码说明以及程序实现中应该注意的问题。

    射频识别(Radio Frequency Identification,RFID)是一种非接触的无线自动识别技术,其基本原理是利用射频信号和空间耦合(电感耦合或电磁耦合)传输特性实现对被识别物体的自动识别⋯。近年来,RFID技术迅速发展,被广泛应用于工业、农业、体育休闲、交通管理和防伪防盗等众多领域。根据RFID应用的具体特点,本文以制衣流程过程为基础,提出了一种RFID技术在制造业生产流水线上的应用通信方案及其详细实现。 

    制衣生产线和很多其他工业生产线一样,每条流水线上有几个、几十个甚至更多的加工站点。为了在这种多站点生产线上应用RFID技术,一般需要在每一个工作站点部署一到两个RFID读写器(Reader)用以控制各个工作站点的任务调度,实现各工作站点和工作人员的自动管理。然而,由于工作站点的个数较多,生产线监控管理上位机(Pc)还要实现各个工作站点的实时信息采集和监控,这就要求PC与各个工作站点的RFID读写器之间实现可靠的实时通信。为此,本文提出了用CAN总线实现PC与RFID读写器通信的方案。

1 CAN总线与RS485总线

    RS485总线曾经在工业控制系统的发展过程中发挥了重要作用。但是,随着工业控制系统功能分散化、任务多元化、整体复杂化程度的提高,工业控制系统对于可靠性、实时性、灵活性的要求也越来越高,工业数据总线领域中原有的RS485总线通信标准已经不能满足工业过程控制和制造业自动化的需要。在这种情况下,现场总线(Field Bus)技术以其自身的高性价比而成为了工业数据领域中的一种新通信方式。控制局域网络(Control Area Network,CAN)总线是目前业界公认的最有前途的几种现场总线之一。 

    RS485总线的局限性主要表现在:(1)RS485总线可以互联的设备节点数一般不超过32个,这显然不能够满足多点工作站的需求和生产线的规模扩展的需要,比如每条制衣生产线的工作站点很多都在40个以上;(2)RS485总线多为查询工作方式,由上位机定时轮询各个工作站点,效率低,实时性差;(3)RS485总线构成的通信系统可靠性不好,当由于某种原因使得两个或更多从节点同时向总线发送数据时,将导致通信混乱甚至RS485驱动损坏;(4)RS485总线通信过程实现复杂,由于RS485仅仅是一种电气协议规定,并没有实现可靠的通信方法,这给通信软件开发与程序调度实现增加了额外负担。

    CAN总线是20世纪80年代德国Bosch公司为了解决现代汽车中众多控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,其对应的国际标准ISO11898已经在1993年11月由ISO组织颁布。与RS485总线相比较,CAN总线的主要技术优势表现在:(1)CAN总线可同时互联的节点数目多,实际可连接1 10个节点;(2)CAN总线用数据块编码的方式替代了节点地址编码,各节点通过滤波的方式实现多地址帧传送;实现了面向数据而不是节点的通信,方便系统配置;(3)CAN 总线采用基于节点优先权设定的非破坏性总线仲裁技术,有效避免了总线上的数据传输冲突,使网络在高负载运行的情况下也不会出现网络瘫痪的情况,可靠性高;(4)CAN 总线有自己的用户层可靠通信协议和数据错误自诊断功能,采用循环冗余校验判断报文是否有传输错误,采用8B数据段区域,既满足了工业领域中控制命令、数据传输等的一般要求,又保证了通信的实时性。这不仅方便了上位机软件开发,还有利于系统的稳定可靠运行。

2通信实现的系统结构 

    图1显示了使用USB—CAN智能转换卡连接PC与RFID读写器的生产线控制系统结构。在这一系统中,USB—CAN智能转换卡是上位机PC 采集和发送信息的通道接13,USB—CAN 智能转换卡下端通过双绞线连接各个控制节点— — RFID读写器。RFID读写器通过延长线连接的天线读取电子标签信息,经过RFID读写器处理后再经过CAN总线传送到上位机处理,同时通过CAN总线接收上位机的各种控制命令和信息提示。上位机负责整个系统的监控和管理,其控制信息经过CAN总线而传送到RFID读写器。

应用CAN总线连接PC与RFID读写器的系统结构

图1应用CAN总线连接PC与RFID读写器的系统结构

2.1 CAN总线通信中应该注意的问题

    (1)USB—CAN 智能转换卡所支持的最扩展帧转换率为5000帧/s,如果是标准帧或者请求帧,其速率会更快。在使用USB—CAN智能转换卡实现CAN总线与上位机的连接时要充分考虑节点的规模和应用中的最大的瞬间数据传输总量,以保证系统的实时性和可靠性。
    (2)上位机PC中USB—CAN设备的驱动程序安装,不同于RS485总线和CAN/RS232接13卡,USB接13需要安装USB—CAN设备自带的设备驱动程序才能正常工作。
    (3)CAN总线终端匹配电阻的连接,为了增强CAN总线通信的可靠性,CAN总线网络的两个断电通常要连接两个终端匹配电阻。匹配电阻值的大小根据CAN总线网络使用的传输介质的阻抗特性而定。系统中采用的是阻抗特性为120欧姆的双绞线,连接方式如图2所示。

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

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

2.2通信协议说明 

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

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

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

表2 RFID通信协议奠的规定

RFID通信协议奠的规定

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

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖