学位论文 > 优秀研究生学位论文题录展示

基于ARM平台ALSA音频驱动的设计与实现

作 者: 侯智雄
导 师: 杜刚
学 校: 中国地质大学(北京)
专 业: 检测技术与自动化装置
关键词: ALSA 音频芯片 声卡 linux操作系统 设备驱动
分类号: TN912.3
类 型: 硕士论文
年 份: 2013年
下 载: 77次
引 用: 0次
阅 读: 论文下载
 

内容摘要


本论文的主要内容是为一款音频编解码芯片编写ALSA音频驱动,实现对其音频流的控制,硬件平台依附于ARM9体系结构的三星2440CPU加上我们的音频编解码芯片。论文中对我们项目中整个的开发流程进行了介绍,首先介绍了一般嵌入式开发的大概流程及相关概念,其中介绍了本论文中所用到的相关硬件平台,主要是ARM体系架构;软件操作系统选用linux2.6.32,并且分析了linux系统的一系列相关内容,并且说明了开发平台、调试环境的搭建。随后就对我所做的ALSA驱动展开论述,从音频相关的概念主要是音频接口规范I2S开始论述,然后是ALSA的架构分析,最后写了ALSA驱动的实现流程,这部分分为三个重点部分:解码器、平台和机器三部分,实现了这部分就把ALSA的大体结构搭建好,然后就是声卡的具体抽象过程,创建CARD及组件,其中涉及到我们所选用音频芯片的很多寄存器的操作,这样我们的ALSA音频驱动就编写完成。随后是将我们驱动编译进内核中并且通过TFTP将UImage放在开发板上,其中的文件系统选用了已经做好的ramdisk,同理应用程序可执行文件也是通过网络传输。最后是关于论文中驱动的测试环节,从应用层调用ALSA驱动操作硬件需要使用中间的ALSALib层,这就是alsa的作用,提供统一的接口使不同的音频芯片可以在不同的平台使用而不需要从新编写驱动代码。测试驱动接口需要调用ALSAutiles工具,其中编译好后会有aplay、amixer等测试可执行文件,这样我们可以设置不同的参数来完成不同的声卡操作功能及调用驱动的不同接口,这样就可以测试我为音频芯片所编写驱动成功与否或是有什么BUG。测试结果显示声卡驱动接口调用成功,并且功能实现正常,达到为音频芯片提供ALSA的支持。

全文目录


摘要  5-6
ABSTRACT  6-11
第1章 绪论  11-14
  1.1 课题的研究背景  11-12
  1.2 论文课题国内外发展及其研究现状  12
  1.3 课题的提出  12-13
  1.4 论文的组织结构  13
  1.5 本章小结  13-14
第2章 嵌入式开发  14-30
  2.1 嵌入式系统概述  14-16
    2.1.1 嵌入式系统定义  14-15
    2.1.2 嵌入式系统特点  15
    2.1.3 嵌入式发展历史  15-16
  2.2 嵌入式开发组成  16-17
  2.3 ARM 处理器硬件平台  17-25
    2.3.1 ARM 体系结构简介  18-20
    2.3.2 ARM 9 体系结构特点  20-22
    2.3.3 硬件平台处理器接口  22-25
  2.4 嵌入式软件开发流程  25-29
    2.4.1 嵌入式系统开发概述  25-26
    2.4.2 嵌入式软件开发概述  26-27
    2.4.4 linux 操作系统  27-29
  2.5 本章小结  29-30
第3章 基于 linux 系统的嵌入式平台搭建  30-39
  3.1 宿主机 - 目标机开发模式  30-31
    3.1.1 交叉编译环境  30-31
    3.1.2 交叉调试环境  31
  3.2 Bootloader  31-36
    3.2.1 U-Boot 特点  33
    3.2.2 U-Boot 功能  33
    3.2.3 U-Boot 移植流程  33-36
  3.3 硬件平台音频芯片  36-38
  3.4 本章小结  38-39
第4章 音频系统及 ALSA 架构  39-47
  4.1 ALSA 系统  39-40
    4.1.1 音频接口规范 I2S  39-40
    4.1.2 PCM 音频接口  40
    4.1.3 AC'97/AC-Link 规格  40
  4.2 音频相关概念  40-42
    4.2.1 声音信号数字化过程  40-41
    4.2.2 声道  41-42
  4.3 AL S A 层次结构  42-46
  4.4 本章小结  46-47
第5章 ALSA 音频驱动实现  47-66
  5.1 Linux 设备驱动架构  47-48
  5.2 音频芯片 ALSA 驱动实现  48-55
    5.2.1 解码器相关驱动  50-51
    5.2.2 平台驱动  51-52
    5.2.3 机器驱动  52-54
    5.2.4 三者关系  54-55
  5.3 ALSA 驱动中 Card 及其组件创建管理的实现  55-65
    5.3.1 创建 card  56
    5.3.2 创建组件  56-65
  5.4 本章小结  65-66
第6章 ALSA 驱动移植及测试  66-74
  6.1 芯片相关代码移植  66
    6.1.1 Makefile 移植  66
    6.1.2 音频芯片代码移植  66
  6.2 移植声卡驱动  66-67
    6.2.1 Makefile 移植  66-67
    6.2.2 KConfig 移植  67
    6.2.3 代码移植  67
  6.3 配置编译 linux 内核  67-70
  6.4 移植 ALSA 库及工具  70-72
    6.4.1 ALSA Lib 编译  70-71
    6.4.2 ALSA Util 编译  71
    6.4.3 ALSA 库和工具移植入嵌入式平台  71-72
  6.5 ALSA 驱动的测试及结论  72-73
  6.6 本章小结  73-74
第7章 总结与展望  74-76
致谢  76-77
参考文献  77-79
个人简历  79

相似论文

  1. 基于虚拟仪器的音频信号分析系统设计,TP274
  2. 嵌入式实时操作系统MQX的内核分析及应用研究,TP316.2
  3. 嵌入式Linux设备驱动程序设计与实现,TP316.81
  4. 基于Linux平台的Ad hoc网络应用与设计实现,TN929.5
  5. 基于PCI总线的双片SoC协作机制设计与实现,TN47
  6. 基于Xen的声音设备虚拟化的研究,TP391.9
  7. 基于MIPS无线通讯设备驱动实现技术,TP368.1
  8. 家庭信息终端中视频编码模块的设计与实现,TN919.81
  9. PCI Express接口相变存储卡的设计,TP333
  10. 基于Android平台Wi-Fi模块的设计与实现,TP311.52
  11. 基于嵌入式Linux的电磁环境模拟器的设计与实现,TN955
  12. 基于ARM强脉冲光子治疗仪的控制与检测技术研究,TH784
  13. 基于LabVIEW的职校虚拟电工电子实验设计与实现,TP274
  14. 虚拟仪器实验室的设计与实现,TP274
  15. 基于IP网络的嵌入式音频系统设计与实现,TN919.8
  16. 基于PCI总线的数字GPS接收机的研制,P228.4
  17. 基于ARM9的汽车尾气检测系统研究,TP368.1;TP274
  18. CompactPCI总线数据采集卡在QNX系统下实时采集功能的实现,TP274.2
  19. 基于Linux的USB网络设备驱动程序的研究,TP393.05
  20. 基于嵌入式Linux的扫描控制软件系统设计与实现,TP311.52
  21. 嵌入式操作系统VxWorks下设备驱动程序的研究与设计,TP316.2

中图分类: > 工业技术 > 无线电电子学、电信技术 > 通信 > 电声技术和语音信号处理 > 语音信号处理
© 2012 www.xueweilunwen.com