ARM处理器泛指所有使用英国ARM(Advanced RISC Machine)公司32位处理器核所生产的各种微处理器芯片。ARM 32位体系结构是目前公认的业界领先的32位嵌入式RISC微处理结构。
ARM公司是一家知识产权(IP)公司,本身不生产芯片,而是将IP转让给其他半导体厂商进行进一步的外围设计,而后形成各种各有特色的ARM微处理器。在全世界,共有30多家半导体厂商生产各种通用或专用的基于ARM核的处理器,其中包括像Intel、Motorola、TI、Sumsang、Altera等全球著名的厂商。由于使用同样的内核系列,因此虽然各公司生产的芯片外围不尽相同,但是其处理器核心却是完全一样的,这给软件的移植和复用带来了巨大的便利。
相比其他32位的处理器,ARM处理器具有以下3点突出的优点:
1、小体积、低功耗、低成本、高性能
2、16位/32位双指令集
3、全球众多的合作伙伴
目前,ARM公司提供5个处理器核系列:ARM7、ARM9、ARM9E、ARM10、SecurCore。另外,ARM和Intel合作还提供StrongARM和XScale两个系列的产品。
ARM7是使用最为广泛的ARM处理器系列,适用于各种多媒体和嵌入式的应用,包括各种Internet设备、Modem和各种无线设备如手机和PDA等。如果使用0.18u的CMOS工艺,则这个系列的功耗仅为0.35mW/MHz,远低于其它主流的RISC处理器(MIPS的4Kc系列为2mW/MHz左右)。因此ARM处理器非常适合使用在电池供电的手持式或便携式设备中。
ARM9可以认为是功能增强的ARM7处理器,相对于ARM7最大仅为68MIPS的处理能力,ARM9系列中的ARM920T和ARM922T处理器核都能提供220MIPS的处理能力。因此,在ARM7系列的基础上,ARM9适用于一些功能更加丰富的应用,如汽车自动控制、仪器、机顶盒、高端打印机、图形PDA、网络PC等等。它的处理能力已经可以处理诸如MPEG4的回放等计算量较大的应用。
StrongARM系列是ARM公司和DEC公司联合开发的专用于便携式通信和消费类产品的处理器,现在由Intel公司生产并广泛使用于各种PDA中。XScale系列处理器是Intel公司推出的基于MicroArchitecture的处理器,也主要应用于各种PDA中。
关于ARM公司其他系列处理器的介绍,请参阅参考文献1。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一、基于ARM的嵌入式系统的硬件构成
随着SoC(System on Chip)技术的不断发展,大量原来需要使用专用芯片的处理器外围电路设计都被集成到了处理器内部,因此硬件设计的第一步是根据系统的要求选择尽量合适的处理器SoC。本设计的目标是一台用于空间信息服务的PDA原型,基本上就可以认为是一台具有自定位和通信能力的PDA。因此,处理器的选型就集中在PDA的需求上。最终,选择了Samsung公司的S3C44B0X处理器。这是一款ARM7系列的处理器,工作频率66MHz,片上集成8KB cache、存储控制器、LCD控制器、4通道DMA、2通道UART、1通道I2C、1通道I2S、5通道PWM定时器、1通道内部定时器、看门狗、8通道10位ADC、71个通用IO口(复用)、8通道外中断源、RTC和片上时钟产生器。选择这块处理器的原因有以下几点:
1、这块芯片含有非常丰富的片上资源,几乎所有常用的芯片级总线结构都有对应的硬件控制器,在做外围扩展时非常方便。
2、66MHz的工作主频对应的信号上升时间在2ns左右,对应的集总模型尺寸分界点为60cm,而实际设计中最大板子的尺寸为17cm×11cm,因此不用过多的考虑分布效应的影响,减少了设计的难度。
3、S3C44B0X是目前国内使用较为普遍的ARM处理器,有较为丰富的资源可以参考,同时,采购比较方便,成本亦较低。
二、芯片选型和具体电路设计
对于一个典型的PDA,硬件上的基本要求就是:
·大容量的存储器
·各种通信接口
·方便易用的用户IO系统
在设计上的考虑分别如下:
1、存储系统
现在主流PDA上所配备的RAM和ROM数量,往往非常的巨大,iPAQ h3950上的RAM和ROM数分别为64M和32M。当然,从处理器的选择上就可以看到,作者所要设计的PDA,相比主流产品,处理能力要差许多,因此也不必配备那么多的存储器,因此最后的选择为RAM 32M,ROM 2M。RAM使用的是hynix的HY57V281620 16bit SDRAM,ROM则采用SST的SST39VF160 FLASH和ATMEL的AT24C08 EEPROM。
本系统的RAM和ROM数量上相差较大,这是由ROM的种类所决定的。设计中使用的FLASH-SST39VF160,基本上是一种NOR技术的FLASH,而主流PDA中所采用的32M FLASH,则是基于NAND技术的,NAND技术的特点就是可以制造大容量的FLASH,而NOR技术则不能(SST公司的NOR FLASH最大只有32Mbit),现在普遍使用的各种闪存设备基本上都是基于NAND FLASH的。因此,本设计在核心块不配备大容量的NADN FLASH,而在外围提供CF卡的接口,通过插入CF卡达到扩展ROM的作用。
对于RAM,本系统中采用了HY57V281620 PC-100 SDRAM,容量128Mbit,接口16位,两片并联,形成32位接口。这是由于32位的存储器能够最大限度的发挥处理器的处理能力。然而,这里的关键问题是功耗,由于使用了低功耗的ARM处理器,处理器功耗不再是瓶颈,而SDRAM则成为了最大的功率消耗者。所以在选择时,倾向于采用低功耗的品种。出于多方面的考虑,有时也采用了PC上使用的通用产品,而这种SDRAM的功耗接近400mW。关于功耗的问题,在后面会有专门的论述。
2
3、其他外围电路
以上的电路只是核心的部分,有了这些电路支撑,ARM芯片就基本上可以开始工作了(核心部分的其它电路,如时钟,Endian设置,模式设置等等由于电路比较简单,就不给出具体电路形式了),然而,作为一个真正有实用价值的嵌入式系统,真正使系统发挥作用的是各种各样的外设。对于嵌入式系统,扩展外设的方式不外乎两种:并行的和串行的。
在并行方式下,外设直接挂载在系统的存储器总线上,通过片选信号和一些译码电路将外设的内部寄存器映射到系统的某段地址上,然后,对外设的访问就和对存储器的访问基本一致了。如果外设的速度和MCU不匹配,则通过WAIT信号进行总线扩展。这种方式对于数据量较大、速度较快的外设是比较适合的,但是系统连接的信号线非常多,对布板的压力较大。
在串行方式下,外设通过为数较少的几根线同MCU相连。这种方式在8位机(如51)的环境中使用非常普遍,但是,对于32位的系统,这种方式的使用却受到一定的限制。在典型的ARM处理器中,会提供不少通用的串行总线控制器,如I2C、I2S、UART等等。对于符合这种总线规范的外设而言,使用十分方便,直接相连就可以了。但是,对于一些不太规范的芯片,没有直接的硬件控制器可以使用,只能使用IO引脚进行软件模拟。这种方式在8位单片机中十分常见,但是在ARM环境中,这种方法效率很低,尤其在抢占式调度(如uC-OS)的操作系统中,软件定时的准确性和系统关中断的时间之间的矛盾非常显著,几乎无法兼顾。所以,作者建议,在使用操作系统的ARM嵌入式系统中,尽量避免使用数据量较大的非标准串行外围芯片。
4
三、结束语
基于ARM的32位嵌入式系统是当今主流的高端嵌入式系统,本文描述了基于ARM的嵌入式系统硬件设计的几个方面。然而,嵌入式系统的最为根本的特点在于它的定制性,没有所谓的通用的嵌入式系统,所有的嵌入式系统都是针对某种特定应用的。本文给出的,只是一些核心部分设计的想法和芯片选择的一些考虑,希望能与相关的研究工作者讨论。
参考文献
[1] ARM Limited。 ARM Architecture Reference Manual
文章评论(0条评论)
登录后参与讨论