32位RISCCPUARM芯片的应用和选型
32位RISC CPU ARM芯片的应用和选型
%A 摘要:ARM公司以及ARM芯片的现状和发展,从应用的角度介绍了ARM芯片的选择方法,并介绍了具有多芯核结构的ARM芯片。列举了目前的主要ARM芯片供应商,其产品以及应用领域。举例说明了几种嵌入式产品最佳ARM芯片选择方案。
%A 关键词:ARM MMU SOC RISC CPU
%A ARM公司自1990年正式成立以来,在32位RISC(Reduced Instruction Set Computer)CPU开发领域不断取得突破,其结构已经从V3发展到V6。由于ARM公司自成立以来,直以IP(Intelligence Property)提供者的身份向各大半导体制造商出售知识产权,而自己从不介入芯片的生产销售,加上其设计的芯核具有功耗低、成本低等显著优点,因此获得众多的半导体厂家和整机厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功,目前已经占有75%以上32位RISC嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了市场领导地位。现在设计、生产ARM芯片的国际大公司已经超过50多家,国中兴通讯和华为通讯等公司已经购买ARM公司芯核用于通讯专用芯片的设计。
%A 目前非常流行的ARM芯核有ARM7TDMI,StrongARM,ARM720T,ARM9TDMI,ARM922T,ARM940T,RM946T,ARM966T,ARM10TDMI等。自V5以且,ARM公司提供Piccolo DSP的芯核给芯片设计得,用于设计ARMDSP的SOC(System On Chip)结构芯片。此外,ARM芯片还获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:Windows CE、Linux、pSOS、VxWorks、Nucleus、EPOC、uCOS、BeOS等。
%A 随着国内嵌入式应用领域的发展,ARM芯片必然会获得广泛的重视和应用。但是,由于ARM芯片有多达十几种的芯核结构,70多芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难。所以,对ARM芯片做一对比研究是十分必要的。
%A 1 ARM芯片选择的一般原则
%A 从应用的角度,对在选择ARM芯片时所应考虑的主要困素做一详细的说明。
%A 1.1 ARM芯核
%A 如果希望使用WinCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(memory management unit)功能的ARM芯片,ARM720T、Stron-gARM、ARM920T、ARM922T、ARM946T都带有MMU功能。而ARM7TDMI没有MMU,不支持Windows CE和大部分的Linux,但目前有uCLinux等少数几种Linux不需要MMU的支持。
%A 1.2 系统时钟控制器
%A 系统时钟决定了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等芯片。
%A 1.3 内部存储器容量
%A 在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯片。见表1。
%A
%A 表1 内置存储器的ARM芯片
%A 芯片型号 供应商 FLASH容量 ROM容量 SRAM容量
%A AT91F40162
%A AT91FR4081
%A SAA7750
%A PUC3030A
%A HMS30C7202
%A ML67Q4001
%A LC67F500 ATMEL
%A ATMEL
%A Philips
%A Micronas
%A Hynix
%A OKI
%A Snayo 2M Bytes
%A 1M Bytes
%A 384K Bytes
%A 256K Bytes
%A 192K Bytes
%A 256K Bytes
%A 640K Bytes 256K bytes 4K Bytes
%A 128K Bytes
%A 64K bytes
%A 56K bytes
%A
%A
%A 32K bytes
%A 1.4 USB接口
%A 许多ARM芯片内置有USB控制器,有些芯片甚至同时有USB Host和USB Slave控制器。见表2。
%A
%A 表2 内置USB控制器的ARM芯片
%A 芯片型号 ARM内核 供应商 USB Slave USB Host IIS接口
%A S3C2410
%A S3C2400
%A S5N8946
%A L7205
%A L7210
%A EP9312
%A Dragonball MX1
%A SAA7750
%A TMS320DSC2x
%A PUC3030A
%A AAEC-2000
%A ML67100
%A ML7051LA
%A SA-1100
%A LH7979531
%A GMS320C7201 ARM920T
%A ARM920T
%A ARM7TDMI
%A ARM720T
%A ARM720T
%A ARM920T
%A ARM920T
%A ARM720T
%A ARM7TDMI
%A ARM7TDMI
%A ARM920T
%A ARM7TDMI
%A ARM7TDMI
%A StrongARM
%A ARM7TDMI
%A ARM720T Samsung
%A Samsung
%A Samsung
%A Linkup
%A linkup
%A Cirrus Logic
%A Motorola
%A Philips
%A TI
%A Micronas
%A Agilent
%A OKI
%A OKI
%A Intel
%A Sharp
%A Hynix 1
%A 1
%A 1
%A 1
%A 1
%A 0
%A 1
%A 1
%A 1
%A 1
%A 1
%A 1
%A 1
%A 1
%A 1
%A 1 2
%A 2
%A 0
%A 1
%A 1
%A 3
%A 0
%A 0
%A 0
%A 0
%A 0
%A 0
%A 0
%A 0
%A 0
%A 0 1
%A 1
%A 0
%A 0
%A 0
%A 1
%A 1
%A 1
%A 0
%A 5
%A 0
%A 0
%A 0
%A 0
%A 0
%A 1
%A 1.5 GPIO数量
%A 在某些芯片供应商提供的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线等引脚复用的。这样在系统设计时需要计算实际可以使用的GPIO数量。
%A 1.6 中断控制器
%A ARM内核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。但各个半导体厂家在设计芯片时加入了自己同的中断控制器,以便支持诸如串行口、外部中断、时钟断等硬件中断。外部中断控制是选择芯片必须考虑的重要因素,合理的外部中断设计可以很大程度的减少任务调度工作量。例如PHILIPS公司的SAA7750,所有GPIO都可以设置成FIQ或IRQ,并且可以选择升沿、下降沿、高电平、低电平四种中断方式。这使得红外线遥控接收、指轮盘和键盘等任务都可以作为背景程序运行。而Cirrus Logic公司的EP7312芯片,只有4个外部中断源,并且 每个中断源都只能是低电平或才高电平中断,样在用于接收红外线信号的场合时,就必须用查询方式,会浪费大量CPU时间。
%A 1.7 IIS(Integrate Interface of Sound)接口
%A 即集成音频接口。如果设计者频应用产品,IIS总线接口是必需的。
%A 1.8 nWAIT信号
%A 外部总线速度控制信号。不是每个ARM芯片都提供这个信号引脚,利用这个信号与廉价的GAL芯片就可以实现与符合PCMCIA标准的WLAN卡和Bluetooth卡的接口,而不需要外加高成本的PCMCIA专用控制芯片。另外,当需要扩展外部DSP协处理器时,此信号也是必需的。
%A 1.9 RTC(Real Time Clock)
%A 很多ARM芯片都提供实时时钟功能,但方式不同。如Cirrus Logic公司的EP7312的RTC只是一个32位计数器,需要通过软件计算出年月日时分秒;而SAA7750和S3C2410等芯片的RTC直接提供年月日时分秒格式。
%A 1.10 LCD控制器
%A 有些ARM芯片内置LCD控制器,有的甚至内置64K彩色TFT LCD控制器。在设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片如S1C2410较为适宜。
%A 1.11 PWM输出
%A 有些ARM芯片有2~8路PWM输出,可以用于电机控制或语音输出等场合。
%A 1.12 ADC和DAC
%A 有些ARM芯片内置2~8通道8~12位通用ADC,可以用于电池检测、触摸屏和温度监测等。PHILIPS的SAA7750更是内置了一个16位立体声音频ADC和DAC,并且带耳机驱动。
%A 1.13 扩展总线
%A 大部分ARM芯片具有外部SDRAM和SRAM扩展接口,不同的ARM芯片可以扩展的芯片数量即片选线数量不同,外部数据总线有8位、16位或32位。某些特殊应用ARM芯片如德国Micronas的PUC3030A没有外部扩展功能。
%A 1.14 UART和IrDA
%A 几乎所有的ARM芯片都具有1~2个UART接口,可以用于和PC机通讯或用Angel进行调试。一般的ARM芯片通讯波特率为115,200bps,少数专为蓝牙技术应用设计的ARM芯片的UART通讯波特率可以达到920Kbps,如Linkup公司L7205。
%A 1.15 DSP协处理器,见表3。
%A
%A 表3 ARM+DSP结构的ARM芯片
%A 芯片型号 供应商 DSP core DSP MIPS 应 用
%A TMS320DSC2X
%A Dragonball MX1
%A SAA7750
%A VWS22100
%A STLC1502
%A GMS30C3201
%A AT75C220
%A AT75C310
%A AT75C320
%A L7205
%A L7210
%A Quatro TI
%A Motorola
%A Philips
%A Philips
%A ST
%A Hynix
%A ATMEL
%A ATMEL
%A ATMEL
%A Linkup
%A Linkup
%A OAK 16bits C5000
%A 24bits 56000
%A 24bits EPIC
%A 16bits OAK
%A D950
%A 16bits Piccolo
%A 16bits OAK
%A 16bits OAK
%A 16bits OAK
%A 16bits Piccolo
%A 16bits Piccolo
%A 16bits OAK 500
%A
%A 73
%A 52
%A
%A
%A 40
%A 40x2
%A 60X2
%A Digital Camera
%A CD-MP3
%A CD-MP3
%A GSM
%A VOIP
%A STB
%A IA
%A IA
%A IA
%A Wireless
%A Wireless
%A Digital Image
%A 1.16 内置FPGA
%A 有些ARM芯片内置有FPGA,适合于通讯等领域。见表4。
%A
%A 表4 ARM+FPGA结构的ARM芯片
%A 芯片型号 供应商 ARM芯核 FPGA门数 引脚数
%A EPXA1
%A EPXA4
%A EPXA10
%A TA7S20系列 Altera
%A Altera
%A Altera
%A Triscend ARM922T
%A ARM922T
%A ARM922T
%A ARM7TDMI 100K
%A 400K
%A 1000K
%A 多种 484
%A 672
%A 1020
%A 多种
%A 1.17 时钟计数器和看门狗
%A 一般ARM芯片都具有2~4个16位或32位时钟计数器和一个看门狗计数器。
%A 1.18 电源管理功能
%A ARM芯片的耗电量与工作频率成正比,一般ARM芯片都有低功耗模式、睡眠模式和关闭模式。
%A 1.19 DMA控制器
%A 有些ARM芯片内部集成有DMA(Direct Memory Access),可以和硬盘等外部设备高速交换数据,同时减少数据交换时对CPU资源的占用。
%A 另外,还可以选择的内部功能部件有:HDLC,SDLC,CD-ROM Decoder,Ethernet MAC,VGA controller,DC-DC。可以选择的内置接口有:IIC,SPDIF,CAN,SPI,PCI,PCMCIA。
%A 最后需说明的是封装问题。ARM芯片现在主要的封装有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封装具有芯片面积小的特点,可以减少PCB板的面积,但是需要专用的焊接设备,无法手工焊接。另外一般BGA封装的ARM芯片无法用双面板完成PCB布线,需要多层PCB板布线。
%A 2 多芯核结构ARM芯片的选择
%A 为了增强多任务处理能力、数学运算能力、多媒体以及网络处理能力,某些供应商提供的ARM芯片内置多个芯核,目前常见的ARM+DSP,ARM+FPGA,ARM+ARM等结构。
%A 2.1 多ARM芯核
%A 为了增强多任务处理能力和多媒体处理能力,某些ARM芯片内置多个ARM芯核。例如Portal player公司的PP5002内部集成了两个ARM7TDMI芯核,可以应用于便携式MP3播放器的编码器或解码器。从科胜讯公司(Conexant)分离出云的专门致力于高速通讯芯片设计生产的MinSpeed公司就在其多款高速通讯芯片中集成了2~4个ARM7TDMI内核。
%A 2.2 ARM芯核+DSP芯核
%A 为了增强数学运算功能和多媒体处理功能,许多供应商在其ARM芯片内增加了DSP协处理器。通常加入的DSP苡核有ARM公司的Piccolo DSP芯核、OAK公司16位定点DSP芯核、TI的TMS320C5000系列DSP芯核、Motorola的56K DSP芯核等。见表3。
%A 2.3 ARM芯核+FPGA
%A 为了提高系统硬件的在线升级能力,某些公司在ARM芯片内部集成了FPGA。见表4。
%A 3 主要ARM芯片供应商
%A 目前可以提供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芯核,正在设计自主版板权专用芯片的大陆公司会为通讯中兴通讯等。
%A
%A 表5 主要ARM芯片供应商及其代表性产品和主要应用领域
%A 供应商 芯片1 芯片2 芯片3 芯片4 主要应用
%A Intel
%A TI
%A Samsung
%A Motorola
%A Philips
%A Cirrus Logic
%A Linkup
%A ATMEL
%A OKI
%A Sharp
%A Qualcomm
%A ST
%A Infineon
%A Analog
%A Hynix
%A Micronas
%A Conexant
%A Agilent
%A Portalpayer
%A NEC
%A NetSilicon
%A LSI Logic
%A Alcatel
%A Altera
%A Panasonic
%A Silicon Wave
%A OAK
%A Rohm
%A Parthus
%A Intersil
%A SiRF
%A Sirius
%A Sanyo
%A Virata
%A Agere SA-110
%A TMS320DSC21
%A S3C44B0X
%A Dragonball MX1
%A SAA7750
%A EP7209
%A L7200
%A AT91R40XXX
%A ML67100
%A LH75400/1
%A MSP1000
%A STLC1502
%A PMB7754
%A AD20MSP430
%A GMS30C7201
%A PUC3030A
%A CN9414
%A AAEC-2000
%A PP5002
%A UPD65977
%A NET+15
%A CBP3.0
%A MTC20276
%A EPXA1
%A MN1A7T0200
%A SiW1750
%A Quatro
%A BU6611AKU
%A InfoSream
%A ISL3856
%A SiRF Star II
%A CDMAx
%A VOL101
%A Helium
%A T8300 SA-1100
%A TMS320DSC24
%A S3C2410
%A
%A VWS22100
%A EP7212
%A L7205
%A AT75C310
%A ML7051LA
%A LH79520
%A MSM3000
%A STw2400
%A
%A
%A HMS30C7202
%A
%A CX82100
%A
%A
%A
%A NET+40
%A CBP4.0
%A MTK20141
%A EPXA4
%A
%A
%A
%A
%A
%A
%A
%A DIRAC
%A
%A Helium 200
%A T8302 SA-1110
%A TMS320DSC25
%A S3C4510
%A
%A VCS94250
%A EP7312
%A L7210
%A AT76C901
%A ML67Q4000
%A LH79531/2/3
%A MSM5000
%A
%A
%A
%A HMS39C7092
%A
%A
%A
%A
%A
%A NET+50
%A L64324
%A MTK20285
%A EPXA10
%A
%A
%A
%A
%A
%A
%A
%A
%A
%A Helium 210 IXP1200
%A PMAP1510
%A S5N8946
%A
%A VW26001
%A EP9312
%A
%A AT76C502
%A ML67Q2300
%A LH7A400
%A MSM6000
%A
%A
%A
%A
%A
%A
%A
%A
%A
%A
%A
%A MTC20277
%A
%A
%A
%A
%A
%A
%A
%A
%A
%A
%A Lithium Palm PC,Network
%A Digital Camera
%A ADSL,PDA
%A BT,PDA
%A MP3,GSM,3G,BT
%A GP,MP3
%A Wireless
%A GP,Wireless
%A GP,BT
%A Portable handheld
%A CDMA
%A VOIP,BT
%A BT
%A GSM
%A STB,GP
%A GP,MP3
%A Network,Modem
%A IA
%A MP3,PDA
%A Configurable
%A Ethernet
%A CDMA
%A ISDN,ADSL
%A Configurable
%A PDA,Phone
%A BT
%A Digital Image
%A ISDN
%A Wireless Internet
%A 802.11b,WLAN
%A GPS
%A 3G CDMA
%A CD-R HDC
%A Communications
%A Mobile phone
%A 4 选择方案举例
%A 表6列举的最佳方案仅供参考,由于SOC集成电路的发展非常迅速,今天的最佳方案到明天就可以不是最佳的了。因此任何时候在选择方案时,都应广泛搜寻一下主要的ARM芯片供应商,以找出最适合芯片。
%A
%A 表6 最佳应用方案推荐
%A 应 用 第一选择方案 第二选择方案 注 释
%A 高档PDA S3C2410 Dragon ball MX1
%A 便携CDMP3播放器 SAA7750 USB和CD-ROM解码器
%A FLASH MP3播放器 SAA7750 PUC3030A 内置USB和FLASH
%A WLAN和BT应用产品 L7205,L7210 Dragon ball MX1 高速串口和PCMCIA接口
%A Voice Over IP STLC1502
%A 数字式照相机 TMS320DSC24 TMS320DSC21 内置高速图像处理DSP
%A 便携式语音email 机 AT75C320 AT75C310 内置双DSP,可以分别处理MODEM和语音
%A GSM手机 VWS22100 AD20MSP430 专为GSM手机开发
%A ADSL Modem S5N8946 MTK-20141
%A 电视机顶盒 GMS30C3201 VGA控制器
%A 3G移动电话机 MSM6000 OMAP1510
%A 10G光纤通信 MinSpeed公司系列ARM芯片 多ARM核+多DSP核
%A
%A
%A
%A
%A%A
%A
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。