摘 要:针对传统基于RS-485 总线的射频识别技术(RFID)收费系统具有实时性差和通讯效率低的缺点,提出了一种基于CAN 总线和2.4G 无线网络的新型RFID 收费系统。该系统采用2.4G 无线网络环境,使一个CAN 节点能够控制六个RFID 收费终端的数据传输。应用温度模块获取的数据的无线传输对该系统进行测试,测试结果表明该方案设计的正确性。
1 引言
RFID(Radio Frequency IDentification)技术,即射频识别技术,是一种通信技术,目前广泛应用于各种收费场合,例如:公共交通收费系统,停车场收费系统等等。目前使用RFID 技术的系统通常使用RS-485 和PC 端进行数据交互,但是RS-485 使用单主节点,采用轮询方式,因此存在实时性较低和通讯效率低的问题。
随着计算机科学水平的不断飞跃和工业发展的需要,工业控制系统经历了基地式仪表控制系统、集中式数字控制系统、集散控制系统到现在广泛使用的现场总线控制系统的转变。CAN(Controller Area Net)总线是一种基于串行通信网络的现场总线。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 硬件系统设计
2.1 系统拓扑结构和系统组成
2.1.1 系统拓扑结构。
如图1 所示,RFID 设备的相关数据将通过无线网络传送至CAN 收发器,后者再将数据通过CAN 总线传送至PC 机,PC 机采用带有CAN 接口的PCI-E 扩展卡。此外,无线通讯芯片nRF24L01 在接受模式下可以接收6 路不同通道的数据,以此来实现一个CAN节点最多控制6 个RFID 终端设备的数据传送。在6个RFID 收费终端不能满足需求的情况下,可以添加更多的节点,所有节点挂载在CAN 总线上,通过CAN总线,每个节点将数据传送至PC 端。
图1 系统拓扑结构图
2.1.2 系统组成。
本系统(CAN 节点)有两个子系统组成。B 子系统由单片机、RFID 模块、无线模块、看门狗、液晶屏、时钟模块、按键和EEPROM 组成。微控制器(MCU)控制RFID 模块对Mifare 1 卡进行读写操作,无线模块将有关的数据发送给A 子系统。A 子系统由单片机、无线模块、看门狗和CAN 模块组成。MCU 将经由无线模块接收到的数据通过CAN 模块发送至PC 端。由于一个节点最多可以控制6 个RFID 设备终端,因此在一个完整的系统里,A 子系统只有1 个,而B 子系统最多可以有6 个。
图2 子系统A 组成框图
图3 子系统B 组成框图。
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 相连。
图4 SJA1000 和PCA82C250 接口连接示意图
2.4 无线模块
2.4.1 nRF24L01 芯片介绍。
无线芯片选用nRF24L01.它是2.4GHz 无线射频收发芯片,传送速率高达2Mbps,支持125 个可选工作频率,具有地址和CRC 校验功能,提供SPI 接口。
有专用的中断管脚,支持3 个中断源,可向MCU 发出中断信号。具有自动应答功能,在确认收到数据后记录地址,并以此地址为目标地址发送应答信号。支持ShockBurstTM 模式,在此模式下,nRF24L01 可以与低速MCU 相连。nRF24L01 在接收模式下可以接收6 路不同通道的数据。