基于CAN和2.4G的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 硬件系统设计

2.1系统拓扑和系统组成

2.1.1系统拓扑。

如图1所示,与RFID设备相关的数据通过无线网络传输到CAN收发器,CAN收发器又通过CAN总线将数据传输到PC,CAN总线使用带CAN接口的PCI-E扩展卡。另外,无线通信芯片nRF24L01可以在接受模式下接收6个不同信道的数据,从而实现一个CAN节点最多6个RFID终端设备的数据传输。在六个RFID充电终端不能满足需求的情况下,可以添加更多节点,所有节点都安装在CAN总线上,并且每个节点通过CAN总线将数据传输到PC。

620)this.style.width=620;” border=0 alt=基于RFID和2.4G的RFID充电系统src='http://images.rfidworld.com.cn/FileUpLoadSavePath/2013-12/580c0e3aef4a6969084.jpg'>

2.1.2系统组成。

该系统(CAN节点)由两个子系统组成。 B子系统包括微控制器,RFID模块,无线模块,看门狗,LCD屏幕,时钟模块,按钮和EEPROM。微控制器(MCU)控制RFID模块读取和写入Mifare 1卡,无线模块将相关数据发送到A子系统。 A子系统由微控制器,无线模块,看门狗和CAN模块组成。 MCU通过CAN模块将通过无线模块接收的数据发送到PC。由于节点可以控制多达六个RFID设备终端,因此在一个完整的系统中只有一个A子系统和六个B子系统。

620)this.style.width=620;” border=0 alt=基于CAN和2.4G的RFID充电系统src='http://images.rfidworld.com.cn/FileUpLoadSavePath/2013-12/72148ffe669047a2568.jpg'>

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。

620)this.style.width=620;” border=0 alt=基于RFID和2.4G的RFID充电系统src='http://images.rfidworld.com.cn/FileUpLoadSavePath/2013-12/799587b7a1cb6a4fb6e.jpg'>

2.4无线模块

2.4.1 nRF24L01芯片简介。

无线芯片使用nRF24L01。它是一款2.4GHz无线射频收发器芯片,传输速率高达2Mbps,支持125种可选工作频率,并具有地址和CRC校验功能,可提供SPI接口。

有专用的中断引脚,支持3个中断源,可以向MCU发送中断信号。它具有自动应答功能,在确认接收到数据后记录地址,并发送响应信号,地址为目标地址。支持ShockBurstTM模式,其中nRF24L01可以连接到低速MCU。 nRF24L01可以在接收模式下从6个不同的通道接收数据。

2.4.2 nRF24L01硬件接口连接。

如图5所示,微控制器通过模拟SPI总线时序与nRF24L01通信。其外部中断引脚IRQ连接到微控制器的P3.2(外部中断0)。

620)this.style.width=620;” border=0 alt=基于CAN和2.4G的RFID充电系统src='http://images.rfidworld.com.cn/FileUpLoadSavePath/2013-12/268bdae4d6ff8de5b68.jpg'>

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引脚悬空,不使用中断功能。

620)this.style.width=620;” border=0 alt=基于CAN和2.4G的RFID充电系统src='http://images.rfidworld.com.cn/FileUpLoadSavePath/2013-12/768862c1061d7206f78.jpg'>

  3 软件系统设计

在微控制器程序的初始化中,子系统A的外部中断设置为低电平触发,子系统A的中断信号源由nRF24L01提供。当nRF24L01接收数据时,它会产生一个中断信号,通知MCU读取数据。子系统B不使用中断功能。

在初始化nRF24L01程序时,子系统B配置为发送模式并使用16位CRC校验。使用自动应答功能,数据通道0设置为接收确认信号,数据通道0的接收地址必须等于发送器的地址,以确保正确接收确认信号。系统最多可包含六个子系统A,并且这六个子系统的发送地址不能重复。子系统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。

620)this.style.width=620;” border=0 alt=基于CAN和2.4G的RFID充电系统src='http://images.rfidworld.com.cn/FileUpLoadSavePath/2013-12/799cbe88efbb43546db.jpg'>

620)this.style.width=620;” border=0 alt=基于CAN和2.4G的RFID充电系统src='http://images.rfidworld.com.cn/FileUpLoadSavePath/2013-12/955e1c7a11a51563e35.jpg'>

  4 系统测试

首先,测试了RFID模块。将MIFARE 1卡放入天线的有效范围,读写卡,并在LCD屏幕上显示相关数据。在此测试之后,RFID模块正常读写。随后,测试了系统传输网络的实时性能。本文用无线传输温度数据进行测试。用于测量温度的设备是DS18B20单线温度传感器。温度传感器连接到子系统B.温度传感器每秒对室内温度进行采样。微控制器读取温度数据并通过无线网络将其发送到A子系统。 A子系统接收数据并通过CAN总线发送。到PC方面。

PC端使用Visual Basic 6.0编写主机程序,主机将温度数据绘制成曲线并写入文本。温度曲线如图8所示,温度值为1摄氏度。通过比较温度图和文本数据,发现温度数据没有异常,数据也没有丢失。

620)this.style.width=620;” border=0 alt=基于CAN和2.4G的RFID充电系统src='http://images.rfidworld.com.cn/FileUpLoadSavePath/2013-12/736b98843ba55797de3.jpg'>

  5 结语

本文采用CAN总线代替RS-485总线,克服了后者的缺点。同时,无线技术用于充分利用nRF24L01多点通信功能,同时减少大量布线工作。系统建成后,作者对系统进行了长期测试。测试结果表明,数据传输稳定,可靠,高效,克服了传统的基于RS485总线设计的RFID充电系统的缺陷,具有很强的使用价值。

1
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除。