版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信盈达技术服务中心ARM7教程系列 第 191 页 共 191 页 编制:信盈达研发部 版本:V1.1 日期:2008年09月16日 修改:2009年12月31日版权声明:该培训教程版权归深圳信盈达电子有限公司所有,未经公司授权禁止引用、发布、转载等,否则将追究其法律责任。 目录第一章: ARM、嵌入式系统介绍第二章:ARM外围硬件、实验板硬件详解第三章:ARM体系架构第四章: ARM指令集介绍第五章: ARM启动代码祥解第六章:GPIO实验第七章:UART实验第八章: I2C实验第九章: SPI实验第十章:定时器实验第11章 : PWM实验第12章 :AD/DA实验第十三章:RTC实验第十四
2、章:看门狗实验第十五章: LCD驱动实验第十六章:KEIL集成开发环境介绍及应用第十七章:ADS集成开发环境介绍及应用第十八章:JTAG仿真调试器的使用第十九章: µc/os操作系统简介第二十章:µc/os操作系统移植实例第二十一章: 嵌入式系统工程设计、项目管理第二十二章:ARM电子项目开发实战案例附录1:ZA-1ARM7开发板原理图附录2:ARM芯片编程、下载指南 第一章:ARM、嵌入式系统介绍1.0 ARM微处理器概述1.1 ARM简介:ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的R
3、ISC (精简指令集)处理器。ARM公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。 图1-1 ARM授权树状图ARMAdvanced RISC MachinesARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的
4、微处理器应用约占据了32位RISC微处理器75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。ARM公司是专门从事基于RISC(RISC全称reduced instruction set computer,精简指令集计算机)。作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个
5、系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。1.2 ARM微处理器的应用领域及特点1.2.1 ARM微处理器的应用领域到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域: 1)工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。 2)无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术, ARM以其高性能和低成本,在该领域的地位日益巩固。 3)网络应用:随着宽带技术的推广,采用ARM技术的
6、ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。 4)消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。 5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。1.2.2 ARM微处理器的特点采用RISC架构的ARM微处理器一般具有如下特点: 1)体积小、低功耗、低成本、高性能; 2)支持Thumb(16位)/ARM(32位)双指令集,能很
7、好的兼容8位/16位器件; 3)大量使用寄存器,指令执行速度更快; 4)大多数数据操作都在寄存器中完成; 5)寻址方式灵活简单,执行效率高; 6)指令长度固定。1.3 ARM微处理器系列ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。ARM7系列ARM9系列ARM9E系列ARM10E系列SecurCore系列Inter的XscaleInter的StrongARM其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领
8、域的需求。SecurCore系列专门为安全要求较高的应用而设计。以下我们来详细了解一下各种处理器的特点及应用领域。1.3.1 ARM7微处理器系列ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点: 1)具有嵌入式ICERT逻辑,调试开发方便。 2)极低的功耗,适合对功耗要求较高的应用,如便携式产品。 3)能够提供0.9MIPS/MHz的三级流水线结构。 4)代码密度高并兼容16位的Thumb指令集。 5)对操作系统的支持广泛,包括Windows CE、Linux、UC/OS等。 6)指令系统与ARM9系列、ARM9
9、E系列和ARM10E系列兼容,便于用户的产品升级换代。 7)主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。 ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:T:支持16为压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier)I:嵌入式IC
10、E,支持片上断点和调试点;本书所介绍的Phlips公司的LPC2132即属于该系列的处理器。1.3.2 ARM9微处理器系列ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点: 1)5级整数流水线,指令执行效率更高。 2)提供1.1MIPS/MHz的哈佛结构。 3)支持32位ARM指令集和16位Thumb指令集。 4)支持32位的高速AMBA总线接口。 5)全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 6)MPU支持实时操作系统。 7)支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM9系列微处理器主
11、要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。1.4 ARM微处理器结构1.4.1 RISC体系结构传统的CISC(Complex Instruction Set Computer,复杂指令集计算机)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20的指令会被反复使用,占整个程序代码的80。而余下的80的指令却不经常
12、使用,在程序设计中只占20,显然,这种结构是不太合理的。基于以上的不合理性,1979年美国加州大学伯克利分校提出了RISC(Reduced Instruction Set Computer,精简指令集计算机)的概念,RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。到目前为止,RISC体系结构也还没有严格的定义,一般认为,RISC 体系结构应具有如下特点: 1)采用固定长度的指令格式,指令归
13、整、简单、基本寻址方式有23种。 2)使用单周期指令,便于流水线操作执行。 3)大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指令可以访问存储器,以提高指令的执行效率。除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。 4)可用加载/存储指令批量传输数据,以提高数据的传输效率。 5)可在一条数据处理指令中同时完成逻辑处理和移位处理。 6)在循环处理中使用地址的自动增减来提高运行效率。当然,和CISC架构相比较,尽管RISC架构有上述的优点,但决不能认为RI
14、SC架构就可以取代CISC架构,事实上,RISC和CISC各有优势,而且界限并不那么明显。现代的CPU往往采用CISC的外围,内部加入了RISC的特性,如超长指令集CPU就是融合了RISC和CISC的优势,成为未来的CPU发展方向之一。1.4.2 ARM微处理器的寄存器结构ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:1)31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。2)6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存
15、器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0R14)、一至二个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。关于ARM处理器的寄存器结构,在后面的相关章节将会详细描述。1.4.3 ARM微处理器的指令结构ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省3040以上的存储空间,同时具备32位代码的
16、所有优点。关于ARM处理器的指令结构,在后面的相关章节将会详细描述。1.5 ARM微处理器的应用选型鉴于ARM微处理器的众多优点,随着国内外嵌入式应用领域的逐步发展,ARM微处理器必然会获得广泛的重视和应用。但是,由于ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难,所以,对ARM芯片做一些对比研究是十分必要的。以下从应用的角度出发,对在选择ARM微处理器时所应考虑的主要问题做一些简要的探讨。ARM微处理器内核的选择从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不同的应用领域,用户如果希望使用Wi
17、nCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持Windows CE和标准Linux,但目前有uCLinux等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。事实上,uCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他方面都有上佳表现。1.5.1系统的工作频率: 系统的工作频率在很大程度上决定了ARM微处理器的
18、处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz,ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时钟控制器可以分别为ARM核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。1.5.2芯片内存储器的容量: 大多数的ARM微处理器片内存储器的容量都不太大,需要用户在设计系统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间,如AT
19、MEL的AT91F40162就具有高达2MB的片内程序存储空间,用户在设计时可考虑选用这种类型,以简化系统的设计。2.0嵌入式系统的概念嵌入式系统举例-汽车控制系统 图1-2汽车控制系统嵌入式系统定义:目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义: 从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语反映了这些嵌入式系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的
20、系统中可以共存多个嵌入式系统。 嵌入式处理器:早期的嵌入式系统通常使用普通个人计算机(PC)中的通用处理器。近年来,随着大量先进的微处理器制造技术的发展,越来越多的嵌入式系统用嵌入式处理器建造,而不是用通用目的的处理器。 这些嵌入式处理器可以大致分为以下几类:注重嵌入式处理器的尺寸、能耗和价格。应用于PDA等不注重计算的设备;注重嵌入式处理器的性能。应用于路由器等计算密集型的设备;注重嵌入式处理器的性能、尺寸、能耗和价格。应用于蜂窝电话等设备;2.1嵌入式微处理器(单板计算机)嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板
21、功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、PC104等。图1-3单板计算机2.2嵌入式微控制器(单片机)嵌入式微控制器又称单片机,它是将整个计算机系统集成到一块芯片中。嵌入式微控制
22、器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。 图1-4嵌入式微控制器 图1-5嵌入式微控制器芯片内部图 和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目
23、前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。 嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、数目众多ARM芯片等。目前MCU占嵌入式系统约70的市场份额。2.3嵌入式处理器-DSP处理器DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功
24、能,过渡到采用嵌入式DSP处理器。 2.4嵌入式处理器-嵌入式片上系统(SOC)随着EDA的推广和VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是System On Chip(SOC)。各种通用处理器内核将作为SOC设计公司的标准库,和许多其它嵌入式系统外设一样,成为 VLSI设计中一种标准的器件,用标准的 VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗
25、、提高可靠性非常有利。 SoC可以分为通用和专用两类。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。专用SoC一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是Philips的Smart XA,它将XA单片机内核和支持超过2048 位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载JAVA或C语言的专用的SOC,可用于公众互联网如Internet安全方面。 3嵌入式操作系统3.1概述: 图1-6操作系统类别 计算机系统由硬件和软件组成,在发展初期没有操作系
26、统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源也愈来愈丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序又进一步发展形成了操作系统(Operating System)。发展到现在,广泛使用的有三种操作系统即多道批处理操作系统、分时操作系统以及实时操作系统。 3.2实时操作系统的特点IEEE 的实时UNIX分委会认为实时操作系统应具备以下的几点: 异步的事件响应 切换时间和中断延迟时间确定 优先级中断和调度 抢占式调度 内存锁定 连续文件 同步 总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强
27、调的是实时性、可靠性和灵活性, 与实时应用软件相结合成为有机的整体起着核心作用, 由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统和嵌入式实时操作系统。一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。 嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规模小(一般在几K几十K 内)、可固化使用实时性强(在毫秒或微秒数量级上)的特点 。3.3
28、前后台系统对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成。 图1-7前后台系统3.4操作系统操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬件资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。 图1-8计算机系统组成3.5实时操作系统(RTOS)实时操作系统是一段在嵌入式系统启动后首先执行的背景
29、程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。 3.6代码的临界区代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临界区使用的共享资源,这个中断可能可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立
30、即开中断。 3.7资源:程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。3.8共享资源可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。 图1-9 共享资源3.9任务一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。3.10任务切换当多任务内核决定运行
31、另外的任务时,它保存正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入CPU的寄予存器,并开始下一个任务的运行。这个过程就称为任务切换。这个过程增加了应用程序的额外负荷。CPU的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于CPU有多少寄存器要入栈。3.11内核多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分
32、成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如25的CPU运行时间、RAM和ROM等。 内核提供必不可少的系统服务,如信号量、消息队列、延时等。3.12调度调度是内核的主要职责之一。调度就是决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。 3.13非占先式内核非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称
33、作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。3.14占先式内核当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个
34、高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。3.15任务优先级任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。 3.16中断中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:1. 在前后台系统中,程序回到后台程序;2. 对非占先式内核而言,程序回到被中断了的任务;3. 对占先式内核而言,让进入就绪态的优先级最高的
35、任务开始运行。 图1-10不同系统中断过程3.17时钟节拍时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。3.18使用实时操作系统的必要性嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。使用实时操作系统主要有以下几个因素:嵌入式
36、实时操作系统提高了系统的可靠性。 提高了开发效率,缩短了开发周期。 嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。 3.19实时操作系统的优缺点优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。缺点:但是,使用嵌入式实时操作系统还需要额外的ROM/RAM开销,25%的CPU额外负荷,以及内核的费用。 3.20常见的嵌入式操作系统3.20.1嵌
37、入式Linux 图1-11 Linux操作系统界面 图1-12 Win CE uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码。uClinux从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如ARM7TDMI。它通常用于具有很少内存或Flash的嵌入式系统。它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。 3.20.2 Win CEWind
38、ows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作,它是精简的Windows 95。Windows CE的图形用户界面相当出色。Win CE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。Win CE不仅继承了传统的Windows图形界面,并且在Win CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C+等)、使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。 2.20.3 VxWorks操作系统是美国WIND RIVER公司于1983年设
39、计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等,甚至在1997年4月登陆火星表面的火星探测器上也使用到了VxWorks。2.20.4 OSEOSE主要是由ENEA Data AB 下属的ENEA OSE Systems AB负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和容错性应用的先锋,并保持良好的发展态势。
40、OSE的客户深入到电信,数据,工控,航空等领域,尤其在电信方面,该公司已经有了十余年的开发经验,同诸如爱立信,诺基亚,西门子等知名公司确定了良好的关系。 2.20.5 NucleusNucleus PLUS是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。Nucleus PLUS采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。由于采用了软件组件的方法,使Nucleus PLUS 的各个组件非常易于替换和复用。2.20.
41、6 eCoseCos是RedHat公司开发的源代码开放的嵌入式RTOS产品,是一个可配置、可移植的嵌入式实时操作系统,设计的运行环境为RedHat的GNUPro和GNU开发环境。eCOS的所有部分都开放源代码,可以按照需要自由修改和添加。eCOS的关键技术是操作系统可配置性,允许用户组和自己的实时组件和函数以及实现方式,特别允许eCOS的开发则定制自己的面向应用的操作系统,使eCos能有更广泛的应用范围。2.20.7 C/OS-IIC/OS-II是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。其绝大部分源码是用ANSI C写的,使其可以方便的移植并支持大多数类型的处理器。C
42、/OS-II通过了联邦航空局(FAA)商用航行器认证。自1992年问世以来,C/OS-II已经被应用到数以百计的产品中。C/OS-II占用很少的系统资源,并且在高校教学使用是不需要申请许可证。2.20.8 uITRONTRON是指“实时操作系统内核(The Real-time Operating system Nucleux)”,它是在1984年由东京大学的Sakamura博士提出的,目的是为了建立一个理想的计算机体系结构。通过工业界和大学院校的合作,TRON方案正被逐步用到全新概念的计算机体系结构中。uITRON是TRON的一个子方案,它具有标准的实时内核,适用于任何小规模的嵌入式系统,日本
43、国内现有很多基于该内核的产品,其中消费电器较多。目前已成为日本事实上的工业标准。 TRON明确的设计目标使其甚至比Linux更适合于做嵌入式应用,内核小,启动速度快,即时性能好,也很适合汉字系统的开发。另外,TRON的成功还来源于如下两个重要的条件:1.它是免费的2.它已经建立了开放的标准,形成了较完善的软硬件配套开发环境,较好地形成了产业化。 第二章:ARM外围硬件、实验平台硬件详解1.0 常用电子元器件介绍常用电子元器件有:电阻、电容、电感、二极管、三极管、集成芯片等。1.1电阻1.1.1作用:电阻在电路中主要起分压,限流,分流,负载等作用,基本单位是欧姆(),常用单位还有千欧( k )
44、, 兆欧 (M)。1.1.2类别:按制造电阻所用的材料划分,有金属膜电阻,碳膜电阻,水泥电阻,精密合金电阻等。1.1.3阻值:电阻是按系列值生产的,国际上通常采用E24系列。表示法:有文字和色环两种表示方法,文字表示是将电阻的参数直接标在电阻体上(比如0805、0603贴片电阻),色环标称是近几年来因适应电子自动化装配而广泛采用的(如插件电阻)。1.1.4功率:额定功率指允许在电阻器上长期负载得最大功率,额定功率及符号一般会标注(小功率电阻一般不标注)。在使用中选用电阻的额定功率应大于其实际功率的1.52倍,以留有余量.1.1.5其它电阻:可变电阻:又称电位器,用于可变衰减,分压调节等场合.敏
45、感电阻:常有热敏、压敏、光敏、磁敏等,它们是非线性元件,能将其他物理量转化为电量,常用于自动控制电路的检测元件.1.2电容1.2.1作用: 电容是储存电场能的元件。在电路中起耦合、滤波、振荡、隔直、旁路等作用。基本单位是法拉F,常用单位有微法F、皮法pF。1.2.2类别: 按所用电介质可分为三类:有机介质电容器如纸介电容、涤纶电容。无机介质电容器如瓷介电容、独石电容、云母电容。电解电容器如铝电解、钽电解、铌电解电容器等。气体介质电容器如空气电容器。1.2.3容值: 电容器的系列值依所用材料而论。对于无机介质及高频有机薄膜电容器,其容量系列值同电阻一样,采用E24系列。表示法:有文字表示和三位数
46、码表示。文字表示是直接将参数标在电容体上。三位数码表示如(104表示0.1uf)1.2.4耐压: 是指规定工作温度范围内电容器两端长时间承受最大直流电压,其数值有6.3V、10V、16V、25V、40V、63V、100V、160V、250V、300V、450V、630V、1000V等。使用中,额定耐压值应大于实际承受电压值的1.52倍。以防电容被击穿。1.2.5其它电容: 可变电容:指通过改变两极间相对位置来改变容量的电容.常用在接收机的调谐回路中选台或振荡回路中改变频率,有单联、双联两种。微调电容:也称半可变电容,有瓷介微调和拉线电容两种。1.3电感器:1.3.1电感器:是一种储存磁场能的元
47、件,可用于滤波、振荡、耦合、磁电转换、阻抗匹配、高压发生等场合。基本单位是亨利H,常用单位有毫亨(mH)、 微亨(H)。1.3.2电感器分类:有自感、互感之分。自感包括高频阻流圈、低频阻流圈、例如日光灯镇流器。互感包括电源变压器、各种信号传输变压器等。1.4晶体管:1.4.1二极管1.4.1.1作用:具有单向导电性,由一个PN结组成。在电路中起开关、稳压、整流、隔离等作用。1.4.1.2类别:可分为普通、稳压、整流、变容、开关、发光二极管、瞬变二极管等各种类别。1.4.1.3参数:最大反向工作电压:二极管所能承受的最大反向电压。最大允许电流:在长期正常工作条件下允许通过的最大正向电流值。1.4
48、.2三极管: 1.4.2.1作用:三级管具有两个PN 结,能以小的Ib 引起大的Ic,因此具有放大作用,属于电流控制器件,而场效应管则是电压控制器件。1.4.2.2类别: 频率分可分为高频管、低频管;按功率分有小、中、大功率管;按材料分分为硅管、锗管等。场效应管按结构差异,可分为结型场效应管和绝缘栅型场效应管。1.4.2.3参数:三级管的主要参数有电流放大倍数,集电级最大允许电流IcM,最大功耗PcM,截止频率fT , CE极的击穿电压BVceo等。场效应管的主要参数与三级管大致相同。1.4.3可控硅: 作用:用低电压去控制大功率电路的一种无触点的半导体器件,常用在可控整流、交流调压、无触点开
49、关等控制器中。类别:有双向、单向可控硅。参数:有最小开启电压、最小保持电流,最大允许通过电流等。1.5集成电路(集成芯片): 集成电路指在半导体制造工艺的基础上,采用光刻等工艺,把整个电路中的元器件制作在一块硅基片上,构成特定的电子电路。英文缩写成IC。1.5.1芯片分类:1.5.1.1按工艺分,有薄膜IC、厚膜IC、半导体IC、和混合IC。1.5.1.2按功能分,有模拟IC、数字IC、接口IC和特殊IC。还可分为通用和专用,模拟IC如运算放大器、模拟乘法器、集成稳压器、功率IC等。数字IC目前使用最多的是TTL型和COMS型,另外还有微处理器类如单片机(MCU),数字信号处理器(DSP)等。
50、接口IC又可分为外围驱动器、电平转换器、显示驱动器、A/D和D/A转换器。1.5.1.3按规模分可分为:小规模集成电路(SSI),集成度为112门/片。中规模(MSI):集成度1399门/片。大规模(LSI):集成度1001000门/片。超大规模(VLSI):集成度大于1000门/片。1.6.0电声器件: 常见的电声器件有扬声器、拾音器、耳机、话筒、压电陶瓷片(蜂鸣器)、录音机用磁头、放像机用磁鼓。电表用电磁或磁电式表头。1.7.0光电器件:1.7.1作用:光电器件的主要功能是完成光能与电能的转换。通常包括光电耦合器(光藕隔离)、半导体光敏器件、半导体发光器件、数码和图像显示器件。1.7.2光
51、耦具有体积小、寿命长、无触点、抗干扰性强等优点.常用于隔离线路、开关电路、数模转换、逻辑电路、长线传输、过流保护、高压控制、电平匹配等。常见类型有晶体管型、高灵度达林顿晶体管型、光可控硅型。1.7.3半导体光敏器件有光敏二极管、光敏三极管、硅光电池等。光敏二极管电流线性好、响应速度快。光敏三极管把光敏二极管和普通三极管直接制在一起,自身具有放大作用。硅光电池能把太阳能转化为电能。1.7.4半导体发光器件 主要有发光二极管(LED)、红外发射接收二极管、电平指示发光二极管。光电激光LED的寿命长、功耗小、驱动电压低、响应速度快。通常有红黄绿蓝等颜色。光电激光器是一种新兴器件,主要用在激光唱机(C
52、D机),激光视盘机(VCD机),激光光盘存储设备(如光盘驱动器)等。1.7.5数码和图像显示器件 有荧光数码管,LEDT段式数码管,LED点阵,LED显示器等。荧光数码管体积大、驱动电压高、现已基本淘汰。LEDT段式数码管体积小、驱动电压低、广泛应用于数字化仪表、计算机终端做数字显示。LED 接点阵一般将发光二极管做成8x8点阵,用来显示图像。有单色、双色、三色等。广泛应用于广场、车站、体育场等大型显示屏。1.7.6 LCD显示器 是利用液晶的特殊物理性质和光电效应制成的。耗电低但本身不发光,属于被动显示器件,需外光源照明。广泛应用于手机、传呼机、笔记本电脑等便携电子产品。1.8.0其它器件1
53、.8.1开关件、插接件: 开关件在电路中用于换接电路.常用的有波段开关、钮子开关、按钮开关、微动开关、按键开关、凸轮开关如继电器等。插接件在电路中可实现简便连接,常用的有:Q9型插头座、香蕉插头座、针孔式插头座、耳机,电源用插头座、接线板、面包板等。1.8.2滤波器:滤波器是指对频率有一定选择作用的二端网络或四端网络。常见的有陶瓷滤波器、晶体滤波器、声表面滤波器等。1.8.3熔断器:又称保险器.主要有插入式熔断器、保险丝管、快速保险器、自动可恢复保险丝等。1.9.0常用芯片介绍1.9.1与门芯片(74LS08、74HC08)芯片逻辑图、真值表芯片说明:该芯片为4路与门芯片。1.9.2 或门芯片
54、(74LS32、74HC32)逻辑图、真值表: 芯片说明:该芯片为4路或门芯片。1.9.3非门芯片(74LS04、74HC04)芯片说明:该芯片为6路非门芯片。1.9.4 74LS00(与非门. 四路2输入与非门)简要说明:引出端符号1A4A,1B4B 输入端1Y4Y 输出端。逻辑图、真值表:无需片选,直接应用即可。74LS02为或非可自行分析。1.9.5 74LS37374LS373外部管腿图、真值表: 74LS373为三态输出的八D透明锁存器,共有54/74S373和54/74LS373两种线路结构型式。373为三态输出的8 D透明锁存器, 373的输出端O0-O7可直
55、接与总线相连。当三态允许控制端OE为低电平时,O0-O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0-O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。373引出端符号: D0D7-数据输入端 OE-三态允许控制端低电平有效,LE-锁存允许端 O0-O7-输出端 1.9.6 74LS374: 74LS374和74LS373唯一区别为74LS373为电平触发控制器件,74LS374为脉冲触发控制器件。1.9.7 ULN2003ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。该电路的特点如下:ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003 采用DIP16 或SOP16 塑料封装
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 崇左市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)完整参考答案详解
- 2026年金华市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(模拟题)
- 广安市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(培优a卷)
- 赤峰市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(突破训练)
- 陕西省农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(研优卷)
- 2025年特种作业人员考试(煤矿安全监测监控作业)仿真试题及答案
- 朝阳市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(能力提升)
- 达州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)有完整答案详解
- 吕梁市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(黄金题型)
- 綦江县农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(突破训练)
- 社工证的考试试题及答案
- 2024年新人教版七年级上册数学教学课件 5.1.1 第1课时 方程
- 申请书继续学习
- 主题班队会课件:爱学校爱老师爱同学
- 国际减灾日培训
- Unit 5 lesson 4 My favourite animal(说课稿)-2024-2025学年冀教版(2024)初中英语七年级上册001
- 2025年春新道德与法治九年级下册教学课件 第四课 第1课时 中国的机遇与挑战
- 金融机构舆情风险应急预案
- 十大常用管理工具
- 2024年度储能电站在建项目收购合作协议范本3篇
- 护士ECMO进修总结
评论
0/150
提交评论