基于SOPC技术的数字音频处理系统设计

2012-10-27 06:35杨翠军
通信技术 2012年6期
关键词:数字音频外设音频

杨翠军, 钱 敏, 朱 静

(苏州大学 微电子系,江苏 苏州 215021)

0 引言

数字音频技术日益被关注和研究,诸如语音加密[1]、语音识别[2]、数字音效处理等在生产生活中有着广阔的应用前景。随着人们对语音质量的要求越来越高,对语音芯片和相关处理器也提出了更高的性能要求[3]。项目采用 SOPC技术设计了一种嵌入式数字音频处理系统。可编程片上系统,是 Altera公司提出来的一种灵活、高效的片上系统(SOC)解决方案,是一种新的软硬件协同设计的系统设计技术。它将处理器、存储器、I/O口、低电压差分信号接口(LVDS)、时钟与数据恢复(CDR)等功能模块集成到一个可编程器件上,构成一个可编程的片上系统[4]。项目中利用该技术在 FPGA芯片上配置 Nios Ⅱ软核处理器并配合语音芯片TLV320AIC23来搭建硬件平台,并利用软件集成开发环境Nios Ⅱ IDE进行软件设计来控制整个系统工作,实现了数字音频的高速实时采集与回放功能。

1 系统结构及工作原理

系统结构中主要有模拟音频输入源数字通用光盘播放器(DVD),Altera公司 Cyclone Ⅱ系列的EP2C35芯片,语音芯片TLV320AIC23及耳机组成,整个系统的结构框如图1所示。系统的工作原理为:从 DVD混合 2声道输出模拟音频,经过TLV320AIC23内部的A/D转换器转换为串行音频数字流,进入已配置有Nios Ⅱ CPU和其他相关接口模块的 FPGA,由其对该数字音频进行接收、并利用SDRAM来协助CPU对数据进行存取,最后发送至TLV320AIC23内部的D/A转换器,转换为模拟音频提供给耳机回放。

图1 系统硬件结构

2 Avalon总线

Avalon总线是Altera公司开发的一种专用的内部总线技术,主要用于片内处理器与外设之间的通信。

Avalon总线是由SOPC Builder自动生成的,系统用户不需要关心总线与外设的具体连接。Avalon总线系统一般由Avalon交换结构和Avalon外设组成。Avalon交换结构是系统模块的主干,由各种控制、数据和地址信号以及仲裁逻辑组成,将系统模块的各外设连接起来。Avalon外设分为主外设和从外设两类。能够在Avalon总线上发起总线传输的外设是主外设,而从外设只能响应Avalon总线传输。Avalon接口规范定义了Avalon交换结构和Avalon外设连接端口之间的信号和时序。

3 系统硬件设计

系统的硬件平台主要由配置有Nios Ⅱ CPU和相关接口模块的 FPGA 芯片、语音芯片TLV320AIC23以及存储器等部分构成。设计中选用了Altera Cyclone Ⅱ系列EP2C35型号的FPGA芯片。该芯片具有33216个逻辑单元、475个用户自定义I/O接口、35个嵌入式乘法器和4个锁相环。在FPGA内部配置了以下模块:PLL、Nios Ⅱ嵌入式软核处理器、挂接在 Avalon总线上的 JTAG UART、System ID、SDRAM Controller、FLASH(CFI)Controller、DMA Controller等IP核以及用户定制逻辑外设模块i2c、aic23。存储器用于对数字音频数据进行缓存。下面主要对Nios Ⅱ嵌入式软核处理器、语音芯片TLV320AIC23及其配置、自定制逻辑外设控制模块aic23等几个关键模块的设计进行介绍。

3.1 Nios Ⅱ软核处理器

Nios II处理器是Altera公司推出的第二代用于可编程逻辑器件的可配置的软核处理器。由于处理器是软核形式,可以在多种系统设置组合中进行选择,达到性能和成本的要求。Nios Ⅱ处理器包括3种类型内核:高速内核(Nios II/f)、经济内核(Nios II/e)和标准内核(Nios II/s)[5]。因为设计时采用的Cyclone Ⅱ系列EP2C35芯片逻辑资源丰富以及音频采集的高速性实时性要求,所以选用了高性能的Nios Ⅱ软核作为系统的CPU。使用Altera的Quartus Ⅱ软件自带的SOPC Builder工具在Avalon总线上挂接需要的IP内核及自定制的逻辑外设模块来完成整个嵌入式系统的开发。表1为SOPC Builder中添加的所有IP。

表1 SOPC Builder中添加的IP

3.2 TLV320AIC23及其配置

TLV320AIC23是 TI推出的一款高性能的立体声音频Codec芯片,支持MIC和LINE IN两种输入方式[6]。芯片的模数转换(ADC)和数模转换(DAC)部件高度集成在芯片内部,支持8~96 kHz采样频率,数据传输字长为 16 bit、20 bit、24 bit和 32 bit可选。

