论文部分内容阅读
随着信息时代的到来,高速的数据传输使并行的ATA技术的缺陷越来越明显,而串行ATA技术以其支持热插拔、传输速度快的优势在硬盘领域得到广泛的应用。为了提高了数据传输的可靠性,串行ATA技术添加了CRC校验模块和加解扰模块,同时其本身也在不断的改进,数据传输带宽不断的提高。在片上可编程系统的设计中,尽管Xilinx公司和Alteral公司均提供串行ATA的IP核,但是这些IP核主要面向IC设计的,在灵活性和性能等方面有众多限制。因此,在固态电子硬盘取代传统机械磁盘的趋势下,研究串行ATA技术应用具有重要的意义。 论文研究SATAⅡ协议规范,在Xilinx Virtex-5开发板上设计并实现SATAⅡ协议的IP核。在论文中,首先研究FPGA设计原理和用户自定义IP核的方法,然后设计SATAⅡ协议IP核的方案,根据SATAⅡ协议的体系结构和每层数据通信的原理,将SATA IP核的结构分为物理层、链路层、传输层和应用层。在此基础上,设计每层的逻辑结构,并划分功能模块。 在物理层设计中,根据物理层通信原理,设计控制状态机,并使用GTP收发器实现数据的高速串行传输;在链路层设计中,根据原语功能和链路层通信原理,设计16b/20b编解码模块、加解扰模块、CRC校验模块以及控制模块,并将控制模块划分为空闲状态机、接收状态机、发送状态机以及电源管理状态机,同时为了提高数据处理的速率,并行化设计加解扰模块和CRC校验模块;在传输层设计中,根据帧类型和帧结构,设计解帧压帧模块和空闲状态机,并实现对映射地址寄存器访问;在应用层设计中,分析设备端的命令协议并通过研究PIO data-in命令、DMA data-in命令以及PACKET命令说明应用层命令执行的过程,设计映射地址寄存器模块以及应用层的接口部分,通过接口实现与PLB总线的连接。 最后,论文对设计的SATAⅡ协议IP核进行综合和优化,实现对SATAⅡ协议发送命令、发送数据和接收数据的仿真。