基于ARM的音频系统设计

河北工业大学

硕士学位论文

基于ARM的音频系统设计

姓名:王薇

申请学位级别:硕士

专业:物理电子学

指导教师:武一

20081001

河北工业大学硕士学位论文

基于ARM的音频系统设计

摘要

随着信息化、智能化、网络化的发展,嵌入式系统目前己经成为通讯和消费产品的共同发展方向,嵌入式系统是当今最热门的概念之一,各种各样的嵌入式系统设备在应用数量上己经大大超过了通用计算机。同时数字音频技术在我们社会生活中的应用也己经非常广泛,WA V、MPEG、MP3和WMA等相继出现。结合嵌入式系统的数字音频技术研究有着广阔的前景,基于嵌入式的数字音频设备以其高性价比、日新月异的发展速度等优点受到世界各国的广泛关注。本文结合市场发展需要,提出了一个比较优化的解决方案,并从理论和实践两方面对该方案进行了分析和设计。

本论文的主要工作是在研究了基于ARM9体系结构的Samsung S3C2410处理器的基础上,以该处理器为核心,加上外部存储器和音频编码解码芯片等器件,完成了一个嵌入式音频系统的设计,设计的系统中包括硬件设计、音频编码解码芯片的设备驱动程序及应用程序。

论文中首先对嵌入式系统进行了比较详细的介绍,并对S3C2410处理器的体系结构和特性进行了仔细的分析,其次介绍了嵌入式数字音频系统的相关技术,然后从硬件和软件两个部分,分多个模块来安排设计所要求的系统,其中包括μC/OS-II嵌入式操作系统在ARM微处理器上的移植,与上位机(PC 机)上USB接口的通讯,以及人机界面和数字音频解码的程序设计等。

整个嵌入式音频系统是一个可以独立工作的可扩展系统,该系统能完成音频采集和处理功能。

关键词:嵌入式系统,ARM,S3C2410, μC/OS-II,音频系统,UDA1341TS

i

基于ARM的音频系统设计

Design of an audio system based on ARM

ABSTRACT

With the development of information,intelligence,and network,the embedded system have already currently become the common development direction of the communication and consumption product.Nowadays the embedded system is one of the most popular concepts,the application quantity of various embedded system equipments have already exceeded the general computer.At the same time the application of the digital audio-frequency technique is already very extensive in the social life,WA V,MPEG,WMA,MP3 and etc have appeared one after another.The research of the digital audio-frequency technique combining the embedded system has the extensive foreground.The digital audio-frequency equipments based on the embedded system have be attended all over the world because of its high ratio of sexual valence,the quickly development speed,and etc.This text puts forward a more excellent solution combining the market development demand,and analysis and designs the project from both theories and fulfillment.

The main work of this paper is designing an audio embedded system.After studying the S3C2410 processor which based on ARM9 architecture made by Samsung Ltd,the circuit schematic diagram is drawn.The system takes S3C2410 processor as the core,and adding some outer components such as memory,audio coding and decoding chip and so on.Next, drivers of the audio chip and application programs are programmed and transplanted intoμC/OS-II kernel.

Firstly,the embedded system is introduced,and architecture and characteristics of S3C2410 processor is analized carefully,which is the foundation of the outer circuit design.Secondly,relational technique is introduced,which is about the digital audio system based on the embedded system.Finally,the whole text designs the demand system in two parts of the hardware and sotfware by divided several parts,that include the transplantation of the μC/OS-II embedded operate system transplanting into the ARM microprocessor,the communication of the USB interface in PC,and the program design of the man-machine interface and the digital audio-frequency decoding.

The whole audio embedded system is an expandable system and it can work independently.We use the system to collect and process audio signal.

KEY WORDS:Embedded system,ARM,S3C2410,μC/OS-II,UDA1341TS

ii

河北工业大学硕士学位论文

第一章绪论

§1-1 课题研究的背景及意义

随着计算机技术、电子技术和通信技术的迅猛发展,嵌入式系统已经成为通讯和消费产品的共同发展方向,广泛应用在人们工作生活的各个方面,几乎包括了所有的电器设备,如电视机顶盒、手机、汽车、数字相机、微波炉、电梯、空调、工业自动化设备和医疗仪器等等。

