收藏 分享(赏)

基于EDA技术交通信号灯设计.doc

上传人:微传9988 文档编号:2491300 上传时间:2018-09-18 格式:DOC 页数:55 大小:99KB
下载 相关 举报
基于EDA技术交通信号灯设计.doc_第1页
第1页 / 共55页
基于EDA技术交通信号灯设计.doc_第2页
第2页 / 共55页
基于EDA技术交通信号灯设计.doc_第3页
第3页 / 共55页
基于EDA技术交通信号灯设计.doc_第4页
第4页 / 共55页
基于EDA技术交通信号灯设计.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、基于 EDA 技术交通信号灯设计1 EDA 技术及 VHDL 语言介绍11 概述EDA 是电子设计自动化 Electronic Design Automation 缩写是 90 年代初从 CAD 计算机辅助设计 CAM 计算机辅助制造 CAT 计算机辅助测试和 CAE 计算机辅助工程的概念发展而来的 EDA 技术是以计算机为工具根据硬件描述语言 HDL Hardware Description language 完成的设计文件自动地完成逻辑编译化简分割综合及优化布局布线仿真以及对于特定目标芯片的适配编译和编程下载等工作典型的 EDA 工具中必须包含两个特殊的软件包即综合器和适配器综合器的功能就

2、是将设计者在 EDA 平台上完成的针对某个系统项目的 HDL 原理图或状态图形描述针对给定的硬件系统组件进行编译优化转换和综合最终获得我们欲实现功能的描述文件综合器在工作前必须给定所要实现的硬件结构参数它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来也就是说综合器是软件描述与硬件实现的一座桥梁综合过程就是将电路的高级语言描述转换低级的可与目标器件 FPGACPLD 相映射的网表文件适配器的功能是将由综合器产生的王表文件配置与指定的目标器件中产生最终的下载文件如 JED 文件适配所选定的目标器件 FPGACPLD 芯片必须属于在综合器中已指定的目标器件系列硬件描述语言 HDL 是相对于

3、一般的计算机软件语言如 CPASCAL 而言的 HDL语言使用与设计硬件电子系统的计算机语言它能描述电子系统的逻辑功能电路结构和连接方式设计者可利用 HDL 程序来描述所希望的电路系统规定器件结构特征和电路的行为方式然后利用综合器和适配器将此程序编程能控制 FPGA 和CPLD 内部结构并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件目前就 FPGACPLD 开发来说比较常用和流行的 HDL 主要有 ABEL-HDLAHDL 和VHDL 从目前的 EDA 技术来看其发展趋势是政府重视使用普及应用广泛工具多样软件功能强大中国 EDA 市场已渐趋成熟不过大部分设计工程师面向的是 PCB

4、制板和小型 ASIC 领域仅有小部分约 11 的设计人员开发复杂的片上系统器件为了与台湾和美国的设计工程师形成更有力的竞争中国的设计队伍有必要引进和学习一些最新的 EDA 技术 在信息通信领域要优先发展高速宽带信息网深亚微米集成电路新型元器件计算机及软件技术第三代移动通信技术信息管理信息安全技术积极开拓以数字技术网络技术为基础的新一代信息产品发展新兴产业培育新的经济增长点要大力推进制造业信息化积极开展计算机辅助设计 CAD 计算机辅助工程 CAE 计算机辅助工艺 CAPP 计算机机辅助制造 CAM 产品数据管理 PDM 制造资源计划 MRPII 及企业资源管理 ERP 等有条件的企业可开展网络

5、制造便于合作设计合作制造参与国内和国际竞争开展数控化工程和数字化工程自动化仪表的技术发展趋势的测试技术控制技术与计算机技术通信技术进一步融合形成测量控制通信与计算机 M3C结构在 ASIC 和 PLD 设计方面向超高速高密度低功耗低电压方面发展 外设技术与 EDA 工程相结合的市场前景看好如组合超大屏幕的相关连接多屏幕技术也有所发展中国自 1995 年以来加速开发半导体产业先后建立了几所设计中心推动系列设计活动以应对亚太地区其它 EDA 市场的竞争在 EDA 软件开发方面目前主要集中在美国但各国也正在努力开发相应的工具日本韩国都有 ASIC 设计工具但不对外开放中国华大集成电路设计中心也提供

