
基于小脚丫FPGA开发板,交通灯设计方案的电路实现。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
1、该设计方案基于小脚丫FPGA开发板,旨在构建一个具有数码管显示倒计时的交通灯系统。具体要求如下:首先,需要实现两条道路的交通灯控制,其中一条道路的绿灯持续时间为25秒,红灯持续时间为10秒,黄灯持续时间为3秒;另一条道路的绿灯持续时间为10秒,红灯持续时间为25秒,黄灯持续时间为3秒;其次,第一和第二个数码管应分别用于实时显示倒计时过程。 2、硬件连接方面,FPGA的系统时钟将从小脚丫FPGA开发板配置的25MHz时钟晶振中获取,并通过C1引脚连接到FPGA。由于设计仅依赖于一个按键K6作为输入,且不包含其他输入设备(除了时钟和复位键),因此硬件设计如图1所示。该按键连接到FPGA的B1引脚。图1展示了复位键的硬件设计。 3、在交通灯显示方面,需要使用两个RGB LED 灯进行呈现,每个LED都有三个引脚需要与小脚丫FPGA开发板连接。图2详细阐述了两个LED与小脚丫FPGA开发板之间的连接关系及对应的管脚分配。4、为了实现倒计时的显示功能,需要使用数码管来显示时间。小脚丫FPGA开发板通过74HC595芯片来控制和驱动数码管。图3则展示了74HC595与小脚丫FPGA开发板之间的连接关系及对应的管脚分配。 5、工作原理及状态转换:首先利用计数器进行分频处理,从而产生周期为1秒的脉冲信号clk_1h;其次采用6位BCD码来表示倒计时的时间值,其中高两位代表十位数值,低四位代表个位数值;最后通过四个不同的状态(S0, S1, S2, S3)来分别表示交通灯的不同显示状态:S0表示大路绿灯亮、小路红灯亮并持续25秒;S1表示大路黄灯(蓝灯)亮、小路红灯持续3秒;S2表示大路红灯亮、小路绿灯亮并持续10秒;S3表示大路红灯亮、小路黄灯(蓝灯)亮并持续3秒。状态转换图如图4所示。 6、代码设计:为了实现上述功能需求,整个设计被划分为五个不同的模块(如图5所示)。 6.1 clock_division模块主要负责数字时钟模式的控制。其程序代码截图如下. 6.2 Curren_state模块的功能是将当前状态赋值给次态, 该模块是三段式程序的核心部分. 其程序代码截图如下. 6.3 Output&count模块是整个代码的核心部分, 用于完成交通灯的显示以及倒计时功能. 该模块将数字分为个位和十位分别进行倒计时, 并调用74HC595驱动数码管的代码. 其程序代码截图如下. 6.4 CubeDisplay模块用于控制74HC595芯片, 以确保数码管能够按照预定的计划进行倒计时显示. 其程序代码截图如下. 7、系统运行:系统运行视频地址位于优酷视频平台(基于小脚丫FPGA的倒计时交通灯):https://v.youku.com/v_show/id_XMTU0NDI4NjQ1Mg==.html 8、资源报告:资源数量比例说明包括LUT (Look-Up Table) 的数量占总资源的24.91%,寄存器的数量占总资源的11.57%,存储器的数量占总资源的0%,IO 管脚的数量占总资源的11%,以及时钟频率为25MHz。 9、相关文件:包括Traffic_Light (交通灯状态转换和 灯显示) 以及顶层模块的功能 DLED_4Bit (倒计时显示模块)。
全部评论 (0)


