1、大学本科生毕业设计- 1 -基于 Android 的嵌入式音频系统摘要Android 一词的本义指“机器人” ,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。本课题设计了一个基于 Android 的嵌入式音频系统。该系统主要实现了音频的采集、存储、播放和传输。采集是通过 SD 卡中所拥有的声音或者 Android 自带的麦克风进行声音采集;处理是在音频的采集过程中对音频所采集到的声音编码的方式的规定;存储是对已采集处理完成的音频
2、的保存;播放是实现对音频的开始播放、暂停、继续,重播、停止功能;传输是将播放音频的位置传递给播放器进行播放;传输是指开发板与 PC 之间的音频文件传送。系统硬件平台采用飞凌 OK6410 开发板,软件平台采用 android 操作系统。论文对嵌入式系统进行了较详细的介绍,阐述了 OK6410 开发板的结构和特性,分析了 android 操作系统的原理,研究了音频系统的应用开发过程,描述了 android 开发环境建立方法,并设计实现了音频采集、存储、处理、播放和传输的功能。关键词:android、嵌入式系统、音频系统、飞凌 OK6410AbstractThe word Android mean
3、ing refers to the“ robot“, Also Google announced on November 5, 2007 that the Linux platform based on open source mobile phone operating system name, the platform by the operating system, middleware, user interface and application software, which is the first for the mobile terminal to create a trul
4、y open and complete mobile software. The subject of a design based on the Android embedded audio system. The system is mainly to achieve the audio collection, storage, and broadcast transmission. Acquisition by the SD card with voice or Android built-in microphone sound collection; processing is in
5、the audio during acquisition of audio collected voice coding rules; storage is on acquisition and processing complete audio preservation; play is to realize the audio play, pause, continue, the replay, stop function; transmission is the audio playing position is passed to the player for playing; tra
6、nsmission refers to the development board audio file transfer between PC and. The system hardware platform by filling the OK6410 development board, software platform based on the Android operating system. Research on embedded system in detail, describes the OK6410development board structure and char
7、acteristics, analysis of the Android operating system principle, studies the audio system development process, described in the Android development environment to establish methods, design and realize the audio collection, storage, processing, and broadcast transmission function.Key Words:android、Em
8、bedded system、Audio system 、ForlinxOK6410大学本科生毕业设计- 2 -目录1.绪论 .31.1 当前市场需求分析 .31.2 android 操作系统简介 .31.3 嵌入式音频系统概述 .42.嵌入式音频系统总体设计 .42.1 音频嵌入式系统总体设计 .42.2 嵌入式系统的概念 .62.2.1 嵌入式系统的定义 .62.2.2 嵌入式系统的特点 .62.2.3 嵌入式系统的历史 .62.2.4 嵌入式系统的组成 .73.音频系统的硬件设计 .73.1 音频系统硬件设计框架 .73.2 OK6410 开发板硬件结构 .83.3ARM 简介 .103.
9、4 S3C6410 处理器特性 .103.5WM9714L 音频芯片 .124.音频系统软件开发 .134.1 音频系统软件开发流程 .134.2 android 操作系统原理 .134.2.1 android 定义 .134.2.2 android 的发展历史 .134.2.3 android 的应用开发前景 .144.2.4 android 应用开发工具 .144.3 音频系统软件开发方法 .144.3.1 创建个人 audioplay .144.3.2 播放组件定义 .164.3.3 软件布局设计 .164.3.4src 文件编程设计 .164.3.5 模拟仿真164.4 音频系统相关流
10、程与程序 .175.音频系统集成与测试 .205.1 需要的 PC 环境和软硬件 .205.2 集成开发环境下载 .205.3 集成开发环境安装 .205.3.1java jdk 的安装 .205.3.2 eclipse 安装 .205.3.3 android sdk 安装21大学本科生毕业设计- 3 -5.3.4 驱动 usb 安装215.4 音频程序加载方法 .225.4,1 编译程序步骤225.4.2 程序放到开发板方法. 225.5 音频系统测试 .225.5.1 模拟器仿真方法 .225.5.2 测试结果 .23结论 .25致谢 .26参考文献 .26附件271.绪论1.1 当前市场
11、需求分析随着计算机技术、电子技术和通信技术的迅猛发展,嵌入式系统已经成为最热门、最有前途的IT应用领域之一,成为通讯和消费产品的共同发展方向。它广泛应用在人们工作生活的各个方面,几乎包括了所有的电器设备,如电视机顶盒、手机、数码相机、汽车、电梯、空调、微波炉、工业自动化设备和医疗仪器等等。在嵌入式技术快速发展的同时,嵌入式音频设备已然成为当今人类生活中的热点。从个人消费级的MP3、MP4、音乐手机、车载音频系统到专业级需求的如百货公司、酒店、机场、播音电台等大型场合的广播系统,嵌入式音频设备正发挥着重要的作用。当前,嵌入式音频设备正向着播出品质更加专业化、功能更加全面化、操作更加人性化、体积更
12、加小型化、兼容网络化播出的方向发展,并且兼具嵌入式设备可定制性强、功耗低、性价比高的特点。可见音频系统领域的研究有着非常广阔的前景。在MP4、手机等消费类电子产品中,人们对于这些个人终端的要求早已不限于单纯通话和简单的文字处理,高质量的音效和实时的音频定制更是当前发展的重要趋势。1.2 android 操作系统简介Android 一词的本义指“机器人”,同时也是 Google 于 2007 年 11 月 5 日宣布的基于Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为 Android
13、 2.4 Gingerbread 和 Android 3.0 Honeycomb。Android 是基于 Linux 开放性内核的操作系统,是 Google 公司在 2007 年 11 月 5日公布的手机操作系统。Android 早期由原名为“Android“的公司开发,谷歌在 2005 年收购“Android.Inc“后,继续对 Android 系统开发运营,它采用了软件堆层( software stack,又名软件叠层)的架构,主要分为三部分。底层 Linux 内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以 Java 编写。2011 年初数据显示,大学本科生毕业设计- 4
14、 -仅正式上市两年的操作系统 Android 已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android 系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能 MP4 方面也有较大发展。采用 Android 系统主要厂商包括台湾的HTC,(第一台谷歌的手机 G1 由 HTC 生产代工)美国摩托罗拉,SE 等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。1.3 嵌入式音频系统概述嵌入式音频系统广泛应用在 GPS 自动导航、PDA 、3G 手机等嵌入式领域,目前国内在这方面的研究较少。嵌入式音频系统是传统音频电路的延伸,可以运行操作系统和应用软件,操作更兼
15、简单,产品功能更丰富,降低了成本,提高了性能。嵌入式音频系统同时具有嵌入式系统和音频系统俩个方面的特点。音频系统是多媒体应用的一个重要组成部分,受环境噪声和电源噪声的影响较大,对声音的控制比较复杂,所以在设计嵌入式音频系统的时候要充分考虑到所设计产品的工作环境和一些被告知的条件,除了将音频系统成功融入到系统设计中去之外,还要尽可能的表现出最佳的音响效果。基于 Android 的嵌入式音频系统,拥有一个比较标准和健全的架构。从上层应用,java framework 服务 AudioMananger,本地服务 Audio Flinger,抽象层 AlsaHAL,本地库,再调用 external 的
16、 Alsa-lib 外部支持库,最后到底层驱动的 codec,可谓“五脏俱全“。现在在嵌入式系统中,音频模块是大多数产品不可或缺的一部分。本文的主要工作就是研究基于 android 的嵌入式音频系统。系统硬件平台采用飞凌 OK6410 开发板,软件平台采用 android 操作系统。对嵌入式系统进行了较详细的介绍,阐述了OK6410 开发板的结构和特性,分析了 android 操作系统的原理,研究了音频系统的应用开发过程,描述了系统集成开发环境的建立方法,并设计实现了音频采集、存储、处理、播放和传输的功能。2.嵌入式音频系统总体设计2.1 音频嵌入式系统总体设计1.总体设计流程图如下:大学本科
17、生毕业设计- 5 -图 1.总体设计流程图系统需求分析:根据需求,确定音频系统所要完成的任务和所要达到的目标,最后制设计说明。体系结构设计:描述系统对硬件、软件的功能需求,以及包括这两方面的选型等。软硬件设计:根据体系结构设计,对软硬件进行详细设计,其中大部分都集中在软件设计上。系统集成:对系统的软件和硬件集成在一起进行综合调试,发现不足时实施改进。系统测试:对设计好的系统进行测试,检验系统是否满足设计目标。2.音频系统体系结构图如下:大学本科生毕业设计- 6 -图 2.系统物理结构流程图音频编解码器 Codec 负责处理音频信息,包括 ADC,DAC,Mixer,DSP,输入输出以及音量控制
18、等所有与音频相关的功能。Codec 与处理器之间通过 I2C 总线和数字音频接口 DAI 进行通信。I2C 总线 - 实现对 Codec 寄存器数据的读写。DAI - 实现音频数据在 CPU 和 Codec 间的通信。本设计硬件平台的是基于 ARM11 内核的 S3C6410 处理器的 OK6410 开发板,软件开发平台选择了 android 操作平台,通过 Java 编译音频系统程序。2.2 嵌入式系统的概念嵌入式系统早已广泛应用于各个领域,它是一个广义的概念,从总体上嵌入式系统可以分为硬件和软件俩部分。硬件一般由高性能的微处理器和外围接口电路组成,软件一般由实时操作系统和其运行的应用软件构
19、成,软件和硬件之间由中间层联系。嵌入式处理器是嵌入式系统的核心,它的类型很多,对嵌入式系统的研究,不仅需要了解基本概念、基本原理,还需要研究特定类型的微处理器。2.2.1 嵌入式系统的定义嵌入式系统作为一项正在迅速发展中的、应用范围极为广泛的技术,由于观察和描述的角度不同,对于其定义有多重不同的提法。从嵌入式系统的基本特点出发,可以将嵌入式系统定义为:嵌入到对象系统中的专业计算机系统,其中的对象是指嵌入式系统所嵌入的宿主系统。目前在国内被普遍认同的定义是:嵌入式系统是以应用为中心、以计算机技术为基础,软硬件均可裁剪,能满足应用系统对功能、可靠性、成本、体积、功耗等指标要求严格的专用计算机系统。
20、它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。大学本科生毕业设计- 7 -2.2.2 嵌入式系统的特点嵌入式系统虽然在定义上有不同的描述,但可以从这些定义中看出,嵌入式系统具有以下几个方面的特点:1.嵌入式系统是面向用户、面向产品、面向应用的;2.嵌入式系统功耗低、体积小、专用型强;3.嵌入式系统有较高的执行速度和高可靠性;4.嵌入式系统的硬件和软件都必须高效率地设计,系统要精简,操作系统和应用软件集成在一起。5.对软件代码质量要求很高,应该尽最大可能避免死机的发生。6.嵌入式系统开发需要专门的开发工具和开发环境,一般采用交叉编译环境。2.2.3 嵌入式
21、系统的历史嵌入式系统的发展历史悠久,经历了从简单的处理器到单板机、单片机、再到加载了操作系统的开发板这样一个过程。纵观嵌入式技术的发展,大致经历了以下 3 个阶段:第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有检测、伺服、指示设备相配合的功能。这种系统大部分用于一些专业性极强的工业控制系统同中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储内容较小,几乎没有用户接口。这种嵌入式系统使用简便、价格很低,远远不能适应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电领域的需求
22、。第二阶段是以嵌入式 CPU 为基础、以简单操作系统为系统核心的嵌入式系统。这一阶段系统的主要特点是:CPU 种类繁多,通用性比较弱;系统开销小,效率高;操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及应用程序运行。第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件盒目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口,开发应用程序简单;嵌入式应用软件丰富。2.2.4 嵌
23、入式系统的组成一个完整的嵌入式系统由硬件和软件俩部分组成,其中硬件系统又可分为嵌入式微处理器、存储器和 I/O 等嵌入式外部设备俩部分,软件系统又可分为嵌入式操作系统和嵌入式应用程序两部分,如图所示。大学本科生毕业设计- 8 -嵌入式应用程序嵌入式软件嵌入式操作系统嵌入式硬件微处理器 外设图 3.嵌入式系统的组成结构目前基于各种嵌入式处理器的硬件平台已经有了比较成熟的技术,同时嵌入式操作系统屏蔽了底层硬件的复杂性,使得开发者通过操作系统提供的接口函数就可以完成大部分工作,因此大大简化了嵌入式系统的开发过程,使得嵌入式系统开发者可以从设计硬件的开发平台中解脱出来,将主要精力放在实现特定的应用程序
24、上。3.音频系统的硬件设计3.1 音频系统硬件设计框架本次设计选用飞凌 OK6410 开发板为硬件平台。该开发板采用了基于 ARM11 内核的三星公司设计研发的 S3C6410 为处理器,选用了 WM9714L 音频解码芯片,并使用Nand Flash 存储器,配置 Mobile DDR 内存。音频系统的硬件设计框架如下图所示:图 4.音频系统硬件框架3.2 OK6410 开发板硬件结构飞凌 OK6410 开发板采用“核心板+底板”的结构,核心板尺寸规格为 5cm6cm,底板尺寸为 10.5cm14cm,核心板与底板之间采用 4 组高质量进口连接器(镍金工艺,接触好、抗氧化) ,共计 320
25、个引脚(804) ,方便客户进行二次开发,进行各种形式的扩展应用。OK6410 开发板的设计严格按照 CE、CCC 等国内外电子产品认证标准,充分考虑高速信号的完整性等电磁兼容措施,确保 OK6410 开发板在严酷电磁环境下的可靠运行。OK6410 的软件系统目前支持 WinCE 6.0、 LINUX2.6.28、Android2.1 以及 uC/OS-II,提供标准板级支持包(BSP)并开放源码,其中包含了所有接口的驱动程序,客户可以大学本科生毕业设计- 9 -直接加载使用。另外,该板可连接飞凌公司与之相配套使用的串口扩展板、WIFI 模块、摄像头模块等。此外,OK6410 开发板上集成了多
26、种高端接口,如复合视频信号、摄像头、USB、SD 卡、液晶屏、以太网,并配备温度传感器和红外接收头等。飞凌 OK6410 开发板结构如图所示:图 5.OK6410 开发板硬件结构一个复位按键,采用专用芯片进行复位,稳定可靠;采用 8 位拨码开关设置系统启动方式 ;共 4 个串口,包括 1 个五线 RS 232 电平串口(DB9 母座)和 3 个三线 TTL 电平串口(20pin 2.0mm 间距插头座) ; 1 个 100M 网口,采用 DM9000AE,带连接和传输指示灯;1 个 USB HOST 插口,支持 USB1.1 协议,可插鼠标、U 盘等;1 个 USB Slave 接口,支持 U
27、SB2.0 协议,使用 mini-USB 插座,可与 PC 连接; 1 个高速 SD 卡座。可以实现 SD Memory 功能和 SDIO 功能;1 个无线网卡(WIFI ) ,该接口可复用为 SD 卡接口;3 个 3.5MM 标准立体声音频插座。其中包括 1 个音频输出插座,可与耳机连接;1 个话筒输入插座;1 个线路输入插座; 触摸板接口支持 4 线电阻式触摸板;LCD 接口支持 3.5 寸、4.3 寸、5.6 寸、5.7 寸、7寸、8 寸、10 寸等 TFT LCD,另外独家支持 10 寸 LVDS 液晶屏; 1 路 CVBS 输出接口(PAL / NTSC) ;1 个 CMOS 摄像头
28、接口,支持 ITU-RBT601/656 8 位模式,使用 10*2 插针连接器; 内部实时钟,带有后备锂电池座,断电后系统时间不丢失; 1 个 JTAG 接口,使用 102 插针连接器;大学本科生毕业设计- 10 -1 个单线数字式温度传感器(DS18B20) ;1 个红外接收头;4 个 LED;1 个蜂鸣器;3 个102插针扩展口。其中,一个扩展口包括 1 路 GND、1 路 DA、8 路、AD、10路 IO、 1 路 SPI;另一个扩展口用来扩展 88 矩阵键盘;第三个扩展口可连接 3 个TTL 电平串口和 6 路 IO(注: 3 个串口中,包括 1 个五线串口和 2 个三线串口) ;3
29、.3ARM 简介随着微电子技术的快速发展,ARM 处理器经历了包括 ARM7、ARM9 在内的多个发展历程,而 ARM11 的成熟应用必将为嵌入式的发展带来新的活力,使更高端的产品应用成为可能。与 ARM9 的 5 级流水线相比,ARM11 拥有一条具有独立的 load-store 和算术流水的 8 级流水线,在同样工艺下,ARM11 处理器的性能与 ARM9 相比大约提高了40%。 ARM11 执行 ARMv6 架构的指令,ARMv6 指令包含了针对媒体处理的单指令流多数据流(SIMD)扩展,采用特殊的设计,以改善视频处理性能。为了能够进行快速浮点运算,ARM11 增加了向量浮点单元。所有这
30、些结构上的提高,都是 ARM9 处理器不可比拟的。ARM11 为便携式和无线应用,提供了从未有过的高超性能,并且使我们主要关心的成本和功耗减到最小。ARM11 的微架构保证了系统性能可以从基本的 350-500MHz 范围扩展到最终的 1GHz 以上。其微架构的高效率表现,允许开发者根据不同的应用来调节时钟频率和电源电压,从而在性能和功耗之间达到最佳的折衷。例如,一个基于ARM11 的微架构的处理器在 1.2V 工作电压下,使用 0.13um 工艺实现,其功率将不会超过 0.4mW/MHz。ARM11 微处理器是一种高性能、低功耗的准 64 位微处理器!对于目前大多数嵌入式应用,一个真正的 6
31、4 位处理器仍然被认为是不必要的,其巨大的功耗和面积让人难以接受。对此,ARM11 选择了一个折中的方案,以较小的代价,部分实现了一个 64位微架构。ARM11 只在处理器整数单位和高速缓存之间,以及在整数单位和协处理器之间实现了 64 位数据总线。这些 64 位数据道路允许处理器在一个时钟周期中同时获取两条指令,还允许在一个时钟周期执行多个数据读写指令。这使得 ARM11 在执行很多特定序列的代码时能够达到非常高的性能,特别是那些允许数据搬移与数据处理并行处理的代码序列。3.4 S3C6410 处理器特性S3C6410 是由 Samsung 公司推出的一款低功耗、高性价比的 RSIC 处理器,它基于 ARM11 内核(ARM1176JZF-S) ,可广泛应用于移动电话和通用处理等领域。S3C6410 为 2.5G 和 3G 通信服务提供了优化的硬件性能,内置强大的硬件加速器:包括运动视频处理、音频处理、2D 加速、显示处理和缩放等;集成了一个 MFC(Multi-Format video Codec)支持 MPEG4 /H.263/H.264 编解码和 VC1 的解码,能够提供实时的视频会议以及 NRSC 和 PAL 制式的 TV 输出;除此之外,该处理器内置一个采用最先进技术的 3D 加速器,支持 OpenGL ES 1.1/ 2.0 和 D3DM API, 能实现 4