ARM+s3c2440/s3c2410 学习讨论之2.3 ARM微处理器简介与芯片选型

2.3.1  ARM微处理器命名规则

为适应不同的应用场合,ARM公司发布了多个处理器系列,每种处理器都采用一个特定的ARM体系结构。为了便于记忆、理解ARM公司按照一定的规则来命名不同体系的处理器。

ARM 处理器产品,通常以ARMx】【y】【z】【T】【D】【M】【I】【E】【J】【F】【-S】形式出现。ARM处理器命名规则中这些后缀的具体含义:

l         x     系列,号如ARM7ARM9

l         y     存储管理/保护单元

l         z      Cache

l         T     处理器支持Thumb指令集

l         D     支持JTAG调试器

l         M    支持长乘法指令

l         I      有嵌入式跟踪宏单元

l         E     支持增强指令(基于TDMI

l         J      支持JAVA硬件加速(Jazelle

l         F     支持向量浮点单元

l         S     可综合版本

另外,还有一些附加的要点:

l         ARM7TDMI之后的所有ARM内核,即使“ARM”标志后没有包含“TDMI”字符,也都默认包含了TDMI的功能特性;

l         JTAG是由IEEE 1149.1标准测试访问端口和边界扫描结构来描述的,它是ARM用来发送和接收处理器内核与测试仪器之间调试信息的一系列协议。

l         嵌入式ICE宏单元是建立在处理器内部用来设置断点和观察点的调试硬件。

l         可综合,处理器内核是以源代码形式提供的(软核)。

2.3.2  ARM微处理器系列

目前,ARM推出的处理器主要包括:ARM7ARM9ARM9EARM10EARM11CortexSecurCore等。另外还有一些其合作公司推出的产品,例如:intelStrongARMXscale等。每个系列都是针对不同的应用场合的,其拥有不同的特性。下面将分别介绍其特点。

2.3.2.1  ARM7系列

ARM7系列处理器主要用于对功耗和成本要求比较苛刻的消费类产品,其最高主频可以到达130MIPSMIPS指每秒执行的百万条指令数),内核采用冯?诺伊曼体系结构,指令执行采用3级流水线,使用ARMv4指令集。

ARM7系列包括ARM7TDMIARM7TDMI-SARM7EJ-SARM720T 4种类型。

ARM7系列处理器主要具有以下特点:

l         成熟的大批量的32RICS芯片。

l         最高主频到达130MIPS

l         提供0.9 MIPS/MHz的性能。

l         功耗低。

l         代码密度高,兼容16位微处理器。

l         被业界众多IC制造商采用,得到了广泛的操作系统支持。

l         开发工具多、EDA仿真模型多。

l         调试机制完善。

l         提供0.25μm0.18μm0.13μm的生产工艺。

l         代码与ARM9系列、ARM9E系列以及ARM10E系列兼容。

ARM7系列处理器主要应用于下面一些场合:

l         个人音频设备(MP3播放器、WMA播放器、AAC播放器)。

l         接入级的无线设备。

l         喷墨打印机。

l         数码照相机。

l         PDA

2.3.2.2  ARM9系列

ARM9系列采用ARM9TDMI的处理器核,存储系统采用哈佛结构,指令执行采用5级流水线。ARM9处理器能够运行在比ARM7更高的时钟频率上。ARM9系列处理器包括:ARM920TARM922TARM940T。其主要的点有:

l         支持32ARM指令集和16Thumb指令集。

l         五级流水线。

l         提供1.1 MIPS/MHz的性能。

l         单一的AMBA总线接口。

l         支持MMU MPU

l         统一的数据和指令Cache

l         提供0.18μm0.15μm0.13μm的生产工艺。

ARM9系列处理器具体应用于下面一些场合:

l         下一代无线设备,包括视频电话和PDA等。

l         数字消费品,包括机顶盒、家庭网关、MP3播放器和MPEG4播放器。

l         成像设备,包括打印机、数码照相机和数码摄像机。

l         汽车、通信和信息系统。

2.3.2.3  ARM9E系列

ARM9E系列包括的处理器有:ARM926EJ-SARM946E-SARM966E-SARM946E-S包括TCMCache和一个MPUTCMCache的大小可配置。该处理器是针对要求有确定的实时响应的嵌入式控制而设计的。ARM966E-S有可配置的TCM,但没有MPUCache扩展。ARM926EJ-S包含Jazelle技术,可加速Java字节码的执行,它有MMU、可配置的TCM以及数据/指令CacheARM926EJ-S内核为可综合的处理器内核,是针对小型便携式Java设备而设计的。ARM9E系列处理器的特点有:

l         支持32ARM指令集和16Thumb指令集。

l         五级流水线。

l         单一的AMBA总线接口。

l         支持MMU MPU

l         统一的数据和指令Cache

l         提供0.18μm0.15μm0.13μm的生产工艺。

l         包含DSP指令集

l         0.13μm工艺下,可以达到300MIPS的性能。

l         可选的VFP9浮点协处理器。

l         高性能的AHB总线

l         集成实时跟踪和调试功能

l         紧耦合存储器(TCM)接口。

ARM9E系列处理器具体应用于下面一些场合:

l         下一代无线设备,包括视频电话和PDA等。

l         数字消费品,包括机顶盒、家庭网关、MP3播放器和MPEG4播放器。

l         成像设备,包括打印机、数码照相机和数码摄像机。

l         存储设备,包括DVDHDD等。

l         工业控制,包括电机控制等。

l         汽车、通信和信息系统的ABS和车体控制。

l         网络设备,包括VoIPWirelessLANxDSL等。

2.3.2.4  ARM10E系列

ARM10E系列具有高性能、低功耗的特点。ARM10E将流水线扩展到6级,VFP明显增强了浮点运算性能并与IEEE 754.1985浮点标准兼容,提供了64位的Load/Store体系。提供1.25 MIPS/MHz的性能。

ARM10E系列包括ARM1020EARM1022EARM1026EJ-S 3种类型。

ARM10E系列处理器具体应用于下面一些场合:

l         下一代无线设备,包括视频电话和PDA、笔记本电脑和互联网设备。

l         数字消费品,包括机顶盒、家庭网关、MP3播放器和MPEG4播放器。

l         成像设备,包括打印机、数码照相机和数码摄像机。

l         汽车、通信和信息系统等。

l         工业控制,包括马达控制等。

2.3.2.5  ARM11系列

ARM11系列处理器采用ARMv6架构,它集成了一条具有独立的Load/Stroe和算术流水线的8级流水线,增强了多媒体功能。ARM11系列处理器以32位的成本实现了64位的性能。ARM11以其高性能,低功耗的的特性,适合多媒体和无线产品应用。ARM11系列包括:ARM1176JZ(F)-SARM1156T2(F)-SARM1136(F)-SARM11-MPCoreMPCore提供了Cache一致性,且每个可以支持14ARM11核。

ARM11的特性主要有:

l         支持SIMD指令集。

l         Thumb-2指令集。

l         TrustZone技术,提供片上安全机制。

l         多口64位的AMBA3存储系统。

l         向量中断接口和低中断延迟,提供实时性能。

l         可选的向量浮点处理器

l         支持DSP扩展

l         支持jazelle技术

l         IME支持的省电模式有效延长电池使用时间

2.3.2.6  SecurCore系列

SecurCore系列处理器提供了基于高性能的32RISC技术的安全解决方案。SecurCore系列处理器除了具有体积小、功耗低、代码密度高等特点外,还具有它自己特别优势,即提供了安全解决方案支持。SecureCore系列处理器主要应用于一些安全产品及应用系统,包括电子商务、电子银行业务、网络、移动媒体和认证系统等。

SecurCore系列包含SC100SC110SC200SC210 4种类型。

下面总结了SecurCore系列的主要特点:

l         支持ARM指令集和Thumb指令集,以提高代码密度和系统性能;

l         采用软内核技术以提供最大限度的灵活性,可以防止外部对其进行扫描探测;

l         提供了安全特性,可以抵制攻击;

l         提供面向智能卡和低成本的存储保护单元MPU

l         可以集成用户自己的安全特性和其他的协处理器。

2.3.2.7  ARM Cortex系列

ARM Cortex系列处理器采用ARMv7架构,Contex系统定义了三个针对不同应用的分支:基于v7A的称为“Cortex-A”系列,基于v7R的称为“Cortex-R”系列,基于v7M的称为“Cortex-M3 系列。 Cortex处理器系列三个分支因其面向不同的应用领域,其采用的技术各不相同。

ARM Cortex-M3处理器是为对成本和功耗敏感的嵌入式应用而设计的,目标是以8位单片机的价格实现32位的高性能。ARM Cortex-M3处理器只是使用Thumb-2指令集,采用32位哈佛微体系结构。

ARM Cortex-R系列主要适用于实时系统的嵌入式处理器,ARM Cortex-R系列处理器目前包括ARM Cortex-R4ARM Cortex-R4F两个型号,主要适用于实时系统的嵌入式处理器。

ARM Cortex-A系列面向使用复杂操作系统及用户应用的应用处理器,如:互联网设备和消费类多媒体设备等。ARM Cortex-A处理器包括:ARM Cortex-A8ARM Cortex-A9ARM Cortex-A9 MPCore

ARM Cortex-A8处理器技术特点有:

l         采用高性能、更低功耗和更高代码密度Thumb-2指令集,同时兼容ARM指令集。

l         采用了NEON技术,增强多媒体处理能力。

l         超标量体系结构流水线,能够同时执行多条指令。

l         提供最高2000 DMIPS的性能(2.0 DMIPSMHz,主频600 MHz 1 GHz)。

l         先进的分支预测技术。

l         TrustZone技术,提供片上安全机制。

l         包括Jazelle-RCTJava加速技术,对实时(JIT)和动态调整编译(DAC)提供最优化,同时减少内存占用空间高达3倍。

l         集成了一个可调尺寸的二级高速缓冲存储器,能够同高速的16 KB或者32 KB一级高速缓冲存储器一起工作,从而达到最快的读取速度和最大的吞吐量。

l         支持智能能源管理(IEMIntelligent Energy Manger)技术的ARM Artisan库以及先进的泄漏控制技术,使得Cortex-A8处理器实现了非凡的速度和功耗效率。在65 nm上艺下,ARM cortex-A8处理器的功耗不到300 mW,能够提供高性能和低功耗。

2.3.3  ARM 微处理器的芯片选型

在嵌入式系统规划时,系统选型至关重要。系统选型应从软件和硬件两个方面考虑。系统硬件选型中以嵌入式处理器的选择最为关键。这里介绍几个在芯片选型时要考虑的几个因素。

2.3.3.1 芯片自身性能与集成度方面的因素
1)有无MMU

