来源:中国一卡通网 作者:不详 发布时间:2012-04-28 09:48:51 字体:[大 中 小]
关键字:读卡器 S3C6410微处理器
摘 要:针对民用航空领域的应用需求,设计了一款基于S3C6410微处理器的RFID读卡器,给出了具体的硬件设计方案,详细介绍了LINUX下应用程序与底层驱动的工作流程,最后印证了系统运作的可靠性。该读卡器支持多种协议,支持LINUX操作系统,支持3.5寸触摸屏,可通过串口或者GPRS与上位机的SQL数据库通信,与其他采用单片机或者低主频ARM 微处理器的读卡器相比具有方便、快捷、用户体验良好等特性。
图3 QT应用程序流程。
射频驱动程序在收到应用程序发来的报文后,除去报头与校验位,通过case语句判断命令代码,然后跳转到相应的子程序,子函数通过驱动程序对RC632的寄存器进行设置,实现射频操作。读取RC632数据时,MOSI线的第一个字节设置模式与地址:具体来说,第0位设置为1,第1位到第6位为地址,第7位设置为0,MOSI线的其他字节均按此设置。MISO线的第一个字节保留,从第二个字节开始为从RC632返回的数据。对RC632写入数据时,MOSI线的第一字节代表地址,从第二个字节开始为写入RC632的数据,此时MISO线没有启用。
驱动RC632时,首先设置信道校验寄存器,把第0,2比特置1(启用奇偶校验与CRC校验),然后把控制寄存器第3比特清零(不启用数据加密),接着把0x07写入比特结构控制器,最后一步是设置发射控制寄存器为0x03(在管脚TX2发送未经调制的13.56MHz连续载波)。设置完寄存器状态后,RC632便可与电子铅封进行通信。通信过程中的寄存器操作包含以下几个步骤:
1)置中断使能与中断请求2个寄存器为0x07,设置命令寄存器,取消当前命令;2)清除FIFO BUF读写指针(即FIFO[6:0]清零),设置中断使能寄存器,提示标志位已经设置;3)依次把数据写入到FIFO BUF,把数据从天线发送出去;4)设置命令寄存器,激活要执行的命令,读取错误标志寄存器,判断是否出错;5)等待规定的时间,然后读FIFO BUF,把天线接收的数据读取到RC632中;6)置中断时能与中断请求2个寄存器为0x07,设置控制寄存器,停止定时器,设置命令寄存器,取消当前命令。
3 现场实测和上位机SQL数据库通信实例
在现场测试过程中,分别对电子铅封的扇区4,扇区16,扇区33各进行了20次操作,其中只有对扇区16的一个写过程中出现了数据丢失情况,这显示出了稳定的操作性能。表2是读卡器对货物的电子铅封进行数据写入与读出的实例:先写入内容11220003,然后再把写入的内容读出,其操作的扇区为04号,设置密码为FFFFFFFFFF.
读出的数据传输到上位机SQL 数据库后的界面如图4所示。
表2 现场实测电子铅封读写数据。
图4 数据传输到数据库的界面
4 结 论
提出了基于S3C6410微处理器的高主频射频识别读卡器,实现了读卡、写卡与上传数据到数据库的功能。实验表明该读卡器具有良好的稳定性与实用性,适合于民用航空领域的应用。该读卡器系统对于民航物流的发展提高具有一定的参考价值和应用前景。
推荐文章
论坛热帖