6、IC 设计软件但性能不是很强相信在不久的将来会有更多更好的设计工具在各地开花并结果据最新统计显示中国和印度正在成为电子设计自动化领域发展最快的两个市场年夏合增长率分别达到了 50 和 30 EDA 技术发展迅猛完全可以用日新月异来描述 EDA 技术的应用广泛现在已涉及到各行各业 EDA 水平不断提高设计工具趋于完美的地步 EDA 市场日趋成熟但我国的研发水平仍很有限尚需迎头赶上硬件描述语言 HDL 是一种用于设计硬件电子系统的计算机语言它用软件编程的方式来描述电子系统的逻辑功能电路结构和连接形式与传统的门级描述方式相比它更适合大规模系统的设计例如一个 32 位的加法器利用图形输入软件需要输人

7、500 至 1000 个门而利用 VHDL 语言只需要书写一行 ABC 即可而且 VHDL 语言可读性强易于修改和发现错误早期的硬件描述语言如 ABELHDLAHDL 由不同的 EDA 厂商开发互不兼容而且不支持多层次设计层次间翻译工作要由人工完成为了克服以上不足 1985 年美国国防部正式推出了高速集成电路硬件描述语言 VHDL1987 年 IEEE 采纳 VHDL 为硬件描述语言标准 IEEE STD1076 VHDL 是一种全方位的硬件描述语言包括系统行为级寄存器传输级和逻辑门级多个设计层次支持结构数据流和行为三种描述形式的混合描述因此 VHDL 几乎覆盖了以往各种硬件俄语言的功能整个自

8、顶向下或由底向上的电路设计过程都可以用 VHDL 来完成 VHDL 还具有以下优点 1VHDL 的宽范围描述能力使它成为高层进设计的核心将设计人员的工作重心提高到了系统功能的实现与调试而花较少的精力于物理实现 2VHDL 可以用简洁明确的代码描述来进行复杂控制逻辑艄设计灵活且方便而且也便于设计结果的交流保存和重用 3VHDL 的设计不依赖于特定的器件方便了工艺的转换 4VHDL 是一个标准语言为众多的 EDA 厂商支持因此移植性好 VHDL 语言设计其硬件时与传统的电路设计方法相比较具有如下的特点第一采用自上而下的设计方法即从系统总体要求出发自上而下地逐步将设计的内容细化最后完成系统硬件的整体

9、设计在设计的过程中对系统自上而下分成三个层次进行设计第一层次是行为描述所谓行为描述实质上就是对整个系统的数学模型的描述一般来说对系统进行行为描述的目的是试图在系统设计的初始阶段通过对系统行为描述的仿真来发现设计中存在的问题在行为描述阶段并不真正考虑其实际的操作和算法用何种方法来实现而是考虑系统的结构及其工作的过程是否能到达系统设计的要求第二层次是 RTL 方式描述这一层次称为寄存器传输描述又称数据流描述如前所述用行为方式描述的系统结构的程序其抽象程度高是很难直接映射到具体逻辑元件结构的要想得到硬件的具体实现必须将行为方式描述的 VHDL 语言程序改写为 RTL 方式描述的 VHDL 语言程序也

10、就是说系统采用 RTL 方式描述才能导出系统的逻辑表达式才能进行逻辑综合第三层次是逻辑综合即利用逻辑综合工具将 RTL 方式描述的程序转换成用基本逻辑元件表示的文件门级网络表此时如果需要可将逻辑综合的结果以逻辑原理图的方式输出此后可对综合的结果在门电路级上进行仿真并检查其时序关系第二应用逻辑综合工具产生的门级网络表将其转换成 PLD 的编程码点即可利用 PLD 实现硬件电路的设计由自上而下的设计过程可知从总体行为设计开始到最终的逻辑综合每一步都要进行仿真检查这样有利于尽早发现设计中存在的问题从而可以大大缩短系统的设计周期第三系统可大量采用 PLD 芯片由于目前众多制造 PLD 芯片的厂家其工具

