基于小脚丫FPGA开发板的交通灯设计-电路方案

VIP专享 2021-04-22 07:23:48 1009KB ZIP
38
收藏 收藏
举报

1、设计要求基于小脚丫FPGA开发板设计带数码管显示倒计时的交通灯系统,要求: 1)一个道路绿灯持续时间25S,红灯持续时间10S,黄灯持续时间3S; 2)另一道路绿灯持续时间10S,红灯持续时间25S,黄灯持续时间3S; 3)第一位数码管和第二位数码管显示倒计时; 2、硬件连接FPGA的系统时钟来自于小脚丫FPGA开发板配置的25MHz时钟晶振,连接FPGA的C1引脚。 本设计除了时钟和复位键以外没有其他的输入,故只用到一个按键K6硬件设计如图1所示,按键连接到FPGA的B1引脚。 图1、复位键硬件设计 设计中需要两个RGB的led进行交通灯显示的呈现,每一个RGB的LED都有三个引脚需要跟小脚丫连接在一起。两个LED跟小脚丫FPGA开发板之间的连接关系如图2所示,对应的管脚如下。 图2、RGB_LED硬件连接 设计中需要使用数码管进行倒计时的显示,小脚丫通过74HC595来控驱动和控制数码管。74HC595跟小脚丫FPGA开发板之间的连接关系如图3所示,对应的管脚如下。 图3、数码管驱动74HC595硬件连接 3、工作原理和状态转换 1)使用计数器做分频处理,得到周期为1秒的脉冲信号clk_1h; 2)使用一个6bit的BCD码表示倒计时时间的值,其中高2bit表示值的十位,低4bit表示值的个位; 3)用以下四个状态分别表示交通灯不同的显示; S0: 大路绿灯亮,小路红灯亮,持续25S; S1: 大路黄灯(蓝灯)亮,小路红灯持续3S; S2: 大路红灯亮,小路绿灯亮,持续10S; S3: 大路红灯亮,效率黄灯(蓝灯)亮,持续3S; 得到状态转换图如下: 图4、交通灯状态转换图 4、代码设计为了实现所需要的功能,我们将整个设计在顶层划分为五个不同的模块,如图5所示。 图5、交通灯程序框图 4.1clock_division模块Clock_division模块主要实现数字时钟的模式控制,程序代码截图如下: 4.2 Curren_state模块 这部分代码的作用是将次态赋值给当前态,这是三段式的标志性模块。该模块程序代码截图如下: 4.3 Output&count模块这部分代码可以说是整个代码的核心部分,交通灯的显示在这部分完成。此外,这一部分还负责进行倒计时,这部分的代码将即使数字分为个位和十位进行分别倒计时。此举有利用后面对74HC595驱动数码管的代码进行调用。其序代码截图如下: 4.4 CubeDisplay模块这部分代码用于74HC595的控制,以使得数码管能够按照计划进行倒计时显示。这部分代码截图如下: 5、系统运行图6、系统运行 视频地址: 优酷视频(基于小脚丫FPGA的倒计时交通灯): https://v.youku.com/v_show/id_XMTU0NDI4NjQ1Mg==.html 6、资源报告资源数量比例说明 LUT4s24919% 寄存器1157% 存储器00% IO管脚11 时钟频率25MHz 7、知识点时钟计数分频 三段式程序段的编写 串行/并行转换 74HC595控制 9、相关文件文件名称功能 Traffic_Light交通灯状态转换和灯显示,以及顶层模块功能 DLED_4Bit倒计时显示模块

...展开详情
立即下载 身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 至尊王者

关注 私信
上传资源赚钱or赚积分
最新推荐
基于小脚丫FPGA开发板的交通灯设计-电路方案 (VIP专享) VIP下载
1/0