1.1 ARM芯核 如果希望使用WinCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(memory management unit)功能的ARM芯片,ARM720T、Stron-gARM、ARM920T、ARM922T、ARM946T都带有MMU功能。而ARM7TDMI没有MMU,不支持Windows CE和大部分的Linux,但目前有uCLinux等少数几种Linux不需要MMU的支持。 1.2 系统时钟控制器 系统时钟决定了ARM芯片的处理速度。ARM7的处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100MHz-233MHz,ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只有一个主时钟频率,这样的芯片可能不能同时顾及UART和音频时钟准确性,如Cirrus Logic的EP7312等;有的芯片内部时钟控制器可以分别为CPU核和USB、UART、DSP、音频等功能部件提供同频率的时钟,如PHILIPS公司SAA7750等芯片。 1.3 内部存储器容量 在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯片。见表1。 表1 内置存储器的ARM芯片
芯片型号 | 供应商 | FLASH容量 | ROM容量 | SRAM容量 | AT91F40162
AT91FR4081
SAA7750
PUC3030A
HMS30C7202
ML67Q4001
LC67F500 | ATMEL
ATMEL
Philips
Micronas
Hynix
OKI
Snayo | 2M Bytes
1M Bytes
384K Bytes
256K Bytes
192K Bytes
256K Bytes
640K Bytes | 256K bytes | 4K Bytes
128K Bytes
64K bytes
56K bytes
32K bytes |
1.4 USB接口 许多ARM芯片内置有USB控制器,有些芯片甚至同时有USB Host和USB Slave控制器。见表2。
表2 内置USB控制器的ARM芯片
芯片型号 | ARM内核 | 供应商 | USB Slave | USB Host | IIS接口 | S3C2410
S3C2400
S5N8946
L7205
L7210
EP9312
Dragonball MX1
SAA7750
TMS320DSC2x
PUC3030A
AAEC-2000
ML67100
ML7051LA
SA-1100
LH7979531
GMS320C7201 | ARM920T
ARM920T
ARM7TDMI
ARM720T
ARM720T
ARM920T
ARM920T
ARM720T
ARM7TDMI
ARM7TDMI
ARM920T
ARM7TDMI
ARM7TDMI
StrongARM
ARM7TDMI
ARM720T | Samsung
Samsung
Samsung
Linkup
linkup
Cirrus Logic
Motorola
Philips
ti
Micronas
Agilent
OKI
OKI
Intel
Sharp
Hynix | 1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1 | 2
2
0
1
1
3
0
0
0
0
0
0
0
0
0
0 | 1
1
0
0
0
1
1
1
0
5
0
0
0
0
0
1 |
1.5 GPIO数量 在某些芯片供应商提供的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线等引脚复用的。这样在系统设计时需要计算实际可以使用的GPIO数量。 1.6 中断控制器 ARM 内核只提供快速中断(FIQ )和标准中断(IRQ )两个中断向量。但各个半导体厂家在设计芯片时加入了自己同的中断控制器,以便支持诸如串行口、外部中断、时钟断等硬件中断。外部中断控制是选择芯片必须考虑的重要因素,合理的外部中断设计可以很大程度的减少任务调度工作量。例如PHILIPS 公司的SAA7750 ,所有GPIO 都可以设置成FIQ 或IRQ ,并且可以选择升沿、下降沿、高电平、低电平四种中断方式。这使得红外线遥控接收、指轮盘和键盘等任务都可以作为背景程序运行。而Cirrus Logic 公司的EP7312 芯片,只有4个外部中断源,并且 每个中断源都只能是低电平或才高电平中断,样在用于接收红外线信号的场合时,就必须用查询方式,会浪费大量CPU 时间。1.7 IIS(Integrate Interface of Sound)接口 即集成音频接口。如果设计者频应用产品,IIS总线接口是必需的。 1.8 nWAIT信号 外部总线速度控制信号。不是每个ARM芯片都提供这个信号引脚,利用这个信号与廉价的GAL芯片就可以实现与符合PCMCIA标准的WLAN卡和Bluetooth卡的接口,而不需要外加高成本的PCMCIA专用控制芯片。另外,当需要扩展外部DSP协处理器时,此信号也是必需的。 1.9 RTC(Real Time Clock) 很多ARM芯片都提供实时时钟功能,但方式不同。如Cirrus Logic公司的EP7312的RTC只是一个32位计数器,需要通过软件计算出年月日时分秒;而SAA7750和S3C2410等芯片的RTC直接提供年月日时分秒格式。 1.10 LCD控制器 有些ARM芯片内置LCD控制器,有的甚至内置64K彩色TFT LCD控制器。在设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片如S1C2410较为适宜。 1.11 PWM输出 有些ARM芯片有2~8路PWM输出,可以用于电机控制或语音输出等场合。 1.12 ADC和DAC 有些ARM芯片内置2~8通道8~12位通用ADC,可以用于电池检测、触摸屏和温度监测等。PHILIPS的SAA7750更是内置了一个16位立体声音频ADC和DAC,并且带耳机驱动。 1.13 扩展总线 大部分ARM芯片具有外部SDRAM和SRAM扩展接口,不同的ARM芯片可以扩展的芯片数量即片选线数量不同,外部数据总线有8位、16位或32位。某些特殊应用ARM芯片如德国Micronas的PUC3030A没有外部扩展功能。 1.14 UART和IrDA 几乎所有的ARM芯片都具有1~2个UART接口,可以用于和PC机通讯或用Angel进行调试。一般的ARM芯片通讯波特率为115,200bps,少数专为蓝牙技术应用设计的ARM芯片的UART通讯波特率可以达到920Kbps,如Linkup公司L7205。 1.15 DSP协处理器,见表3。
表3 ARM+DSP结构的ARM芯片
芯片型号 | 供应商 | DSP core | DSP MIPS | 应 用 | TMS320DSC2X
Dragonball MX1
SAA7750
VWS22100
STLC1502
GMS30C3201
AT75C220
AT75C310
AT75C320
L7205
L7210
Quatro | TI
Motorola
Philips
Philips
ST
Hynix
ATMEL
ATMEL
ATMEL
Linkup
Linkup
OAK | 16bits C5000
24bits 56000
24bits EPIC
16bits OAK
D950
16bits Piccolo
16bits OAK
16bits OAK
16bits OAK
16bits Piccolo
16bits Piccolo
16bits OAK | 500
73
52
40
40x2
60X2 | Digital Camera
CD-MP3
CD-MP3
GSM
VOIP
STB
IA
IA
IA
Wireless
Wireless
Digital Image |
有些ARM芯片内置有FPGA,适合于通讯等领域。见表4。
表4 ARM+FPGA结构的ARM芯片
芯片型号 | 供应商 | ARM芯核 | FPGA门数 | 引脚数 | EPXA1
EPXA4
EPXA10
TA7S20系列 | Altera
Altera
Altera
Triscend | ARM922T
ARM922T
ARM922T
ARM7TDMI | 100K
400K
1000K
多种 | 484
672
1020
多种 |
1.17 时钟计数器和看门狗 一般ARM芯片都具有2~4个16位或32位时钟计数器和一个看门狗计数器。 ARM芯片的耗电量与工作频率成正比,一般ARM芯片都有低功耗模式、睡眠模式和关闭模式。 1.19 DMA控制器 有些ARM芯片内部集成有DMA(Direct Memory Access),可以和硬盘等外部设备高速交换数据,同时减少数据交换时对CPU资源的占用。 另外,还可以选择的内部功能部件有:HDLC,SDLC,CD-ROM Decoder,Ethernet MAC,VGA controller,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等结构。 2.1 多ARM芯核 为了增强多任务处理能力和多媒体处理能力,某些ARM芯片内置多个ARM芯核。例如Portal player公司的PP5002内部集成了两个ARM7TDMI芯核,可以应用于便携式MP3播放器的编码器或解码器。从科胜讯公司(Conexant)分离出云的专门致力于高速通讯芯片设计生产的MinSpeed公司就在其多款高速通讯芯片中集成了2~4个ARM7TDMI内核。 2.2 ARM芯核+DSP芯核 为了增强数学运算功能和多媒体处理功能,许多供应商在其ARM芯片内增加了DSP协处理器。通常加入的DSP苡核有ARM公司的Piccolo DSP芯核、OAK公司16位定点DSP芯核、TI的TMS320C5000系列DSP芯核、Motorola的56K DSP芯核等。见表3。 2.3 ARM芯核+FPGA 为了提高系统硬件的在线升级能力,某些公司在ARM芯片内部集成了FPGA。见表4。 3 主要ARM芯片供应商
目前可以提供ARM 芯片的著名欧美半导体公司有:英特尔、德洲仪器、三星半导体、摩托罗拉、飞利浦半导体、意法半导体、亿恒半导体、科胜讯、ADI 公司、安捷伦、高通公司、Atmel 、Intersil 、Alcatel 、Altera 、Cirrus Logic 、Linkup 、Parthus 、LSI Logic 、Micronas,Silicon Wave 、Virata 、Portalplayer inc. 、NetSilicon ,Parthus 。见表5。日本的许多著名半导体公司或东芝、三菱半导体、爱普生、富士通半导体、松下半导体等公司较早期都大力投入开了自主的32位CPU 结构,但现在都转向购买ARM 公司的芯核进行新产品设计。由于它们购买ARM 版权较晚,现在还没有可销售的ARM 芯片,而OKI 、NEC 、AKM 、OAK 、Sharp 、Sanyo 、Sony 、Rohm 等日本半导体公司目前都已经已经指生产了ARM 芯片。韩国的现代半导体公司也生产提供ARM 芯片。另外 ,国外也很多设备制造商采用ARM 公司芯核设计自己的专用芯片,如美国的IBM 、3COM 和新加坡的创新科技等。我国***地区可以提供ARM 芯片的公司台积电、台联电、华帮电子等。其它已购买ARM 芯核,正在设计自主版板权专用芯片的大陆公司会为通讯中兴通讯等。
4 选择方案举例 表6列举的最佳方案仅供参考,由于SOC 集成电路的发展非常迅速,今天的最佳方案到明天就可以不是最佳的了。因此任何时候在选择方案时,都应广泛搜寻一下主要的ARM 芯片供应商,以找出最适合芯片。
表6 最佳应用方案推荐
应 用 | 第一选择方案 | 第二选择方案 | 注 释 | 高档PDA | S3C2410 | Dragon ball MX1 | | 便携CDMP3播放器 | SAA7750 |
| USB和CD-ROM解码器 | FLASH MP3播放器 | SAA7750 | PUC3030A | 内置USB和FLASH | WLAN和BT应用产品 | L7205,L7210 | Dragon ball MX1 | 高速串口和PCMCIA接口 | Voice Over IP | STLC1502 |
| | 数字式照相机 | TMS320DSC24 | TMS320DSC21 | 内置高速图像处理DSP | 便携式语音email 机 | AT75C320 | AT75C310 | 内置双DSP,可以分别处理MODEM和语音 | GSM手机 | VWS22100 | AD20MSP430 | 专为GSM手机开发 | ADSL Modem | S5N8946 | MTK-20141 | | 电视机顶盒 | GMS30C3201 |
| VGA控制器 | 3G移动电话机 | MSM6000 | OMAP1510 | | 10G光纤通信 | MinSpeed公司系列ARM芯片 | 多ARM核+多DSP核 |
|