原创 基于S3C44B0X的PDA核心设计(转)

2007-1-16 00:44 2577 6 6 分类: MCU/ 嵌入式
Abstract: Embedded system based on ARM is composed of MCU, memory, JTAG circuit and power supply. The memory is consists of SDRAM, FLASH and EEPROM, etc. See the article for circuits. JTAG circuit is made of reset circuit and JTAG interface. Power supply is based on LDO chips. After analysis the power consumption of all the modules, a design method is given.
  Key words: ARM; hardware; s3c44b0x

  摘 要:基于ARM的嵌入式系统的核心部分包括处理器、存储器、JTAG电路和电源部分。存储器主要由SDRAM、FLASH和EEPROM等组成,本文给出了具体电路。JTAG电路包括复位电路和JTAG接口电路。电源部分采用LDO器件,本文分析了各个模块的耗电情况,并给出了电源设计的方法。
  关键词:ARM,硬件,s3c44b0x

 

  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。

1 基于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处理器,有较为丰富的资源可以参考,同时,采购比较方便,成本亦较低。
  系统核心部分的框图如下:

 

2 芯片选型和具体电路设计
  对于一个典型的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、Reset电路和JTAG
  Reset电路的作用是提供Reset信号使系统复位,在本设计中,Reset信号有两种:System Reset和Core Reset,System Reset使系统所有部件都复位,包括MCU核和各种外围控制器,而Core Reset则只复位MCU核,外围控制器保持原状态。原始的Reset电平由ADM708复位芯片产生。在本设计中,通过MM74HC125将ADM708输出的CMOS电平转换为三态输出,这种做法的原因是JTAG接口也会产生Reset信号,所以在ADM708工作完毕后,将输出通过HC125变成高阻态,把控制权交给调试装置控制。

点击看大图

 

3、其他外围电路
  以上的电路只是核心的部分,有了这些电路支撑,ARM芯片就基本上可以开始工作了(核心部分的其它电路,如时钟,Endian设置,模式设置等等由于电路比较简单,就不给出具体电路形式了),然而,作为一个真正有实用价值的嵌入式系统,真正使系统发挥作用的是各种各样的外设。对于嵌入式系统,扩展外设的方式不外乎两种:并行的和串行的。
  在并行方式下,外设直接挂载在系统的存储器总线上,通过片选信号和一些译码电路将外设的内部寄存器映射到系统的某段地址上,然后,对外设的访问就和对存储器的访问基本一致了。如果外设的速度和MCU不匹配,则通过WAIT信号进行总线扩展。这种方式对于数据量较大、速度较快的外设是比较适合的,但是系统连接的信号线非常多,对布板的压力较大。
  在串行方式下,外设通过为数较少的几根线同MCU相连。这种方式在8位机(如51)的环境中使用非常普遍,但是,对于32位的系统,这种方式的使用却受到一定的限制。在典型的ARM处理器中,会提供不少通用的串行总线控制器,如I2C、I2S、UART等等。对于符合这种总线规范的外设而言,使用十分方便,直接相连就可以了。但是,对于一些不太规范的芯片,没有直接的硬件控制器可以使用,只能使用IO引脚进行软件模拟。这种方式在8位单片机中十分常见,但是在ARM环境中,这种方法效率很低,尤其在抢占式调度(如uC-OS)的操作系统中,软件定时的准确性和系统关中断的时间之间的矛盾非常显著,几乎无法兼顾。所以,作者建议,在使用操作系统的ARM嵌入式系统中,尽量避免使用数据量较大的非标准串行外围芯片。
  关于具体的外围电路,限于篇幅,并且有些电路也还在调试中,所以就不再给出。
4、电源部分
  在现代的嵌入式系统中,尤其是电池供电的系统中,电源部分的设计是整个设计过程中非常重要的一个部分。对电源的要求一般有以下三点:·稳定,低噪声·高效·体积小。
  以上三点是性能上的要求,对于电源,最为基本的要求是能够输出足够的电流,也就是输出功率满足系统消耗的要求。对于本系统,就电压而言,分为两组:3.3V和2.5V,3.3V用于MCU的IO和外设的供电,2.5V用于MCU的核供电。进一步,将3.3V电源也分为两组,一组用于IO,一组用于外设。系统各部件的功率需求大致如下:


  以上给出的数据都是连续工作时的典型值,并不是最坏情况,在最坏情况下,电流的需求往往至少大1倍,但是,由于在实际工作时,各个部件本身不可能都连续工作,所以根据这些数据设计出来的电源完全可以满足要求了。
  从上面的数据中可以看出,对于电源功率要求最高的是用于外设的那组3.3V的电源,以下就对这组电源的设计作进一步的讨论。
  ·电源类型
  在嵌入式的环境中,常用的电源类型有DC-DC和LDO(低压差)两种。DC-DC电源的效率比较高,而且和输入的电压值没有太大的关系,但是这种电源的噪声非常大。相比之下的,LDO电源的噪声小的多,但是其本身的功耗=电压差×工作电流,一般较大。实际使用中,LDO一般用于系统中对噪声比较敏感的部分,如模拟电路等。在本设计中,全部采用了LDO电源,因为对于这种原型机的设计,首先考虑的是系统功能上的设计,而后才是电池功耗等的设计,电源部分相对比较独立,可以进行再度设计,因此这只是把这部分的进一步设计推后一步而已。
  ·电源功耗
  无论那种电源类型,电源本身总会消耗一定的功率,然后以热损耗的形式表现出来。芯片温升与功耗的关系如下:
     
其中 Tj为芯片的结温, Ta是环境温度, Pd是芯片的功耗, RθJA称为芯片对环境的热阻。
  严格的说,这个热阻值并非芯片的参数,而是整个电源系统的一个参数。就本设计中所选择的电源芯片NCP1117而言,热阻与电源铺铜的关系如下图:

  

如果希望芯片的结温<60℃,环境温度20℃的条件下,芯片的功耗为
  
则 RθJA>= 56℃W,从图中可以得到,铺铜的面积不得小于10×10mm2。实际上最终使用的铺铜面积高达750mm2,相应的温升仅为33℃左右。当然,这在实际的使用中没有必要,然而,作者认为,在原型机中保留充分的裕值,然后通过试验确定最终的需求是一个比较好的方法。

3 结束语
  基于ARM的32位嵌入式系统是当今主流的高端嵌入式系统,本文描述了基于ARM的嵌入式系统硬件设计的几个方面。然而,嵌入式系统的最为根本的特点在于它的定制性,没有所谓的通用的嵌入式系统,所有的嵌入式系统都是针对某种特定应用的。本文给出的,只是一些核心部分设计的想法和芯片选择的一些考虑,希望能与相关的研究工作者讨论。

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条