11、软件均支持 VHDL 语言的编程所以利用 VHDL 语言设计数字系统时可以根据硬件电路的设计需要自行利用 PLD 设计自用的 ASIC 芯片而无须受通用元器件的限制第四采用系统早期仿真从自上而下的设计过程中可以看到在系统设计过程中要进行三级仿真即行为层次仿真 RTL 层次仿真和门级层次仿真这三级仿真贯穿系统设计的全过程从而可以在系统设计的早期发现设计中存在的问题大大缩短系统设计的周期节约大量的人力和物力自顶而下的设计方法使系统被分解为各个模块的集合之后可以对设计的每个独立模块指派不同的工作小组这些工作小组可以工作在不同地点甚至可以分属于不同的单位最后将不同的模块集成为最终的系统模型并对其进行综

12、合测试和评价4其自顶而下的设计流程如图 1-1 所示图 1-1 自顶而下的设计流程14 Pull II 开发平台系统com Pull II 简介Pull II 的全称是 Multiple Array and Programmable Logic Use System2多阵列矩阵及可编程逻辑用户系统 2 是 Altera 公司的全集成化可编程逻辑设计环境 IIAltera 公司的开发工具软件在发展中不断完善 PLUS II 的版本不升级功能也越来越强大目前发行的 PLUS II 已经到了 101 版Pull II 的界面友好在线帮助完备初学者也可以很快学习掌握完成高性能的设计在进行原理图输入时可

13、以直接放置 74 系列逻辑芯片所以对于普通爱好者来说即使不使用 Altera 的可编程器件也可以把 PLUS II 作为逻辑仿真工具另外不用搭建硬件电路即可对自己的设计进行调试支持 Altera 公司不同结构的可编程逻辑器件能满足用户各种各样的设计需要 plus II 具有突出的灵活性与高效性为设计者提供了多种可自由选择的设计方法和工具 PLUS II 的编译核心支持Altera 的 FLEX 10KFLEX 8KFLASHlogic5000Classic 系列可编程逻辑器件 PLUS II 的设计输入处理与校验功能一起提供了全集成化的一套可编程逻辑开发工具可加快动态调试缩短开发周期 PLUS

14、 II 支持各种 HDL 设计输入包括 VHDLVerilog 和 Altera 的 AHDL PLUS II 可与其他工业标准设计输入综合与校验工具链接与 CAE 工具的接口符合 EDIF200 和 209 参数化模块库 LPMVerilogVHDL 及其它标准设计者可使用Altera 或标准 CAE 设计输入工具去建立逻辑设计使用 PLUS II 编译器对 Altera器件设计进行编译并使用 Altera 或其它 CAE 校验工具进行器件或板级仿真PLUS II 支持与 SynopsysViewlogicMentor GraphicsCadenceExemplarData IOInterg

15、raphMincOrCAD 等公司提供的工具接口图 1-2 PLUSII 软件的设计流程图2 交通灯系统设计21 交通灯设计背景及方案随着城市汽车保有量的越来越多城市的交通拥挤问题正逐渐引起人们的注意交通灯是交管部门管理城市交通的重要工具提高十字路口的通行效率对缓解交通阻塞具有十分重要的现实意义实现路口交通灯系统控制的方法很多可以用标准逻辑器件可编程序控制器 PLC 单片机等方案来实现但是这些控制方法的功能修改及调试都需要硬件电路的支持在一定程度上增加了设计难度采用 EDA 技术应用 VHDL 硬件电路描述语言实现变通灯系统控制器的设计利用PLUS 集成开发环境进行综合仿真并下载到 CPLD

16、可编程逻辑器件中完成系统的控制作用该灯控制逻辑可实现 3 种颜色灯的交替点亮时间的倒计时指挥车辆和行人安全通行 A 方向是主干道车流量大因此 A 方向通行的时间应比 B 方向长一些其示意图如图 2-1 所示 图 2-1 交通路口指示灯示意图交通灯控制器的状态转换如表 1 所示表中 1 表示灯亮 0 表示灯灭 A 方向和 B 方向的红黄绿和左拐灯分别用 R1 Y1G1 L1 和 R2 Y2 G2 L2 来表示从状态转换表中可以看出每个方向四种灯依次按如下绿灯黄灯左拐灯黄灯红灯并且每个方向红灯亮的时间应该与另一方向绿拐黄灯亮的时间相等黄灯所起的作用是用来在绿灯和左拐灯后进行缓冲以提醒行人该方向马上

