欢迎来到天天文库
浏览记录
ID:34372179
大小:414.59 KB
页数:4页
时间:2019-03-05
《嵌入式linux系统下基于uda1341芯片的音频驱动程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第29卷第4期计算机应用与软件Vol.29No.42012年4月ComputerApplicationsandSoftwareApr.2012嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计霍燃高丽萍陈庆奎(上海理工大学光电信息与计算机工程学院上海200093)摘要论述嵌入式Linux系统基于UDA1341芯片的音频驱动程序设计方法。该方法以UDA1341音频芯片及IIS(Inter-ICSound)总线为硬件架构,以OSS(OpenSoundSystem)模型为软件基础,可以方便地扩充到其他应用平台。以实验证明了该方法的有效
2、性。关键词嵌入式LinuxUDA1341IIS总线OSS模型音频驱动中图分类号TP368.1文献标识码AAUDIODRIVERPROGRAMMINGBASEDONUDA1341FOREMBEDDEDLINUXSYSTEMHuoRanGaoLipingChenQingkui(SchoolofOptical-ElectricalandComputerEngineering,UniversityofShanghaiforScienceandTechnology,Shanghai200093,China)AbstractThepaperdiscus
3、sesanaudiodriverprogrammingdesignapproachbasedonUDA1341chipforembeddedLinuxsystem.ThismethodmakesuseofUDA1341audiochipandIISbusasthehardwarearchitectureandOSSmodelasthesoftwarefoundation.Itcanbeextendedtootherapplicationplatformsconveniently.Theeffectivenessoftheapproachis
4、verifiedwithexperiment.KeywordsEmbeddedLinuxUDA1341IISbusOSSmodelAudiodriver协议。通过该协议嵌入式处理器(如S3C2410)就可以与外部的0引言音频芯片(UDA1341TS)进行数据传输。IIS总线接口通常用5根线来与外部芯片进行连接(如图1所示)。它们是:音频系统是嵌入式系统应用中的一个重要组成部分,广泛I2SDI—串行数据输入线。应用在车载GPS导航、智能手机、DV摄像机、智能家居和公共I2SDO—串行数据输出线。场所的多媒体系统中。与传统的音频系统相比较,
5、嵌入式音频SCLK—串行数据提供位时钟。系统具有操作简单,成本低廉,能有效地控制功耗并大幅提高产LRCLK—切换左右声道数据帧。品可靠性等特点。但要实现这些功能,系统开发和设计的难度MCLK—同步时钟。也相应地增大。嵌入式音频系统包括硬件部分和软件部分。本文所讨论的[1]系统在硬件上使用的基于内部集成电路声音IIS总线的音频系统体系结构。软件部分主要是以开放式声音系统OSS模[2]型为基础实现嵌入式Linux下的各种音频功能的驱动程序。[3]本文以UDA1341TS音频编码解码芯片为例,讨论了音频驱动图1IIS总线连接程序设计方法,而
6、驱动程序的实现主要依赖于音频总线接口、相[4]基于ARM9的三星S3C2410微处理器内置了IIS总线接应硬件的工作原理以及在嵌入式Linux下设备管理方式和驱动口可直接与外音频芯片UDA1341TS的IIS接口相连接。为了使程序的体系结构。引脚个数尽可能少,S3C2410只使用了四条线引与UDA1341TS芯片相连:串行数据输入线(IISDI)、串行数据输出线(IISDO)、1IIS总线收稿日期:2011-06-28。国家自然科学基金项目(60203011);上海IIS总线也常被写作为I2S,是工业和嵌入式领域常采用的市教委晨光计划项目(
7、10CG49);上海高校选拔培养优秀青年教师科研专音频总线之一,它是Philips公司提出的串行数字音频总线传输项基金项目(SLG1007)。霍燃,硕士生,主研领域:嵌入式系统开发。第4期霍燃等:嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计17串行数据位时钟(IISCLK)、左右声道选择(IISLRCK)。具体引而实现对控制信号的传输如图2所示。脚连接方式如图2所示。2.2音频数据的传输CPU与外部芯片进行数据传输的方式有两种:一种是传统的中断方式,另一个是直接存储器存取DMA方式。音频数据的传输可以通过先入先出FIFO的
8、寄存器队列来完成.但是由于S3C2410处理器的音频FIFO寄存器队列只有64字节,如果CPU采用中断的方式来为FIFO队列填充数据,不但很难保证音频播放的连续性,而且还会由于C
此文档下载收益归作者所有