Linux音频驱动与MP3播放器开发详解
1. 音频相关标准与技术
在音频领域,存在着多种标准和技术。其中,I2S规格是飞利浦开发的编解码器接口标准,可从www.nxp.com/acrobat_download/various/I2SBUS.pdf下载。嵌入式设备常使用I2S将音频数据发送到编解码器,而编解码器的I/O寄存器则通过I2C总线进行编程。
AC’97在支持的通道数量和比特率方面存在限制。英特尔的新型南桥芯片组采用了高清(HD)音频技术,提供了更高质量的环绕声和多流功能。
2. Linux音频子系统
在Linux系统中,Advanced Linux Sound Architecture(ALSA)是2.6内核中首选的音频子系统。而Open Sound System(OSS)作为2.4内核中的音频层,现已过时。为了帮助从OSS过渡到ALSA,ALSA提供了OSS仿真功能,允许符合OSS API的应用程序在ALSA上无改动运行。
Linux音频框架(如ALSA和OSS)使音频应用程序独立于底层硬件,就像AC’97和I2S等编解码器标准避免了为每个声卡编写单独的音频驱动程序。
Linux音频子系统的组成部分如下:
- 声音核心 :是一个代码库,包含可供Linux音频层其他组件使用的例程和结构。它提供了一定程度的间接性,使音频子系统中的每个组件相互独立,并在向高级应用程序导出ALSA API方面发挥重要作用。例如,/dev/snd/ 设备节点由ALSA核心创建和管理,如/dev/snd/controlC0用于控制音量增益等,/dev/snd/pcmC0D0p
超级会员免费看
订阅专栏 解锁全文
720

被折叠的 条评论
为什么被折叠?



