嵌入式系统中的IIS音频接口技术.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【Word版本下载可任意编辑】 PAGE 1 - / NUMPAGES 1 嵌入式系统中的IIS音频接口技术 第3种UAM模式,即统一音频模式(Unified AudioModel),在开发WinCE4.2时,要增加对DirectSound的支持,而且有一些音频设备是支持硬件mixer的,对此使用UAM是很好的选择。 本测试采用MDD/PDD的驱动构造,下面讲述本驱动的关键点。 2.1 DMA控制及驱动 通俗地讲,DMA(直接内存存取)不需要CPU干扰也不消耗CPU资源,可以把音频数据自动地从系统总线搬到IIS总线上;如果音频平均按采样频率44.1 kHz、16位字长、左右2声道计算,码流为1.411 Mbps,通常在1~3Mbps,所以采用DMA传输十分必要。 2.2 时钟配置 只要位时钟和采样时钟能匹配好,IIS数据格式主从一致,DMA配置好,音频就可以工作了。 IIS数据格式主要分3种:左对齐、右对齐、IIS格式。声音听起来“怪怪地”,就是数据格式不对。频率计算方法如下表1所列。 IIS主设备时钟频率可以通过采样频率来选择。IIS主设备时钟频率是由IIS预分频器产生的(IIS主设备时钟频率=MCLK/预分频器值),因此必须选择合适的预分频器的值和CODECLK的采样频率类型(256或者384fs),才能获得合适的IISLRC采样频率(IISLRCK频率=IIS主设备时钟频率/CODECLK的采样频率类型);串行位采样频率类型(16/32/48fs)可以通过配置每个通道的串行位数和CODECLK采样频率类型来完成,它们之间的关系如下表2所列。 如晶振频率为16.934 4 MHz,通过384分频为44.1kHz(采样频率就是这么来的)。 位时钟频率=采样频率×数据位×2=44.1 kHz×16×2=1.411 MHz 对于其他频率的晶振或是来自于总线的时钟频率,就要计算出IISC0N中的分频系数了,以限度拟合CODECLK。 2.3 CODEC控制 目前有SPI、I2C和L3三种总线控制CODEC。L3总线(L3MODE、L3CLOCK、L3DATA)都是由通用的I/O端口来控制的。其中L3接口实际上是一种串行接口,它由3根信号线组成,完成处理器和C0DEC之间的数据和控制信号交换。UDAl341TS就是采用L3接口的。 L3DATA:处理器接口数据线。 L3MODE:处理器接口模式信号线。 L3CLOCK:处理器接口时钟信号线。 三种控制方式中以I2C为常见。其中I2C又分为存放器方式和I/O模拟方式两种,I/O模拟方式的可移植性好,仅I/0模拟方式的I2C驱动又可分为8位、9位、16位,以及是否带子地址、是否可以连读连写、是否要兼容SCCB总线。 2.4 音量控制节点 使用音量调节的地方较多。图2是音量控制节点的一般模型。 ①处的增益由播放器的音量控制功能决定,是0dB。也就是说,多只能复原出原信号强度。 ②和③处的增益由Coded IC自身控制,WM8731没有产生增益功能,②处容易引入信号失真,一般置为O dB,codec加大音量时主要在③处提高增益。 ④、⑤处由功放决定,也是O dB,便携式功放通常是电流型,靠放大电流去推动扬声器。 ①+②+③三处的增益和超过O dB时,1 kHz的信号就会产生失真,但是大部分音乐的强度都小于1 kHz测试方波时的强度,所以这三项的和可以比O dB略大,但不能太大,否则会引起信号失真。 a.应用程序通过调用waveOutSetVolume,与手工在控制面板中调节音量等效。 b.调节MediaPlay播放器音量时,通过消息跟踪可以判断是否改变了①处的增益,即ARM的DSP数字输出增益。 c.调节控制面板里的音量时,会发现CODEC的功放存放器值也会改变。猜想是通过IIS总线实现控制相关存放器,因为在IoControl消息中没有发现通过I2C改写任何存放器。 通过分析调整音量的方法,有图2所示的5个节点可控制,目的是音量失真:让①处输出增益的情况下,②处PCM Volume置为0 dB(此处放大容易引入失真),功放置时便能获得不失真音量了;如果想再增大音量只能牺牲失真度了,人耳多接收10%THD(Total Hamonic Distortion,总谐波失真),此种情况下主要靠调节③处的增益。 3 提高音量的有效方法 ①在C0DEC与功放不可更改的前提下,选择合适的喇叭至关重要(不同

文档评论(0)

183****5020 + 关注
实名认证
文档贡献者

本账号部分文档来源于互联网和内部收集,仅用于学习交流,版权为原作者所有;文档内容纯属来自网络意见,与本账号立场无关。涉及政治言论一律相应删除,请大家监督;请下载试用后二十四小时内删除。

1亿VIP精品文档

相关文档