在嵌入式技术快速发展的同时,数字音频技术发展的速度也相当惊人,数字音频技术在我们社会生活中的应用也己经非常广泛,受到越来越多消费者的青睐。WA V、MPEG和WMA相继出现的同时,

]1[

MP3、MP4也正如暴风雪一般横扫整个音乐界,可见数字音频领域的研究有着非常广阔的前景。在MP3、手机等消费类电子产品中,人们对于这些个人终端的要求早已不限于单纯通话和简单的文字处理,高质量的音效和实时的音频定制是当前发展的重要趋势。

本课题的出发点即为研究嵌入式技术在音频系统中的应用,结合数字音频和嵌入式系统这两个前沿技术,设计一个基于嵌入式操作系统的新型数字音频系统。拟采用Samsung公司的S3C2410型微处理器和Philips公司的UDA1341型立体声音频Codec,不仅可以实现音频的采集和播放,还可以实时定制广播节目,存储并播放。进行相关硬件电路的设计,并编制了该音频系统基于实时操作系统μC/OS-II的驱动程序。

S3C2410是Samsung公司一款基于ARM920T核的微处理器,通过IIS音频总线与UDA1341型CODEC构成嵌入式音频系统。UDA1341TS 是Philips推出的一款适用于手持设备的低成本、小尺寸、低功耗的高性能音频编解码器。该器件提供2个麦克风输入,可实现单端输入、差分输入等灵活配置,并设置了可编程增益放大器和自动增益控制器,保证高质量的音频获取;该芯片还集成了听筒和喇叭输出的驱动器,喇叭音量可以编程调整或进入静音状态。在ADC路径上,还提供了可编程滤波器、混频]2[

器等。

§1-2 嵌入式音频系统简介

随着对数字音频技术要求的不断提高,各种附加功能模块的加入,系统越来越复杂,利用传统方式很难对众多的任务进行有效地管理,于是加入了嵌入式技术,使得音频系统在性能提高的前提下,成本大幅下降,目前已经广泛应用在GPS自动导航、PDA、3G手机等嵌入式领域,但国内在这方面的研究较少。嵌入式音频系统是传统音频电路的延伸,可以运行操作系统和应用软件,操作更加简单,产品功能更丰富,降低了成本,提高了性能。它同时具有嵌入式系统和音频系统两个方面的特点,嵌入式系统的特点将在第二章介绍。音频系统是多媒体应用的一个重要组成部分,受环境噪声和电源噪声的影响较大,对声音的控制比较复杂,所以在设计嵌入式音频系统的时候要充分考虑到所设计产品的工作环境和一些被告知的条件,除了将音频系统成功融入到系统设计中去之外,还要尽可能地确保音频产品表现出最佳的音响效果。

现在市场上大部分的嵌入式处理器都支持音频系统,在硬件上使用的是基于IIS总线的音频系统体系结构。IIS(Inter-IC-Sound)又称之为I2S,它是Philips公司提出的串行数字音频总线协议。通过该

1

基于ARM的音频系统设计

协议,嵌入式处理器可以直接与外部的音频芯片进行数据传输。目前很多的音频芯片和MCU都提供对IIS总线的支持。在软件上,它也是一个嵌入式系统,具有嵌入式系统的特征,需要操作系统的支撑。

§1-3 本课题的研究内容

本文致力于嵌入式技术在数字音频系统中的应用研究,深入讨论了系统的设计思想与实现方法,根据目前国际国内市场上的嵌入式产品的现状和实验室的条件,选择基于ARM9的硬件平台和μC/OS-II 操作系统,提出了μC/OS-II操作系统在ARM微处理器上的移值方案。选用了深圳英蓓特公司生产的S3C2410开发板作为本论文研究工作的平台,编写的驱动程序和应用程序都在该开发板上进行调试。该开发板CPU采用的是Samsung公司生产的S3C2410,它是16/32位RISC微处理器,其内核是ARM920T,该处理器集成度高,功耗低,体积小,功能强大,便于手提便携设备(如手机,PDA等)以及其他工控设备、语音信息处理、车载系统等的应用。

在本文内容安排上,首先介绍了课题中涉及到的关键技术,包括μC/OS-II嵌入式操作系统,USB 通讯,以及数字音频等等;然后分硬件和软件两个部分介绍系统设计中的几个主要模块,包括μC/OS-II 操作系统的移植,USB通讯,人机界面以及音频解码;最后对该课题设计作总结并展望它的未来发展趋势。

综观整个课题设计,其中拟解决的关键问题有以下三个:

(1)μC/OS-II嵌入式操作系统在ARM微处理器上的移值;

(2)实现数字音频文件上传下载的管理,与上位机(PC机)之间的USB通信;

(3)结合ARM微处理器,在μC/OS-II嵌入式操作系统环境中实现数字音频格式文件的录制和软件解码播放。

2

河北工业大学硕士学位论文

第二章嵌入式系统和嵌入式处理器

在当今的信息时代,数字化潮流波及社会生活的方方面面,数字化产品已成为继PC之后信息处理的主要工具。在这种数字化潮流下,嵌入式系统己经成为当前研究和应用的热点之一。

MPU是由通用计算机中的CPU演变而来,与之不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业应用广泛等突出特点,目前已经广泛应用于国防、消费电子、信息家电、网络通信、工业控制等多个领域,如手机、PDA、MP3播放器等就是常见的嵌入式产品。

§2-1 嵌入式系统

嵌入式系统一般指非PC系统,是把微处理器(CPU)或微控制器(MCU)的系统电路与其专用的软件平台相结合,以此来达到系统操作的最高效率。它包括硬件和软件两部分:硬件包括处理器/微处理器、存储器及外设器件和输入输出(I/O)端口等,如图2.1所示,嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用EPROM、E2PROM或闪存(Flash Memory)作为存储介质;软件部分包括操作系统软件(要求实时和多任务操作)和应用程序部分,操作系统控制着应用程序编程与硬件的交互作用,而应用程序控制着系统的运作和行为,有时设计人员把这两种软件组合在一起3[?

]。

9

线

图2.1 嵌入式系统硬件图

Fig.2.1 The hardware chart of the embedded system

过去一个单片机应用程序所控制的外设和履行的任务不多,采取一个主循环和几个顺序调用的程序模块即可满足要求,目前单片机芯片本身的性能不断提高,可以适应应用复杂化这一要求,问题在软件上。随着应用的复杂化,一个嵌入式控制器系统可能要同时控制/监视很多外设,要求有实时响应,有

3

基于ARM 的音频系统设计

很多处理任务,各个任务之间有多种信息传递,如果仍采用原来的程序设计方法存在两个问题:一是中断可能得不到及时响应,处理时间过长,这对于一些控制场合是不允许的,对于网络通信方面则会降低系统整体的信息流量;二是系统任务多,要考虑的各种可能也多,各种资源如调度不当就会发生死锁,降低软件可靠性,程序编写任务量成指数级增加。经过多年的发展,目前世界上己经有一大批十分成熟的实时嵌入式操作系统。目前嵌入式应用领域的一个发展倾向是采用实时多任务操作系统(RTOS),RTOS 的应用是和实际应用的复杂化直接相关的。

2-1-1 嵌入式系统的定义

嵌入式系统作为一项正在迅速发展中的、应用范围极为广泛的技术,由于观察和描述的角度不同,对于其定义有多种不同的提法。

从嵌入式系统的基本特点出发,可以将嵌入式系统定义为:嵌入到对象系统中的专业计算机系统。其中的对象系统是指嵌入式系统所嵌入的宿主系统。而目前在国内被普遍认同的定义是:嵌入式系统(Embedded System )是随着计算机技术、微处理器技术、电子技术、通讯技术、集成电路技术的发展而发展起来的,已经成为计算机技术和计算机应用领域的一个重要组成部分。嵌入式系统是以应用为中心、以计算机技术为基础,软硬件均可以裁减,能满足应用系统对功能、可靠性、成本、体积、功耗等指标要求严格的专用计算机系统。嵌入式系统的优势在于结合微处理器或微控制器的系统电路与其专属的软件来达到系统工作效率与成本的最高比。

]10[]11[嵌入式系统是后PC 时代的主导,其设计的目的在于满足某种特殊的功能要求。嵌入式系统的大体

构架可分为处理器、内存、输入与输出、操作系统和应用软件等五部分。

2-1-2 嵌入式系统的发展现状

随着信息化、智能化、网络化的发展,嵌入式系统技术也必将获得广阔的发展空间。美国著名未来

学家尼葛洛庞帝1999年1月访华时预言,4~5年后嵌入式智能(电脑)工具将是PC 和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士1998年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。1999年世界电子产品产值已超过12000亿美元,2000年达到513000亿美元,2005年已经达到18000亿美元]。

]41[12[随着电子技术的发展,各种各样的微处理器相继出现,而性价比也越来越高,这为嵌入式系统的发

展,提供了良好的前提条件。另一方面,随着社会的进步和人们生活质量的不断提高,对产品质量的要求也越来越高,然而,嵌入式系统就是以低价位、高性能而著称的。因此,嵌入式系统的空前繁荣是必然的。近几年,嵌入式系统已由原先单一的非实时控制系统发展成多元的实时控制系统。嵌入式系统的性能越来越完善,使得它的应用涉及到很多领域。目前,应用最为广泛的领域诸如:信息电器、移动计算设备、网络设备、工控、仿真、医疗仪器等。此外,随着Internet 用户的不断增多,嵌入式系统今后的发展无疑要面向系统化、网络化。

]13[2-1-3 嵌入式系统的特点

嵌入式计算机系统同通用型计算机系统相比,具有以下特点]:

14[(1)嵌入式系统通常是面向特定应用的嵌入式CPU ,与通用型的最大不同就是嵌入式CPU 大多

工作在为特定用户群设计的系统中,它通常都具有功耗低、体积小、集成度高、处理能力强和性价比高等特点,能够把通用CPU 中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。

4

河北工业大学硕士学位论文

(2)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后

的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

(3)嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面

积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。

(4)嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌

入式系统产品一旦进入市场,具有较长的生命周期。

(5)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本

身中,而不是存贮于磁盘等载体中。

(6)嵌入式系统的操作系统实时性强、体积小、可定制、功能强并能够管理系统硬件。

(7)嵌入式系统本身不具备自举开发能力,即设计完成以后用户通常不能对其中的程序功能进行

修改,必须有一套开发工具和环境才能进行开发。

2-1-4 嵌入式系统设计面临的挑战

许多简单的嵌入式系统并不需要嵌入式操作系统(如单片机控制),但是,随着嵌入式系统复杂性的

增加,操作系统显得越来越重要,必须对复杂的嵌入式软件系统进行合理的控制。目前,对嵌入式实时操作系统(Embedded Real-time Operating System)有以下几方面的要求:

(1)实时性:嵌入式系统一般带有实时性要求,因此嵌入式操作系统应该具备实时特性。

(2)系统可剪裁:由于嵌入式系统的资源限制,所采用的操作系统应该有极强的针对性,因此操

作系统功能要能够配置,够用即可。

(3)轻量型网络支持:随着网络时代的到来,更多的嵌入式设备需要连接上网,因此,需要在嵌

入式操作系统中提供必要的轻量型网络协议支持。

(4)功能可扩展:由于新型嵌入式设备的功能多样化,要求嵌入式操作系统除提供基本的内核支

持外,还需提供越来越多的可扩展功能模块(含用户扩展),如功耗控制、动态加载、嵌入式文件系统和嵌入式数据库系统等。

嵌入式系统工业是专用计算机工业,其目的就是要把一切变得更简单、更方便、更普遍、更适用;

通用计算机的发展变为功能电脑,普遍进入社会。嵌入式计算机发展的目标是专用电脑,实现“普遍化计算”,因此可以称嵌入式智能芯片是构成未来世界的“数字基因”。正如我国资深嵌入式系统专家一沈绪榜院士的预言:“未来十年将会产生针头大小、具有超过一亿次运算能力的嵌入式智能芯片,将为我们提供无限的创造空间”。总之“嵌入式微控制器或者说单片机好象是一个黑洞,会把当今很多技术和成果吸引进来。我们应当注意发展智力密集型产业”。

]15[§2-2 ARM 处理器

作为一种嵌入式处理器,ARM 以其高性能、低成本和低功耗的优势赢得了广泛的市场。

ARM(Advanced RISC Machines 的缩写)是一种32位的RISC(Reduced Instruction Set Computer)处理器的通称,也是目前非常流行的一类嵌入式处理器。1991年ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。ARM 公司是微处理器行业的一家知名企业,设计了大量高性能、低价格、低耗能的RISC 处理器及软件。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP 和移动式应用等。ARM 将其技术授权给世界上许多著名的半导体、软件和OEM 厂商,每个厂商得到的都是一套独一无二的ARM 相关技术及服务。、利用这种合伙关系,ARM 很快成为许多全球性RISC 标准的缔造者。目前,总共有30家半导体公司与ARM 签订了硬件技术使用许可协议,其中包括Intel 、IBM 、NEC 、SONY 、飞利浦

5

基于ARM 的音频系统设计

和LG 半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和MRI 等一系列知名公司。

ARM 架构是面向低预算市场设计的第一款RISC 微处理器。目前,采用ARM 技术知识产权核的微

处理器,即我们通常所说的ARM 微处理器,己遍及工业控制、消费电子产品、通信系统和无线系统等各类产品市场,基于ARM 技术的微处理器应用约占据了32位的RISC 微处理器75%以上的市场份额,ARM 技术正在逐步渗入到我们生活的各个方面。

]2216[?2-2-1 ARM 处理器的特点

ARM 微处理器是一种高性能、低功耗的32位微处器,它被广泛应用于嵌入式系统中。嵌入式系统

的核心是嵌入式微处理器,采用RISC 架构的ARM 微处理器特点如下:

]43[(1)小体积、低功耗、低成本、高性能;

(2)16位/32位双指令集;

(3)大量使用寄存器,指令执行速度更快;

(4)大多数数据操作都在寄存器中完成;

(5)寻址方式灵活方便,执行效率高;

(6)指令长度固定。

2-2-2 ARM 流行的理由:

1)稳定的指令系统

(1)合作伙伴不允许更改指令系统或改动内核。因此,开发工具、应用软件和操作系统能够运行

在任何实际的ARM 合作伙伴的平台上。相反,MIPS 的合作伙伴却允许指令系统的更改,从而导致支持MIPS 的团队疲于应付。

(2)向后兼容能力

(3)更新的ARM 结构可以运行旧版本的代码

(4)更容易编程和理解

(5)大量的支持工具,编程语言和操作系统支持

2)处理速度快

