十字路口交通灯控制器的VHDL设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FPGA的半整数分频器设计
一.系统设计任务及功能概述
1.系统设计任务基于FPGA的半整数分频器设计
任务要求:设有一个5MHz(或7、9、11、13、15、17、19、21、23 、25MHz)的时钟源,但电路中需要产生一个2MHz的时钟信号,由于分频比为2.5(或3.5、4.5、5.5、6.5、7.5、8.5、9.5、10.5、11.5、12.5),因此采用小数分频。
2.小数分频的基本原理
小数分频的基本原理是采用脉冲吞吐计数器和锁相环技术先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。如设计一个分频系数为10.1的分频器时,可以将分频器设计成9次10分频,1次11分频,这样总的分频值为:F=(9×10+1×11)/(9+1)=10.1
3.系统功能概述
本系统是一个基于FPGA的半整数分频器,具有以下功能:有一个5MHz的时钟源,通过半整数分频器后电路中可以产生的是一个2MHz的时钟信号
二.系统设计方案和程序设计
1.系统设计方案
下图给出
再利用模
PORT(CLR,ENA,CLK:IN STD_LOGIC;
QA,QB,QC,QD:OUT STD_LOGIC);
END ENTITY JSHQ11;
ARCHITECTURE ART OF JSHQ11 IS --定义了结构体
SIGNAL CQI: STD_LOGIC_VECTOR(0 TO 3);
BEGIN
PROCESS(CLK,CLR,ENA)IS --进程开始,CLK,CLR,ENA为敏感信号
BEGIN
IF CLR='1' THEN CQI<="0000";
ELSE
IF CLK'EVENT AND CLK='1'THEN
IF ENA='1'THEN
IF CQI=10THEN CQI<="0000";
ELSE
CQI<=CQI+1;
END IF;
END IF;
END IF;
END IF;
END PROCESS;
QA<=CQI(0); -- 信号赋值
QB<=CQI(1);
QC<=CQI(2);
QD<=CQI(3);
END ARCHITECTURE ART;
三、仿真结果及原理图
1.模11计数器仿真波形图
图1计数器仿真波形图2.模11计数器元件图
图2计数器元件图
3.半整数分频器原理图
图3 分频器原理图4.半整数分频器仿真波形图
图4分频器仿真波形图5.半整数分频器元件图
图5分频器元件图
6 输入输出管脚说明
表1 半整数分频器管脚
三.课程设计总结
本次试验采用了程序与原理图相结合的设计方法,主要编写计数器的程序实现分频。经过一段时间的实验操作使我熟练的掌握了对软件maxplus2的使用,加深了对VHDL语言的了解,提高了编程能力。掌握了一定的改错能力,业余还了解了一些关于EDA在实际中扮演的重要角色。这次实习获益匪浅,增加了对这门课的兴趣。
四.参考文献
[1] 谭会生,瞿遂春.EDA综合应用与实例分析. 西安:西安电子科技大学出版社,2004,11.
[2]潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.
[3] 谭会生,张昌凡编著.EDA技术及应用. 西安:西安电子科技大学出版社.2011,1.
[4]阎石主编.数字电子技术基础. 北京:高教出版社,2003.
[5] 刘艳萍,高振斌,李志军.EDA实用技术及应用[M].北京:国防工业出版社,2006
十字路口交通灯控制器的VHDL设计
一.系统设计任务及功能概述
1.系统设计任务
设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制器.
2.系统功能概述
(1)主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。
(2)主干道处于常允许通行状态,而支干道有车来才允许通行。
(3)当主、支道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次放行25s,在每次由亮绿灯变成亮红灯的转换过程中,要亮5s的黄灯作为过渡,并进行减计时显示。
二.系统设计方案和程序设计
1.系统设计方案
交通灯的控制电路主要由四大模块组成,通过传感器来判别主干道与支干道车辆运行情况,然后由交通灯实现车辆的自动控制。交通控制模块发出主支道控制信号,选择定时模块工作,控制显示模块。定时模块由45s,25s,5s三部分组成,实现红黄绿三个灯的显示时间。显示控制模块为译码做准备,相互配合实现时间显示。
图1 设计思路框图
2.VHDL程序设计
(1)交通控制模块
a.交通控制模块的程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY JTD IS
PORT(CLK,SM,SB:IN STD_LOGIC; --SM,SB为主道和支道传感器信号
MR,MY,MG,BR,BY,BG:OUT STD_LOGIC);
END ENTITY JTD;
ARCHITECTURE ART OF JTD IS
TYPE STATE_TYPE IS(A,B,C,D);
SIGNAL STATE:STATE_TYPE;
BEGIN
CNT:PROCESS(CLK)IS --进程开始,CLK为敏感信号