当前位置: 主页 > 项目介绍 > 案例分享 >

一种新型的RFID收费系统设计方案

文章来源:RFID世界 发布时间:2017-03-03 访问量:
    针对传统的基于RS-485 总线的射频识别技术(RFID)收费系统是具有实时性差跟 通讯效率低的缺点,提出了基于CAN总线和2.4G无线网络的新型的RFID收费系统。RFID收费系统采用2.4G 无线网络环境,使一个CAN 节点能够控制六个RFID 收费终端的数据传输。应用温度模块获取的数据的无线传输对该系统进行测试,测试结果表明该方案设计的正确性。

1. 引言

    RFID技术,即射频识别技术,是一种通信技术,目前广泛的应用于各种收费场合,例如:公共交通收费的系统,停车场收费的系统等等。目前使用RFID技术系统通常使用RS-485和PC端来进行数据交互,但是RS-485使用的是单主节点,采用轮询的方式,因此存在实时性较低跟通讯效率低的问题。随着计算机科学水平的不断的发展和工业发展的需要,工业控制系统经历基地式仪表控制系统、集中式的数字控制系统、集散控制系统到现在广泛的使用现场总线控制系统的转变。

    CAN总线是一种基于串行通信网络的现场总线。CAN 总线采用的是多主工作方式,网络上的任意节点可以在任意时刻向网络上的其他节点发送信息。同时,CAN总线采用的是非破坏性仲裁技术,当两个或者是更多的节点同时向网络上传送数据,优先级低的节点将会停止发送,直到优先级高的节点发送完数据以后再发送,这样会有效地避免了总线竞争。

    CAN通信距离最远可达10km/5kbps,通信速率最高时可大1Mbps.CAN的每帧数据都是有CRC校验或者是其它检测方式,保证了数据的通信可靠性。当一个CAN 节点发生严重错误的时候,这个节点会自动关闭,因此不影响其它节点的正常工作。CAN 总线是具有可靠性强,实时性高跟效率高等优势,完全可以取代RS 485总线。考虑到了在实际应用环境当中,为减少大量的布线工作,使用2.4G无线网络作为数据从RFID到CAN总线之间传输中转站。

    无线技术是具有成本低、灵活性高、可靠性高与安装时间短等特点。本次的设计使用选nRF24L01 组建无线通信网络,芯片支持多点通信,在接受模式下可接收6路不同通道的数据。也就是无线网络的接收端可接收6个不同发送端的数据,发送端数据是通过RFID模块获得。

  基于以上的讨论,本文将给出一种基于CAN总线与2.4G无线网络的新型RFID收费系统。
  2 RFID收费系统硬件系统设计
  2.1 系统拓扑结构跟系统组成
  2.1.1 系统拓扑结构。

    如图1 所示,RFID 设备的相关数据将通过无线网络传送至CAN 收发器,后者再将数据通过CAN 总线传送至PC 机,PC 机采用带有CAN 接口的PCI-E 扩展卡。此外,无线通讯芯片nRF24L01在接受模式下可接收6路不同通道的数据,以此实现一个CAN节点最多控制6个RFID终端设备数据的传送。在6个RFID 收费终端不能够满足需求的情况下,可添加更多的节点,所有的节点挂载在CAN总线上面,通过CAN总线,每一个节点将数据传送至PC端。
RFID收费系统设计图
 2.1.2 系统组成。
  RFID收费系统(CAN 节点)是由两个子系统组成。B子系统是由单片机、RFID 模块、无线模块、看门狗、液晶屏、时钟模块、按键跟EEPROM组成。 微控制器(MCU)控制RFID模块对Mifare1卡进行了读写操作,无线模块将有关的数据发送给了A子系统。A子系统是由单片机、无线模块、看门狗和CAN 模块组成。MCU将由无线模块接收到的数据通过CAN模块发送到PC端。由于一个节点最多可控制6个RFID设备终端,因此在一个完整的系统里面,A子系统只有1个,而B子系统最多有6 个。

 
2.2 微控制器
  微控制器选用STC89LE58RD+,它具有4 个8 位并行I/O 端口P0~P3,1 个4 位并行端口P4,32KB FLASHROM,1280 字节RAM,3 个定时器,8 个中断源和4个中断优先级的中断系统。它的性能完全满足设计所需。 2.3 CAN 模块
  CAN 总线的硬件实现选用飞利浦公司的SJA1000和PCA82C250.
  2.3.1 SJA1000 芯片介绍。
  SJA1000 是一个独立的 CAN 控制器。它可以支持PeliCAN 模式扩展功能(采用CAN2.0B 协议),具有11位或是29位标识符,64字节的接收的FIFO,具有仲裁机制跟强大的检错能力等。2.3.2 PCA82C250芯片的介绍。
  PCA82C250它是CAN 总线收发器,它主要是为汽车中的高速通讯(高达 1Mbps)应用而设计。它能抗宽范围的工模干扰和电磁干扰(EMI),降低射频干扰(RFI),具有热保护功能。最多能够连接110个节点。
