SATA硬盘控制器的FPGA实现
2016-10-18贾效玲张刚张博
贾效玲,张刚,张博
(太原理工大学信息工程学院,太原030024)
SATA硬盘控制器的FPGA实现
贾效玲,张刚,张博
(太原理工大学信息工程学院,太原030024)
设计一款高性能的SATA硬盘控制器IP核。基于Xilinx公司的Virtex-5系列FPGA,参考SATA2.5协议,运用VHDL硬件描述语言,采用模块化的设计理念,完成IP核的设计。搭建了验证平台,对IP核的性能进行了测试,经测试该控制器IP核能正确地完成读、写、设备复位、设备识别等操作,且稳定性良好。同时编写了PetaLinux操作系统下的驱动程序,便于嵌入式系统的应用。
SATA2.5,控制器,FPGA,VHDL
0 引言
随着嵌入式技术的发展,嵌入式系统对存储器容量的要求越来越高,特别是图像采集、视屏监控等系统。硬盘容量大、价格便宜非常适合需要大容量存储的嵌入式系统,而目前很少有成熟的硬盘嵌入式接入方案。本文详细分析了SATA协议结构,设计了相应的SATA控制器,并在FPGA上进行了验证,基于PetaLinux设计实现了文件系统接口,为硬盘的嵌入式系统应用提供了良好解决方案。
1 SATA简介
2001年Intel等厂商组成的Serial ATA委员会提出速度为150MB/s的SATA总线接口,高于并行ATA的最高理论速度133 MB/s,SATA2.0和SATA3.0更是分别达到了300MB/s和600MB/s[1]。
SATA接口由电源和上行、下行两个数据通道组成,数据通道由3根地线将两对差分信号线隔开,形成SATA独占通道带宽的点对点连接方式[2]。按功能SATA协议分为物理层、链路层、传输层和命令层,协议的层次结构如图1所示。主机和设备之间,除了物理层,其他各层均通过消息虚拟连接。物理层是协议的最底层主要负责码流的收发及串并并串转换;……
