酷文首页  
站内搜索:
网站地图 | RSS订阅 | 收藏本站
经济论文
证券金融
工商管理
会计审计
法学论文
医药论文
社会论文
教育论文
计算机论文
艺术论文
哲学论文
财政税收
财务管理
公共管理
理学论文
政治论文
文学论文
工学论文
文化论文
实用文档
应用文
自考成考
演讲稿
法律文书
子栏目导行↓
网站赞助商↓
本类热点↓
本类更新↓
热门标签↓
网摘收藏↓

基于VHDL的交通灯控制器的设计与实现

作者:易 博
来源:酷文网
点击:
载入中...
加入时间:2008-07-23
字体大小:[  ]

 NUMB1,NUMB1:输入信号。分别表示A,B方向的倒计时间个位上的数字。
NUMA1,NUMB1采用INTEGER来表示并将其范围限制为0到9,用VHDL语句定义为:NUMA1,NUMB1:IN  INTEGER RANGE 0 TO 9。
输出端口说明:
DOUT7:数码管显示信号。DOUT7采用7位2进制来表示,用VHDL语句定义为:DOUT7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)。
DOUT8:数码管选位信号。DOUT7采用4位2进制来表示,用VHDL语句定义为:DOUT8:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。
4.4.3  实体说明
根根据译码模块功能描述和总体框图的输入/输出信号,容易得到译码模块的实体说明,实体说明图如图15所示。


图15  译码模块实体说明
Fig 15  Entity discription of the coding
4.4.4  实现算法
通过译码模块的功能描述可以得出译码模块的基本流程。实现译码模块进程的基本流程图如图16所示。


图16  译码模块进程
Fig 16  Process of the coding
4.4.5  元件符号图
根据各进程的算法流程图,我们容易编写对应的VHDL代码,把编写好的VHDL代码在Quartus II平台上运行,进行编译。编译成功之后,建立译码模块的符号元件,得到的译码模块的元件符号图如图17所示
       
图17 译码模块的元件符号图
Fig 17 Component symbol diagram of t the coding block
4.4.6  仿真
译码模块的仿真:CLK3为1KHZ并在上升沿时扫描显示数字。选位信号SE[3..0]在四个数字中按规律转换,同时数码管在SE[3..0]信号为低电平时显示倒计时间。仿真图结果与预计功能相符合。仿真图如图18所示。


  图18  译码模块的仿真图
Fig 18 Simulation diagram of t the coding
4.5  顶层模块的设计
    我们前面的设计是把整体系统划分成各个功能模块,并实现各模块的设计,但是我们未考虑把各个模块连接起来实现整体系统的功能。
4.5.1  顶层原理图的设计
原理图输入方式一般用于设计顶层模块,因为Quartus II软件提供的元件进行原理图输入是一种最为直接的输入方式,原理图输入方式直观,便于进行接口设计和管脚
锁定,便于信号的观察以及电路的调整,而且,采用图形方式设计的电路具有效率高和运行速度快等优点。上面设计的下层模块都生成了元件符号,所以很方便于上层模块原理图的生成。有了上面的底层模块,我们把底层模块连接起来实现系统整体的功能。连接好的顶层原理图如图19所示。


图19  顶层模块的原理图
Fig 19 Schematic diagram of The top-level block
顶层原理图包括了5个底层模块。图中的HOLD、CLK、RESET、CLK3是外部输入信号,GA,RA,YA,GB,RB,YB,LED[3..0],SE[3..0]是输出信号,顶层模块主要研究的是外部输入信号、输出信号,而输入信号经过怎么样的处理输出等应该是个模块内部考虑的问题。像NUM[5..0]、NUMA[4..0]、NUMB[4..0]等信号都是内部模块产生的信号。整个顶层原理图以CONTROLLER模块为核心,辅助模块则是COUNTER模块,而FENWEI模块和JIEMA模块主要是数码管显示模块。通过计数模块NUM值的传递给控制模块而决定信号灯状态和信号灯倒计时间,由于数码管只能显示0到9,因此需要通过分位模块把倒计时间分为0到2范围的十位和0到9范围的个位,再通过译码模块的选位信号,这样数码管才能同时显示4位数字。
4.5.2  顶层模块的仿真
在顶层原理图的基础上生成的顶层模块对应的仿真波形图。可以对顶层模块的仿真验证整体系统的正确性,也可以验证是否满足了设计要求。系统调试是分模块进行的。把每一个模块的功能调试完毕后,再把整个系统连接起来进行调试。在Quartus II中建立波形文件,设置好时钟和各信号的初始电平后程序经Quartus II中的Compiler编译。再通过Simulator和Timinganalyzer工具分别进行功能仿真和时序仿真。仿真结果如图20所示。其中RESET是开始信号、CLK是系统基准时钟信号为1HZ、CLK3是扫描数码管频率为1KHZ、HOLD是特殊情况信号、GA,GB,RA,RB,YA,YB是信号灯信号、LED[7..0],SE[3..0]是数码管显示信号。从图中可以看出信号灯信号在各自的时段内自动转换。通过分析得出交通灯控制器的设计是正确的,也满足了设计要求。仿真图如图20所示。
 
 
图20  顶层模块的仿真图
Fig 20 Simulatiom diagram of the top-level block

5  硬件下载与测试
5.1  硬件测试平台的搭建
使用Quartus II仿真正确以后,最后一步是下载并建立外围电路,进行硬件测试。而在之前我们还要进行引脚分配。在这里共有虚实四类引脚,具体为外围电路引脚(输入和输出两种)如开关单元K0;然后是SOPC引脚,SOPC引脚是片上系统在实验箱上的的IO引脚,PFGA是一种片上系统,在实验箱上外围电路引脚与芯片上的引脚是无法直接连线,实验箱将PFGA引脚与通用的IO引脚直接相连,如IO1与PFGA的 PIN_2引脚相连,这样只要将外围电路引脚与IO引脚相连,就可以实现对FPGA的输入输出。如将开关单元中的K0与IO1相连,就可以通过拨动开关实现对PFGA的PIN_2引脚的置1与置0;再则是FPGA引脚是芯片上的虚引脚,芯片上本身已经设置存在;最后是系统引脚,当我们在下载时,必须先把系统的端口(虚的)与FPGA上的引脚(实的)对应,这样就完成了从虚到实的一个转换过程,才能实现从Quartus II到试验箱的下载;如把系统的端口reset与PFGA的 PIN_2引脚映射,就实现了将reset端口分配到PIN_2引脚。
根据这四种引脚的关系与前面的系统设计,我们可以构建如21图所示的测试平台,其引脚的对应关系如表1所示。
表1  引脚对应表
Table 1  Pin relationship

外围引脚            SOPC引脚             FPGA引脚            系统端口
开关单元K0            IN1                 PIN_175               HOLD转贴于 酷文网-论文下载中心 http://www.coolwen.net


共8页: 上一页 [1] [2] [3] [4] [5] 6 [7] [8] 下一页

网摘收藏:
免责声明 | 关于我们 | 广告联系 | 友情链接 | 网站地图 | 共同合作
免费论文 毕业论文 毕业论文范文 酷文网(www.coolwen.net) 版权所有 coolwen.net 2007,All Rights Reserved
E-mail:hui_love#tom.com(为防止垃圾邮件请把#换成@) 点击这里给我发消息 点击这里给我发消息
湘ICP备07003917号