高性能混合信号ARM――ADuC7xxx原理与应用开发(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-17 10:07:13

点击下载

作者:李刚,王焱,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

高性能混合信号ARM――ADuC7xxx原理与应用开发

高性能混合信号ARM――ADuC7xxx原理与应用开发试读:

前言

ARM(Advanced RISC Machines)在微处理器与嵌入式行业内为人们所熟知,这是由于ARM相比于其他微处理器(或单片机)具有高性能、低成本和功耗低等一系列特点。而ARM本身的生产又独具特色,ARM作为微处理器行业的一家知名企业,该企业只设计了多个系列高性能、廉价、耗能低的RISC 处理器、相关技术及软件,而生产却由其他公司完成,ARM 将其技术授权给世界上许多著名的半导体、软件和OEM 厂商,每个厂商得到的都是独一无二的ARM 相关技术及服务,利用这种合作关系,ARM 很快成为许多全球性RISC标准的缔造者。

ADI(Analog Devices,Inc.)作为业界广泛认可的数据转换和信号调理技术全球领先的供应商,拥有遍布世界各地的60000客户,他们事实上代表了全部类型的电子设备制造商。ADI公司作为高性能模拟集成电路(IC)制造商庆祝公司在此行业全球领先40多年,其产品广泛用于模拟信号和数字信号处理领域。

10年前,ADI公司将高精度ADC和DAC等模拟接口电路与89C52内核集成到一个芯片上,诞生了一个崭新的器件系列——ADuC8xx,并冠名为“微转换器”(MicroConverter)。在同时具备89C52和ADI所擅长的数据转换和信号调理技术优势的同时,ADuC8xx系列还独具在线编程、调试等特点,在工业测控、仪器仪表和各种嵌入式系统中得到了广泛的应用。

现在,ADI公司又被授权生产ARM微处理器,研制出性能远远超出ADuC8xx的又一个崭新系列微处理器——ADuC7xxx系列。青出于蓝而胜于蓝,在具备ADuC8xx众多突出优点的同时,ADuC7xxx系列在速度、功耗、ADC的精度与速度等更胜一筹,还增加了可编程门阵列等新外设和功能,在测控、机电一体化等领域必将大展宏图,因此,ADuC7xxx系列又被称为“精密模拟微控制器”。作者从事单片机与微处理器的教学和科研有20多年,对ADuC7xxx系列微处理器情有独钟,把它作为主流器件介绍给学生们和在科研中应用,取得了很好的效果。

好的东西总是希望与大家分享,因此,我们把自己近年来的一些体会,再搜集了一些资料,编写出本书,希望能够给大家一些帮助,在科研和新产品开发上多一个利器。

参加本书编写的有:刘玉良、卢宗武、高剑明、王慧敏、王慧泉、赵喆、张丽君、李娜等。此外,本书的编写还参考了大量的资料,对这些资料的作者表示衷心的感谢。在本书的编写过程中得到ADI公司、IAR公司的大力支持,电子工业出版社的张榕同志也给予了热情的支持与帮助,作者借此机会向他们表示感谢。

由于作者水平有限,书中难免有这样或那样的错误,希望能够得到读者的指教,以便我们共同做好ADuC7xxx系列ARM的开发和应用。

作者

第1章 概述

1.1 计算机的历史

电子数字计算机是20世纪最重大的科技成就之一。1946年由美国宾夕法尼亚大学设计制造的ENIAC电子计算机问世,同年,贝尔实验室的Schockley博士发明了被誉为“20世纪最伟大发明”的晶体管。在这场改变人类生存方式的变革中,CPU以其作为计算机“大脑”和“心脏”这一核心地位而始终处于变革风暴的前沿,计算机得到迅速发展,并已广泛应用于工农业生产、科学研究、国防及人们日常工作和生活的各个领域。伴随着人类进入21世纪,以高科技为支撑的信息化社会已经到来,以“信息”为主导的新兴产业正在全球经济领域掀起一场空前的革命。信息高速公路初见端倪,信息技术在近半个世纪内以令人炫目的速度繁衍、演化着。“知识”是这场革命的直接推动力,而计算机及其应用技术则是知识经济的基础,掌握计算机知识和应用能力的多少,已成为衡量现代人文化水平高低的一个重要标志。随着信息化时代的到来,计算机技术的进一步发展和应用必将对社会发展和人类文明产生更大的促进作用,对社会政治、经济、文化和人类生活的各个方面产生巨大而深远的影响。

1946年,美籍匈牙利科学家冯·诺依曼就提出了计算机体系结构设计的一些思想,包含3个基本要点:(1)采用二进制数的形式表示指令和数据;(2)将指令序列和数据预先存入计算机的存储器中;程序执行时,能自动、连续地从存储器中逐一地取出指令并执行;(3)计算机硬件由5部分组成。

按照这种思想设计的计算机称为冯·诺依曼型计算机,其工作原理的核心是“存储程序”和“程序控制”,即“集中顺序控制”。现代电子计算机的构造均为冯·诺依曼结构,即由运算器、控制器、存储器、输入设备和输出设备5大部分组成;数据和程序以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式;控制器根据存放在存储器中的指令序列(即程序)工作,并由一个程序计数器(PC)控制指令的执行。控制器具有判断能力,能够根据计算结果选择不同的动作流程。

微型计算机通常包含如下几种类型。

单片微型计算机:一种把微处理器、半导体存储器、I/O接口和中断系统集成在同一块芯片上的有完整功能的微型计算机,这块芯片就是它的硬件,软件程序就存放在片内只读存储器内。其实,单片机很难和被控对象直接进行电气连接,故在实际应用中单片机总要通过这样和那样的芯片和被控对象相连。单片微型计算机具有体积小、重量轻、价格低和可靠性好等许多优点,常在家用电器、智能仪器仪表和工业控制领域中应用。

单板微型计算机:一种把微处理器、半导体存储器、I/O接口和中断电路等芯片集装在同一块印制电路板上的微型计算机。在这块印制电路板上,通常还装有简易键盘和发光二极管,只读存储器中还固化有容量不大的监控程序。单板微型计算机具有单片机类似的优点,常做成专用的过程控制机投放市场。

多板微型计算机:顾名思义,是一种把构成微型计算机的功能部件分别组装在多块印制电路板上,并通过同一机箱内的总线插槽连成一体的微型计算机。这种多板结构的微型计算机功能很强,常常可以通过选用不同的印制电路板插件板达到不同场合使用的目的。

在推动计算机发展的诸多因素中,电子器件的发展是最活跃的因素。根据使用的基本电子器件,计算机经历了4个阶段。

第一代(1945年—1958年):电子管计算机。采用水银延迟线作为内存,磁鼓作为外存。体积大、耗电多、运算速度慢。最初只能使用二进制表示的机器语言,到20世纪50年代中期才出现汇编语言。这个时期,计算机主要用于科学计算和军事方面,应用很不普遍。

第二代(1958年—1964年):晶体管计算机。内存主要采用磁芯,外存大量采用磁盘,输入/输出设备有了较大改进。体积显著减小、可靠性提高、运算速度可达每秒百万次。软件方面出现了高级程序设计语言和编译系统。计算机开始广泛应用于以管理为目的的信息处理。

第三代(1964年—1971年):固体组件计算机。主要采用中、小规模集成电路。运算速度达每秒千万次,可靠性大大提高,体积进一步缩小,价格大大降低。软件方面进步很大,有了操作系统,开展了计算机语言的标准化工作并提出了结构化程序设计方法,出现了计算机网络。计算机应用开始向社会化发展,其应用领域和普及程度迅速扩大。

第四代(1971年至今):大规模集成电路计算机。大规模集成电路的出现使计算机发生了巨大的变化,特别是出现了微处理器,从而推出了微型计算机。微型计算机的出现和发展是计算机发展史上的重大事件,使计算机在存储容量、运算速度、可靠性和性能价格比等方面都比上一代计算机有了较大突破。各种系统软件、应用软件大量推出,功能配置空前完善,充分发挥了计算机的功能,把计算机的发展和应用带入到了一个全新的时代,计算机已经应用到几乎所有的领域,成为人类社会活动中不可缺少的工具。

1965年,摩尔经统计发现,集成电路内芯片的晶体管数目,几乎每隔18个月到24个月,其集成度就要翻一番。这条未经严格证明但又千真万确的“金科玉律”,经过近30年的检验,始终表现出令人惊异的准确性。

微型计算机的发展过程,也就是微处理器的发展过程,自1971年第一个微处理器出现以来,微处理器的发展已经经历了4代,目前正处在第5代微处理器发展阶段,每一代的性能都提高了近一个数量级。几乎每两年就有一个质的变化,目前仍在向多功能、多媒体方向发展。微处理机一经问世,就以体积小、重量轻、价格低廉、可靠性高、结构灵活、适应性强和应用面广等一系列优点占领世界计算机市场,并得到广泛应用,成为现代社会不可缺少的主要工具。

1971年—1973年为第一代微处理器,代表产品为Intel 4004和Intel 8008。前者为4位机,后者为8位机。集成度约为2000等效晶体管/片,时钟频率为1MHz,指令周期为20μs。

1973年—1975年为第二代微处理器,代表产品为Intel 8080、M6800,字长为8位,集成度为5000管/片,时钟频率为2MHz,指令周期为2μs。

1975年—1977年为第三代微处理器,代表产品为Intel 8085、M6802,字长为8位,集成度为1万管/片,时钟频率为2.5~5MHz,指令周期小于1μs。

1978年—1980年为第四代微处理器,代表产品为Intel 8086、M6809,字长为16位,集成度为3万管/片,时钟频率为5MHz,指令周期小于0.5μs。

1980年之后为第5代微处理器,代表产品有80286、Motorola 68010等,字长为16位,集成度达10万管/片,时钟频率为10MHz,指令周期约为0.2μs。1983年之后又出现了Intel 80386,Motorola 68020等微处理器,字长为32位,时钟频率为16MHz以上,集成度高达15~50万管/片,指令周期为0.1μs。其后又出现了Intel 80486系列,集成度达数百万管/片以上,时钟频率高达上千兆赫兹,指令周期只有几十纳秒。在这些处理器的芯片上已经包含大容量的高速缓冲存储器,原来属于大型机的存储管理技术已经移植到芯片上。

Intel公司于1996年推出了新x86系列CPU——Pentium Pro。Pentium Pro芯片内部集成了550万个晶体管,内部时钟频率为133MHz。1996年底Intel公司又推出了Pentium 系列的改进版本,也就是平常所说的Pentium MMX(多能奔腾)。MMX技术是Intel最新发明的一项多媒体增强指令集技术,它的英文全称可以翻译成“多媒体扩展指令集”。

1997年5月,Intel推出了与Pentium Pro同一个档次的Pentium Ⅱ。Pentium Ⅱ有一系列的不同档次的产品,其中第一代的产品就是Pentium Ⅱ Klamath芯片。作为Pentium Ⅱ的第一代芯片,它运行在66MHz总线上,主频分233MHz、266MHz、300MHz和333MHz 4种。由于它代表了Pentium系列机当时的最高性能,所以将其称为二代奔腾Pentium。

应该把Pentium Ⅲ称为“多能奔腾二代处理机”(Pentium Ⅱ Processor with MMX2 Technology)。Intel公司于1999年2月发布了Pentium Ⅲ芯片——Katmai,作为第一款专为提高用户的互联网计算体验而设计的微处理机,使用户能够尽享丰富的音频、视频、动画和栩栩如生的三维效果。针对不同需求,Pentium Ⅲ推出了移动Pentium Ⅲ和Pentium Ⅲ Xeon(至强)处理机。

Pentium 4是Intel新一代高性能32位微处理机,在体系结构上,Pentium 4 完全不同于它的前辈机Pentium Ⅱ和Pentium Ⅲ。Pentium Ⅱ和Pentium Ⅲ采用的是与Pentium Pro 相同的P6结构形式,而Pentium 4采用的则是Net Burst的新式处理机结构。采用Net Burst机构是为了加快以突发方式传送数据速度,如流媒体、MP3播放程序和视频压缩程序等的传送速度。专家们指出“该设计意味着从传统整数运算性能(如标准的商业应用程序)向媒体运算性能变迁的重大革新”。但是Net Burst仍然是由开发P6的原班人马完成的。

1.2 计算机的应用

计算机的应用形式和应用领域千变万化、日新月异,已深入到人类社会生活中的各个领域,从国防技术、航空航天技术、核能技术、管理科学系统、科学研究、工业设计和仿真、生产过程控制、多媒体与信息高速公路技术、文化教育、医疗等,到智能仪表、家用电器等,无一不是计算机信息处理与控制的应用领域。按照计算机应用的性质和形式,可分为数值计算、数据处理(包括办公自动化、数据库应用系统)、生产自动化(包括过程控制、计算机辅助系统——如计算机辅助设计CAD、辅助制造CAM、辅助测试CAT、辅助工程CAE、计算机集成制造系统CIMS等)、计算机模拟、人工智能、计算机网络应用、远程教育等。

1.科学计算(或数值计算)

科学计算是指利用计算机来完成科学研究和工程技术中提出的数学问题的计算。在现代科学技术工作中,科学计算问题是大量的和复杂的。利用计算机的高速计算、大存储容量和连续运算的能力,可以实现人工无法解决的各种科学计算问题。

2.数据处理(或信息处理)

数据处理是指对各种数据进行收集、存储、整理、分类、统计、加工、利用、传播等一系列活动的统称。据统计,80%以上的计算机主要用于数据处理,这类工作量大面宽,决定了计算机应用的主导方向。数据处理从简单到复杂已经历了三个发展阶段:①电子数据处理(Electronic Data Processing,EDP),它是以文件系统为手段,实现一个部门内的单项管理;②管理信息系统(Management Information System,MIS),它是以数据库技术为工具,实现一个部门的全面管理,以提高工作效率;③决策支持系统(Decision Support System,DSS),它是以数据库、模型库和方法库为基础,帮助管理决策者提高决策水平,改善运营策略的正确性与有效性。

目前,数据处理已广泛地应用于办公自动化、企事业计算机辅助管理与决策、情报检索、图书管理、电影电视动画设计、会计电算化等各行各业。信息正在形成独立的产业,多媒体技术使信息展现在人们面前的不仅是数字和文字,也有声情并茂的声音和图像信息。

3.辅助技术(或计算机辅助设计与制造)(1)计算机辅助设计(Computer Aided Design,CAD)。计算机辅助设计是利用计算机系统辅助设计人员进行工程或产品设计,以实现最佳设计效果的一种技术。它已广泛地应用于飞机、汽车、机械、电子、建筑和轻工等领域。在电子计算机的设计过程中,利用CAD技术进行体系结构模拟、逻辑模拟、插件划分、自动布线等,从而大大提高了设计工作的自动化程度与设计速度,提高设计质量。(2)计算机辅助制造(Computer Aided Manufacturing,CAM)。计算机辅助制造是利用计算机系统进行生产设备的管理、控制和操作的过程。在产品的制造过程中,用计算机控制机器的运行,处理生产过程中所需的数据,控制和处理材料的流动以及对产品进行检测等。使用CAM技术可以提高产品质量,降低成本,缩短生产周期,提高生产率和改善劳动条件。

将CAD、CAM技术集成,实现设计生产自动化,这种技术被称为计算机集成制造系统(CIMS)。它的实现将真正做到无人化工厂(或车间)。(3)计算机辅助教学(Computer Aided Instruction,CAI)。计算机辅助教学是利用计算机系统使用课件来进行教学。课件可以用著作工具或高级语言来开发制作,它能引导学生循环渐进地学习,使学生轻松自如地从课件中学到所需要的知识。CAI的主要特色是交互教育、个别指导和因人施教。

4.过程控制(或实时控制)

过程控制是利用计算机及时采集检测数据,按最优值迅速地对控制对象进行自动调节或自动控制。采用计算机进行过程控制,不仅可以大大提高控制的自动化水平,而且可以提高控制的及时性和准确性,从而改善劳动条件、提高产品质量及合格率。计算机过程控制已在机械、冶金、石油、化工、纺织、水电、航天等部门得到广泛的应用。

5.人工智能(或智能模拟)

人工智能(Artificial Intelligence)是计算机模拟人类的智能活动,如感知、判断、理解、学习、问题求解和图像识别等。现在人工智能的研究已取得不少成果,有些已开始走向实用阶段。例如,能模拟高水平医学专家进行疾病诊疗的专家系统,具有一定思维能力的智能机器人等。

6.网络应用

计算机技术与现代通信技术的结合构成了计算机网络。计算机网络的建立,不仅解决了一个单位、一个地区、一个国家中计算机与计算机之间的通信,而且因各种软、硬件资源的共享,故也大大促进了国际间的文字、图像、视频和声音等各类数据的传输与处理。

1.3 计算机的发展

当今计算机的发展趋势主要有以下几方面。(1)高性能。计算机的性能越来越高,速度越来越快,主要表现在计算机的主频越来越高。集成电路的发展从VLSI开始进入ULSI,即特大规模集成电路时期,而且由于RISC技术的成熟与普及,CPU性能年增长率由20世纪80年代的35%发展到20世纪90年代的60%。到后来出现奔腾系列,不仅是芯片频率的提高,而且是计算机整体性能的提高,器件速度通过发明新器件(如量子器件等),采用纳米工艺、片上系统等技术还可以提高几个数量级。(2)两极化。即巨型计算机和微型计算机,前者代表着计算机科学技术的发展水平,主要应用于大型领域如国防尖端技术、航空航天技术等。后者则反映了计算机的应用普及程度。多媒体技术是当前微型计算机研究的热点,并行处理则是巨型计算机的核心技术。(3)多媒体技术。多媒体技术是将数值、文字、声音、图形、图像、视频等多种媒体信息进行综合处理的技术,是当前微型计算机研究和开发的热点,其中的关键技术是音频和视频数据的压缩与解压缩、多媒体数据的通信传输,以及各种媒体信息设备的接口技术。(4)人性化。目前计算机“思维”的方式与人类思维方式有很大区别,人机之间的距离还不小。人类还很难以自然的方式,如语言、手势、表情与计算机打交道,计算机难用已成为阻碍计算机进一步普及的巨大障碍。随着Internet的普及,普通老百姓使用计算机的需求日益增长,这种强烈需求将大大促进计算机智能化方向的研究。近几年来计算机识别文字(包括印刷体、手写体)和口语的技术已有较大提高,已初步达到商品化水平,估计5~10年内手写和口语输入将逐步成为主流的输入方式。手势(特别是哑语手势)和脸部表情识别也已取得较大进展。使人沉浸在计算机世界的虚拟现实(Virtual Reality)技术是近几年来发展较快的技术,21世纪将更加迅速地发展。(5)网络化。网络技术是计算机技术与通信技术的结合,是今后计算机应用的主流。Internet的迅速发展与广泛应用,使人类进入了信息化时代,信息的快速获取和共享已成为影响经济发展与社会进步的重要因素之一。(6)智能化。应用人工智能技术,使计算机模仿人的推理、思维、联想、学习等功能,并具有声音识别、图像识别能力,在某种程度上具备人的智能,这种智能计算机是未来计算机发展的总方向。(7)非冯·诺依曼体系结构的计算机是现代计算机技术研究的另一个焦点。冯·诺依曼体系结构的“存储程序和程序控制”原理表现为“集中顺序控制”这一串行机制,已成为从根本上限制计算机性能提高的障碍。要从根本上提高计算机性能,就必须突破冯·诺依曼体系结构的限制,方法之一就是采用并行处理技术,研究方向即为新一代计算机,如神经网络计算机、生物计算机、光子计算机等。未来的计算机将向高性能、人性化、网络化三个方向发展。

1.4 单片微型计算机概述

单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种。单片微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器CPU、存储器和I/O接口电路等。单片机只需要和适当的软件及外部设备相结合,便成为一个单片机控制系统。

1974年,美国仙童公司研制出世界上第一台单片微型计算机F8,该机由两块集成电路芯片组成,结构奇特,具有与众不同的指令系统,深受民用电器和仪器仪表领域的欢迎和重视,从此,单片机开始迅速发展,应用范围也在不断扩大,现在已经成为微型计算机的重要分支。

如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段。(1)第一阶段(1971年—1978年):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是由于工控领域的探索,参与这一探索的公司还有Motorola、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。(2)第二阶段(1978年—1982年):单片机的完善阶段。Intel公司在MCS-48 基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。①完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多通信功能的串行通信接口。②CPU外围功能单元的集中管理模式。③体现工控特性的位地址空间及位操作方式。④指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。(3)第三阶段(1982年—1990年):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模—数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。(4)第四阶段(1990年至今):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。

目前,单片机正朝着高性能和多品种方向发展,主要趋势将是进一步实现CMOS化、低功耗、小体积、大容量、高性能、低价格、外围电路内装化和串行扩展技术等几个方面。下面是单片机发展趋势的详细介绍。

CMOS化:近年,由于CMOS技术的进步,大大地促进了单片机的CMOS化。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是今后以80C51取代8051为标准MCU芯片的原因。因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产,CMOS电路的特点是低功耗、高密度、低速度、低价格,它的综合优势已优于TTL电路。因而,在单片机领域CMOS正在逐渐取代TTL电路。

低功耗化:单片机的功耗已从mA级,降至1μA以下;使用电压为3~6V,完全适应电池工作。低功耗化的效应不仅功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。

低电压化:几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压范围越来越宽,一般在3~6V范围内工作,低电压供电的单片机电源下限已可达1~2V。目前0.8V供电的单片机已经问世。这些特点便于生产便携式产品。

低噪声与高可靠性:为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。

大容量化:以往单片机内的ROM为1~4KB,RAM为64~256B。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。目前,单片机内ROM可达64KB甚至更高,RAM最大为2KB。

高性能化:主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度,并加强位处理功能、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10倍以上。由于这类单片机有极高的指令速度,就可以用软件模拟其I/O功能,由此引入了虚拟外设的新概念。

小容量、低价格化:以4位、8位机为中心的小容量、低价格化也是发展动向之一。这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。

外围电路内装化:随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内。除了一般必须具有的CPU、ROM、RAM、定时器/计数器等以外,片内集成的部件还有模—数转换器、DMA控制器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。

串行扩展技术:通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(One Time Programmable)及各种类型片内程序存储器的发展,加之处围接口不断进入片内,推2动了单片机“单片”应用结构的发展。特别是 IC、SPI、CAN等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。

随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。单片机已成为计算机发展和应用的一个重要方面。它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

单片机具有体积小、可靠性高、功能强、灵活方便等许多优点,故可以广泛应用于国民经济的各个领域,对各行各业的技术改造和产品更新换代起到了重要的推动作用。在工业控制中,单片机直接位于第一线,面大量广,是工厂自动化的关键部件之一。

1.5 ARM简介

ARM是Advanced RISC Machines(精简指令集计算机)的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。

1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州San Jose VLSI技术公司制造。

20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。

1990年成立了Advanced RISC Machines Limited(后来简称为ARM Limited,ARM公司)。20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。

1991年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入我们生活的各个方面。

ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。

ARM处理器的三大特点:耗电少功能强、16位/32位双指令集和众多合作伙伴。

ARM商品模式的强大之处在于它在世界范围有超过100个的合作伙伴(Partners)。ARM 是设计公司,本身不生产芯片。采用转让许可证制度,由合作伙伴生产芯片。

当前ARM体系结构的扩充包括:(1)Thumb 16位指令集,为了改善代码密度;(2)DSP DSP应用的算术运算指令集;(3)Jazeller 允许直接执行Java字节码。

ARM处理器系列提供的解决方案有:(1)无线、消费类电子和图像应用的开放平台;(2)存储、自动化、工业和网络应用的嵌入式实时系统;(3)智能卡和SIM卡的安全应用。1.5.1 ARM的产品系列

ARM处理器本身是32位设计,但也配备16位指令集。一般来讲,存储器比等价32位代码节省达35%,然而保留了32位系统的所有优势。ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性。ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列。

当前有5个产品系列:ARM7、ARM9、ARM9E、ARM10和SecurCore。(1)ARM7系列。优化用于对价位和功耗敏感的消费应用的低功耗32位核,有:

① 嵌入式ICE-RT逻辑;

② 非常低的功耗;

③ 三段流水线和冯·诺依曼结构,提供0.9MIPS/MHz。(2)ARM9系列。高性能和低功耗领先的硬宏单元,带有:

① 5段流水线;

② 哈佛结构提供1.1MIPS/MHz。

ARM920T和ARM922T内置全性能的MMU、指令和数据cache和高速AMBA总线接口。AMBA片上总线是一个开放标准,已成为SoC构建和IP库开发的事实标准。AMBA先进的高性能总线(AHB)接口现由所有新的ARM核支持,提供开发全综合设计系统。

ARM940T内置指令和数据Cache、保护单元和高速AMBA总线接口。(3)ARM9E系列。可综合处理器,带有DSP扩充和紧耦合存储器(TCM)接口,使存储器以完全的处理器速度运转,可直接连接到内核上。

ARM966E-S用于硅片尺寸重要,而对Cache没要求的实时嵌入式应用,可配置TCM大小:0、4KB、8KB、16KB,最大达64MB。

ARM946E-S内置集成保护单元,提供实时嵌入式操作系统的Cache核方案。

ARM926ET-S带Jazelle扩充、分开的指令和数据高速AHB接口及全性能MMU。

VFP9 向量浮点可综合协处理器进一步提高ARM9E处理器性能,提供浮点操作的硬件支持。(4)ARM10系列。硬宏单元,带有:

① 64位AHB指令和数据接口;

② 6段流水线;

③ 1.25MIPS/MHz;

④ 比同等的ARM9器件性能提高50%。

两种新的先进的节能方式得到了异常低的耗电。VFP10协处理器完善地依从ARM10器件提供高性能的浮点解决方案。(5)SecurCore。SC100特为安全市场设计,带特定的抗拒窜改和反工程的特性。还带灵活的保护单元确保操作系统和应用数据的安全。1.5.2 ARM微处理器的应用选型

鉴于ARM微处理器的众多优点,随着国内外嵌入式应用领域的逐步发展,ARM微处理器必然会获得广泛的重视和应用。但是,由于ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难,所以,对ARM芯片做一些对比研究是十分必要的。

以下从应用的角度出发,对在选择ARM微处理器时所应考虑的主要问题做一些简要的探讨。(1)ARM微处理器内核的选择。从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不同的应用领域,用户如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持Windows CE和标准Linux,但目前有μCLinux等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。事实上,μCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他方面都有上佳表现。(2)系统的工作频率。系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20~133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100~233MHz,ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时钟控制器可以分别为ARM核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。(3)芯片内存储器的容量。大多数的ARM微处理器片内存储器的容量都不太大,需要用户在设计系统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间,如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间,用户在设计时可考虑选用这种类型,以简化系统的设计。(4)片内外设电路的选择。除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,我们称为片内外设电路,如USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等,设计者应分析系统的需求,尽可能采用片内外设电路完成所需的功能,这样既可简化系统的设计,又可提高系统的可靠性。1.5.3 ADuC702x的主要特点

ADI(Analog Devices Inc)公司是美国著名的半导体生产厂商,ADI公司采用新型的ARM7TDMI内核设计了全新的ADuC702x系列MicroConverter,其运算速度可达45MIPS,12位A/D转换速率高达1000ksps,是MicroConverter系列中功能最强的成员。

ADuC702x系列MicroConverter采用ARM7TDMI体系结构,支持16/32位精简指令集(RISC),具有最多16通道、高达1000ksps采样速率的12位A/D。ADuC702x系列整合了片内参考电平与温度传感器,支持JTAG方式调试与下载,外接32kHz晶振,通过锁相环可工作在45MHz下。该系列产品集成有62KB的Flash与8KB的SRAM,片2上外设资源包含UAR、SPI,双IC串行接口、4个定时器、看门狗、电源监测模块、3相16位PWM输出和可编程逻辑阵列(PLA)等。ADuC702x系列采用3V供电,在1MHz系统时钟下耗电为3mA,45MHz时钟频率下耗电为50mA。

第2章 计算机的组成与数据格式

任何一个计算机系统都是由密切相关的硬件和软件组成,硬件是指组成计算机的各种电子的、机械的、光磁学的物理器件和设备,它们构成了计算机的物理实体,是计算机的物质基础。软件则是指为了运行、管理和维护计算机而编制的各种程序及其有关的文档资料的总称,是发挥和扩大计算机功能的程序。硬件是基础,软件是灵魂,两者相辅相成,缺一不可。没有硬件,计算机便不存在,软件无法运行;没有软件,只有硬件构成的“裸机”,用户无法使用。硬件和软件合起来才能组成一个完整的计算机系统。在计算机中,硬件和软件的结合点是计算机的指令系统。计算机的一条指令是计算机硬件可以执行的一步操作。计算机可以执行的指令的全体称为该机的指令系统。任何程序,必须转换成该机的硬件能够执行的一系列指令。

2.1 计算机的硬件系统

现代电子计算机的构造均为冯·诺依曼结构,即由输入设备、输出设备、存储器、运算器、控制器等5大部分组成。输入设备的功能是将要加工处理的外部信息转换为计算机能够识别和处理的内部形式,以便于处理;输出设备的功能是将信息从计算机的内部形式转换为用户所要求的形式,以便能为人们识别或被其他设备所接受;存储器的功能是用来存储以内部形式表示的各种信息,由许多存储单元组成,每一个存储单元可以存放若干个二进制位,为了能唯一确定并找到任一个存储单元,计算机对每一个存储单元都指定一个唯一的编号,称为存储单元的地址,当需要把某一单元的内容读出或把数据写入到某一单元中时,通过地址译码器和读/写控制电路找到该存储单元;运算器的功能是对数据进行算术运算和逻辑运算,在控制信号的指挥下,运算器完成如算术运算、逻辑与移位运算、暂存操作数或运算结果以及数据传送等工作;控制器的功能则是产生各种信号,控制计算机各个功能部件协调一致地工作,主要由指令寄存器(IP)、指令寄存器(IR)、指令译码器(ID)和控制信号发生器组成。此外还有用来产生各种微操作控制信号的微操作控制信号形成部件和专门用于处理计算机运行过程中所出现的异常情况和某些请求的中断机构。中断源的种类很多,如外设引起的中断、运算器产生的中断、存储器产生的中断等。指令指针寄存器中存放将要执行的指令的地址,按此地址从内存取出指令,并送到指令寄存器中暂存,然后由指令译码器进行分析译码,根据译码结果由控制信号发生器发出一系列控制信号到运算器、存储器等各功能部件来完成该指令的执行。

运算器和控制器在结构关系上非常密切,它们之间有大量信息频繁地进行交换,共用一些寄存单元,因此将运算器和控制器合称为中央处理器(CPU),将中央处理器和内存储器合称为主机,将输入设备和输出设备称为外部设备。由于外存储器不能直接与CPU交换信息,而它与主机的连接方式和信息交换方式与输出设备和输入设备没有很大差别,因此,一般地把它列入外部设备的范畴。外部设备包括输入设备、输出设备和外存储器,但从外存在整个计算机的功能看,它属于存储系统的一部分,称为外存储器或辅助存储器。(1)中央处理器(CPU)。简称为CPU,它是计算机的核心。CPU由运算器、控制器和一些寄存器组成。运算器用来对数据进行各种算术运算和逻辑运算。控制器的功能是控制、指挥运算器及其他部件的工作,它是计算机的指挥中心。寄存器用来存放正在处理的数据和运算结果。(2)主存储器和辅助存储器。存储器是计算机中存放程序和数据的部件。计算机中的存储器分为两类:主存储器(简称为主存或内存)和辅助存储器(简称为辅存或外存)。

主存储器可以和CPU直接交换信息,是计算机中的工作存储器。程序和数据事先都必须存放在主存中,计算机工作时,所执行的指令和数据都从主存中取出,处理结果一般也都存放在主存中。主存的存取速度快而容量相对较小。

辅助存储器的存储容量很大,但存取速度较慢。辅助存储器中存放着计算机系统中几乎所有的信息。计算机运行时,辅助存储器的信息需要首先进入主存后,才能被CPU使用。目前微机系统中使用的辅助存储器,主要是磁表面存储器(磁盘、磁带)和光盘存储器。(3)输入/输出设备。输入/输出设备又称为I/O设备,是计算机与外界(包括人、另一台计算机或其他设备)联系和沟通的桥梁,用户通过输入/输出设备与计算机系统进行通信。

输入设备是指用户能向计算机输入信息的设备,其功能是将计算机程序、文本、图形、图像、声音等各种数据,转换成计算机能处理的数据形式,并输入到计算机中。目前常用的输入设备有:键盘、鼠标器、触摸屏、数字化仪、扫描仪、图像输入装置、声音输入装置等。

输出设备是指能从计算机输出信息的设备,其功能是将计算机的处理结果转换成人可直接识别的文本、图形、图像以及声音形式。目前常用的输出设备有:显示器、打印机、绘图仪、多媒体音响设备等。(4)总线。总线(Bus)是连接计算机中CPU、主存、辅存、各种输入/输出接口部件的一组物理信号线及其相关的控制电路,它是计算机中各部件间传送信息的公共通路,故总线又称为系统总线。系统总线上有三类信号:数据、地址和控制信号。负责传输这些信号的线路分别称为数据线、地址线和控制线。系统总线和辅存、I/O设备的连接是通过接口实现的,这是因为它们的速度不能和主机相匹配,而且表达信息的格式也不相同。

综上所述,介绍计算机的硬件系统,如图2-1所示。可以看出,计算机内部有两类信息在流动,一是数据流,二是控制流。程序和数据通过输入设备送入存储器中;控制器从存储器中逐条取出命令并加以分析,按照命令的功能规定向各个部件发出一系列的控制信号来执行这条命令;存储器是把参与运算的数据送给运算器;运算器按规定的运算操作进行计算,并把结果送回到存储器中保存。最后把处理的结果通过输出设备送给外界。这就是计算机工作的基本过程。图2-1 计算机的硬件系统

2.2 计算机的软件系统

在上面已经提到了仅有硬件,计算机是不能工作的,如果要计算机正确地运行以解决各种问题,就必须给它编制程序。软件的种类很多,各种软件开发的目的都是为了扩大计算机的功能和方便用户使用,以及使用户编制解决各种问题的源程序更为简单、方便和可靠。计算机的软件包括计算机运行时所需的各种程序以及描述程序功能、性能、设计、内部结构与操作、使用的文档资料。软件可看做是用户与计算机硬件系统的接口,软件之间也存在逐层依赖的关系。

计算机的软件可分为系统软件和应用软件两大类。(1)系统软件。系统软件泛指那些为计算机配置的基础性软件,是使用和管理计算机的软件。系统软件包括各种语言的汇编或解释、编译程序,机器的监控管理程序、操作系统、调试程序、故障诊断程序,程序库等,其中最重要的是操作系统、语言处理程序、数据库管理系统及实用程序与工具软件。

在计算机的发展初期,人们采用二进制编码来编写程序,这种二进制编码就称为机器语言。但是这种用一串0、1书写的机器语言程序太烦琐,不易记忆,且难理解,不便于推广使用。所以人们采用助记符来代替操作码,用符号来代替地址,这就是汇编语言阶段。汇编语言的指令比较容易理解、记忆和交流,但是汇编语言程序不能直接在机器上运行。要运行一个汇编语言程序,必须要把它翻译成机器语言程序,机器才能识别和执行。在早期阶段这种翻译工作是人工完成的,非常烦琐。计算机正是解决这类问题的高手,人们编制了一个称为汇编程序的翻译程序,把用汇编语言编写的程序交给汇编程序翻译成机器语言程序。虽然如此,由于汇编语言的语句和机器语言的指令是一一对应的,所以编制汇编语言程序仍然是一件很困难的工作。

为了使用户编程更加容易,程序中的语句与实际应用更加接近,而且用户不必了解具体的机器就能编写程序,于是出现了各种高级语言,如BASIC、FORTRAN等。高级语言易于学习、理解和掌握,用高级语言编程比较简单,大大提高了工作效率。但是,高级语言编制的程序仍不能直接在机器上执行,为了执行该程序,也需要把高级语言程序翻译成机器语言程序,这就要用到各种翻译程序。

随着计算机技术的发展以及计算机的普及和推广,计算机的操作也由手工方式过渡到多道程序成批地在计算机中运行,于是出现了控制计算机中的所有资源、使多道程序能成批自动运行、充分发挥各种资源最大效能并方便用户使用的操作系统。

操作系统(Operating System)是直接运行在裸机上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行,它是系统软件的核心。操作系统的作用是协调管理计算机系统的各种软件、硬件资源,使之有效地被使用;组织协调计算机的运行,实现计算机运行自动化;为用户提供方便、灵活、友好的用户界面。目前最流行的PC使用的操作系统是微软公司的Windows系列操作系统。

Windows操作系统是目前PC上最流行的操作系统,它采用了以窗口(Window)、图标(Icon)、菜单(Menu)、指示器(Pointer)为特征的图形用户界面,使用户能方便地使用PC,减轻用户记忆与理解操作命令的负担。已经发行的Windows操作系统有Windows 3.1、Windows 3.2、Windows for Workgroup、Windows 95、Windows 98,以及Windows NT、Windows 2000、Windows XP、Windows 2003以及最新推出的Windows VESTA等许多版本。(2)应用软件。应用软件是计算机用户在各自的应用领域中开发和使用的程序。由于计算机的应用极其广泛,随着计算机的普及,各种各样的应用软件竞相推出,所以这类软件种类繁多,不胜枚举,而且都有着广阔的市场和美好的发展前景,如科学计算类程序、工程设计类程序、数据处理类程序、信息管理类程序等。人们解决问题的能力越来越强,使用计算机越来越简单方便,自动化程度越来越高。

在应用软件中有的通用应用软件非常流行,例如,文字处理软件、电子表格软件、绘图软件、网路通信软件等。表2-1介绍了几种PC有代表性的通用应用软件。表2-1 几种PC有代表性的通用应用软件

总之,硬件建立了计算机的物质基础,而各种软件则扩大了计算机的功能。硬件和软件只有结合起来,才能完成各种功能,才算是一个完整的计算机系统。

2.3 计算机的相关术语

1.位(bit)

位是二进制数据的最小单位,一个二进制位只能表示两个状态。要表示的信息如果很大,就要把更多的二进制位联合起来组成一个整体。每增加1位,所表示的数的量就增加1倍。

2.字节(Byte)

字节在微机系统内是常用的一个名词、技术术语,常用B表示之。字节被规定成是由8个二进制信息组成的一个数据单位,也就是说,1字节=8位(二进制),即1Byte=8bit。字节是计算机内用来表示数据的一种单位。通常,在1个字节内存放1个ASCII码,2字节即可用来存放一个汉字国标码。在给计算机内的存储器地址进行编码时,就采用了给每一字节分配一个地址编码的存储器地址编码方案。

3.字(Word)

把计算机在进行数据处理时,一次存取加工和传送的数据长度称为字。一个字可以是由一个或几个字节组成的。由于字长是计算机一次所能处理的实际位数多少,因此决定了计算机数据处理的速率,是衡量计算机性能的重要标志之一,通常字长越长,计算机的性能就越强。

不同计算机的字长是不相同的,如Pentium的前辈机8086、80286就是16位的微处理机,而80386、80486则是32位的微处理机。

就微处理机而论,说到字,就是每16位二进制数构成一个字。也就是说,一个字是由2字节组成的。即1字=2字节=16位。它是由连续存放的两个相邻的字节组成。

在微处理机系统内,存储器容量的大小通常是以字节数量的多少表示。目前常用的计量单位有4种,它们分别是KB、MB、GB、TB。(1)KB。KB是KiloByte的缩写,是千字节的意思,其中K表示千,B表示字节。相当于10的3次方,用二进制表示则相当于2的10次方,要用10位二进制数表示。

在16位微处理机系统内,常用K作为存储容量的量度单位。目前常用K作为文件大小的量度单位。在以Pentium为平台的32位微处理机系统内,它的高速缓冲存储器Cache的容量常用KB量度。(2)MB。MB是MegaByte的缩写,是兆字节的意思,其中M表6示兆,B表示字节。相当于10的6次方,即10=1024 K=1024×1024。用二进制表示则相当于2的20次方,要用20位二进制数表示。

目前,在以Pentium为平台的32位微处理机系统内,它的存储器容量常用MB量度。如在以Pentium 4为平台的微处理机内,存储器配置通常为128MB、256MB或512MB不等。(3)GB。GB是GigaByte的缩写,是吉字节的意思,其中G表示1024M,B表示字节。相当于10的9次方,用二进制表示,则相当于2的30次方,要用30位二进制数来表示。

目前,在以Pentium为平台的32位微处理机系统内,它的硬盘存储器容量常用GB量度。如在以Pentium 4为平台的微处理机内,配置的硬盘存储器通常为20GB、40GB或80GB不等。(4)TB。TB是TeraByte的缩写,是太拉字节的意思,其中T 表示1024 G,B表示字节。相当于10的12次方,用二进制表示则相当于2的40次方,要用40位二进制数来表示。

目前,在以Pentium为平台的32位微处理机系统内,它的虚拟存储容量可用TB量度。如在以Pentium 为平台的微处理机内,它的虚拟存储空间可达64×1024K×1024KB=64×1024×1024MB=64×1024GB=64TB。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载