产品新知 您所在的位置:电子展览网 > 行业资讯 > 产品新知

基于FPGA的语音录制与回放系统




关键词:

  0 引言

  随着微电子技术的发展,系统集成向高速、高集成度、低功耗发展已经成为必然,同时SoPC技术也应用而生。SoPC将软硬件集成于单个可编程逻辑器件平台,使得系统设计更加简洁灵活。SoPC综合了SoC,PLD和FPGA的优点,集成了硬核和软核CPU、OSP、存储器、外围I/O及可编程逻辑,用户可以利用SoPC平台自行设计高速、高性能的CPU和DSP处理器,使得电子系统设计进入一个崭新的模式。

  该设计运用SoPC技术实现嵌入式数字化语音录制与回放。其中,介绍了在FPGA上构建WM8731的I2C总线,以及数字化语音在SRAM中的存储,并利用Matlab 7.0.4软件对所采集的语音数据进行仿真。SoPC是现在电子技术、电子系统设计的汇聚点和发展方向。充分体现了其高性能、设计灵活和易用等特点。

  1 系统整体方案

  系统以Altera公司的FPGA芯片(CycloneⅡ系列)EP2C35F672C6NK为平台,结合音频编/解码芯片WM8731实现语音录制与回放。该FPGA芯片具有丰富的片内资源,大量的逻辑宏单元和多个硬件乘法器,大量的自定义I/O接口,此外还有4个锁相环,为系统提供实时时钟。设计中充分利用了FPGA的高速并行和Avalon总线自定义硬件外设的优势,从而构建了一个高集成度、高性能的系统。

  语音通过话筒输入,由音频编/解码芯片WM8731以8 kHz的A/D采样率转换成16位PCM码缓存。此外,为确保采集的语音数据不丢失,先将语音存储在SRAM中,再作后续处理。整体系统框架图1所示。

  1.1 芯片工作原理

  音频编/解码芯片WM8731上电后必须将工作模式设置在系统要求的状态下,因此上电后需要用VERILOG HDL编写程序模块对芯片的工作模式进行设置。该语音编/解码芯片有多种工作模式,A/D变换后,语音的采样频率与采样位宽都需要根据系统的具体要求,合理配置。语音芯片的配置时序为I2C模式,芯片接口为主模式,即由WM8731提供位时钟,A/D转换和D/A转换的左、右声道控制相位时钟,以及转换后的数据PCM码输送给FPGA处理器。以下为芯片配置字列表,WM8731内部控制字寄存器有16个,在芯片初始化时,在制作ROM表格中完成。相应的程序设置如下:

  1. 2 配置单元模块

  配置单元模块综合顶层图如图2所示。从程序编译分析报告(见图3)可以得出,该单元模块消耗了101个逻辑单元,它作为语音采集模块的一个子模块。在配置电路中,模块CLOCK_50将输入的50 MHz系统时钟分频为1 MHz,作为I2C总线模块的工作时钟,CLOCK_50模块中写出的上面程序代码是一个表格,存储了配置的控制字。I2C总线模块的I2C_SDAT和I2C_SCLK是数据线和时钟线,DE2板固定分配了专门的I2C数据线和时钟线的引脚线。

  1.3 语音采集模块

  语音采集单元顶层综合模块如图4所示。系统通过语音采集模块将语音芯片采集的声音数据串/并转换为16位PCM码,声音数据传送至S-RAM存储器内保存,这里设置了4 s录音时间,用户1次输入3个孤立词(如数字),4×8 KB="32" KB,考虑到32 KB的原始数据需要预处理、FIR滤波和归一化。断点检测,所有处理后的数据仍然存入后续的SRAM地址中。检测出的孤立词分别存入独立首地址后面。

分享到:
收藏 打印
相关新闻
  • 没有相关信息!