gpt4 book ai didi

audio - 如何在Nexys DDR 4 FPGA上生成音频声音输出

转载 作者:行者123 更新时间:2023-12-03 01:45:04 27 4
gpt4 key购买 nike

我想尝试使用Nexys 4产生汽车声音。我需要将声音存储在ROM中吗?创建声音的步骤是什么?我正在使用verilog。谢谢

最佳答案

Nexys 4板不包含音频编解码器,但包含一个简单的低通(或带通)滤波器,可从PWM信号产生声音。

编程上的挑战是创建一个PWM信号,其占空比代表声音输出信号的当前电平。

我会考虑以下伪代码(此处类似于C,而不是Verilog):

signed int levelAccu = 0;

on_Every_Clock_Edge()
{
int level = getCurrentSoundLevel();
levelAccu += level;
if(levelAccu > 0)
{
setOutputPin(HIGH);
levelAccu -= MAX_LEVEL;
}
else
{
setOutputPin(LOW);
levelAccu -= MIN_LEVEL;
}
}

而:
getSoundLevel()表示声音输出的当前所需“级别”。 (如果使用采样的声音,则当前采样的值。)
MAX_LEVELMIN_LEVEL是“级别”的最大值和最小值。示例:如果要播放存储为8位带符号值的声音,则可以使用 MAX_LEVEL=127MIN_LEVEL=-128

寄存器 levelAccu应该比 level多1或2位。

请注意,时钟沿必须比音频的采样率快得多。

Do I need to store the sound in ROM?



取决于您要创建哪种声音。

如果要播放录制的声音样本,则必须将其存储在某些内存(RAM,ROM ...)中。

如果要以编程方式生成声音(例如正弦波),则不必存储它们。

顺便说一句

您的问题不是Verilog特有的,而是与常见的FPGA和与FPGA靠近的电路有关。

因此,“electronics.stackexchange.com”应该确实是解决此类问题的最佳场所。

关于audio - 如何在Nexys DDR 4 FPGA上生成音频声音输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44219932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com