17、要禁行了例如 A 方向的控制程序描述如表 2-1 所示表 2-1 交通灯控制器状态转换A 方向 B 方向 绿灯G1 黄灯Y1 左拐灯 L1 红灯R1 绿灯G2 黄灯Y2 左拐灯 L2 红灯R2 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 10 0 1 0 0 0 0 1 0 1 0 0 0 0 0 10 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 00 0 1 0 0 1 0 0 0 0 1 0 1 0 023 交通灯控制器的 VHDL 设计使用 PLUS II 进行设计包括四个阶段设计输入设计处理设计验证和器件编程在 PLUS环境下进行编译与仿真用 VHDL

18、语言对各个模块进行编程最后形成顶层文件在 PLUS 环境下进行编译与仿真检查所编程序是否运行正确如果出现错误需要进行修改直到完全通过为止需要说明的是在进行程序编译时要先从底层程序开始所有底层程序都正确后才能开始顶层程序的编译这是因为顶层程序是对底层程序的概括它是把底层程序各个模块连接起来相当于把每个模块的功能汇聚到一起实现整个系统的控制功能所以底层程序的正确与否关系到顶层程序的运行图 2-2 分频器模块的时序仿真波形时序仿真说明1 reset1 则 clk_cnt1clk_cnt2clk_s1clk_s2clk_f 清零2 reset0clk_1k 为上升沿触发时如果 clk_cnt1 大于或

19、等于 5 时清零clk_cnt1 并且 clk_s1 输出 1 否则 clk_cnt1 加一 clk_s1 等于 03reset0clk_1k 为上升沿触发并且 clk_s11 时如果 clk_cnt2 大于或等于 200 时 clk_cnt2 清零输出 clk_s21 取反 clk_f 否则 clk_cnt2 加一clk_s2clk_f 保持不变其中 clkflash 是 clk 频率的 12 倍它是通过内部信号与运算的得来即clk_flash clk_s1 and clk_s2 and clk_fcom 计数器模块 com1 原理及功能计数器是对一个输入脉冲进行计数如果输入脉冲的频率一定则

20、记录一定个数的脉冲其所需的时间是一定的 elsif clkevent and clk 1 then 时钟信号if hold 1 then 禁止信号cnt1 cnt1cnt2 cnt2elsif recount 1 then 采集到的交通灯控制信号采集下cnt1 din1 一个计数值cnt2 din2else cnt1 cnt1-1 减计数cnt2 cnt2-1end ifcom2 时序仿真图 2-3 计数器模块的时序仿真波形时序仿真说明1reset1 清零 cnt1 cnt2next_slast_f2reset0 clk 为上升沿触发时如果 hold1 时计数器处于禁止状态cnt1cnt2 保

21、持不变输出不变3reset0 clk 为上升沿触发时且 hold0 那么如果 recount1 时则采集下一个计数数值4reset0 clk 为上升沿触发时且 hold0recount0 时 cnt1cnt2 进行减一运算并 doutcnt 输出5当 cnt10 或 cnt20 时则 next_sa 1 否则 next_sa 06当 cnt13 或 cnt23 时则 last_f 1 否则 last_f 0com 计数器控制器模块com1 原理及功能计数器控制器通过给计数器赋值控制计数器实现减计数从而达到倒记时的目的同时和计数器配合控制闪烁模块计数器控制器是通过硬件描述语言 case 语句来实

22、现不同状态的选择控制计数器控制器模块有三个输入端子 recount 是交通灯控制器控制计数器控制器是否进行计数状态转换的信号 reset 是内部复位信号用来复位内部信号sign_s 是状态选择控制端输出端 Load 赋值给计数器计数值 flash_addr 和计数器的 flash 共同作用控制闪烁模块的闪烁功能7com2 时序仿真图 2-4 计数器控制器模块时序仿真波形时序仿真说明1reset1 则 load1load2 清零2reset0 clk 为上升沿触发且 recount1 时1 若 sign_s1XXXXXXXXXX1 则 load1 conv_std_logic_vector 27

23、8 load2 conv_std_logic_vector 278 flash_addr “00“2 若 sign_s1 则 load1 conv_std_logic_vector 238 load2 conv_std_logic_vector 238 flash_addr “00“3 若 sign_s0 则 load1 conv_std_logic_vector 188 load2 conv_std_logic_vector 188 flash_addr “00“4 若 sign_s0 则 load1 conv_std_logic_vector 358 load2 conv_std_logi

