ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:103.04KB ,
资源ID:2883241      下载积分:6 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2883241.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(IIS总线的嵌入式音频专业系统设计.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

IIS总线的嵌入式音频专业系统设计.doc

1、基于IIS总线嵌入式音频系统设计 嵌入式音频系统广泛应用于GPS自动导航、PDA、3G手机等嵌入式领域,但现在中国在这方面研究较少。音频系统设计包含软件设计和硬件设计两方面,在硬件上使用了基于IIS总线音频系统体系结构。IIS(Inter-IC Sound bus)是菲利浦企业提出串行数字音频总线协议。现在很多音频芯片和MCU全部提供了对IIS支持。    在软件上,作为一个功效复杂嵌入式系统,需要有嵌入式操作系统支撑。Linux是一个源代码开放类UNIX系统,因为其含有内核可裁剪性,且提供对包含ARM、PPC在内多个嵌入式处理器支持,所以广泛应用于嵌入式高端产品中。即使Linux提供

2、了众多API来降低驱动程序制作复杂度,不过因为音频应用对实时性有很高要求,且需要处理数据量较大,所以必需合理分配资源,使用适宜算法。本文针对三星企业S3C44B0 ARM处理器结构了基于IIS音频系统,并介绍了该音频系统基于Linux2.4.0内核驱动程序结构技术。    1 硬件体系结构 IIS总线只处理声音数据。其它信号(如控制信号)必需单独传输。为了使芯片引出管脚尽可能少,IIS只使用了三根串行总线。这三根线分别是:提供分时复用功效数据线、字段选择线(声道选择)、时钟信号线。    在三星企业ARM芯片中,为了实现全双工模式,使用了两条串行数据线,分别作为输入和输出。另外三星企业I

3、IS接口提供三种数据传输模式:    ·正常传输模式。此模式基于FIFO寄存器。该模式下CPU将经过轮询方法访问FIFO寄存器,经过IISCON寄存器第七位控制FIFO。    ·DMA模式。此模式是一个外部设备控制方法。它使用窃取总线控制权方法使外部设备和主存交换数据,从而提升系统吞吐能力。    在三星企业ARM芯片中有4个通道DMA控制器用于控制多种外部设备,其中IIS和其它串行外设共用两个桥联DMA(BDMA)类型DMA通道。经过设置CPUIISFCON寄存器能够使IIS接口工作在DMA模式下。此模式下FIFO寄存器组控制权掌握在DMA控制器上。当FIFO满时,由DMA控制器对F

4、IFO中数据进行处理。DMA模式选择由IISCON寄存器第四和第五位控制。    ·传输/接收模式。该模式下,IIS数据线将经过双通道DMA同时接收和发送音频数据。本系统使用该数据传输模式。    图1是44B0X芯片和菲利浦企业UDA1341TS音频芯片连接示意图。    在这个体系结构中,为了实现全双工,数据传输使用两个BDMA通道。数据传输(以回放为例)先由内部总线送到内存,然后传到BDMA控制器通道0,再经过IIS控制器写入IIS总线并传输给音频芯片。通道1用来录音。    三星企业BDMA控制器没有内置存放区域,在驱动程序中必需为音频设备分配DMA缓存区。缓存区地址在通道

5、DMA控制器地址寄存器中设置。    UDA1341TS芯片除了提供IIS接口和麦克风扬声器接口,还提供L3接口控制音量等。L3接口分别连到S3C44B03个通用数据输出引脚上。    2 音频设备底层软件设计    嵌入式系统硬件设备种类繁多,且缺乏PC中标准体系结构,所以必需为多种设备编写驱动程序。驱动程序关键任务是控制音频数据在硬件中流动,并为音频应用提供标准接口。因为嵌入式系统资源有限,且处理器能力不强,所以在音频设备驱动程序设计中,合理分配系统资源是难点。    需要注意是,在三星企业ARM芯片中,I/O设备寄存器作为内存空间一部分,能够使用一般内存访问语句读写I/O寄存器,

6、进而控制外部设备。这是该嵌入式系统和传统基于Intel处理器PC最大不一样。    2.1 驱动程序功效 设备驱动程序中需要完成任务包含:对设备和对应资源初始化和释放;读取应用程序传送给设备文件数据并回送应用程序请求数据。这需要在用户空间、内核空间、总线及外设之间传输数据。    2.2 驱动程序构架 Linux驱动程序中将音频设备按功效分成不一样类型,每种类型对应不一样驱动程序。UDA1341TS音频芯片提供以下功效:    ·数字化音频。这个功效有时被称为DSP或Codec设备。其功效是实现播放数字化声音文件或录制声音。      ·混频器。用来控制多种输入输出音量大小,在本系

7、统中对应L3接口。    在Linux设备驱动程序将设备看成文件,在驱动程序中将结构file_operations中各个函数指针和驱动程序对应例程函数绑定,以实现虚拟文件系统VFS对逻辑文件操作。数字音频设备(audio)、混频器(mixer)对应设备文件分别是/dev/dsp和/dev/mixer。    2.3 设备初始化和卸载 /dev/dsp驱动设计关键包含:设备初始化和卸载、内存和DMA缓存区管理、设备无关操作(例程)实现和中止处理程序。    在设备初始化中对音频设备相关寄存器初始化,并在设备注册中使用了两个设备注册函数register_sound_dsp() 和 reg

8、iter_sound_mixer()注册音频设备和混频器设备。这两个函数在2.2以上版本内核drivers/sound/sound_core.c文件中实现。其作用是注册设备,得到设备标识,而且实现设备无关操作绑定。在这些注册函数里使用第一个参数全部是struct file_operations类型参数。该参数定义了设备无关接口操作[3]。   设备卸载时使用注销函数。注销时用输入注册时得到设备号即可。在注销时还必需释放驱动程序使用多种系统资源包含DMA、设备中止等。    2.4 DMA缓存区设计和内存管理 在音频设备驱动程序设计中,DMA缓存区设计和内存管理部分最为复杂。因为音频设备有很

9、高实时性要求,所以合理地使用内存能加紧对音频数据处理,并降低时延。    三星企业BDMA控制器没有内置DMA存放区域,在驱动程序中必需为音频设备分配DMA缓存区。这么就能经过DMA直接将需要回放或是录制声音数据存放在内核DMA缓存区中。    为了方便多种物理设备使用DMA资源,在程序中使用strcut s3c44b_DMA数据结构管理系统各个DMA通道资源,图2。每个DMA通道被多个外部设备共用,为各个外设分配DMA缓存区大小和数目可能不一致,全部分配数据块使用DMA缓存数据块DMA_buf管理。各个不一样设备申请数据缓存区形成一个单向链表,每个链表节点包含一个起点字段,存放实际DMA

10、缓存起始位置物理地址。在设备第一次使用DMA时,使用kmalloc函数为DMA_buf分配内存,而且使用consistent_alloc函数为DMA分配实际连续物理缓存区,然后将节点插入队列中。从第二次开始经过缓存区标示符对缓存区进行操作。    内存管理中关键问题是缓存区块设计。常见设计思绪是使用一个缓存区,CPU先对缓存区处理,然后挂起,音频设备对缓存区操作,音频设备处理完后唤醒CPU,如此循环。需要处理大量音频数据音频设备驱动程序,能够使用双缓冲。以录音为例,系统使用缓存2存放音频设备量化好声音,CPU(应用程序)则处理缓存1中声音数据;当Codec设备填充完缓存2,它移向缓存

11、1填充数据,而CPU转向处理缓存2里数据;不停交替循环,图3(a)、 (b)所表示。    使用这种方法处理音频数据,能够提升系统并行能力。应用程序能够在音频工作同时处理传输进来音频数据。    因为实际系统被设计成支持全双工音频系统,所以必需为输入和输出同时分配内存,对应数据结构设计图4所表示。    图4中音频设备缓存控制块管理音频设备缓存区。在控制块中输入/输出缓存指针分别指向输入和输出缓存结构audio_buf,输入输出控制块指针分别指向对应DMA控制块。因为输入输出使用了不一样DMA通道,所以音频设备缓存控制块有两个DMA控制块控制指针。在audio_buf中分

12、别有两个DMA起点字段分别指向双缓存区起始物理地址。缓存区状态字段包含缓存区是否被映射、是否激活、是否暂停等信息。    应用程序处理缓存中数据速度依靠于缓存大小和数据传输速度。比如使用“8kHz/8位/单工”采样方法录音,音频芯片产生64kbps数据流量。假如是两个4K字节缓存,那么应用程序就只有0.5s处理缓存中数据并把它存到Flash芯片中(或传输到其它设备中)。若0.5s内不能处理这些数据,缓存就会溢出。若采取高品质采样,比如使用CD音质采样,那么Codec产生数据速度将达1376kbps,CPU处理音频数据时间就只有23ms。在CPU负载较大情况下,将可能出现数据丢失问题。

13、   为了处理音频应用I/O数据量大问题,最简单易行方法是使用比较大缓存区域。但实际上大缓存区需要更长填充时间,在使用时会出现延时,并可能占用过多CPU资源。为了处理延时问题,使用多段缓存机制。在这种机制下,将可用缓存区分割成若干个相同大小块。对较大缓存区操作转变成对较小缓冲区块操作,在不增加缓存区操作时间情况下提供较大缓存。不一样音频应用,精度不一样,需要缓存大小也不一样。所以在应用程序层上,驱动程序还必需提供接口让应用程序改变块大小和个数。这个接口能够在ioctl中实现。对缓存区块大小控制经过对audio_buf中对应字段设置实现。    使用内存映射(mmap)技术是另一个提升系统性能

14、路径。Linux系统内存空间分为内核空间和用户空间,驱动程序工作在内核空间,并负责在内核空间和用户空间传输数据。音频应用通常数据量比较大,而且有较高质量要求,在驱动程序中还能够使用内存映射深入提升CPU利用率。内存映射经过remap_page_range将分配给DMA缓存区内核空间内存映射到用户空间,用户不需使用copy_to_user和copy_from_user将数据在内核空间和用户空间中拷贝。图4中缓存区状态和缓存区起点两个字段也用于内存映射服务。在实现时因为DMA缓存结构复杂,需要将每个缓存块分别映射。    2.5 设备无关操作 设备无关操作对应于file_operations指

15、向各个例程,它让用户用访问文件方法访问设备。对设备打开和读写是开启程序为用户程序提供最关键接口,分别对应于file_operations中open、read和write例程。在open例程中需要完成任务关键是设备初始化,包含:    ·经过设置IIS寄存器控制音频设备初始化,而且初始化设备工作参数(包含速度、声道、采样宽度);    ·为设备分配DMA通道;    ·依据采样参数计算出缓存内段大小(程序也能够指定缓存内段大小);    当缓存区和DMA设置好后,读写操作关键对缓存操作,对设备操作除了读写操作外,还有音频播放中暂停和继续。这两个操作在ioctl接口中实现,经过对对应IIS总线控制器(IISCON寄存器)操作实现。另外,在对音频操作时还要注意:一次采样得到数据必需一次处理,不然不能正确播放数据。 *注:文章为网上收录供大家共同学习参考之用,并不代表本站意见。如存在版权问题请立即通知我们,我们将立即删除。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服