UClinux下的WAV试验.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UClinux下的WAV试验.doc

实验七 uClinux下的声音设备的使用 一、实验目的 了解S3C44B0提供的IIS总线接口的功能特性,熟悉IIS总线标准,熟悉WAV文件的格式和EV44B0II实验板声音部分的原理,最后通过一个实验程序了解uClinux下声音设备的使用。 二、实验内容 S3C44B0包含一个IIS总线接口,它可以作为连接8位或16位立体声编解码集成电路的接口,IIS总线接口提供内置FIFO的DMA传送模式,可以同时接收和发送,或单独接收和发送。其原理框图如下: 框图说明: BRFC(总线接口,内部寄存器和状态机):控制总线接口逻辑和FIFO访问。 3比特的双分频器:一个作为IIS总线主设备时钟发生器,另外一个作为外部编解码器的时钟发生器。 16字节发送和接收FIFO:发送数据被写入发送FIFO,接收数据从接收FIFO中读出。 主设备串行比特时钟发生器:当S3C44B0工作在主设备模式下,串行比特数时钟从主设备时钟中分频得到。 声道发生器和状态器:该状态机生成和控制IISCLK和IISLRCK。 16比特移位寄存器:该移位寄存器在发送数据时将数据由串变并,接收数据时做相反的动作。 IIS总线的组成: IIS总线由4根信号线组成,串行数据输入(IISDI),串行数据输出(IISDO),左右声道选择(IISLRCK)和串行比特时钟(IISCLK)。发出IISLRCK和IISCLK的设备是主设备。 串行数据的发送是MSB(most significant bit)优先。因为MSB的位置是固定的,即最低比特位,而LSB是随设备字长度不同而浮动变换的,所以MSB优先可以在主从设备字宽度不同时保证兼容性,发送设备可以不关心接收设备可以处理多少比特,接收设备不关心发送设备将要发送多少数据。 在IIS-BUS格式下,发送器在IISLRCK极性变换的下一个时钟周期发送数据的MSB,而在MSB(LEFT) JUSTIFIED格式下,MSB在IISLRCK极性变换的同时发送。其时序图如下: IIS总线接口可以发送和接收采样量化过的声音数据,它为外部的CODEC芯片提供工作主时钟,数据收发时钟和左右声道选择信号。具体的采样量化工作留给CODEC芯片完成。在接收方向,CODEC将模拟声音采样量化;在发送方向,CODEC将声音数据还原为模拟声音。EV44B0II使用的CODEC芯片是UDA1341TS。 EV44B0-II配置S3C44B0的PORT C的bit0~3为IIS的IISLRCK,IISDO,IISDI和IISCLK,以ENDIAN(复用CODEC CLOCK)脚为CODECCLK,并用PORT B bit4,bit5,PORT A的bit5为I/O口输出,控制UDA1341,然后结合1341的特性,连接MICROPHONE和耳麦插空,实现了整个电路。 Figure 1-1. UDA1341TS connection with S3C44B0X UDA1341和IIS的驱动程序,位于/linux/drivers/char目录下。它们是ev44b0_sound.c、ev44b0_sound.h、l3-ev44b0.c。 WAV文件格式是微软公司开发的一种声音文件格式,它符合 PIFF Resource Interchange File Format 文件规范,用于保存WINDOWS平台的音频信息资源,被WINDOWS平台及其应用程序所支持。.WAV格式支持MSADPCM、CCITT A LAW等多种压缩算法,支持多种音频位数、采样频率和声道,标准格式的WAV文件和CD格式一样,也是44.1K的采样频率,速率88K/秒,16位量化位数,WAV格式的声音文件质量和CD相差无几,也是目前PC机上广为流行的声音文件格式,几乎所有的音频编辑软件都“认识”WAV格式。 硬件:EV44b0 ARM评估板、PC机。 软件:PC机操作系统win2K、Hitools for uClinux集成开发环境、uClinux软件包(EV44b0评估板)。 四、程序说明 该实验程序由sound.c和wave.h组成,sound.c中包含了*.wave文件的处理,和sound驱动的使用;wave.h中包含了wave文件的宏定义。 附源程序: #include stdio.h #include stdlib.h #include sys/types.h #include sys/stat.h #include fcntl.h #include linux/sound.h #include linux/soundcard.h #include wave.h #define WAVEFILE /bin/test.wav #def

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档