ARM 是RISC 结构的处理器。而且ARM 内部集成了多级流水线,比如:ARM7T 中使用3级

流水线;ARM9中使用5级流水线技术,大大的增加了处理速度。

3)超低功耗

各种档次的ARM 的功耗都是同档次其他嵌入式处理器中较低的。处理器的散热问题不用考虑;低电压,微电流供电,这些都无疑为成为便携式设备的最理想的选择。

4)应用前景广泛

因为ARM 公司不是生产处理器的,它专门为IC 制造商提供各种处理器的解决方案。所以,

上述在各种处理器中,ARM 的使用最广,同时应用前景广阔,开发资源丰富,有利于缩短产品的研发周期。

5)价格低廉

在各种嵌入式处理中,ARM 的价格适中,而且使用量大,比较容易够买。

2-2-3 ARM 处理器系列

ARM 提供一系列内核、体系扩展、微处理器和系统芯片方案。目前非常流行的ARM 芯核有ARM7 TDMI ,ARM720T ,ARM9 TDMI ,ARM922T ,ARM940T ,ARM946T ,ARM966T ,ARM10 TDMI 等。6

河北工业大学硕士学位论文

ARM7、ARM9、和ARM10产品系列提供了一系列可供选择和为特定目的而设计的处理器,包括:用于低价位的整型核;用于WindowsCE 操作系统的、带集成存储器管理的核;最适用于运行实时嵌入式操作系统的核。

