基于FPGA的VHDL语音发生器

基于FPGA的VHDL语音发生器,vhdl,fpga,speaker,Vhdl,Fpga,Speaker,我需要使用键盘作为音符的输入,使用数字扬声器作为输出。 我计划只用一个八度音阶。 我最感兴趣的问题是: 如何用VHDL代码表示音符 我(或我需要)如何实现使用Spartan 3E Starter内置DAC的DAC模块?我在其他论坛上读到它无法实现。我需要用它来把便条传给演讲者。监督我和同事项目的老师建议我研究PWM(但我所发现的都是以电子方式解释的,没有附带代码,也没有关于实现的解释) 除了键盘控制器,一个处理模块(用于从notes向量返回与按下的键对应的note)和DAC,到目前为止我已经找到

我需要使用键盘作为音符的输入,使用数字扬声器作为输出。 我计划只用一个八度音阶。 我最感兴趣的问题是:

  • 如何用VHDL代码表示音符

  • 我(或我需要)如何实现使用Spartan 3E Starter内置DAC的DAC模块?我在其他论坛上读到它无法实现。我需要用它来把便条传给演讲者。监督我和同事项目的老师建议我研究PWM(但我所发现的都是以电子方式解释的,没有附带代码,也没有关于实现的解释)

  • 除了键盘控制器,一个处理模块(用于从notes向量返回与按下的键对应的note)和DAC,到目前为止我已经找到了我需要的,我还需要什么

  • 有一个DAC(见注释) Spartan-3E初学者套件上没有DAC。使用低通PWM信号是从数字输出生成模拟信号电平的常用方法

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

    因此,如果需要8位精度(256级)和8KHz信号,计数器必须以256*8000=2.048MHz的频率运行


    对于你的其他问题,没有简单的答案。作为设计师,这是你的工作。

    这个怎么样(幻灯片3)我现在想起来了,你完全正确!我们有一个使用外部DAC的项目,所以我认为它没有。板载DAC的问题在于不能与ADC同时使用。你必须把这两个时间多路复用,这对我们来说是不可能的。对不起,误传了。