background image

踞2外圈板的硬件鳍构

在核心板中,CPU核心模块AT91RM9200是系统软件的

运行基础,系统扩展了64 MB的SDRAM,作为程序的运行

空间、数据及堆栈区,SDRAM读写要求速度快,直接与CPU

总线相连。FLASH存储器用于存储可执行程序的二进制文

件,供系统启动后加载到SDRAM中运行。CPU总线在连接

FLASH及外围板的扩展I/O口时,均通过总线驱动芯片增大

驱动能力,并起到保护主电路的作用。串口用于向计算机传

递信息,这些信息可以在计算机上通过超级终端或其他的串

口程序显示,便于在调试程序时监视系统内部的变量值。

外围板包括液晶显示、语音、串I:1、以太网、串口等功

能模块。系统扩展了一块8.4英寸的真彩液晶屏,对液晶屏

的读写通过外接LCD控制器来完成,由LCD控制器产生液

晶屏控制信号,并提供出并行总线的接口与ARM连接。语

音模块选用Micronas Intermetall公司专为个人音频播放器以

及MP3因特网音频播放器设计的芯片DAC3550A,它内部集

成了立体声耳机放大器和单声道扬声放大器,信噪比达

103

dB,具有12S总线音频输入和12C控制总线,并采用宽电

压设计,电源电压范围为2.7

V~5.5

V,具备低功耗模式。为

满足控制器大容量的存储需求,系统扩展了一块ATMEL公

司出品的DATA FLASH。它的工作电压为2.7

V~3.6

V,最

大时钟频率为20 MHz,可擦写l万次,数据可保存lO年,

AT91RM9200由片上集成的SPI串行总线接I:I与DATA

FLASH相连接。AT91RM9200内置以太网介质访问控制器

EMAC,在外部扩展一片通用的以太网物理层收发芯片,选

用的是Davicom公司的DM9161以太网物理层接口收发芯

片,DM9161是一款单芯片、低功耗收发器,在介质层,它

为100BASE—TX所需的5类双绞线(UTP5)和10BASE-T的

UTP5/UTP3都提供了直接接口。通过MII或RMII连接到

MAC层,保证了不同的介质连接都有很好的性能。CAN总

线模块采用的是Microchip的MCP2515,这是一款独立CAN

协议控制器,完全支持CAN V2.0B技术规范。另外,系统还

扩展了2个串I:I,用于连接外围设备。

人机接口扩展板如图3所示。

田3人枫接口板的硬件结构

一242一

该扩展板可划分为以下几个模块:51单片机控制模块

(AT89C51),CPLD控制模块,点阵LED显示模块,按键采

集模块,CAN接口模块,232接ICl模块。CPLD用于IO扩展,

采用ALTERA公司的MAX3000A系列EPM3256,这是一款

高性能、低功耗基于EEPROM的CPLD,具有5 000个逻辑

门,256个宏单元,16个逻辑阵列模块,最大可用管脚

161个,3.3 V供电。作为此控制器的核心模块,它负责

32个按钮的采集、32个指示灯的点亮、3块5x7点阵LED

的动态扫描显示和CAN芯片SJAl000的片选。

AT91RM9200微控制器操作系统移植

4.1软件平台的选择

在软件设计上选用了嵌入式操作系统,嵌入式操作系统

可以由用户进行配置,定制出符合用户需求的特定系统,系

统写入FLASH存储器芯片中,在设计时使用监视定时器及

容错设计,大大提高了嵌入式系统的可靠性。在众多嵌入式

操作系统(WindowsCE,VxWorks,Linux,uC/OSlI)中,选用嵌

入式Linux,因为它有以下优点睇J:

(1)开发源代码,具有丰富的软件资源;

(2)功能强大的内核,高效、稳定、多任务;

(3)支持多种体系结构,包括本系统所使用的ARM体系;

(4)完善的网络通信、图形和文件管理机制;

(5)支持大量的周边硬件设备,驱动丰富;

(6)系统大小、功能都可定制。

Linux内核版本更新速度非常快,现在已经推出了2.6版

本,但是Linux的标准内核版本发行同Linux对嵌入式微处

理器的支持的发展是不同步的,即某内核版本未必支持特定

的处理器体系结构,如果要完全自己开发用特定微处理器体

系结构和硬件驱动的代码将会大大增加开发工作的难度和工

作量,这对于产品开发是不合适的。本设计选择功能和可靠

性都很成熟的Linux一2.4.19内核版本以及针对AT9lRM9200

体系结构的补丁patch一2.4.19.rmk7。给标准内核源代码打上

补丁后,该内核就可应用于AT91RM9200。

4.2文件系统的选择

在嵌入式Linux系统中,2种文件系统使用最为广泛:

JFFS2和RAMDISK。JFFS2【j1是JFFS文件系统的改进版,

Journaling

Flash

File

System(JFFS)是瑞典的Axis

Communications公司专门针对嵌入式系统中的Flash存储器

的特性而设计的一种日志文件系统。Redhat公司的David

Woodhouse在JFFS的基础上进行了改进,从而发布了

Journaling Flash File System Version

2(JFFS2)。和JFFS相比,

JFFS2支持更多节点类型,提高了磨损均衡和碎片收集的能

力,增加了对硬链接的支持。JFFS2还增加了数据压缩功能,

这更利于在容量较小的Flash中使用。和传统的Linux文件系

统如ext2相比,JFFS2处理擦除和读写操作的效率更高,并

且具有完善的掉电保护功能,使存储数据更加安全。

RAMDISK是用内存(RAM)空间来模拟块设备,

RAMDISK通常使用磁盘文件系统(ext2fs)的压缩镜像存放在

FLASH中,在系统初始化时,解压到RAM并挂载为根文件

系统,RAMDISK的特点是速度快(在RAM中运行),不过系

统重新启动后,所有的配置都无法保存。RAMDISK特别适

合在嵌入式Linux系统初始化期间作为根文件系统挂载。

本文实现的嵌入式系统应具有读写速度快,断电可靠的

特性,所以选用RAMDISK和JFFS2 2种文件系统,RAMDISK

作为根文件系统在系统启动时挂载,而用户需要修改的程序

 

 

万方数据