摘 要:主要介绍基于AT91RM9200处理器的以太网接口模块设计,给出基于网络芯片RTL8019AS的系统外围接口相关器件选型。在硬件设计的基础上,给出了详细的编程思想、工作流程以及部分关键代码。在此设计方案下,完全可以实现通过以太网进行通信,达到嵌入式模块之间实时控制的目的。
关键词:AT91RM9200;以太网;RTL8019AS;嵌入式模块
0 引 言
在Internet飞速发展的今天,网络已经渗透到生活的方方面面,与网络的结合已经成为嵌入式系统发展的必然趋势。目前,ARM微处理器已经在多个领域中得到应用,各种基于ARM微处理器的设备应用数量已经远远超过了通用计算机,基于ARM微处理器的开发应用正成为数字时代的技术潮流。
l AT91RM9200简介
AT91RM9200是Atreel公司开发的基于ARM920T核的高性能,低功耗16/32位RISC微处理器,内部集成丰富的外设资源与外设接口,从而为低功耗,低成本,高性能的计算机应用提供了一个单片解决方案。适用于要求外设资源丰富,功耗低,工作稳定的工业控制等方面。
AT91RM9200微处理器最高主频为180 MHz,其双向、32位外部数据总线支持8/16/32位数据宽度,26位地址总线可以对最大64 MB空间进行寻址。片内集成了非常丰富的外围功能模块,包括内存管理单元(MMU)、内部包含16 KB的SRAM和128 KB的ROM,16 KB的数据缓存以及16 KB的指令缓存。其外部总线接口控制器(EBI),支持SDRAM,静态存储器,Burst FLASH以及Compact FLASH。为了提高系统性能还扩展了以下外设;增强的时钟发生器与电源管理控制器(PMC);系统定时器(ST);实时时钟(RTC);高级中断控制器(AIC);4个32位PIO控制器;20通道的外设数据控制器(PDC);10/100兆Base-T型以太网卡接口;4个通用同步/异步串行收发器(UASRT)以及JTAG/ICE接口等。
2 最小系统设计
硬件系统设计是嵌入式系统设计的基础,ARM系统硬件平台主要分为两部分:一部分为基于ARM处理器的最小系统;另一部分为外围扩展电路。系统只有在硬件最小系统调试稳定的基础上,才能灵活、轻松地扩展出其他外围应用,所以最小系统是保证微处理器可靠工作所必须的基本电路。基于AT91RM9200微处理器的最小系统由微处理器、电源电路、时钟电路、复位电路、JTAG接口、存储器模块、串行调试接口等电路组成。
2.1 电源电路设计
在系统中AT91RM9200需要1.8 V和3.3 V电源,另外,大部分外围器件需要3.3 V电源,小部分外围器件还需要5 V电源,假设输入电压为5 V直流稳压电源。为了得到可靠的3.3 V电压,此处选用的电压转换芯片是NCPlll7ST33T3,它的输入电压为5 V,输出电压为3.3 V,最大输出电流为0.8 A。同样,为了得到可靠的1.8 V电压,选用NCPlll7STl8T3,它的输入电压为5 V,输出电压为1.8 V,最大输出电流为0.8 A。由于3.3 V和1.8 V属于NCPlll7系列的2个固定输出电压,所以设计比较简单,只需要在电路中与芯片并联2个典型值为10 tLF、的滤波电容即可。
2.2 时钟电路设计
时钟电路为AT91RM9200和其他外设电路提供工作时钟。处理器内部带有锁相环电路,所以外接频率比较低的晶体振荡器,该设计用晶体振荡器Y1(20 MHz)作为系统的主时钟振荡器。处理器内部还带有实时时钟电路,还需要外接32.768 kHz的晶体振荡器。振荡器产生的主时钟和慢时钟经过微处理器内部2个锁相环后,产生系统所需的各种主时钟、外设时钟以及USB器件工作时钟。
2.3 复位电路设计
AT91RM9200有2个独立的复位信号,即系统复位信号NRST与调试复位信号NTRSI,都是低电平有效。系统上电后,AT91RM9200必须执行一个上电复位,在过渡状态下,它的强制复位信号为低,直到电源电压和振荡器工作频率稳定为止。此外,NRST和NTRST还可以手动复位,以方便用户调试程序。该设计中选用的复位芯片是MAX811,再加上一个手动按键,当工作电压低于3 V或手动复位输入引脚被拉低时处理器复位。
2.4 存储器模块设计
存储器模块包括NOR FLASH存储器和SDRAM存储器。
NOR FLASH存储器用于存储系统运行所需的程序和重要数据,即使掉电,程序和数据也不会丢失。该设计中所用芯片是Atmel公司生产的AT49BNl614T,以保持与AT91RM9200的兼容性,其存储容量为2 MB,工作电压为3.3 V,采用56引脚TSOP封装,具有16位数据宽度。AT91RM9200需要以下引脚与之对应相连:A[1:21],D[0:15],NCSO/BFCS,NRST,BFRDY,BFWE,BFOE。
SDRAM存储器的作用是存放系统运行时的程序和数据,掉电后该部分程序和数据会丢失。设计中使用两片数据宽度为16位的SDRAM并为一个具有32位数据宽度的SDRAM模块,以充分发挥微处理器32位数据宽度的高性能。设计所使用的芯片是HY57V561620,其存储容量为32 MB,工作电压为3.3 V,采用54引脚TSOP封装,16位数据宽度,支持自动刷新和自刷新。AT91RM9200需要以下引脚与HY57V561620对应相连:D[0:31],A[2:11],A[13:14],NBS0,N:BSl,NBS2,NBS3,SDCKE,SDCK,SDCS,RAS,CAS,SDWE。这里特别注意:A12引脚不使用。