0

我正在尝试为 FPGA 编写一个 verilog 代码,它将从嵌入式“线路输出”引脚输出声音。我使用 Quartus II 和 Altera DE1。

我是硬件编程的新手,因此我需要太多时间才能赶上基础知识。显然我需要初始化 wolfson 芯片并需要写一些东西来与之通信,如下所述: http ://www.alteraforum.com/forum/showthread.php?t=6005

它使用 wolfson WM8731 编解码器,手册在这里: http ://www.rockbox.org/wiki/pub/Main/DataSheets/WM8731_8731L.pdf

和一个我发现但不知道如何使用它的例子在这里: https ://code.google.com/p/vector06cc/wiki/SoundCodec

我发现了一堆关于如何使用 GPIO 引脚生成声音的示例,但几乎没有关于 WM8731 的使用。我非常感谢您分享的任何指导或经验。

4

1 回答 1

3

假设您使用 Nios II 和 SOPC Builder 或 Qsys,Altera 大学计划提供了一个 IP 内核来控制 DE 系列板上的音频编解码器。

如果您还没有,可以在此处下载(在页面底部,列为大学计划安装程序):https ://www.altera.com/support/training/university/materials-ip-cores .html

安装后,检查<altera-directory>/University_Program\NiosII_Computer_Systems\DE1\DE1_Media_Computer目录。app_software两者app_software_HAL都提供了写入音频输出的示例方法(使用在 Nios II 上运行的 C 代码),verilogvhdl文件夹显示了使用首选 HDL 将内核连接到 NIOS II 的示例系统。

核心本身可以在<altera-directory>\ip\University_Program\Audio_Video. 另请参阅ftp://ftp.altera.com/up/pub/Altera_Material/14.1/University_Program_IP_Cores/Audio_Video/Audio.pdf以获得一些(可能)有用的阅读/参考。


附录:所有的FPGA输入和输出都使用WM8731芯片的“数字音频接口”。FPGA上可用的管脚如下:

  • PIN_A6:AUD_ADCLRCK
  • PIN_B6:AUD_ADCDAT
  • PIN_A5:AUD_DACLRCK
  • PIN_B5:AUD_DACDAT
  • PIN_A4:AUD_BCLK
  • PIN_B4:AUD_XCK(WM8731 上的 MCLK)

输出被发送到AUD_DACDAT引脚上的 CODEC。该芯片使用 I2C 地址 0x34 上的I2C_SDATI2C_SCLK引脚进行配置,用于读取,0x35 用于写入。FPGA 没有其他引脚可用 - 有些用于外部连接(如麦克风或线路输入),或者根本没有连接。有关 DE1 的完整引脚分配列表(可以直接导入 Quartus),请参见: ftp: //ftp.altera.com/up/pub/Altera_Material/12.1/Boards/DE1/DE1.qsf

于 2015-05-29T02:36:53.027 回答