24、c_vector 358 flash_addr “00“com 交通灯控制器的设计com1 原理及功能交通灯控制器控制过程分为八个阶段对应的有四个状态分别用 abcd 表示a 状态 A 方向的绿灯亮左转灯红灯黄灯都灭 B 方向的红灯亮绿灯黄灯左转灯都灭此时 A 方向上的车辆可直行或者各自右转行人可以横穿B 路口方向上车和行人禁止通行直到计数器计数时间到由 a 状态转到 b 状态b 状态方向的黄灯亮绿灯左转灯红灯灭方向的交通灯保持原状态此时方向上的车辆要开始停止通行行人可继续穿行方向的车辆行人保持原状态直到计数器计时时间到由 b 状态转到 c 状态c 态方向的左转灯亮绿灯黄灯红灯灭方向的交通灯保

25、持原状态此时方向上的车辆各自左转直行和右转车辆禁止通行行人可继续穿行方向的车辆和行人保持原状态直到计数器计时时间到由 c 状态转到 d 状态d 状态方向上的黄灯亮绿灯左转灯红灯灭方向的交通灯保持原状态此时方向上的车辆和行人要开始停止通行方向的车辆行人保持原状态直到计数器计时时间到由 d 态转到下个状态到此方向上的交通灯开始变化依次重复方向上 abcd 四个状态的转换当方向上的四个状态循环完成后方向再次重复方向上 abcd 四个状态的转换交通灯主要控制程序为when a if a_m 1 then 交通灯处于自动状态时if next_state 1 then 采集到计数器计数到零时反馈信号rec

26、ount 1state bsign_state “1XXXXXXXXXX1“else recount 0state aend ifelsif a_m 0 then 交通灯处于手动状态时if h_butt 1 then 手动状态转换控制信号recount 1state bsign_state “1XXXXXXXXXX1“else recount 0state aend ifend ifcom2 时序仿真图 2-5 交通灯控制器模块时序仿真波形时序仿真说明1Reset1 则 state asign_state “01XXXXXXXXXX“recount 12Reset0clk 为上升沿触发如果 h

27、old1 则交通灯控制器出与禁止状态此时所有路口的红绿灯都为红灯否则交通灯处于正常的显示状态3Reset0clk 为上升沿触发且 hold0 如果 state 为 a 状态时如果a_m1 且 next_state 1 则 recount1state bsign_state “1XXXXXXXXXX1“否则 recount 0state a 如果为手动状态 a_m0 且 h_butt 1 则 recount 1state b sign_state “1XXXXXXXXXX1“否则 recount 0 state a4Reset0clk 为上升沿触发且 hold0 如果 state 为 b 状态时

28、如果a_m1 且 next_state 1 则 recount1state csign_state “1XXXXXXXXXX0“否则 recount 0state b 如果为手动状态 a_m0 且 h_butt 1 则 recount 1state c sign_state “1XXXXXXXXXX0“否则 recount 0 state b5Reset0clk 为上升沿触发且 hold0 如果 state 为 c 状态时如果a_m1 且 next_state 1 则 recount1state dsign_state “1XXXXXXXXXX1“否则 recount 0state c 如果为

29、手动状态 a_m0 且 h_butt 1 则 recount 1state d sign_state “1XXXXXXXXXX1“否则 recount 0 state c6Reset0clk 为上升沿触发且 hold0 如果 state 为 d 状态时如果a_m1 且 next_state 1 则 recount1state esign_state “1XXXXXXXXXX1“否则 recount 0state d 如果为手动状态 a_m0 且 h_butt 1 则 recount 1state d sign_state “1XXXXXXXXXX1“否则 recount 0 state d7R

30、eset0clk 为上升沿触发且 hold0 如果 state 为 e 状态时如果a_m1 且 next_state 1 则 recount1state esign_state “1XXXXXXXXXX1“否则 recount 0state d 如果为手动状态 a_m0 且 h_butt 1 则 recount 1state f sign_state “1XXXXXXXXXX1“否则 recount 0 state e8Reset0clk 为上升沿触发且 hold0 如果 state 为 f 状态时如果a_m1 且 next_state 1 则 recount1state asign_stat

