基于SoC的AC'97技术硬件设计

发布者:龙爱泉也最新更新时间:2013-06-07 来源: eefocus关键字:SoC  AC97技术  硬件设计 手机看文章 扫描二维码
随时随地手机看文章

引言

符合Audio Codec\'97协议(简称AC\'97,是由Intel公司提出的数字音频处理协议)的音频控制器不但广泛应用于个人电脑声卡,并且为个人信息终端设备的SOC(如Intel的PXA250)提供音频解决方案。本文设计的音频控制器可为DSP内核提供数字音频接口。全文在介绍音频控制器结构的同时,着重强调其与内核之间数据的协调传输,并给出基于FPGA实现SoC内核仿真环境对音频控制器进行功能测试的方法。

音频控制器的结构和原理 

AC\'97系统由音频编解码器(Codec)和音频控制器(Controller)两个部分组成。其中音频编解码器实现A/D、D/A转换、音效处理等功能,而音频控制器则是SoC内核与音频编解码器之间的数字接口,负责控制数据和音频数据的串/并、并/串转换以及传输。


性能指标

本设计的音频控制器符合AC\'97规范V2.3,其主要指标如下:支持双声道录放音;支持定采样率(48kHz)和变采样率录放音;20位宽16层深PCM音频数据FIFO;支持省电模式;支持中断、DMA和轮询3种方式实现与内核或内存的数据交换。

