从应用的角度,对在选择ARM
1.1 ARM 芯核
如果希望使用WinCE 或Linux 等操作系统以减少软件开发时间,就需要选择ARM720T 以上带有MMU (memory management unit )功能的ARM 芯片,ARM720T 、StrongARM 、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 | ATMEL | 2M Bytes | 256K bytes | 4K Bytes |
1.4 USB 接口
许多ARM 芯片内置有USB 控制器,有些芯片甚至同时有USB Host 和USB Slave 控制器。见表2 。
表2 内置USB 控制器的ARM
芯片型号 | ARM 内核 | 供应商 | USB Slave | USB Host | IIS 接口 |
S3C2410 | ARM920T | Samsung | 1 | 2 | 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 | TI | 16bits C5000 | 500 | Digital Camera |
1.16 内置FPGA
有些ARM 芯片内置有FPGA ,适合于通讯等领域。见表4 。
表4 ARM+FPGA 结构的ARM
芯片型号 | 供应商 | ARM 芯核 | FPGA 门数 | 引脚数 |
EPXA1 | Altera | ARM922T | 100K | 484 |
1.17 时钟计数器和看门狗
一般 ARM 芯片都具有 2 ~ 4 个 16 位或 32 位时钟计数器和一个看门狗计数器。
1.18 电源管理功能
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 芯核,正在设计自主版权专用芯片的大陆公司为通讯中兴通讯等。
表5 主要ARM
供应商 | 芯片1 | 芯片2 | 芯片3 | 芯片4 | 主要应用 |
Intel | SA-110 | SA-1100 | SA-1110 | IXP1200 | Palm PC,Network |
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 |