跳到主要內容

臺灣博碩士論文加值系統

(18.97.9.171) 您好!臺灣時間:2024/12/09 11:35
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:楊逸凡
研究生(外文):I-fan Yang
論文名稱:嵌入式系統上之進階Linux音效平台
論文名稱(外文):Advanced Linux Sound Architecture for Embedded Systems
指導教授:江明朝
指導教授(外文):Ming-chao chiang
學位類別:碩士
校院名稱:國立中山大學
系所名稱:資訊工程學系研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2006
畢業學年度:94
語文別:英文
論文頁數:69
中文關鍵詞:音效平台嵌入式系統
外文關鍵詞:ALSALinuxEmbedded Systems
相關次數:
  • 被引用被引用:0
  • 點閱點閱:490
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:3
近年來,由於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音效平台。
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.
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
[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.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top