1)ARM7系列:

ARM7系列为小型、快速、低能耗、32位集成式RISC 内核,最适用于对价位和功耗敏感的消费类

应用。时钟频率为66MHz ,平均功耗为0.6mW/MHz ,每条指令平均执行1.9个时钟周期,其中ARM710、ARM720和ARM740为内带Cache 的ARM 核。

ARM7的主要应用领域为:因特网设备、网络和调制解调器设备以及移动电话等多种多媒体和嵌入

式系统。

2)ARM7 TDMI 系列:

ARM7 TDMI 是ARM 公司授权用户最多的一项产品,将ARM7指令集同Thumb 扩展组合在一起,以减少内存容量和系统成本。同时,它还利用嵌入式ICE 调试技术来简化系统设计,并用一个DSP 增强扩展来改进性能。该产品的典型用途是数字蜂窝电话和硬盘驱动器。

3)ARM9系列:

本文所选用的是此系列。ARM9系列具有高性能和低功耗的特性,时钟频率为120MHz ~200MHz ,平均功耗为0.7mW/MHz ,每条指令平均执行1.5个时钟周期。与ARM7系列相似,其中的ARM920、ARM940和ARM9E 均为含Cache 的CPU 核,性能为132MIPS(120MHz 时钟,3.3V 供电)或220MIPs(200MHz 时钟)。

ARM9代表了ARM 公司主流的处理器,已经在先进的引擎管理、仪器仪表、安全系统、高端打印

机、PDA 、网络电脑、智能电话、机顶盒、数码像机、GPS 、个人数字助理以及因特网设备等方面有了广泛的应用。ARM9系列较之其他系列性能更高、速度更快,也更普及,更适合对实时性要求很高的音频系统,所以本文研究工作中选用的是这个系列。

4)ARM10系列:

ARM10系列具有:DSP 扩展,Cache ,内部64位数据通路。

ARM10系列专为数字机顶盒和智能电话等高效手提设备设计,为复杂的视频游戏机和高性能打印

机提供高级的整数和浮点运算能力。

§2-3 本设计所用开发板及集成开发环境

2-3-1 开发板

Embest EduKit-III 开发板是实验系统的主要硬件平台,它是英蓓特公司开发的一款全功能ARM 开

发板,基于Samsung 公司的以ARM7TDMI-S 为内核的S3C44B0X 处理器,同时可以兼容S3C2410,资源丰富。硬件系统包含了嵌入式系统开发应用所需的大部分设备,如串口、以太网口、USB 口、音频输出、LCD 及TSP 触摸屏、5*4 的小键盘、固态硬盘、大容量的Flash 和SDRAM 等等。不仅可以在该硬件平台上完成实验系统提供的实验例子,还可以参考该平台设计自己的目标系统。

