• 1.摘要
  • 2.基本信息
  • 3.名称简介
  • 4.选择原则
  • 4.1.ARM
  • 4.2.系统时钟
  • 4.3.存储容量
  • 4.4.USB接口
  • 4.5.GPIO
  • 4.6.中断
  • 4.7.IIS接口
  • 4.8.nWAIT
  • 4.9.RTC
  • 4.10.LCD
  • 4.11.PWM
  • 4.12.立体声频
  • 4.13.扩展总线
  • 4.14.UART
  • 4.15.DSP
  • 4.16.FPGA
  • 4.17.计数器
  • 4.18.电源管理
  • 4.19.DMA
  • 5.多芯核
  • 6.防盗器

arm芯片

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

基本信息

  • 中文名

    ARM芯片

  • 成立

    1990年

  • 隶属

    ARM公司

  • 特点

    多芯核结构

名称简介

1/19

ARM公司自1990年正式成立以来, 在32位RISC(Reduced Instruction Set ComputerCPU)开发领域不断取得突破,其结构已经从V3发展到V7。由于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芯片做一对比研究是十分必要的。

选择原则

从应用的角度,对在选择ARM芯片时所应考虑的主要因素做一详细的说明。

ARM

如果希望使用WinCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(memory management unit)功能的ARM芯片,ARM720T、StrongARM、ARM920T、ARM922T、ARM946T都带有MMU功能。而ARM7TDMI没有MMU,不支持Windows CE和大部分的Linux, 但目前有uCLinux等少数几种Linux不需要MMU的支持。

系统时钟

系统时钟决定了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等芯片。

存储容量

在不需要大容量存储器时,可以考虑选用有内置存储器的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