1、厦门大学本科毕业论文 ARM 嵌入式网络电台播放器 I ARM 嵌入式网络电台播放器 摘要 随着 PDA 正朝着计算、通讯、娱乐、电子商务等多功能的融合的趋势发展,结合 近十多年来,网络电台也随着信息技术的发展迅猛地流行起来。本文 立足于 PDA 的终端应用,以三星公司的基于 ARM RISC 架构的 S3C2410 处理器为硬件基础,以嵌入式 Linux 操作系统为软件基础,提出并研究设计了一款针对 PDA 终端的网络电台播放器的解决方案。该方案以高性能处理器, mplayer 解码器和嵌入式 Linux 操作系统为核心进行系统设计,可以支持绝大多数的流媒体编码格式,也可以支持当地音频文件。
2、 关键词 网络电台 PDA ARM 嵌入式平台 播放器 厦门大学本科毕业论文 ARM 嵌入式网络电台播放器 II Networking Radio Player on ARM Embedded System Abstract Along with PDA develops into the trend of performing the computation, communication, entertainment, electronic commerce etc. multiple-functions integrated. And, in the past decade, the in
3、formation technology developed very fast, the network radios, with its progress, spread its popularity widely in the net world. This paper, based on applications on the PDA terminal, with Samsung S3C2410 processor of the ARM RISC structure for the hardware foundation, takes embedded Linux operating
4、system as the software foundation. It puts forward and studies to design a solution of the network radios player that aims at the PDA terminal. This project takes the high performance processor, the mplayer decoder and embedded Linux Operating system as the core to carry on the system design. It can
5、 support the streaming media formats of great majority, and also local audio media files. Key Words Networking Radio PDA ARM Embedded System Player Box 厦门大学本科毕业论文 ARM 嵌入式网络电台播放器 III 目录 第一章 绪论 . 1 1.1. 课题背景 . 1 1.2. 论文的研究内容及所作的工作 . 2 1.3. 文章结构及说明 . 2 第二章 网络电台播放器的总体设计方案 . 3 2.1. 软件系统的硬件平台选择 . 3 2.1.1.
6、 硬件平台总体架构 . 4 2.2. 软件系统的开发环境 . 6 2.2.1. 嵌入式系统的应用 . 7 2.2.2. GCC 简介 . 7 2.2.3. GNU Make 工具介绍 . 8 2.2.4. Qt/Embedded 开发环境简介 . 8 2.2.5. Microsoft Visual C+ 6.0 简介 . 11 2.2.6. Mplayer 简介 . 11 第三章 系统软件设计 .13 3.1. 系统总体设计 .13 3.2. 详细设计 .14 3.2.1. 电台搜索引擎模块 .14 3.2.2. 数据库更新模块 .15 3.2.3. 数据库设计 .16 3.2.4. 网络电台
7、播放模块 .17 3.3. 电台搜索引擎试验结果 .21 3.4. ARM 嵌入式网络播放器试验结果 .21 第四章 总结 .23 致谢语 .24 参考文献 .25 附录 .26 厦门大学本科毕业论文 ARM 嵌入式网络电台播放器 IV Contents Chapter 1 Preview. 1 1.1. The Background Study. 1 1.2. Research Object and Related Work . 2 1.3. Organization of this Article and Related Descriptions . 2 Chapter 2 The Ove
8、rall Design on Net Radio Player Project . 3 2.1. The Hardware Platform for the Software System . 3 2.1.1. Overview of the Hardware Platform . 4 2.2. The Software System Developing Environment . 6 2.2.1. Application on Embedded System. 7 2.2.2. Introduction to GCC . 7 2.2.3. Preface of GNU Make Tool
9、. 8 2.2.4. Breif Intoduction to Qt/Embedded Developing Enivronment. 8 2.2.5. Overview of Microsoft Visual C+ 6.0 . 11 2.2.6. Summary of Mplayer. 11 Chapter 3 The Software System Design .13 3.1. The Overall Design of System .13 3.2. The Specific Design for System .14 3.2.1. The Radio Search Engine .1
10、4 3.2.2. The Database Updating Mould .15 3.2.3. The Database Schema.16 3.2.4. The Networking Radio Player.17 3.3. Experiment Results for The Radio Search Engine .21 3.4. Experiment Results for The Networking Radio Player.21 Chapter 4 Summary .23 Acknowlegement .24 References .25 Supplement .26 厦门大学本
11、科毕业论文 ARM 嵌入式网络电台播放器 1 第一章 绪论 1.1. 课题背景 网络广播的兴起与互联网的兴起密不可分。互联网的兴起给广播带来了巨大的冲击,又与传统广播进行着多方位的融合,在一定程度上弥补了广播传播稍纵即逝、仅有声音而无图文、不能 自由选听节目的缺憾。网络使广播吸引更多受众的参与,为广播以另一种形态发展提供了条件 ,这些网络站点不仅仅是那些传统广播站在网络的延伸,由于流媒体技术的成熟,许多个人(播客)或商业门户网站也纷纷推出有针对性的,面对网络的电台,他们是网络广播的主要参与者和中坚力量 。网络广播在互联网取得成功的同时,也 存在着一些自身发展不足的地方。当前网络广播并没有传统电
12、台广播一样的听众范围,是因为传统广播的接受设备是一只小收音机,不仅价格低廉而且容易携带,操作简使。网络电台的收听设备主要是有固定网络接入的个人电脑,和传统收音机相比 ,计算机体积较大,并且不易操作,大大地限制了网络电台的发展,而 PDA 的便携性,网络接口和无线网络接口,刚好可以弥补这个缺陷。 随着信息技术的发展和数字化产品的普及, Internet 得到广泛的应用,从消费电器到工业设备,从民用产品到军用器材,嵌入式系统被应用到网络、手持通信设各、国防军事、消费电子和自动化控制等各个领域。在此诸多应用当中,智能掌上设备具有广阔的应用前景。其代表性产品 PDA(Personal Digital
13、Assistant,个人数字助理 )以其携带方便、实用性强等优势成为备受瞩目的明星产品之一 。作为一种新型的便携式数字信息产品, PDA 在国内己经形成了一个较大的市场。国内主要的 PDA 厂商包括 :方正、海信、金长城、联想、名人、恒基伟业、文曲星、好易通、快译通、蓝德、胜利、海尔、 LEO 等。然而从 2002 年开始至今, PDA市场的销售情况出现了持续的下降趋势。据统计除去整个市场大环境欠佳之外,目前 PDA 产品所存在的问题也是不容忽视的。 分析后认为,当前的 PDA 产品绝大多数都是针对个人的日常事务处理和休闲娱乐而设计的,功能局限在一定的范围之内,相对比较单一。众多的生产厂家竞争
14、的焦点往往集中在了产品的外形、价 格、性能上,设计思想并没有多大的发展。 虽然近年来, PDA 既可以通过上网或调频收听电台,但提供一款及可以通过上网和调频收听电台广播的软件比较少见。 目前在应用于 PDA 的嵌入式操作系统中, Palm OS 和微软的 WinCE /Pocket PC 占据了大多数的市场份额,成为 PDA 主流操作系统。然而随着嵌入 式 Linux 技术的不断成熟,选厦门大学本科毕业论文 ARM 嵌入式网络电台播放器 2 用 Linux 作为操作系统的厂家也日益增多。各个 PDA 生产商也纷纷推出 Linux PDA 的计划。而随着 Linux 在 PDA 应用上的不断成熟
15、,未来还会有更多的厂商选择 Linux。 Linux 的 跨平台特性为 PDA 功能的扩展提供了方便。 基于以上对网络电台和 PDA 现状的研究和分析,结合当前可以利用的成熟技术,提出了以 PDA 为基础,实现网络电台播放功能扩展研究。 1.2. 论文的研究内容及所作的工作 论文设计和实现了一套基于 ARM Embedded System 的网络电台 播放软件 ,在Redhat 9.0 上开发 , 交叉编译后 在傅立叶 S3C2410 嵌入式高级教学实验箱上 调用 mplayer实现 播放 ,播放的数据来自 电台搜索引擎得到的电台,电台信息存在数据库中 ,这部分在Windows 上用 Micr
16、osoft Visual C+ 6.0 调用 MFC 库实现 。 1.3. 文章结构及说明 本文分为两部分。 第一部分是设计实现电台搜索引擎,收集电台信息,建立电台数据库。逐个检查数据库中的电台播放地址,对其中以 *.pls,*.m3u,*.asx 结尾的播放地址进行解析,得到是 mms,rtsp或其他流媒体协议的播放地址或其他可以直接播放的电台地址,并存在与当前电台相对应的字段中。 第二部分是 ARM 嵌入式平台上电台播放器的开发。在 FFT-S3C2410 上实现了通过网络播放电台,并且播放器可以播放本地音频文件。 论文中首先阐述了当前网络电台的现状 及不足,结合 PDA 的发展状况,点出
17、两者结合的可能性,达到 “ 双赢 ” 的效果。第一章介绍了网络电台的发展历程和现实问题以及 PDA 技术及其市场现状。第二章介绍了 ARM 嵌入式系统以及嵌入式 Linux 技术细节。第三章给出电台搜索引擎的实现及数据库细节。第四章给出电台播放器的实现细节。第五章进一步工作及展望。 厦门大学本科毕业论文 ARM 嵌入式网络电台播放器 3 第二章 网络电台播放器的总体设计方案 基于流媒体技术的 PDA 网络电台 播放如图 1 所示 , 用户通过 ADSL 或 LAN 或无线网络 连接上网络后 , 使用网络浏览器登陆网站 , 选择某个播放列表 进行点播 , 这时流媒体服 务器和播放终端通过流媒体协
18、议进行数据传输前的协调。协调完毕 , 流 媒体服务器开始向 PDA传送媒体数据流。 PDA 终端使用播放软件对这些音视频流解码 , 并把 信息 传送到 显示屏上 播放出来。 图表 1 网络电台播发器总体设计结构图 2.1. 软件系统的 硬件平台选择 由于项目定位于 PDA 多功能终端的应用 , 需要支持无线上网, 流媒体播放,语音处理等队处理能力要求较高的应用。因此我们选择的开发平台的核心处理器有强大的处理能力 , 丰富的接口 , 支持 DMA 方式 , 音频接口以及较低的功耗。 同时为了方便软件开发 , 需要处理器能够对嵌入式操作系统有较好的支持 ,图 2 为开发平台的简单硬件示意图。 基于
19、以上考虑 , 我们选择了西安傅立叶电子科技有限公司生产的 FFT-S3C2410。 以下详细介绍平台上的各主要部件。 厦门大学本科毕业论文 ARM 嵌入式网络电台播放器 4 图表 2 开发平台的简单硬件示意图 2.1.1. 硬件平台总体架构 系统采用西安傅立叶电子科技有限公司生产的 FFT-S3C2410 为嵌入式开发平台。该平台使用 带有 ARM920T 内核 支持 的 SOC 芯片的 S3C2410 处理器,主频为 203MHz,核心板上带有 64M NandFlash 和 64M SDRAM,可升级 128M,支持 WINCE/Linux/Ucos-II 和Qt/Embedded 的运行
20、 。主板上 为处理器提供了一系列的系统外围设备 : 8 寸 LCD,触摸屏,10M/100M 以太网, IIS 音频输入 /输出接口。 图 3 为实验箱的实物图。 图表 3 FFT-S3C2410 实物图 1. S3C2410 处理器 介绍 S3C2410 微处理器为手持设备和一般类型应用提供了低价格、低 功耗、高性能小型微控制器的解决方案。 S3C2410A 的显著特性是它的 CPU 核心 , 是一个由 Advanced RISC 厦门大学本科毕业论文 ARM 嵌入式网络电台播放器 5 Machines 有限公司设计的 16/32 位 ARM920T RISC 处理器。 ARM920T 实现
21、了 MMU, AMBA BUS 和 Harvard 高速缓冲体系结构。这一结构具有独立的 16KB 指令 Cache 和16KB 数据 Cache, 每个都是由 8 字长的行构成。通过提供一系列完整的系统外围设备 , S3C2410A 大大减少了整个系统的成本 , 消除了为系统配置额外器件的需要。工作频率最高达到 203MHz, 同时具有内存管理单元 (MMU), 使得处理器轻松运行于 Windows CE, Linux 等操作系统以及进行较为复杂的信息处理 。 (1) S3C2410 芯片集成了大量的功能单元 内部 1.8V,存储器 3.3V,外部 I/O3.3V, 16KB 数据 Cach
22、e, 16KB 指令 Cache,MMU。 内置外部存储器控制器( SDRAM 控制和芯片选择逻辑)。 LCD 控制器,一个 LCD 专业 DMA。 4 个带外部请求线的 DMA。 3 个通用异步串行端口( IrDA1.0, 16-Byte Tx FIFO and 16-Byte Rx FIFO), 2 通道SPI 一个多主 I2C 总线,一个 I2S 总线控制器。 SD 主接口版本 1.0 和多媒体卡协议版本 2.11 兼容。 两个 USB HOST,一个 USB DEVICE( VER1.1)。 4 个 PWM 定时器和一个内部定时器。 看门狗定时器。 117 个通用 I/O。 56 个中
23、断源。 24 个外部中断。 电源控制模式:标准、慢速、休眠、掉电。 8 通道 10 位 ADC 和触摸屏接口。 带日历功能的实时时钟。 芯片内置 PLL。 设计用于手持设备和通用嵌入式系统。 16/32 位 RISC 体系结构,使用 ARM920T CPU 核的强大指令集。 带 MMU 的先进的体系结构支持 WinCE、 EPOC32、 Linux。 指令缓存( Cache)、数据缓存、写缓存和物理地址 TAG RAM,减小了对主存储器带宽和性能的影响。 厦门大学本科毕业论文 ARM 嵌入式网络电台播放器 6 ARM920T CPU 核支持 ARM 调试的体系结构。 内部先进的位控制器总线(
24、AMBA)( AMBA2.0, AHB/APB)。 (2) 系统管理 小端 /大端支持 地址空间:每个 BANK128MB(全部为 1GB)。 每个 BANK 可编程为 8/16/32 位数据总线。 BANK0 到 BANK6 为固定起始地址。 BANK7 可编程 BANK 起始地址 和大小。 一共 8 个存储器 BANK。 前 6 个存储器 BANK 用于 ROM、 SRAM 和其它。 两个存储器 BANK 用于 ROM、 SRAM、和 SDRAM(同步随机存储器)。 支持等待信号用以扩展总线周期。 支持 SDRAM 掉电模式下的自刷新。 支持不同类型的 ROM 用于启动( NOR/NAND
25、 Flash、 EEPROM 和其它)。 (3) 芯片封装 272-FBGA 封装 2.2. 软件系统的开发环境 根据系统目标,我们建立系统的开发环境,一个是在开发板上模拟系统运行进行系统调试的环境,一个是程序的开发平台。电台搜索引擎这部分,为方便开发,我们 在 Windows上,利用 VC+ 6.0 Studio 开发工具对其实现,搜索到的数据可以用 Microsoft Access 数据库存放。因为开发板上安装的操作系统是 Linux,图形界面用 QT实现,所以对播放器开发过程,选择在 RedHat 9.0 上,利用自带的各种编译连接工具和 QT 库实现,代码编辑可以用QT Designer 或简单编辑器编写。系统最终 是 在开发板上模拟运行,必须对 PC 上的 程序进行交叉编译和移植,需要下载 Qt/Embeded 库。 系统模拟环境 是 在 嵌入式 Linux 操作系统下 进行 ,运行环境 需要 Qte 库 QPE 的支持 ,播放时调用 MPlayer 解码器 。下面详细介绍各部分。