ARM微处理器目前种类非常丰富,目前ARM7、ARM9、ARM9E、ARM10E、ARM11、Cortex-M3、Cotex-A8等都是常用的。不同的ARM系列具有不同的用途,每一个系列的ARM微处理器都有各自的特点和应用领域。下面详细了解一下各种处理器的特点及其应用领域。
ARM7内核为低功耗的32位RISC处理器,其采用冯·诺依曼体系结构,数据和指令使用同一条总线。ARM7内核有一条3级流水线,执行ARMv4指令集,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点:
● 具有嵌入式ICE-RT逻辑,无论调试还是开发都很方便。
● 极低的功耗,适合对功耗要求较高的应用,如便携式产品。
● 能够提供0.9MIPS/MHz的三级流水线结构。
● 代码密度高并兼容16位的Thumb指令集。
● 支持 Windows CE、Linux、PalmOS 等嵌入式操作系统。
● 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户程序的升级和产品的更新换代。
● 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7系列内核包括多个分支:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器内核,属低端ARM处理器核。其中,TDMI的基本含义如下。
● T:支持16为压缩指令集Thumb。
● D:支持片上Debug。
● M:内嵌硬件乘法器(Multiplier)。
● I:嵌入式ICE,支持片上断点和调试点。
ARM7 系列微处理器的主要应用领域为:工业控制、Internet 设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM9内核为32位RISC处理器,采用哈佛结构,其在高性能和低功耗特性方面提供最佳的性能。ARM9内核微处理器具有以下特点:
● 5级整数流水线,指令执行效率更高。
● 采用哈佛结构。
● 提供1.1MIPS/MHz的运行速率。
● 支持32位ARM指令集和16位Thumb指令集。
● 支持32位的高速AMBA总线接口。
● 内含全性能的 MMU,支持WindowsCE、Linux、PalmOS 等多种主流嵌入式操作系统。
● 内含MPU,支持实时操作系统。
● 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
ARM9系列内核包括ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用领域。ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。
ARM9E 系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大地减小了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的 DSP 处理能力,很适合于那些需要同时使用 DSP 和微控制器的应用场合。ARM9E系列微处理器的主要特点如下:
● 支持DSP指令集,适合于需要高速数字信号处理的场合。
● 5级整数流水线,指令执行效率更高。
● 支持32位ARM指令集和16位Thumb指令集。
● 支持32位的高速AMBA总线接口。
● 支持VFP9浮点处理协处理器。
● 内含全性能 MMU,支持 Windows CE、Linux、PalmOS 等主流嵌入式操作系统。
● 内含MPU,支持实时操作系统。
● 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
● 主频最高可达300MIPS。
ARM9E系列内核包括ARM926EJ-S、ARM946E-S和ARM966E-S三种类型,以适用于不同的应用领域。ARM9E 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。
ARM10E内核为32位RISC处理器,具有高性能、低功耗的特点。ARM10E采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%。ARM10E系列微处理器的主要特点如下:
● 支持DSP指令集,适合于需要高速数字信号处理的场合。
● 6级整数流水线,指令执行效率更高。
● 支持32位ARM指令集和16位Thumb指令集。
● 支持32位的高速AMBA总线接口。
● 支持VFP10浮点处理协处理器。
● 采用了两种先进的节能方式,使其功耗极低。
● 全性能的 MMU,支持 Windows CE、Linux、PalmOS 等多种主流嵌入式操作系统。
● 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
● 主频最高可达400MIPS。
● 内嵌并行读/写操作部件。
ARM10E系列内核包括ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用领域。ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。
ARM1136J-S是第一个执行ARMv6架构指令的处理器,于2003年发布。ARM1136J-S是针对高性能和高能效应用而设计的,其主要特点如下:
● 集成了一条具有独立的load-store和算术流水线的8级流水线。
● ARMv6指令包含了针对媒体处理的单指令流多数据流(SIMD)扩展。
● 采用特殊的设计,以改善视频处理性能。
● 为了进行快速浮点运算,增加了向量浮点单元。
SecurCore系列微处理器专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案,因此,它除了具有ARM体系结构的低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决方案的支持。SecurCore系列微处理器在系统安全方面具有如下的特点:
● 带有灵活的保护单元,以确保操作系统和应用数据的安全。
● 采用软内核技术,防止外部对其进行扫描探测。
● 可集成用户自己的安全特性和其他协处理器。
SecurCore内核包括SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210 四种类型。SecurCore 系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。
Intel StrongARM SA-1100及Intel StrongARM SA-1110处理器是采用ARM体系结构,高度集成的32位RISC微处理器。融合了Intel公司的设计和处理技术及ARM体系结构的电源效率,采用在软件上兼容 ARMv4 体系结构、同时采用具有 Intel 技术优点的体系结构。Intel StrongARM处理器是便携式通信产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。
Xscale处理器是基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的32位处理器。它也支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。Xscale处理器是Intel目前主要推广的一款ARM微处理器。
Cortex-M3是一款低功耗处理器,具有门数目少、中断延迟短、调试成本低的特点,是为要求有快速中断响应能力的深度嵌入式应用而设计的。该处理器采用 ARMv7-M 架构。Cortex-M3系列微处理器的主要特点如下:
● Thumb-2指令集架构(ISA)的子集,包含所有基本的16位和32位Thumb-2指令。
● 哈佛处理器架构,在加载/存储数据的同时能够执行指令取指。
● 三级流水线。
● 32位单周期乘法。
● 具备硬件除法。
● Thumb状态和调试状态。
● 处理模式和线程模式。
● ISR的低延迟进入和退出。
● 可中断-可继续(interruptible-continued)的LDM/STM,PUSH/POP。
● ARMv6类型BE8/LE支持。
● ARMv6非对齐访问。
Cortex-M3内核是最新的ARM内核,也是本书介绍的重点。Cortex-M3处理器目前正在迅速推广,正在逐步取代早期的ARM7等内核处理器。
ARM 微处理器是嵌入式系统的基础,目前 ARM 微处理器有多达十几种的内核结构,而生产ARM芯片的厂商也很多。这就造成了现在ARM芯片丰富多彩的局面,同时也给开发人员在选择方案时带来一定的困难。这里从应用的角度出发,简单介绍在选择ARM微处理器时所应考虑的主要问题。
1.内核的选择
ARM 内核多达十几种,不同的内核适应不同的应用领域。用户应该根据需要选择合适的内核,并不需要选择最强的ARM内核。
2.根据嵌入式系统选择
不同的嵌入式操作系统对ARM处理器的要求不同。Windows CE和标准的Linux操作系统需要带有MMU(Memory Management Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM 都带有 MMU 功能。而另外一些小型的操作系统,例如uCLinux、FreeRTOS等不需要MMU,可以选择ARM7TDMI等低成本内核处理器。
3.工作频率的选择
除了ARM内核结构外,芯片的工作频率也决定了ARM微处理器的处理能力。例如,常见的 ARM7 芯片系统主时钟为 20~133MHz,常见的 ARM9 的系统主时钟频率为 100~233MHz,ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时钟控制器可以分别为ARM核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。用户应该根据系统的运行速度及实时性的要求来选择合理的工作频率。
4.片内存储器的选择
ARM 微处理器一般自带一定的片内程序和数据存储器。对于一些小型的嵌入式系统,可以直接使用片内程序存储器,这就需要根据系统的大小来选择容量合适的ARM芯片。而对于Windows CE等大型的嵌入式系统,则需要外扩存储器。使用片内程序存储空间,可以简化系统的设计。
5.片内资源的选择
ARM 只是一种体系结构,各个半导体厂商除了 ARM 内核外,往往还加入了丰富的片内资源已打造高度集成的ARM芯片。例如增加USB接口、SPI接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等。设计者应根据系统的需求,尽可能选择片内集成这些资源的芯片。这样既可简化系统的设计,同时提高系统的可靠性。