Responsive image
博碩士論文 etd-0822106-130523 詳細資訊
Title page for etd-0822106-130523
論文名稱
Title
嵌入式系統上之進階Linux音效平台
Advanced Linux Sound Architecture for Embedded Systems
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
69
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2006-06-22
繳交日期
Date of Submission
2006-08-22
關鍵字
Keywords
音效平台、嵌入式系統
ALSA, Linux, Embedded Systems
統計
Statistics
本論文已被瀏覽 5697 次,被下載 0
The thesis/dissertation has been browsed 5697 times, has been downloaded 0 times.
中文摘要
近年來,由於Linux結合了可靠性高,效能佳,有良好的工具,具有遷移性,組態自由度高等優點,已經有愈來愈多廠商採用Linux做為電子產品內部的作業系統,然而影像,聲音是其中相當重要的應用,ALSA (Advanced Linux Sound Architecture)是一個Linux kernel在 2.6 版之後提供給音效卡的一個界面,讓市售的音效卡晶片,能更快速對Linux提供支援。
Linux從很早之前就支援聲音及影像,而Open Sound System (OSS)在對聲音的支援方面,扮演了很重要的角色。OSS是一個在UNIX及類UNIX系統上的音效卡驅動程式,但OSS有個大缺點就是對音效卡的免費支持太少。
為了對現代的音效卡有更好的支援,Jaroslav Kysela 等人開始建構一個新的音效平台,Jaroslav Kysela 一開始只是為他的音效卡寫一個驅動程式,最後變成ALSA Project,而現在越來越多的人投入發展入發展ALSA的行列。
本篇論文分為兩個部份,第一個部份我們會詳細的介紹如何將 ALSA移植到一個類似舊有,但目前核心沒有完全支援的新平台。而移植的原件包括ALSA library, ALSA driver 。第二個部份我們會把重心放在移植ALSA平台上的PCM錄音器,PCM播放器,和MP3的播放器來驗證我們的ALSA音效平台。
Abstract
In recent years, more and more vendors adopt Linux to be the embedded operating system for their electronic products because of its combination of reliability, performance, good toolchains, portability, and configurability. However, Linux kernel is complex, and different electronic products may use different platforms. For this reason, it often requires that Linux be ported to different platforms.

Vedio and sound have been supported by Linux for a long time. The Open Sound System (OSS) plays an important role in Linux’s sound system. OSS is a device driver for sound cards and other sound devices under various UNIX and UNIX-compatible operating systems. The biggest problem with OSS is that the free implementation that exists in the Kernel is quite limited.

For a better support of modern sound cards, a new sound driver project was started by Jaroslav Kysela and others. Jaroslav Kysela started with a sound driver he needed to supporta sound card, and this grew into the ALSA project which he co-ordinates. More and More people become involved in the development of ALSA.

