【问题标题】:Sound generator on FPGA with VHDL code带有 VHDL 代码的 FPGA 上的声音发生器
【发布时间】:2015-04-21 16:56:13
【问题描述】:

我需要使用键盘作为音符的输入,并使用数字扬声器作为输出。 我打算只用一个八度。 我最有趣的问题是:

  1. 如何在 VHDL 代码中表示音符。

  2. 如何(或需要)实现一个使用 Spartan 3E Starter 的内置 DAC 的 DAC 模块?我在其他论坛上读到它无法实现。我需要使用它来将注释传输给扬声器。监督我和我同事项目的老师建议我为此研究 PWM(但我发现的都是电子方式解释的,没有附带代码,也没有关于实现的解释)。

  3. 除了键盘控制器,一个处理模块(用于从音符向量返回与按下的键对应的音符)和 DAC,到目前为止我已经弄清楚我需要什么,我还需要什么。

【问题讨论】:

    标签: vhdl fpga speaker


    【解决方案1】:

    有一个 DAC(见 cmets)

    Spartan-3E 入门套件上没有 DAC。使用低通 PWM 信号是从数字输出生成模拟信号电平的常用方法。

    您需要为 PWM 定义一个精度,比如说 8 位或 256 级。对于每个要输出的音频样本,需要从 0 到 255 进行计数。当计数器小于所需的样本电平时,输出 1,否则输出 0。当计数器达到 255 时,将其重置并转到下一个样本.

    因此,如果您想要 8 位精度(256 级)和 8KHz 信号,则计数器必须以 256*8000 = 2.048MHz 运行。

    对于您的其他问题,没有简单的答案。作为设计师,你的工作就是弄清楚这一点。

    【讨论】:

    • 你说得对,我现在想起来了!我们有一个使用外部 DAC 的项目,所以我认为它没有。板载DAC的问题是不能和ADC同时使用。您必须对两者进行时间复用,这对我们来说是不可能的。很抱歉提供错误信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    相关资源
    最近更新 更多