如果希望使用Windows CELinux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMUMemory Management Unit)功能的ARM芯片,ARM720TStrongARMARM920TARM922TARM946T都带有MMU功能。而ARM7TDMI没有MMU,不支持Windows CE和大部分的Linux;但目前有uCLinux等少数几种Linux不需要MMU的支持。

2)芯片效率

系统时钟决定了ARM芯片的处理速度。ARM7的处理速度为0.97MIPS/MHz,常见的ARM7芯片系统主时钟为20133MHzARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100233MHzARM10最高可以达到700MHz。应该根据嵌入式系统应用需要的运算量选择适当主频的芯片。嵌入式系统设计中不能盲目最求高效率,也不要一味的最求成本而选择过低性能的芯片。

3)内部存储器容量

在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯片。

4USB接口

许多ARM芯片内置有USB控制器,有些芯片甚至同时有USB HostUSB Slave控制器。

5GPIO数量

在某些芯片供应商提供的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线等引脚复用的。这样在系统设计时需要计算实际可以使用的GPIO数量。

6)中断控制器

ARM内核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。但各个半导体厂家在设计芯片时加入了自己定义的中断控制器,以便支持诸如串行口、外部中断、时钟中断等硬件中断。外部中断控制是选择芯片必须考虑的重要因素,合理的外部中断设计可以很大程度地减少任务调度工作量。例如PHILIPS公司的SAA7750,所有GPIO都可以设置成FIQIRQ,并且可以选择上升沿、下降沿、高电平和低电平4种中断方式。这使得红外线遥控接收、指轮盘和键盘等任务都可以作为背景程序运行。而Cirrus Logic公司的EP7312芯片只有4个外部中断源,并且每个中断源都只能是低电平或高电平中断,这样在接收红外线信号的场合必须用查询方式,浪费大量CPU时间。

