踞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的片选。
4
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
作为根文件系统在系统启动时挂载,而用户需要修改的程序
万方数据