1 GPS车载导航仪概述
随着现代交通运输网络和汽车工业的飞速发展车辆的自主导航和实时监控越来越受到人们的普遍关注,并被广泛地应用到交通运输网络的各个方面。
TRACK-II型GPS车载导航仪是我研究所与香港ARCON公司合作研制的最新一代车载导航仪。它是一种基于GPS技术并融合电子和通信技术的集成信息的硬件和软件平台,具有GPS准确定位、路线最优引导、旅行信息查询、出行信息查询、驾驶员信息查询等信息综合服务功能。从所完成的功能来划分,GPS车载导航仪可以划分为物理层、数据链路层和应用层。物理层获取当前车辆的相关信息,包括姿态、位置、方向和时间等信息,以及与当前位置相关的地理信息数据;数据链路层则在所获取的原始数据信息的基础之上,进行一系列的数据滤波处理,为应用层提供标准数据接口。同时通过数据链路层,GPS车载导航仪可以与外部数据平台进行双向数据通信,以实现数据交换;应用层采用面向对象的设计技术,通过标准数据接口,利用人工智能、模糊控制和专家系统的方法,实现诸如地图匹配、最优路径选择等功能。
该GPS车载导航仪的物理层是车载系统信息集成的硬件平台,它主要包括具有RISC结构的32位CPU ARM9TDMI、大容量的Flash硬盘(存放过程数据、电子地图和各种数据库信息)和GSM通信模块。限于篇幅,主要介绍该导航仪中为适应数据大容量存储而设计的Flash硬盘的功能和工作原理。
2 Flash硬盘硬件组成
作为车载系统信息集成的硬件平台 GPS车载导航仪需要快速读取硬盘中的地理信息数据、查询路网数据库和执行路径选优算法等。大容量存储器因为要与CPU进行频繁的通信、进行高速协调工作,它的可靠程度直接决定了导航仪的可靠性。采用磁原理的普通PC机硬盘,抗振动能力差、易于损坏,不适于车载。基于以上的要求我们设计了大容量的Flash硬盘,作为导航仪的数据存储器。
我们设计的Flash硬盘是一种固态盘SSD(Solid State Disk)。它主要包括具有标准IDE接口的DSP控制器MX9691、程序存储器和16片128Mbit的Flash存储器芯片。因为全部采用电子元件,它的抗振动性和平均无故障间隔时间(MTTF)均比普通硬盘高一个数量级(采用Bellcore或Mil-spec方法)。
2.1 硬盘控制器MX9691简介
MX9691L是旺宏公司生产的电子硬盘专用控制器,为128脚LQFP封具有宽电压工作范围?3.3“5V ,可提供标准的PCMCIA和IDE 接口。它的内部包括MX93011的DSP内核 21MIPS 、1KB的缓冲数据区、PCMCIA/ATA接口、Flash存储器接口和时钟、复位电路等。用MX9691设计的电子硬盘的扩展性好只要选用相应的固件可以任意选择相应类型和数目的Flash存储器并且有很好的兼容性。图1为其功能框图。
2.2 Flash存储器芯片简介
采用的Flash 芯片为KM29U128T。它是48脚表面封装器件,内部具有(16M+512K)×8bit的存储空间,共32768行,528列,其中后备的16列位于512列到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可以看作是普通硬盘中的驱动控制器它是CPU与Flash存储器进行数据交换的控制通道。数据交换不仅可以采用程序控制方式和中断控制方式,还可以采用直接存储器存取方式(DMA)。在DMA方式下,MX9691内部的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#和WRFLASH#同时有效时,数据被写入相应的Flash存储单元中。读操作与此类似。Flash存储器读写时序如图3和图4所示。
MX28F2100T为程序存贮器,它通过标准ATA接口经编译的可执行文件可以对它直接在线编程。74F245和74F244为总线驱动器,在所选Flash存储器较多时可以提高总线驱动能力。
采用MX9691作为Flash硬盘的驱动控制器有很多优点。MX9691为旺宏公司生产的专用硬盘驱动控制芯片优化功能强大没有冗余模块且封装紧凑便于进一步小型化和降低功耗。MX9691与三星公司的Flash存储芯片兼容性好,不需再增加其它电路,因此可靠性高。旺宏公司对MX9691有强大的软件支持,很多固件可以直接购买。因为MX9691支持在线编程,升级和维护非常简单。
另外,为用于手持和车载系统MX9691为低功耗设计。它有3种节电模式idle、standby和sleep。MX9691可以通过查询自己的工作状态自动进入相应的节电模式因此功耗很低。该Flash硬盘已可靠运行了半年多,并且与Windows CE的兼容性也较好。它体积小、重量轻、抗震性好,并且功耗很低。随着快闪技术的进一步发展,大容量的Flash存储器将被广泛地应用于个人数字助理(PDA)、电子游戏机、数字相机、自动化信息及导航系统中。