0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于TSC2101与I2S总线的音频系统的设计与实现

电子设计 来源:郭婷 作者:电子设计 2018-12-06 08:33 次阅读

近年来掀起了嵌入式系统应用的热潮,嵌入式系统已经渗透到我们生活中的每个角落,工业、服务业、消费电子等等。Windows CE是一个开放的、可裁剪的、32位的实时嵌入式操作系统。它具有可靠性好、实时性高、内核体积小的特点,被广泛用于各种嵌入式智能设备的开发;在这些嵌入式应用中,音频模块成为了大多数产品不可或缺的一部份。

音频系统的硬件实现

本设计中的音频驱动采用Unified Audio模型实现,基于Intel Xscale PXA272处理器TI 的TSC2101音频芯片,使用了基于I2S(Inter-IC Sound)总线的音频系统体系结构,系统原理图如图1所示。Intel Xscale PXA272芯片集成了I2S控制器,通过I2S总线处理音频数据。

基于TSC2101与I2S总线的音频系统的设计与实现

图1 系统原理图

I2S是菲利浦公司提出的串行数字音频总线协议。PXA272的I2S控制器控制了I2S链接,I2S控制器由数据缓冲、状态和控制寄存器、计数器组成。它们将系统内存和外设的音频解码芯片(TSC2101)连接,产生同步音频。播放音频文件时,I2S控制器通过I2SLINK连接将系统内存中数字化的声音样本发送到外设的TSC2101音频解码芯片中,然后由TSC2101芯片的数模转换器将数字音频信号转换成模拟信号。

I2S控制器通过DMA方式来访问。DMA方式下,DMA控制器只能通过串行音频数据寄存器(SADR)访问FIFO。DMA控制器通常以8、16或32字节大小的块存取FIFO队列数据的。

本设计中采用的音频芯片TSC2101集成了立体声音频解码、触摸屏控制芯片,立体声DAC能以高达48Kb/s的采样率播放音频文件,专供PDA、PMP、智能手机和MP3播放机使用。TSC2101 将扬声器放大器、耳机放大器和四线触摸屏控制器音频编解码器集成再一起,带有一个立体声头戴送受话器接口、一个手机送受话器接口、一个单声道8Ω扬声器放大器以及一个32Ω受话器驱动器,并集成有一个电池监控器和一个片上温度传感器

TSC2101芯片的电路设计如图2所示。

基于TSC2101与I2S总线的音频系统的设计与实现

图2 TSC2101芯片电路设计

本设计为TSC2101在智能手机中的运用,CP-IN为通信模块的语音输入,CP-OUT则为音频系统到通信模块的输出,在实际的应用中MIC1可以通过TSC2101的内部PGA(可编程增益放大)、AGC(自动增益控制)电路连接到CP-OUT,实现智能手机的话筒功能;同时,MIC1输入还可以通过内部的ADC将语音数据采样后经I2S总线传输到处理器存储空间实现录音功能。当然,在智能手机通话的同时,还可以实现通话录音功能。电路图中的38~41引脚为SPI接口,42~46引脚为I2S控制引脚,引脚9~12为触摸屏输入,引脚27和28为音频输出可以连接耳机,引脚26连接手机听筒,引脚33、35连接外置扬声器。

采用Unified Audio模型实现音频驱动

音频驱动的一种方法,是采用Unified Audio模型,即不分层的音频驱动模型,这种模型的音频驱动支持标准的波形驱动接口。在分层的音频驱动中,驱动程序由MDD和PDD组成,MDD层执行与硬件平台无关的功能,PDD层则是直接与硬件平台相关的操作,而在Unified Audio模型中,MDD和PDD的分层是不必要的,图3是Unified Audio模型的音频驱动结构。

基于TSC2101与I2S总线的音频系统的设计与实现

图3 Unified Audio模型的音频驱动结构

在这种模型下,音频驱动仍然是以流接口的形式实现,分别实现了WAV-close()、WAV-PowerDown()、WAV-Deinit()、 WAV-PowerUp()、WAV-Init()、WAV-Read()、WAV-IOControl()、WAV-Seek()、WAV-Open()、WAV-Write()这几个标准的流接口函数。

DMA缓存区设计与实现

由于音频设备驱动程序设计对设备的实时性要求较高,所以DMA缓存区设计以及合理地利用缓存区加快对音频数据的处理,减少延时变得十分重要。

DMA控制器是使CPU处理其他与数据总线无关的处理,而由DMA控制器负责数据传输的机制,这种机制使得CPU从繁重的数据传输中解脱出来,可以执行其他计算,从而提高了系统运行速度。PXA272的DMA控制器提供了32个DMA通道,0~31。这些通道提供了flow-through 和fly by的数据传输方式。

在本设计中,使用双缓存区DMA通道设计,如图4所示,当CPU正在处理某一个缓存区数据的同时,DMA控制器可以完成另一个缓存区数据的传输,如此交替下去,则可以提高系统的并行能力,提高音频处理的实时性。

本设计中使用MapDMABuffers()函数实现DMA音频数据缓存区的分配,函数主要实现的功能是:分配接收和发送音频数据的DMA缓存区。

结束语

本文分析了嵌入式Windows CE操作系统基于TSC2101音频芯片的音频系统实现的基本原理及其驱动程序模型;并结合具体程序重点描述了DMA双缓存区的实现方法和原理,本设计在实际运用中能够满足音频系统的实时性要求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19242

    浏览量

    229593
  • 嵌入式
    +关注

    关注

    5082

    文章

    19093

    浏览量

    304614
  • WINDOWS
    +关注

    关注

    3

    文章

    3540

    浏览量

    88595
  • 总线
    +关注

    关注

    10

    文章

    2877

    浏览量

    88043
