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主机,在执行命令过程中出钞模块不接收命令,直到命令返回。