1系统的硬件介绍系统分为遥测数据采集和存储两部分,采集部分包括采集控制和串/并转换电路;存储部分有:帧计数、读写缓冲地址产生电路、读写控制电路及主存储电路。结构框图如图"> 1系统的硬件介绍系统分为遥测数据采集和存储两部分,采集部分包括采集控制和串/并转换电路;存储部分有:帧计数、读写缓冲地址产生电路、读写控制电路及主存储电路。结构框图如图" />
欢迎来到天天文库
浏览记录
ID:23935099
大小:52.50 KB
页数:5页
时间:2018-11-11
《基于ide硬盘的高速数据存储器研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于IDE硬盘的高速数据存储器研究
2、第1lunouseg(this)">1系统的硬件介绍系统分为遥测数据采集和存储两部分,采集部分包括采集控制和串/并转换电路;存储部分有:帧计数、读写缓冲地址产生电路、读写控制电路及主存储电路。结构框图如图1所示。由于硬盘的工作时序与遥测数据的速率不匹配,从数据采集部分得到的并行数据需采用SRAM作数据缓存,然后在单片机的控制下,将SRAM中的数据直接存入硬盘。而硬盘的寻道时间相对于遥测数据的速率来讲比较慢,因此采用适当的写盘方法,提高硬盘的读写速度是本系统的重点之一。其难点在于如何利用单片机控制硬盘进行读写、复位、检测等操作。1.1双片交替
3、式缓冲存储器由于时序不匹配,遥测数据无法直接存入硬盘,因此需要一个缓冲存储器进行匹配或缓冲,使遥测数据和硬盘存储可以分别按各自不同的时序和速度对缓冲存储器SRAM进行操作,解决了不同时序的匹配问题。因此采用缓冲存储方法,将遥测数据存满一定容量的SRAM,再对其进行块操作存储,可极大地提高存储的速度。为了实现遥测数据无丢失存储,缓冲存储器采用双片交替式,即两片SRAM分别交替地被写入遥测数据。首先在地址产生电路控制下将遥测数据写入其中一片SRAM,写满后发出溢出中断,并且封闭地址产生电路及遥测数据的通路而接通硬盘地址和数据通路,等待CPU响应中断后,读取数据存入硬盘。与此同时,
4、另一片SRAM的地址和数据端马上被接通到地址产生电路和遥测数据通路上,接受遥测数据的写入。同样写满后发出中断,切换至被读取状态。两片SRAM如此交替地工作,连续不断地将遥测数据缓存、写盘,只要写盘所用的时间不大于遥测数据写满SRAM的时间,数据就会无丢失地全部存储。1.2采用MCS-51系列单片机驱动硬盘的方案由于目前还没有为单片机设计的专用硬盘驱动器及接口电路,利用单片机系统控制现有的硬盘驱动器,可极大地提高系统的性能价格比。因此,本系统采用单片机控制硬盘进行高速数据的存储。IDE接口的硬盘驱动器提供了两种数据传输模式:DMA模式和PIO模式。由于PIO模式控制相对容易,提
5、供了一种编程控制输入输出的快速传输方法。该模式采用了高速的数据块I/O,以扇区为单位,用中断请求方式与处理机进行批量数据交换。在扇区读写操作时,一次按16位长度通过内部的高速PIO数据寄存器实现传输。通常情况下,数据传输以扇区为单位,每传输一扇区数据产生一个中断。在块模式下以块为单位,在读写一个块期间,硬盘驱动器不产生中断,这样就大大地节省了时间。由于本系统遥测数据的码速率提高到8Mb/s,对硬盘的写盘速度要求非常高,因此本系统采用了块传输模式以提高硬盘的读写速度。硬盘在读写16位数据时,PC机中使用INSCS-51系列单片机控制硬盘,使数据传输在硬盘端口寄存器与缓冲存储器之
6、间进行,不经过单片机,单片机只是对硬盘进行初始化,并发相应的写命令。这样,在单片机的控制下,两片SRAM交替工作,实现了高速遥测数据无丢失存储。2系统的软件介绍2.1硬盘速度测试硬盘的存取速度是决定8Mb/S码速率硬盘存储方案可行性的关键。是否存在足够高速的硬盘与系统相配,是本系统方案能否实现的一个决定性问题。但是,利用现有的硬盘测试软件只能比较几种硬盘之间的优劣和差异,而不能比较同一硬盘采用不同写盘方法的速度差异。为了得到一种较快的写盘方法,在对硬盘读写原理进行深入剖析后,自己编程进行测试。以迈拓4.3GB硬盘为例,采用三种不同的写盘方法:调用BIOS的INT13;利用非块
7、模式和块模式写盘;对硬盘速度进行测试。结果证明:采用PIO4及块模式写盘速度最快,可以达到3.496MB/s。完全可以满足本系统的需要。500)this.style.ouseg(this)">2.2单片机控制硬盘读写操作IDE接口是一种任务寄存器结构的接口,所有输入输出操作均通过对相应寄存器的读/写来完成的。如果主机要对硬盘机进行写数据操作,首先进行(命令和参数)寄存器选择,通过数据总线将相应的命令码用IOW写入命令寄存器,以及有关参数写入硬盘参数寄存器。数据由数据总线(16位宽)传递至数据寄存器,通过数据寄存器存入缓存器。IDE接口会根据命令自动将数据写到由参数寄存器指的磁
8、道号、头号、扇区号。硬盘的读操作与写操作相似,区别在于首先发出中断请求,然后进行数据传输。IDE控制器端口寄存器地址分配见表1。主状态寄存器(CS0置0)反映硬盘控制器的操作状态,决定查询状态后的不同流向。定义如下:500)this.style.ouseg(this)">在向控制器发出命令之前,必须先检测控制器是否忙碌(D7=1)。如果在规定时间内控制器一直忙碌,则置超时错,否则表示控制器空闲可接受命令。设计过程中,采用PIO模式以块为单位进行读写操作,从硬盘读数据的过程描述如下:(1)在相关寄存器中写
此文档下载收益归作者所有