31、e “1XXXXXXXXXX1“否则 recount 0state f 如果为手动状态 a_m0 且 h_butt 1 则 recount 1state a sign_state “1XXXXXXXXXX1“否则 recount 0 state fcom 闪烁电路模块的设计com1 原理及功能闪烁模块一般用来提醒或者引起致意有时又希望能关断某一路的显示本设计中采用关断某个一个 LED 的方法利用一个低频 2Hz 左右的时钟与全部的输入信号都做与运算然后在送到 LED 的输入端口这样就会实现该低频时钟的频率闪烁功能闪烁模块控制交通灯闪烁通过与运算其实现功能主要程序为elsif clk_flash

32、 1 then 闪烁模块闪烁时钟if flash_addr “01“and flash 1then 控制交通指示灯cnt “01XXXXXXXXXX“ cnt_flash dins xor cnt 异或运算else cnt_flash dinsend ifelsif flash_addr “11“ and flash 1 then cnt “01XXXXXXXXXX“ cnt_flash dins xor cntelse cnt_flash dinsend if其中 clk_flash2hz 是低频闪烁信号 clk 是系统时钟信号 clk_flash 是低频闪烁时钟信号 flash flash

33、_addr 是交通灯控制器和计数器控制器产生的控制信号它们共同作用判别是否关断关开 LED 交通灯com2 时序仿真图 2-6 闪烁电路模块时序仿真波形时序仿真说明1reset1 则 cnt_flash 清零2reset0clk 为上升沿触发如果 hold1 时 cnt_flashdins 即保持不变输入等于输出3 reset0clk 为上升沿触发且 hold0 如果 clk_flash 1 且flash_addr “01“and flash 1 则 cnt01XXXXXXXXXXcnt_flash dins xor cnt否则 cnt_flash dins4reset0clk 为上升沿触发且

34、 hold0 如果 clk_flash 1 且 flash_addr “11“ and flash 1 则 cnt “01XXXXXXXXXX“ cnt_flash dins xor cnt 否则cnt_flash dinscom 消振模块设计com1 原理及功能交通灯出现紧急情况或需要交通人员进行手动控制时需要手动操作按键由于按键被按下和按键弹起时都有抖动造成控制器采集到多个信号信息使得计数器产生一些误操作控制器误判概率增加消振功能模块通过采用延时响应原理来消除抖动和误操作模块利用方波上升延采集信号当采集到信号时进行计数计数直到设定值时系统才认为此信号为有用信息进行响应输出控制信号否则屏蔽掉

35、此信号不响应执行输出8在本模块中有五个输入端 resetr 是内部初始化信号当模块采集到初始化信号时置零内部信号 clkr 是模块时钟信号其它三个是手动按键输入端手动转化控制按钮 a_mr 手动转换按钮 h_buttonr 紧急情况禁止按钮 holdr 模块采用clkr1KHZ 的方波作为时钟信号模块每 1um 采集一次信息当采集到十个上升延时响应操作输出一个 1um 的控制信号主要程序如下elsif clkrevent and clkr 1 then 1khz 的时钟信号if holdr 1 then 采集到手动信息if cnt2 “0111“ then 计数判断cnt2 “0000“hoq

36、 1else cnt2 cnt21 加计数hoq 0end ifend ifcom2 时序仿真图 2-7 消震模块时序仿真波形时序仿真说明1resetr1 则 cnt1cnt2cnt3 清零2resetr 0clk 为上升沿触发当 holdr1 时 cnt1 的值大于等于 10 时则清零 cnt1 令 hoq1 否则 cnt1 加一 hoq0 不变3resetr0clk 为上升沿触发当 a_mr1 时 cnt2 的值大于等于 10 时则清零 cnt2 令 aq1 否则 cnt2 加一 aq0 不变4resetr0clk 为上升沿触发当 h_buttonr1 时 cnt3 的值大于等于 10时则

37、清零 cnt3 令 hq1 否则 cnt2 加一 hq0 不变com 译码器设计 com71 原理及功能用来实现将二进制码或二十进制码译成一组与输入代码一一对应的高低电平信号的电路就是译码器它是一个多输入多输出电路它的输入是二进制代码或二十进制代码输出是代码所代表的字符本设计中采用七段显示译码器来显示交通灯上的倒记时com2 时序仿真图 2-8 译码器模块时序仿真波形com 总体电路设计电路由从总体上是由各个功能的电路模块组成通过元件例化语句调用低层次的当前设计实体 程序见附录 P9 图 2-9 总体电路的时序仿真波形24 实验平台的引脚配置及下载测试com 实验平台介绍com1 实验系统主板

