基于IIS总线的嵌入式音频系统介绍

发布者:Changsheng520最新更新时间:2012-08-28 来源: 自动化在线关键字:IIS总线  嵌入式  音频系统 手机看文章 扫描二维码
随时随地手机看文章

  1 引言

  随着 Internet技术和多媒体技术的快速发展,语音通信技术的应用越来越广泛,也越来越受到重视[1]。如今的嵌人式设备日益复杂化,功能比以前更加丰富,性能也越来越高。在多种嵌人式终端产品中,音频处理功能已成为不可缺少的重要组成部分,高质量的音效是当前发展的重要趋势。

  本文利用 ATMEL公司 的 AT91RM9200型微处理器 和 Philips公司的 UDA1341型立体声音频编解码器设计了一种嵌入式音频系统。该嵌入式音频系统硬件部分采用基于IIS总线的音频系统体系结构,其主要硬件电路后文作了详细的介绍。软件上,笔者以嵌入式Linux操作系统作为平台,重点介绍该音频系统在此平台下的驱动程序的实现。

  2 AT91RM9200处理器简介

  AT91RM9200是 ATMEL公司针对系统控制以及通信领域推出的基于ARM920T内核的新型微处理器[2],在高性能和低功耗特性方面具有极大的优势,而且具有很高的主频,最高可达到180 MHz。该处理器具有独立的16K指令和16K数据cache,全功能的MMU虚拟内存管理单元,以及内部的16KB SRAM和128KB ROM,EBI接口控制器。片上集成了丰富的外围接口,包括网络MAC、USB控制器、SDRAM 控制器、CF接口、NAND flash接口、IIC接口、JTAG调试器以及支持 256 MB的地址空间。而且处理器还提供自举模式,供用户写入引导代码,方便 Linux等操作系统的移植。

  3 UDA1341TS音频芯片及IIS总线简介

  PHILIPS公司的 UDA1341TS是一块功能强大的专用语音处理芯片[3]。该芯片集语音放大、滤波、采样、A/D和D/A转换等功能于一体,并且能进行数字语音处理。本设计使用的AT91RM9200处理器具有一个IIS音频接口,此接口采用 DMA方式传输数据。在该方式下,由DMA控制器取代CPU,获得总线控制权,从而实现内存与外设或者内存之间的不同区域之间大量数据的快速传输。用DMA接口传输数据,不仅可以降低CPU负担,还可以节省系统的软件设计时间,降低编程难度。而 UDA1341TS支持IIS总线格式,并且具有数字语音处理特性,由此决定了UDA1341TS与AT91RM9200处理器的电路连接比较简单,并且能实现语音的 A/D和 D/A等预处理,而不需要再额外增加专门的A/D和 D/A器件。

  需要说明的是,数字音频系统需要多种多样的集成电路,因此,为这些电路提供一个标准的通信协议非常重要。IIS总线是由SONY和PHILIPS公司等电子巨头共同提出的数字音频总线协议,全称是内部集成电路声音总线 (Inter IC Sound Bus),它是一种串行的数字音频总线协议,该总线专门用于音频设备之间的数据传输,为数字立体声提供一个序列连接至标准编解码器[4],目前很多音频芯片和处理器都提供了对IIS总线的支持。笔者根据IIS总线的原理,结合AT91RM9200处理器和数字音频输入/输出接口芯片 UDA1341TS的结构特点,设计的嵌入式音频系统可以运用到很多类似的音频系统中。

  4 系统硬件设计方案

  由于IIS总线只处理音频数据,而其他的信号如编码、控制等信号单独传送。为了使必需的引脚数最小并且保持连线简单,IIS总线由3条信号线组成:时分复用的数据通道线、字段选择线和时钟信号线。本系统由系统主控制器提供时钟信号,控制数字音频数据在各个IC之间的流向。此时,发送器在外部时钟信号的控制下产生数据,处于从模式。

  本设计硬件连接图比较简单,如图1所示。图中的处理器采用了AT91RM9200处理器,其内置IIS音频总线,内置的IIS接口能读取IIS总线上的数据,并由UDA1341TS芯片外扩,通过总线和系统连接,需要处理器提供系统时钟和3根控制线。

 


  图1 硬件设计简图

  AT91RM9200的IIS控制器由5个引脚与外部的音频编解码器相连。这些引脚分别是:系统时钟;位速率时钟(可使用内部或外部时钟源);字段选择;串行声音输入;串行声音输出。本设计中,UDA1341TS使用的是L3接口 ,该接口用来控制音频信号的音量大小以及低音等。L3接口有3个信号:L3MODE,L3CLK,L3DATA,将字节写入 L3总线寄存器。IIS总线控制器通过软件控制AT91RM9200的通用I/O引脚(笔者选用的是PA0、PA1、PA2三个通用I/O口)来支持L3接口。下图是本嵌入式音频系统的硬件电路连接图,见图2。

 


  图2 硬件电路的连接

  各个引脚的连接说明如下:

  SYSCLK:IIS总线的基本时钟源,AT91RM9200处理器的TCLK3引脚与UDA1341TS芯片的系统时钟相连接。由于UDA1341TS芯片仅支持从模式 ,因此在所有的应用中系统设备必须提供系统时钟。系统时钟频率是可编程的,其分频率可以是 256、384或512倍的采样频率。系统时钟必须在频率上与数字接口信号一致。在设计中笔者用的是256fs的时钟。 [page]

  WS:字段选择引脚,用于指出现行串行数据采样值为左声道还是右声道数据,AT91RM9200处理器的TK0引脚与WS相连接。

  BCK:向UDA1341TS提供用作采样逻辑的串行声音位速率时钟,AT91RM9200处理器的TD0引脚与 UDA1341TS芯片的BCK引脚相连接。

  DATAI, DATAO:用于从UDA1341TS接收、发送串行声音数据,AT91RM9200处理器的RD0,RK0引脚分别对应UDA1341TS的音频输入、输出引脚。

  L3M0DE,L3CLOCK,L3DATA:UDA1341TS的L3接口引脚,分别与AT91RM9200的3个通用数据输出引脚PA0、PA1、PA2连接。

  5 系统软件设计方案

  嵌入式 Linux是一种完全开放且免费的操作系统,其支持多种硬件体系结构,运行稳定 ,拥有完善的开发工具,为开发人员提供了优良的开发环境[5]。在嵌入式 Linux系统中,设备驱动程序提供了应用程序和实际设备之间的一个软件层(接口),为应用程序屏蔽了硬件细节。本设计中,音频设备驱动程序主要通过对硬件的控制实现音频流的传输,同时向上层提供标准的音频接口。整个音频驱动程序包括设备初始化、打开设备、数字音频处理(DSP)驱动、混频器(MIXER)驱动和释放设备等部分。本文由于篇幅的限制,仅介绍设备初始化及打开设备的实现。

  设备初始化是整个音频驱动程序的开始部分,主要完成对UDA1341TS音量、采样频率、L3接口等的初始化,并且注册设备。通过函数audio_init(void)完成以下具体功能: AT91RM9200控制端口(PA0、PA1、PA2)的初始化;为UDA1341TS分配 DMA通道;初始化UDA1341TS芯片;注册音频audio设备和混频器设备。

  以下给出的是该函数总体框架:

  audio_init(void)

  {

  Set_gpio_ctrl(GPIO_L3CLOCK); /*CPU控制端口的初始化 */

  … … /*“……”表示省略部分代码,以下同 */

  Input_stream.dma_ch=DMA_CH1; /*输入 DMA通道的选择 */

  Output_stream.dma_ch=DMA_CH2; /*输出DMA通道的选择 */

  Local_irq_restore(flags);

  Init_UDA1341(); /*初始化 UDA1341*/

  … …

  /*下面两个函数用来注册音频 audio设备和混频器设备 */

  Audio_dev_dsp=register_sound_dsp (&at91rm9200_audio_fops,-1);

  Audio_dev_mixer=register_ound_mixer (&at91rm9200_mixer_fops,-1);

  }

  打开设备由函数open()来实现,该函数可以完成以下功能:配置IIS总线接口;设置UDA1341TS声道及采样频率等参数;计算缓冲区大小;为UDA1341TS分配DMA缓冲区。

  该音频模块经过正确的配置可以实现录音、放音及循环放音等功能。本文给出初始化IIS接口、测试IIS接口以及运用IIS接口来播放一段音乐的程序设计基本流程,流程图如图3所示。录音和循环播放功能的设计流程与放音类似,这里不再赘述。

 


  图3 IIS接口功能测试软件设计流程图

  6 结论

  本文介绍了一种基于IIS总线的嵌入式音频系统,该系统简洁实用,可以实现音频的采集和播放,文章具体讲述了基于ATMEL公司AT91RM9200型微处理器与音频编解码芯片UDA1341TS的硬件连接及嵌入式 Linux下音频驱动的实现。当然,这只是本系统的主要组成部分,至于其他相关组成部分如FLASH和SDRAM等,笔者在实际设计中已经完成,由于篇幅关系,文中没有详细介绍。该系统已经在AT91RM9200的开发平台上得到了实现,可以顺利进行音频的采集和播放,并取得了良好的效果。另外,当今实时视频处理和传输技术发展迅速,应用也日益广泛,如视频会议、VOIP电话等等,本设计适当加以扩展,特别是与视频模块结合,即可应用于更多相关的复杂系统中。

 
