资源描述:
《嵌入式linux系统下基于uda芯片的音频驱动程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式
2、Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计第29卷第4期2012年4月计算机应用与软件ComputerApplicationsandSoftwareVoI_29No.4Apr.2
3、012嵌入式Linux系统下基于UDA1341芯片的音频驱动程序设计霍燃高丽萍陈庆奎(上海理工大学光电信息与计算机工程学院上海200093)摘要论述嵌入式Linux系统基于UDA1341芯片的音频驱动程序设计方法.该方法以UDA1341音频芯片及IIS(Inter—ICSound)总线为硬件架构,以OSS(OpenSoundSystem)模型为软件基础,可以方便地扩充到其他应用平台.以实验证明了该方法的有效性.关键词嵌入式LinuxUDA1341IIS总线OSS模型音频驱动中图分类号TP368.1
4、文献标识码AAUDIoDIUVERPRoGRAMMINGBASEDoNUDA1341FOREMBEDDEDLINUXSYSTEMHuoRanGaoLipingChenQingkui(SchoolofOptical-ElectricalandComputerEngineering,Un~rsityofShanghaiforScienceandTechnology,Shanghai200093,China)AbstractThepaperdiscussesanaudiodriverprogrammin
5、gdesignapproachbasedonUDA1341chipforembeddedLinuxsystem.Thismethodmakesuse0fUDA1341audiochipandIISbusasthehardwarearchitectureandOSSmodelasthesoftwarefoundation.Itcanbeextendedtootherapplicationplatformsconveniently.Theeffectivenessoftheapproachisveri
6、fiedwithexperiment.KeywordsEmbeddedLinuxUDA1341IISbusOSSmodelAudiodriver0引言音频系统是嵌入式系统应用中的一个重要组成部分,广泛应用在车载GPS导航,智能手机,DV摄像机,智能家居和公共场所的多媒体系统中.与传统的音频系统相比较,嵌入式音频系统具有操作简单,成本低廉,能有效地控制功耗并大幅提高产品可靠性等特点.但要实现这些功能,系统开发和设计的难度也相应地增大.嵌入式音频系统包括硬件部分和软件部分.本文所讨论的系统在硬件上使用
7、的基于内部集成电路声音IIs¨总线的音频系统体系结构.软件部分主要是以开放式声音系统OSS模型为基础实现嵌入式Linux下的各种音频功能的驱动程序.本文以UDA1341TS音频编码解码芯片为例,讨论了音频驱动程序设计方法,而驱动程序的实现主要依赖于音频总线接口,相应硬件的工作原理以及在嵌入式Linux下设备管理方式和驱动程序的体系结构.1IIS总线协议.通过该协议嵌入式处理器(如$3C2410)就可以与外部的音频芯片(UDA1341TS)进行数据传输.IIS总线接口通常用5根线来与外部芯片进行连接
8、(如图1所示).它们是:?I2sDI一串行数据输入线.?I2sDO一串行数据输出线.?scLK一串行数据提供位时钟.?LRCLK一切换左右声道数据帧.?MCLK一同步时钟.s(KU一音频I2S啪总线控制器,编解码芯片SDItJD五34lTS1M(:LK图1uS总线连接基于ARM9的三星$3C2410微处理器内置了IIS总线接口可直接与外音频芯片UDA1341TS的IIS接口相连接.为了使引脚个数尽可能少,$3C2410只使用了四条线引与UDA1341TS芯片相连:串行数据输入线(I