ARM系列微处理器简介之:ARM芯片的特点与选型
扫描二维码
随时随地手机看文章
表1.3显示了ARM7、ARM9、ARM10及ARM11内核之间属性的比较。有些属性依赖于生产过程和工艺,具体芯片需参阅其芯片手册。
表1.3 ARM系列处理器属性比较
项目
ARM7
ARM9
ARM10
ARM11
流水线深度
3级
5级
6级
8级
典型频率(MHz)
80
150
260
335
功耗(mw/MHz)
0.06
0.19(+Cache)
0.5(+Cache)
0.4(+Cache)
MIPS/MHz
0.97
1.1
1.3
1.2
架构
冯·诺伊曼
哈佛
哈佛
哈佛
乘法器
8×32
8×32
16×32
16×32
表1.4总结了各种处理器的不同功能。
表1.4 ARM处理器不同功能特性
CPU核
MMU/MPU
Cache
Jazelle
Thumb
指令集
E
ARM7TDMI
无
无
否
是
v4T
否
ARM7EJ-S
无
无
是
是
v5TEJ
是
ARM720T
MMU
统一8KBCache
否
是
v4T
否
ARM920T
MMU
独立16KB指令和数据Cache
否
是
v4T
否
ARM922T
MMU
独立8KB指令和数据Cache
否
是
v4T
否
ARM926EJ-S
MMU
Cache和TCM可配置
是
是
v5TEJ
是
ARM940T
MPU
独立4KB指令和数据Cache
否
是
v4T
否
ARM946E-S
MPU
Cache和TCM可配置
否
是
v5TE
是
ARM966E-S
无
Cache和TCM可配置
否
是
v5TE
是
ARM1020E
MMU
独立32KB指令和数据Cache
否
是
v5TE
是
ARM1022E
MMU
独立16KB指令和数据Cache
否
是
v5TE
是
ARM1026EJ-S
MMU
Cache和TCM可配置
是
是
v5TE
是
ARM1036J-S
MMU
Cache和TCM可配置
是
是
v6
是
ARM1136JF-S
MMU
Cache和TCM可配置
是
是
v6
是
1.5.2ARM芯片的选型随着国内嵌入式应用领域的发展,ARM芯片必然会获得广泛的重视和应用。但是由于ARM芯片有多达十几种的芯核结构、70多芯片生产厂家以及千变万化的内部功能配置组合,开发人员在选择方案时会有一定的困难。所以对ARM芯片做对比研究是十分必要的。
1.ARM芯片选择的一般原则从应用角度看,在选择ARM芯片时应从以下几个方面考虑。
(1)ARM芯核
如果希望使用WindowsCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(MemoryManagementUnit)功能的ARM芯片,ARM720T、StrongARM、ARM920T、ARM922T、ARM946T都带有MMU功能。而ARM7TDMI没有MMU,不支持WindowsCE和大部分的Linux;但目前有uCLinux等少数几种Linux不需要MMU的支持。
(2)系统时钟控制器
系统时钟决定了ARM芯片的处理速度。ARM7的处理速度为0.97MIPS/MHz,常见的ARM7芯片系统主时钟为20~133MHz,ARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100~233MHz,ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只有一个主时钟频率,这样的芯片可能不能同时顾及UART和音频时钟准确性,如CirrusLogic的EP7312等;有的芯片内部时钟控制器可以分别为CPU核和USB、UART、DSP、音频等功能部件提供同频率的时钟,如PHILIPS公司SAA7750等芯片。
(3)内部存储器容量
在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯片。表1.5列出了内置存储器的ARM芯片。
表1.5 内置存储器的ARM芯片
芯片型号
供应商
Flash容量
ROM容量
SDAM容量
AT91F40162
ATMEL
2MB
256KB
4KB
AT91FR4081
ATMEL
1MB
128KB
SAA7750
Philips
384KB
64KB
PUC3030A
Micornas
256KB
56KB
HMS30C7272
Hynix
192KB
LC67F500
Snayo
640KB
32KB
(4)USB接口
许多ARM芯片内置有USB控制器,有些芯片甚至同时有USBHost和USBSlave控制器。表1.6显示了内置USB控制器的ARM芯片。
表1.6 内置USB控制器的ARM芯片
芯片型号
ARM内核
供应商
USBSlave
USBHost
IIS接口
S3C2410
ARM920T
Samsung
1
2
1
S3C2400
ARM920T
Samsung
1
2
1
S5N8946
ARM7TDMI
Samsung
1
0
0
L7205
ARM720T
Linkup
1
1
0
L7210
ARM720T
Linkup
1
1
0
EP9312
ARM920T
Cirruslogic
0
3
1
DragonballMX1
ARM920T
Motorola
1
0
1
SAA7750
ARM720T
Plilips
1
0
1
TMS320DSC2x
ARM7TDMI
TI
1
0
0
PUC3030A
ARM7TDMI
Micronas
1
0
5
ML67100
ARM7TDMI
OKI
1
0
0
ML7051LA
ARM7TDMI
OKI
1
0
0
SA-1100
StrongARM
Intel
1
0
0
续表
芯片型号
ARM内核
供应商
USBSlave
USBHost
IIS接口
LH7979531
ARM7TDMI
Sharp
1
0
0
GMS320C7201
ARM720T
Hynix
1
0
1
(5)GPIO数量
在某些芯片供应商提供的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线等引脚复用的。这样在系统设计时需要计算实际可以使用的GPIO数量。
(6)中断控制器
ARM内核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。但各个半导体厂家在设计芯片时加入了自己定义的中断控制器,以便支持诸如串行口、外部中断、时钟中断等硬件中断。外部中断控制是选择芯片必须考虑的重要因素,合理的外部中断设计可以很大程度地减少任务调度工作量。例如PHILIPS公司的SAA7750,所有GPIO都可以设置成FIQ或IRQ,并且可以选择上升沿、下降沿、高电平和低电平4种中断方式。这使得红外线遥控接收、指轮盘和键盘等任务都可以作为背景程序运行。而CirrusLogic公司的EP7312芯片只有4个外部中断源,并且每个中断源都只能是低电平或高电平中断,这样在接收红外线信号的场合必须用查询方式,浪费大量CPU时间。
(7)IIS(IntegrateInterfaceofSound)接口
即集成音频接口。如果设计音频应用产品,IIS总线接口是必需的。
(8)nWAIT信号
这是一个外部总线速度控制信号。不是每个ARM芯片都提供这个信号引脚,利用这个信号与廉价的GAL芯片就可以实现与符合PCMCIA标准的WLAN卡和Bluetooth卡的接口,而不需要外加高成本的PCMCIA专用控制芯片。另外,当需要扩展外部DSP协处理器时,此信号也是必需的。
(9)RTC(RealTimeClock)
很多ARM芯片都提供实时时钟功能,但方式不同。如CirrusLogic公司的EP7312的RTC只是一个32位计数器,需要通过软件计算出年月日时分秒;而SAA7750和S3C2410等芯片的RTC直接提供年月日时分秒格式。
(10)LCD控制器
有些ARM芯片内置LCD控制器,有的甚至内置64KB彩色TFTLCD控制器。在设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片(如S3C2410)较为适宜。
(11)PWM输出
有些ARM芯片有2~8路PWM输出,可以用于电机控制或语音输出等场合。
(12)ADC和DAC
有些ARM芯片内置2~8通道8~12位通用ADC,可以用于电池检测、触摸屏和温度监测等。PHILIPS的SAA7750更是内置了一个16位立体声音频ADC和DAC,并且带耳机驱动。
(13)扩展总线
大部分ARM芯片具有外部SDRAM和SRAM扩展接口,不同的ARM芯片可以扩展的芯片数量即片选线数量不同,外部数据总线有8位、16位或32位。为某些特殊应用设计的ARM芯片(如德国Micronas的PUC3030A)没有外部扩展功能。
(14)UART和IrDA
几乎所有的ARM芯片都具有1~2个UART接口,可以用于和PC机通信或用Angel进行调试。一般的ARM芯片通信波特率为115200bit/s,少数专为蓝牙技术应用设计的ARM芯片的UART通信波特率可以达到920kbit/s,如Linkup公司L7205。
(15)DSP协处理器
表1.7总结了ARM+DSP结构的ARM芯片。
表1.7 ARM+DSP结构的ARM芯片
芯片型号
供应商
DSPCore
DSPMIPS
应用
TMS320DSC2X
TI
16bitC5000
500
数码照相机
DragonballMX1
Motorola
24bit56000
MP3播放器
SAA7750
Philips
24bitEPIC
73
CD-MP3
VWS22100
Philips
16bitOAK
GSM
STLC1502
ST
D950
52
VoIP
GMS30C3201
Hynix
16bitPiccolo
AT75C220
ATMEL
16bitOAK
40
AT75C310
ATMEL
16bitOAK
AT75C320
ATMEL
16bitOAK
40×2
L7205
Linkup
16bitPiccolo
60×2
无线应用
L7210
Linkup
16bitPiccolo
Quatro
OAK
16bitOAK
(16)内置FPGA
有些ARM芯片内置有FPGA,适合于通信等领域。表1.8总结了ARM+FPGA结构的ARM芯片。
表1.8 ARM+FPGA结构的ARM芯片
芯片型号
供应商
ARM芯核
FPGA门数
引脚数
EPXA1
Altera
ARM922T
100000
484
EPXA4
Altera
ARM922T
400000
672
EPXA10
Altera
ARM922T
1000000
1020
TA7S20系列
Triscend
ARM7TDMI
多种
多种
(17)时钟计数器和看门狗
一般ARM芯片都具有2~4个16位或32位时钟计数器和一个看门狗计数器。
(18)电源管理功能
ARM芯片的耗电量与工作频率成正比,一般ARM芯片都有低功耗模式、睡眠模式和关闭模式。
(19)DMA控制器
有些ARM芯片内部集成有DMA(DirectMemoryAccess)接口,可以和硬盘等外部设备高速交换数据,同时减少数据交换时对CPU资源的占用。
另外,还可以选择的内部功能部件有:HDLC、SDLC、CD-ROMDecoder、EthernetMAC、VGAcontroller、DC-DC。可以选择的内置接口有:IIC、SPDIF、CAN、SPI、PCI、PCMCIA。
最后需说明的是封装问题。ARM芯片现在主要的封装有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封装具有芯片面积小的特点,可以减少PCB板的面积,但是需要专用的焊接设备,无法手工焊接。另外一般BGA封装的ARM芯片无法用双面板完成PCB布线,需要多层PCB板布线。
2.多芯核结构ARM芯片的选择为了增强多任务处理能力、数学运算能力、多媒体以及网络处理能力,某些供应商提供的ARM芯片内置多个芯核,目前常见的ARM+DSP,ARM+FPGA,ARM+ARM等结构。
(1)多ARM芯核
为了增强多任务处理能力和多媒体处理能力,某些ARM芯片内置多个ARM芯核。例如Portalplayer公司的PP5002内部集成了两个ARM7TDMI芯核,可以应用于便携式MP3播放器的编码器或解码器。从科胜讯公司(Conexant)分离出来的专门致力于高速通信芯片设计生产的MinSpeed公司在其多款高速通信芯片中集成了2~4个ARM7TDMI内核。
(2)ARM芯核+DSP芯核
为了增强数学运算功能和多媒体处理功能,许多供应商在其ARM芯片内增加了DSP协处理器。通常加入的DSP芯核有ARM公司的PiccoloDSP芯核、OAK公司16位定点DSP芯核、TI的TMS320C5000系列DSP芯核和Motorola的56KDSP芯核等。见表1.7。
(3)ARM芯核+FPGA
为了提高系统硬件的在线升级能力,某些公司在ARM芯片内部集成了FPGA。见表1.8。
3.选择方案举例表1.9列举的最佳方案仅供参考,由于SoC集成电路的发展非常迅速,今天的最佳方案到明天就可能不是最佳的了。因此任何时候在选择方案时,都应广泛搜寻一下主要的ARM芯片供应商,以找出最适合的芯片。
表1.9 最佳应用方案推荐
应用
第一方案
第二方案
备注
高档PDA
S3C2410
DragonballMX1
便携CDMP3播放器
SAA7750
USB和CDROM解码器
FLASHMP3播放器
SAA7750
PUC3030A
内置USB和FLASH
WLAN和BT应用产品
L7205,L7210
DragonballMX1
高速串口和PCMCIA接口
VoiceOverIP
STLC1502
数码照相机
TMS320DSC24
TMS320DSC21
内置高速图像处理DSP
续表
应用
第一方案
第二方案
备注
便携式语音email机
AT75C320
AT75C310
内置双DSP,可以分别处理MODEM和语音
GSM手机
VWS22100
AD20MSP430
专为GSM手机开发
ADSLModem
S5N8946
MTK-20141
电视机顶盒
GMS30C3201
VGA控制器
3G移动电话机
MSM6000
OMAP1510
10G光纤通信
MinSpeed公司系列ARM芯片
多ARM核+DSP核