欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于CPLD的出租车计费器剖析.doc

    • 资源ID:4957712       资源大小:693KB        全文页数:11页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于CPLD的出租车计费器剖析.doc

    等级: 课 程 设 计课程名称嵌入式系统课程设计课题名称基于CPLD的出租车计费器专 业电子信息工程班 级1201学 号19姓 名许振跃指导老师林愿2015年9月16日目 录1、 课程设计任务要求11.1 EDA发展前景11.2 任务要求12、设计步骤12.1 信号输入12.2  数据转换12.3 数据显示13、出租车计费系统的实现23.1 顶层电路设计23.2 子模块设计24、系统仿真54.1 开始信号的仿真结果54.2 加速信号仿真结果54.3 显示的仿真结果54.4 decoder的仿真结果65、 下载调试及实验结果66、设计心得7参考文献81、 课程设计任务要求1.1 EDA发展前景 EDA技术(即Electronic Design Automation技术)就是依赖强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Ddscription Langurage)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。 1.2 任务要求 CPLD为复杂可编程逻辑器件,通过EDA技术对其进行编程,可将一个较复杂的数字系统集成于一个芯片中,制成专用集成电路芯片,并可随时在系统修改其逻辑功能。并最终完成电路的编程调试。具体要求如下:(1) 实现计费功能,计费标准为:按行驶里程计费,起步价为5.00元,并在车行3Km后按1.40元/Km计费,当计费器达到或超过20元时,每公里加收50的车费,车停止不计费。(2) 现场模拟功能:能模拟汽车起动、停止、暂停以及加速等状态。 (3) 按计动态扫描电路,将车费和路程显示出来,各有两位小数。 2、设计步骤 2.1 信号输入 该模块主要实现计费功能和现场模拟功能。计费标准为:按行驶里程计费,起步价为5.00元,并在车行3 km后按1.4元km计费,当计费器达到或超过20元时,每公里加收50的车费,车停止不计费。并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号的作用。 2.2  数据转换 数据转换模块是一个模为10的加法计数器,可将计费模块输出的车费和路程转换成4位的十进制数。 2.3 数据显示 显示模块是由七段LED数码管译码和动态扫描显示两部分组成。采用的是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系,其中要求路程和车费都要用2位小数点来表示,所以须设置一个控制小数点的变量,即程序中的dp。这段程序所示的是在数码管的第二、第六个后面显示小数点,实现了路程和车费都用2位小数点表示的功能。数码管控制及译码显示模块将十进制的输入信号用七段数码管显示,由七段发光二极管组成数码显示器,利用字段的不同组合。可分别显示09十个数字。3、出租车计费系统的实现 3.1 顶层电路设计 图1 系统总体框图3.2 子模块设计 3.2.1 taxi的实现模块taxi见下图。输入端口speedup,start,pause,stop分别为出租车计费器的加速、起动、暂停、停止按键。实现计费功能,计费标准为:按行驶里程计费,起步价为5.0元,并在车行3Km后按1.40元/Km计费,当计费器达到或超过20元时,每公里加收50的车费,车停止不计费。图2 taix模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity decoder isport(clk20mhz: in std_logic;money_in:in integer range 0 to 8000;distance_in:in integer range 0 to 8000;scan:out std_logic_vector(7 downto 0);seq7:out std_logic_vector(6 downto 0);dp:out std_logic);end;architecture one of decoder issignal clk1khz:std_logic;signal data:std_logic_vector(3 downto 0);signal m_one,m_ten,m_hun,m_tho:std_logic_vector(3 downto 0);signal d_one,d_ten,d_hun,d_tho:std_logic_vector(3 downto 0);variable num:integer range 0 to 9;variable dis:integer range 0 to 100;variable d:std_logic;beginif stop = '1' thenmoney_reg:= 0;distance_reg:= 0;dis:= 0;num:= 0;3.2.2 decoder的实现 模块decoder见下图。该模块把车费和路程转化为数码管可以显示的信号。图3 模块xelsif start = '0' and speedup = "10" and pause = '0' and stop = '0' thenif num = 9 thennum:= 0;distance_reg:= distance_reg + 5;dis:= dis + 5;else num:= num + 1;end if;elsif start = '0' and speedup = "11" and pause = '0' and stop = '0' thendistance_reg:= distance_reg + 1;dis:= dis + 1;end if;if dis >= 100 thend:= '1'dis:= 0;else d:= '0'end if;if distance_reg >= 300 thenif money_reg < 2000 and d = '1' thenmoney_reg:= money_reg + 140;elsif money_reg >= 2000 and d = '1' thenmoney_reg:= money_reg + 210;end if;end if;end if;money <= money_reg;distance <= distance_reg;end process;end;3.2.3 display的实现模块display见下图。经过该八选一模块把车费和路程显示出来。每来一个选通地址,模块就把选到的那一位十进制输入值向后输出,同时在路程的百位和费用的十位显示小数点。实现译码功能。译码管片的选通信号,对输入脉冲进行计数。图4 模块displayprocess(clk1khz,m_one,m_ten,m_hun,m_tho,d_one,d_ten,d_hun,d_tho)variable cnt:std_logic_vector(2 downto 0);beginif clk1khz'event and clk1khz = '1' thencnt:= cnt + 1;end if;case cnt iswhen"000" => data <= m_one; dp <= '0' scan <= "00000001"when"001" => data <= m_ten; dp <= '0' scan <= "00000010"when"010" => data <= m_hun; dp <= '1' scan <= "00000100"when"011" => data <= m_tho; dp <= '0' scan <= "00001000"when"100" => data <= d_one; dp <= '0' scan <= "00010000"when"101" => data <= d_ten; dp <= '0' scan <= "00100000"when"110" => data <= d_hun; dp <= '1' scan <= "01000000"when"111" => data <= d_tho; dp <= '0' scan <= "10000000"end case;end process;process(data)begincase data iswhen "0000" => seq7 <= "1111110"when "0001" => seq7 <= "0110000"when "0010" => seq7 <= "1101101"when "0011" => seq7 <= "1111001"when "0100" => seq7 <= "0110011"when "0101" => seq7 <= "1011011"when "0110" => seq7 <= "1011111"when "0111" => seq7 <= "1110000"when "1000" => seq7 <= "1111111"when "1001" => seq7 <= "1111011"when others => seq7 <= "0000000"end case;end process;end;4、系统仿真4.1 开始信号的仿真结果 输入端口speedup,start,pause,stop分别为出租车计费器的加速、起动、暂停、停止按键。 输入:clk, start, stop, pause, speedup; 输出:money, distance;图5 开始仿真结果4.2 加速信号仿真结果对控制模块taxi进行仿真,观察波形可知,当启动键(start)为一个脉冲时,表示汽车已启动,车费money显示起步价为5.00元,同时路程distance随着计费脉冲开始计数,当停止键(stop)为1时,表示汽车熄火,车费money和路程distance均为0;当暂停键(pause)为1时,车费和路程停止计数;当档位键分别取0、1、2时路程的计数逐步加快,表示车速逐步加快。 输入:clk, start, stop, pause, speedup; 输出:money, distance;图6 系统仿真结果5、 下载调试及实验结果 程序下载完后,按下启动键,车费显示起步价为5元。图9 加速仿真结果 当路程超过3公里后每公里多加1.4元,显示为6.4元。图10 加速仿真结果6、设计心得我们这次课程设计的题目是出租车计费器,拿到题目我就有点小激动,因为终于可以利用自己的所学做点与实际生活相关的东西了。首先,我复习的一下VHDL程序设计的基本语法,然后开始熟悉Quartus 的相关操作。包括模块化的编译器。编译器包括的功能模块有分析/综合器,适配器、装配器、时序分析器、设计辅助模块、EDA网表文件生成器、编辑数据接口等。可以通过选择Start Compilation来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择Compiler Tool,在Compiler Tool窗口中运行该模块来启动编译器模块。然后,我开始去图书馆找相关的图书,因为当我看了课程设计任务书之后,对于整个程序还是没有把握。所以我希望能够找到相关的程序进行验证,然后修改以符合自己的课程设计的要求。功夫不负有心人,我在图书馆借的几本书中就有和我们课题类似的程序模块。所以,我就将书中的程序在Quartus II中运行了一遍。可是,过程并没有我们想象的那么顺利。我们发现加速功能无法实现,一旦开启加速,数码管就会出现乱码。经过对源代码的一番修改,我们的乱码现象有了一些好转。但是,也并没有完全达到要求。经过在实验箱中的调试,我们终于找到了解决方案,即改变输入的时钟频率。寻找到最合适的频率,就可以让系统达到显示要求。通过这次课程设计,我分析问题,解决问题的能力有了一定的提高。同时,对之前所学的知识也进行了巩固。更重要的是,我发现之前学的很多基础知识是有用的。一旦开始进行工程实践,这些知识将会发挥巨大的作用。所以,我决定在今后的学习过程中重视基础知识的学习,在增强理论基础的同时,再动手进行工程实践。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次设计的每个细节和每个数据,都离不开老师您的细心指导。谢谢您! 参考文献1. 陈大钦主编,电子技术基础实验,高等教育出版社。2. 彭介华主编,电子技术课程设计指导,高等教育出版社。3. 张 原编著,可编程逻辑器件设计及应用,机械工业出版社。4.荀殿栋,徐志军编著,数字电路设计实用手册,电子工业出版社。5. QUARTUSII入门6.刘洪喜,陆颖编著. VHDL电路设计实用教程 清华大学出版社 。电气信息学院课程设计评分标准环节项目评价优良中及格不及格实践环节(70%)1、设计方案合理性与创造性2、编程完成情况3、电路模块仿真调试结果*4、硬件测试过程及结果*5、解决问题能力及答辩情况6、纪律和出勤情况设计报告(30%)1、 设计报告内容完整、规范2、 设计步骤规范、正确3、 仿真调试结果正确、波形清晰4、 硬件测试过程规范、结果正确综合评价课程设计成绩评定为:优 良 中 及格 不及格 指导老师签名:_ 日 期:_8

    注意事项

    本文(基于CPLD的出租车计费器剖析.doc)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开