收藏 人收藏

    评论

    相关推荐

    Windows CE下基于TSC2101音频控制系统电路设计

    、汽车电子、个人电子消费品等各个领域,是当今应用最多、增长最快的嵌入式操作系统。而在这些嵌入式应用中,音频模块成为了大多数产品不可或缺的一部份。构造了基于Intel Xscale PXA272和TSC2101
    发表于 10-11 15:26 1921次阅读
    Windows CE下基于<b class='flag-5'>TSC2101</b>的<b class='flag-5'>音频</b>控制<b class='flag-5'>系统</b>电路设计

    音频总线I2S协议:I2S收发模块FPGA的仿真设计

    1 概述 I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的
    的头像 发表于 12-14 17:34 8573次阅读
    <b class='flag-5'>音频</b><b class='flag-5'>总线</b><b class='flag-5'>I2S</b>协议:<b class='flag-5'>I2S</b>收发模块FPGA的仿真设计

    全面解析I2S、TDM、PCM音频总线

    I2S是比较简单的数字接口协议,没有地址或设备选择机制。在I2S总线上,只能同时存在一个主设备和发送设备。主设备可以是发送设备,也可以是接收设备,或是协调发送设备和接收设备的其它控制设备。
    发表于 09-20 10:58 1.2w次阅读

    怎么实现Windows CE下基于TSC2101音频系统的设计?

    本文针对Windows CE操作系统,构造了基于Intel Xscale PXA272和TSC2101音频芯片的音频系统,并简要介绍了其实现
    发表于 06-04 06:19

    TSC2101,pdf(Audio Codec w/ Int

    , which supports stereo audio DAC, monaural voice ADC and SAR ADC. The TSC2101 features a high-performance audio codec with 16, 20, 2
    发表于 06-11 09:19 27次下载

    TSC2101触摸屏,电池,音频驱动程序的WinCE操作系统

    本应用报告描述了TSC2101触摸屏,电池,音频驱动程序WinCE操作系统帮助客户使用TSC2101实施设计音频编解码器与集成耳机/扬声器放
    发表于 05-23 15:45 10次下载
    <b class='flag-5'>TSC2101</b>触摸屏,电池,<b class='flag-5'>音频</b>驱动程序的WinCE操作<b class='flag-5'>系统</b>

    基于FPGA的PCI-I2S音频系统设计

    提出了一种基于FPGA实现的PCI-I2S音频系统方法。通过在FPGA中将PCI软核、FIFO以及设计的接口电路等相结合,在FPGA上实现了 PCI、
    发表于 11-17 08:17 3048次阅读
    基于FPGA的PCI-<b class='flag-5'>I2S</b><b class='flag-5'>音频系统</b>设计

    i2s音频总线学习

    I2S是飞利浦公司针对数字音频设备(如CD播放器、数码音效处理器、数字电视音响系统)之间的音频数据传输而制定的一种总线标准。它采用了独立的导
    发表于 01-29 16:29 4277次阅读
    <b class='flag-5'>i2s</b><b class='flag-5'>音频</b><b class='flag-5'>总线</b>学习

    几种常见的I2S数据格式

    I2S总线简单有效,可以有效提升输出数据的质量,在各种嵌入式音频系统中有广泛应用。但是在嵌入式音频系统设计中,并不是所有的MCU都支持I2S
    发表于 01-29 19:18 1.2w次阅读
    几种常见的<b class='flag-5'>I2S</b>数据格式

    Windows CE下基于TSC2101音频系统设计

    关键词:TSC2101 , WINCE , 设计 , 音频 Windows CE是一个开放的、可裁剪的、32位的实时嵌入式操作系统。它具有可靠性好、实时性高、内核体积小的特点,所以被广泛用于各种
    发表于 12-06 16:04 318次阅读

    I2S音频总线基本知识科普

    I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的
    的头像 发表于 04-12 07:48 3w次阅读
    <b class='flag-5'>I2S</b><b class='flag-5'>音频</b><b class='flag-5'>总线</b>基本知识科普

    I2S、TDM、PCM音频总线

    I2S包括两个声道(Left/Right)的数据,在主设备发出声道选择/字选择(WS)控制下进行左右声道数据切换。通过增加I2S接口的数目或其它I2S设备可以实现多声道(Multi-C
    的头像 发表于 09-20 11:01 4922次阅读

    I2S总线的定义和特点

    I2S(Inter-IC Sound)总线,又称为集成电路内置音频总线,是飞利浦公司(现为恩智浦半导体)为了数字音频设备之间的
    的头像 发表于 09-03 14:08 1042次阅读

    TSC2101 WinCE 5.0驱动程序

    电子发烧友网站提供《TSC2101 WinCE 5.0驱动程序.pdf》资料免费下载
    发表于 10-23 10:25 0次下载
    <b class='flag-5'>TSC2101</b> WinCE 5.0驱动程序

    TSC2101触摸屏、电池和音频WinCE驱动程序

    电子发烧友网站提供《TSC2101触摸屏、电池和音频WinCE驱动程序.pdf》资料免费下载
    发表于 10-23 10:13 0次下载
    <b class='flag-5'>TSC2101</b>触摸屏、电池和<b class='flag-5'>音频</b>WinCE驱动程序