This thesis can be divided into two parts. In the first part, we give a detailed description of how we port ALSA to an embedded system, which include both ALSA driver and ALSA library. In the second part, we turn our attention to applications that rely on ALSA, which include a PCM recorder, a PCM player, and a MP3 player.
目次 Table of Contents
Chapter 1 Introduction 1
1.1 Embedded Linux System 1
1.2 Advanced Linux Sound Architecture(ALSA) 1
1.3 Motivation 2
1.4 Organization of the Thesis 2
Chapter 2 Platform and Codec 3
2.1 Evaluation Board 3
2.2 Codec UDA1341 5
2.2.1 L3-Bus 6
2.3 S3C2410 8
2.3.1 DMA in S3C2410 8
2.3.2 IIS-BUS in S3C2410 10
2.4 Linux Kernel 10
2.5 Toolchain 10
2.6 Components of ALSA 10
2.7 MP3 Player 11
Chapter 3 Sound System on Linux 13
3.1 What is PCM? 15
3.2 Linux Sound System in the Past 16
3.3 Linux Sound System Nowadays 16
3.4 Architecture of ALSA 16
3.4.1 PCM 17
3.4.2 Controls 17
3.4.3 Hardware Dependent Device 19
3.5 ALSA Drivers 19
3.5.1 Memory Mapping 19
3.5.2 PCM Configuration 20
3.6 ALSA Library 20
3.6.1 ALSA Library API 20
Chapter 4 Porting ALSA 22
4.1 Preparation 22
4.1.1 OSS Driver in Linux 2.4.18 22
4.1.2 L3-Bus 23
4.1.3 Mixer Driver uda1341.c 25
4.1.4 DMA 25
4.1.5 PCM Driver s3c2410-audio.c 26
4.1.6 Top-level Driver s3c2410-uda1341.c 26
4.2 Modules Provided by Kernel 27
4.2.1 DMA Driver 27
4.2.1.1 How DMA Works 28
4.2.2 Clock Control Support 31
4.2.3 Modified and Newly Added Files 32
4.3 Modules Related to L3-Bus 32
4.3.1 L3-Bus Adapter 33
4.4 ALSA Sound System 34
4.4.1 ALSA Library 34
4.4.2 ALSA Driver 34
4.4.2.1 Management of Cards and Components 34
4.4.2.2 Resource Managements 37
4.4.2.3 PCM Interface 39
Chapter 5 Experimental Results 45
5.1 Building ALSA Library 45
5.2 Building ALSA Driver 46
5.3 Device Nodes 46
5.4 Demo Programs (PCM) 47
5.4.1 PCM Player 47
5.4.2 PCM Recorder 47
5.5 Demo Programs (MP3) 50
5.5.1 Libmad 50
5.5.1.1 Introduction 50
5.5.1.2 About the Code 51
5.5.1.3 Compileing Libmad 51
5.5.2 Madlld 52
5.5.2.1 Introduction 52
5.5.2.2 Modified (Makefile) 52
5.5.2.3 Modified (madlld.c) 53
5.5.2.4 Invoking Madlld 53
5.5.3 MP3 Player 54
Chapter 6 Conclusion and FutureWorks 55
6.1 Conclusion 55
6.2 Future Works 56
參考文獻 References
[1] D. P. Bovet and M. Cesati, Understanding the Linux Kernel. O’Reilly, 2001.
[2] K. Yaghmour, Building Embedded Linux Systems. O’Reilly, 2003.
[3] Create ARM920T-S3C2410 User’s Guide. Microtime Computer Inc., 2005.
[4] Philips, “Uda1341ts economy audio codec for minidisc (md) home stereo and portable
applications,” 2002 May 16.
[5] K.-H. S. Korea, S3C2410X User’s Manual, Revision 1.2. Samsung Electronics SOC
Development Group, 2003.
[6] J. Lee, “On the porting and debugging of linux kernel,” 2006.
[7] K. L. Poland, “T1 - basic transmission theory, revision f.”
[8] T. Iwai, “Sound systems on linux: From the past to the future,” 2002 May 16.
[9] J. Corbet, A. Rubini, and G. Kroah-Hartman, Linux Device Drivers, 3rd ed. O’Reilly,
2005.
[10] T. Iwai, “Writing an alsa driver,” 2002-2004.
[11] J. Tranter, “Introduction to sound programming with alsa,” 2002-2004.
[12] Mad (mpeg audio decoder). [Online]. Available: http://sourceforge.net/project/
showfiles.php?group id=12349
[13] Mpeg audio decoder low-level demonstration. [Online]. Available: http://www.bsd-dk.
dk/ elrond/audio/madlld/
[14] S. Andersen, A. Duric, Telio, H. Astrom, R. Hagen, W. Kleijn, and J. Linden, “Internet
low bit rate codec (ilbc),” December 2004.
[15] S. Andersen and Telio, “Real-time transport protocol (rtp) payload format for internet
low bit rate codec (ilbc) speech,” December 2004.
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:校內校外均不公開 not available
開放時間 Available:
校內 Campus:永不公開 not available
校外 Off-campus:永不公開 not available

您的 IP(校外) 位址是 18.191.18.87
論文開放下載的時間是 校外不公開

Your IP address is 18.191.18.87
This thesis will be available to you on Indicate off-campus access is not available.

紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code