固态硬盘是一种以FLASH为存储介质的新型硬盘。由于它不像传统硬盘一样以高速旋转的磁盘为存储介质,不需要浪费大量的寻道时间,因此它有着传统硬盘不可比拟的顺序和随机存储速度。同时由于固态硬盘不存在机械存储结构,因此还具有高抗震性、无工作噪音、可适应恶劣工作环境等优点。随着计算机技术的高速发展,固态硬盘技术已经成为未来存储介质技术发展的必然趋势。 本文以设计固态硬盘控制芯片IDE接口部分为项目背景,通过可编程逻辑器件FPGA,基于ATA协议并使用硬件编程语言verilog,设计了一个位于设备端的IDE控制器。该IDE控制器的主要作用在于解析主机所发送的IDE指令并控制硬盘设备进行相应的状态迁移和指令操作,从而完成硬盘设备端与主机端之间基本的状态通信以及数据通信。论文主要完成了几个方面的内容。第一:论文从固态硬盘的基本结构出发,分析了固态硬盘IDE控制器的功能性需求以及寄存器传输、PIO传输和UDMA传输三种ATA协议主要传输模式所必须遵循的时序要求,并概括了IDE控制器设计的要点和难点;第二:论文设计了IDE控制器的总体功能框架,将IDE控制器从功能上分为寄存器部分、顶层控制模块、异步FIFO模块、PIO控制模块、UDMA控制模块以及CRC校验模块六大子功能模块,并分析了各个子功能模块的基本工作原理和具体功能设计;第三:论文以设计状态机流程和主要控制信号的方式实现了各个具体子功能模块并列举了部分关键代码,同时给出了主要子功能模块的时序仿真图;最后,论文给出了基于PIO传输模式和基于UDMA传输模式的具体指令操作流程实现,并通过SAS逻辑分析仪和QuartusⅡ对IDE控制器进行了功能测试和分析,验证了本论文设计的正确性。
标签:
FPGA
IDE
固态硬盘
上传时间:
2013-07-31
上传用户:liangrb