38、提供的基本功能说明15 个按键即九个琴键按键按住琴键对应输出指示的红色二极管亮表示输出高电平松开琴键对应输出指示的红色二极管灭表示输出为低电平五个电平按键按下键对应输出指示的红色二极管亮表示输出高电平再按下键对应输出指示的红色二极管灭表示输出为低电平一个脉冲模式按键当按下此按键对应输出 20ms 的脉冲电平各按键均已用软件消抖8 个共阴数码管其中 7 个作为数码显示用显示采用扫描和自动灭零技术当输入的四位二进制数大于 1001 时灭灯通过跳线选择供 CPLDFPGA 或单片机使用6 个共阴数码管其中 6 个作为数码显示用自动灭零技术当输入的四位二进制数大于 1001 时灭灯直接与 CPLDFP

39、GA 连接用户直接提供 6 个数码管的 4 位 BCD 码输入共 24 位 8 个发光二极管输入高电平时二极管发亮 4组时钟输入时钟频率从 50MHz 到 2Hz 即 CLK1 CLK2 CLK3CLK4 其中任何一组只能用一个跳线帽接通时钟信号结对不能在一组上插两个或两个以上的跳线帽接通两个以上的时钟一个蜂鸣器和一个喇叭由跳线 K1 接通一个串行通信接口通过跳线选择供 CPLDFPGA 或单片机使用电源输入电压交流 220V-10V电源输出电压 5V2A 和-12V05A5V 的地和 12V 地com2 跳线说明Jump112 对 XILINX 的 CPLDFPGA 进行配置 34 对 LA

40、TTICE 的 CPLD 进行 配置 56 对 ALTERA 的 CPLDFPGA 进行配置 78 对 89S5X 进行配置表 2-2 Jump1 端口配置7 5 3 1 8 6 4 2 Jump22457 单片机串口与 RS232 的 端口相连 1368CPLDFPGA 串行信号与 RS232 端口相连 1278 单片机与 CPLDFPGA 的串口对连表 2-3 Jump2 端口配置2 4 6 8 1 3 5 7 Jump312 提供 USB 外设的电源 表 2-4 Jump3 端口配置1 2 Jump412 选通 AS0809 23 停用 0809 表 2-5 Jump4 端口配置1 2

41、3Jump512 选通 AD0832 34 停用 0832 表 2-6 Jump5 端口配置1 2 3MCU JP1全接左由 CPLDFPGA 控制扫描数码管显示全接右由单片机控制扫描数码管显示MCU JP2按下单片机下载状态弹上单片机运行状态MCU JP3全接左使用 IIC 端口连接全接右使用扫描键盘MCU JP4全接左由 CPLDFPGA 控制步进电机驱动信号全接右由单片机控制步进电机驱动信号ALTERA 公司的 EP1K30 芯片的 下载实验板的引脚分配表 2-2 下载实验板 1K30 的 引脚与实验系统的连接关系9功能 脚号 功能 脚号 功能 脚号 功能 脚号 Clk155 A1 低

42、118SL AD 95 双口 RAM Clk2 54 B1 121R AD 92Clk3 59 C1 120EN AD 91 CE 113 Clk4 56 D1 高128D7 AD 82 WR 112 蜂鸣器 64 A2 122D6 AD 81 RD 111 喇叭 65 B2 131D5 AD 86 D7 96 琴键 1 44 C2 130D4AD 83 D6 98琴键 2 46 D2 133D3AD 88 D5 97 琴键 3 47 A3 132D2AD87 D4 100 琴键 4 48 B3 136D1AD 90 D3 99 琴键 5 49 C3135D0AD 89 D2 102 琴键 6

43、 51 D3 138WRAD 67 D1 101 琴键 7 60 A4 137D7AD 80 D0 110 琴键 8 62 B4 141D6AD 79A10109 琴键 9 63 C4 140D5AD 78 VGA 电平 1 37 D4 143D4AD 73 RED1 19 电平 2 38 A5 142D3AD 72 RED0 20电平 3 39 B5 7 D2AD 70 GRN1 22 电平 4 41 C5 144D1AD69 GRN0 21 电平 5 42 D5 9 D0AD 68 BLU1 26 脉冲43 A6 8 RxD29 BLU0 23 LED 8 18 B6 11 TxD30 V

