1、 1 目录目录 摘要 1 第一章 绪论. 2 1.1 课题研究的背景. 2 第二章 系统设计. 2 2.1 嵌入式系统 3 2.2 嵌入式系统的组成 3 2.3 嵌入式系统的开发流程 4 2.4 操作系统的选择 5 第三章 硬件架构. 5 3.1 S3C2440 处理器简介. 5 3.2 电源接口 6 3.3 IIS 音频数据接口. 7 3.4 AC97 接口 8 第四章 AC97 音频驱动及实现 . 10 4.1 设备的初始化 . 11 4.2 Mixer 驱动 . 11 4.3 Dsp 驱动 . 12 第五章 总结 12 参考文献. 13 附录 1 mixer.c . 14 附录 2 ds
2、p.c . 17 1 基于基于 S3C2440S3C2440 的的 AC97AC97 音频设备电路及驱动程序设计音频设备电路及驱动程序设计 摘要摘要 嵌入式操作系统 ARM-Linux 的应用已经越来越广泛,但是 Linux 系统本身并 没有对种类繁多的硬件设备都提供现成的驱动程序, 特别是由于工程应用中的 灵活性就需开发一套适合于自己产品的设备驱动, 这使得嵌入式 Linux 设备驱 动程序的开发在整个嵌入式系统开发周期中占据很大的比例。本文针对三星的 S3C2440 嵌入式 ARM 微处理器, 介绍了在 Linux 操作系统下, 对 S3C2440 微处理 器内部 AC97 音频设备电路及
3、驱动程序设计,通过编写编写 AC97 音频驱动程序, 总结出一种在嵌入式 Linux 操作系统下快速方便的开发驱动程序的方法。 关键词关键词: :嵌入式系统; Linux系统;设备驱动;AC97音频 2 第一章 绪论 近年来随着微处理器技术、DSP 技术、多媒体编解码技术以及嵌入式技术的 发展,多媒体娱乐终端已经成为消费性电子(Consumer Electronic,CE)产品的热 点。视频和音频都是多媒体娱乐的重要组成部分,尤其是数字音频信号。在“十 一五”规划建议中,数字化音频信息产业群被列为重点培育对象。 1.1 课题研究的背景 嵌入式设备在生活中随处可见,如手机、MP3 播放器、家用电
4、器、手持通信 设备、信息终端、仪器仪表、汽车、航天航空、军事装备、制造工业、过程控制、 电子表等,它以其独有的嵌入、专用特点,备受系统开发者的青睐。嵌入式系统的 软件、硬件都是可裁剪的,特别适用于对功能、可靠性、成本、体积、功耗有严 格要求的场合。开源操作系统Linux 具有丰富的开发工具,大量文档和广泛的技 术支持;支持主流的硬件设备和最新的硬件技术,全球的Linux 爱好者编写了大 量的驱动程序,使得Linux非常容易移植;庞大的体系给学习内核带来了很大困扰, 通用的Linux 不具备硬实时性。多媒体已经进入到人民生活的方方面面,视频与 音频设备迅速发展,决定了编写相应的Linux 驱动代
5、码的必要性。纵观声卡的发 展历史,我们不难发现,主线一直是随着声道技术以及采样规格的发展而发展。 UDA1341TS 编解码芯片属于16 位/44.1 kHz 声卡芯片之一,因其简单实用,价格 便宜,又可以满足嵌入式系统对声音的一般处理要求而广泛使用,所以为其编写 驱动程序是很有必要的。Linux 内核主要支持OSS 和ALSA 两种声卡驱动框架, 相比于OSS,ALSA 驱动框架可以完美的处理系统中的多个声音设备,还专门为简 化应用程序的编写提供了相应的函数库alsa-libs,因此Linux2.6 内核采用了 ALSA 驱动框架体系。 第二章 系统设计 嵌入式系统具有广阔的应用前景,可以用
6、于不同的领域,而开源的Linux 操 作系统在嵌入式领域快速发展,两者结合的研究是一个很好的课题,具有重要的 3 社会和商业价值。 2.1 嵌入式系统 嵌入式系统在广义上说就是计算机系统,它包括除了以通用为目的计算机之 外的所有计算机。 从便携式音乐播放器到航天飞机的实时控制子系统都能见到嵌 入式系统的应用。与通用计算机系统可以满足多种任务不同,嵌入式系统只能完 成某些特定目的的任务。但有些也有实时性能的制约因素必须得到满足的原因, 如安全性和可用性。除此之外其他功能可能要求较低或没有要求,使系统的硬件 得以简化,以降低成本。 对于大批量生产的系统来说,降低成本通常是设计的首要 考虑。嵌入式系统通常需要简化去除不需要的功能以降低成本,设计师通常选择 刚刚满足所需功能的硬件使目标最小化低成本的实现。 嵌入式系统的定义:嵌入式系统是指以应用为中心,以计算机技术为基础,软 件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。它主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及 用户应用软件等部分组成。它具有“嵌入性” 、 “专用性”与“计算机系统”的