欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于EDA交通灯的设计.doc

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

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

    基于EDA交通灯的设计.doc

    设计任务书一、 设计目的1 学习使用集成设计软件Maxplus,了解电路描述、综合、模拟过程。2 掌握使用工具设计数字系统的设计思路和设计方法。3 模仿目前十字路口的控制器,设计交通灯控制器。二、 设计任务 实验目的:学习交通灯控制器的设计、仿真和硬件测试,进一步熟悉VHDL 设计技术。实验要求: 模仿目前十字路口的控制器,其中:东西方向交通灯循环为绿灯(直行和右转)45 秒、黄灯5 秒、左转灯15 秒、黄灯5 秒、红灯40 秒、黄灯5 秒;南北方向交通灯循环为红灯65 秒、黄灯5 秒、绿灯(直行和右转)20 秒、黄灯5 秒、左转灯15 秒、黄灯5 秒。 输入端为:基准时钟(CLK)、复位(CLR);输出端分别为SNGreen、SNRed、SNYellow、SNLeft 和EWGreen、EWRed、EWYellow、EWLeft。实验内容:根据实验要求设计交通灯控制器,并对其进行编辑、编译、综合、仿真,以及给出其所有信号的时序仿真波形。交通灯控制器设计摘要本文主要介绍了运用硬件描述语言(VHDL语言)和原理图输入的方法对交通灯控制器进行设计,并利用集成设计软件Maxplus对其进行编辑、编译、综合和仿真。关键词:交通灯控制器、VHDL语言、Maxplus II、仿真AbstractThis paper introduces the design of the traffic signal controller using hardware description language(VHDL language) and schematic method,and use an integrated EDA design software Maxplus to edit, compile, synthesis and simulation.Key words: traffic light controller, VHDL language, Maxplus II, simulation1 设计要求(1)模仿目前十字路口的控制器,其中:东西方向交通灯循环为绿灯(直行和右转)45 秒、黄灯5 秒、左转灯15 秒、黄灯5 秒、红灯40 秒、黄灯5 秒;南北方向交通灯循环为红灯65 秒、黄灯5 秒、绿灯(直行和右转)20 秒、黄灯5 秒、左转灯15 秒、黄灯5 秒。(2)输入端为:基准时钟(CLK)、复位(CLR);输出端分别为SNGreen、SNRed、SNYellow、SNLeft 和EWGreen、EWRed、EWYellow、EWLeft。2 设计思路根据设计要求,可知所要设计的交通灯的循环周期为115s,交通灯的控制信号状态一共有8种(如表2.1)。故可以设计一115进表2.1交通灯的控制信号状态表SNGreenSNRedSNYellowSNLeftEWGreenEWRedEWYellowEWLeft0-45s0100100045-50s0100001050-65s0100000165-70s0010001070-90s1000010090-95s0010010095-110s00010100110-115s00100010制计数器和一状态控制器,通过时间计数,由时间段跳变来控制交通灯信号(原理图如图2.1)。在设计115进制的计数器过程中,直接用VHDL语言设计遇到了一定的困难,故先设计一128进制计数器(用VHDL语言便于实现),再通过原理图输入法来实现115进制计数器的设计。图2.1交通灯控制器原理图3 设计输入文件3.1 115进制计数器设计输入设计115进制的计数器,可先设计一128进制计数器(当然为了最终实现115进制的计数功能,在VHDL语言编辑中对其进位输出端信号进行了修改,即计数到115便输出进位信号,以便控制复位信号,故称其伪128进制计数器),再通过原理图输入法来实现115进制计数器的设计。3.1.1 伪128进制计数器设计输入VHDL语言设计输入:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT7B ISPORT (CLK : IN STD_LOGIC;RST : IN STD_LOGIC;ENA : IN STD_LOGIC;OUTY : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT7B;ARCHITECTURE behav OF CNT7B ISSIGNAL CQI : STD_LOGIC_VECTOR(6 DOWNTO 0); BEGINP_REG: PROCESS(CLK, RST, ENA)BEGINIF RST = '1' THEN CQI <= ""ELSIF CLK'EVENT AND CLK = '1' THENIF ENA = '1' THEN CQI <= CQI + 1;ELSE CQI <= ""END IF;END IF;OUTY <= CQI ;END PROCESS P_REG ;COUT <= CQI(0) AND CQI(1) AND CQI(4) AND CQI(5) AND CQI(6); -计数到115进位输出END behav;生成的元件符号:图3.1 伪128进制计数器元件符号图3.1.2伪128进制计数器实现115进制计数设计输入原理图输入:图3.2 115进制计数器原理图生成的元件符号:图3.3 115进制计数器元件符号图3.2 状态控制器设计输入VHDL语言设计输入:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY STACON ISPORT(CLR:IN STD_LOGIC; COUNT:IN STD_LOGIC_VECTOR(6 DOWNTO 0); SNGREEN:OUT STD_LOGIC; SNRED:OUT STD_LOGIC; SNYELLOW:OUT STD_LOGIC; SNLEFT:OUT STD_LOGIC;EWGREEN:OUT STD_LOGIC;EWRED:OUT STD_LOGIC; EWYELLOW:OUT STD_LOGIC; EWLEFT:OUT STD_LOGIC);END STACON;ARCHITECTURE func OF STACON ISSIGNAL SNEW:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINfunc_1:PROCESS(CLR,COUNT)BEGINIF CLR='1' THEN SNEW<="" -时间段跳变状态选择ELSIF COUNT<"" THEN SNEW <=""ELSIF COUNT<"" THEN SNEW <=""ELSIF COUNT<"" THEN SNEW <=""ELSIF COUNT<"" THEN SNEW <=""ELSIF COUNT<"" THEN SNEW <=""ELSIF COUNT<"" THEN SNEW <=""ELSIF COUNT<"" THEN SNEW <=""ELSIF COUNT<"" THEN SNEW <="" END IF;SNGREEN<=SNEW(7);SNRED<=SNEW(6);SNYELLOW<=SNEW(5);SNLEFT<=SNEW(4);EWGREEN<=SNEW(3);EWRED<=SNEW(2);EWYELLOW<=SNEW(1);EWLEFT<=SNEW(0);END PROCESS func_1;END FUNC;生成的元件符号:图3.4 状态控制器原件图3.3 交通灯控制器设计输入原理图输入:图3.5 交通灯控制器原理图4 设计与调试过程先在E:maxpluiimax2work目录下建立文件夹trafficlight,再启动MAX+PLUS II软件运行环境,对交通灯控制器进行设计。4.1伪128进制计数器设计 4.1.1 建立项目在管理器窗口选择File>Project>Name,显示对话框,选择路径E:maxpluiimax2worktrafficlight输入名字cnt7b,如图4.1,单击OK,即建立了伪128进制计数器设计项目cnt7b。图4.1 4.1.2 文本设计在管理器窗口选择File>New,显示对话框,选择Text Editor file,如图4.2,单击OK,显示如图4.3。图4.2 图4.3 在文本编译框中输入伪128进制计数器设计VHDL语言(见3.1.1),并保存为cnt7b.vhd。4.1.3 编译文本cnt7b.vhd保存后,单击管理器窗口中工具栏中的,对其进行编译。若出错,返回文本编辑框对其进行修改,直到编译无误为止,如图4.4。图4.4 4.1.4 波形仿真(1)编译无误后,在管理器窗口选择File>New,显示对话框,选择Waveform Editor File,如图4.5。单击OK,显示如图4.6。图4.5图4.6 (2)然后在管理器窗口选择File>End Time,设置仿真的时间范围为180s,如图4.7,在管理器窗口选择Options>Grid size,设置最小分辨大小为0.5s,如图4.8。图4.7 图4.8(3)基本设置完成后,在管理器窗口选择Node>Enter Nodes From SNF,显示如图4.9。单击,列出各信号,单击,导出各信号,如图4.10。单击后,显示如图4.11。图4.9图4.10图4.11(4)接着对输入信号RST、ENA、CLK进行波形设置,在设置的过程中可通过View菜单下的各项进行视图调节,设置完后如图4.12,保存为cnt7b.scf。(5)然后单击管理器窗口中工具栏中的,进行仿真,直到无误为止,如图4.13,单击,打开仿真波形图,经视图调整,如图4.14(为突出其功能故显示计数到115输出进位信号的波形仿真)。图4.12图4.13图4.144.1.5生成元件符号仿真无误后,打开cnt7b.vhd文件,再在管理器窗口选择 File>Create Default Symbol,生成cnt7b.sym。4.2 115进制计数器设计4.2.1 建立项目同4.1.1,在同一目录下,建立115进制计数器设计项目cnt115。4.2.2 原理图设计在管理器窗口选择File>New,显示对话框,选择Graphic file,如图4.15。单击OK,显示如图4.16。在原理图编译框中输入115进制计数器设计原理图(见3.1.2),并保存为cnt115.gdf。图4.15图4.164.2.3 编译同4.1.3 ,编译若出错,返回原理图编译器进行修改,直到编译无误为止。4.2.4 波形仿真同4.1.4,同样为突出其功能,显示其计数到114到0的跳转,仿真波形如图4.17。图4.174.2.5生成元件符号打开cnt115.vhd文件,再在管理器窗口选择File>Create Default Symbol,生成cnt115.sym。4.3 状态控制器设计4.3.1 建立项目同4.1.1,在同一目录下,建立状态控制器设计项目stacon。4.3.2 文本设计同4.1.2,在文本编译框中输入状态控制器设计VHDL语言(见3.2),并保存为cnt7b.vhd。4.3.3 编译同4.1.3 ,编译若出错,返回文本编译器进行修改,直到编译无误为止。4.3.4 生成元件符号编译无误后(由于此波形仿真输入COUNT不易编辑,且在最后模拟仿真中会间接对其仿真),打开stacon.vhd文件,再在管理器窗口选择File>Create Default Symbol,生成stacon.sym。4.4 交通灯控制器设计4.4.1 建立项目同4.1.1,在同一目录下,建立状态控制器设计项目tracon。4.4.2 原理图设计同4.2.2,在原理图编译框中输入1交通灯控制器设计原理图(见3.3),并保存为tracon.gdf。4.4.3 编译同4.1.3 ,编译若出错,返回原理图编译器进行修改,直到编译无误为止。4.4.4 波形仿真同4.1.4,编译无误后,对其进行波形仿真。在此不赘述,在第5部分会有介绍。5模拟仿真与结果5.1 交通灯控制器模拟仿真输入同4.1.4(1)、(2)、(3)、(4),进行波形输入,仿真范围0-1000s,分辨大小0.5s,输入信号CLR(复位信号)和CLK(1Hz信号),如图4.18。图5.1 波形仿真输入5.2 交通灯控制器模拟仿真结果同4.1.4(5),单击,进行仿真编译,仿真结果如图5.2、图5.3、图5.4、图5.5、图5.6、图5.7、图5.8、图5.9、图5.10。图5.2 CLR复位功能仿真图图5.3 循环内0-45s(图中239.5-284.5s)状态仿真图“”图5.4循环内45-50s(途中284.5-289.5s)状态仿真图“”图5.4循环内50-65s(途中289.5-304.5s)状态仿真图“”图5.4循环内45-45s(途中304.5-309.5s)状态仿真图“”图5.4循环内45-45s(途中309.5-329.5s)状态仿真图“”图5.4循环内45-45s(途中329.5-334.5s)状态仿真图“”图5.4循环内45-45s(途中334.5-349.5s)状态仿真图“”图5.4循环内45-45s(途中349.5-354.5s)状态仿真图“”6 结论(1)由模拟仿真结果上可以得出,本设计基本上实现了交通灯控制器的功能,且符合设计要求;(2)从波形仿真图上可以看出,部分波形上有毛刺,但毛刺范围非常小,不会影响人的视觉,基本上对功能的实现没有影响;(3)虽然设计符合要求,但仍有一定的不足,如:115进制计数器的设计,本可以用VHDL语言直接设计,无需间接设计。参考文献1黄仁欣EDA技术实用教程M2006年9月第1版北京:清华大学出版社,2006年17592黄仁欣EDA技术实用教程M2006年9月第1版北京:清华大学出版社,2006年2092103黄仁欣EDA技术实用教程M2006年9月第1版北京:清华大学出版社,2006年2812834黄仁欣EDA技术实用教程M2006年9月第1版北京:清华大学出版社,2006年286286

    注意事项

    本文(基于EDA交通灯的设计.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开