TLV320AIC23提供两种控制接口用于对其内部的寄存器进行编程,一种为三线制接口(SPI),一种为两线制接口(I2C)。当引脚MODE为低电平时,选择I2C接口,而为高电平时,选择SPI接口。此次设计时选择I2C总线接口。引脚SDIN和 SCLK分别用于传输串行数据和串行时钟。设计中TLV320AIC23是作为一个只写的从设备,由I2C总线控制器作为主设备来对其进行读写访问。芯片CS引脚接数字地决定了其设备地址为7’b0011010。I2C总线传输时序如图2所示,在发送完7 bit设备地址及读/写位后,接着传输的16 bit按两次传输,第一次传输的是7 bit目的寄存器地址加1 bit数据,第二次传输的是剩下的8 bit数据。由于SOPC Builder没有提供 I2C外设内核,设计中需要自定制符合Avalon接口规范的I2C IP,并将其集成到系统中去。

图2 I2C总线传输时序

3.3 自定制逻辑外设模块aic23

此次设计中模块aic23是一个基于Avalon总线的用户自定制逻辑从设备外设,并通过Avalon交换结构和处理器进行通信。该模块中主要包括外设的Avalon Slave端口定义、数字音频接收、数字音频发送这3个部分。aic23模块结构图如图3所示。

外设的从端口定义了一组符合Avalon接口规范的信号类型(如片选、读使能、写使能、地址、数据等)用于描述从外设上基于地址的读/写接口,且一般与Avalon总线时钟信号同步。在完成模块的硬件描述语言 Verilog HDL设计及其验证后,利用SOPC Builder中Creat New Component将其封装为SOPC Builder元件,最后集成到系统中去。

图3 aic23模块结构

语音芯片TLV320AIC23支持4种数字音频接口模式:右对齐模式、左对齐模式、I2S模式及DSP模式。此次设计中采用 DSP模式,其中LRCIN/LRCOUT分别为输入输出左右声道控制信号,BCLK为时钟信号,DIN/DOUT分别为输入输出串行数据信号。DSP模式传输时序如图4所示[7]。在音频采集时,DVD输出的模拟音频信号经过TLV320AIC23内部的A/D转换器转换为数字音频信号送给音频接收部分,音频接收部分按照DSP模式的时序来接收并传输给输入先进先出数据缓存器(FIFO)进行缓存。当输入FIFO中的数据量达到预设值时,启动DMA传输将缓存区的数据传送至 SDRAM 中。在音频回放时将 SDRAM中的音频数据通过输出FIFO送至音频接收部分,按照DSP模式的时序来发送至TLV320AIC23内部的D/A转换器转换为模拟音频信号,最后通过耳机播放。

图4 DSP模式传输时序

4 软件设计及系统测试

项目的软件设计工作主要在 Nios Ⅱ集成环境下完成,Nios Ⅱ集成开发环境(IDE)是Nios Ⅱ系列嵌入式处理器的基本开发工具。用户可以直接使用C/C++语言以及IDE集成环境提供的硬件抽象层(HAL)函数来完成软件程序的编写[8]。设计中主要完成SOPC中两个自定制模块i2c、aic23寄存器头文件、驱动程序及顶层应用程序的编写。以下按照系统工作流程的顺序列出程序的主要部分:

1)对I2C、DMA模块初始化,注册音频中断处理函数。

2)在IDE控制台选择进入音频测试系统,首先测试TLV320AIC23的模拟旁路功能。

3)测试系统的中断模式实时采集与回放功能。

4)测试系统的录音与回放功能。

在实验室条件下对系统进行测试,并最终成功利用耳机对音频进行了回放。在采集过程中使用Altera SignalTap Ⅱ嵌入式逻辑分析仪对FPGA信号及状态进行捕获检测,图5为SignalTap Ⅱ检测波形。

图5 SignalTap Ⅱ检测波形

5 结语

此次设计采用SOPC技术,通过在Altera公司的Cyclone Ⅱ FPGA 上配置Nios Ⅱ软核处理器及相关自定制逻辑外设模块来搭建硬件平台,并利用软件集成开发环境Nios Ⅱ IDE进行软件设计来控制音频采集与回放的流程,实现了数字音频的高速采集、存储及回放等功能。由于采用SOPC技术,该系统具有设计灵活、采集速度快和扩展升级性好等优点。

[1]刘帅,王以刚.VoIP的语音动态加密方法研究[J].信息安全与通信保密,2009(02):80-81.

[2]庞雄昌,王喆.基于GDTW + SVM的语音识别[J].信息安全与通信保密,2007(06):90-92.

[3]袁晔,韩立金,景晓军.基于音频编解码器TLV320AIC23与 FPGA/CPLD的数字化语音处理系统[J].电子技术应用,2007(10):37-40.

[4]周立功.SOPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2006.

[5]王晓迪,张景秀.SOPC系统设计与实践[M].北京:北京航空航天大学出版社,2008.

[6]崔丽珍,马勇,王慧琴.基于DM 642语音处理系统研究与实现[J].通信技术,2010,43(11):67-68.

[7]李杰,陈希明,程强,等.基于SOPC的数字音频系统设计[J].天津理工大学学报,2009,25(04):63-66.

[8]林青松,李立凯,杨宁.基于Nios Ⅱ的红外图像预处理系统[J].通信技术,2009,42(09):171-173.

猜你喜欢
数字音频外设音频
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
基于Daubechies(dbN)的飞行器音频特征提取
数字音频广播业务和航空无线电导航业务的兼容研究测试
基于FPGA的多协议数字音频信号发生方法
音频分析仪中低失真音频信号的发生方法
数字音频及其嵌入技术在广播电视工程的应用
Pro Tools音频剪辑及修正
外设天地行情
外设天地行情
外设天地行情