组成结构音频控制器的主结构如图1所示。内核/内存和音频控制器接口(CORE/MEMORY,CTRL INTERFACE)连接音频控制器与内核或内存。CS是片选信号,WR和RD分别是读写使能,ADDR(16位宽)是音频控制器的端口地址,DIN和DOUT(都是32位宽)分别是总线上的输入输出数据,IRQ和DMA REQ分别是中断和DMA请求。主模块(AC\'97 CTRL MASTER)负责音频控制器(AC\'97 CONTROLLER)与内核或内存(DMA模式下)之间PCM音频数据、控制和状态寄存器组(CONTROL&STATUS REGS)数据以及音频编解码器(AC\'97 CODEC)内部寄存器数据各并行数据的传输,由主时钟CLK同步。电源控制模块(POWER CTRL)可以启动省电模式,也由主时钟CLK同步。

                                         图1 音频控制器的主结构

4组FIFO用于存放PCM音频数据,都是20位宽16层深,因此可以支持最高20位宽分辨率。当FIFO满或者空时,可以发出中断或DMA请求。音频编解码器内部寄存器读写缓存器(CODEC REG WRITE/READ BUF,简称CRBUF)是2个32位寄存器。写缓冲器可以缓存准备写入音频编解码器内部寄存器的控制字,其空时可以发出中断请求;读缓冲器可以缓存已经从音频编解码器内部寄存器中读出的状态字,其满时可以发出中断请求。控制和状态寄存器组包含8个32位寄存器,其中,通用控制寄存器的主要功能是系统冷启动、热启动;通用状态寄存器反映音频编解码器状态;其他寄存器的功能包括配置PCM输入输出声道、配置和产生中断或DMA请求。辅模块(AC\'97 CTRL SLAVE)实现音频控制器与音频编解码器之间(AC-LINK)数据帧的串行发送和接收。输出数据(SDATA_OUT)由辅时钟BIT_CLK上跳沿同步,输入数据(SDATA_IN)由BIT_CLK下跳沿同步。

工作原理

DSP内核通过读写音频控制器CSRS分别来获得音频编解码器状态和设置音频编解码器工作模式;通过读写FIFO来缓冲音频录制和播放过程中的PCM音频数据;通过读写CRBUF来获得音频编解码器内部寄存器状态和设置音频编解码器内部寄存器参数。下面以音频播放中的主要步骤为例,介绍音频控制器的工作原理。

(1)写满PCM左声道输出FIFO;

(2)写满PCM右声道输出FIFO;

(3)轮询音频编解码器准备好(Codec ready)信号是否有效;

(4)读音频编解码器的26H寄存器,判断D/A转换器是否准备好;

(5)允许CRBUF产生中断请求;

(6)写0到音频编解码器的02H寄存器,使主音量衰减最小;

(7)等待CRBUF产生中断,响应中断并写0到音频编解码器的18H寄存器,使PCM输出音量衰减最小;

(8)等待CRBUF产生中断,响应中断并写1到音频编解码器的2AH寄存器,即以变采样率播放音频;

(9)等待CRBUF产生中断,响应中断并写5622(十六进制)到音频编解码器的2CH寄存器,即以22.05kHz采样率播放音频;

(10)允许PCM左右声道FIFO产生满中断;

(11)设置PCM左右声道定速率或者变速率传输,并开始播放音频;

(12)等待FIFO中的PCM码传送掉16层并发出中断请求;

(13)判断是否是PCM左声道FIFO发出中断请求,如果是,则写16层PCM左声道数据;

(14)判断是否是PCM右声道FIFO发出中断请求,如果是,则写16层PCM右声道FIFO数据;

(15)如果内存中PCM数据被读完,则放音结束,否则返回第12步继续放音。 [page]

SOC仿真环境的构成和原理

由音频控制器的工作原理可见,其每一个步骤都是在DSP内核控制下进行的。因此在对音频控制器进行功能验证时,不但要保证其本身的逻辑正确,更要保证其与内核的数据传输正确,这样才有利于音频控制器和内核的整合。由此提出通过构件SoC内核仿真环境来逼近真实内核,并在这个仿真环境中测试所设计的音频控制器。

仿真环境的构成 

SoC内核仿真环境的硬件以Xilinx公司的MICroBlaze多媒体开发电路板为基础,其核心是Vertex II FPGA。电路板上还集成了National Semiconductor公司的AC\'97 CODEC LM4549 芯片,并且提供了LINE IN/OUT、耳机以及麦克风插口。可以通过这些插口来测试音频录放效果,也可通过电路板上的测试点调试部分关键信号。SoC内核仿真环境的构成如图2所示。

                                       图2 SoC内核仿真环境的构成

内核模拟模块(CORE SIM)是SOC内核仿真环境的核心,以RTL代码形式下载到Vertex II FPGA中模拟DSP内核的单周期指令,可以实现读写内存、访问音频控制器(包括读写FIFO、CRBUF以及CSRS)、响应并处理中断请求或DMA请求。其中,DIN_RAM是32位内存数据输入总线;DIN_CTRL是32位音频控制器数据输入总线;DOUT是32位数据输出总线;IRQ是音频控制器中断请求;DMA REQ是音频控制器DMA请求;RST是音频控制器异步复位。

块内存模块是由Vertex II FPGA中的块内存实现的单端口内存,这种内存的时序与常规SRAM相同,可以模拟最大126KB的片上SRAM。在Xilinx集成开发环境(ISE)中调用CORE Generator,就可以生成
这种静态内存。如果运用Memory Eidtor工具生成cgf和coe文件(块内存的配置文件),就可以在为FPGA下载BIT文件的同时给块内存赋初始值。基于FPGA这项强大的功能,就可以将从个人电脑上提取出来的PCM音频码下载到块内存中,然后在内核模拟模块的控制下,通过音频控制器传送到音频编解码器中,由此实现音频播放。

时钟发生模块(CLOCK GENERATOR)可发出27MHz、54MHz以及108MHz三种时钟,并且产生音频控制器异步复位信号RST。MICroBlaze开发电路板上的晶振发出27MHz和50MHz的占空比1:1的方波信号作为时钟发生模块的输入,调用数字锁相环硬核模块(CLOCKGEN.v和CLOCKGEN.ucf)可输出各倍频时钟(本设计用108MHz)以及异步复位信号RST。AC\'97 CTRL是以RTL形式下载到Vertex II FPGA中的音频控制器逻辑。AC\'97 CODEC是National Semiconductor公司的LM4549 AC\'97 CODEC芯片。

内核模拟模块的实现原理

RTL代码模拟的都是流水线中的指令执行级,是音频控制器和内核直接交互数据的级别。根据DSP内核在指令执行级的行为和接口特性,可以灵活地改变内核模拟模块的接口和内部信号(通过改变RTL代码),形成不同的仿真环境。测试在新的仿真环境中音频控制器与内核的工作是否协调稳定,如果结果不理想,就应更改音频控制器的设计。这样就能使音频控制器的特性也能和内核达到最好的协调。

基于SoC内核仿真环境的放音实例

下面给出基于SoC内核仿真环境播放音频的实例。音频来源于Windows2000操作系统初始安装后winnt/media目录下的Utopia Windows Start.wav(153KB,16位单声道的wave文件),提取出文件中的PCM音频码后下载到Vertex II的块内存中。音频控制器在SoC内核仿真环境中控制音频编解码器工作,连接耳机到MicroBlaze开发电路板的耳机插口,可以听到维持将近3秒钟的音频信号,和原音频文件的声音基本一致。使用音频分析软件Audicity来分析音频播放效果,原始音源与开发板播放的音频略有不同,其原因有以下3点。(1)电脑声卡录音起点和原音频的放音起点不同; (2)由于块内存的最大容量为126KB,所以所录波形文件只截取了原文件(153KB)的前2/3部分。(3)经过SoC内核仿真环境放音,并由电脑声卡录音得到的音频与原音频的幅度必然不同。第1、2两个因素引起两个波形在时间轴方向上的偏差,因素3引起幅度轴方向上的偏差。尽管存在这些差异,但完全可以说明在SoC内核仿真环境中,所设计的音频控制器逻辑功能正确,与内核能够协调工作。

总结 

本文根据所设计的音频控制器的结构详细介绍了构建SOC内核仿真环境来测试音频控制器的思想和实现方法。基于这个仿真环境,不但可以测试音频控制器实际录放音的效果和性能,更重要的是可以及时反映其与内核的协调程度。这样就可避免孤立设计音频控制器而不考虑其与SoC系统协调的弊端,明显提高后期整合SoC系统的效率。

参考文献
1 Audio Codec ’97, Revision 2.3 Revision 1.0, Intel,April 2002
2 MICroBlaze and Multimedia Development Board User Guide UG020 (v1.0),Xilinx, August 2002
3 Core Gennerator Guide - ISE 5, Xilinx
4 LM4549A AC ’97 Rev 2.1 Codec with Sample Rate Conversion and National 3D Sound, National Semiconductor, November 2002

关键字:SoC  AC97技术  硬件设计 引用地址:基于SoC的AC'97技术硬件设计

上一篇:基于FPGA的液晶显示控制器设计
下一篇:模拟视频滤波技术

推荐阅读最新更新时间:2024-05-02 22:41

SoC 设计中的时钟低功耗技术
  1 概述    SoC 芯片设计的复杂度日益增加,其内部 时钟 设计越来越复杂,一个SoC 芯片内部通常存在若干个时钟域,由时钟网络引起的系统动态功耗成为近年来的研究热点。时钟网络引起的系统动态功耗分为2 个方面:(1)由于时钟网络的作用是为芯片内部所有时序单元提供时钟信号,因此时钟频率的快慢决定了时序单元和与之相连的逻辑单元的动态功耗,关断时钟将消除电路的动态功耗。(2)时钟网络自身的特点将导致巨大动态功耗的产生:1)时钟网络是芯片内规模最大的互连线网络,其负载巨大,负载来自因为互连线电容和平衡时钟树的偏差而插入的大量延时单元;2)时钟网络是芯片内翻转率最高的互连线网络,翻转率的高低直接决定了互连线动态功耗和互连线驱动