2.3.3 硬件接口连接。
  如图4 所示,P1口作为复用地址/数据总线连接SJA1000 的AD 口,P2.0 和SJA1000 的片选段CS 相连,使得SJA1000 作为单片机外围存储器映射的I/O器件。此外,SJA1000 的RX0、TX0 与PCA82C250的RXD、TXD 相连
 
 2.5 RFID 模块
  2.5.1 MF RC500 芯片介绍。
  RFID 模块选用飞利浦公司的MF RC500,它是目前广泛使用的RFID 芯片之一。MF RC500 支持ISO14443A协议,支持MIFARE 双接口卡,内部有高集成度模拟电路用于应答卡的解调和解码,具有64 字节收发FIFO 缓冲区和非易失性密钥存储器。此外,有专用的中断管脚,支持6 个中断源,可向MCU 发出中断信号。
  2.5.2 MF RC500 硬件接口连接。
  由图6 所示, MCU 将MF RC500 中的寄存器作为外部是的RAM进行访问。INT 管脚悬空,不使用中断的功能。
3 软件系统设计
    在初始化单片机程序当中,子系统A 外部中断设置为低电平触发,子系统A 的中断信号源由nRF24L01提供,当nRF24L01 收到数据之后产生中断信号,通知MCU 来读取数据。子系统B不使用中断功能。  在初始化nRF24L01程序当中,子系统B 配置为发送模式,使用16 位CRC 校验。使用自动应答的功能,数据通道0 被设置为接收应答信号,其数据通道0 的接收地址必须与发送端的地址相等,以此来保证能正确的收到应答信号。一个系统最多可以有六个子系统A 组成,这6 个子系统的发送地址不能重复。子系统A 配置为接收模式,使用16 位CRC 校验,最多接收6 个通道的数据。这6 个接收地址和各子系统B 中的发送地址相等。

    在初试化SJA1000 中,使用PliCAN模式,波特率125Kbps,禁止接受与发送中断;输出控制寄存器配置如下:正常模式,TX 下拉,输出控制极性。此外,需正确配置验收代码寄存器跟验收屏蔽寄存器,此配置用于CAN 总线仲裁功能的实现。 在初始化MF RC500 中,其主要设置如下:TX1和TX2 的输出配置为13.56MHz 能量载波;解码器的输入源为内部的解调器;使用Q 时钟作为接收器的时钟;禁止发送与接收中断;设置RxThreshold 寄存器值为0xFF,BitPhase 寄存器值为0xAD 等。
  复位请求函数将在天线的有效范围内搜索Mifare1 卡,如果有卡存在,将建立通信连接并读取卡上的卡片类型号TAGTYPE.防碰撞函数使MF RC500 在多张Mifare 1 卡选择其中的一张。卡选择函数能够和已知序列号的卡进行通信。认证函数将Mifare 1 卡上的密码和MF RC500 的EEPROM 中的密钥进行匹配。
  只有匹配正确后,才能进行对卡的读写操作。发送停机指令设置Mifare 1 卡为HALT MODE.
  CAN 函数用于将有关数据发送至PC 机。本次设计采用查询方式以确保数据已经发送。通过查询状态寄存器中的标志位TBS、TCS 和TS 即可确认是否数据发送完毕。类似的,在无线函数中为确保数据已经发送,通过查询状态寄存器中的TX_DS 即可。

 
 4 系统测试
  首先,对RFID 模块进行了测试。将MIFARE 1卡放入天线有效范围内,对该卡进行读写操作,并将相关数据显示在液晶屏上。经过该测试,RFID 模块读写正常。
 
  随后,测试该系统传输网络的实时性,本文以温度数据的无线传输进行测试。测量温度的装置为DS18B20 单线温度传感器。将该温度传感器连接至子系统B 中,温度传感器每隔一秒对室内温度采样一次,微控制器读取温度数据并通过无线网络发送给A 子系统,A 子系统接收数据并通过CAN 总线发送至PC 端。
  PC 端使用Visual Basic 6.0 编写上位机程序,上位机将温度数据绘制成曲线并写入文本。温度曲线如图8 所示,其中温度值的精度为1 摄氏度。通过对温度曲线图和文本数据的对比观察,发现温度数据无异常, 数据没有出现丢失情况。
 
5 结语
  本文利用了CAN 总线取代RS-485 总线,克服了后者存在的缺点。同时还使用了无线技术,在减少大量布线工作的同时,充分利用了nRF24L01 多点通讯的功能。在系统搭建完成后,笔者对系统进行了长时间测试。测试结果表明:数据传输稳定,可靠,实时性高,克服了传统基于RS485 总线设计的RFID 收费系统的缺陷,具有较强的使用价值。
 


0

相关信息

RELATED
沈阳博能科技有限公司
地址:沈阳和平区长白二街浑河天地31楼
邮箱:wxy@rfboneng.com
电话:024-83385346 | 15142580885