查看: 709|回复: 0

[评测分享] [超越者Spartan-6 FPGA开发板] 音频录放功能的测试

[复制链接]
  • TA的每日心情
    奋斗
    2023-5-10 20:09
  • 签到天数: 1742 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2021-6-3 10:16:37 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 jinglixixi 于 2021-6-3 10:26 编辑

    WM8960是一个低功耗、高质量的立体声多媒体数字信号编译码器,它结合了一个高质量的立体声音频DAC和ADC,带有灵活的音频线输入、麦克风输入及音频输出处理。其主要应用于便携式产品,如便携式数码摄像机或数码相机等设备。在超越者FPGA的开发板上,它使用的WM8960不但可以完成前面介绍过的音频编解码处理,还能实现其它的用途。
    1.语音录放
    用板载的WM8960能实现语音的录放功能,其结构框图和线路原理图分别如图1和图2所示。

    1.png
    图1  语音录放结构图
    2.png

    图2 语音录放原理图

    其工作原理的主要内容为:
    若按下录音键,便调用录音功能,即由板载的麦克风来拾取声音,并将其转换为电信号供WM8960内部的ADC转换为数字信号,再经编码处理转存到DDR3中。
    在完成语音录制的情况下,若按下播放键,则由DDR3中读取数据,再经解码处理转变为可供DAC转换的数据。继而DAC又将这些数据转换成电信号来供耳机或扬声器来发出声音。
    为实现语音录放功能,相应的FPGA引脚配置如图3所示。

    3.png
    图3 引脚配置

    经编译处理,即可按图4所示将程序下载到开发板。

    4.png
    图4 完成下载

    在完成程序下载后,其具体的操作方法为:
    按下key2录音键,直到录音结束才松手录音键,即可通过板载的麦克风来拾取声音。需要注意的是,受DDR3容量的影响,录制的时间不宜过长。在完成录制后,按下key1播放键,即可播放出录制的内容。在播放时,无需常按播放键,只需短按一下启动即可。
    若将其语音录制功能用于留言机的类似处理上,还是比较有参考价值的。若能把DDR3中的数据转存到SD卡中,那会更具实用价值,其录制语音的时长会达到延伸,录制的语音段个数也可以更多。
    测试视频:(MP4格式)


    2.音乐文件的播放
    除了语音的录放功能,利用WM8960的编解码功能,还可以将SD卡中的音乐文件读取出来进行音乐的播放。
    由于WM8960是带有扬声器驱动的立体声多媒体数字信号编译码器,故能结合FPGA来播放音乐器。
    其程序设计目标是对非压缩的WAV格式音乐文件进行播放,由于一般的WAV格式其音乐采样率为44.1kHz,而WM8960所支持的采样率没有44.1kHz,故存放在SD卡里的音乐是采样率转换为WM8960所支持的48kHz,其量化位数为16位。
    WM8960结合SD卡实现音乐播放功能的结构框图和引脚配置分别如图5和图6所示。

    5.png
    图5  音乐播放的结构图

    6.png
    图6 引脚配置

    为了播放SD卡中的指定音乐文件,需在程序中填写相应的参数,如START_ADDR和AUDIO_SEC。
    其中,START_ADDR所代表的是SD卡内储存音乐文件的起始位置,而AUDIO_SEC所代表的则是整个音乐文件所占用的总扇区数。
    同前面介绍的读取SD卡显示BMP位图文件一样,要获得上面这2个参数也需要借助工具软件WinHex 。
    以音乐 “风起天澜”为例,它的起始扇区位置是38096,所以对应的START_ADDR的值就是38096,见图7所示。

    7.png
    图7 获取起始扇区

    那AUDIO_SEC该怎样获得呢?
    该文件的大小是62988846个字节,而SD卡的一个扇区其存储量为512个字节,故该文件要占用的总扇区数是62988846/512≈123026(注:这里只能进不能舍),这样能得到AUDIO_SEC了。
    8.png

    图8  查看文件字节数

    若要播放“最美的期待”,其参数设置如下:
    parameter START_ADDR = 18'd161128 ;  // 音乐存放的起始地址
    parameter AUDIO_SEC = 17'd79 076;    // 音乐占用的扇区数
    经编译,其结果如图9所示。
    在下载前,应把SD卡预先插入板上的卡槽内,并连接好下载器。完成下载后,就能听到板上喇叭所播放的音乐。
    指定期待的是,若内自主的读取SD卡上的参数并实现多首音乐选择或顺序性播放就更完美了!
    9.png
    图9 完成编译

    测试视频:(MP4格式)

    录放.zip

    26.74 MB, 下载次数: 2

    SD卡播放音乐.zip

    4.48 MB, 下载次数: 1

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-24 23:29 , Processed in 0.121350 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.