开发板硬件的功能特点如下:

]21[(1)使用CPU 扩展接口,可以使用SAMSUNG 公司的S3C44B0 和S3C2410;

(2)系统核心板包括SDRAM 、CPU 、核心电压模块、实时时钟、系统跳线、系统时钟、核心板

接口等;

(3)SDRAM 用量与CPU 有关,2410 采用64M ,44B0 采用8/16M 兼容芯片为HY57V561620 或

7

基于ARM 的音频系统设计

HY57V641620;

(4)完全自主设计的软硬件系统,可以支持JTAG 仿真技术,支持ADS 、STD 和IDE 等集成环

境开发;

(5)具有2/4M 兼容的 Nor Flash 和8/16/32/64/128M 兼容的Nand Flash ;

(6)提供10M 以太网接口,用到的芯片是CS8900A ;

(7)具有USB 接口电路(1 个DEVICE 、2 个HOST );

(8)具有2 个RS232 串行口,可以跟上位机进行通讯;

(9)提供1 个RS422 接口、1 个RS485 接口;

(10)提供IIS 音频信号接口,可接双声道SPEAKER ;

(11)8Kbit IIC BUS 的串行EEPROM ;

(12)STN/TFT 兼容接口的彩色LCD(标配320*240 CSTN 5.7 英寸LCD);

(13)多个LED 指示灯;

(14)8 个8 段数码管;

(15)8 路10BIT 的ADC , ANIN2 和ANIN4 可以模拟;

(16)提供实时时钟控制试验(RTC );

(17)提供触摸屏接口电路(标配4 线5.7 英寸触摸屏);

(18)5×4 键盘,可以扩展至64 键,使用芯片ZLG7290;

(19)用PWM 控制的蜂鸣器电路,可以发出不同频率的声音;

(20)提供用I/O 控制的跑马灯试验;

(21)提供2 个CAN 接口(1 个是预留给带CAN 控制器的CPU 使用的),方便组装现场总线;

(22)具有1 个IDE 硬盘接口、1 个PCI 扩展插槽和1 个PS2 接口;

(23)提供CF 存储卡接口、SD 卡接口;

(24)包含红外线接口模块;

(25)包含直流电机、步进电机模块;

(26)具有采用扩展子板形式的GPRS 模块电路和GPS 模块电路。

2-3-2 集成开发环境

Embest IDE 英文全称是Embest Integrated Development Environment ,是深圳市英蓓特信息技术有限

公司推出的一套应用于嵌入式软件开发的新一代集成开发环境。Embest IDE 是一个高度集成的图形界面操作环境,包含编辑器、编译汇编链接器、调试器、工程管理、Flash 编程等工具,其界面风格同Microsoft Visual Studio(见下图)。Embest IDE for ARM 目前支持所有基于ARM7 和ARM9 核的处理器。将来可通过升级软件实现对新的ARM 核的支持。

]23[8

河北工业大学硕士学位论文

图2-2 Embest IDE for ARM 窗口

Fig.2.2 The window of Embest IDE for ARM

Embest IDE for ARM 运行的主机环境为Windows/98/NT/2000/XP,支持的开发语言包括标准C

和汇编语言。

Embest IDE for ARM 本身配JTAG 仿真器(Embest JTAG Emulator/PowerICE/UnetICE)。

Embest IDE for ARM 主要特性:

(1)工程管理器:图形化的工程管理工具,负责应用源程序的文件组织和管理,提供编译、链接、库文件的设置窗口,可在一个工作区中同时管理多个应用软件和库工程。

(2)源码编辑器:标准的文本编辑功能,支持语法关键字、关键字色彩显示等;提供C语言程序的函数列表及函数定位功能;IDE 同时提供了高效的Find in Files 引擎,可迅速查找定位指定的字符串信息。

(3)编译工具:集成著名优秀自由软件GNU 的GCC 编译器,运行在Win32 环境;同时兼容ARM SDT2.51 编译器,可以方便ARM SDT 及ADS 的用户在Embest IDE 下编译工程代码。IDE提供了图形化的编译器开关设置界面,用户可以简单、直观、快捷地完成工程编译选项设置。编译信息的输出,条理清晰,可迅速定位产生语法错误的源文件行。

(4)调试器:提供对ARM AXD 调试器的支持,可以方便使用Embest JTAG 仿真器调试ARMSDT 及ADS 环境的工程代码。源码级调试,提供了图形和命令行两种调试方式,可进行断点设置、单步执行、异常处理,可查看修改内存、寄存器、变量等,可查看函数栈,可进行反汇编等;支持ARM 指令或Thumb 指令调试。

(5)调试设备:Embest JTAG 仿真器,连接到主机的通讯接口可以是DB25 的LPT 口、USB 接口或Enternet 接口, 另外一端是IDC 插头,连接到目标板的JTAG 接口。用户可以使用Embest IDE for

9

基于ARM的音频系统设计

ARM 配合Embest JTAG 仿真器进行应用软件的开发,Embest IDE for ARM同时也支持一些国内外常用的Jtag Cable 线。

(6)脱机调试:Embest IDE for ARM 带ARM 指令集模拟器,用户可以在PC 上模拟调试ARM 应用软件。

(7)丰富的例程:提供ADI、Atmel、Samsung、Cirrus Logic、OKI、Philips、Sharp 等多家公司ARM 处理器的调试程序示例和使用说明。

(8)集成了Flash Download、Memory Upload/Download、elf to bin、bin 文件辟分工具、外围寄存器编辑器以及反汇编等常用的工具。

(9)联机帮助:中、英文两种版本在线帮助文档。

Embest IDE for ARM(包括Embest JTAG 仿真器)以低价格、高性能提供给基于ARM 的嵌入式系统的开发者。

10

河北工业大学硕士学位论文

第三章 嵌入式数字音频系统的相关技术

§3-1 嵌入式操作系统μC/OS-II

ARM 芯片获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:

Windows CE,Linux,pSOS,VxWorks,Nucleus,ECOS,uC/OS 等,基于实时性、成本以及开发难度方面的考虑,我们选择μC/OS-II ——开放源代码的嵌入式实时操作系统。μC/OS-II 是著名的、源码公开的实时内核,是专为嵌入式系统应用设计的,可用于各类8位、16位和32位单片机或DSP 。从μC/OS 算起,该内核已有10余年应用史,在诸多领域得到了广泛应用。

3-1-1 μC/OS-II

μC/OS-II 最早的版本叫做COS ,关于μC/OS 的论文,分两期连载在美国的“嵌入式系统编程”

(Embedded System Programming)杂志的1992年第5期和第6期上,COS 的源码放在该杂志网页的留言版(BBS)上供用户下载。1992年末,美国的R&D 出版社出版了“Micro μC/OS The Real-Time Kernel ”一书,书中附有一张软盘,是μC/OS 的源代码。该书后来成为一本畅销书,发行量突破了15000本。μC/OS 是基于优先级的可剥夺型(Preemptive)实时内核,可裁剪、可固化。由于与硬件相关的代码仅200行左右,并写在两个单独的文件中,其中95%左右是用C 语言写的,且注解很清楚,故很容易将μC/OS 移植到其它类型的CPU 上]。