7IISIntegrate Interface of Sound)接口

即集成音频接口。如果设计音频应用产品,IIS总线接口是必需的。

8nWAIT信号

这是一个外部总线速度控制信号。不是每个ARM芯片都提供这个信号引脚,利用这个信号与廉价的GAL芯片就可以实现与符合PCMCIA标准的WLAN卡和Bluetooth卡的接口,而不需要外加高成本的PCMCIA专用控制芯片。另外,当需要扩展外部DSP协处理器时,此信号也是必需的。

9RTCReal Time Clock

如果嵌入式系统是否需要RTC,则要选择内集成RTC功能的芯片,这样功耗和使用都简单,很多ARM芯片都提供实时时钟功能,如Cirrus Logic公司的EP7312和三星的S3C2440等芯片。一般手持类设备都需要RTC来记录日期和时间,如:手机。

10LCD控制器

有些ARM芯片内置LCD控制器,有的甚至内置64KB彩色TFT LCD控制器。在设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片(如S3C2410)较为适宜。

11PWM输出

有些ARM芯片有28PWM输出,可以用于电机控制或语音输出等场合。

12ADCDAC

有些ARM芯片内置28通道812位通用ADC,可以用于电池检测、触摸屏和温度监测等。PHILIPSSAA7750更是内置了一个16位立体声音频ADCDAC,并且带耳机驱动。