44、G13 28LED7 14 C6 10 PS132 VG14 27 LED6 17 D6 13 PS531LED5 12 LED2 117T1 LED4 119LED1114 LED3 116com 引脚配置及下载测试按表 2-2 可对管脚重新分配和定位进行硬件测试为后面的器件下载和硬件实现提供保障管脚配置定位如图 2-10 所示图 2-10 管脚的配置定位3 交通灯的硬件实现31 显示实现本设计中要求实现两个方面的显示即各个路口的时间和指示灯的状态对于路口时间显示可以采用 LED 七段数码管实现方向指示可以采用 LED 点阵显示器来实现LED 七段数码管有共阴极和共阳极两种接法本设计电路中采

45、用共阴极数码管即把七段数码管内的所有发光二极管的阴极都接地时数码管才能被点亮 LED点阵显示器亦称 LED 矩阵板以发光二极管为象素按行与列顺序显示彩色 LED 显示以三色二极管作为象素点来显示红光绿光澄光复合光红灯和绿灯同时亮它们分别代表交通灯控制电路中的红灯绿灯和黄灯三个指示灯此外在设计电路时在七段数码管和点阵显示器的每一段串联 510 的电阻以限制流经每一段的电流否则电流太大容易烧毁发光二极管1032 芯片的实现该设计采用的是 EP1K30TC144-3 芯片首先对通过对各个模块的编译和排错形成工程文件然后进行编译设置成工程编译综合到仿真测试通过后以备后用最后将顶层文件设置为工程统一处理

46、这时顶层文件会自动根据元件例化语句调用底层编译好的设计文件在设定好顶层文件后底层设计好的文件元件型号和引脚锁定信息会自动失效元件型号的选定和引脚锁定情况始终以工程文件顶层文件的设定为准同样仿真结果也是针对工程文件的所以在对最后的顶层文件处理时仍然应该对它重新设定元件型号和引脚锁定图 2-11 内部控制芯片的连接33 外围电路的实现根据交通灯系统的控制要求所示为本系统的硬件电路图该电路包含了 1 个CPLD 芯片个七段 LED 数码显示器个分别表示各个方向上的红黄绿灯以及相应的限流电阻 PLUS II 软件操作平台等相关技术很不大了解的状态我开始了独立的学习和试验查看相关的资料和书籍让自己头脑中

47、模糊的概念逐渐清晰使自己对硬件描述语言 VHDL 应用系统 PLUS II 软件系统的设计流程每一次改进都是我学习的收获技术是一种实现电子系统或电子产品自动化设计的技术它是为了适应现代电子产品设计的要求伴随着计算机集成电路电子系统设计的发展吸收众多学科的成果而逐步形成的一门新技术在本设计中主要实现了在十字路口交通灯的灯色变化和计时变化通过 VHDL 语言编译软件程序在 PLUS II 软件平台上进行 VHDL 代码设计目标器件选择编译仿真引脚配置编程下载硬件测试对交通灯的设计进行现实模拟仿真通过波形图分析电路这样做可实现模拟运行出错时可随时修改而且可以根究不同的实际情况修改完善程序节约项目开发

48、资金由于我所学的知识不够全面设计中存在不足和需要改进的地方例如对于系统性能提高的诸如面积优化逻辑优化设计速度优化并未涉及以至等一些较新技术在本实际中就没有显现出来通过这次毕业设计的完成使得我对自己所学的专业知识又有了更深一步的了解开拓了个人的视野在相关的知识和技巧方面也有了提高但是个人所学是有限的难免有疏漏的地方通过这次设计希望有所改善让所学的专业知识从理论运用到实际工作和生活中致 谢参考文献1擦光辉 CPLDTPGA 的开发与应用M北京电于工业出版社 2002 2杜玉远 EDA 设计快速入门圆电子世界 2004 1 24 3ALTERA 公司 DATABOOKM北京清华大学出版社 1998 4ALTERA 公司 ADHL 语言M北京清华大学出版社 1998 5刘宝琴 AL

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报