Atmega16L控制的刷卡消费计量系统

时间:2020-08-11 18:28:15 MBA毕业论文 我要投稿

关于Atmega16L控制的刷卡消费计量系统

  引言

  随着智能 IC 卡的普及,人们的衣食住行逐渐与IC 卡息息相关起来,对IC 卡的安全性、实用性也普遍提高。容量小、结构简单、安全性能差的磁卡正逐步淘汰,接触式IC 卡克服了磁卡的种种缺点应运而生,占据了绝大部分市场,然而非接触式IC 卡的出现将会给其带来巨大的挑战。非接触式IC 卡避免了接触读写带来的各种故障,如接触不良、污垢、粗暴插拔带来的损坏等,同时读写器与IC 卡实施双向密码鉴别制,安全性更好[1]。

  本文提到的刷卡消费系统中读卡器芯片 FM1702LS 便是针对基于ISO14443 协议的非接触式IC 卡设计的。该系统采用了射频自动识别技术开发的非接触式读卡器,在安全性、耐用性、防听、防解密方面将会有较大的优势,同时非接触式IC 卡采用的是1994 年由荷兰NXP 半导体公司发明的MIFAREI,操作简单、成本低、抗干扰能力强、安全可靠、且有多个扇区,该存储特点能使它一卡多用,应用于不同的.场合或系统,从而真正实现“一卡通”。

  1 系统组成及工作原理

  如所示为该系统大致结构,主要由PC、RS232 通信接口、MCU(Atmega16L)、读卡芯片FM1702LS、非接触式IC 卡(MF1ICS50)、语音芯片(AP8942A),还包括语音功放、滤波等电路模块。其中天线该系统采用的是矩形设计。

  整个读卡器模块通过直流 5V 输出的电源适配器供电,经滤波、稳压为3.3V 供MCU 工作。通过在线调试SPI 接口初始化读卡器芯片,读卡器模块不间断的通过天线向外发送13.56MHz 的调制信号,进行寻卡,用户所购物品金额通过串口发送到单片机缓存寄存器,语音提示消费者刷卡,当M1 非接触式IC 卡靠近感应区,卡与读卡芯片进行信息交互,FM1702 通过SPI 接口向AVR 单片机上传用户卡内信息,扣除消费金额,通过串口上传用户消费信息给PC,与此同时PC 检索IC 卡序列号在数据库中对应的用户信息并更新,通过网络上传到后台服务器。

  2 系统硬件设计

  2.1 基于 Atmega16L 控制的读卡器电路

  该单片机与 FM1702LS 间主要电路是SPI 接口,通过它实现数据的交互,FM1702 接受单片机发送的指令,执行相应的操作,配置相应寄存器,初始化读卡器芯片,通过TX1、TX2 不断经天线发送13.56M 调制信号,接收脚Rx 等待接收IC 卡发送用户数据。读卡器的硬件电路原理图如所示。

  2.2 天线设计

  天线是非接触式IC 卡读写模块的一个重要组成部分,是无源MIFARE 卡能量的来源。当M1 卡接近刷卡区,卡片内与读卡器发射频率相同的LC 串联谐振电路,在电磁波的激励下产生共振,从而使电容有了电荷,通过电子泵积累电荷达到2V 时,可供卡内电路工作,M1 卡将卡内数据发射出去或接受读卡器的数据[2]。

  影响天线设计的主要因素有两个,最大磁通量和带宽。根据ISO14443 标准要求,各参数优化后天线与IC 卡通信距离可达10cm。从互感的原理可知,天线的半径越大,匝数越多,互感系数越大,但长度也有一定的限制。该系统天线采用的是PCB 印制矩形设计,对于13.56MHz 的系统来说,天线的最大尺寸在50cm 左右。

  2.3 语音模块设计

  如图所示,本系统语音模块采用的是CPU 并口触发模式,通过Atmega16L 上PA0-7的8 个I/O 口模拟并口实现与语音芯片AP8942a 间的寻址通信,SBT 为片选信号引脚,置高时读取并口地址信息,语音芯片输出地址对应段所烧录的语音信号,后经放大滤波,扬声器播报语音提示。

  3 系统软件流程

  系统的工作流程大致可分为以下几个步骤:

  3.1 刷卡请求

  系统上电复位后,读卡器自动寻卡。若PC 机未发送消费金额,则单片机中存储消费金额的缓存空间数据清零,用户刷卡后可查看所剩金额,扣款为零;若PC 机通过串口向单片机发送消费者消费金额,单片机判断所发送的数据格式是否正确或是否在单笔消费限额之内,语音提示刷卡或无效操作。