- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简易地铁自动售票系统设计方案设计制作一个简易地铁自动售票系统。基本要求:地铁票价统一为每张两元,只能投入币值为五元的人民币进行购票。能够开机自检,检验显示器件正常。通过按键开关BTN输入购票张数和投入的人民币张数并恰当显示相应信息。设置适当的声音提示或显示提示表示取票和找零。一次购票成功后系统能够恰当地转入下一次购票等待状态。系统能够复位。提高要求:将投币种类增加为1元、5元和10元三种。系统设计设计思路购买车票时,乘客按“开始购票”按钮开始购票;接着,选择车票的种类,即单价,分2元、4元、6元;选择购票数量,一次购票数限制在3张以内,选择1张、2张、3张;然后,进入投币阶段,投入钱币,投入的钱币设计为1元、5元、10元币种;当投入的钱币达到所需金额时,系统进入出票以及找零状态,售票机自动出票,并自动找出余额;然后,再次点击“开始购票”进行另一次购票。选择出站口或投币过程中,乘客都可以按“取消”按钮取消该次交易。选择出站口的过程中,若按“取消”按钮,则售票机直接进入到找零状态;投币过程中,若按“取消”,则售票机将乘客已经投入的钱币全部退出,即进入找零状态,。客人一次只能选择一个车票种类。3种票类型用3位二进制向量编码表示,即001表示选择2元车票,010表示选择2元车票,100选择2元车票。实验之前设计的是3种票类型用2位二进制码表示,因为考虑到仿真及下载到实验板模拟的方便,遂将之改为3位,使之每一个类型用一个按键控制。票机的进币口可识别三种纸币,仿照c)中模式,拟用长度为3的二进制表示。乘客可以连续多次投入钱币,并且可以以任意顺序投入。纸币最多可以投入27元。用5位二进制数表示5个状态,分别是状态程序标示代表状态00001Selstyle等待选择票种状态00010Selticket等待选择购票数量状态00100Inputmoney等待放入钱币状态01000Ticketout出票状态10000Givechagne找零状态系统总体框图图1图2图3图4图5图6分模块设计经过分析, 本地铁自动售票系统的设计需要实现以下几项主要功能: 票种选择, 票数选择, 投币处理, 出票及余额找零.本系统可以采用模块化设计和有限状态机的设计方案来实现。 采用模块化设计方法即从整个系统的功能出发, 将系统的整体逐步分解为若干个子系统和模块,然后用VHDL语言对各个模块进行编程,最后形成顶层文件,在QuartusⅡ环境下进行编译与仿真,检查所编程序是否运行正确。如果出现错误,需要进行修改,直到完全通过为止。采用模块化设计的优点在于:对设计的描述从上到下逐步由粗略到详细,符合常规的逻辑思维习惯。便于由多个设计者同时进行设计从而加速整个项目的开发进度;每个子模块都能够灵活使用综合和实现工具独立进行优化,从而达到更好的优化结果;调试、更改某个子模块时,不会影响其他模块的实现结果,保证了整个设计的稳定性与可靠性。 有限状态机(Finite State Machine,简称FSM)是指输出向量不仅依赖于当前输入向量,也依赖于过去输入向量序列的电路.一个有限状态机电路由寄存器逻辑(时序逻辑)和组合逻辑组成. 有限状态机是数字逻辑电路以及数字系统的重要组成部分,尤其应用于数字系统核心部件的设计,以实现高效率高可靠性的逻辑控制。一般有限状态机的VHDL组成 :说明部分:主要是设计者使用TYPE语句定义新的数据类型,如: TYPE states IS (st0, st1, st2, st3, st4, st5); SIGNAL present_state, next_state: states;主控时序逻辑部分:任务是负责状态机运转和在外部时钟驱动下实现内部状态转换的进程。时序进程的实质是一组触发器,因此,该进程中往往也包括一些清零或置位的输入控制信号,如Reset信号。主控组合逻辑部分:任务是根据状态机外部输入的状态控制信号(包括来自外部的和状态机内部的非进程的信号)和当前的状态值current_state来确定下一状态next_state的取值内容,以及对外部或对内部其他进程输出控制信号的内容。辅助逻辑部分:辅助逻辑部分主要是用于配合状态机的主控组合逻辑和主控时序逻辑进行工作,以完善和提高系统的性能。 无论与基于VHDL的其它设计方案相比,还是与可完成相似功能的CPU相比,状态机都有其难以逾越的优越性,它主要表现在以下几方面: 由于状态机的结构模式相对简单,设计方案相对固定,特别是可以定义符号化枚举类型的状态,这一切都为VHDL综合器尽可能发挥其强大的优化功能提供了有利条件。而且,性能良好的综合器都具备许多可控或不可控的专 门用于优化状态机的功能。状态机容易构成性能良好的同步时序逻辑模块,这对于对
文档评论(0)