- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于IIS叩那度胧揭羝迪低成杓
基于IIS 总线的嵌入式音频系统设计
杭州浙江大学计算机科学与技术学院(310027) 徐 睿 李 斐 王申康
摘要:音频系统设计包括软件设计和硬件设计两方面,在硬件上使用了基于IIS总线的音频系统
体系结构。IIS(Inter-IC Sound bus)又称I2S,是菲利浦公司提出的串行数字音频总线协议。目
前很多音频芯片和MCU都提供了对IIS的支持。而嵌入式音频系统可广泛应用于GPS自动导航、
PDA、3G手机等嵌入式领域,但目前国内在这方面的研究较少。文中对基于IIS总线嵌入式音
频的系统做了简要的介绍。
关键词:IIS总线;嵌入式音频;UDAl341TS;DMA模式;内存映射
在软件上,作为一个功能复杂的嵌入式系统,需要有嵌入式操作系统支撑。Linux是一个源代码
开放的类UNIX 系统,由于其具有内核可裁剪性,且提供对包括ARM、PPC在内的多种嵌入式处理
器的支持,所以广泛应用于嵌入式高端产品中。虽然Linux提供了众多 API来降低驱动程序制作
的复杂度,但是由于音频应用对实时性有很高的要求,且需要处理的数据量较大,所以必须合理
分配资源,使用合适的算法。本文针对三星公司的S3C44B0 ARM处理器构造了基于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 中标准的体系结构,所以必须为各种设备编写驱动程
序。
驱动程序的主要任务是控制音频数据在硬件中流动,并为音频应用提供标准接口。由于嵌入式系
统资源有限,且处理器能力不强,所以在音频设备的驱动程序设计中,合理分配系统资源是难点。
需要注意的是,在三星公司的ARM芯片中,I/O设备的寄存器作为内存空间的一部分,可以使
用普通的内存访问语句读写I/O寄存器,进而控制外部设备。这是该嵌入式系统与传统的基于
Intel处理器的PC最大的不同。
2.1 驱动程序功能
设备驱动程序中需要完成的任务包括:对设备以及对应资源初始化和释放;读取应用程序传送给
设备文件的数据并回送应用程序请求的数据。这需要在用户空间、内核空间、总线及外设之间传
输数据。
2.2 驱动程序构架
Linux驱动程序中将音频设备按功能分成不同类型,每种类
您可能关注的文档
- 地震、火灾中如何求生存?.ppt
- 地震数据数据字典编写指南.pdf
- 地震后生计恢复.pdf
- 场景一:一位中学生拿着考分不理想的试卷,.ppt
- 址山镇址山小学 黄加钦. 两.ppt
- 坚定不移地加强粮食综合生产能力建设.doc
- 坚持以人为本实施项目带动.doc
- 坚定不移推进施工企业信息化.ppt
- 坚持以科学发展观为统领促进人事工作科学发展.pdf
- 坚持原则遵循程序再上新高争创一流.doc
- 护理学相关知识复习测试卷共三套.doc
- 护理学相关知识复习试题含答案(3套).doc
- 2025届高考语文复习:补写句子 课件.pptx
- 气压带和风带对气候的影响(第1课时)(教学设计).docx
- 气压带和风带对气候影响教学设计2024-2025学年高中地理人教版(2019)选择性必修1.docx
- 《故都的秋》课件 2024-2025学年统编版高中语文必修上册.pptx
- 《屈原列传》课件 2024-2025学年统编版高中语文选择性必修中册.pptx
- 《巫溪家乡文化》课件-2024-2025学年高一语文同步备课课件(统编版必修上册).pptx
- 《苏武传》课件 2023-2024学年统编版高中语文选择性必修中册.pptx
- 郑州中控ZKTime8.3 WEB考勤软件培训文档.pptx
文档评论(0)