微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA控制的IDE磁盘阵列设计

基于FPGA控制的IDE磁盘阵列设计

时间:06-05 来源:互联网 点击:

完成硬盘的复位和配置以后,FPGA循环检测有无读写命令。以写硬盘为例介绍,FPGA完成对硬盘的复位和配置后就进入到命令检测状态。一旦检测到写硬盘命令,程序进入到写状态。FPGA首先向硬盘命令寄存器和状态寄存器写入必要的信息,然后等待DMARQ信号有效,进而对DMA通道进行初始化。全部准备工作完成后,FPGA内部FIFO中的数据就可以存储到硬盘中。数据在传输过程中,硬盘随时可能暂停传输,一旦暂停,FPGA就只能等待硬盘再次就绪。前一帧的DMA数据传输完毕后,FPGA需要向硬盘发送CRC结果,如果CRC结果正确硬盘就会接收当前数据;如果错误,硬盘就会向FPGA报错,此时数据就需要重新传输。图5为写硬盘流程图。读硬盘的过程和写过程相似,本文不再详细介绍。


3 上位机软件设计

整个磁盘系统通过VC界面进行管理,操作界面如图6。软件提供了最多四个采集通道,用户可以根据自己的需要进行任意配置。采集数据前,可以设置采集时钟为外时钟或内时钟。触发方式分:自动触发、上升沿触发、下降沿触发、低电平采集、高电平采集。针对雷达的特殊工作方式,系统也可以工作在间断采集模式下。

数据采集过程中,磁盘系统配合PCI 9054卡可以得到当前回波的IQ数据以及脉冲压缩结果。采集结束后,可以根据需要导出任何一部分数据。

本文采用FPGA实现了符合ATA-6规范的IDE协议,将硬盘组成磁盘阵列实现了对数据的高速稳定存储, 平均数据流达到200MB/s,峰值传输速率达到800MB/s。在试验阶段先后使用了希捷、迈拓、西数等厂家的硬盘进行试验。经过测试整个系统的运行比较稳定,长时间采集不会出现数据丢失的情况。如果希望增强系统的抗震性,可以在板卡上挂IDE接口的固态盘,整个系统的性能不会受到影响。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top