基于IIS总线的嵌入式音频系统设计

发布时间:2023-06-23 14:12:23

嵌入式音频系统广泛应用于GPS自动*、PDA、3G手机等嵌入式领域,但目前国内在这方面的研究较少。

音频系统设计包括软件设计和硬件设计两方面,在硬件上使用了基于IIS总线的音频系统体系结构。IIS(Inter-ICSoundbus)又称I2S,是菲利浦公司提出的串行数字音频总线协议。目前很多音频芯片和MCU都提供了对IIS的支持。

基于IIS总线的嵌入式音频系统设计

在软件上,作为一个功能复杂的嵌入式系统,需要有嵌入式*作系统支撑。Linux是一个源代码开放的类UNIX系统,由于其具有内核可裁剪*,且提供对包括ARM、PPC在内的多种嵌入式处理器的支持,所以广泛应用于嵌入式高端产品中。虽然Linux提供了众多API来降低驱动程序制作的复杂度,但是由于音频应用对实时*有很高的要求,且需要处理的数据量较大,所以必须合理分配资源,使用合适的算法。本文针对三星公司的S3C44B0ARM处理器构造了基于lis的音频系统,并介绍了该音频系统基于Linux2.4.0内核的驱动程序构造技术。

1硬件体系结构

IIS总线只处理声音数据。其他信号(如控制信号)必须单独传输。为了使芯片的引出管脚尽可能少,IIS只使用了三根串行总线。这三根线分别是:提供分时复用功能的数据线、字段选择线(声道选择)、时钟信号线。

在三星公司的ARM芯片中,为了实现全双工模式,使用了两条串行数据线,分别作为输入和输出。此外三星公司的IIS接口提供三种数据传输模式:

·正常传输模式。此模式基于FIFO寄存器。该模式下CPU将通过轮询方式访问FIFO寄存器,通过IISCON寄存器的第七位控制FIFO。

·DMA模式。此模式是一种外部设备控制方式。它使用窃取总线控制权的方法使外部设备与主存交换数据,从而提高系统的吞吐能力。

在三星公司的ARM芯片中有4个通道DMA控制器用于控制各种外部设备,其中IIS与其他串行外设共用两个桥联DMA(BDMA)类型的DMA通道。通过设置CPU的IISFCON寄存器可以使IIS接口工作在DMA模式下。此模式下FIFO寄存器组的控制权掌握在DMA控制器上。当FIFO满时,由DMA控制器对FIFO中的数据进行处理。DMA模式的选择由IISCON寄存器的第四和第五位控制。

·传输/接收模式。该模式下,IIS数据线将通过双通道DMA同时接收和发送音频数据。本系统使用该数据传输模式。

图1是44BOX芯片与菲利浦公司的UDAl341TS音频芯片的连接示意图。

在这个体系结构中,为了实现全双工,数据传输使用两个BDMA通道。数据传输(以回放为例)先由内部总线送到内存,然后传到BDMA控制器通道0,再通过IIS控制器写入IIS总线并传输给音频芯片。通道1用来录音。

三星公司的BDMA控制器没有内置的存储区域,在驱动程序中必须为音频设备分配DMA缓存区。缓存区的地址在通道DMA控制器的地址寄存器中设置。

UDAl341TS芯片除了提供IIS接口和麦克风扬声器接口,还提供L3接口控制音量等。L3接口分别连到S3C44B0的3个通用数据输出引脚上。

2音频设备底层软件设计

嵌入式系统硬件设备种类繁多,且缺乏PC中标准的体系结构,所以必须为各种设备编写驱动程序。

看了基于IIS总线的嵌入式音频系统设计还看了:
  • 嵌入式系统中的线*Flash文件系统设计

    在嵌入式系统中,为了便于对闪存(Flash)空间进行管理,会采用文件的形式来访问Flash。目前,可以购买到的Flash文件系统一般都是兼容DOS的文件系统(FlashFileSystem,FFS),这对需要一个具有复杂的目录层次,并且DD...

  • 基于嵌入式PC的PIII计算机系统设计与实现

    目前嵌入式计算机系统应用呈现多样化、小型化、多层次的趋势,在工业现场和*事用途中扮演着越来越重要的角*。随着各种应用对*作系统和软件要求的日益提高,使得具有广泛适应*的PC构架的嵌入式计算机系统倍受青睐。尤其是CompactPCI总线在工业...

  • 基于ARM-μCLinux嵌入式系统启动引导的实现

    32位ARM嵌入式处理器具有高*能、低轼耗的特*,已被广泛应用于消费电子产品、无线通信和网络通信等领域。ΜCLinux是专门为无MMU处理器设计的嵌入式*作系统,支持ARM、Motorola等微处理器。目前国内外采用ARM-μCLinux作...

  • 计算机四级嵌入式系统开发基础试题

    同学们在复习计算机四级考试科目时,要结合试题进行备考,下面是小编为大家整理的计算机四级嵌入式系统开发基础试题,欢迎参考~一、编程开发能力:1、用预处理指令#define声明一个常数,用以表明一年中有多少秒(忽略闰年问题);写一个“标准”宏M...

  • 计算机四级嵌入式系统开发基础试题

    嵌入式系统开发,以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠*、成本、体积、功耗有严格要求的专用计算机系统。那么计算机四级嵌入式系统开发方面的考试会怎么考?以下仅供参考!一、编程开发能力:1、用预处理指令#...