论文部分内容阅读
随着科技的发展和进步,无线通信已经融入人们的生活,Wi-Fi以其带宽大、传输距离远、成本低等特点成为了主流的短距离无线通信技术。音频系统丰富了人们与智能设备的交互,搭载Wi-Fi的智能音频设备抛弃了数据线,具有很大的应用前景。高保真音频系统的一大技术难点是音频驱动,因而设计良好的音频驱动具有较为重要的工程意义。此外,随着半导体工艺的飞速发展,基于SoC的无线音频系统将成为主流。本论文针对高通Wi-Fi SoC音频平台方案,提出了一种基于ASoC架构的驱动设计方法,实现了实时性高、功耗低、可移植性好的嵌入式Linux音频驱动程序。 本文首先介绍了Linux音频系统的基础理论,并设计了系统的整体软硬件架构。分析了音频的A/D转换、常用的数字音频接口、Linux设备驱动模型以及Linux音频驱动程序体系,对ALSA音频驱动架构进行了研究。设计了面向Wi-Fi SoC的嵌入式Linux音频软硬件系统,针对ALSA架构代码复用性差、电源管理不完善的缺点,选择了针对嵌入式设备优化的ASoC架构作为音频驱动架构。然后,研究了ASoC架构驱动中的关键技术:提出了一种将DMA技术与循环链表相结合的DMA内存传输机制,提高了系统的实时性;提出了满足ASoC架构独立性原则的模块化驱动设计方法,提升了驱动的可移植性;设计了ASoC动态音频电源管理部件,降低了系统的功耗开销。在此基础上,对ASoC驱动的整体设计进行了分析,随后分别对编解码器驱动、平台驱动、板卡驱动三个模块进行了设计,阐述了各模块中主要数据结构的设计以及注册流程,最终实现了基于ASoC架构的嵌入式Linux音频驱动。最后,搭建了软硬件测试平台对设计进行了全面的测试。结果表明,该系统音质良好,满足高保真音频系统的实时性要求,在动态音频电源管理机制下系统始终工作于低功耗模式,与普通ALSA架构相比,ASoC驱动的实际编码量减少15%左右,ASoC音频驱动具有实时性高、功耗低、可移植性好的特点。此外,本系统支持“48KHz/24-bit/双声道”高保真无线音频推送功能,已在某国产无线音箱方案中得到了应用。