[电源管理]
<font color='red'>SoC</font> 设计中的时钟低功耗<font color='red'>技术</font>
C8051F单片机在远端测控装置中的应用
C8051F单片机是完全集成的混合信号系统芯片(SoC),具有与8051指令集完全兼容的CIP-51内核和高速、高性能、高集成度等特点。在本文设计的一套远端测控装置中取得了较好的效果。 系统简介 远端测控装置是一种现场可编程的控制器,它能完成数据的采集控制,而通过远程通信的方式(如电台、CDMA、拨号等)将数据上传至中心站或接收中心站的遥控指令。它往往被安装在比较分散、环境比较恶劣、无电源保障(经常断电或使用太阳能)且无人值守的地方,因此它运行的可靠性和功耗就显得尤为重要了。C8051F单片机的工业级工作温度(-40℃~+84℃)、低电压、低功耗、自带看门狗和多复位源等特点满足了此系统的要求。 基于此系统的定位,选用C8051F0
[单片机]
豪威发布全新汽车 SoC,适用于汽车 360 度环视系统和后视摄像头
当地时间 1 月 4 日,豪威集团在 CES 2023 国际消费电子展发布了用于汽车 360 度环视系统(SVS)和后视摄像头(RVC)的全新 130 万像素 OX01E20 系统级芯片(SoC)。 豪威集团表示,OX01E20 带来了高性能的 LED 闪烁抑制(LFM)和 140db 高动态范围(HDR)功能。此外,OX01E20 与上一代 130 万像素汽车 SoC 引脚对引脚兼容,可以快速升级到更高的性能。 据介绍,在单一的 1/4 英寸光学格式封装中,OX01E20 搭载了 3 微米图像传感器、高级图像信号处理器(ISP)以及全功能失真校正 / 透视校正(DC / PC)和屏幕显示(OSD),使设计人员能够同时实现
[汽车电子]
豪威发布全新汽车 <font color='red'>SoC</font>,适用于汽车 360 度环视系统和后视摄像头
VoIP语音卡在路由器中的应用及硬件设计
摘要:介绍了VoIP语音卡在路由器中的应用,详细描述了一款应用于路由器的语音卡的硬件结构及其工作方式。 关键词:VoIP PCI FXS 路由器 语音压缩 1 VoIP在路由器中的应用 近年来,VoIP(Voice over Internet Protocol)给通信市场带来了强大的冲击。IP语音业务推出后,由于其在通话费用上比传统电话具有突出的优势,因而受到了广泛欢迎。VoIP技术在路由器中应用,可以大大节省有多个部门在不同地方办公的企业或机构的电话费用。图1为一个VoIP路由器在公安分局与派出所间应用的方案。 派出所网点的路由器DCR-2501V和DCR-2509V使用FR(帧中继)或DDN线路同分局的DCR-3660
[网络通信]
Win8没热 微软怨硬件设计
    Windows 8销售不如预期,外电传出微软私下抱怨是品牌厂产品设计不力所致,让微软族群嫌隙萌生。对此宏碁表示不予置评,强调未来将在招募工业设计人才以及营销上用尽全力。      据了解,宏碁已挖角前戴尔研发大将陈巧凤。另外华硕则认为,观察Win8效应的确属「慢热」型,但相信自家产品具竞争力,Nexus 7平板可望在感恩节热销。      微软生态圈内哄频传,日前惠普加入宏碁,抨击微软Surface平板速度慢,昨日外电又报导微软对Win8销售不甚满意,直指硬件伙伴产品设计不够吸引人。NB品牌厂私下透露,主要在于消费者对于Win8集成娱乐和工作的「拼装」概念不买单,加上全球经济欠佳,导致Win8销售跑不动,而且考量零组件跌价,
