FPGA智能传感系统(二)基于FPGA的交通灯设计(二)

简介: FPGA智能传感系统(二)基于FPGA的交通灯设计(二)

程序调试

  接下来设置基本的参数信息,比如黄灯的发光时长,红灯的发光时长,绿灯的发光时长等。WIDTH参数用于控制分频,产生1s的时钟,由于系统时钟是50Mhz,所以系统时钟的波形周期为20ns,之后基于这个20ns一个上升沿就可以计数产生分频信号:

  其中WIDTH为25_000_000(仿真用25_000为其系统频率的一半,只要计数器clk_t小于WIDTH就不断累加,若达到这个值,或者复位信号来了,就归零,由此就产生了0.5s的计数器。依据这个0.5s的计数器,我们就可以产生1hz的时钟。

  有了1hz的时钟之后就可以改变状态机,切换交通信号灯工作的8个状态。在开始状态切换之前有一个复位信号,状态复位到状态1,计时为27s。

led_module.v

  led寄存器从高到低分别驱动:北、东、南、西向红绿黄灯。

  整个实现为:

  led灯控制模块(led_module):根据接收到的实时状态信号state[3:0],驱动北、东、南、西方向的led发光。

bit_seg_module.v

  数码管显示模块(bit_seg_module):接收交通灯控制模块传递过来的北、东、南、西方向的实时时间数据n_time[9:0]、e_time[9:0]、s_time[9:0]和w_time[9:0],并以此驱动对应的数码管,将数据显示出来。主要就是产生位选和段选信号以驱动数码管。

  所以数码管显示模块的输入为系统时钟信号,系统复位信号,东西方向数码管要显示的数值,南北方向数码管要显示的数值。输出就是数码管的位选信号和段选信号。

  之后依据数字num去驱动数码管显示:

  除此之外还写了顶层模块traffic_led.v和测试文件test.v。

仿真结果

总结

  这次设计给我最大的收获就是做什么事都不要急,要一步一步的做好前提工作,我开始看到这个课题的时候就动手去写程序,只是凭着自己脑子里想一点就写一点,但是经过几次反复的修改还是没有成功,看不到效果,所以后来干脆就放下来先把每一步每一个模块都弄清楚再动手去写,可以再本子上把各个模块的端口以及连接都画好,再去写,这样能做到事半工倍的效果,而且在设计的时候不懂得地方可以参考别人写的程序,毕竟,不管做什么课程设计都是为了让自己弄懂、学好,只要将别人的程序设计转为自己的知识就ok了,在次基础上加上自己的一些想法,学会变通,或许还有 些知识没学到,比如键盘输入控制这部分,但是通过别人的程序能让自己学到更多的知识,而且能巩固知识,所以我觉得要想把程序写好平常一定要多写多练多参考

相关文章
|
1月前
|
算法 5G 数据处理
m基于FPGA的PPM光学脉位调制解调系统verilog实现,包含testbench
m基于FPGA的PPM光学脉位调制解调系统verilog实现,包含testbench
65 0
|
7月前
|
算法 异构计算
基于FPGA的Lorenz混沌系统verilog开发,含testbench和matlab辅助测试程序
基于FPGA的Lorenz混沌系统verilog开发,含testbench和matlab辅助测试程序
|
7月前
|
算法 网络架构 异构计算
m基于FPGA的8FSK调制解调系统verilog实现,包含testbench测试文件
m基于FPGA的8FSK调制解调系统verilog实现,包含testbench测试文件
39 1
|
7月前
|
算法 测试技术 开发工具
m基于FPGA的2ASK调制解调系统verilog实现,包含testbench测试文件
m基于FPGA的2ASK调制解调系统verilog实现,包含testbench测试文件
72 0
|
1月前
|
传感器 算法 机器人
在实用化人形机器人控制系统中深入应用FPGA的框架设计(基于特斯拉Optimus-Gen2的硬件系统)
针对实用化人形机器人的控制系统,以深入应用FPGA技术为指导思想做了一个框架设计,提供一个具象化的设计实例、参考技术方案,协助各研发团队及相关决策者了解这一技术思路的价值。 进而,笔者希望读者将这个框架设计与《在实用化人形机器人研发流程中深入应用FPGA技术的流程图》结合起来进行分析、思考,希望: 进一步降低将FPGA深入应用于人形机器人在纯粹技术维度上的门槛; 助力更多正在人形机器人领域参与竞争的团队 -- 及时做出实质性决策,及时将更多资源分配到深入应用FPGA技术这一竞争维度。
131 4
在实用化人形机器人控制系统中深入应用FPGA的框架设计(基于特斯拉Optimus-Gen2的硬件系统)
|
1月前
|
传感器 数据采集 人工智能
LabVIEW FPGA开发实时滑动摩擦系统
LabVIEW FPGA开发实时滑动摩擦系统
17 0
|
1月前
|
算法 异构计算
m基于FPGA的OFDM系统verilog实现,包括IFFT,FFT,成型滤波以及加CP去CP,包含testbench
m基于FPGA的OFDM系统verilog实现,包括IFFT,FFT,成型滤波以及加CP去CP,包含testbench
69 1
|
1月前
|
存储 算法 数据处理
m基于FPGA的8PSK调制解调系统verilog实现,包含testbench测试文件
m基于FPGA的8PSK调制解调系统verilog实现,包含testbench测试文件
55 0
|
7月前
|
存储 算法 测试技术
m基于FPGA的8ASK调制解调系统verilog实现,包含testbench测试文件
m基于FPGA的8ASK调制解调系统verilog实现,包含testbench测试文件
75 0
|
7月前
|
算法 异构计算
m基于FPGA的4ASK调制解调系统verilog实现,包含testbench测试文件
m基于FPGA的4ASK调制解调系统verilog实现,包含testbench测试文件
74 0