CN103106169B - 基于aurora协议的高速总线接口的扩展架构 - Google Patents

基于aurora协议的高速总线接口的扩展架构 Download PDF

Info

Publication number
CN103106169B
CN103106169B CN201310033124.5A CN201310033124A CN103106169B CN 103106169 B CN103106169 B CN 103106169B CN 201310033124 A CN201310033124 A CN 201310033124A CN 103106169 B CN103106169 B CN 103106169B
Authority
CN
China
Prior art keywords
data
interface
module
host
aurora
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310033124.5A
Other languages
English (en)
Other versions
CN103106169A (zh
Inventor
张庆敏
张衡
胡刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi North Data Computing Co ltd
Original Assignee
WUXI SOUL DATA COMPUTING Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WUXI SOUL DATA COMPUTING Co Ltd filed Critical WUXI SOUL DATA COMPUTING Co Ltd
Priority to CN201310033124.5A priority Critical patent/CN103106169B/zh
Publication of CN103106169A publication Critical patent/CN103106169A/zh
Application granted granted Critical
Publication of CN103106169B publication Critical patent/CN103106169B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Communication Control (AREA)

Abstract

本发明公开了一种基于aurora协议的高速总线接口的扩展架构,包括host_aurora(主机端aurora接口)模块、host_user_app(主机端用户应用程序接口)模块、exp_aurora(扩展板端aurora接口)模块和exp_user_app(扩展板端用户应用程序接口)模块。基于aurora协议的高速总线接口的扩展架构,通过定制了一种私有协议,私有协议通过aurora协议的高速总线轻量级接口功能实现存储器接口的扩展,达到在保证高速数据稳定传输的同时,高效、灵活、方便地实现存储器接口的扩展的目的。

Description

基于aurora协议的高速总线接口的扩展架构
技术领域
本发明涉及计算机系统的总线接口和存储技术领域,具体地,涉及一种基于aurora协议的高速总线接口的扩展架构。
背景技术
Aurora协议是由Xilinx公司提供的一个开放、免费的链路层协议,可以用来进行点到点的串行数据传输,具有高效传输数据和简单易用的特点。Aurora是一个相对简单的协议,只控制链路层和物理层。Aurora的设计理念是使其它高层协议,例如TCP/IP和以太网,可以很容易的运行在Aurora之上。Aurora协议使用1个或多个高速的串行通道构成更高速的通路,Aurora的内部封装了RocketIO硬核,允许器件之间以背板的方式通过多个GTX通道绑定进行通信。单个GTX通道可实现750Mbit/s~6.5Gbit/s[2]的通信传输,多个GTX通道的组合可实现几十Gbit/s甚至上百Gbit/s的通信传输。
Rocket I/O是一种高速的串行收发器,采用两对差分对来进行数据的发送和接收,可以实现两个单工或一对全双工的数据传输。Rocket I/O支持从622Mbps至3.75Gbps的全双工传输速率,还具有8B/10B编解码(平衡编码)、时钟生成及恢复等功能,可以理想地适用于芯片之间或背板的高速串行数据传输。Aurora协议是为专有上层协议或行业标准的上层协议提供透明接口的第一款串行互连协议,可用于高速线性通路之间的点到点串行数据传输,同时其可扩展的带宽,为系统设计人员提供了所需要的灵活性。
随着网络技术的不断发展,数据交换、数据传输流量越来越大。尤其像雷达,气象、航天等领域,不仅数据运算率巨大,计算处理复杂,而且需要实时高速远程传输,需要长期稳定有效的信号加以支持,以便能够获得更加精准的数据收发信息,更好的为工程项目服务。传统的并行传输方式由于走线多、信号间串扰大等缺陷,无法突破自身的速度瓶颈。而串行传输拥有更高的传输速率但只需要少量的信号线,降低了背板开发成本和复杂度,满足高频率远距离的数据通信需求,被广泛应用到各种高速数据通信系统设计中。
目前,高速串行接口取代并行拓扑结构已经是大势所趋,当今很多公用互连标准(如USB,PCI-Express)都是基于串行连接来实现高速传输的。相比于并行总线,串行连接的物理紧密度和链路韧性具有很多优势。因此,很多传输领域都转向了串行传输,如笔记本电脑显示互连、高速背板互连和存储器内部互连系统。该系统涉及到的技术主要包括:光纤传输、PCIE(PCI-Express)传输和DDR缓存技术,以及这几种技术在FPGA中融合为一个完整的串行传输链路,并实现了在两台服务器之间的高速数据传输测试,这对于实际工程应用具有重要的现实意义。
高速串行传输系统作为数据采集、传输、存储中的一部分,对传输性能指标有着严格的要求。特别是在高速背板互连的存储系统中,需要连接很多个存储接口,而现有系统的资源不够,需要对接口进行扩展,现有的aurora协议的高速总线接口的扩展不足。
发明内容
本发明的目的在于,针对上述问题,提出一种基于aurora协议的高速总线接口的扩展架构,在保证高速数据稳定传输的同时,通过aurora协议的高速总线轻量级接口功能高效、灵活、方便地实现存储器接口的扩展的优点。
为实现上述目的,本发明采用的技术方案是:
一种基于aurora协议的高速总线接口的扩展架构,包括host_aurora(主机端aurora接口)模块、host_user_app(主机端用户应用程序接口)模块、exp_aurora(扩展板端aurora接口)模块和exp_user_app(扩展板端用户应用程序接口)模块;
所述host_aurora模块:是实现整个主机端接口的主控制模块,对接收端数据包进行解包操作,根据私有协议定义的数据帧格式的内容去访问接收数据指定的LIS接口、DCR接口和中断接口逻辑,对主机端发送的数据按照私有协议定义的格式进行封装操作,实现主机端发送数据接口的DCR桥和LIS桥接口逻辑以及local link接口的仲裁硬件逻辑;
所述host_user_app模块:是主机端用户接口应用层模块,应用层通过DCR接口访问上述host_aurora模块;
所述exp_aurora模块:是实现整个扩展板端的主控制模块,对接收端数据包进行解包操作,根据私有协议定义的数据帧格式的内容去访问接收数据指定的LIS接口、DCR接口和中断接口逻辑,对扩展板端发送的数据按照私有协议定义的格式进行封装操作,实现扩展板端发送数据接口的DCR桥和LIS桥接口逻辑以及local link接口的仲裁硬件逻辑;
所述exp_user_app模块:是扩展板端用户接口应用层模块,应用层通过DCR接口访问上述exp_aurora模块。
根据本发明的优选实施例,所述host_aurora模块包括主机端aurora_core(aurora硬核)模块、接收数据端的host_rx_mux(主机接收数据多端口选择)模块、host_rx_unpacking(主机接收数据包解包)模块、host_rx_fifo(主机接收数据包缓存)模块、host_rx_dcr_if(主机接收数据的DCR接口)模块、host_lis_if(主机LIS接口)模块、host_int_if(主机中断接口)模块、发送数据端的host_ll_mux(主机发送数据包local link接口多路选择)模块、host_ll_arb(主机发送数据包local link接口仲裁)模块、host_tx_dcr_if(主机发送数据包DCR接口)模块、host_tx_packing(主机发送数据包组包)模块、host_tx_fifo(主机发送数据包缓存)模块、host_message(主机端信息控制)模块和host_cfg_fifo(主机端配置信息缓存)模块;
所述主机端aurora_core模块:aurora协议的高速总线接口的aurora硬核模块,实现数据传输的物理层(phy)和链路层(link)协议,对上层协议提供数据传输的local link层接口通道,对物理层和链路层提供稳定的读写数据传输通道;
所述host_rx_mux模块:主机端接收数据的多路选择端口模块,主要检测上述主机端aurora_core模块来自local link接口的数据,解析接口数据信息,按照输入状态信息的内容输出要访问的指定的内存和寄存器状态信息;
所述host_rx_unpacking模块:主机端接收数据解包模块,接收来自上述主机端aurora_core模块的数据和host_rx_mux模块的状态信息,将接收数据存入接收数据缓存,同时根据接收状态信息去访问指定的内存地址和寄存器信息,该host_rx_unpacking模块前端接口接收主机端aurora_core模块的数据和host_rx_mux模块的控制状态信息,后端接口是访问指定的内存地址和寄存器信息的访问接口(LIS接口)和寄存器访问接口(DCR接口);
所述host_rx_fifo模块:主机端接收数据缓存模块,主要是对数据作预取操作,实现对接收数据的流控;
所述host_rx_dcr_if模块:主机端接收数据的DCR接口,负责配置接收端寄存器的配置,接收上述主机端aurora_core模块的数据,配置接收寄存器配置的初始值,根据接收数据端的配置寄存器的值选择端口寄存器进行配置;
所述host_lis_if模块:主机端接收数据到系统内存访问的LIS接口实现,接收上述主机端aurora_core模块接口的数据,根据接收数据端的状态信息来访问指定的内存地址;
所述host_int_if模块:主机端接收数据的中断状态信息接口,接收上述主机端aurora_core模块的数据,根据接收数据端的状态信息来访问指定的端口进行扩展;
所述host_ll_mux模块:主机端发送数据的local link接口的多路选择模块,控制主机端发送数据的端口选择,并发送数据到对应的数据端口;
所述host_ll_arb模块:主机端发送数据的local link接口的仲裁模块,主机端发送数据采用多端口轮循的方式发送,通过host_ll_arb模块来仲裁端口数据的发送,避免数据发送时停留在某一个端口来发送数据;
所述host_tx_dcr_if模块:主机端发送数据的寄存器访问DCR接口,主机发送端通过DCR接口访问发送数据端硬件寄存器,配置硬件寄存器的置,通过硬件寄存器的值去选择发送数据到对应端,host_tx_dcr_if模块后端接口连接host_message模块;
所述host_tx_packing模块:主机端发送数据包模块,发送来自系统或应用层的数据到上述主机端aurora_core模块的接收数据端,host_tx_packing模块发送数据首先会将要发送的数据存入发送数据缓存模块,同时根据host_tx_dcr_if模块后端的状态信息去发送指定的端口数据,host_tx_packing模块前端接口为系统内存访问的LIS接口和寄存器访问的DCR接口,后端是aurora_core的local link接口;
所述host_tx_fifo模块:主机端发送数据缓存模块,主要是对数据发送作预取操作,实现对发送数据的流控;
所述host_message模块:主机端消息机制管理模块,控制系统的发送和接收状态中断信息,发送和接收数据定义的寄存器信息,host_message模块前端是寄存器访问DCR接口,主机通过DCR接口配置发送状态寄存器的值,系统发送数据端口的中断信息;后端是主机端aurora_core模块的local link的接收端,通过host_message端口的数据都通过配置缓存来实现预取和配置信息的流控;
所述host_cfg_fifo模块:主机端发送数据配置寄存器的缓存模块,主要是对配置数据作预取操作和发送配置数据的流控。
根据本发明的优选实施例,所述exp_aurora模块包括扩展板端aurora_core(aurora硬核)模块,数据传输接收数据端的exp_rx_mux(扩展板接收数据多端口选择)模块,exp_rx_unpacking(扩展板接收数据包解包)模块,exp_rx_fifo(扩展板接收数据包缓存)模块,exp_rx_dcr_if(扩展板接收数据DCR接口)模块,exp_lis_if(扩展板接收数据LIS接口)模块,exp_int_if(扩展板中断接口)模块和数据传输发送数据端的exp_ll_mux(扩展板local link接口的多路选择)模块,exp_ll_arb(扩展板local link接口的仲裁)模块,exp_dcr_if(扩展板DCR接口)模块,exp_tx_packing(扩展板发送数据的组包)模块,exp_tx_fifo(扩展板发送数据包缓存)模块,exp_message(扩展板信息控制)模块和exp_cfg_fifo(扩展板配置信息缓存)模块;
所述扩展板端aurora_core模块:aurora协议的高速总线接口的aurora核,实现数据传输的物理层(phy)和链路层(link)协议,对上层协议提供数据传输的local link层接口通道,对物理层和链路层提供稳定的读写数据传输通道;
所述exp_rx_mux模块:扩展板端接收数据的多路选择端口模块,检测上述扩展板端aurora_core模块local link接口的数据,解析接口数据信息,按照输入状态信息的内容输出要访问的指定的内存和寄存器状态信息;
所述exp_rx_unpacking模块:扩展板端接收数据解包模块,接收来自上述扩展板端aurora_core模块的数据和exp_rx_mux模块的状态信息,将接收数据存入接收数据缓存,同时根据接收状态信息去访问指定的内存地址和寄存器信息,exp_rx_unpacking模块前端接口是扩展板端aurora_core模块的数据和exp_rx_mux模块的控制状态信息,后端接口是访问指定的内存地址和寄存器信息的memory访问接口(LIS接口)和寄存器访问接口(DCR接口);
所述exp_rx_fifo模块:扩展板端接收数据缓存模块,主要是对接收数据作预取操作,实现对接收数据的流控;
所述exp_rx_dcr_if模块:扩展板端接收数据的DCR接口,负责配置接收端寄存器的配置,接收扩展板端aurora_core模块接口的数据,配置接收寄存器配置的初始值,根据接收数据端的配置寄存器的值选择端口寄存器进行配置;
所述exp_lis_if模块:扩展板端接收数据访问系统内存的LIS接口,接收上述扩展板端aurora_core模块接口的数据,根据接收数据端的状态信息来访问指定的内存地址;
所述exp_int_if模块:扩展板端接收数据的中断状态信息接口,接收上述扩展板端aurora_core模块接口的数据,根据接收数据端的状态信息来访问指定的端口进行扩展;
所述exp_ll_mux模块:扩展板端发送数据的local link接口的多路选择模块,控制私有协议定义的扩展板端发送数据的端口选择,根据多路选择模块的数据信息去发送数据到对应的数据端口;
所述exp_ll_arb模块:扩展板端发送数据的local link接口的仲裁模块,扩展板端发送数据采用多端口轮循的方式发送,通过exp_ll_arb模块来仲裁端口数据的发送,避免数据发送时停留在某一个端口来发送数据;
所述exp_tx_dcr_if模块:扩展板端发送数据的寄存器访问DCR接口,扩展板发送端通过DCR接口访问发送数据端的硬件寄存器,配置硬件寄存器的值,通过硬件寄存器的值去选择发送数据到对应端,exp_tx_dcr_if模块后端接口连接exp_message模块;
所述exp_tx_packing模块:扩展板端发送数据包模块,发送来自系统或应用层的数据到上述扩展板端aurora_core模块的接收数据端,exp_tx_packing模块发送数据首先将要发送的数据存入发送数据缓存模块,同时根据exp_tx_dcr_if模块后端的状态信息去发送指定的端口数据,exp_tx_packing模块前端接口为系统内存访问的LIS接口和寄存器访问的DCR接口,后端是扩展板端aurora_core的local link接口;
所述exp_tx_fifo模块:扩展板端发送数据缓存模块,对数据发送作预取操作,实现对发送数据的流控;
所述exp_message模块:扩展板端消息机制管理模块,控制系统的发送和接收状态中断信息,私有协议定义的发送和接收数据定义的寄存器信息,exp_message模块前端是寄存器访问DCR接口,扩展板通过DCR接口配置发送状态寄存器的值,系统发送数据端口的中断信息;后端是上述扩展板端aurora_core模块的local link的接收端,通过exp_message端口的数据都通过配置缓存来实现预取和配置信息的流控;
所述exp_cfg_fifo模块:扩展板端发送数据配置寄存器的缓存模块,是对配置数据作预取操作和发送配置数据的流控。
根据本发明的优选实施例,所述私有协议为通过硬件逻辑实现主机端和背板端系统通信的一种自定义协议方式,私有协议中定义了传输层数据包的帧格式,包括帧头帧尾和数据等,每个传输包的数据格式固定,低层包括链路层(link)和物理层(phy),通过低层的aurora协议来完成链路层(link)和物理层(phy)的传输,私有协议还提供了链接内部总线的DCR桥接口和读写系统memory的LIS桥接口,通过桥接的方式实现用户端访问存储器的扩展接口;
所述DCR桥接口是私有协议定义的用户端访问存储器接口的多端口选择控制接口,通过硬件逻辑实现DCR接口寄存器访问来选择对应的存储器端口进行数据传输;
所述LIS桥接口是私有协议定义的存储器接口映射的内存地址区域的多区域选择控制接口,每个存储器端口对应在内存区域映射固定的地址,通过硬件逻辑实现对访问系统内存(memory)的LIS接口映射内存地址区域的访问来选择对应的存储器端口进行数据传输。
根据本发明的优选实施例,所述私有协议的数据包格式如下:
所述数据包格式由多个数据字段组成,每个数据字段数据位宽为32位,数据包的格式由数据包的包头,数据和包尾组成。
所述的包头信号名为LL_SOF_N(LL_SOF_N是定义在私有协议中数据包结构传输开始的信号名,它表示为local link接口的帧传输开始(startof frame)信号,高电平有效)。
所述的包尾信号名为LL_EOF_N(LL_EOF_N是定义在私有协议中数据包结构传输结束的信号名,它表示为local link接口的帧传输结束(endof frame)信号,高电平有效)。
所述的数据包含有多个数据字段可以是读写数据,配置信息,控制位状态信息等,每个数据字段的数据位宽都为32位。
根据本发明的优选实施例,所述私有协议DCR接口写或读数据包格式如下:
所述数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的DCR接口读写数据包结构传输开始的信号名,表示local link接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1和word3,word1中的字段信息包括私有协议定义的DCR接口读写数据包的设备ID信息,功能ID信息和状态中断控制信息,以及预留位;word3中的字段信息为私有协议定义的DCR接口读写数据;
数据包包尾数据字段标记为word2,word2中的字段信息为LL_EOF_N,为私有协议中定义的DCR接口数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
根据本发明的优选实施例,所述私有协议DCR接口响应数据包格式如下:
所述数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的DCR接口响应数据包结构传输开始的信号名,表示local link接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1和word3,word1中的字段信息包括私有协议定义的DCR接口响应数据包的设备ID信息,功能ID信息和状态中断控制信息,以及预留位;word3中的字段信息为私有协议定义的DCR接口响应数据;
数据包包尾数据字段标记为word2,word2中的字段信息为LL_EOF_N,为私有协议中定义的DCR接口响应数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
根据本发明的优选实施例,所述私有协议LIS接口读写数据包格式如下:
所述数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的LIS接口读写数据包结构传输开始的信号名,表示locallink接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1、word2、word3和word4,word1中的字段信息包括私有协议定义的LIS接口读写数据包的设备ID信息,功能ID信息,LIS接口访问内存(memory)地址偏移的大小和状态中断控制信息,以及预留位;word3中的字段信息为私有协议定义的LIS接口写数据(payload),包含有多个数据字段;word4中的字段信息为私有协议定义的LIS接口访问系统内存(memory)的映射地址信息;
数据包包尾数据字段标记为word2,word2中的字段信息为LL_EOF_N,为私有协议中定义的LIS接口读写数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
根据本发明的优选实施例,所述私有协议LIS接口响应数据包格式如下:
所述数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的LIS接口响应数据包结构传输开始的信号名,表示locallink接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1和word2,word1中的字段信息包括私有协议定义的LIS接口响应数据包的设备ID信息,功能ID信息和状态中断控制信息,以及预留位;word2中的字段信息为私有协议定义的LIS接口响应数据;
数据包包尾数据字段标记为word3,word3中的字段信息为LL_EOF_N,为私有协议中定义的LIS接口响应数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
根据本发明的优选实施例,所述私有协议中中断寄存器数据包格式如下:
所述数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的中断寄存器数据包结构传输开始的信号名,表示locallink接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1,word1中的字段信息包括私有协议定义的中断寄存器数据包的设备ID信息,功能ID信息,中断状态和控制信息,以及预留位;
数据包包尾数据字段标记为word2,word2中的字段信息为LL_EOF_N,为私有协议中定义的中断寄存器数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
根据本发明的优选实施例,所述私有协议配置设备ID数据包格式如下:
所述数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的配置设备ID数据包结构传输开始的信号名,表示locallink接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1,word1中的字段信息包括私有协议定义的配置设备ID数据包的设备ID信息,状态控制信息,以及预留位;
数据包包尾数据字段标记为word2,word2中的字段信息为LL_EOF_N,为私有协议中定义的配置设备ID数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
本发明的有益效果:
本发明的技术方案基于aurora协议的高速总线接口的扩展架构,通过定制了一种私有协议,私有协议通过aurora协议的高速总线轻量级接口功能实现存储接口的扩展,在私有协议中,aurora协议仅完成数据传输的链路层(link)和物理层(phy)的功能,aurora协议是为专有上层协议或行业标准的上层协议提供透明接口的第一款串行互连协议,可用于高速线性通路之间的点到点串行数据传输,同时其可扩展的带宽,为系统设计人员提供了所需要的灵活性。aurora的内部封装了RocketIO硬核,提供数据传输物理层(phy)的物理接口通道,并实现接收和发送数据的串并,并串转换,数据的8b10b编码方式;aurora协议还将复杂的RocketIO控制结构转化为简单的用户接口,实现数据传输的链路层(link),为用户提供一套简单的LocalLink兼容的输入输出信号来接收和发送用户数据。达到在保证高速数据稳定传输的同时,高效、灵活、方便地实现存储器接口的扩展的目的。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明实施例所述的基于aurora协议的高速总线接口的扩展架构结构框图;
图2为图1所示的基于aurora协议的高速总线接口的扩展架构中host_aurora模块的内部结构框图;
图3为图1所示的基于aurora协议的高速总线接口的扩展架构中exp_aurora模块内部结构框图;
图4为基于aurora协议的高速总线接口扩展实现实例应用框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,一种基于aurora协议的高速总线接口的扩展架构,包括host_aurora(主机端aurora接口)模块、host_user_app(主机端用户应用程序接口)模块、exp_aurora(扩展板端aurora接口)模块和exp_user_app(扩展板端用户应用程序接口)模块;
host_aurora模块:是实现整个主机端接口的主控制模块,对接收端数据包进行解包操作,根据私有协议定义的数据帧格式的内容去访问接收数据指定的LIS接口、DCR接口和中断接口逻辑,对主机端发送的数据按照私有协议定义的格式进行封装操作,实现主机端发送数据接口的DCR桥和LIS桥接口逻辑以及local link接口的仲裁硬件逻辑;
host_user_app模块:是主机端用户接口应用层模块,应用层通过DCR接口访问host_aurora模块;
exp_aurora模块:是实现整个扩展板端的主控制模块,对接收端数据包进行解包操作,根据私有协议定义的数据帧格式的内容去访问接收数据指定的LIS接口、DCR接口和中断接口逻辑,对扩展板端发送的数据按照私有协议定义的格式进行封装操作,实现扩展板端发送数据接口的DCR桥和LIS桥接口逻辑以及local link接口的仲裁硬件逻辑;
exp_user_app模块:是扩展板端用户接口应用层模块,应用层通过DCR接口访问exp_aurora模块。
如图2所示,host_aurora模块包括主机端aurora_core(aurora硬核)模块、接收数据端的host_rx_mux(主机接收数据多端口选择)模块、host_rx_unpacking(主机接收数据包解包)模块、host_rx_fifo(主机接收数据包缓存)模块、host_rx_dcr_if(主机接收数据的DCR接口)模块、host_lis_if(主机LIS接口)模块、host_int_if(主机中断接口)模块、发送数据端的host_ll_mux(主机发送数据包local link接口多路选择)模块、host_ll_arb(主机发送数据包local link接口仲裁)模块、host_tx_dcr_if(主机发送数据包DCR接口)模块、host_tx_packing(主机发送数据包组包)模块、host_tx_fifo(主机发送数据包缓存)模块、host_message(主机端信息控制)模块和host_cfg_fifo(主机端配置信息缓存)模块;
主机端aurora_core模块:aurora协议的高速总线接口的aurora硬核模块,实现数据传输的物理层(phy)和链路层(link)协议,对上层协议提供数据传输的local link层接口通道,对物理层和链路层提供稳定的读写数据传输通道;
host_rx_mux模块:主机端接收数据的多路选择端口模块,主要检测主机端aurora_core模块来自local link接口的数据,解析接口数据信息,按照输入状态信息的内容输出要访问的指定的内存和寄存器状态信息;
host_rx_unpacking模块:主机端接收数据解包模块,接收来自主机端aurora_core模块的数据和host_rx_mux模块的状态信息,将接收数据存入接收数据缓存,同时根据接收状态信息去访问指定的内存地址和寄存器信息,该host_rx_unpacking模块前端接口接收主机端aurora_core模块的数据和host_rx_mux模块的控制状态信息,后端接口是访问指定的内存地址和寄存器信息的访问接口(LIS接口)和寄存器访问接口(DCR接口);
host_rx_fifo模块:主机端接收数据缓存模块,主要是对数据作预取操作,实现对接收数据的流控;
host_rx_dcr_if模块:主机端接收数据的DCR接口,负责配置接收端寄存器的配置,接收主机端aurora_core模块的数据,配置接收寄存器配置的初始值,根据接收数据端的配置寄存器的值选择端口寄存器进行配置;
host_lis_if模块:主机端接收数据到系统内存访问的LIS接口实现,接收主机端aurora_core模块接口的数据,根据接收数据端的状态信息来访问指定的内存地址;
host_int_if模块:主机端接收数据的中断状态信息接口,接收主机端aurora_core模块的数据,根据接收数据端的状态信息来访问指定的端口进行扩展;
host_ll_mux模块:主机端发送数据的local link接口的多路选择模块,控制主机端发送数据的端口选择,并发送数据到对应的数据端口;
host_ll_arb模块:主机端发送数据的local link接口的仲裁模块,主机端发送数据采用多端口轮循的方式发送,通过host_ll_arb模块来仲裁端口数据的发送,避免数据发送时停留在某一个端口来发送数据;
host_tx_dcr_if模块:主机端发送数据的寄存器访问DCR接口,主机发送端通过DCR接口访问发送数据端硬件寄存器,配置硬件寄存器的置,通过硬件寄存器的值去选择发送数据到对应端,host_tx_dcr_if模块后端接口连接host_message模块;
host_tx_packing模块:主机端发送数据包模块,发送来自系统或应用层的数据到主机端aurora_core模块的接收数据端,host_tx_packing模块发送数据首先会将要发送的数据存入发送数据缓存模块,同时根据host_tx_dcr_if模块后端的状态信息去发送指定的端口数据,host_tx_packing模块前端接口为系统内存访问的LIS接口和寄存器访问的DCR接口,后端是aurora_core的local link接口;
host_tx_fifo模块:主机端发送数据缓存模块,主要是对数据发送作预取操作,实现对发送数据的流控;
host_message模块:主机端消息机制管理模块,控制系统的发送和接收状态中断信息,发送和接收数据定义的寄存器信息,host_message模块前端是寄存器访问DCR接口,主机通过DCR接口配置发送状态寄存器的值,系统发送数据端口的中断信息;后端是主机端aurora_core模块的local link的接收端,通过host_message端口的数据都通过配置缓存来实现预取和配置信息的流控;
host_cfg_fifo模块:主机端发送数据配置寄存器的缓存模块,主要是对配置数据作预取操作和发送配置数据的流控。
如图3所示,exp_aurora模块包括扩展板端aurora_core(aurora硬核)模块,数据传输接收数据端的exp_rx_mux(扩展板接收数据多端口选择)模块,exp_rx_unpacking(扩展板接收数据包解包)模块,exp_rx_fifo(扩展板接收数据包缓存)模块,exp_rx_dcr_if(扩展板接收数据DCR接口)模块,exp_lis_if(扩展板接收数据LIS接口)模块,exp_int_if(扩展板中断接口)模块和数据传输发送数据端的exp_ll_mux(扩展板local link接口的多路选择)模块,exp_ll_arb(扩展板local link接口的仲裁)模块,exp_dcr_if(扩展板DCR接口)模块,exp_tx_packing(扩展板发送数据的组包)模块,exp_tx_fifo(扩展板发送数据包缓存)模块,exp_message(扩展板信息控制)模块和exp_cfg_fifo(扩展板配置信息缓存)模块;
扩展板端aurora_core模块:aurora协议的高速总线接口的aurora核,实现数据传输的物理层(phy)和链路层(link)协议,对上层协议提供数据传输的local link层接口通道,对物理层和链路层提供稳定的读写数据传输通道;
exp_rx_mux模块:扩展板端接收数据的多路选择端口模块,检测扩展板端aurora_core模块local link接口的数据,解析接口数据信息,按照输入状态信息的内容输出要访问的指定的内存和寄存器状态信息;
exp_rx_unpacking模块:扩展板端接收数据解包模块,接收来自扩展板端aurora_core模块的数据和exp_rx_mux模块的状态信息,将接收数据存入接收数据缓存,同时根据接收状态信息去访问指定的内存地址和寄存器信息,exp_rx_unpacking模块前端接口是扩展板端aurora_core模块的数据和exp_rx_mux模块的控制状态信息,后端接口是访问指定的内存地址和寄存器信息的memory访问接口(LIS接口)和寄存器访问接口(DCR接口);
exp_rx_fifo模块:扩展板端接收数据缓存模块,主要是对接收数据作预取操作,实现对接收数据的流控;
exp_rx_dcr_if模块:扩展板端接收数据的DCR接口,负责配置接收端寄存器的配置,接收扩展板端aurora_core模块接口的数据,配置接收寄存器配置的初始值,根据接收数据端的配置寄存器的值选择端口寄存器进行配置;
exp_lis_if模块:扩展板端接收数据访问系统内存的LIS接口,接收扩展板端aurora_core模块接口的数据,根据接收数据端的状态信息来访问指定的内存地址;
exp_int_if模块:扩展板端接收数据的中断状态信息接口,接收扩展板端aurora_core模块接口的数据,根据接收数据端的状态信息来访问指定的端口进行扩展;
exp_ll_mux模块:扩展板端发送数据的local link接口的多路选择模块,控制私有协议定义的扩展板端发送数据的端口选择,根据多路选择模块的数据信息去发送数据到对应的数据端口;
exp_ll_arb模块:扩展板端发送数据的local link接口的仲裁模块,扩展板端发送数据采用多端口轮循的方式发送,通过exp_ll_arb模块来仲裁端口数据的发送,避免数据发送时停留在某一个端口来发送数据;
exp_tx_dcr_if模块:扩展板端发送数据的寄存器访问DCR接口,扩展板发送端通过DCR接口访问发送数据端的硬件寄存器,配置硬件寄存器的值,通过硬件寄存器的值去选择发送数据到对应端,exp_tx_dcr_if模块后端接口连接exp_message模块;
exp_tx_packing模块:扩展板端发送数据包模块,发送来自系统或应用层的数据到扩展板端aurora_core模块的接收数据端,exp_tx_packing模块发送数据首先将要发送的数据存入发送数据缓存模块,同时根据exp_tx_dcr_if模块后端的状态信息去发送指定的端口数据,exp_tx_packing模块前端接口为系统内存访问的LIS接口和寄存器访问的DCR接口,后端是扩展板端aurora_core的local link接口;
exp_tx_fifo模块:扩展板端发送数据缓存模块,对数据发送作预取操作,实现对发送数据的流控;
exp_message模块:扩展板端消息机制管理模块,控制系统的发送和接收状态中断信息,私有协议定义的发送和接收数据定义的寄存器信息,exp_message模块前端是寄存器访问DCR接口,扩展板通过DCR接口配置发送状态寄存器的值,系统发送数据端口的中断信息;后端是扩展板端aurora_core模块的local link的接收端,通过exp_message端口的数据都通过配置缓存来实现预取和配置信息的流控;
exp_cfg_fifo模块:扩展板端发送数据配置寄存器的缓存模块,是对配置数据作预取操作和发送配置数据的流控。
私有协议为通过硬件逻辑实现主机端和背板端系统通信的一种自定义协议方式,私有协议中定义了传输层数据包的帧格式,包括帧头帧尾和数据等,每个传输包的数据格式固定,低层包括链路层(link)和物理层(phy),通过低层的aurora协议来完成链路层(link)和物理层(phy)的传输,私有协议还提供了链接内部总线的DCR桥接口和读写系统memory的LIS桥接口,通过桥接的方式实现用户端访问存储器的扩展接口;
DCR桥接口是私有协议定义的用户端访问存储器接口的多端口选择控制接口,通过硬件逻辑实现DCR接口寄存器访问来选择对应的存储器端口进行数据传输;
LIS桥接口是私有协议定义的存储器接口映射的内存地址区域的多区域选择控制接口,每个存储器端口对应在内存区域映射固定的地址,通过硬件逻辑实现对访问系统内存(memory)的LIS接口映射内存地址区域的访问来选择对应的存储器端口进行数据传输。
私有协议的配置设备ID数据包格式如表一所示:
以下表格中每个word代表一个DWords是32位数据,每个byte为8位,即每个word有4个byte分别为byte0,byte1,byte2,byte3。在32为数据中byte0对应为0~7位,byte1对应为8~15位,byte2对应为16~23位,byte3对应为24~31位。
表一、数据包格式:
配置device Id包是配置设备的ID,数据包总共包括有3个DWords(32位),分别为word0,word1,word2。word0为包头,word2为包尾,中间的word1为包的配置信息。
LL_SOF_N是定义的在私有协议中配置设备ID数据包结构传输开始的信号名,它表示为local link接口的帧传输开始信号,高电平有效(start offrame)。
LL_EOF_N是定义的在私有协议中配置设备ID数据包结构传输结束的信号名,它表示为local link接口的帧传输结束信号,高电平有效(end offrame)。
word1中定义的数据位格式中reserved代表预留位;device_id代表设别ID号。其它代表中断或控制信息的标志位。
私有协议DCR接口写或读数据包格式如表二和表三所示:
表二、DCR接口写数据包格式:
DCR接口写数据包是DCR接口写数据模式,数据包结构总共包括有4个DWords(32位),分别为word0,word1,word2,word3。word0为包头,word2为包尾,中间的word1为DCR接口的配置信息,word3为DCR接口传输写数据。
LL_SOF_N是定义的在私有协议中DCR接口数据包结构传输开始的信号名,它表示为local link接口的帧传输开始信号,高电平有效(start offrame)。
LL_EOF_N是定义的在私有协议中DCR接口数据包结构传输结束的信号名,它表示为local link接口的帧传输结束信号,高电平有效(end offrame)。
word1中定义的数据位格式中reserved代表预留位;device_id代表设备ID号;func_id代表功能ID指向哪一个设备。其它代表中断或控制信息的标志位。word3代表传输的写数据。
表三、DCR接口读数据包格式:
DCR接口读数据包是DCR接口读数据模式,数据包结构总共包括有4个DWords(32位),分别为word0,word1,word2,word3。word0为包头,word2为包尾,中间的word1为DCR接口的配置信息,word3为DCR接口传输写数据。
LL_SOF_N是定义的在私有协议中DCR接口数据包结构传输开始的信号名,它表示为local link接口的帧传输开始信号,高电平有效(start offrame)。
LL_EOF_N是定义的在私有协议中DCR接口数据包结构传输结束的信号名,它表示为local link接口的帧传输结束信号,高电平有效(end offrame)。
word1中定义的数据位格式中reserved代表预留位;device_id代表设备ID号;func_id代表功能ID指向哪一个设备,dcr_offset代表DCR接口的地址偏移。其它代表中断或控制信息的标志位。
Word3代表传输的读数据。
私有协议DCR接口响应数据包格式如表四所示:
表四、DCR接口响应数据包格式
DCR接口响应数据包是DCR接口响应数据模式,数据包结构总共包括有4个DWords(每个都是32位),分别为word0,word1,word2,word3。word0为包头,word2为包尾,中间的word1为DCR接口响应数据包的配置信息,word3为DCR接口响应数据包传输读数据。
LL_SOF_N是定义的在私有协议中DCR接口数据包结构传输开始的信号名,它表示为local link接口的帧传输开始信号,高电平有效(start offrame)。
LL_EOF_N是定义的在私有协议中DCR接口数据包结构传输结束的信号名,它表示为local link接口的帧传输结束信号,高电平有效(end offrame)。
word1中定义的数据位格式中reserved代表预留位;device_id代表设备ID号;func_id代表功能ID指向哪一个设备。其它代表中断或控制信息的标志位。
Word3代表传输的读数据。
私有协议LIS接口读写数据包格式如表五和表六所示:
表五、LIS接口写数据包格式:
LIS接口写数据包是LIS接口写数据模式,数据包结构总共包括有5个DWords(32位),分别为word0,word1,word2,word3,word4。word0为包头,word3为包尾,中间的word1为LIS接口写数据模式的配置信息,word2为写数据的负载,word4为LIS接口访问memory的映射地址。
LL_SOF_N是定义的在私有协议中LIS接口写数据包结构传输开始的信号名,它表示为local link接口的帧传输开始信号,高电平有效(start offrame)。
LL_EOF_N是定义的在私有协议中LIS接口写数据包结构传输结束的信号名,它表示为local link接口的帧传输结束信号,高电平有效(end offrame)。
word1中定义的数据位格式中reserved代表预留位;device_id代表设备ID号;func_id代表功能ID指向哪一个设备,PIM_Size代表LIS接口的memory地址偏移的大小。其它代表中断或控制信息的标志位。
Word2代表传输数据。
Word4为LIS接口访问memory的映射地址。
表六、LIS接口读数据包格式:
LIS接口读数据包是LIS接口读数据模式,数据包结构总共包括有4个DWords(32位),分别为word0,word1,word2,word3。word0为包头,word2为包尾,中间的word1为LIS接口读数据模式的配置信息,word3为LIS接口访问memory的映射地址。
LL_SOF_N是定义的在私有协议中LIS接口读数据包结构传输开始的信号名,它表示为local link接口的帧传输开始信号,高电平有效(start offrame)。
LL_EOF_N是定义的在私有协议中LIS接口读数据包结构传输结束的信号名,它表示为local link接口的帧传输结束信号,高电平有效(end offrame)。
word1中定义的数据位格式中reserved代表预留位;device_id代表设备ID号;func_id代表功能ID指向哪一个设备,PIM_Size代表LIS接口的memory地址偏移的大小。其它代表中断或控制信息的标志位。
Word3为LIS接口访问memory的映射地址。
私有协议LIS接口响应数据包格式如表七所示,
表七、LIS接口响应数据包格式:
LIS接口响应数据包是LIS接口响应数据模式,数据包结构总共包括有4个DWords(32位),分别为word0,word1,word2,word3。word0为包头,word3为包尾,中间的word1为LIS接口响应数据模式的配置信息,word2为LIS接口响应的负载数据。
LL_SOF_N是定义的在私有协议中LIS接口响应数据包结构传输开始的信号名,它表示为local link接口的帧传输开始信号,高电平有效(start offrame)。
LL_EOF_N是定义的在私有协议中LIS接口响应数据包结构传输结束的信号名,它表示为local link接口的帧传输结束信号,高电平有效(end offrame)。
word1中定义的数据位格式中reserved代表预留位;device_id代表设备ID号;func_id代表功能ID指向哪一个设备,PIM_Size代表LIS接口的memory地址偏移的大小。其它代表中断或控制信息的标志位。
私有协议的中断寄存器数据包格式如表八所示,
图八、中断寄存器数据包格式:
中断寄存器数据包是中断寄存器包数据模式,数据包结构总共包括有4个DWords(32位),分别为word0,word1,word2,word3。word0为包头,word2为包尾,中间的word1为中断寄存器数据模式的配置信息,word3为数据。
LL_SOF_N是定义的在私有协议中中断寄存器数据包结构传输开始的信号名,它表示为local link接口的帧传输开始信号,高电平有效(start offrame)。
LL_EOF_N是定义的在私有协议中中断寄存器数据包结构传输结束的信号名,它表示为local link接口的帧传输结束信号,高电平有效(end offrame)。
word1中定义的数据位格式中reserved代表预留位;device_id代表设备ID号;func_id代表功能ID指向哪一个设备,int_stat代表中断状态。其它代表中断或控制信息的标志位。
私有协议定义主机端aurora核的local link接口主要控制状态信号如下表所示:
表九、local link接口主要控制状态信号:
私有协议定义主机端内存访问的LIS接口信息如下表所示:
表十、LIS接口信息:
如图4所示的是基于aurora协议的高速总线接口扩展实现实例应用框图,包括主机端系统和扩展板端系统,主机端可以外接的SATA存储接口是16个,扩展板端可以扩展的SATA存储接口理可以扩展多个SATA控制器,每个SATA控制器可以接16个SATA存储接口,这样就能扩展SATA存储接口。
主机端系统包括CPU模块,memory模块,以及bram(块存储设备),uart(串口设备)和gpio(普通输入输出模块模块),通过PLB总线构成一个简单的主机端系统,主机端系统包括有SATA控制器模块来外接SATA存储接口,最多可以接16个。主机端系统还包括Host_aurora模块,用来扩展外接的SATA存储接口。
扩展板端系统也包括CPU模块,memory模块通过PLB总线构成一个简单的扩展板端系统,通过Exp_aurora模块进行SATA控制器模块的的扩展,理论上可以接无线个Exp_aurora模块来扩展SATA控制器模块进行SATA存储接口的扩展。
主机端和扩展板端系统通过MINI SAS连接线进行物理连接。在主机端和扩展板端的硬件接口是Host_aurora模块和Exp_aurora模块0物理层(phy)和链路层(link)都是通过aurora协议来完成,通过我们定制的私有协议来完成local link接口的数据的多路控制(即桥的控制)。低层的aurora协议保证了数据稳定,可靠的编码传输,定制的私有协议完成数据传输数据端的稳定传输和扩展通路的控制,可以保证数据在指定的扩展接口端传输数据。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于aurora协议的高速总线接口的扩展架构,其特征在于,包括主机端aurora接口host_aurora模块、主机端用户应用程序接口host_user_app模块、扩展板端aurora接口exp_aurora模块和扩展板端用户应用程序接口exp_user_app模块;
所述host_aurora模块:是实现整个主机端接口的主控制模块,对接收端数据包进行解包操作,根据私有协议定义的数据帧格式的内容去访问接收数据指定的LIS 接口、DCR接口和中断接口逻辑,对主机端发送的数据按照私有协议定义的格式进行封装操作,实现主机端发送数据接口的DCR桥和LIS桥接口逻辑以及local link接口的仲裁硬件逻辑;
所述host_user_app模块:是主机端用户接口应用层模块,应用层通过DCR接口访问 上述host_aurora模块;
所述exp_aurora模块:是实现整个扩展板端的主控制模块,对接收端数据包进行解包操作,根据私有协议定义的数据帧格式的内容去访问接收数据指定的LIS 接口、DCR接口和中断接口逻辑,对扩展板端发送的数据按照私有协议定义的格式进行封装操作,实现扩展板端发送数据接口的DCR桥和LIS桥接口逻辑以及local link接口的仲裁硬件逻辑;
所述exp_user_app模块:是扩展板端用户接口应用层模块,应用层通过DCR接口访问上述exp_aurora模块;
所述私有协议为通过硬件逻辑实现主机端和扩展板端系统通信的一种自定义协议方式,私有协议中定义了传输层数据包的帧格式,包括帧头帧尾和数据,每个传输包的数据格式固定,低层包括链路层(link)和物理层(phy) ,通过低层的aurora协议来完成链路层(link)和物理层(phy)的传输, 私有协议还提供了链接内部总线的DCR桥接口和读写系统memory(内存)的LIS桥接口,通过桥接的方式实现用户端访问存储器的扩展接口;
所述DCR桥接口是私有协议定义的用户端访问存储器接口的多端口选择控制接口,通过硬件逻辑实现DCR接口寄存器访问来选择对应的存储器端口进行数据传输;
所述LIS桥接口是私有协议定义的存储器接口映射的内存地址区域的多区域选择控制接口,每个存储器端口对应在内存区域映射固定的地址,通过硬件逻辑实现对访问系统内存的LIS接口映射内存地址区域的访问来选择对应的存储器端口进行数据传输。
2.根据权利要求1所述的基于aurora协议的高速总线接口的扩展架构,其特征在于,所述host_aurora模块包括主机端aurora硬核aurora_core模块、接收数据端的主机接收数据多端口选择host_rx_mux模块、主机接收数据包解包host_rx_unpacking模块、主机接收数据包缓存host_rx_fifo模块、主机接收数据的DCR接口host_rx_dcr_if模块、主机LIS接口host_lis_if模块、主机中断接口host_int_if模块、发送数据端的主机发送数据包local link 接口多路选择host_ll_mux模块、主机发送数据包local link 接口仲裁host_ll_arb模块、主机发送数据包DCR接口host_tx_dcr_if模块、主机发送数据包组包host_tx_packing模块、主机发送数据包缓存host_tx_fifo模块、主机端信息控制host_message模块和主机端配置信息缓存 host_cfg_fifo模块;
所述主机端 aurora_core模块: aurora协议的高速总线接口的aurora硬核模块,实现数据传输的物理层(phy)和链路层(link)协议,对上层协议提供数据传输的local link层接口通道,对物理层和链路层提供稳定的读写数据传输通道;   
所述host_rx_mux模块:主机端接收数据的多路选择端口模块,主要检测上述主机端aurora_core模块来自local link接口的数据,解析接口数据信息,按照输入状态信息的内容输出要访问的指定的内存和寄存器状态信息;
所述host_rx_unpacking模块:主机端接收数据解包模块,接收来自上述主机端aurora_core模块的数据和host_rx_mux模块的状态信息,将接收数据存入接收数据缓存,同时根据接收状态信息去访问指定的内存地址和寄存器信息,该host_rx_unpacking模块前端接口接收主机端aurora_core模块的数据和host_rx_mux模块的控制状态信息,后端接口是访问指定的内存地址和寄存器信息的访问LIS接口和寄存器访问DCR接口;
所述host_rx_fifo模块:主机端接收数据缓存模块,主要是对数据作预取操作,实现对接收数据的流控;
所述   host_rx_dcr_if模块:主机端接收数据的DCR接口,负责配置接收端寄存器的配置,接收上述主机端aurora_core模块的数据,配置接收寄存器配置的初始值,根据接收数据端的配置寄存器的值选择端口寄存器进行配置;
所述host_lis_if模块:主机端接收数据到系统内存访问的LIS接口实现,接收上述主机端aurora_core模块接口的数据,根据接收数据端的状态信息来访问指定的内存地址;
所述host_int_if模块:主机端接收数据的中断状态信息接口,接收上述主机端aurora_core模块的数据,根据接收数据端的状态信息来访问指定的端口进行扩展;
所述host_ll_mux模块:主机端发送数据的local link接口的多路选择模块,控制主机端发送数据的端口选择,并发送数据到对应的数据端口;
所述host_ll_arb模块:主机端发送数据的local link接口的仲裁模块,主机端发送数据采用多端口轮循的方式发送,通过host_ll_arb模块来仲裁端口数据的发送,避免数据发送时停留在某一个端口来发送数据;
所述host_tx_dcr_if模块:主机端发送数据的寄存器访问DCR接口,主机发送端通过DCR接口访问发送数据端硬件寄存器,配置硬件寄存器的置,通过硬件寄存器的值去选择发送数据到对应端, host_tx_dcr_if模块后端接口连接host_message模块;
所述host_tx_packing模块:主机端发送数据包模块,发送来自系统或应用层的数据到上述主机端aurora_core模块的接收数据端,host_tx_packing模块发送数据首先会将要发送的数据存入发送数据缓存模块,同时根据host_tx_dcr_if模块后端的状态信息去发送指定的端口数据,host_tx_packing模块前端接口为系统内存访问的LIS接口和寄存器访问的DCR接口,后端是主机端aurora_core的local link接口;
所述host_tx_fifo模块:主机端发送数据缓存模块,主要是对数据发送作预取操作,实现对发送数据的流控;
所述host_message模块:主机端消息机制管理模块,控制系统的发送和接收状态中断信息,发送和接收数据定义的寄存器信息,host_message模块前端是寄存器访问DCR接口,主机通过DCR接口配置发送状态寄存器的值,系统发送数据端口的中断信息;后端是主机端aurora_core模块的local link的接收端,通过host_message端口的数据都通过配置缓存来实现预取和配置信息的流控;
所述host_cfg_fifo模块:主机端发送数据配置寄存器的缓存模块,主要是对配置数据作预取操作和发送配置数据的流控。
3.根据权利要求1所述的基于aurora协议的高速总线接口的扩展架构,其特征在于,所述exp_aurora模块包括扩展板端aurora硬核 aurora_core模块,数据传输接收数据端的扩展板接收数据多端口选择 exp_rx_mux模块,扩展板接收数据包解包exp_rx_unpacking模块,扩展板接收数据包缓存exp_rx_fifo模块,扩展板接收数据DCR接口 exp_rx_dcr_if模块,扩展板接收数据LIS接口 exp_lis_if模块,扩展板中断接口exp_int_if模块和数据传输发送数据端的扩展板local link接口的多路选择exp_ll_mux模块,扩展板local link接口的仲裁exp_ll_arb模块,扩展板DCR接口exp_dcr_if模块,扩展板发送数据的组包exp_tx_packing模块,扩展板发送数据包缓存exp_tx_fifo模块,扩展板信息控制exp_message模块和扩展板配置信息缓存exp_cfg_fifo模块;
所述扩展板端aurora_core模块: aurora协议的高速总线接口的aurora核,实现数据传输的物理层(phy)和链路层(link)协议,对上层协议提供数据传输的local link层接口通道,对物理层和链路层提供稳定的读写数据传输通道;
所述exp_rx_mux模块:扩展板端接收数据的多路选择端口模块,检测上述扩展板端aurora_core模块local link接口的数据,解析接口数据信息,按照输入状态信息的内容输出要访问的指定的内存和寄存器状态信息;
所述exp_rx_unpacking模块:扩展板端接收数据解包模块,接收来自上述扩展板端aurora_core模块的数据和exp_rx_mux模块的状态信息,将接收数据存入接收数据缓存,同时根据接收状态信息去访问指定的内存地址和寄存器信息, exp_rx_unpacking模块前端接口是扩展板端aurora_core模块的数据和exp_rx_mux模块的控制状态信息,后端接口是访问指定的内存地址和寄存器信息的memory访问LIS接口和寄存器访问DCR接口;
所述exp_rx_fifo模块:扩展板端接收数据缓存模块,主要是对接收数据作预取操作,实现对接收数据的流控;
所述exp_rx_dcr_if模块:扩展板端接收数据的DCR接口,负责配置接收端寄存器的配置,接收扩展板端aurora_core模块接口的数据,配置接收寄存器配置的初始值,根据接收数据端的配置寄存器的值选择端口寄存器进行配置;
所述exp_lis_if模块:扩展板端接收数据访问系统内存的LIS接口,接收上述扩展板端aurora_core模块接口的数据,根据接收数据端的状态信息来访问指定的内存地址;
所述exp_int_if模块:扩展板端接收数据的中断状态信息接口,接收上述扩展板端aurora_core模块接口的数据,根据接收数据端的状态信息来访问指定的端口进行扩展;
所述exp_ll_mux模块:扩展板端发送数据的local link接口的多路选择模块,控制私有协议定义的扩展板端发送数据的端口选择,根据多路选择模块的数据信息去发送数据到对应的数据端口;
所述exp_ll_arb模块:扩展板端发送数据的local link接口的仲裁模块,扩展板端发送数据采用多端口轮循的方式发送,通过exp_ll_arb模块来仲裁端口数据的发送,避免数据发送时停留在某一个端口来发送数据;
所述exp_tx_dcr_if模块:扩展板端发送数据的寄存器访问DCR接口,扩展板发送端通过DCR接口访问发送数据端的硬件寄存器,配置硬件寄存器的值,通过硬件寄存器的值去选择发送数据到对应端, exp_tx_dcr_if模块后端接口连接exp_message模块;
所述exp_tx_packing模块:扩展板端发送数据包模块,发送来自系统或应用层的数据到上述扩展板端aurora_core模块的接收数据端,exp_tx_packing模块发送数据首先将要发送的数据存入发送数据缓存模块,同时根据exp_tx_dcr_if模块后端的状态信息去发送指定的端口数据,exp_tx_packing模块前端接口为系统内存访问的LIS接口和寄存器访问的DCR接口,后端是扩展板端aurora_core的local link接口;
所述exp_tx_fifo模块:扩展板端发送数据缓存模块,对数据发送作预取操作,实现对发送数据的流控;
所述exp_message模块:扩展板端消息机制管理模块,控制系统的发送和接收状态中断信息,私有协议定义的发送和接收数据定义的寄存器信息,exp_message模块前端是寄存器访问DCR接口,扩展板通过DCR接口配置发送状态寄存器的值,系统发送数据端口的中断信息;后端是上述扩展板端aurora_core模块的local link的接收端,通过exp_message端口的数据都通过配置缓存来实现预取和配置信息的流控;
所述exp_cfg_fifo模块:扩展板端发送数据配置寄存器的缓存模块,是对配置数据作预取操作和发送配置数据的流控。
4.根据权利要求1所述的基于aurora协议的高速总线接口的扩展架构,其特征在于,所述私有协议定义的传输数据包的格式如下:
所述数据包格式由多个数据字段组成,每个数据字段数据位宽为32位,数据包的格式由数据包的包头,数据和包尾组成;
所述的包头信号名为LL_SOF_N,LL_SOF_N是定义在私有协议中数据包结构传输开始的信号名,它表示为local link接口的帧传输开始(start of frame)信号,高电平有效;
所述的包尾信号名为LL_EOF_N,LL_EOF_N是定义在私有协议中数据包结构传输结束的信号名,它表示为local link接口的帧传输结束(end of frame)信号,高电平有效;
所述的数据包含有多个数据字段可以是读写数据,配置信息,控制位状态信息,每个数据字段的数据位宽都为32位。
5.根据权利要求4所述的基于aurora协议的高速总线接口的扩展架构,其特征在于,所述私有协议DCR接口写或读数据包格式如下:
所述私有协议DCR接口写或读数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的DCR接口读写数据包结构传输开始的信号名,表示local link接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1和word3,word1中的字段信息包括私有协议定义的DCR接口读写数据包的设备ID信息,功能ID信息和状态中断控制信息,以及预留位;word3中的字段信息为私有协议定义的DCR接口读写数据;
数据包包尾数据字段标记为word2,word2中的字段信息为LL_EOF_N,为私有协议中定义的DCR接口数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
6.根据权利要求4所述的基于aurora协议的高速总线接口的扩展架构,其特征在于,所述私有协议DCR接口响应数据包格式如下:
所述私有协议DCR接口响应数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的DCR接口响应数据包结构传输开始的信号名,表示local link接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1和word3,word1中的字段信息包括私有协议定义的DCR接口响应数据包的设备ID信息,功能ID信息和状态中断控制信息,以及预留位;word3中的字段信息为私有协议定义的DCR接口响应数据;
数据包包尾数据字段标记为word2,word2中的字段信息为LL_EOF_N,为私有协议中定义的DCR接口响应数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
7.根据权利要求4所述的基于aurora协议的高速总线接口的扩展架构,其特征在于,所述私有协议LIS接口读写数据包格式如下:
所述私有协议LIS接口读写数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的LIS接口读写数据包结构传输开始的信号名,表示local link接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1、word2、word3和word4,word1中的字段信息包括私有协议定义的LIS接口读写数据包的设备ID信息,功能ID信息,LIS接口访问内存(memory)地址偏移的大小和状态中断控制信息,以及预留位;word3中的字段信息为私有协议定义的LIS接口写数据(payload),包含有多个数据字段;word4中的字段信息为私有协议定义的LIS接口访问系统内存(memory)的映射地址信息;
数据包包尾数据字段标记为word2,word2中的字段信息为LL_EOF_N,为私有协议中定义的LIS接口读写数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
8.根据权利要求4所述的基于aurora协议的高速总线接口的扩展架构,其特征在于,所述私有协议LIS接口响应数据包格式如下:
所述私有协议LIS接口响应数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的LIS接口响应数据包结构传输开始的信号名,表示local link接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1和word2,word1中的字段信息包括私有协议定义的LIS接口响应数据包的设备ID信息,功能ID信息和状态中断控制信息,以及预留位;word2中的字段信息为私有协议定义的LIS接口响应数据;
数据包包尾数据字段标记为word3,word3中的字段信息为LL_EOF_N,为私有协议中定义的LIS接口响应数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
9.根据权利要求4所述的基于aurora协议的高速总线接口的扩展架构,其特征在于,所述私有协议中中断寄存器数据包格式如下:
所述私有协议中中断寄存器数据包包含多个数据字段,每个数据字段为4个字节(byte),数据包包头数据字段标记为word0,word0中的字段信息为LL_SOF_N,为私有协议中定义的中断寄存器数据包结构传输开始的信号名,表示local link接口的帧数据传输开始信号,高电平有效;
数据包的数据字段标记为word1,word1中的字段信息包括私有协议定义的中断寄存器数据包的设备ID信息,功能ID信息,中断状态和控制信息,以及预留位;
数据包包尾数据字段标记为word2,word2中的字段信息为LL_EOF_N,为私有协议中定义的中断寄存器数据包结构传输结束的信号名,表示local link接口的帧数据传输结束信号,高电平有效。
CN201310033124.5A 2013-01-28 2013-01-28 基于aurora协议的高速总线接口的扩展架构 Expired - Fee Related CN103106169B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310033124.5A CN103106169B (zh) 2013-01-28 2013-01-28 基于aurora协议的高速总线接口的扩展架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310033124.5A CN103106169B (zh) 2013-01-28 2013-01-28 基于aurora协议的高速总线接口的扩展架构

Publications (2)

Publication Number Publication Date
CN103106169A CN103106169A (zh) 2013-05-15
CN103106169B true CN103106169B (zh) 2015-08-12

Family

ID=48314039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310033124.5A Expired - Fee Related CN103106169B (zh) 2013-01-28 2013-01-28 基于aurora协议的高速总线接口的扩展架构

Country Status (1)

Country Link
CN (1) CN103106169B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315709A (zh) * 2016-04-26 2017-11-03 Ls 产电株式会社 具有被应用用户定义协议的硬件协议栈和用于对硬件协议栈应用用户定义协议的方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778095B (zh) * 2014-01-08 2016-09-28 无锡众志和达数据计算股份有限公司 一种基于FPGA芯片的sata扩展架构
EP2958028B1 (en) * 2014-06-20 2020-05-13 Nagravision S.A. Physical interface module
CN105653494B (zh) * 2014-11-12 2018-06-26 杭州华为数字技术有限公司 一体机
CN105607874B (zh) * 2015-12-31 2017-03-22 湖南国科微电子股份有限公司 Sata协议加速模块、主机与硬盘通信方法及固态硬盘控制器
CN106708768B (zh) * 2017-03-09 2019-06-21 西安电子科技大学 基于共享锁相环的Aurora接口捆绑方法及装置
CN109446143B (zh) * 2018-10-16 2021-05-25 武汉精立电子技术有限公司 一种基于fpga的数据串行传输控制系统及方法
CN109831434B (zh) * 2019-01-31 2021-03-02 西安微电子技术研究所 一种基于自定义交换策略的多协议通信交换控制器
CN111586331A (zh) * 2019-02-18 2020-08-25 浙江宇视科技有限公司 一种视频处理设备
CN111817925B (zh) * 2020-09-02 2020-12-04 广东省新一代通信与网络创新研究院 一种用于高传输速率的测试方法及系统
CN113014385B (zh) * 2021-03-25 2023-09-01 黑龙江大学 一种双网口硬件网络数据加密系统
CN114064544A (zh) * 2021-10-11 2022-02-18 青岛鼎信通讯股份有限公司 一种应用于融合终端的多串口扩展设计方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201319679Y (zh) * 2008-09-22 2009-09-30 中国汽车技术研究中心 一种基于网络技术的自适应前照灯系的结构
US7661008B2 (en) * 2003-05-13 2010-02-09 International Business Machines Corporation Real time clock circuit having an internal clock generator
CN101645027A (zh) * 2008-08-07 2010-02-10 中兴通讯股份有限公司 对象存储控制器及其掉电保护装置和保护方法
CN102890622A (zh) * 2012-09-29 2013-01-23 无锡众志和达存储技术股份有限公司 一种基于协处理器的sata控制器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120036501A1 (en) * 2010-08-03 2012-02-09 Tomas Evensen Method and System for Capturing System and User Events Using Hardware Trace Devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7661008B2 (en) * 2003-05-13 2010-02-09 International Business Machines Corporation Real time clock circuit having an internal clock generator
CN101645027A (zh) * 2008-08-07 2010-02-10 中兴通讯股份有限公司 对象存储控制器及其掉电保护装置和保护方法
CN201319679Y (zh) * 2008-09-22 2009-09-30 中国汽车技术研究中心 一种基于网络技术的自适应前照灯系的结构
CN102890622A (zh) * 2012-09-29 2013-01-23 无锡众志和达存储技术股份有限公司 一种基于协处理器的sata控制器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于PCI-Express和Aurora协议高速光纤通信板卡的实现;王长清等;《微计算机应用》;20100115;第31卷(第1期);第64-68页 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315709A (zh) * 2016-04-26 2017-11-03 Ls 产电株式会社 具有被应用用户定义协议的硬件协议栈和用于对硬件协议栈应用用户定义协议的方法
CN107315709B (zh) * 2016-04-26 2020-09-01 Ls 产电株式会社 具有被应用用户定义协议的硬件协议栈和用于对硬件协议栈应用用户定义协议的方法

Also Published As

Publication number Publication date
CN103106169A (zh) 2013-05-15

Similar Documents

Publication Publication Date Title
CN103106169B (zh) 基于aurora协议的高速总线接口的扩展架构
KR101681509B1 (ko) 다중슬롯 링크층 플릿
CN104641360A (zh) 对存储器及对等设备的双播PCIe入站写入
CN103077148B (zh) 一种基于pcie的主机通讯方法和主机
CN116841932B (zh) 一种可灵活连接的便携式高速数据存取设备及其工作方法
CN103036685A (zh) 基于dp83849c的afdx接口转换器
Markettos et al. Interconnect for commodity FPGA clusters: Standardized or customized?
CN209640846U (zh) 一种串行总线转ahb总线的转换电路
CN113489594B (zh) 基于fpga模块的pcie实时网卡
CN108462620B (zh) 一种吉比特级SpaceWire总线系统
CN203643598U (zh) 雷达数据记录设备
CN204390227U (zh) 计算设备扩展装置、以及可扩展的计算系统
CN117056249B (zh) 一种mdio到ahb的转换方法、系统、设备及介质
WO2015099676A1 (en) Input output data alignment
CN116795763B (zh) 基于axi协议的数据分组传输的方法、片上系统和芯片
CN104598404A (zh) 计算设备扩展方法和装置、以及可扩展的计算系统
CN104484302A (zh) 基于usb接口的实现两台主机之间双向通信与控制的系统
CN112947156A (zh) 一种基于fpga的分布式数据传输系统及方法
KR20160147373A (ko) 광 신호를 이용한 sata 호스트 버스 어댑터 및 sata 저장소 연결 방법
CN215006296U (zh) 一种基于fpga的分布式数据传输系统
CN112835834B (zh) 数据传输系统
US7752375B2 (en) Input output control apparatus with a plurality of ports and single protocol processing circuit
CN107317773B (zh) 一种片上网络通信接口及通信方法
CN201837923U (zh) 一种具有交换机功能的主板
CN110232038A (zh) 一种工控机用智能通讯串口装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 214122 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Wuxi Software Park Building 6 layer A Taurus

Applicant after: WUXI SOUL DATA COMPUTING Co.,Ltd.

Address before: 214028 Jiangsu Province, Wuxi City District Road No. 18 Wuxi Zhenze National Software Park Building 6 layer A Taurus

Applicant before: SOUL STORAGE TECHNOLOGY WUXI Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SOUL STORAGE TECHNOLOGY UXI O., LTD. TO: SOUL DATA COMPUTING (WUXI) CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 214122 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Wuxi Software Park Building 6 layer A Taurus

Patentee after: WUXI NORTH DATA COMPUTING CO.,LTD.

Address before: 214122 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Wuxi Software Park Building 6 layer A Taurus

Patentee before: WUXI SOUL DATA COMPUTING Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150812

Termination date: 20220128