13)扩展总线

大部分ARM芯片具有外部SDRAMSRAM扩展接口,不同的ARM芯片可以扩展的芯片数量即片选线数量不同,外部数据总线有8位、16位或32位。为某些特殊应用设计的ARM芯片(如德国MicronasPUC3030A)没有外部扩展功能。

14UARTIrDA

几乎所有的ARM芯片都具有12UART接口,可以用于和PC机通信或用Angel进行调试。一般的ARM芯片通信波特率为115200bit/s,少数专为蓝牙技术应用设计的ARM芯片的UART通信波特率可以达到920kbit/s,如Linkup公司L7205

15)多核考虑

为了增强多任务处理能力、数学运算能力、多媒体以及网络处理能力,某些供应商提供的ARM芯片内置多个芯核,目前常见的ARM+DSPARM+FPGAARM+ARM等结构。

16)内置FPGA

有些ARM芯片内置有FPGA,适合于通信等领域。表1.8总结了ARM+FPGA结构的ARM芯片。

17)时钟计数器和看门狗

一般ARM芯片都具有2416位或32位时钟计数器和一个看门狗计数器。

18)电源管理功能

ARM芯片的耗电量与工作频率成正比,一般ARM芯片都有低功耗模式、睡眠模式和关闭模式。

19DMA控制器

有些ARM芯片内部集成有DMADirect Memory Access)接口,可以和硬盘等外部设备高速交换数据,同时减少数据交换时对CPU资源的占用。

另外,还可以选择的内部功能部件有:HDLCSDLCCD-ROM DecoderEthernet MACVGA controllerDC-DC。可以选择的内置接口有:IICSPDIFCANSPIPCIPCMCIA

最后需说明的是封装问题。ARM芯片现在主要的封装有QFPTQFPPQFPLQFPBGALBGA等形式,BGA封装具有芯片面积小的特点,可以减少PCB板的面积,但是需要专用的焊接设备,无法手工焊接。另外一般BGA封装的ARM芯片无法用双面板完成PCB布线,需要多层PCB板布线。

2.3.3.2其他因素
2.3.3.2.1 芯片稳定性

芯片稳定性是首先要考虑的问题。硬件设计中也是会存在BUG的,尤其是一些小的设计公司设计的芯片,更容易存在问题。我们选择芯片时,首先选择经过产品量产的芯片,经过产品考验的芯片我们可以放心使用,即便有问题也可以克服;其次可以看公司规模和信誉度,相比之下,规模大、信誉好的公司的产品还是值得信任的。

2.3.3.2.2 芯片供应商的技术支持能力

嵌入式开发问题多种多样,好的技术支持能够保证我们快速的完成产品设计。

总之嵌入式系统设计中芯片选型是综合考虑各方因素的结果。

文章来自: http://blog.mcuol.com/User/fenghua/Article/13186_1.htm

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值