基于ARM嵌入式最小系统的软硬件架构的改进的研究
扫描二维码
随时随地手机看文章
目前在嵌入式系统开发的过程中,开发者往往把大量精力投入到嵌入式微处理器MPU(Micro Processing Unit)与众多外设的连接方式以及应用代码的开发之中,而忽视了对嵌入式系统最基本、最核心部分的研究。随着嵌入式相关技术的迅速发展,嵌入式系统的功能越来越强大,应用接口更加丰富,根据实际应用的需要设计出特定的嵌入式最小系统和应用系统,是嵌入式系统设计的关键。
当前在嵌入式领域中,ARM(Advanced RISC Machines)处理器被广泛应用于各种嵌入式设备中。由于ARM嵌入式体系结构类似并且具有通用的外围电路,同时ARM内核的嵌入式最小系统的设计原则及方法基本相同,这使得对嵌入式最小系统的研究在整个系统的开发中具有着至关重要的意义。本文以基于ARM的嵌入式最小系统为平台,从硬件和软件两方面对嵌入式最小系统的架构进行了研究,硬件方面主要介绍了ARM处理器与典型外部存储器的接口技术,软件方面重点就嵌入式最小系统的启动架构做了详细分析。
1. 嵌入式最小系统
嵌入式最小系统即是在尽可能减少上层应用的情况下,能够使系统运行的最小化模块配置。对于一个典型的嵌入式最小系统,以ARM处理器为例,其构成模块及其各部分功能如图1所示,其中ARM微处理器、FLASH和SDRAM模块是嵌入式最小系统的核心部分。
时钟模块——通常经ARM内部锁相环进行相应的倍频,以提供系统各模块运行所需的时钟频率输入
Flash存储模块——存放启动代码、操作系统和用户应用程序代码
SDRAM模块——为系统运行提供动态存储空间,是系统代码运行的主要区域
JTAG模块——实现对程序代码的下载和调试
UART模块——实现对调试信息的终端显示
复位模块——实现对系统的复位
2. 外存储器接口技术
ARM处理器与外部存储器(Flash和SDRAM)的接口技术是嵌入式最小系统硬件设计的关键。根据需要选择合理的接口方式,可以有效的提升嵌入式系统的整体性能。
2.1常用外存储器简介
(1)Nor Flash与Nand Flash
Nor Flash也称为线性Flash,可靠性高、随机读取速度快,具有芯片内执行(XIP, eXecute In Place)的特点,这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。常用在擦除和编程操作较少而直接执行代码的场合。
Nand Flash则是高数据存储密度的理想解决方案,一般用于数据存储和文件存储,以块为单位进行擦除,具有擦除速度快的优点。
(2)同步动态存储器SDRAM
SDRAM(Synchronous Dynamic Random Access Memory)是在早期DRAM的基础上改进而来的,它是同步内存,并在接口信号中引入了CLK信号,所有数据、地址和控制信号都是和CLK上升沿对齐的。此外SDRAM还在内部引入了一个命令控制器,处理器访问SDRAM都是通过向命令控制器发送命令来实现的。
2.2 ARM处理器与Flash接口技术
2.2.1ARM处理器与Nor Flash接口技术
Nor Flash 带有SRAM接口,有足够的地址引脚,可以很容易的对存储器内部的存储单元进行直接寻址。在实际的系统中,可以根据需要选择ARM处理器与Nor Flash的连接方式。图2给出了嵌入式最小系统在包含两块Nor Flash的情况下,ARM处理器与Nor Flash两种不同的连接方式。
1)双Flash独立片选
该方式是把两个Nor Flash芯片各自作为一个独立的单元进行处理。根据不同的应用需要,可以在一块Flash中存放启动代码,而在另一块Flash中建立文件系统,存放应用代码。该方式操作方便,易于管理。
(2)双Flash统一片选
该方式是把两个Nor Flash芯片合为一个单元进行处理,ARM处理器将它们作为一个并行的处理单元来访问,本例是将两个8bit的Nor Flash芯片SST39VF1601用作一个16bit单元来进行处理。对于N(N>2)块Flash的连接方式可以此作为参考。
2.2.2ARM处理器与Nand Flash接口技术
Nand Flash接口信号比较少,地址,数据和命令总线复用。Nand Flash的接口本质上是一个I/O接口,系统对Nand Flash进行数据访问的时候,需要先向Nand Flash发出相关命令和参数,然后再进行相应的数据操作。ARM处理器与Nand Flash的连接主要有三种方式,如图3所示:
运用GPIO管脚方式去控制Nand Flash的各个信号,在速度要求相对较低的时候,能够较充分的发挥NAND设备的性能。它在满足NAND设备时域需求方面将会有很大的便利,使得ARM 处理器可以很容易的去控制NAND设备。该方式需要处理器提供充足的GPIO。
(2)运用逻辑运算方式进行连接
在该方式下,处理器的读和写使能信号通过与片选信号CS进行逻辑运算后去驱动NAND设备对应的读和写信号。图3中b例为SamSung公司ARM7TDMI系列处理器S3C44B0与Nand Flash K9F2808U0C的连接方式。
(3)直接芯片使能
有些ARM处理器如S3C2410内部提供对NAND设备的相应控制寄存器,通过控制寄存器可以实现ARM处理器对NAND设备相应信号的驱动。该方式使得ARM处理器与NAND设备的连接变得简单规范,图3中c例给出了ARM处理器S3C2410与Nand Flash K9F2808U0C的连接方式。
2.3 ARM处理器与SDRAM接口技术
嵌入式最小系统的外部动态存储器模块一般采用SDRAM。现在的大多数ARM处理器内部都集成有SDRAM控制器,通过它可以很容易的访问SDRAM内部的每一个字节。在实际开发中可以根据需要选用一片或多片SDRAM。图4中给出了两种常用的接口方式。