侵权投诉
订阅
纠错
加入自媒体

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

2012-09-13 14:25
空白小盒子
关注

  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 即可。

图7 子系统A 软件流程

▲图7 子系统A 软件流程

图8 子系统B 软件流程图

▲图8 子系统B 软件流程图

  4 系统测试

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

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

图9 温度曲线图

▲图9 温度曲线图

  5 结语

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

<上一页  1  2  3  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号