关键字:IIS总线  嵌入式  音频系统 引用地址:基于IIS总线的嵌入式音频系统介绍

上一篇:基于CAN总线中继器设计及应用
下一篇:基于PROFIBUS总线的涡轮增压器生产线数据采集系统介绍

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

基于TMS320LF2407A支持FAT32文件系统嵌入式软件的实现
  引言   近几年来,随着闪烁存储技术的进步,由于Flash闪烁存储体系具有容量大和功耗低等优点,被广泛用于数码相机、媒体播放器和PDA等各种数码产品中。当前各种流行的嵌入式操作系统虽然功能完备,但在许多具体的应用中,仍需要编写特定的系统控制软件。数码产品中一个必要的软件模块就是对一种或多种文件系统的支持。FAT32文件系统被Windows和Linux等当前流行的PC操作系统广泛支持,这也是许多数码产品选择FAT32的原因。本文介绍了FAT32文件系统结构和基于DSP TMS320LF2407A为硬件平台支持 FAT32文件系统结构的嵌入式软件实现。   FAT32文件系统结构简介   单FAT32分区的磁盘或闪烁存储器(以下没
[电源管理]
基于TMS320LF2407A支持FAT32文件系统<font color='red'>嵌入式</font>软件的实现
STM8 嵌入式特性编程之构建你的系统时间
时间或许对一个系统来说太重要了,他是系统定时任务处理,测量度量、信号捕捉、事件记录的基础。在手机里面开机时系统会从PMU的RTC模块读取时间,作为系统一切任务的时间基准,此后就有操作系统来维护这个时间,关机的时候内存下电系统时间也会同时丢失,时间由RTC硬件驱动。这就是Android等这样完善的系统对时间的大概处理方法,他们自有非常成熟的方案去实现相应的需求。 那么低端的嵌入式平台也需要时间吗?我想很多时候这样的需求是非常必须的,比如你要测试一段代码的执行时间你会怎么做呢?或者你要定时去执行一项任务你又该如何设计?最常见的你要做一段精确到us的延时你怎么办? 不要说我每次对时间有依赖的操作我都直接去操作定时器!前辈们一直都
[单片机]
MCS-51单片机嵌入式Internet技术研究
  近年来以单片机(Micro Computer Unit,MCU)为代表的嵌入式系统在工业探测系统、智能仪器、安防系统、智能家电和信息家电领域得到了广泛应用。   如果嵌入式系统能够连接到Internet 上,则用户可以方便、快捷、低廉地通过网络进行远程控制、监测和信息传送。Internet 技术和嵌入式技术的相互融合,不仅为嵌入式系统的设计和开发带来了前所未有的发展空间和机遇,也使得 Internet 应用进入了嵌入式Internet 时代。据专家预测,未来在 Internet 上的新增业务和应用中,将有 45%的增长来自于小型嵌入式系统。因此,嵌入式系统的 Internet 接入技术,将会有极其广阔的应用前景。如何利用单片
[单片机]
MCS-51单片机<font color='red'>嵌入式</font>Internet技术研究
手机自动售货机的嵌入式系统设计
摘 要:阐述以移动增值服务为基础的手机自动售货机的嵌入式系统设计。硬件设计给出自动售货机设计方案,并简要介绍所用到的器件,软件设计给出自动售货机的流程图和服务器的功能简介。 关键词:手机USSD 白动售货机GSM/GPRS 引 言 移动增值业务产品的核心特点是移动性、即时性和个人性。移动增值服务是在通信技术、计算机技术和互联网技术不断发展融合的基础上,在人们以信息为基础的各种应用需求快速增长的激励下,在社会信息化水平日益提高的前提下,迅速发展的一种全新的服务方式。由于移动通信自身所具有的可移动性、无时空限制性、专属性、安全性和时尚性的特点,加上基于这些特点之上的短信息、游戏、支付、定位、办公等丰富多彩的应用服务,使得我国的移
[应用]
基于MinuGUI的嵌入式智能仪器触摸屏设计
0 引言 在现代化生产中,为了确保机械设备安全可靠地运行,通常要采用适宜的仪器仪表,利用故障诊断技术及时发现故障,并采取合理的维修或保护措施来排除故障,预防和避免事故的发生。基于对仪器尺寸、便携性和操作方便性的考虑,在工业领域如煤炭、钢铁、冶金、电力、化工等行业中大量的仪器仪表和设备,都逐渐选用触摸屏作为系统的输入设备。 针对这一情况,作者在开发面向机械故障诊断的智能仪表过程中,对触摸屏输入接口进行了研究。设计了四线电阻式触摸屏与PXA255 处理器的接口电路,分析了Linux框架下的字符设备驱动程序设计原理,完成了触摸屏的接口驱动程序开发,并设计了用触摸屏作为输入设备的MiniGUI用户程序。触摸屏作为仪器的输入设备,人机交
[单片机]
基于MinuGUI的<font color='red'>嵌入式</font>智能仪器触摸屏设计
ARM 25周年,借全新产品进军嵌入式市场
可穿戴技术受到了用户的追捧,因为这些设备有助于分析人们的日常活动,并可通过一种直观的方式交换信息,极大改善我们的生活方式,给我们带来便利。 市场上有各种各样的可穿戴电子设备,最有名的是智能手表、活动监测器和健身手环。这些高度便携式设备被戴在用户身上,或以其它方式附着在人身上,能够通过一个或多个传感器测量和捕获信息。 这些设备持续监测用户的活动,即使他们在睡觉时也不例外。它们运行各种复杂的算法,以提取有意义的信息。例如:佩戴者的睡眠情况,并通过一种直观的方式和无线接口向用户显示监测结果。由于这些设备提供有可能改变用户活动的重要信息,它们必需做到可靠、精确。此外,为了尽量延长电池续航时间,它们还应该尽可能的高效。
[手机便携]
ARM 25周年,借全新产品进军<font color='red'>嵌入式</font>市场
东芝:面向便携设备32GB嵌入式NAND闪存
  东芝发布了32GB大容量嵌入式NAND闪存的新产品。用于手机和摄像机等便携设备。将于2008年9月陆续开始样品供货,08年第四季度起开始量产。封装采用169端子的FBGA,外形尺寸为14mm×18mm×1.4mm。   新产品使用了8枚基于43nm工艺的32Gbit芯片。能够以约17Mbit/秒的平均比特率记录HDTV影像4小时,以约9Mbit/秒记录SDTV影像7.3小时,以416Kbit/秒记录QVGA画质单波段影像170小时。   因内置了依据多媒体卡协会(MMCA)规定的存储卡规格“MMCA Ver.4.3”和SD卡协会(SDA)规定的“SDA Ver. 2.0”等的控制器,因此无需开发写入块管理、错误订正和驱动软
[焦点新闻]
基于嵌入式的电缆故障检测仪设计
电缆 是通信、测试等系统信号传输的重要载体,随着电缆数量的增多及运行时间的延长,电缆也越来越频繁地发生故障。电缆线路的隐蔽性及测试设备的局限性,使电缆故障的查找非常困难。本文设计了一种以嵌入式微处理器Nios为核心的电缆故障检测仪,应用A/D器件和FPGA组成可 变频 率的高速数据采集系统,利用低压脉冲反射法原理来实现线缆的断路、短路、断路点、短路点的检测与定位。该仪器可广泛应用于通信维护、工程施工和综合布线,对市话电缆、同轴电缆等各种线缆进行测试和障碍维护。   1 系统总体结构   利用低压脉冲反射法检测电缆故障。主要原理是:向电缆发送一个电压脉冲,当发射脉冲在传输线上遇到故障时,由于故障点阻抗不匹配,产生反向脉冲,通过计
[单片机]
基于<font color='red'>嵌入式</font>的电缆故障检测仪设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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