APP下载

基WM8731S的FPGA信息处理系统设计

2017-05-25符敏

科学家 2017年4期

符敏

摘要近几年,嵌入式数字音频产品受到越来越多消费者的青味。数字语音Ic与嵌入式单片机相结合,设计更灵活。体积小、扩展能力强,利用Verilog HDL硬件描述语言开发的基于FPGA的音频编解码芯片控制器,通过有限序列冲激响应FIR数字滤波器进行滤波处理,以获得高质量的音频信号。

關键词音频信号;WM8731S;先入先出存储器

中图分类号TP3

文献标识码A

文章编号2095-6363(2017)04-0095-02

1.概述

1.1论文研究的目的及意义

目前用VHDL进行电路设计,可以经过综合与布局,烧录至FPGA上进行测试,是硬件集成电路设计验证的技术主流。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件,是小批量系统提高系统集成度、可靠性的最佳选择之一。数字语音集成电路与嵌入式微处理器相结合,首先降低了产品研发成本,其次系统更小、耗电低,况且使设计更简单,电路扩展方便且体积小,应用前景更广,如无人驾驶、5G技术、消费电子产品、排队机、报警以及报站器等。

1.2系统总体设计方案

FPGA的开发相对于传统Pc、单片机的开发有很大不同,FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/0间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。FGPA芯片对WM8731进行控制,使得WM8731对音频信号进行滤波处理。随着百万门级FPGA的推出单片系统成为可能。为了支持SOPE的实现方便用户的开发与应用altera还提供了众多性能优良的宏模块、IP核以及系统集成等完整的解决方案。这些宏功能模块、IP核都经过了严格的测试使用这些模块将大大减少设计的风险缩短开发周期并且可使用户将更多的精力和时间放在改善和提高设计系统的性能上而不是重复开发已有的模块。

2.系统的处理

2.1本音频信号处理系统

本音频信号处理系统以WM8731芯片为处理平台,以FPGA芯为控制中心,控制音频解编码芯片WM8731对输入的音频信号进行滤波处理,以获得高品质的音频数字信号,再将高品质的音频数字信号输出到信号接收端。由音频编解码模块电路、控制器模块、时钟分频模块、I2c时序接口模块、I2c控制字配置模块、I2s时序接口及音频数据处理模块、FIFO先进先出存储器设计、带通数字滤波设计8部分构成。

2.2各部分电路原理

1)时钟分频模块由于要使WM8731工作,此主时钟频率依照该芯片工作的不同模式有12.288MHz、18.432MHz、11.2896MHz以及16.9344MHz这4中频率可选。

2)I2c时序接口模块。实现对I2c时序的模拟,控制SCLK(数据时钟)和SDAT(数据线)将存放在I2c_data中的24位控制字串行发送给W~8731,该模块例化于I2c控制字配置模块之中,以实现对该芯片的控制字写入。

3)I2c控制字配置模块。分别为:MODE、CSB、SDIN和SCLK。对应功能为控制接口选择线、片选或地址选择线、数据输入线和时钟输入线。它具有2线和3线两种模式。本文采用2线模式对WM8731进行控制。为MPU接口。选择MODE为0时为2线模式。

4)I2s时序接口及音频数据处理模块。将18.432MHz的主时钟分频,产生均为48kHz的数模转换和模数转换采样率时钟以及对应的数字音频时钟(BELK)。除此之外,在此模块中还调用了I2s串行数据转并行数据模块,并定义变量state作为串并变换的起始标志。

5)FIFO先进先出存储器,是一种非常基本,使用非常广泛的模块。

3.系统的软件设计及调试

软件分为控制器模块程序、时钟分频模块、I2c总线时序模块、12S时序接口及音频数据处理模块。本系统是基于FPGA的音频编解码芯片控制器,用以实现对语音芯片WM8731的控制。在整个系统中,用到了标准MIC、Line-in、Line-out接口、2个开关按键以及3个按钮式按键。FPGA器件主要通过12C总线给语音芯片WM8731经行控制字配置。初始化完成后,音频数据从MIC或LineIn输入,经过A/D转换后,数字信号再进入FIFO,再经过FIR数字滤波处理,之后成为串行的数字信号并由12S总线传入FPGA器件。经过串并变换等处理之后,再经过D/A转换由LineOut通过耳机输出。在调试过程中,始终选择主模式,DACSEL始终置为数字信号输出。在测试中,WM8731能够输出高品质的音频信号。

写入相对简单,只需要在时钟上升沿来临之时使能wrreq和写入data,当然还需要判断FIFOfull信号。时序图如下,在第一个时钟之前使能wrreq信号,在第一个时钟及以后的几个时钟上升沿FIFO判断wrreq有效并且读入数据。

随着FPGA器件及相关技术的不断发展和完善,逻辑设计师、硬件工程师或系统工程师更多的选用EDA技术进行数字系统的设计和开发。本设计方案基于FPGA技术,将12C总线控制器、音频数据处理12S总线模块和各个数字控制模块都设计在FPGA内部。极大地提高了系统的集成度和稳定性、电路设计的效率和可操作性,减轻了设计者的劳动强度。