带有 VHDL 代码的 FPGA 上的声音发生器
Posted
技术标签:
【中文标题】带有 VHDL 代码的 FPGA 上的声音发生器【英文标题】:Sound generator on FPGA with VHDL code 【发布时间】:2015-04-21 16:56:13 【问题描述】:我需要使用键盘作为音符的输入,并使用数字扬声器作为输出。 我打算只用一个八度。 我最有趣的问题是:
如何在 VHDL 代码中表示音符。
如何(或需要)实现一个使用 Spartan 3E Starter 的内置 DAC 的 DAC 模块?我在其他论坛上读到它无法实现。我需要使用它来将注释传输给扬声器。监督我和我同事项目的老师建议我为此研究 PWM(但我发现的都是电子方式解释的,没有附带代码,也没有关于实现的解释)。
除了键盘控制器,一个处理模块(用于从音符向量返回与按下的键对应的音符)和 DAC,到目前为止我已经弄清楚我需要什么,我还需要什么。
【问题讨论】:
【参考方案1】:有一个 DAC(见 cmets)
Spartan-3E 入门套件上没有 DAC。使用低通 PWM 信号是从数字输出生成模拟信号电平的常用方法。
您需要为 PWM 定义一个精度,比如说 8 位或 256 级。对于每个要输出的音频样本,需要从 0 到 255 进行计数。当计数器小于所需的样本电平时,输出 1,否则输出 0。当计数器达到 255 时,将其重置并转到下一个样本.
因此,如果您想要 8 位精度(256 级)和 8KHz 信号,则计数器必须以 256*8000 = 2.048MHz 运行。
对于您的其他问题,没有简单的答案。作为设计师,你的工作就是弄清楚这一点。
【讨论】:
怎么样(幻灯片 3)xilinx.com/products/boards/s3estarter/files/… 你说得对,我现在想起来了!我们有一个使用外部 DAC 的项目,所以我认为它没有。板载DAC的问题是不能和ADC同时使用。您必须对两者进行时间复用,这对我们来说是不可能的。很抱歉提供错误信息。以上是关于带有 VHDL 代码的 FPGA 上的声音发生器的主要内容,如果未能解决你的问题,请参考以下文章