[手机便携]
A77集成式5G旗舰Soc 小米或用联发科天玑1000+
6月15日消息,博主@数码闲聊站爆料,小米或Redmi要用联发科天玑1000+芯片,号称是中端杀手。 目前联发科天玑1000+已经量产商用,首发机型是iQOO Z1,618期间到手价为1998元,在2000元档位极具竞争力。 由此猜测,小米或Redmi旗下联发科天玑1000+新机可能会是类似的定位,考虑到使用骁龙865旗舰平台的Redmi K30 Pro 618期间价格低至2197元,看来新机价格有可能会在2000元档位。 据悉,联发科天玑1000+采用了Cortex A77架构,这是全球首款采用Cortex A77的集成式5G旗舰Soc,没有之一。 官方介绍,天玑1000+配备了全球领先的5G技术,支持SA和NSA双模5G组
[手机便携]
碾压SA8295P的高通SoC来了,高合首发
座舱SoC天花板是SA8295P?当然不是,AMD的一系列嵌入式 处理器 都可以碾压SA8295P, 高通 自己的座舱SoC如SA8255P也可以在 AI 领域超越SA8295P,主要原因是SA8295P是2021年初的产品,其设计范围在2020年就已确定了,却没想到座舱领域被中国车企卷得不成样子,遂在定位低于SA8295P的产品上也持续加 大算力 。 2023年9月19日,极越01首发高通骁龙8295智舱 芯片 。骁龙8295是最强的 车机 芯片,采用5nm制程工艺、8倍于8155的算力。在安兔兔车机性能榜单中,其跑分近70万,几乎是骁龙8155的2倍。就在同一天下午,高合在展翼日正式发布自研高算力智能座舱平台。该平台将首搭
[汽车电子]
碾压SA8295P的高通<font color='red'>SoC</font>来了,高合首发
汽车SoC安全:保护车载计算机以启用SDV实例
  它是一个收集信息的计算机系统和过程复杂而又高来自不同ECU的带宽数据,以及车辆中的传感器,例如Adas,信息娱乐,导航动力系统的应用。   大多数这些车载计算机需要片上系统(Soc)计算大量数据,然后提供结果。
[嵌入式]
汽车<font color='red'>SoC</font>安全:保护车载计算机以启用SDV实例
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved