




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长沙理工大学通信电路EDA课程项目报告系别水利计通系专业通信工程班级通信1003班指导教师单树明项目组组长陈希超学号201085250327项目组成员黄诗扬学号201085250319项目组成员刘明睿学号201085250332项目组成员李明学号201085250334完成日期2012年11月8日地铁售票控制系统设计1引言1项目描述用于模仿地铁售票的自动售票,完成地铁售票的核心控制功能。2项目要求售票机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是5角和1元的硬币,纸币的识别范围是1元、2元,5元,10元。乘客可以连续多次投入钱币。乘客可以选择的种类为2元和4元,乘客一次只能选择一个出站口。购买车票时,乘客先选择出站名,然后选择所需的票数,再进行投币,投入的钱币达到所需金额时,售票机自动出票,并找出余额,本次交易结束,等待下一次的交易。在投币期间,乘客可以按取消键取消本次操作,钱币自动退出。2设计思想1买车票时,乘客按“开始选择”按钮,接着选择出站口接着选择购票数量(根据提示,一次购票数限制在3张以内);然后按“开始投币”按钮,投入钱币;当投入的钱币达到所需金额时,售票机自动出票,并找出余额。考虑到控制整个售票机的物理体积,余额将全部采用5角硬币的形式找出。2选择出站口或投币过程中,乘客都可以按“取消”按钮取消该次交易。选择出站口的过程中,若按“取消”,则售票机直接回到初始状态;投币过程中,若按“取消”,则售票机将乘客已经投入的钱币全部退出,再回到初始状态。3乘客一次只能选择一个出站口,根据乘坐的站数确定票价。假设乘客购票所在站到终点站共有15站。若乘坐18站,则票价为2元张;若乘坐916站,则票价为4元张。16个站用长度位4的二进制向量编码表示,即0001表示乘坐1站,0010表示乘坐2站,依次类推,1111表示乘坐15站(到终点站)。A出票机有2个进币端口。硬币口可识别5角和1元2种硬币,拟用长度为2的一比特热位(ONEHOT)编码方式表示,即01表示5角,10表示1元。纸币口类似,用长度为4的一比特热位编码方式表示。乘客可以连续多次投入钱币,并且可以以任意顺序投入硬币和纸币。B出票机设有钱币“暂存杆”,其有3个状态退币状态、等待状态、进币状态,分别用00、01、10表示。退币状态下,“暂存杆”将乘客投入的钱币推出;等待状态下,投入的钱币被“暂存杆”挡住暂存;进币状态下,“暂存杆”将乘客投入的钱币推入售票机内部。系统流程图初始状态按“开始选择”选择出站口按“开始投币”投入钱币钱币足够找零口找零出票口出票按“取消”按“取消”退回钱币钱币入库选择购票数程序源代码及注释LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYSUBWAYISPORTCLKINSTD_LOGIC系统时钟SELECT_STARTINSTD_LOGIC“开始选择”按钮INSERT_STARTINSTD_LOGIC“开始投币”按钮COININSTD_LOGIC_VECTOR1DOWNTO0硬币入口NOTEINSTD_LOGIC_VECTOR3DOWNTO0纸币入口CANCELINSTD_LOGIC“取消”按钮TICKET_STOPINSTD_LOGIC_VECTOR3DOWNTO0出站口编号TICKET_ACCOUNTINSTD_LOGIC_VECTOR1DOWNTO0购票张数MONEY_GATEOUTSTD_LOGIC_VECTOR1DOWNTO0钱币“暂存杆”TICKET_OUTOUTSTD_LOGIC_VECTOR4DOWNTO0购买的车票TICKET_GATEOUTSTD_LOGIC出票口CHANGE_GATEOUTSTD_LOGIC找零口ENDSUBWAYARCHITECTUREBEHAVEOFSUBWAYISTYPESTATE_TYPEISINITIALIZE_STATE,SELECT_STATE,INSERT_STATE,TICKET_STATE,CHANGE_STATE状态变量申明SIGNALSTATESTATE_TYPE状态信号申明BEGINPROCESSCLKVARIABLETYPE_TEMPSTD_LOGIC记录是否已选择出站口的变量VARIABLEACCOUNT_TEMPSTD_LOGIC记录是否已选择购票张数的变量VARIABLETEMP_TYPESTD_LOGIC_VECTOR4DOWNTO0记录票种的中间变量VARIABLETEMP_ACCOUNTSTD_LOGIC_VECTOR4DOWNTO0记录票数的中间变量VARIABLEPRICESTD_LOGIC_VECTOR7DOWNTO0记录单张票价的变量VARIABLENUMBERSTD_LOGIC_VECTOR1DOWNTO0记录票数的变量VARIABLETOTAL_PRICESTD_LOGIC_VECTOR7DOWNTO0记录总票价的变量VARIABLETOTAL_INSERTSTD_LOGIC_VECTOR7DOWNTO0记录投入钱币总额的变量VARIABLECHANGESTD_LOGIC_VECTOR7DOWNTO0记录应找零金额的变量VARIABLESIGNSTD_LOGIC记录系统是否已经过初始化的变量VARIABLETEMPSTD_LOGIC记录投入钱币金额达到总票价的变量BEGINIFCLKEVENTANDCLK1THEN时钟信号上升沿触发CASESTATEISWHENINITIALIZE_STATE初始状态IFSIGN0THEN表示系统未经过初始化MONEY_GATE选择状态IFTYPE_TEMP0THEN表示尚未选择出站口IFTICKET_STOP“0001“ANDTICKET_STOP“1001“ANDTICKET_STOP选择3张票TEMP_ACCOUNT“00100“表示3张票NUMBER“11“购票张数为3TOTAL_PRICEPRICEPRICEPRICE计算总票价ACCOUNT_TEMP1记录已选择购票张数WHEN“10“选择2张票TEMP_ACCOUNT“00010“NUMBER“10“TOTAL_PRICEPRICEPRICEACCOUNT_TEMP1WHEN“01“选择1张票TEMP_ACCOUNT“00001“NUMBER“01“TOTAL_PRICEPRICEACCOUNT_TEMP1WHENOTHERSNULLENDCASEENDIFIFTYPE_TEMP1ANDACCOUNT_TEMP1THEN表示已选择出站口且已选择购票张数IFINSERT_START1THEN按下“开始投币”按钮STATE投币状态CASENOTEIS纸币识别WHEN“0001“1元纸币TOTAL_INSERTTOTAL_INSERT“00001010“重新计算投币总额WHEN“0010“TOTAL_INSERTTOTAL_INSERT“00010100“2元纸币WHEN“0100“TOTAL_INSERTTOTAL_INSERT“00110010“5元纸币WHEN“1000“TOTAL_INSERTTOTAL_INSERT“01100100“10元纸币WHENOTHERSNULLENDCASECASECOINIS硬币识别WHEN“01“TOTAL_INSERTTOTAL_INSERT“00000101“5角硬币WHEN“10“TOTAL_INSERTTOTAL_INSERT“00001010“1元硬币WHENOTHERSNULLENDCASEIFCANCEL1THEN按下“取消”按钮STATETOTAL_PRICETHEN判断投入总金额是否已达到票价总额TEMP1记录投入钱币金额达到总票价ENDIFWHENTICKET_STATE出票状态计算应找零金额IFNUMBER“11“THENCHANGETOTAL_INSERTPRICEPRICEPRICEELSIFNUMBER“10“THENCHANGETOTAL_INSERTPRICEPRICEELSIFNUMBER“01“THENCHANGETOTAL_INSERTPRICEENDIFTICKET_OUT“00000000“THEN判断是否还有找零STATE找零状态找零口打开时,可控制每个时钟上升沿推出一个5角的硬币IFCHANGE“00000000“THENCHANGE_GATETOTAL_PRICE)。(6)系统进入出票状态TICKET_STATE系统准备好4元的票3张10100,出票口打开TICKET_GATE1出票。(7)系统进入找零状态CHANGE_STATE找零口打开CHANGE_GATE1找零,每个时钟上升沿时出一个5角硬币,变量CHANGE实时显示剩余应找零金额。(8)找零完毕,找零口关闭;出票口关闭。系统回到初始状态。此段仿真主要验证了连续投入单种介质钱币购票且找零的功能正常。系统全部恢复初始状态的时间在456US左右3(1)乘客在约475US时按下“开始选择”按钮,系统进入选择状态。(2)乘客选择出站口为第12站,系统得出票价为4元;选择购买2张,系统得出票数为2张。进而得出总票价为8元。(3)乘客按下“开始投币”按钮,系统进入投币状态。(4)乘客依次投入5角硬币、5角硬币、5元纸币、5角硬币、1元硬币、2元纸币,系统实时计算投入的总金额。(5)系统判断投入的总金额已经达到票价总额。(6)系统进入出票状态系统准备好4元的票2张,出票口打开出票。(7)系统进入找零状态找零口打开找零,每个时钟上升沿时出一个5角硬币,变量CHANGE实时显示剩余应找零金额。此段仿真主要验证了连续混合投入硬币和纸币购票且找零的功能正常。系统全部恢复初始状态的时间在736US左右后记本项目工作描述陈希超本项目中,我主要负责对程序的编译、调试以及仿真验证,并且负责组员之间的分工,具体分为三个部分买票售票机入口的设置和钱币种类及识别、出票时地铁售票系统中的出站口编号、购票张数以及图形的仿真验证,每部分我都参与,并与负责的同学一起讨论,分析完成项目模块。黄诗扬本项目中,我主要负责地铁售票系统中所需钱币种类及识别这一过程的程序源代码的编译以及调试,其中根据流程图,TICKET_STOP为出站口,会显示出站的站数,相应的站数用2进制表示,COIN和NOTE分别为硬币和纸币,同样用2进制表示钱的数目。刘明睿本项目中,我主要负责程序的调试,COMPILER和SIMULATOR。在调试仿真图的时候,我主要测试了三个方面,分别是验证了在投币状态时“取消”按钮的功能、验证了连续投入单种介质钱币购票且找零
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45687-2025立式搅拌磨选型试验方法
- 2025年现代制造业人才培养考试试卷及答案
- 2025年网络技术应用考试卷及答案
- 2025年卫生信息管理专科阶段考试试题及答案
- 2025年模具设计工程师考试试题及答案反馈
- 2025年翻译专业资格考试试题及答案
- 2025年肥料学与土壤学基础考试试题及答案
- 2025年互联网金融专业考试试题及答案
- 2025年国际经济与贸易专业综合素质考试卷及答案
- 2025年公共管理与政策考试试卷及答案
- 高三二模作文“认清客观现实”与“安抚自己心理”审题立意及范文
- 《不断变化的人口问题》核心素养目标教学设计、教材分析与教学反思-2023-2024学年初中历史与社会人教版新课程标准
- 血液透析恶心呕吐的应急预案
- 物流仓储中心项目建设背景和必要性
- 安徽省涡阳县2023-2024学年七年级下学期期中考试语文试题
- 艺术设计专业面试问题
- 广东省深圳市龙华区2023-2024学年二年级下学期期中数学试题
- 小学科学湘科版六年级下册全册同步练习含答案
- (2024年)传染病培训课件
- 公车拍卖拍卖工作方案
- 幼儿园大班教案《娃哈哈》含反思
评论
0/150
提交评论