首页 > 范文大全 > 正文

硬币兑换模块的有限状态机设计法

开篇:润墨网以专业的文秘视角,为您筛选了一篇硬币兑换模块的有限状态机设计法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:根据目前硬币兑换模块在轨道交通AFC设备及自动售货机等设备上运用的详细需求,提出基于有限状态机的硬币兑换模块设计方案,并着重阐述以可编程逻辑器件为硬件基础的有限状态机的设计思路。

关键词:兑换;轨道交通;自动售货机;有限状态机;可编程逻辑器件

中图分类号:TN492 文献标识码:A 文章编号:1674-7712 (2013) 02-0104-01

随着科学技术的发展,各种面向大众的智能自动售货终端设备遍布街头巷尾,城市轨道的建设突飞猛进,这些智能化的自动设备完全跟上了城市现代化的发展节奏,同现代化的城市融为一体。而这些设备的必备功能就是能够接收硬币,并能兑换硬币。过去,硬币兑换模块基本由标准数字逻辑器件组成,电路庞大、功能固定、连线过多且可靠性较低。目前,硬币兑换模块大多围绕单片机搭建而成。虽然性能较之以前有明显提高,但工作速度不高,且编程难度较大。作者在研究了多家硬币兑换模块产品,并阅读了大量文献的基础上,对硬币兑换模块的核心部分做了改进。以可编程逻辑器件为硬件基础,采用有限状态机的编程思想。电路运行速度快,程序容易实现,易于功能扩展,同时模块集成度更高、性能更稳定。

一、功能要求

硬币找零机接受5角和1元的硬币,找出的为1角的硬币。在投入5角和1元的硬币后,按“兑换”按钮即实现硬币的兑换过程。如果投入的为5角硬币,则找出5个1角的硬币;如果投入的为1元硬币,则找出的为10个1角的硬币。一次可兑换的最大硬币量为1元,如果更多的硬币被投入,它将会被吐出而不会被兑换。

二、硬件方案

压力传感器将投入硬币的重量转换成电压或电流信号,再连接运算放大电路将微弱信号放大,然后通过整流滤波电路,得到稳定的直流信号。处理好的模拟信号输入到模数转换器中转换成数字信号,此信号作为输入矢量被可编程逻辑器件接收,通过状态机的处理输出,经译码电路产生动作信号,最后由驱动电路控制执行部件完成兑换动作[1]。设计方案如图1所示。

三、有限状态机的设计

状态机的输入信号为:无输入NO_INPUT、投入一个5角硬币QUARTER2、投入一个1元硬币QUARTER4、兑换CHANGE。输出信号为:无输出NO_OUTPUT、输出5个1角硬币DIM5、输出10个1角硬币DIM10、吐出一个5角硬币QUARTER2、吐出一个1元硬币QUARTER4。可能的三个状态分别为:没有硬币NO_CREDIT、有1个5角硬币STATE1、有1个1元硬币STATE2。实现硬币兑换操作的有限状态机的状态图如图2所示。

当没有输入任何钱币到机器中时,状态为NO_CREDIT,表示没有需要兑换的输入。此时如果按CHANGE按钮,则没有输出(NO_OUTPUT);如果没有投入硬币(NO_INPUT),则没有输出(NO_OUTPUT);如果投入1个5角的硬币,则状态变为STATE1,但没有输出(NO_OUTPUT);如果投入1个1元的硬币,则状态变为STATE2,但没有输出(NO_OUTPUT)。

当处于有1个5角硬币的状态STATE1时,如果没有再投入硬币(NO_INPUT),则没有输出(NO_OUTPUT);如果按CHANGE按钮,则输出5个1角的硬币(DIM5);如果再投入1个5角的硬币(输入QUARTER2),则状态变为STATE2,但没有输出(NO_OUTPUT);如果再投入1个1元的硬币(输入QUARTER4),投入的1元硬币被吐出(输出QUARTER4)。

当处于1个1元硬币或2个5角硬币状态STATE2时,如果没有再投入硬币(NO_INPUT),则没有输出(NO_OUTPUT);如果按CHANGE按钮,则输出10个1角的硬币(DIM10);如果再投入1个5角的硬币(输入QUARTER2),投入的5角硬币被吐出(输出QUARTER2)。如果再投入1个1元的硬币(输入QUARTER4),投入的1元硬币被吐出(输出QUARTER4)。

参考文献:

[1]曹占生.单片机控制的自动找零系统的设计[J].铁路计算机应用,2001,10,1.

[2]江思敏.VHDL数字电路及系统设计[M].北京:机械工业出版社,2006.