摘要:介绍用于车载GPS导航仪的大容量Flash硬盘。分析了系统的工作原理和组成特点。该硬盘具有体积小、重量轻、功耗低、抗振动性好等特点,可用于各种类型的车载计算机数据存储系统。
关键词:快闪存储器 自主导航 硬盘
1 GPS车载导航仪概述
随着现代交通运输网络和汽车工业的飞速发展,车辆的自主导航和实时监控越来越受到人们的普遍关注,并被广泛地应用到交通运输网络的各个方面。
TRACK-II型GPS车载导航仪是我研究所与香港ARCON公司合作研制的最新一代车载导航仪。它是一种基于GPS技术并融合电子和通信技术的集成信息的硬件和软件平台,具有GPS准确定位、路线最优引导、旅行信息查询、出行信息查询、驾驶员信息查询等信息综合服务功能。从所完成的功能来划分,GPS车载导航仪可以划分为物理层、数据链路层和应用层。物理层获取当前车辆的相关信息,包括姿态、位置、方向和时间等信息,以及与当前位置相关地理信息数据;数据链路层则在所获取原始数据信息的基础之上,进行系列的数据滤波处理,为应用层提供标准数据接口。同时通过数据链路层,GPS车载导航仪可以与外部数据平台进行双向数据通信,以实现数据交换;应用层采用面向对象的设计技术,通过标准数据接口,利用人工智能、模糊控制和专家系统的方法,实现诸如地图匹配、最优路径选择等功能。
2 Flash硬盘硬件组成
作为车载系统信息集成的硬件平台,GPS车载导航仪需要快速读取硬盘中的地理信息数据、查询路网数据库和执行路径选优算法等。大容量存储器因为要与CPU进行频繁的通信、进行离速协调工作,它的可靠程度直接决定了导航仪的可靠性。采用磁原理的普通PC机硬盘,抗振动能力差、易于损坏,不适于车载。基于以上的要求我们设计了大容量的Flash硬盘,作为导航仪的数据存储器。
我们设计的Flash硬盘是一种固态盘SSD(Solid State Disk)。它主要包括具有标准IDE接口的DSP控制器MX9691、程序存储器和16片128Mbit的Flash存储器芯片。因为全部采用电子元件,它的抗振动和平均无故障间隔时间(MTTF)均比普通硬盘高一个数据级(采用Bellcore或Mil-spec方法)。
2.1 硬盘控制器MX9691简介
2.2 Flash存储器芯片简介
采用的Flash芯片为KM29U128T。它是48脚表面封装器件,内部具有(16M+512K)×8bit的存储空间,共32768行,528列,其中后备的16列位于523列到527列。它内部有一个528字节的数据寄存器,可以用于页读、页编程操作时数据的存储转换。它可以进行528字节为页的页读和写操作,并可以进行以16K为一块的块擦除操作。
KM29U128T的突出优点在于:命令、地址和数据信息均通过8条I/O线传输,寻址单元的地址线不作为芯片的引出脚,24位地址分三次写入地址锁存器,译码后找到相应的单元。
3 Flash硬盘工作原理
Flash硬盘由具有标准IDE接口的MX9691DSP芯片、程序存储器MX28F2100T、总线驱动器74F244、74F245和16片16M×8bit的KM29U128T组成。
3.1 原理框图
Flash硬盘工作原理框图如图2所示。
下面介绍MX9691的引脚信号:
A[15:0] 地址线,具有内部上拉电阻(与Flash存储器接口);
FCE[7:0] Flash存储器片选线,低有效;
WR# MX9691 向外部存储器写,低有效;
RD# MX9691 从外部存储器读,低有效;
WRFLASH# Flash存储器写允许,低电平有效,信号有效时MX9691向Flash存储器写数据;
RDFLASH# Flash存储器输出允许,低电平有效,信号有效时MX9691从Flash存储器读数据;
HA[10:0] 地址线(与IDE接口),具有内部上拉电阻;
REG# 存储器和I/O端口选择,低电平有效,DMA状态下与IOR#或IOW#配合完成MX9691与CPU之间的数据交换;
IOW# I/O写(与IDE接口),具有内部上拉电阻;
IOR# I/O读(与IDE接口),具有内部上拉电阻。
由工作原理框图可以看出,MX9691可以看作是普通硬盘中的驱动控制器,它是CPU与Flash存储器进行数据交换的控制通道。数据交换不仅可以采用程序控制方式和中断控制方式,还可以采用直接存储器存取方式(DMA)。在DMA方式下,MX9发91内部的DMA控制器利用数据缓冲区可以IDE适配器直接进行数据高速交换。因为采用周期窃取技术(cycle stealing),使得数据传送工作对系统总线具有较高的使用权。因为采用高速的MX93011 DSP内核(21Mips),进行主机到缓冲区的突发数据传送时速率可以达到20MB/s。同时,MX9691还支持PIO模式4(16.6MB/s)和DMA模式2(16.6MB/s)。
3.2 对Flash存储器的读写时序
硬盘控制器在与Flash存储器进行数据通信操作时,数据已被放入内存中,MX9691首先把内存的数据读入内部高速缓存中,然后通过识别接收的指令类型和查询FAT得到要寻址的Flash存储器的编号。在对Flash存储器进行写操作前,先把要写入的信息依次到数据总线上,经过Tw(a-ce)的时间,待数据(包括指令、地址和数据)稳定后,通过对要寻址的Flash存储器编号的解码,从端口$601FH输出FCE片选信号选中相应的Flash芯片。在WR#和WRELASH#同时有效时,数据被写入相应的Flash存储单元中。选操作与此类似。Flash存储器读写时序如图3所和图4所示。
MX28F2100T为程序存贮器,它通过标准ATA接口经编译的可执行文件可以对它直接在线编程。74F245和74F244为总线驱动器,在所选Flash存储器较多时可以提高总线驱动能力。
采用MX9691作为Flash硬盘的驱动控制器有很多优点。MX9691为旺宏公司生产的专用硬盘驱动控制芯片,优化功能强大,没有冗余模块且封装紧凑,便于进一步小型化和降低功力量。MX9691与三星公司的Flash存储芯片兼容性好,不需再增加其它电路,因此可靠性高。旺宏公司在MX9691有强大的软件支持,很多固件可以直接购买。因为MX9691支持在线编程,升级和维护非常简单。另外,为用于手持和车载系统,MX9691为低功耗设计。它3种节电模式载系统,MX9691为低功耗设计。它有3种节电模式:idle、standby和sleep。MX9691可以通过查询自己的工作状态,自动进入相应的节电模式,因此功耗很低。
该Flash硬盘已可靠运行了半年多,并且与Winodows CE的兼容性也较好。体积小、重量轻、抗震性好,并且功耗很低。随着快闪技术的进一步发展,大容量的Flash存储器将被广泛地应用于个人数据助理(PDA)、电子游戏机、数字相、自动化信息及导航系统中。