24[在后来的几年中,用户纷纷将μC/OS 移植到了各种CPU 上,应用领域涵盖了如照相机、医疗器械、音响设施、发动机控制、网络设备、高速公路电话、自动柜员机、工业机器人等行业和设备。

到1995年,作者出了他的第二本书“μC/OS-II The Real-Time Kernel ”,给μC/OS 增加了一些新功

能,对源码进行了整理,说明得更详尽,书的厚度也增加了200页,Jean https://www.360docs.net/doc/674266435.html,brosse 先生开通了μC/OS-II 的商业网站,并不断推出新版本。自此μC/OS-II 开始在各个领域重装上阵,大显身手。μC/OS-II 产品在现代商业应用非常广泛,己被相关机构证实具有非常稳定、可靠的性能,并成功应用于生命科学、航天工程等重大科研项目中。并且由于其极小的内核,特别适用于对程序代码存储空间要求极其敏感的嵌入式系统开发。

μC/OS-II 是一款源码公开的实时操作系统,真正支持多个任务同时运行,各任务有独立的栈

空间,并提供系统服务、中断管理等功能。作为一个实用的实时操作系统,μC/OS-II 还具有以下特点:可移植性(Portable 。)、可固化(ROMable)、可裁剪(Scalable)、抢占式(Preemptive)。教学系统已成功运行的μC/OS-II 系统是Embest IDE for ARM 工具编译调试通过的简单内核和用户程序,使用Embest IDE for ARM 可以查看内核的各种状态,包括任务(Task)、队列(Queue)、信号量(Semaphore)、邮箱(Mailbox)、事件(Event)、互斥量(Mutex)等;同时提供时间相关函数、栈空间、内存(Memory)申请和释放等操作。 ]26][25[3-1-2 μC/OS-II 任务调度机制

μC/OS-II 总是运行进入就绪态任务中优先级最高的那一个。确定任务优先级的高低,下面该哪个

任务运行的工作是由调度器(Scheduler)完成的。任务级的调度是由函数OSSched()完成的,中断级的调度是由另一个函数OSIntExt()完成的。

11

基于ARM 的音频系统设计

3-1-3 μC/OS-II 任务管理机制

任务可以是一个无限的循环,也可以在一次执行完毕后被删除掉。这里要注意的是,任务代码并不

是被真正的删除了,而只是μC/OS-II 不再理会该任务代码,所以该任务代码不会再运行。任务看起来与任何C 函数一样,具有一个返回类型和一个参数,只是它从不返回。任务的返回类型必须被定义成void 型。在本节中所提到的函数可以在OS_TASK 文件中找到。

μC/OS-II 可以管理多达64个任务,并从中保留了四个最高优先级和四个最低优先级的任务供自己

使用,所以用户可以使用的只有56个任务。任务的优先级越高,反映优先级的值则越低。在最新的μC/OS-II 版本中,任务的优先级数也可作为任务的标识符使用。

3-1-4 μC/OS-II 的内存管理机制

在ANSIC 中可以用malloc()和free()两个函数动态地分配内存和释放内存。但是,在嵌入式实时操

作系统中,多次这样做会把原来很大的一块连续内存区域,逐渐地分割成许多非常小而且彼此又不相邻的内存区域,也就是内存碎片。由于这些碎片的大量存在,使得程序到后来连非常小的内存也分配不到。另外,由于内存管理算法的原因,malloc()和free()函数执行时间是不确定的。

在μC/OS-II 中,操作系统把连续的大块内存按分区来管理。每个分区中包含有整数个大小相同的

内存块,如图3.1(a)所示。利用这种机制,μC/OS-II 对malloc()和free()函数进行了改进,使得它们可以分配和释放固定大小的内存块。这样一来,malloc()和free()函数的执行时间也就固定了。如图3.1(b),在一个系统中可以有多个内存分区。这样,用户的应用程序就可以从不同的内存分区中得到大小不同的内存块。但是,特定的内存块在释放时必须重新放回它以前所属的内存分区。显然,采用这样的内存管理算法,上面的内存碎片问题就得到了解决。

]15[

图3.1 (a )内存分区 (b )多个内存分区

Fig.3.1 (a) Memory partition (b) More memory partitions

Partition #1 Partition #2 Partition #3

Partition #4

12

河北工业大学硕士学位论文

3-1-5 μC/OS-II 主要特点

(1)μC/OS-II 是为嵌入式应用设计的专用操作系统。

(2)占先式,多任务,强实时性。

(3)90%以上的代码用C 写成,移植方便。

(4)可裁剪,ROM 化。

(5)源码中注释详细,便于学习。

(6)代码精简——8700多行代码,16个文件。易懂易学,μC/OS-II 用简的代码展示了多任务操

作系统最核心的内容。

]27[§3-2 USB 接口技术

3-2-1 USB 接口特点

目前,USB(通用串行总线接口)作为个人计算机外设的接口方式应用的越来越普遍。越来越多的数

字电子产品出现在人们的生活中,比如MP3机,数字照相机,数字录像机等等,将人们的生活装点得多姿多彩。这些新兴的电子产品无一例外都采用了USB 接口方式与PC 通讯。除此之外,一些传统的计算机外设也在逐渐向USB 接口转移,例如USB 键盘,USB 鼠标,USB 打印机等。和传统的PC 外设接口方式相比,USB 具有如下的优势:

(1)传输速率快

USB 协议的1.1版本支持全速12Mbps 的传输速率。最新的2.0版本支持高达480Mbps 的传输速率,远远高于RS232、并行打印机端口等的传输速率。

(2)多个外设共用一个物理接口,连接方便

多个USB 外设采用菊花莲的方式链接,然后接至一个PC 机的USB 接口,这些USB 外设共用最

多12Mbps 的带宽,以及相同的端口地址和中断请求等计算机资源。在计算机外设资源越来越紧张的形势下,USB 接口方式无疑具有得天独厚的优势。

(3)传输可靠性

USB 协议采用差分信号来传输数据,具有很强的抗干扰性。

(4)灵活性和易于使用

所有的USB 外设都是即插即用设备。使用USB 外设无需重新启动计算机。独立供电,USB 接

口提供了内置电源。

]28[(5)低成本

USB 使用一个4 针插头作为标准插头,通过这个标准插头,采用菊花链形式可以把多达127 个的

USB 外设连接起来,所有的外设通过协议来共享USB 的带宽。

]29[3-2-2 USB 协议体系结构

在USB 传输中,必须有一方是主机(Host),另一方是设备(Device)。USB 协议不支持设备与设备之

间或者主机与主机之间的通讯。主机一方是USB 传输的主动一方,它是每一次USB 数据传输的发起者。而设备一方负责响应每一次从主机一方发来的请求,因此设备是USB 传输中的被动者。主机上负责USB 传输的是一个叫作USB 控制器的设备,而设备一方实际上的通讯单元是终端(Endpoint)。USB 传输示意图如图3.2所示.

13

基于ARM 的音频系统设计

图3.2 USB 传输示意图

Fig.3.3 USB transmission schematic diagram

可以把每一次USB 传输叫作一个事务。从上面的讨论可以看出,每个USB 事务涉及的对象是USB

控制器以及USB 设备终端。每一个USB 设备终端是一个可存储多个字节的缓冲器,通常它是数据内存的一块或控制器芯片的一个寄存器。在USB 控制器上与之对应的是一组缓冲区。一个USB 设备可能具有多个终端。其中编号为0的终端为控制终端,一般来说它是USB 设备中唯一支持双向传输(SETUP 类型传输)的终端,其他的终端只能支持单向传输(OUT 传输或IN 传输)。 USB 被设计为可以处理对传输速率、响应时间和错误校正有不同要求的多种外设。它有四种传输

类型,并且一个外设可以支持它最适合的传输类型。每种传输类型的特征和用法总结如表3.1所示。

表3.l 传输类型的特征和用法示意图

Table3.1 The sketch map of characteristic and usage of transport type

传输类型

控制 批量 中断 等时 一般用途

配置 打印机扫描仪 键盘鼠标 音频设备 是否必要

是 否 否 否 能否用于低

速设备 是 否 是 否 数据流方向

双向 单向 单向 单向 是否保证传

输速率

否 否 否 是

3-2-3 USB 数据传输方式

针对设备对系统资源需求的不同,在USB 规范中规定了四种不同的数据传输方式:

]31][30[1)同步传输 (Isochronous)

该方式用来联接需要连续传输数据,且对数据的正确性要求不高而对时间极为敏感的外部设备,如

麦克风、嗽叭以及电话等。同步传输方式以固定的传输速率,连续不断地在主机与USB 设备之间传输数据,在传送数据发生错误时,USB 并不处理这些错误,而是继续传送新的数据。同步传输方式的发14

河北工业大学硕士学位论文

送方和接收方都必须保证传输速率的匹配,不然会造成数据的丢失。

2)中断传输 (Interrupt)

