新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于CAN和2.4G的RFID收费系统

基于CAN和2.4G的RFID收费系统

作者: 时间:2012-10-16 来源:网络 收藏

本文引用地址:https://www.eepw.com.cn/article/153827.htm

2.5 模块

  2.5.1 MF RC500 芯片介绍。

   模块选用飞利浦公司的MF RC500,它是目前广泛使用的 芯片之一。MF RC500 支持ISO14443A协议,支持MIFARE 双接口卡,内部有高集成度模拟电路用于应答卡的解调和解码,具有64 字节收发FIFO 缓冲区和非易失性密钥存储器。此外,有专用的中断管脚,支持6 个中断源,可向MCU 发出中断信号。

  2.5.2 MF RC500 硬件接口连接。

  由图6 所示, MCU 将MF RC500 中的寄存器作为外部RAM进行访问。INT 管脚悬空,不使用中断功能。

基于CAN总线和2.4G无线网络的RFID收费系统

3 软件系统设计

  在初始化单片机程序中,子系统A 外部中断设置为低电平触发,子系统A 的中断信号源由nRF24L01提供,当nRF24L01 收到数据后产生中断信号,通知MCU 来读取数据。子系统B 不使用中断功能。

  在初始化nRF24L01 程序中,子系统B 配置为发送模式,使用16 位CRC 校验。使用自动应答功能,数据通道0 被设置为接收应答信号,其数据通道0 的接收地址必须与发送端的地址相等,以此来保证能正确的收到应答信号。一个系统最多可以有六个子系统A 组成,这6 个子系统的发送地址不能重复。子系统A 配置为接收模式,使用16 位CRC 校验,最多接收6 个通道的数据。这6 个接收地址和各子系统B 中的发送地址相等。

  在初试化SJA1000 中,使用Pli 模式,波特率125Kbps,禁止接受和发送中断;输出控制寄存器配置如下:正常模式,TX 下拉,输出控制极性。此外,需正确配置验收代码寄存器和验收屏蔽寄存器,此配置用于 总线仲裁功能的实现。

  在初始化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.

   函数用于将有关数据发送至PC 机。本次设计采用查询方式以确保数据已经发送。通过查询状态寄存器中的标志位TBS、TCS 和TS 即可确认是否数据发送完毕。类似的,在无线函数中为确保数据已经发送,通过查询状态寄存器中的TX_DS 即可。

基于CAN总线和2.4G无线网络的RFID收费系统

基于CAN总线和2.4G无线网络的RFID收费系统

4 系统测试

  首先,对RFID 模块进行了测试。将MIFARE 1卡放入天线有效范围内,对该卡进行读写操作,并将相关数据显示在液晶屏上。经过该测试,RFID 模块读写正常。 随后,测试该系统传输网络的实时性,本文以温度数据的无线传输进行测试。测量温度的装置为DS18B20 单线温度传感器。将该温度传感器连接至子系统B 中,温度传感器每隔一秒对室内温度采样一次,微控制器读取温度数据并通过无线网络发送给A 子系统,A 子系统接收数据并通过CAN 总线发送至PC 端。

  PC 端使用Visual Basic 6.0 编写上位机程序,上位机将温度数据绘制成曲线并写入文本。温度曲线如图8 所示,其中温度值的精度为1 摄氏度。通过对温度曲线图和文本数据的对比观察,发现温度数据无异常, 数据没有出现丢失情况。

基于CAN总线和2.4G无线网络的RFID收费系统

  5 结语

  本文利用了CAN 总线取代RS-485 总线,克服了后者存在的缺点。同时还使用了无线技术,在减少大量布线工作的同时,充分利用了nRF24L01 多点通讯的功能。在系统搭建完成后,笔者对系统进行了长时间测试。测试结果表明:数据传输稳定,可靠,实时性高,克服了传统RS485 总线设计的RFID 的缺陷,具有较强的使用价值。

电磁炉相关文章:电磁炉原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