ARM的介绍和选择

发布者:码农闲散人最新更新时间:2015-03-16 来源: laogu关键字:ARM  MMU  SOC  RISC  CPU 手机看文章 扫描二维码
随时随地手机看文章
ARM公司自1990年正式成立以来, 在32位RISC (Reduced Instruction Set Computer CPU开

发领域不断取得突破,其结构已经从V3发展到V6。由于ARM公司自成立以来,一直以IP
(Intelligence Property)提供者的身份向各大半导体制造商出售知识产权,而自己从不介入芯
片的生产销售,加上其设计的芯核具有功耗低、成本低等显著优点,因此获得众多的半导体厂家
和整机厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功,目前已经占有75%以上的32
位RISC嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了市场领导地位。现在设计、
生产ARM芯片的国际大公司已经超过50多家,国内中兴通讯和华为通讯等公司也已经购买ARM公司
的芯核用于通讯专用芯片的设计。

目前非常流行的ARM芯核有ARM7TDMI,StrongARM ARM720T,ARM9TDMI,ARM922T,ARM940T,
RM946T,
ARM966T,ARM10TDM1等。自V5以后,ARM公司提供Piccolo DSP的芯核给芯片设计者,用于设计
ARM+DSP 的SOC (System On Chip) 结构的芯片。此外,ARM芯片还获得了许多实时操作系统
(Real Time Operating System)供应商的支持,比较知名的有:Windows CE、Linux、pSOS、
VxWorks Mucleus、EPOC、uCOS、BeOS等。
随着国内嵌入式应用领域的发展,ARM芯片必然会获得广泛的重视和应用。但是,由于ARM芯片有
多达十几种的芯核结构,70多家芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员
在选择方案时带来一定的困难。所以,对ARM芯片做一对比研究是十分必要的。

1 ARM芯片选择的一般原则
从应用的角度,对在选择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公司的SAA7550等芯片。

1.3 内部存储器容量
在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯片。见表1。 
表1 内置存储器的ARM芯片 
芯片型号    供应商   FLASH容量  ROM容量    SRAM容量 
AT91F40162 ATMEL    2M Bytes   256K bytes 4K Bytes 
AT91FR4081 ATMEL    1M Bytes   128K Bytes 
SAA7750    Philips  384K Bytes 64K bytes 
PUC3030A   Micronas 256K Bytes 56K bytes 
HMS30C7202 Hynix    192K Bytes   
ML67Q4001  OKI      256K Bytes   
LC67F500   Snayo    640K Bytes 32K 

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 
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  Cirrus Logic 0       3       1 
Dragonball MX1 ARM920T Motorola   1         0       1 
SAA7750       ARM720T  Philips    1         0       1 
TMS320DSC2x   ARM7TDMI TI         1         0       0 
PUC3030A      ARM7TDMI Micronas   1         0       5 
AAEC-2000     ARM920T  Agilent    1         0       0 
ML67100       ARM7TDMI OKI        1         0       0 
ML7051LA      ARM7TDMI OKI        1         0       0 
SA-1100       StrongARM Intel     1         0       0 
LH79531       ARM7TDMI Sharp      1         0       0 
GMS320C7201   ARM720T  Hynix      1         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。 
表3ARM+DSP结构的ARM芯片 
芯片型号        应商     DSP core      DSP MIPS    应用 
TMS320DSC2X    TI       16bits C5000   500    Digital Camera 
Dragonball MX1 Motorola 24bits 56000              CD-MP3 
SAA7750        Philips  24bits EPIC             73 CD-MP3 
VWS22100       Philips  16bits OAK      52       GSM 
STLC1502       ST       D950   VOIP 
GMS30C3201     Hynix    16bits Piccolo   STB 
AT75C220       ATMEL    16bits OAK 40 IA 
AT75C310       ATMEL    16bits OAK 40x2 IA 
AT75C320       ATMEL    16bits OAK 60X2 IA 
L7205          Linkup   16bits Piccolo                Wireless 
L7210          Linkup   16bits Piccolo                wireless 
Quatro         OAK      16bits OAK                    Digital Image 
1.16 内置FPGA
有些ARM芯片内置有FPGA,适合于通讯等领域。见表4。 
表4ARM+FPGA结构的ARM芯片 
芯片型号 供应商 ARM芯核 FPGA门数 引脚数 
EPXA1    Altera ARM922T 100K    484 
EPXA4    Altera ARM922T 400K    672 
EPXA10   Altera ARM922T 1000K   1020 
TA7S20系列 Triscend ARM7TDMI 多种 多种 

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 
TI TMS320DSC21 TMS320DSC24 TMS320DSC25 OMAP1510 Digital Camera 
Samsung S3C44B0X S3C2410 S3C4510 S5N8946 ADSL,PDA 
Motorola Dragonball MX1       BT,PDA 
Philips SAA7750 VWS22100 VCS94250 VWS26001 MP3,GSM ,3G,BT 
Cirrus Logic EP7209 EP7212 EP7312 EP9312 GP,MP3 
Linkup L7200 L7205 L7210   Wireless 
ATMEL AT91R40XXX AT75C310 AT76C901 AT76C502 GP, Wireless 
OKI ML67100 ML7051LA ML67Q4000 ML67Q2300 GP,BT 
Sharp LH75400/1 LH79520LH79520 LH79531/2/3 LH7A400 Portable handheld 
Qualcomm MSP1000 MSM3000 MSM5000 MSM6000 CDMA 
ST STLC1502 STw2400     VOIP,BT 
Infineon PMB7754       BT 
Analog AD20MSP430       GSM 
Hynix GMS30C7201 HMS30C7202 HMS39C7092   STB,GP 
Micronas PUC3030A       GP, MP3 
Conexant CN9414 CX82100     Network, Modem 
Agilent AAEC-2000       IA 
Portalplayer PP5002       MP3, PDA 
NEC UPD65977       Configurable 
NetSilicon NET+15 NET+40 NET+50   PDA, Phone 
LSI Logic CBP3.0 CBP4.0 L64324   BT 
Alcatel MTC20276 MTK20141 MTK20285 MTC20277 Digital Image 
Altera EPXA1 EPXA4 EPXA10   Configurable 
Panasonic MN1A7T0200       PDA,Phone 
Silicon Wave SiW1750       BT 
OAK Quatro       Digital Image 
Rohm BU6611AKU       ISDN 
Parthus InfoSream       Wireless Internet 
Intersil ISL3856       802.11b, WLAN 
SiRF SiRF Star II       GPS 
Sirius CDMAx DIRAC     3G CDMA 
Sanyo VOL101       CD-R, HDC 
Virata Helium Helium 200 Helium 210 Lithium Communications 
Agere T8300 T8302     Mobile phone 

表6 最佳应用方案推荐 
应用 第一选择方案 第二方案 注释 
高档PDA S3C2410 Dragon ball MX1   
便携式CDMP3播放器 SAA7750   USB和CD-ROM解码器 
FLASHMP3播放器 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手机开发 
ADSLModem S5N8946 MTK-20141   
电视机顶盒 GMS30C3201   VGA控制器 
3G移动电话机 MSM6000 OMAP1510   
10G光纤通信 MinSpeed公司系列ARM芯片 多ARM核+多DSP核 

4 选择方案举例
表6列举的最佳方案仅供参考,由于SOC集成电路的发展非常迅速,今天的最佳方案到明天就可能
不是最佳的了。因此任何时候在选择方案时,都应广泛搜寻一下主要的ARM芯片供应商,以找出最
适合的芯片。

关键字:ARM  MMU  SOC  RISC  CPU 引用地址:ARM的介绍和选择

上一篇:44b0X的中断控制
下一篇:arm7和arm9的区别

推荐阅读最新更新时间:2024-03-16 13:55

未来汽车功能将会千篇一律?没什么不可能
所谓的“Wintel”平台自1990年代晚期,孕育了一系列几乎功能完全相同、价格低廉的标准型PC;最近几年,智慧型手机步上了PC的后尘──我们在8年前因为苹果(Apple)推出第一支iPhone而见证了手机产业的变革,随着Google的Android平台普及化,智慧型手机迅速商品化。那…汽车会是下一个吗?   我的预测是“会”,这是不可避免的;不过这个问题的重点并不在于那样的情况“会不会”或是“何时”发生,而是“更标准化与商品化的汽车”将会以什么样的方式来临?现在已经有不少科技业者的未来命运就与答案系在一起。 我们也开始看到了汽车商品化的征兆。例如特斯拉(Tesla),虽然他们家的车还远远不到商品化的地步,但该公司已经向业界
[嵌入式]
ARM9的SPI
实验前须知: SPI的原理: 注: CLK传输时钟 MISO主机输入从机输出 MOSI主机输出从机输入 CS片选信号,由于SPI控制器可以外接多个SPI设备,所以这个用于选中SPI设备。 SPI的操作流程大体如下图所示: 实验的目的: 用s3c2440的SPI控制器操作SPI总线上的两个设备,分别是OLED和FLASH 实验的源程序: 07th_spi_i2c_adc_mini2440_tq2440_spi_controller.rar 实验的问题总结: 1 我们主要分析一下s3c2440_spi.c这个文件 /*************************************s3c2440_spi.c*****
[单片机]
<font color='red'>ARM</font>9的SPI
ARM】微处理器工作模式
收获 SPACE 和 DCD 的区别在于: SPACE 申请一片内存空间(以字节为单位申请),但不赋初值 DCD 申请一个字(32bit)的内存空间,并赋初值 对于 32 位的 ARM,一个字为 32 bit = 4 Byte 代码中的 UsrStackSpace SPACE USR_STACK_LEGTH*4 这里的 ∗4*4∗4 就是由于 SPACE 是以字节为单位分配空间,而我们需要的是以字为单位的堆栈空间 对于代码中的 StackUsr DCD UsrStackSpace+(USR_STACK_LEGTH-1)*4 可以这样理解: UsrStackSpace 是标号,相当于地址,
[单片机]
【<font color='red'>ARM</font>】微处理器工作模式
基于ARM的实时测控系统开发平台
国内测控系统开发大多是几个人以小组的形式根据不同的项目组织在一起,由于缺乏一个稳定工作的硬件基础,整个开发工作的重点大都放在调试硬件故障上。首先,所有项目的开发几乎全部使用汇编语言,严重影响了程序的可读性和可移植性,更换不同的处理器就意味着一切从头开始,就连使用相同处理器的不同项目组之间的程序重用也很困难;而对于嵌入式应用系统应着重解决的实际问题往往无暇顾及,非常不利于我国嵌入式应用水平的提高。其次,测控系统通信接口种类比较少, 多为传统的RS232、RS485接口,数据交换速度慢,已经不能满足日益增长的数据传输需求。另外,传统的8位单片机已经越来越不能适应日渐复杂的应用需求;友好的交互界面、网络互连功能、智能化的软件、实时的数据
[单片机]
数字电视厂商及解决方案全景大扫描
目前世界上大多数的国家和地区都制定了数字电视实现的时间表,数字电视的普及趋势不可逆转。世界上主要的数字电视标准包括以美国为代表的ATSC、以欧洲为代表的DVB-T、日本的ISDB-T、去年8月公布的中国地面数字电视传播标准DMB-TH和有线网络数字电视DVB-C以及卫星数字电视DVB-S。 从不同的角度切入,数字电视可做以下分类:1.按信号传输方式分类:可分为地面无线传输(地面数字电视)、卫星传输(卫星数字电视)、有线传输(有线数字电视)三类。2.按产品类型分类:可分为数字电视显示器、数字电视机顶盒、一体化数字电视接收机。3.按清晰度分类:可分为低清晰度数字电视(图像水平清晰度大于250线)、标准清晰度数字电视(图像水平清晰度大于
[嵌入式]
英特尔IDF现场演示双核优势 效率远高于迅驰
  天极网4月18日消息(记者 方堃)在今日举办的INTEL信息技术峰会上,INTEL向现场数百名观众演示了双核CPU的巨大优势,两者在处理多任务时的效率差异达到了令人吃惊的程度。   在展台现场,INTEL邀请志愿者分别操作具备双核CPU的酷睿笔记本电脑和单核CPU的迅驰笔记本同时播放一段高清视频、转换MP3音乐和拷贝数码相机照片。得到的结果是双核   已经处理完这些任务时,迅驰笔记本依然在缓慢的执行多任务中。
[焦点新闻]
CMake设置arm-linux-gcc交叉编译器
主机:Ubuntu10.04 交叉编译器:EABI-4.3.3 CMake在ubuntu系统下默认使用系统的gcc、g++编译器,编译arm下的程序要使用arm-linux-gcc,需要对CMake进行设置(通过在CMakeLists.txt中指定交叉编译器的方法)。 在CMakeLists.txt一开始加入相关设置: #告知当前使用的是交叉编译方式,必须配置 SET(CMAKE_SYSTEM_NAME Linux) #指定C交叉编译器,必须配置 #或交叉编译器使用绝对地址 SET(CMAKE_C_COMPILER arm-linux-gcc ) #指定C++交叉编译器 SET(CMAKE_CXX_COMP
[单片机]
基于ARM处理器的IAP功能实现配变监测终端程序远程更新的
1 LPC2378芯片介绍 LPC2378是一款基于ARM7TDMI-S的32位处理器。它具有512 KB的片内Flash程序存储器、32 KB的静态RAM(SRAM),以及在系统编程(In-System Programming,ISP)和在应用编程(In-Application Program-ming,IAP)功能。由于程序对内存需求比较大,所以外扩了一片64 KB的SRAM。 通常,程序的下载可通过3种方式实现: ①采用嵌入式实时操作系统。该方法加大了系统对存储容量的要求,增加了硬件和软件成本。 ②采用增加外控制烧录系统的方法。该方法同样增加了系统的复杂度和成本,且降低了系统本身的可靠性。 ③采用IAP技术。该方法充分利用芯片
[单片机]
基于<font color='red'>ARM</font>处理器的IAP功能实现配变监测终端程序远程更新的
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved