文档详情

信号发生器+正弦波锯齿波三角波+VHDL.pdf

发布:2017-08-29约4.01万字共29页下载文档
文本预览下载声明
习题14 信号发生器 14.1 信号发生器的功能及其内部接线 由可编程器件控制的信号发生器可输出正弦波、方波、锯齿波,其频率可调。能输出正 弦波、方波、锯齿波的组合波形,且组合波形的频率可调。还能输出占空比和频率可调的方 波。可编程器件内部结构图如图 14.1 所示。图 14.2 是数模转换DAC0800 管脚图。图 14.3 是DAC0800 数模转换器组成的数模转换电路图。图14.4 是信号变换电路图,其功能是将周 期性的交变信号变成0~5V 的方波。信号发生器内部接线由图14.1、14.3、14.4 组成。将图 14.1 的输出端d[7..0]接到图 14.3 的B1~B2 端,图14.3 的输出端Vo 就可以输出正弦波、方 波、锯齿波、以及它们的组合波形。图14.4 的输入端Vi 再接到图14.3 的输出端Vo ,图14.4 的输出端Vo1 接到图14.1 输入端freqin,就可以在midd[6..0] 、sel[2..0]接的数码管上显示信 号发生器输出的频率。图14.1 的输出端speaker 输出占空比和频率可调的方波。图 14.1 的输 出端 disp_data[7..0] 、disp_sel[1..0]接数码管显示键盘设置的频率值。图 14.1 的输出端 key_hang[3..0]接键盘的行输出线。图14.1 输入端clk64Hz、clk256Hz、clk1024Hz、clk24MHz、 clk1Hz 是系统需要的时钟,频率分别为 64Hz、256Hz 、1024Hz、24MHz 、1Hz,可由总的 时钟信号分频得到。图14.1 输入端中的key_lie[3..0]接键盘的列输出线;da[2..0]接高低电平 用于控制输出什么样的波形;m 、n 手动控制频率的步进连同 clk1Hz 一起使用;a、b 手动 控制占空比连同clk1Hz 一起使用。 165 图14.1 可编程器件内部结构图 图14.2 数模转换DAC0800 管脚图 图14.3 DAC0800 数模转换器组成的数模转换电路图 图14.4 信号变换电路图 14.2 信号发生器的可编程器件内部结构 14.2.1 键盘模块KEYBOARD 键盘模块如图 14.5 所示。 图14.5 键盘模块 键盘模块的源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity keyboard is port( clk_1k: in std_logic; -- 时钟输入1kHz clk_40k:in std_logic; -- 时钟输入40kHz key_lie: in std_logic_vector(3 downto 0); --列输入 start: out std_logic; --二--十进制数据输出标志 key_hang: out std_logic_vector(3 downto 0); --行输出 data_p: out std_logic_vector(15 downto 0); --二--十进制数输出 data_pp:out std_logic_vector(3 downto 0); --小数点 disp_data: out std_logic_vector(7 downto 0); --数码管显示译码输出 disp_sel: out std_logic_vector(1 downto 0) ); --数码管显示扫描输出 end ; -- 以上是实体说明,即定义输入、输出。 architecture rtl of keyboard is signal int: std_logic; --列与
显示全部
相似文档