该方式用来传送数据量较小,但需要及时处理,以达到实时效果的设备,此方式主要用在偶然需要

少量数据通信,但服务时间受限制的键盘、鼠标以及操纵杆等设备上。

3)控制传输(Control )

该方式用来处理主机到USB 设备的数据传输,包括设备控制指令、设备状态查询及确认命令,当

USB 设备收到这些数据和命令后,将依据先进先出的原则处理到达的数据。主要用于主机把命令传给设备、及设备把状态返回给主机。任何一个USB 设备都必须支持一个与控制类型相对应的端点0。

4)批量传输(Bulk )

该方式不能保证传输的速率,但可保证数据的可靠性,当出现错误时,会要求发送方重发。通常打

印机、扫描仪和数字相机以这种方式与主机联接。

§3-3 数字音频

3-3-1 数字音频技术概论

多媒体是综合性的信息资源,是文本(Text)、图形(Graphics)、声音(Sound)、动画(Animation)、视频

(Video)等媒体元素的统称。在当今的时代,多媒体技术应用得越来越广泛。各种各样的媒体信息在存储、处理和传输时都要花费很大的代价。如何减小这些代价,以便更方便、更快速的处理和传输这些数据,必然会成为多媒体应用领域中的一个重点。因此,多媒体数据压缩解压技术成了多媒体、网络通讯以及计算机等应用领域的一项关键技术。音频信号是多媒体数据的一种。人类听觉特性理论的深入研究和数字化技术的广泛应用,以及市场对消费类音乐质量的趋高要求,促使数字音频编解码技术成为消费电子学的一个重要研究领域。下面简要介绍目前几种主要的数字音频编码技术。

]32[1)波形音频

