新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于IIS总线的嵌入式音频系统设计

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

——
作者:杭州浙江大学计算机科学与技术学院(310027) 徐 睿 李 斐 王申康时间:2007-02-07来源:电子技术应用收藏

摘 要:介绍了基于总线的音频设备的硬件体系结构及其Linux驱动程序的设计。在音频驱动程序设计中综合使用了DMA、分段多缓存区和内存映射技术以提高系统性能,满足音频实时性的要求。
 
关键词:音频设备驱动程序 总线 Linux DMA 内存映射

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

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

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

1 硬件体系结构


IIS总线只处理声音数据。其他信号(如控制信号)必须单独传输。为了使芯片的引出管脚尽可能少,IIS只使用了三根串行总线。这三根线分别是:提供分时复用功能的数据线、字段选择线(声道选择)、时钟信号线。
 
在三星公司的ARM芯片中,为了实现全双工模式,使用了两条串行数据线,分别作为输入和输出。此外三星公司的IIS接口提供三种数据传输模式[2]:

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