历史上的今天
返回首页

历史上的今天

今天是:2024年10月18日(星期五)

正在发生

2019年10月18日 | 32位RISC-CPU-ARM芯片的应用和选型

2019-10-18 来源:51hei

摘要:ARM公司以及ARM芯片的现状和发展,从应用的角度介绍了ARM芯片的选择方法,并介绍了具有多芯核结构的ARM芯片。列举了目前的主要ARM芯片供应商,其产品以及应用领域。举例说明了几种嵌入式产品最佳ARM芯片选择方案。

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,ARM10TDMI等。自V5以且,ARM公司提供Piccolo DSP的芯核给芯片设计得,用于设计ARMDSP的SOC(System OnChip)结构芯片。此外,ARM芯片还获得了许多实时操作系统(RealTime Operating System)供应商的支持,比较知名的有:Windows CE、Linux、pSOS、VxWorks、Nucleus、EPOC、uCOS、BeOS等。


随着国内嵌入式应用领域的发展,ARM芯片必然会获得广泛的重视和应用。但是,由于ARM芯片有多达十几种的芯核结构,70多芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难。所以,对ARM芯片做一对比研究是十分必要的。


1 ARM芯片选择的一般原则
从应用的角度,对在选择ARM芯片时所应考虑的主要困素做一详细的说明。
1.1 ARM芯核

如果希望使用WinCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(memorymanagement 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
  

1.16 内置FPGA

有些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位时钟计数器和一个看门狗计数器。


1.18 电源管理功能
ARM芯片的耗电量与工作频率成正比,一般ARM芯片都有低功耗模式、睡眠模式和关闭模式。


1.19 DMA控制器
有些ARM芯片内部集成有DMA(Direct Memory Access),可以和硬盘等外部设备高速交换数据,同时减少数据交换时对CPU资源的占用。


另外,还可以选择的内部功能部件有:HDLC,SDLC,CD-ROM Decoder,Ethernet MAC,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等结构。


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

4 选择方案举例

推荐阅读

史海拾趣

EXCELSEMI [ EXCEL SEMICONDUCTOR INC. ]公司的发展小趣事

EXCELSEMI公司始终将品质和客户满意度放在首位。公司建立了一套完善的质量管理体系和客户服务体系,确保每一款产品都符合高标准的质量要求。同时,公司还注重与客户的沟通和反馈,不断优化产品和服务以满足客户的需求。这种品质至上、客户为本的经营理念使得EXCELSEMI在市场中赢得了良好的口碑和信任。

Allied Wire & Cable Inc公司的发展小趣事

Allied公司成立于XXXX年,起初是一家小型电线电缆供应商。在创业初期,公司创始人凭借对电线电缆行业的深刻理解和丰富的行业经验,成功开发出了一系列质量上乘、性能稳定的电线电缆产品。通过不懈的努力和优质的客户服务,Allied公司逐渐在市场中树立起了良好的口碑,为后续的发展奠定了坚实的基础。

Everspin Technologies公司的发展小趣事

Everspin Technologies公司的起源可以追溯到飞思卡尔半导体公司。在2004年,摩托罗拉将其半导体业务剥离,创建了飞思卡尔半导体。这家公司在磁阻随机存取存储器(MRAM)领域进行了大量研究和开发工作。随着MRAM技术的成熟,飞思卡尔半导体决定将其MRAM部门独立出来,于是在2008年,Everspin Technologies公司正式成立,专注于MRAM的设计、制造和销售。

ZTE高新兴(Gosuncn)公司的发展小趣事

Everspin一直致力于MRAM技术的创新和发展。其中,自旋转移力矩MRAM(STT-MRAM)是该公司的重要技术之一。Everspin在平面内和垂直磁隧道结(MTJ)STT-MRAM位单元的开发方面取得了显著成果,并积累了超过600项有效专利和应用的知识产权组合。这些技术的创新和专利的积累,使得Everspin在MRAM市场中保持了领先地位。

BAE Systems公司的发展小趣事

电子行业是一个充满竞争和挑战的领域。面对不断变化的市场环境和客户需求,BAE Systems公司不断调整自身的战略和业务结构。公司注重市场调研和客户需求分析,根据市场变化及时调整产品线和市场策略。同时,公司也加强了对内部管理和流程的优化,提高了运营效率和成本控制能力。这些举措使得公司能够在激烈的市场竞争中保持领先地位,实现稳健发展。

GCi Technologies公司的发展小趣事
通常具有较高的恒流精度,以确保充电电流的稳定。

问答坊 | AI 解惑

ABS+EBD

ABS是Anti-LockBrakeSystem的英文缩写,即“刹车防抱死系统”。在没有ABS时,如果紧急刹车会使轮胎抱死,刹车的距离变长,容易跑偏或甩尾。ABS是通过控制刹车油压的收放,来达到对车轮抱死的控制,使车辆始终处于临界抱死的间隙滚动状态。    ...…

查看全部问答>

PowerPCB (PADS9.0)使用技巧

PADS 9.0版产品的出现标志着下一代PADS流程技术的诞生。与以往的旧产品相比, PADS 9.0修复和改善了之前版本软件的不足和缺点,集成了许多全新的功能,拥有了更高的可扩展性和集成度,从而使设计者能够结合Mentor Graphics众多独特的创新技术,实现 ...…

查看全部问答>

DIY FPGA初级学习板,核心板已画好,欢迎大家继续提意见!

【背景贴】: “taikai001”俺想学习FPGA--有偿寻求合作开发FPGA学习板https://bbs.eeworld.com.cn/thread-93001-1-1.html 经过和taikai001的几次讨论,准备还是搞个简单点,适合入门的。 目前基本的功能我已经画好了,随后会把原理图发上来 ...…

查看全部问答>

请教下附图中的这个芯片的具体资料

哪位大虾知道这个芯片是做什么的,还有其具体的资料可以给我分享下,不尽感谢!…

查看全部问答>

请问哪款传感器可以检测水果乙烯浓度

请问哪款传感器可以用来搭配单片机,实现检测水果散发的乙烯浓度的功能,哪位做过的请推荐一款,价格最好在500元左右的,谢谢…

查看全部问答>

基于WINCE 5.0操作平台,在VC2005 开发MFC智能设备应用软件

在VS2005开发平台下,开发的软件直接通过Microsoft ActiveSync 同步软件下载到2440开发扳上可以运行(通过开发环境) ;单独生成Release版本的,脱离开发环境下载到开发板上就不能运行了.    而使用eVC开发的应用程序就不存在这个问题. &nbs ...…

查看全部问答>

问一个107+DP83848初始化的问题

请问一下调试过的朋友, STM32F107+DP83848做网络通讯, 在初始化的时候,是不是必须插网线?…

查看全部问答>

学习Sitara AM335x 的Uboot移植笔记

一、移植过程1、架构移植2、SOC移植3、板级移植二、3种移植的区别       1、架构移植:Cortex-A8、MIPS、POWERPC       2、SOC移植 :同一系列,不同型号间的外设(如I2C)的区别     &nbs ...…

查看全部问答>

Beaglebone Black 利用Ubuntu上网二

昨天成功地完成了BBB的上网问题,但是今天发现似乎有更方便的解决方案。 之前配置两张网卡是直接在/etc/network/interfaces中写入配置信息的。这样做当然可以成功,但是有一个问题,就是系统托盘上的NetworkManager就不会再出现和这两张网卡相关的 ...…

查看全部问答>