基于FPGA控制的IDE磁盘阵列设计
完成硬盘的复位和配置以后,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接口的固态盘,整个系统的性能不会受到影响。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)