基于FPGA的半整数分频器设计_第1页
基于FPGA的半整数分频器设计_第2页
基于FPGA的半整数分频器设计_第3页
基于FPGA的半整数分频器设计_第4页
基于FPGA的半整数分频器设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1基于基于 FPGAFPGA 的半整数分频器设计的半整数分频器设计一.系统设计任务及功能概述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.小数分频的基本原理小数分频的基本原理是采用脉冲吞吐计数器和锁相环技术先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频

2、值。如设计一个分频系数为 10.1 的分频器时,可以将分频器设计成 9 次 10 分频,1 次 11 分频,这样总的分频值为:F=(910+111)/(9+1)=10.13.系统功能概述本系统是一个基于 FPGA 的半整数分频器,具有以下功能:有一个 5MHz 的时钟源,通过半整数分频器后电路中可以产生的是一个 2MHz 的时钟信号二.系统设计方案和程序设计1.系统设计方案由于分频比为 2.5,因此采用小数分频。分频系数为 N-0.5 的分频器,其电路可由一个异或门、一个模 N 计数器和二分频器组成。下图给出了通用半整数分频器电路组成。模N计数器异或门2分频器f0/(N-0.5)f0/(2N-

3、1)OUTCLK(2.5分频)Q(五分频)Q(5分频)f0=5MHz由于分频比为 2.5 则本实验中先要设计一个模 11 的计数器,然后建立模 11 计数器的元件,再利用原理图设计完成分频器的设计2.VHDL 程序设计模 11 计数器 VHDL 程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JSHQ11 IS -定义实体 JSHQ PORT(CLR,ENA,CLK:IN STD_LOGIC; QA,QB,QC,QD:OUT STD_LOGIC); END ENTITY J

4、SHQ11;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; ELSE2IF CLKEVENT AND CLK=1THEN IF ENA=1THEN IF CQI=10THEN CQI=0000; ELSE CQI=CQI+1;END IF; END IF; END IF;END IF;END PROCESS;QA=CQI(0);

5、 - 信号赋值QB=CQI(1);QC=CQI(2);QDMR=0;MY=0;MG=1; BR=1;BY=0;BG=0; IF(SB AND SM)=1THEN IF S=45 THEN -状态转换 STATE=B;CLR:=0;EN:=0; ELSE STATE=A;CLR:=1;EN:=1; END IF; ELSIF SM=0THEN STATE=B;CLR:=0;EN:=0; ELSE STATEMR=0;MY=1;MG=0; BR=1;BY=0;BG=0; IF S=5 THEN STATE=C;CLR:=0;EN:=0; ELSE STATEMR=1;MY=0;MG=0; BR=0

6、;BY=0;BG=1; IF (SM AND SB)=1THEN IF S=25 THEN STATE=D;CLR:=1;EN:=1; END IF; ELSIF SB=0THEN STATE=D;CLR:=0;EN:=0; ELSE STATEMR=1;MY=0;MG=0; BR=0;BY=1;BG=0; IF S=5 THEN STATE=A;CLR:=0;EN:=0; ELSE STATE=D;CLR:=1;EN:=1;END IF;END CASE;END IF;END PROCESS CNT;END ARCHITECTURE ART;b.交通控制模块的波形仿真图如下图 1 交通控制模

7、块的波形仿真图c. 交通控制模块的元件图如下: 8图 2 交通控制模块生成元件图d. 输入、输出接口说明:表 1 交通控制模块的输入输出接口说明接口名称类型(输入输出) 引脚 说明CLKIN1时钟信号SMIN3 主道车信号SBIN5 支道车信号 MROUT2 主道红灯 MGOUT4主道绿灯 MYOUT6主道黄灯 BGOUT8支道绿灯 BYOUT10支道黄灯 BROUT12支道红灯(2) 45s,25s,5s 定时模块的程序设计如下:a.45s 定时模块的程序设计如下:CNT45SLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGI

