0

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

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

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

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

4

1 回答 1

2

有一个 DAC(见评论)

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

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

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

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

于 2015-04-21T17:53:10.230 回答