论文:基于vhdl数字频率计的设计与仿真内容摘要:

结构体 功能描述 湖北师范学院 2020 届控制科学与工程系学士学位论文(设计) 10 接在一起,形成系统主电路的软件结构。 时基产生与测频时序控制模块设计程序 时基产生与测频时序控制电路主要产生计数允许信号 EN、清 零信号CLR 和锁存信号 LOCK 部分 VHDL 代码如下: ARCHITECTURE behave OF CTRL IS 定义结构 体 behave SIGNAL CLK2 : STD_LOGIC。 定义信号 CLK2 BEGIN PROCESS ( CLK ) 时基信号作为进程的敏感量触发进程 BEGIN IF RISING_EDGE(CLK) THEN 时基信号上升沿触发 CLK2=NOT CLK2。 END IF。 CLK2 是 时基信号 CLK 的二分频 END PROCESS。 进程结束 PROCESS(CLK, CLK2) 进程开始 BEGIN IF CLK=39。 039。 AND CLK2=39。 039。 THEN CLR=39。 139。 ELSE CLR=39。 039。 END IF。 END PROCESS。 进程结束, 产生清零信号 CLR LOCK = NOT CLK2。 EN=CLK2。 产生 锁存信号及计数允许信号 END behave。 结构体描述结束 待测信号脉冲计数模块设计程序 待测 信号 脉冲计数 模块的功能是对输入信号 CLK 的矩形波进行计数,它 由 4个十进制加法计数器组成, 有一时钟使能输入端 EN,高电平时允许计数,低电平时禁止计数,还有一个清零信号 CLR,当一次计数结束后,便进行清零,为下次计数做准备。 湖北师范学院 2020 届控制科学与工程系学士学位论文(设计) 11 十进制加法计数器的部分 VHDL 代码: ARCHITECTURE behave OF CB10 IS 定义结构 体 behave BEGIN PROCESS(CLK,CLR,EN) 进程开始 BEGIN IF CLR=39。 139。 THEN COUNT10=0000。 CLR 高电平时,计数器清零 ELSIF CLK39。 EVENT AND CLK=39。 139。 THEN IF (EN=39。 139。 ) THEN EN高电平时,允许计数 IF (COUNT10=1001)THEN COUNT10=0000。 若计数值已到 9,则变为 0 ELSE 否则计数值加一 COUNT10=COUNT10+39。 139。 END IF。 END IF。 END IF。 END PROCESS。 进程结束 END behave。 结构体描述结束 待测脉冲计数器的 部分 VHDL 代码: ARCHITECTURE behave OF COUNT IS 定义结构 体 behave COMPONENT CB10 一位十进制加法计数器 CB10 的元件 声明 PORT(CLK,EN,CLR: IN STD_LOGIC。 COUNT10:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0))。 END COMPONENT。 SIGNAL c2:STD_LOGIC。 定义全局信号 c c c4 SIGNAL c3:STD_LOGIC。 SIGNAL c4:STD_LOGIC。 湖北师范学院 2020 届控制科学与工程系学士学位论文(设计) 12 BEGIN c2=NOT QA(3)。 c3=NOT QB(3)。 c4=NOT QC(3)。 U1:CB10 PORT MAP(CLK,EN,CLR,QA)。 U2:CB10 PORT MAP(c2,EN,CLR,QB)。 U3:CB10 PORT MAP(c3,EN,CLR,QC)。 U4:CB10 PORT MAP(c4,EN,CLR,QD)。 引用模块 CB10 END behave。 结构体描述结束 锁存与译码显示控制模块设计程序 锁存与译码显示控制模块的功能是对 计数器所得的数值进行锁存, 并转换为对应的七段码,驱动数码管。 当 LOAD 上升沿到来时,将计数器的计数值锁存并将 输出的 BCD 码译成相应的 7段数码管驱动值 , 此模块的好处 是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。 译码显示电路的部分 VHDL 代码: ARCHITECTURE behave OF BCD7 IS 定义结构 体 behave BEGIN PROCESS(BCD) 进程开始 BEGIN CASE BCD IS WHEN 0000 = LED = 0111111。 WHEN 0001 = LED = 0000110。 WHEN 0010 = LED = 1011011。 WHEN 0011 = LED = 1001111。 WHEN 0100 = LED = 1100110。 WHEN 0101 = LED = 1101101。 WHEN 0110 = LED = 1111101。 WHEN 0111 = LED = 0000111。 湖北师范学院 2020 届控制科学与工程系学士学位论文(设计) 13 WHEN 1000 = LED = 1111111。 WHEN 1001 = LED = 1101111。 0到 9的七段译码 WHEN others = LED = 0000000。 其他时候输出 0 END CASE。 END PROCESS。 进程结束 END behave。 结构体描述结束 锁存与译码显示控制模块的 部分 VHDL 代码 ARCHITECTURE ART OF LOCK IS 定义结构 体 ART SIGNAL QAB,QBB,QCB,QDB:STD_LOGIC_VECTOR(3 DOWNTO 0)。 COMPONENT BCD7 引用译码显示模块 BCD7 PORT(BCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0))。 END COMPONENT。 BEGIN PROCESS(LOCK) BEGIN IF(LOCK39。 EVENT AND LOCK=39。 139。 )THEN QAB=QA。 在锁存信号 LOCK 的上升沿将计数器 输出信号 QBB=QB。 QA,QB,QC,QD 锁存到信号 QAB,QBB,QCB,QDB QCB=QC。 QDB=QD。 END IF。 END PROCESS。 U0:BCD7 PORT MAP(QAB,LEDA)。 引用译码显示模块 BCD7 U1:BCD7 PORT MAP(QBB,LEDB)。 将计数器输出的四位 U2:BCD7 PORT MAP(QCB,LEDC)。 BCD 码转换为七段码 U4:BCD7 PORT MAP(QDB,LEDD)。 END ART。 结构体描述结束 湖北师范学院 2020 届控制科学与工程系学士学位论文(设计) 14 顶层电路的设计程序 通常,当系统生成底层各模块后,顶层文件的设计是用电路图完成的,这种方法虽然较简单,但可能使电路系统工作中出现“毛刺”,降低系统的可靠性。 因此,数字频率计的顶层文件采用文本形式来编写,即用 VHDL语言来描述三大模块的连接,从而避免了系统在工作中出现“毛刺”现象,使系统的稳定度和可靠性均得到提高。 顶层电路的部分 VHDL 代码: ARCHITECTURE ART OF PINLVJI IS 定义结构体 ART SIGNAL ENS,LOCKS,CLRS :STD_LOGIC。 SIGNAL QAS,QBS,QCS,QDS:STD_LOGIC_VECTOR(3 DOWNTO 0)。 COMPONENT CTRL 时基产生与测频时序控制模块的引用 PORT(CLK:IN STD_LOGIC。 EN,LOCK,CLR:OUT STD_LOGIC)。 END COMPONENT。 COMPONENT COUNT 待测 信号 脉冲计数 模块的引用 PORT(CLK,EN,CLR:IN STD_LOGIC。 QA,QB,QC,QD:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 END COMPONENT。 COMPONENT LOCK 锁存与译码显示控制模块的 PORT(LOCK:IN STD_LOGIC。 QA,QB,QC,QD:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 LEDA,LEDB,LEDC,LEDD:OUT STD_LOGIC_VECTOR(6 DOWNTO 0))。 END COMPONENT。 BEGIN ENT=ENS。 LOCKT=LOCKS。 CLRT=CLRS。 U0:CTRL PORT MAP(CLK,ENS,LOCKS,CLRS)。 U1:COUNT PORT MAP(F_IN,ENS,CLRS,QAS,QBS,QCS,QDS)。 U2:LOCK PORT MAP(LOCKS,QAS,QBS,QCS,QDS, GE,SHI,BAI,QIAN)。 END ART。 结构体描述结束 湖北师范学院 2020 届控制科学与工程系学士学位论文(设计) 15 4 数字频率计的仿真及波形分析 EDA 技术既指辅助人们进行电子工程设计的各种自动化软件,也指人们进行大规模电子设计时采用的 EDA 软件的综合性方法的系统性策略。 EDA是当代计算机科学与电子技术完美结合,众多的功能强大、完美的 EDA软件的广泛使用标志着电子技术的水平达到前所未有的高度。 本次设计数字频率计选用的开发环境是美国 ALTERA 公司自行设计开发的 EDA工具 MAX+PLUSⅡ。 MAX+PLUSⅡ软件功能全面,使用方便,易懂好学,已成为最广为接受的 EDA工具之一。 MAX+PLUS II 软件简介 MAX+PLUSⅡ的全称是 Multiple Array Matrix and Programmable Logic User SystemⅡ(多阵列矩阵及可编程逻辑用户系统Ⅱ), ALTERA 公司的MAX+PLUS II 开发系统是一个完全集成化、易学易用的可编程逻辑设计环境,它可以在多种平台上运行,能满足用户各种各样的设计需要。 它所提供的灵活性和高效性是无可比拟的。 其丰富的图形界面,辅之以完整的、可即时访问的在线文档,使设计人员能够轻松 、愉快地掌握和使用 MAX+PLUS II 软件。 它具有的强大功能能够极大的减轻设计者的负担,使设计者可以快速的完成所需的设计。 MAX+PLUSⅡ开发系统。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。