数控分频器的VHDL设计.docVIP

  • 23
  • 0
  • 约1.88千字
  • 约 3页
  • 2020-06-16 发布于广东
  • 举报
— PAGE PAGE 3 欢迎下载 广州大学学生实验报告 实验室: 电子信息楼 317EDA 2017 年 11 月 1 日 学院 机电学院 年级、专业、班 电信151 姓名 苏伟强 学号 1507400051 实验课程名称 可编程逻辑器件及硬件描述语言实验 成绩 实验项目名称 实验6 数控分频器的VHDL设计 指导老师 秦剑 实验目的 学习数控分频器的设计、分析和测试方法; 实验原理 数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比。 实验设备 EDA实验箱,示波器 实验内容和结果 分析程序各语句功能,设计原理,逻辑功能,并详述P_REG,和P_DIV的功能。程序如图1 设计原理:本程序设计的主要思路是,设计一个单向计数器,从预置数D(起点)开始计数,计数到设定的最大值(0XFF),输出信号POUT取反,与此同时,计数器回归到预置数起点D继续计数,继续计数到最大值后,POUT再次取反,如此往复,产生了一个原始时钟信号的分频信号POUT,频率为 P_SEG的功能:P_SEG部分负责从计数起点D,在每一次时钟的上升沿往上计数,并且在计数到OXFF的时候产生一个信号FULL=1,传递到P_DIV进行动作处理。 P_DIV的功能:P_DIV的触发信号是FULL=0到FULL=1的上升沿跳变,意思就是说,当计数到TOP值的时候,P_DIV会产生动作,具体的动作是将电平CNT2取反,然后赋值给输出FOUT,使得输出也取反。可以看到随着计数不断从起点计数到满值,在满值的时候对输出电平进行取反,可以得到一个占空比为50%的方波信号,该信号的频率是 如图2是程序的仿真波形图 图2 可以看到随着计数起点D的升高,计数到最大值OXFF所需要的时间更短了,也就是说电平取反的周期更短了,得到的输出信号的频率必然升高,同时也符合的变换规律。 目标器件为EP3C40Q240,电路选择模式1,键2/键1(PIO7-PIO0)负责输入8位预置数D,CLK接clock0,FOUT接扬声器,通过查找芯片引脚手册,找到对应的PIN脚,并且设置assignment editor引脚映射,如图3所示: 图3 下载程序到开发板,可以看到,随着输入的D越来越大,蜂鸣器的声音越来越尖锐,说明输出信号的频率越来越高,接示波器,这里改变高四位(从0-F),低四位不变,观察示波器波形以及频率如图所示: 思考题:设计一个正负脉冲宽度可控的分频器,输出正负脉冲宽度由两个8位输入控制。 程序如图所示 图 设计思路:设计的思路类似于单片机占空比可调PWM波的原理,增加了2个输入端口,分别是MAXH和MAXL,MAXH是输出高电平的时候计数器计数的最大值(计数上限值),MAXL是输出为低电平的时候计数器计数的最大值(计数上限值),两个计数最大值(计数上限值)分别控制着输出FOUT高电平还有低电平脉冲的宽度(占空比),通过不同的MAXL,MAXH输入实现高电平还有低电平脉冲宽度可调。 程序的波形仿真 分析:可以看到,调整高电平还有低电平计数的上限值MAXH,MAXL,可以控制输出FOUT波形高电平还有低电平的占空比。 实验分析总结 例6-1各语句的原理还有功能分析如实验过程所述。 P_SEG还有P_DIV的功能分析如实验过程所述。 例6-1的波形仿真如实验过程所述。 实用示例: 单片机内部通过对系统时钟的分频可以让不同的外设工作在不同的频率下,有利于系统性能和功耗的控制。 单片机内部用于产生特定频率的PWM波(Pulse Width Modulation)。 用于制作单片机的定时器,是中断系统不可或缺的组成部分。 实验过程中遇到的问题: 在做思考题的时候,在修改程序代码的时候,错误的使用了以下语句 IF 条件语句 THEN 顺序语句 ELSIF 条件句 THEN 顺序语句 ELSE 顺序语句 END IF 应该和C语言的elseif 区别开来啊,这里关键词elsif设定多个判定条件,任一个分支顺序语句的执行条件是以上各分支所确定条件的相与(同时成立),即语句中顺序语句的执行条件具有向上逻辑相与的功能。 记得在使用IF后要END IF,为了避免错误,可以在写程序的时候在写IF的时候同时把END IF写出来,以免忘记。

文档评论(0)

1亿VIP精品文档

相关文档