出钞模块和主机的通信接口采用RS-232C接口,通过CPU的串行口0来实现通信,接口芯片采用MAX3232。MCU的在线编程与通信电路共用CPU的串行口0,二者之间通过跳线来实现接口的转换,在线编程时, PC将产生RST信号,RST信号经过MAX3232转换成TTL电平信号给MCU编程信号PSEN,MCU复位后开始接收下载的程序。
键盘和显示电路的主要功能是在没有外部主机的情况下,维护人员也可以对出钞模块进行相应的操作,通过键盘输入相应的命令,并将执行结果在LED上显示出来。LED显示采用静态方式,通过CPU的串口和74LS164串行移位来实现,大大节省了CPU资源。
图4 控制系统软件主流程图
3.出钞模块控制系统软件设计
3.1出钞模块控制系统软件结构
出钞模块控制软件主要接收ATM主机的控制命令,根据这些命令执行相应的功能操作,并将执行结果送回到ATM主机,因此可以将ATM出钞模块的控制软件划分为通信模块和命令功能模块。通信模块实现ATM出钞模块与ATM主机之间的信息交换,命令功能模块主要实现挖钞命令、送钞命令、 未取钞回收命令、通道清理与复位命令、获取钞箱信息命令、出钞口取钞检测命令和拒绝命令操作,ATM主机通过发送这些命令实现顾客在ATM机上的取款操作。整个控制系统软件主程序如图4所示。
3.2通信模块
出钞模块通信采用中断方式,CPU接收到一个命令包之后,设立一个标志,主程序检测到这个标志后就读取命令包。
出钞模块在执行命令后,以一定格式将命令的执行结果返回到PC主机,在执行命令过程中出钞模块不接收命令,直到命令返回。
3.3命令功能模块
命令功能模块实现挖钞命令、送钞命令、 未取钞回收命令、通道清理与复位命令、获取钞箱信息命令、出钞口取钞检测命令和拒绝命令操作。ATM主机软件在启动时,先要发送通道清理与复位命令,检测出钞模块的状态;进行一次完整的取款操作需要依次发送获取钞箱信息命令、挖钞命令、送钞命令和出钞口取钞检测命令;如果在规定的时间内检测到钞票没有取走,则发送未取钞回收命令,将出钞口钞票回收,拒绝命令是在挖钞命令执行出错的时候发送。每个命令都必须按照这个顺序来发送,否则被视为非法命令,不予执行。
1)通道清理与复位命令
此命令的主要功能是复位出钞模块内部寄存器、清理挖钞通道和送钞通道,如果有残余钞票在通道中,则将其送入回收箱,同时检测各个部件是否正常。ATM主机软件在启动时,首先要发送此命令对出钞模块进行通道清理和复位,出钞模块将相应的执行结果返回到控制主机,如果出钞模块有故障返回码,表示出钞模块不能正常工作,ATM主机控制软件需要停止取款的功能,并给出相应的故障提示,等待维护。
2)获取钞箱信息命令
此命令的主要功能是出钞模块将模块中钞箱的配置信息,包括各个钞箱中钞票的面额和币种信息返回给主机控制软件,在有取款操作时,主机控制软件通过这些信息来分配每个钞箱的出钞数量。
3)挖钞命令
此命令的功能是执行主机控制软件所分配的各个钞箱的出钞数量,在对每个通道钞箱进行挖钞操作时,都要对钞票进行检测,如果有尺寸或者厚度不合格的,则打开分拣器将其送入废钞箱中,将合格的钞票送到叠钞板上,整个命令执行完成后将各个钞箱的出钞数量和废钞数量返回到主机,等待主机控制软件发送下一个命令,即送钞命令。
4)送钞命令
此命令的主要功能是把叠钞板上的钞票送到闸门口,取款人就可以将钞票拿走。
5)出钞口检测命令
此命令的主要功能是检测闸门口的钞票是否被拿走,并将信息返回到主机,如果检测到钞票已经拿走,机械手将回到原始位置。
6)未取钞回收命令
如果在银行规定的时间内(一般是30秒,时间由主机控制软件控制)闸门口的钞票都未拿走,主机控制软件将发送此命令,通知出钞模块将闸门口钞票回收,送入回收箱中。
7)拒绝命令
在挖钞命令执行过程中出现了故障,整个命令未成功执行,或者是挖钞命令执行成功,但由于某些原因,不能进行送钞操作,此时主机控制软件需要发送拒绝命令,通知出钞模块将叠钞板上的钞票送入回收箱中。
结束语:
本文提出的基于TI公司
单片机MSC1210Y5PAGT设计的ATM出钞模块的控制电路,经运行,系统可靠,稳定。对于研制国产ATM出钞模块具有重要的借鉴意义。