
EDA课设论文出租车计费系统verilog语言.doc
22页摘要摘要:出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具它关系着交易双方的利益具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的因此,汽车计价器的研究也是十分有一个应用价值的而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现而采用FPGA进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能针对计费模式的切换,通过软件编程就可以轻易而举的实现避免了机械开关带来的不稳定因素设计好之后,用1602液晶显示器,显示你想要显示的数据关键词:出租车计价器控制1602目录绪论 3第一章系统设计 41出租车计费系统的概述: 42设计的意义 43统设计要求 4第二章系统设计方案 5第三章主要模块 61时间模块: 62路程模块: 73计费模块: 84速度模块: 95总的框图为: 10第四章硬件实现 111系统的调试方法 112系统调试的软/硬件 113系统调试显示结果 11小结 13谢辞 14参考文献: 15附录 16程序: 16.................................................24绪论近年来,我国出租汽车行业迅猛发展,出租汽车已成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的交通工具。
它对繁荣经济、促进发展、方便群众、改善交通起到了积极作用出租汽车对我国人民物质和文化生活影响之大、作用之广是前所未有的出租汽车行业的服务水平和程度已经成为现代化的重要标志出租汽车服务行业和出租汽车计价器紧密相关,因为出租汽车必须安装出租汽车计价器才能投入营运出租汽车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量器具计价器是出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器量值准确与否,直接关系到经营者和消费者的经济利益,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印、IC卡付费、语音报话、和电脑串行通信等功能,而这些与电子技术的发展是分不开的二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的过程同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出第一章系统设计1出租车计费系统的概述:在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。
汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具它关系着交易双方的利益具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的因此,汽车计价器的研究也是十分有一个应用价值的2设计的意义在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具它关系着交易双方的利益具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的因此,汽车计价器的研究也是十分有一个应用价值的出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高国内出租车计价器已经经历了4个阶段的发展从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出租车计价器出租车计价器计费是否准确、出租车司机是否作弊才是乘客最关心的问题,而计价器营运数据的管理是否方便才是出租车司机最关注的因此怎样设计出一种既能有效防止司机作弊又能方便司机的计价器尤为重要。
因此,本文以FPGA为核心设计一款多功能出租车计价器,该计价器能实现按时间和里程综合计算车价,能显示时间、里程、单价、总车价等相关信息显示它比市场上的一些计价器使用更方便,功能更全,还具有有效防止司机作弊和系统稳定性好的优点3统设计要求里程显示,显示方式为XXX.X,单位为km精确到0.1km;里程单价显示,显示方式为X.XX,单位为元/km,起步价10元,根据每天不同的时间段有两种情况:当时间段为06:00~23:00时单价为1.40元/km,其他时间段单价为1.80元/km第二章系统设计方案系统的大致框图:图1第一步:把板子上的时钟50M的晶振分频为1HZ这样有利于以后模块的调用第二步:出租车上一般都有时间,所以把时间模块给设计好,在这里就需要了第一步已经设计好的分频1HZ的时钟,调用设计出时间,显示小时,分钟,秒第三步:用板子上的2个按键控制加速和减速,起始速度为2,按下加速键或者减速键,相应的显示会变化且路程和计费也会变化第四步:路程和总费进行相应的变化,在1602上显示第三章主要模块1时间模块:图1现在的出租车都会显示时间,由于时间的不一样,计费的标准也不一样所以时间模块是必要得要的。
在设计时间模块时,由于FPGA版上的晶振是50M,第一步要做的就是分频,分频是FPGA最简单的,分频成为1HZ,这样时间显示时间就变的很简单了部分代码为:always@(posedgeclk_1hz)begin if(miao==59)beginmiao<=0;if(fen==59)beginfen<=0;if(shi==23)shi<=0;elseshi<=shi+1;endelsefen<=fen+1;endelsemiao<=miao+1;end时间模块仿真波形:图2注释:仿真的波形的时钟晶振为50M2路程模块:车行驶的是速度初始值这里是给定的,通过clk,使行驶的路程性的增大行驶的总路程等于速度乘于时间图3部分代码为:always@(posedgeclk_1hz)//路程beginway<=way+speed;if(way>10000)way<=0;end里程仿真波形:图43计费模块:在数据的计算和处理中,注意了一些数据关系的转换、换算和放大,数据关系的转换、换算是为了便于控制程序的设计,而数据的放大则避免了浮点数的运算,数据放大后的还原是通过显示数据时在对应的数码管处显示小数点来处理。
系统中很多模块的verilog程序设计中,均涉及多个控制信号,多个控制信号的作用是通过嵌套的条件语句完成的,这些条件信号的作用时机(是先作用还是后作用)和作用方式(是高、低电平还是上升沿、下降沿)非常有技巧,特别值得揣摩与注意计费是分时间段的,当时间段为06:00~23:00时单价为1.40元/km,其他时间段单价为1.80元/km由于FPGA中的计算不能直接用小数点计算,所以在这里把价格扩大10倍,显示时在除以10图5部分代码为:always@(posedgeclk_1hz)//计费begin if(flag==1)money<=money+speed*14;elsemoney<=money+speed*18;end计费模块仿真波形:图6期中的flag是用来判断是06:00~23:00还是其他的时间flag为1时,时间短为06:00~23:00,计费的标准为单价为1.40元/km;对应的当flag为0时,其他的时间段的单价为1.80元/km4速度模块:刚开始的起始速度是2,这里我用了2个按键,一个是加速,一个是减速随着加速键的按下,显示模块的速度相应会加一,路程也会随着增长,计费的费用也会增长。
图7速度模块的仿真波形:图8sw1_n为加速键,按下加速键,speed加一;sw2_n为减速键,按下减速键,速度相应的减一5总的框图为:图9通过1602显示在开发板上第四章硬件实现1系统的调试方法本系统既含有FPGA自编程硬件设计电路,又含有单片机控制电路的设计,整个系统比较复杂,因此我们采用自底向上的调试方法,也就是先进行各个单元电路的软件仿真和硬件调试,在各个单元电路调试好后再进行系统联调,最后进行硬件的编程固化及系统的组装2系统调试的软/硬件(1)设计开发软件:MAX+plusⅡ10.0,伟福6000(WAVE6000forwindows)2)主要设备:PIV计算机21EDA实验开发系统3系统调试显示结果将程序分配好管脚,下载到FPGA板子上,通过板子可以看到1602显示的如图1所示:图1初始化状态时,里程(S)是等于100.0,总费用(M)为000.0,第一行T代表时间,中间有个0代表是单价为1.80元/km,初始速度为2;当按2下加速键,速度为4,如图2:图2按加速键如图3:图3由于速度的变化,里程和总费用都会相应的变化,这贴近现实生活现实生活中车子的速度随时都会变化,因此在这里增加了可以改变速度的模块,这样显的更逼真。
小结出租车计费器系统的设计已经全部完成,对于这个星期自己收获也蛮多的,一些模块搞不懂,现在搞懂了对于一个项目来说,可能你觉得很难,因为看起来挺复杂的,没有思路,但只要你把该项目的主要功能分析一下,然后我们去攻破每一个模块,在把这些模块组合在一起,最后达到了要求这样更有调理,也很简单,有利于我们去设计,去分析在设计中遇到了很多的技术问题,自己调试很久还是调不通时,就和他们讨论,但和他们还是调不通,这只能叫学长帮忙了大四的学长他们很厉害,几乎我遇到的困难,他们都能解决,在此我们应该向大四的学长好好学习,他们是我们的好榜样总之在这次的EDA课设中,自己受益匪浅,在摸索该如何设计使之实现所需功能的过程中,特别有趣,培养了我的设计思维,不懂就找书籍看看,攻破不懂的,增加了实际操作能力.在让我体会到了设计的艰辛的同时,更让我体会到成功的喜悦和快乐.这次EDA课程设计,虽然短暂但是让我得到多方面的提高,尤其是思维,一个人的思维很重要,这有利于将来的发展谢辞在这里我要感谢我的老师朱路,朱老师上课的思路很清晰,很有调理这样也吸引我对EDA的兴趣,朱老师在上课讲的内容很生动,举的例子也很符合题意,这样更有利于我的学习。
当自己有不懂问朱老师时,朱老师很热情的分析给我听,这样有利于我的理解,总之很感谢朱老师参考文献:(1)潘松,黄继业编著.《EDA技术实用教程》,2005,科学出版社(2)徐志军,徐光辉编著.《CPLD/FPGA的开发与应用》,电子工业出版社,2001.1(3)。












