ATM出钞模块的控制系统设计
前言
ATM机的核心部件是出钞模块,它是集电子、机械于一体的自动化装置,到现在为止,只有几个发达国家可以研发和制造,但随着我国机械制造和自动控制技术的提高,完全有能力研制出适合中国国情的ATM出钞模块。
ATM出钞模块的结构
ATM出钞模块一般由上、下两层功能模块组成:上层为验钞、送钞及废钞回收模块;下层为钞箱及挖钞模块(由1~4个结构相同的挖钞单元组成),其结构示意图如图1所示。
验钞及送钞模块的作用是对由供钞模块挖出的每张钞票进行高度、厚度以及倾斜度进行检测,通过控制分拣器把不合格的钞票送进废钞箱,而合格的钞票则送到叠钞器,最后由送钞机械手把整叠的钞票送到出钞口,完成一次出钞操作。如客户超时不取款,则把钞票收回并放到回钞箱里。
挖钞模块的作用是放置钞箱并根据指令把钞票从钞箱中一张一张地挖出来,挖钞方式有两种:真空吸钞和摩擦出钞。这两种方式各有千秋,真空吸钞精确可靠,容易维护,但出钞速度较慢(1~2张/秒),目前只有NCR公司使用。而摩擦出钞技术的优点是出钞速度快(5~7张/秒),为绝大部分ATM厂商所采用。
图1 ATM出钞模块结构示意图
ATM出钞模块控制系统的硬件设计
整个控制系统的主要功能就是通过各种电子电路驱动电磁阀、单、双向电机和步进电机,以实现对整个出钞模块的所有机械部件的动作,并对各种开关量输入(如光电感应器、微动开关、高低电平等)和各种物理参数测量电路的直流电压信号(如单张、整叠钞票厚度)做实时、连续的检测,根据检测结果及时调整机械部件的动作,保障顾客在取钞过程中的正确、安全稳定运行。同时,在运行过程中出现故障时能够记录故障状态,给出错误代码,并进行相应的故障处理,为维护人员提供准确的参考数据。控制系统的硬件结构如图2所示。
图2 控制系统的硬件结构
MSC1210Y5单片机简介
MSC1210Y5PAGT是TI公司生产的集成数字/模拟混合信号单片机,具有运行速度快、功耗低等特点,其时钟频率最高可达33 MHz,运行速度高达825 MIPS,具有很强的数据处理能力;芯片内集成了大量的模拟和数字外围模块:内含32KB的Flash程序存储器,并具有多重密码锁死(LOCK)功能,保密性较强。在对Flash程序存储器编程方面,可通过SPI串行接口或一般的编程器进行重新编程,因而可对用MSC1210Y5组成的系统进行在系统编程,给新产品的开发、老产品升级和维护带来极大的方便。单片机内还包含8通道模拟信号输入,1~128倍可编程增益放大器、24位高精度A/D转换器,非常适合钞票厚度检测等模拟信号的处理。
钞票厚度信号采集电路
本系统采用电涡流传感器对钞票的厚度进行采集,电涡流传感器能静态和动态的非接触、高线性度、高分辨率地测量被测金属导体表面与探头表面的距离,将位置信号转换成模拟电压信号,然后通过CPU内部的24位高精度ADC进行转换,检测精度可以达到0.0005mm。
CPLD电路
为了简化硬件电路结构,提高系统的集成度和可靠性,同时,也减轻应用系统中处理器的负担,采用了基于CPLD 的步进电机控制电路,把处理器接口逻辑、步进电机转速和转动角度控制、环形脉冲分配器、斩波恒流驱动逻辑等几个模块在一个CPLD 器件中实现,实现系统的挖钞时序控制。步进电机控制的逻辑如图3所示。
图3 步进电机控制的逻辑图
通信和在线编程电路
出钞模块和主机的通信接口采用RS-232C接口,通过CPU的串行口0来实现通信,接口芯片采用MAX3232。MCU的在线编程与通信电路共用CPU的串行口0,二者之间通过跳线来实现接口的转换,在线编程时, PC将产生RST信号,RST信号经过MAX3232转换成TTL电平信号给MCU编程信号PSEN,MCU复位后开始接收下载的程序。
键盘和显示电路
键盘和显示电路的主要功能是在没有外部主机的情况下,维护人员也可以对出钞模块进行相应的操作,通过键盘输入相应的命令,并将执行结果在LED上显示出来。LED显示采用静态方式,通过CPU的串口和74LS164串行移位来实现,大大节省了CPU资源。
图4 控制系统软件主流程图
出钞模块控制系统软件设计
出钞模块控制系统软件结构
出钞模块控制软件主要接收ATM主机的控制命令,根据这些命令执行相应的功能操作,并将执行结果送回到ATM主机,因此可以将ATM出钞模块的控制软件划分为通信模块和命令功能模块。通信模块实现ATM出钞模块与ATM主机之间的信息交换,命令功能模块主要实现挖钞命令、送钞命令、 未取钞回收命令、通道清理与复位命令、获取钞箱信息命令、出钞口取钞检测命令和拒绝命令操作,ATM主机通过发送这些命令实现顾客在ATM机上的取款操作。整个控制系统软件主程序如图4所示。
通信模块
出钞模块通信采用中断方式,CPU接收到一个命令包之后,设立一个标志,主程序检测到这个标志后就读取命令包。
出钞模块在执行命令后,以一定格式将命令的执行结果返回到PC主机,在执行命令过程中出钞模块不接收命令,直到命令返回。
命令功能模块
命令功能模块实现挖钞命令、送钞命令、 未取钞回收命令、通道清理与复位命令、获取钞箱信息命令、出钞口取钞检测命令和拒绝命令操作。ATM主机软件在启动时,先要发送通道清理与复位命令,检测出钞模块的状态;进行一次完整的取款操作需要依次发送获取钞箱信息命令、挖钞命令、送钞命令和出钞口取钞检测命令;如果在规定的时间内检测到钞票没有取走,则发送未取钞回收命令,将出钞口钞票回收,拒绝命令是在挖钞命令执行出错的时候发送。每个命令都必须按照这个顺序来发送,否则被视为非法命令,不予执行。
1通道清理与复位命令
此命令的主要功能是复位出钞模块内部寄存器、清理挖钞通道和送钞通道,如果有残余钞票在通道中,则将其送入回收箱,同时检测各个部件是否正常。ATM主机软件在启动时,首先要发送此命令对出钞模块进行通道清理和复位,出钞模块将相应的执行结果返回到控制主机,如果出钞模块有故障返回码,表示出钞模块不能正常工作,ATM主机控制软件需要停止取款的功能,并给出相应的故障提示,等待维护。
2获取钞箱信息命令
此命令的主要功能是出钞模块将模块中钞箱的配置信息,包括各个钞箱中钞票的面额和币种信息返回给主机控制软件,在有取款操作时,主机控制软件通过这些信息来分配每个钞箱的出钞数量。
3挖钞命令
此命令的功能是执行主机控制软件所分配的各个钞箱的出钞数量,在对每个通道钞箱进行挖钞操作时,都要对钞票进行检测,如果有尺寸或者厚度不合格的,则打开分拣器将其送入废钞箱中,将合格的钞票送到叠钞板上,整个命令执行完成后将各个钞箱的出钞数量和废钞数量返回到主机,等待主机控制软件发送下一个命令,即送钞命令。
4送钞命令
此命令的主要功能是把叠钞板上的钞票送到闸门口,取款人就可以将钞票拿走。
5出钞口检测命令
此命令的主要功能是检测闸门口的钞票是否被拿走,并将信息返回到主机,如果检测到钞票已经拿走,机械手将回到原始位置。
6未取钞回收命令
如果在银行规定的时间内(一般是30秒,时间由主机控制软件控制)闸门口的钞票都未拿走,主机控制软件将发送此命令,通知出钞模块将闸门口钞票回收,送入回收箱中。
7拒绝命令
在挖钞命令执行过程中出现了故障,整个命令未成功执行,或者是挖钞命令执行成功,但由于某些原因,不能进行送钞操作,此时主机控制软件需要发送拒绝命令,通知出钞模块将叠钞板上的钞票送入回收箱中。
结语
由于篇幅所限,本文只能从出钞模块控制系统的功能着手对整个控制系统做一个简单的介绍。本文所介绍的出钞模块控制系统已应用于ATM机中,实践证明,系统可靠、稳定。
参考文献
1.邓宏彬等编著.MSC121X系统级单片机原理与应用. 北京:机械工业出版社,2004
2.艾克武等译. 嵌入式系统的C程序设计.机械工业出版社,2002
评论