本人邮箱:wu_sata@163.com,欢迎同行来信交流和洽谈合作事宜。
本人在XILINX公司的FPGA上开发了一个SATA host控制器, SATA协议的应用层由嵌入式处理器PPC440来实现,主要完成硬盘的参数配置和读写操作命令。SATA协议的传输层和链路层是通过硬件描述语言设计在FPGA中生产相应的电路来实现,这两层主要是完成帧的封装,帧的发送、暂停、结束控制,帧的解析和校验。SATA协议的物理层由千兆位级收发器GTX、OOB控制模块和接口传输率选择模块共同实现。千兆位级收发器GTX的主要功能包括8B/10B编码/解码,串并/并串转换,逗点检测,时钟修正,预侧重和线性均衡等。OOB控制模块和接口传输率选择模块能够自动识别硬盘的接口传输率,完成硬盘的上电过程或硬件复位过程,并同SATA控制器建立通信链接。
该控制器采用PLB接口实现嵌入式处理器power pc(或者是microblaze)和SATA控制器之间控制信息和状态信息的交换;NPI(Native Port Interface)接口用于实现储存器控制器和SATA控制器之间数据的交换。
该控制器支持第二代SATA II(接口传输率是3.0Gbps)。使用intel 公司SSD 320系列的硬盘进行测试持续写速度达到
以下是SATA HOST控制器在xilinx公司V5 FX系列芯片xc5vfx70t上实现的资源占用情况
Slice Logic Utilization:
Number of Slice Registers: 2,902 out of 44,800 6%
Number used as Flip Flops: 2,902
Number of Slice LUTs: 3,097 out of 44,800 6%
Number used as logic: 2,815 out of 44,800 6%
Number using O6 output only: 2,475
Number using O5 output only: 184
Number using O5 and O6: 156
Number used as Memory: 251 out of 13,120 1%
Number used as Shift Register: 251
Number using O6 output only: 250
Number using O5 and O6: 1
Number used as exclusive route-thru: 31
Number of route-thrus: 219 out of 89,600 1%
Number using O6 output only: 215
Number using O5 output only: 4
热烈欢迎来信交流和洽谈合作事宜。