第4章 客户机硬件设计
4.1 MagicARM2410教学实验开发平台概述
嵌入式设备主要由硬件和软件组成,一套嵌入式产品的稳定性不仅依赖于软件的稳定性,对于硬件平台能否提供良好的做工稳定性也有一定的要求,在本设计的设计阶段,使用广州致远电子有限公司开发的MagicARM2410教学实验开发平台,他不仅能提供一个可靠稳定的硬件平台,而且提供了丰富的外设支持。
广州致远电子有限公司开发的MagicARM2410教学实验开发平台,是一款可使用μC/OS-II、Linux和WinCE操作系统、支持QT、MiniGUI图形系统、集众多功能于一身的ARM9教学实验开发平台。MagicARM2410教学实验开发平台采用ARM920T内核的S3C2410A微处理器,扩展有充足的存储资源(SDRAM、NAND Flash、NOR Flash和E2PROM等),具有10/100Mbps以太网接口、USB HOST接口、USB Device接口、CAN接口、PCMCIA存储卡接口、IDE硬盘接口、CF卡接口、SD卡接口、IrDA接口、IIS数字音频接口,8英寸640×480真彩TFT液晶屏(带触摸屏),可使用JTAG仿真调试。模块化的功能设计,便于实验操作的工艺设计,保留有外设PACK和GPIO输出接口,可以实现目前几乎所有的嵌入式接口实验。MagicARM2410试验箱外观如图 4.1所示。
图 4.1 MagicARM2410试验箱外观
本系统采用MagicARM2410开发平台作为硬件环境。系统中使用到的硬件
16
电路分为5个主要模块,它们是核心板电路,以太网接口电路,JTAG调试接口电路,串口模块和电源模块。核心电路板的MCU采用Samsung公司的ARM920T处理器S3C210A,核心电路还扩展了2MB NOR Flash,64MB NAND Flash及64MB SDRAM,它还包括复位、时钟等电路。核心电路图是系统的核心模块,它为系统软件提供了可靠、稳定的运行环境。以太网接口电路包括DM9000以太网控制器、网络变压器和RJ-45接口组成,是TCP/IP协议栈中物理层的实现。串口模块打印调试信息。JTAG模块用于下载和调试程序。电源模块为系统提供5V,3.3V,1.8V的稳定电压。系统硬件框架如图 4.2所示。
图 4.2 系统硬件结构示意图
4.2 核心控制电路
核心板电路是能运行程序的最小系统电路。它包括微处理器S3C2410A,存储器电路,时钟电路,复位电路,及核心板使用的电源电路等。
系统中采用的S3C2410A(S3C2410系列,以下称为S3C2410)微处理器是一款由Samsung Electronics Co. Ltd 为手持设备、POS机、数字多媒体播放设备设计的低功耗、高度集成的微处理器,采用272脚FBGA封装,内含一个ARM920T内核和丰富的外围资源。
S3C2410集成了大量的功能单元,包括内部1.8V、存储器3.3V、外部I/O3.3V、16KB数据CACHE、16KB指令CACHE、MMU、内置外部存储器控制器(SDRAM 控制和芯片选择逻辑)、LCD控制器、一个LCD专用DMA、4个带外部请求线的DMA、3个通用异步串行端口(IrDA1.0、16-Byte Tx FIFO and 16-Byte Rx FIFO)、2通道SPI、一个多主I2C总线、一个I2S总线控制器、版本1.0的SD主接口、并与多媒体卡协议版本2.11兼容、两个USB HOST、
17
一个USB DEVICE(VER1.1)、4个PWM定时器和一个内部定时器、看门狗定时器、117个通用I/O、24个外部中断、4种电源控制模式(包括标准、慢速、休眠、掉电)、8通道10位ADC和触摸屏接口、带日历功能的实时时钟、芯片内置PLL;设计用于手持设备和通用嵌入式系统;16/32位RISC体系结构,使用ARM920T CPU核的强大指令集;带MMU的先进的体系结构支持WinCE、EPOC32、Linux;指令缓存(CACHE)、数据缓存、写缓冲和物理地址TAG RAM,减小了对主存储器带宽和性能的影响;ARM920T 核支持,并有支持ARM调试的体系结构;内部先进的位控制器总线(AMBA)(AMBA2.0,AHB/APB)。S3C2410X芯片结构图如图 4.3所示。
图 4.3 S3C2410芯片内部结构图
18
S3C2410的系统管理有以下特点: 小端/大端支持;
地址空间:每个BANK128MB(全部为1GB); 每个BANK可编程为8/16/32位数据总线; BANK 0到BANK 6为固定起始地址; BANK 7可编程BANK起始地址和大小; 一共8个存储器BANK;
6个存储器BANK用于ROM、SRAM和其他; 两个存储器BANK用于ROM、SRAM和同步DRAM; 每个存储器BANK可编程存取周期; 支持等待信号用以扩展总线周期; 支持SDRAM掉电模式下的自刷新;
支持不同类型的ROM用于启动(NOR/NAND Flash、EEPROM和其他)。 本系统中,处理器被配置在小端格式。工作频率可设置在200MHz,AHB总线频率为100MHz。 4.3 存储器电路
4.3.1 NOR Flash存储器
核心板上扩展了1片存储容量为2MB的NOR Flash(SST39VF1601),为了使SST39VF1601能够引导和下载系统,将其分配在Bank0存储块空间,使用S3C2410的nGCS0片选线,基地址为0x00000000。
如图 4.4所示,SST39VF1601是16位宽度存储器,对与S3C2410A来说相应与半字对齐,操作地址的最小变化值是0x00000002,因此将S3C2410A的ADDR1脚与SST39VF1601的A0脚相连,忽略S3C2410A的ADDR0引脚,其他地址按顺序依次递增相连。
SST39VF1601的nRST引脚与系统复位信号nRESET引脚相连接,当系统复位时,SST39VF1601同时被复位,并返回到默认的读模式。
SST39VF1601的nWP是写保护引脚,低电平时写禁止,高电平时允许写SST39VF1601。电路中使用两个电阻进行选择,如虚线框内电路。
19
图 4.4 NOR Flash存储器电路
4.3.2 SDRAM存储器
FLASH存储器相比较,SDRAM不具有掉电保持数据的特性,但其操作都是由时钟作为同步,存取速度大大高于FLASH存储器,数据吞吐量更大,且具有读/写的属性。SDRAM在系统中主要用作程序的运行空间,当系统启动时,首先从复位地址0x00000000处读取启动代码,再完成系统的初始化后,启动程序将系统程序代码调入SDRAM中运行,以提高系统的运行速度。同时,系统及用户堆栈、运行数据也都放在SDRAM中。
SDRAM的存储单元可以理解为一个电容,总是倾向于放电,为避免数据丢失,必须定时刷新。因此,要在系统中使用SDRAM,就要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。S3C2410A在片内具有独立的SDRAM刷新控制逻辑,可方便的与SDRAM接口。
核心板扩展了2片16位总线宽度SDRAM(HY57V561620),存储容量64MB。SDRAM使用S3C2410A的nGCS6片选线,SDRAM的基地址为0x30000000,核心板使用两片HY57V561620组成32位总线宽度,即每进行一次读写可以操作4字节数据,对于S3C2410A来说相应于字对齐,操作地址的最小变化值为0x00000004。因此,S3C2410A的ADDR2引脚于HY57V561620的A0脚相连,忽略S3C2410A的ADDR0,ADDR1引脚。为了能够正确访问HY57V561620的高低字节数据,所以S3C2410A的nWBEx与HY57V561620的UDQM/LDQM相连。
HY57V561620的BA0、BA1引脚是SDRAM的内部bank选择线,也就是代表了SDRAM的内存地址的最高位。如果SDRAM内存共有64MB也就需要26(226=64M)根地址线来寻址,所以BA0、BA1应连接S3C2410A的ADDR24、
20