ARM嵌入式体系结构与接口技术(Cortex-A9版)(微课版)
上QQ阅读APP看书,第一时间看更新

1.4 ARM微处理器的应用选型

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

1.4.1 ARM芯片选择的一般原则

1.功能

考虑处理器本身能够支持的功能,如USB、网络、串口、液晶显示功能等。

2.性能

从处理器的功耗、速度、稳定可靠性等方面考虑。

3.价格

通常产品总是希望在完成功能要求的基础上,成本越低越好。在选择处理器时需要考虑处理器的价格,及由处理器衍生出的开发价格。如开发板价格、处理器自身价格、外围芯片、开发工具、制版价格等。

4.熟悉程度及开发资源

通常公司对产品的开发周期都有严格的要求,选择一款自己熟悉的处理器可以大大降低开发风险。在自己熟悉的处理器都无法满足功能的情况下,可以尽量选择开发资源丰富的处理器。

5.操作系统支持

在选择嵌入式处理器时,如果最终的程序需要运行在操作系统上,那么还应该考虑处理器对操作系统的支持。

6.升级

很多产品在开发完成后都会面临升级的问题,正所谓人无远虑必有近忧。所以在选择处理器时必须要考虑升级的问题。如尽量选择具有相同封装的不同性能等级的处理器;考虑产品未来可能增加的功能。

7.供货稳定

供货稳定也是选择处理器时的一个重要参考因素,尽量选择大厂家,比较通用的芯片。

1.4.2 选择一款适合ARM教学的CPU

在ARM教学中,在选择CPU作为学习目标时,主要从芯片功能、开发平台价格、开发资源等方面考虑。

1.ARM芯核

如果希望学习使用 Windows CE 或 Linux 等操作系统,就需要选择 ARM720T 以上带有 MMU (Memory Management Unit)功能的ARM芯片,ARM720T、Strong ARM、Cortex-A系列处理器都带有MMU功能。而ARM7TDMI没有MMU,不支持Windows CE和大部分的Linux。目前,u CLinux及Linux 2.6内核等Linux系统不需要MMU的支持。

2.系统时钟速度

系统时钟决定了ARM芯片的处理速度。ARM7的处理速度为0.97MIPS/MHz,常见的ARM7芯片系统主时钟为20~133MHz;ARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100~233MHz。Cortex-A系列的主时钟频率也越来越快,如Cortex-A9主频率可以达到1.6GHz以上,如果希望学习可以支持较为复杂的操作系统的芯片,则可以选择ARM9及ARM9以上的芯片。

3.支持内存访问的类型

支持内存访问的类型如表1-3所示。

表1-3 支持内存访问的类型

4.USB接口

USB接口产品的使用越来越广泛,许多ARM芯片内置USB控制器,有些芯片甚至同时有USB Host和USB Slave控制器。表1-4显示了内置USB控制器的ARM芯片。

表1-4 内置USB控制器的ARM芯片

5.GPIO数量

在某些芯片供应商提供的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线等引脚复用的。这样在系统设计时需要计算实际可以使用的GPIO数量。

6.中断控制器

ARM 内核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。但各个半导体厂家在设计芯片时加入了自己定义的中断控制器,以便支持诸如串行口、外部中断、时钟中断等硬件中断。外部中断控制是选择芯片时必须考虑的重要因素,合理的外部中断设计可以很大程度地减少任务调度工作量。例如PHILIPS公司的SAA7750,所有GPIO都可以设置成FIQ或IRQ,并且可以选择上升沿、下降沿、高电平和低电平4种中断方式。这使得红外线遥控接收、指轮盘和键盘等任务都可以作为背景程序运行。而Cirrus Logic公司的EP7312芯片只有4个外部中断源,并且每个中断源都只能是低电平或高电平中断,这样接收红外线信号的场合必须用查询方式,浪费大量CPU时间。

7.IIS(Integrate Interface of Sound)接口

IIS接口即集成音频接口。如果设计音频应用产品,则IIS接口是必需的。

8.n WAIT信号

这是一个外部总线速度控制信号。不是每个ARM芯片都提供这个信号引脚,利用这个信号与廉价的GAL芯片就可以实现符合PCMCIA标准的WLAN卡和Blue Tooth卡的接口,而不需要外加高成本的PCMCIA专用控制芯片。另外,当需要扩展外部DSP协处理器时,此信号也是必需的。

9.RTC(Real Time Clock)

很多ARM芯片都提供RTC(实时时钟)功能,但方式不同。如Cirrus Logic公司的EP7312的RTC只是一个32位计数器,需要通过软件计算出年月日时分秒;而SAA7750和S3C2410等芯片的RTC直接提供年月日时分秒格式。

10.LCD控制器

有些ARM芯片内置LCD控制器,有的甚至内置64KB彩色TFT LCD控制器。在设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片较为适宜。

11.PWM输出

有些ARM芯片有2~8路PWM输出,可以用于电机控制或语音输出等场合。

12.ADC和DAC

有些ARM芯片内置2~8通道8~12位通用ADC,可以用于电池检测、触摸屏和温度监测等。PHILIPS的SAA7750更是内置了一个16位立体声音频ADC和DAC,并且带有耳机驱动。

13.扩展总线

大部分ARM芯片具有外部SDRAM和SRAM扩展接口,不同的ARM芯片可以扩展的芯片数量即片选线数量不同,外部数据总线有8位、16位或32位。为某些特殊应用设计的ARM芯片(如德国Micronas的PUC3030A)没有外部扩展功能。

14.UART和Ir DA

几乎所有的ARM芯片都具有1~2个UART接口,可以用于和PC通信或用Angel进行调试。一般的ARM芯片通信波特率为115200bit/s,少数专为蓝牙技术应用设计的ARM芯片的UART通信波特率可以达到920Kbit/s,如Linkup公司L7205。

15.时钟计数器和看门狗

一般ARM芯片都具有2~4个16位或32位时钟计数器和一个看门狗计数器。

16.电源管理功能

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

17.DMA控制器

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

另外,可以选择的内部功能部件还有 HDLC、SDLC、CD-ROM Decoder、Ethernet MAC、VGA controller和DC-DC。可以选择的内置接口有IIC、SPDIF、CAN、SPI、PCI和PCMCIA。

18.封装类型

最后需说明的是封装问题。ARM芯片现在主要的封装有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封装具有芯片面积小的特点,可以减少PCB的面积,但是需要专用的焊接设备,无法手工焊接。另外,一般BGA封装的ARM芯片无法用双面板完成PCB布线,需要多层PCB板布线。

最后,根据院校的实际情况结合当前及未来一段时间的市场人才需求,经过综合考虑,本书教学选取的是三星公司的Eyxnos4412芯片。Eyxnos4412是一款基于Cortex-A9核心的微处理器芯片。本章后面的部分章节将对Cortex-A9的一些特性及Eyxnos4412进行详细介绍。