引言
目前,ARM微处理器已在多种领域中应用,例如工业数字/智能控制、机器人、消费/教育类多媒体、DSP和移动式/便携式设备等。有关统计表明,各种各样基于ARM微处理器的设备应用数量已经远远超过了通用计算机。因此,基于ARM微处理器的开发应用正成为数字时代的应用技术潮流。本文介绍AT91RM9200型微处理器最小系统的设计,并给出了系统外围接口设计的相关器件选型。
1 AT91RM9200简介
AT91RM9200是Atmel公司基于ARM920T核的高性能、低功耗16/32位RISC(精简指令集计算机)微处理器,内部集成丰富的外设资源,适用于要求外设资源丰富、功耗低、工作严格稳定的工业控制等方面,如嵌入式工业控制、医疗设备、网络通信、移动计算等。
AT91RM9200微处理器最高主频为180 MHz,其双向、32位外部数据总线支持8位、16位、32位数据宽度,26位地址总线可以对最大64 MB空间寻址。
AT91RM9200片内集成了非常丰富的外围功能模块,包括全功能MMU虚拟内存管理单元、内部16 kBSRAM和128 kB ROM、EBI接口控制器、增强的时钟和PMC(电源管理控制器),带有2个PLL(锁相坏)的片内振荡器,4个可编程的外部时钟信号,包括定时中断、看门狗、秒计数器的系统定时器,带报警中断的实时时钟,带有8级优先级、可单个屏蔽中断源的AIC(先进中断控制器),7个外部中断源和1个快速中断源,4个32位的IO控制器,20通道外围数据控制器(PDC或DMA),1个10 Mbit·s-1/100 Mbit·s-1以太网控制器,1个USB 2.0主机接口,1个USB 2.0设备接口,2个多媒体卡接口,3个SSC(同步串行口控制器)(兼容IIS),4个UASRT(通用同步/异步串行口),1个主/从SPI(串行设备接口),1个两线串行接口TWI(主模式),JTAG/ICE接口等。
2 硬件设计
最小系统是保证微处理器可靠工作所必须的基本电路。基于AT91RM9200微处理器的最小嵌入式系统由微处理器AT91RM9200、电源电路、晶体振荡器电路、复位电路、JTAG接口、存储器模块、串行调试接口等电路组成,其原理框图如图1所示。
2.1 电源电路
在系统中,AT91RM9200需要1.8 V和3.3 V电源,另外,大部分外围器件需要3.3 V电源,小部分外围器件还需要5 V电源,为了简化系统电源电路的设计,假设系统的输入电压为5 V直流稳压电源。为了得到可靠的3.3 V电压,此处选用了Sipex公司生产的SPX1117M3-3.3型低压差(LDO)稳压器,它的输人电压为5 V,输出电流为3.3 V,最大输出电流为0.8 A。同样,选用Sipex公司生产的SPX1117M3-1.8型低压差(LDO)稳压器,便可产生最大输出电流为0.8A的1.8 V电源。电源电路如图2所示。
2.2 晶体振荡器电路
晶体振荡电路用于向AT91RM9200和其他需要时钟的外设电路提供工作时钟。本系统使用无源晶体振荡器X1(18.432 MHz)和X2(32.768 kHz)作为系统的主振荡器和慢时钟振荡器,振荡器产生的系统主时钟和慢时钟基准经过微处理器内部2个PLL后,产生系统所需的各种CPU时钟、外没时钟以及USB器件工作时钟。晶体振荡器电路见图3。
2.3 复位电路
AT91RM9200有2个独立的复位信号,即系统复位信号NRST与系统内部调试复位信号NTRSI,都是低电平有效。系统上电后,AT91RM9200必须执行一个上电复位(称为“冷”复位),在过渡状态下,它强制复位信号NRST和NTRST为低直到电源电压和振荡器工作频率稳定为止。此外,NRST和NTRST还可以进行手动按键复位功能,以方便用户调试程序。本设计中选用了AD公司生产的ADM708型复位电路,它有一个手动复位输入引脚,当工作电压低于3.08 V或手动复位输入引脚被拉低时复位IC产生一个低电平信号,持续时间为200 ms。此外,该复位电路还有一个额外的输入电压检测引脚,可实现对输人电压的检测。复位电路如图4所示。
2.4 JTAG接口电路
JTAG(联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试,是开发、调试嵌入式系统的一种简洁高效的手段。它有2种接门标准:14针接口和20针接口。本设计中选择20针接口标准。
2.5 存储器模块
存储器模块包括Flash存储器和SRAM存储器两个部分。
Flash存储器用于存储系统运行所需的程序和重要数据,即使掉电程序和数据都不会丢失。设计中推荐电路为Intel公司生产的28F640J3A,其存储容量为64 Mbit(8 MB),工作电压为2.7 V~3.6 V,采用48引脚TSOP封装,16位数据宽度。它所需引脚为A[24:]、D[15:0]、NRST、BFCS_NCS0、CFOE_NOE_NRD、CFWE_NWE_NWR0。
SDRAM存储器的作用是存放系统运行时的程序和数据,掉电后该部分程序和数据会丢失。设计中使用2片数据宽度为16位的SDRAM并行运行作为一个32位数据宽度的SDRAM模块,以充分发挥微处理器32位数据宽度的高性能。SDRAM模块所需的引脚为A[0:11]、A[13:17]、D[0:31]、NBS1、NBS3、SD-CKE、SDCK、SDCS、RAS、CAS、SDWE。推荐使用的SDRAM电路为Hynix公司生产的HY57V651620BTC,其工作电压为3.3 V,单片存储容量为4组×16 Mbit,54引脚TSOP封装,兼容LVTTL电平接口,支持自动刷新和自刷新。
2.6 UART串行调试接口
采用了AT91RM9200的Debug UART作为串口模块电路的接口,该串口在调试状态下作为调试串口;在正常工作状态下为一般UART口,都可以通过RS-232电平实现与其他设备的通信。本设计中的UART接口电路为Sipex公司生产的SP3232,其工作电压为3.3V,16引脚SOIC封装。所需引脚为DRXD、DTXD。
在完成以上几部分电路的设计后,AT91RM9200就具有了安全可靠工作的基本条件。
最小系统的设计是为了更好地研究开发微处理器,因此还应将微处理器的一些必要引脚用接口插座引出,以方便实验开发使用。例如:以太网接口模块、I2C接口模块、USB主机与设备接口,I/O总线扩展接口等。
3 硬件调试
系统上电前,应仔细检查电路板上所有元器件是否正确焊接,检查各电压等级的电源是否有短路,各种开关、跳线是否在正确的位置上。此外,还要检查nWAIT、NRST、NTRST等引脚的电平是否已被上拉,引脚JTAGSEL是否被下拉,对这几个引脚的处理关系到AT91RM9200能否正常工作。
系统上电后,检查电路板上几个电压等级的输出电压是否正常,复位电路是否工作,晶振X1和X2的输出端是否输出正确的波形。接着通过串行调试接口将AT91RM9200系统板与PC机连接,在“超级终端”界面中可看到微处理器向PC输出一系列的“C”,表明微处理器AT91RM9200已经正常工作。然后可以通过ARM公司提供的开发工具ADS的集成开发环境,编写相关的应用程序,通过JTAG接口对微处理器进行进一步的调试。目前,该系统已在某智能设备的控制器中得到了实际应用。
4 结束语
ARM微处理器正以其极好的性能价格比和极低的功耗与其他体系结构的微处理器进行激烈的竞争,其应用将进一步深入到各行各业。可以预测,在将来的一段时期内,ARM微处理器将成为32位微处理器市场的统治者。了解、学习、掌握和应用ARM微处理器技术很有必要,也非常重要。设计ARM微处理器的最小系统是学习这一技术的一个很好的方法和途径。