波形音频是一种电子数字化声音,是计算机播放音频的一种重要的形式,它存储的是声音的波形信

息,特点是:当播放波形音频时,不管播放文件的设备是何种类型,都会得到相似的声音。波形音频文件通常以.wav 作为文件扩展名。由于采用波形音频存储电子需要大量的存储空间,因此它一般只用于短时间的声音播放。决定波形音频质量的因素主要有三个,采样频率、信息量和通道数。一般采样率越高的音频质量越高,音乐和语音效果越好。

2)MIDI 音频

MIDI 音频也是一种重要的多媒体组成元素,是一种通信形式,提供了电子乐器连接起来的手段和

控制乐器所有软硬件的规范。MIDI 在处理音乐时是将MIDI 音乐设备上产生的活动编码记录下来,将这些数据传递到MIDI 合成器上就能重现原来的演奏。MIDI 的消息有两种类型:状态字节和数字字节。状态字节描述发送的类别(动作和函数),数字字节总是跟在状态字节后,表示发送消息的实际值。数值字节的个数取决于状态字节表示的消息类型。MIDI 通过通道字节最高位区别这两种类型。最高位为1表示状态字节,最高位为0表示数字字节。

3)CD 音频

CD 音频是通过计算机的CD-ROM 驱动器来播放的一种音频数据格式。CD 音频代表着高质量的数

字音频信息,但所需的存储空间也大,CD 音频的长度由分、秒、帧的形式来衡量,最小的单位为帧,每一帧为1/75秒,一分等于60秒。

4)AC-3音频

15

基于ARM 的音频系统设计

美国杜比实验室开发的数字音频编码系统是性能较为优秀的一种音频压缩技术,其中AC-1用于卫

星通信和数码有线广播,AC-2用于专业音频的传输和存储。AC-3系统开发的目的就是为了改善和提高三个扬声器的重现能力。AC-3根据心理声学模型去除信号的主观冗余信息,以及采用耦合和声道重组等技术消除客观冗余信息,传输速率是32~120kb/s ,目前用于DVD ,HDTV 等的伴音。

5)MPEG 音频

MPEG 音频是运动图像专家组提出来的一种能够实现主观感受不出失真的音频压缩算法。目前已经

完成的标准包括:MPEG1、MPEG2、MPEG3、MPEG4、MPEG7。

MPEG-1音频支持采样率为32、44.1和48kHz 的单声道(mono)以及双声道(Stereo 和Dualmono)等

编码模式,并利用心理声学模型来控制音频信号的量化编码。

MPEG-2是1994年11月针对数字电视提出的。在音频方面,经历了三个阶段的发展过程。首先是

相对于MPEG-1增加了低采样率(16KHZ ,22.5KHZ ,24KHZ),接下来是MPEG-2BC(ISO/IEC 13818-3 Backward Compatible)音频对MPEG-1向后兼容的多声道扩展,它支持单声道(mono),双声道(Stereo 和dual mono)和多声道(环绕立体声)等编码模式,附加了一个“低频扩张”声道,从而提升到5声道编码。此时,MEPG-1和MPEG-2都具有三层编码结构,并具有向上和向后的兼容性。在第三阶段,为了提高对5声道实例的编码效率,一种向后不兼容的编码策略在1997年完成定义,即MPEG-2ACC (ISO/IEC13818-7 Advanced Audio Coding)。它在8~96KHZ 的采样率范围内提供了l~48个主声道的可选范围的高质量音频编码,应用于码率从8kbit/S 的单声道电话音质到160kbit/s 的多声道超高质量音频范围内的编码。ACC 继承了层三的基本编码模式,但在细节上附加了新的编码工具并作了技术改造,包括带有高频解决方案的滤波器组、更加优化的熵编码和立体声编码、向后自适应滤波器和时域降噪平滑技术。所以ACC 比MP3在编码位率上效率提高大约30%。

MPEG-4是一种能够满足数字电视技术需求的多媒体标准,第一版在1998年提出。MP4-SA 是

MPEG-4标准的结构化音频(ISO/IEC 14496-3 Section 5 MPEG-4Structured Audio),它是以各种方式高效、灵活地描述声音的一组工具的集合体。从压缩编码原理角度比较,它采用固定的模型来代替物理发音,从结构描述的角度来压缩音频信息,而MPEG-2ACC 采用心理听觉模型以去除听觉敏感冗余数据。

MPEG-7标准是为了满足互联网上数据检索查询传输等需求而指定的,以提供视听内容信息的描述

方案。不局限于某些与特殊应用紧密联系的特征提取算法和搜索引擎,也不依赖于被描述内容的编码和存储方式,MPEG-7所支持的音频方面需求包括:允许标引者设定合理的误差以适应查询所需求的旋律和其他音乐特征机制;基于与数据相关信息的描述的机制。

]32[以上讨论了几种主要的音频编码方案,这些方案大多数采用了一定的数据压缩方法,以达到应用的

需求。本论文中使用的算法就是MPEG-1中层三算法。

3-3-2 数字音频解码算法的实现方法

各种不同的编解码算法方案是根据不同的应用制定的,算法方案的实现方式也就与应用场合密切相

关。从总体上来将,音频压缩算法有三种实现的方案:

(1)软件实现

这种方法使用于计算机上的音频应用和组合多种娱乐功能的便携式设备中,只需要进行音频数据的

软件编解码过程。编解码算法可以用各种编程语言实现,然后按照需要进行相应的解码或者存储、传输操作。计算机之间交互音频数据、播放歌曲时,就使用的这种软件实现方法。

]33[(2)硬件实现

这种方法使用于应用设备上的算法实现。硬件电路根据算法原理对原始音频数据进行相应的处理变

16

相关文档
最新文档