8、C_UNSIGNED.ALL;ENTITY CNT45S ISPORT(SB,CLK,EN45:IN STD_LOGIC;DOUT45M,DOUT45B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT45S;ARCHITECTURE ART OF CNT45S ISSIGNAL CNT6B:STD_LOGIC_VECTOR(5 DOWNTO 0); -信号类型矢量类BEGINPROCESS(SB,CLK,EN45)IS -进程开始BEGINIF SB=0THEN CNT6B=CNT6B-CNT6B-1;ELSIF(CLKEVENT AND CLK

9、=1)THENIF EN45=1THEN CNT6B=CNT6B+1; -加法计数器 ELSIF EN45=0THEN CNT6BDOUT45M=01000101;DOUT45BDOUT45M=01000100;DOUT45BDOUT45M=01000011;DOUT45BDOUT45M=01000010;DOUT45BDOUT45M=01000001;DOUT45BDOUT45M=01000000;DOUT45BDOUT45M=00111001;DOUT45BDOUT45M=00111000;DOUT45BDOUT45M=00110111;DOUT45BDOUT45M=00110110;DO

10、UT45BDOUT45M=00110101;DOUT45BDOUT45M=00110100;DOUT45BDOUT45M=00110011;DOUT45BDOUT45M=00110010;DOUT45BDOUT45M=00110001;DOUT45BDOUT45M=00110000;DOUT45BDOUT45M=00101001;DOUT45BDOUT45M=00101000;DOUT45BDOUT45M=00100111;DOUT45BDOUT45M=00100110;DOUT45BDOUT45M=00100101;DOUT45BDOUT45M=00100100;DOUT45BDOUT45M

11、=00100011;DOUT45BDOUT45M=00100010;DOUT45BDOUT45M=00100001;DOUT45BDOUT45M=00100000;DOUT45BDOUT45M=00011001;DOUT45BDOUT45M=00011000;DOUT45BDOUT45M=00010111;DOUT45BDOUT45M=00010110;DOUT45BDOUT45M=00010101;DOUT45BDOUT45M=00010100;DOUT45BDOUT45M=00010011;DOUT45BDOUT45M=00010010;DOUT45BDOUT45M=00010001;DO

12、UT45BDOUT45M=00010000;DOUT45BDOUT45M=00001001;DOUT45BDOUT45M=00001000;DOUT45BDOUT45M=00000111;DOUT45BDOUT45M=00000110;DOUT45BDOUT45M=00000101;DOUT45BDOUT45M=00000100;DOUT45BDOUT45M=00000011;DOUT45BDOUT45M=00000010;DOUT45BDOUT45M=00000001;DOUT45BDOUT45M=00000000;DOUT45B=00000000;END CASE;END PROCESS;

13、10END ARCHITECTURE ART;b. 45s 定时模块的波形仿真图如下图 3 45s 定时模块的波形仿真图c.45s 定时模块的元件图如下:图 4 45s 定时模块的元件图d. 输入、输出接口说明表 2 计分模块的输入输出接口说明接口名称类型(输入输出) 引脚 说明SB输入1支道车信号CLK输入2分时钟信号EN45输入5使能信号DOU45S7.0输出21输出11DOU45B7.0输出22输出a.25s 定时模块的程序设计如下:CNT25SLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL

14、;ENTITY CNT25S ISPORT(SB,SM,CLK,EN25:IN STD_LOGIC; DOUT25M,DOUT25B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT25S;ARCHITECTURE ART OF CNT25S ISSIGNAL CNT5B:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINPROCESS(SB,SM,CLK,EN25)IS BEGINIF SB=0 OR SM=0 THEN -25 进制加法计数器CNT5B=CNT5B-CNT5B-1;ELSIF(CLKEVENT AND CLK=

15、1)THENIF EN25=1THENCNT5B=CNT5B+1;ELSIF EN25=0THENCNT5BDOUT25B=00100101;DOUT25MDOUT25B=00100100;DOUT25MDOUT25B=00100011;DOUT25MDOUT25B=00100010;DOUT25MDOUT25B=00100001;DOUT25MDOUT25B=00100000;DOUT25MDOUT25B=00011001;DOUT25MDOUT25B=00011000;DOUT25MDOUT25B=00010111;DOUT25MDOUT25B=00010110;DOUT25MDOUT25

16、B=00010101;DOUT25MDOUT25B=00010100;DOUT25MDOUT25B=00010011;DOUT25MDOUT25B=00010010;DOUT25MDOUT25B=00010001;DOUT25MDOUT25B=00010000;DOUT25MDOUT25B=00001001;DOUT25MDOUT25B=00001000;DOUT25MDOUT25B=00000111;DOUT25MDOUT25B=00000110;DOUT25MDOUT25B=00000101;DOUT25MDOUT25B=00000100;DOUT25MDOUT25B=00000011;D

17、OUT25MDOUT25B=00000010;DOUT25MDOUT25B=00000001;DOUT25MDOUT25B=00000000;DOUT25M=00000000;END CASE;END PROCESS;END ARCHITECTURE ART;.b. 25s 定时模块的波形仿真图如下图 5 25s 定时模块的波形仿真图c.25s 定时模块的元件图如下: 图 6 25s 定时模块的元件图13a. 5s 定时模块的程序设计如下:CNT05SLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL

18、;ENTITY CNT05S IS -定义实体 PORT(CLK,EN05M,EN05B:IN STD_LOGIC; DOUT5:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT05S;ARCHITECTURE ART OF CNT05S IS SIGNAL CNT3B:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINPROCESS(CLK,EN05M,EN05B)IS BEGINIF(CLKEVENT AND CLK=1)THEN IF EN05M=1OR EN05B=1THEN CNT3B=CNT3B+1; ELSE CN

19、T3BDOUT5DOUT5DOUT5DOUT5DOUT5DOUT5=00000000;END CASE; END PROCESS;END ARCHITECTURE ART;b. 5s 定时模块的波形仿真图如下14图 7 5s 定时模块的波形仿真c.、5s 定时模块的元件图如下:图 8 5s 定时模块的元件图(3)显示控制模块 a.显示控制模块的程序如下:XSKZLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY XIANSHI ISPORT(EN45,EN25,EN05M,EN05B:I

20、N STD_LOGIC;AIN45M,AIN45B:IN STD_LOGIC_VECTOR(7 DOWNTO 0);AIN25M,AIN25B,AIN05:IN STD_LOGIC_VECTOR(7 DOWNTO 0);DOUTM,DOUTB:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY XIANSHI;ARCHITECTURE ART OF XIANSHI IS BEGINPROCESS(EN45,EN25,EN05M,EN05B)IS -选择模块BEGINIF EN45=1THEN15 DOUTM=AIN45M(7 DOWNTO 0);DOUTB=

21、AIN45B(7 DOWNTO 0);ELSIF EN05M=1THEN DOUTM=AIN05(7 DOWNTO 0);DOUTB=AIN05(7 DOWNTO 0);ELSIF EN25=1THENDOUTM=AIN25M(7 DOWNTO 0);DOUTB=AIN25B(7 DOWNTO 0);ELSIF EN05B=1THEN DOUTM=AIN05(7 DOWNTO 0);DOUTB=AIN05(7 DOWNTO 0);END IF;END PROCESS;END ARCHITECTURE ART;b.25s 定时模块的元件图如下:图 9 显示控制生成元件图三、十字路口十字路口交通灯控制器交通灯控制器设计交通控制器主要就是设计控制电路、定时时器电路和译码器电路三部分。在设计完这三部分的程序之后进行波形仿真,创建原件,其它的按照电路功能的要求直接调用器件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论