基于开源SATA核的PCIE-SATA设计

之前写的PCIE-SATA设计论文,摘抄到博客上,供大家参考。摘抄、转载请注明出处。

1. 参考设计

1.1 开源核设计

使用FPGA实现SATA接口主机控制器,国内外在此方面已有研究成果可以借鉴和参考。美国北卡罗莱纳州大学可编程计算机系统实验室,Ashwin A. Mendon、Bin Huang和Ron Sass基于Open Cores的开源IP核,已经在Xilinx公司Virtex 6系列FPGA上,搭建了基于内置CPU,支持SATA2接口的环境。

其中,图中内置的CPU为Xilinx嵌入式软核MicroBlaze,MGA为Multi Gigabit Transciever,MPMC为Multi-port Memory Controller,NPI为Native Port Interface,SSD为Solid State Drive。

1.2  DGWAY设计架构

DGway公司作为一个专业的IP核提供商,实现了基于FPGA的支持4个SATA并行读写的FPGA核,且为SATA核读写性能指标的测试提供了参考设计[1]。它采用Kintex-7评估板作为测试平台,作为SATA通信层的主机,每个SATA-IP使用一对GTX与目标设备进行通信,且相互独立运行,4个盘组成Raid模式。应用程序层在该参考设计控制4 SATA设备操作存储系统,传输速度是单个SATA盘的4倍。

 

设计主要由三部分组成,分别是MicroBlaze、AXI_DDR3、4个AXI_SATA控制器。AXI是MicroBlaze和4个SATA之间传输数据的交互总线,传输的数据是由MicroBlaze组包和解包的SATA FIS包,不同的FIS包类型,存储在DDR3的不同区域,AXI_SATA包含了FIS解码器,每个AXI_SATA和DDR3之间都有自己独立的互联总线。

2.  综合设计

2.1  开源核改进

原有的SATA核采用的是PLB总线,使嵌入式软核可以访问SATA核寄存器,通过NPI总线,可以使SATA核的DMA读写数据和挂载的DDR高速缓存交互。由于7系列FPGA新设计开始支持AXI总线,能够简化多种IP核的总线挂载,明显优于之前Xilinx公司之前的PLB总线。

使用Xilinx Platform Studio(XPS)平台可以非常方便的创建自己的IP,打开XPS后,在HardWare菜单,选择Create Peripheral,就可以定制自己的IP核。首先寄存器访问可以使用AXI4-Lite总线,我们需要将SATA核挂载在AXI4-Lite总线上。

 

AXI-Lite总线由于速度低,适用于简单的寄存器访问接口,可以使主机访问SATA核的寄存器,SATA核和设备交互的高速DMA读写数据,需要使用AXI4总线。可以从Xilinx官网下载参考核设计,XilinxAnswer #37425提供了各种AXI核的参考设计,我们只使用axi_master_v1_00_a参考设计,在其基础上修改设计,建立的AXI4总线和原有的NPI总线有很大不同,需要做一部分移植工作。

参考NPI状态机可知,读写均为由寄存器控制,寄存器包括读写的起始地址和读写的数据长度。首先分析AXI总线结构,分析读写发起的方法和顺序,然后将SATA核数据接口和AXI4总线连接。

2.2 系统搭建

当设计完成各主要模块后,需要使用Xilinx嵌入式版本 Design Suite 的关键组件将Xilinx Platform Studio(XPS)各个模块搭建成系统。

 

本设计包括两条AXI总线,一条为标准AXI4总线,另外一条为AXI-Lite总线,两条总线通过axi2axi_connector(AXI到AXI连接器)关联,以便两条总线的主从设备能够相互访问。

1个axi_pcie桥、4个axi_sata_ip的AXI主端接口,DDR3控制器从端和axi到axi桥接器,连接在标准AXI4总线,用于高速数据读写,其它设备可以通过pcie端口访问总线挂接的所有从设备,包括DDR3内存以及axi桥接器映射到的AXI-LIte总线从设备。

axi桥接器作为AXI-LIte总线主设备,可把AXI4总线访问请求转换为AXI-Lite总线协议访问挂载的axi-bram(AXI片上内存块),4个axi_sata_ip的寄存器接口,以及axi-pcie桥的从设备接口。

clock_generator、PCIe_Diff_Clk、utili_vector_logic、reset模块为时钟和复位模块单元,为各工作模块提供所需的时钟和复位信号。

2.3  板卡设计

 

板卡采用标准VPX 6U导冷结构设计,选用4片250G mSATA存储盘作为存储体,外部高速接口采用PCIE接口,用于和主控进行大速率数据传输。经上电测试,整个存储系统运行正常,4盘并行写速率约800MB/S,读速率约1GB/S。

3. 备注说明

开源SATA核链接:  https://github.com/CospanDesign/nysa-sata

开源SATA核文章:  https://download.csdn.net/download/web_star/10514755

我写的论文链接:   https://download.csdn.net/download/web_star/11376337

  • 4
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
米联客 xdma pcie-linux 应用是一种基于 Linux 操作系统的 PCIe 总线通信卡驱动程序。它可以帮助用户在计算机系统中实现高速数据传输和实时数据采集等任务。 首先,米联客 xdma pcie-linux 应用支持 PCIe 总线,这是一种高速的数据传输接口。通过这个接口,用户可以连接设备和主机,实现设备和计算机之间的快速数据传输。相比于其他接口,如 USB 或串口,PCIe 总线可以提供更高的带宽和更稳定的数据传输。 其次,米联客 xdma pcie-linux 应用提供了驱动程序,以便用户可以在 Linux 操作系统上使用该应用。Linux 是一个开源操作系统,具有良好的兼容性和可定制性。通过移植 xdma pcie-linux 应用到 Linux 环境中,用户可以更方便地进行开发和定制。 米联客 xdma pcie-linux 应用可以广泛应用于许多领域。例如,在科学研究中,用户可以将其用于高速数据采集和分析。在工业控制领域,用户可以利用它实现实时数据传输和控制。在通信领域,用户可以利用它进行高速数据传输和通信。总之,米联客 xdma pcie-linux 应用能够满足各种高速数据传输和实时数据处理的需求。 米联客 xdma pcie-linux 应用的使用需要一定的硬件和软件的支持。用户需要安装相应的驱动程序和配置一些参数,以确保正常运行。此外,用户还需要对 Linux 操作系统有一定的了解和操作经验,以便进行配置和定制。 综上所述,米联客 xdma pcie-linux 应用是一种基于 Linux 操作系统的 PCIe 总线通信卡驱动程序,可以帮助用户实现高速数据传输和实时数据采集等任务。它在科学研究、工业控制和通信领域有广泛的应用前景。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值