CN101778038B - 基于千兆以太网的嵌入式设备高速数据传输系统 - Google Patents
基于千兆以太网的嵌入式设备高速数据传输系统 Download PDFInfo
- Publication number
- CN101778038B CN101778038B CN2009101566754A CN200910156675A CN101778038B CN 101778038 B CN101778038 B CN 101778038B CN 2009101566754 A CN2009101566754 A CN 2009101566754A CN 200910156675 A CN200910156675 A CN 200910156675A CN 101778038 B CN101778038 B CN 101778038B
- Authority
- CN
- China
- Prior art keywords
- data
- communication module
- control
- flow
- submodule
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 112
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 3
- 238000012545 processing Methods 0.000 claims description 43
- 230000006870 function Effects 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000005316 response function Methods 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 3
- 238000012856 packing Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 9
- 230000006855 networking Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明提供了一种基于千兆以太网及高速数据接口的数据传输系统,该系统在具有PowerPC核的FPGA中实现,用于在上位工控机及下位机之间实现双向高速数据传输,该系统包括以下三个模块:上位通信模块,它基于运行于FPGA的TEMAC IP核及运行于PowerPC的Lwip网络协议栈,实现与上位机之间的通信;下位通信模块,它基于FPGA编程实现的高速数据接口,通过FPGA的自定义IO口与下位机通信;数据流控制模块,它基于PowerPC核来控制上位通信模块与下位通信模块之间的数据流。本发明具有通用性好、可靠性高、实现方便等特点,为各种嵌入式系统与工控机设备之间的数据传输提供了一种简单、高效的方案。
Description
技术领域
本发明涉及嵌入式系统数据传输技术领域,更特别的,涉及一种基于千兆以太网和高速数据接口,实现下位的基于FPGA或DSP的嵌入式系统及上位机之间双向高速数据传输的方法与系统。
背景技术
近年来,随着处理器的处理能力的迅速发展,单位时间的数据处理和吞吐能力越来越强,处理器越来越多地被应用于高速数据处理场合,系统内部的传输接口具有很高的速率,但如何对嵌入式设备生成的数据进行通用输出则成为一个重要的研究课题。千兆以太网在目前主流的工控机及先进的数据采集设备上都有所配备,它具有连接方便,传输距离远,通用性好,可靠性高,成本相对低廉等优势。千兆以太网凭借上述优势,成为嵌入式数据处理设备与外界的重要数据交互接口之一。
目前,国内外各机构针对该问题进行了不少的研究,但大都处于起步阶段,缺乏系统性的研究,很少将其真正应用到实际的高速数据传输领域。部分已经实现的百兆以上的数据传输方法,都要求生成数据的芯片本身能够提供千兆以太网的功能,这类方法有以下弊端:
1、在单芯片或单系统环境下,兼顾高速数据处理及千兆以太网的芯片成本昂贵;
2、而在多芯片或多系统环境下,每个芯片及系统都需要千兆以太网的支持,一方面多个端口不便于数据接收,另一方面进一步大大提高了系统成本;
3、不适用于已有的不支持千兆以太网的一些设备。
发明内容
为了实现下位嵌入式设备与上位机(如工控机、数据记录仪等设备)的高速数据交互,将下位嵌入式设备(称为下位机)生成的数据实时且准确无误的传输至上位机,同时实时响应上位机的各种控制命令或从上位机获取数据,本发明提供一种有效的基于千兆以太网的嵌入式设备高速数据传输系统,该系统的总体工作框架如图1所示,该系统的下位机可以是基于FPGA或DSP等的多种嵌入式平台。
本发明实现的一种基于千兆以太网及高速数据接口的嵌入式设备高速数据传输系统包括上位通信模块、下位通信模块、数据流控制模块三个模块,三个模块的关系及功能如下:
(1)、上位通信模块,它基于运行于FPGA的TEMAC IP核及运行于PowerPC的Lwip网络协议栈,实现与上位机之间的通信;
上位通信模块采用TCP或UDP单播的模式与单个上位机通信,或者采用UDP组播的模式与多个上位机通信。
(2)、下位通信模块,它基于FPGA编程实现的高速数据接口,通过FPGA的自定义IO口与下位机通信;
在下位通信模块中,其中的高速数据接口的FPGA的程序实现包括顶层数据接口子模块、协议控制及处理子模块、状态控制子模块、FIFO子模块,其中:
顶层数据接口子模块,用于定义下位通信模块与下位机的接口以及下位通信模块与数据流控制模块的接口,并管理协议控制及处理子模块、状态控制子模块和FIFO子模块的结构及信号流向;
协议控制及处理子模块,用于定义实现协议及状态控制需要的信号,并根据协议需要对数据位宽进行转换;
状态控制子模块,用于实现运行协议需要的状态机;
FIFO子模块,用于FIFO的实现与控制。
下位通信模块中的高速数据接口,可以是基于Ti公司提出的Communication Port(Comport)接口。
(3)、数据流控制模块,它基于PowerPC核来实现对上位通信模块发送到下位通信模块的数据流和下位通信模块发送到上位通信模块的数据流进行控制。
下位通信模块与数据流控制模块之间的连接方式采用下列两种方式之一:
(301)、下位通信模块与PowerPC核通过PLB总线相连,数据流控制模块通过读取PLB总线上的FIFO入口地址从下位通信模块中获取数据;
(302)、下位通信模块通过LocalLink接口与PowerPC相连,数据流控制模块采用DMA及中断机制从下位通信模块中获取数据。
数据流控制模块,包括以下三个子模块:
(31)、上位数据处理子模块,用于实现数据流控制模块与上位通信模块的数据收发;
(32)、下位数据处理子模块,用于实现数据流控制模块与下位通信模块的数据收发;
(33)、数据调度子模块,用于根据数据流中的标志位或者命令位实现数据流向或者数据打包格式的处理。
在数据调度子模块中,上位通信模块按如下步骤发送数据流到下位通信模块:
(3311)、有数据从上位通信模块传入时,数据流控制模块中的上位数据处理子模块中的中断响应函数被触发;
(3312)、数据被存放到缓存中,根据数据中的标志位,选择是否发送给下位通信模块;
(3313)、将数据写入下位通信模块的FIFO中。
在数据调度子模块中,下位通信模块按如下步骤发送数据流到上位通信模块:
(3321)、有数据从下位通信模块传入时,按如下方式之一进行处理:
a.当下位通信模块与PowerPC核通过PLB总线相连,数据流控制模块通过读取PLB总线上的FIFO入口地址从下位通信模块中获取数据时,PowerPC判断FIFO的数据量寄存器,如果FIFO中的数据量达到预先设定的数值,将其取出并进入步骤(3322);
b.当下位通信模块通过LocalLink接口与PowerPC相连,数据流控制模块采用DMA及中断机制从下位通信模块中获取数据时,PowerPC通过基于LocalLink的中断响应函数进行基于DMA的数据读取,将其取出并进入步骤(3322);
(3322)、数据被存放到缓存中,并判断其标志位,选择是否发送给上位通信模块;
(3323)、将数据缓存指针交给上位通信模块的Lwip网络协议栈。
在该数据流控制模块中,其中的缓存大小根据Lwip协议栈特性及MTU大小,选择为1440bit以实现最优性能。
与现有技术相比,本发明的系统具有如下优点:
1、对于单芯片或单系统环境,可以将高速数据处理及千兆网传输的芯片分开,各自采用针对特点的芯片,有效降低成本;
2、对于多芯片或多系统环境,除了具有前述1中的优势外,还可以将多芯片及多系统采用单块千兆网传输芯片,方便接收的同时进一步降低成本;
3、对于已有的不支持千兆以太网以及不支持以太网的嵌入式设备,大部分情况下都可以通过编程并通过通用IO口与本系统连接从而实现高速数据传输。
本发明通用性好、可靠性高、实现方便,为各种嵌入式系统与工控机设备之间的数据传输提供了一种简单、高效的方案。
附图说明
图1为本发明系统实施例的总体工作框架示意图;
图2为本发明系统上位通信模块实施例的结构示意图;
图3为本发明系统下位通信模块实施例的结构示意图;
图4为本发明系统下位通信模块中的状态控制子模块用于实现协议的状态机实施例结构示意图;
图5为本发明系统数据流控制模块实施例结构示意图;
图6a、图6b为本发明系统数据流控制模块实施例工作流程示意图;
图7a、图7b为本发明系统实施例的工作流程示意图。
具体实施说明
下面,结合附图和具体实施例进一步说明本发明。本实施例系统的总体实施思路如下:在基于Virtex5-FX(带有PowerPC核)系列的FPGA架构的系统上,如AvNet公司的Virtex5-FX30开发板或任何满足以下要求的电路板:1、具有千兆以太网接口;2、具有自定义IO口;3、板载Virtex5-FX系列FPGA,通过Xilinx的EDK开发套件在其上构建基于standlaone架构的嵌入式系统,并基于该嵌入式系统实现本系统的三大模块。如图1所示,具体构建方法如下:
1、上位通信模块:千兆以太网口由物理接口收发器(PHY)和以太网媒体接入控制器(MAC)两部分组成。其中PHY是网络信号的AD/DA转换部分,由外部硬件接口和芯片实现,例如HALO的HFJ11-1G01E千兆网接口和Marvell的88E1111-RCJ1芯片,这部分实现了物理层的功能。Virtex5-FX系列的FPGA的内部逻辑预先内置了千兆网的MAC控制器,用于实现数据链路层的功能,在整体的嵌入式系统中,只需要添加TEMAC的IP核,使之对内置的MAC控制器具有控制权限,并通过该IP核与PowerPC以LocalLink接口相连,就可以将数据交给上层的PowerPC,由PowerPC进行较为上层的数据处理。
在PowerPC中,通过在EDK工程中加载系统内置的TEMAC上层驱动及Lwip网络协议栈,就可以建立起上位通信模块与数据流控制模块之间的连接。上述的整个上位通信模块的结构关系如图2所示。
2、下位通信模块:这部分通过在FPGA中编写与下位嵌入式系统通信的高速数据接口逻辑程序来实现。其中,与下位机的接口部分连接至FPGA的外部自定义IO管脚,与数据流控制模块通过以下两种方法之一相连:a.下位通信模块与PowerPC核通过PLB总线相连,数据流控制模块通过读取PLB总线上的FIFO入口地址从下位通信模块中获取数据;b.下位通信模块通过LocalLink接口与PowerPC相连,数据流控制模块采用DMA及中断机制从下位通信模块中获取数据。
在下位通信模块中,其中的高速数据接口,具体的FPGA的程序实现包括顶层数据接口子模块、协议控制及处理子模块、状态控制子模块、FIFO子模块,顶层数据接口负责提供与下位机及数据流控制模块的接口,并且定义了下层三个子模块的结构和内部信号流,它们之间的结构关系如图3所示,其中协议控制及处理子模块与FIFO子模块字节与顶层数据接口相连,状态控制子模块与协议控制及处理子模块相连。该高速通信接口可以是Ti公司提出的Comport接口,该接口的具体协议可以查阅TMS320C40x系列DSP的用户手册。下面以Comport接口为例,介绍各子模块的实现方法。
在顶层数据接口子模块中,定义了两个类型的外部连接:1、顶层信号到FPGA的自定义IO的连接,用于与下位机的高速通信接口相连,在Comport接口中,这包括5个控制信号及8个数据信号;2、顶层信号到PowerPC的连接方式,用于与数据流控制模块连接。顶层数据模块还定义了另三个内部数据子模块的信号连接方式,并进行了状态的初始化设置。
顶层信号到PowerPC的连接方式可以选择下列两种方式之一:
a)Locallink方式:LocalLink协议是Xilinx公司定义的一种自定义外设与PowerPC的通信协议,PowerPC440上提供了4个LocalLink接口,通过这种协议可以将数据直接挂载到PowerPC上,可以用DMA及中断的方式进行读取,速度较快,缺点是只能连接三个或三个以下的下位机(实现以太网的TEMAC IP核需要占用一个LocalLink接口)。这种方式的实现需要将ComPort数据编写成符合Locallink协议的模式。
b)PLB总线接口方式:这种方式将数据挂载到PLB总线上,再由PowerPC从PLB总线上取数据。这种方式速度较慢,但是可以实现三个以上的下位机连接,连接的下位机数量仅仅与用于实现的FPGA IO口数量有关。这种方式的实现将Comport的内部读写使能信号及数据信号与EDK提供的自定义IP模板中的PLB总线信号相连来实现。
在协议控制及处理子模块中,定义了实现协议及状态控制需要的信号,并根据协议需要对数据位宽进行转换。
在状态控制子模块中,实现了协议运行需要的状态机,基于不同高速协议的状态机不完全相同,但框架类似,以Comport接口为例,该状态机的具体流程如图4所示,具体说明如下:
根据Comport协议约定,每个Comport口必须初始化为发送或者接收中的某一个状态,两个状态互异的Comport口才能完成握手,并根据通信需求改变当前状态。因此,状态机中的两个环分别代表发送和接收状态。其中状态的变化主要由i_req和i_ack两个信号完成,这两个信号分别代表双方握手的请求和相应信号,在Comport协议文档中有详细描述。结合整个协议,就实现了整个数据的发送或接收状态流程。
FIFO子模块通过调用EDK套件中的Core Generator生成的FIFO来实现,深度为512个字。
3、数据流控制模块,它基于PowerPC核来实现对上位通信模块发送到下位通信模块的数据流和下位通信模块发送到上位通信模块的数据流进行控制,通过在PowerPC上进行基于standalone环境的C语言编程来实现。
该数据流控制模块,包括三个子模块:上位数据处理子模块、下位数据处理子模块、数据调度子模块。三个子模块的结构和关系如图5所示。其中,上位数据处理子模块位于上位通信模块与数据调度子模块之间,用于实现数据流控制模块与上位通信模块的数据收发;下位数据处理子模块位于下位通信模块与数据调度子模块之间,用于实现数据流控制模块与下位通信模块的数据收发;数据调度子模块位于上位数据处理子模块与下位数据处理子模块之间,用于根据数据流中的标志位或者命令位实现数据流向或者数据打包格式的处理。
三个子模块的具体实现如下所述:
对于上位通信模块的数据,通过上位数据处理子模块来实现,在EDK工程中加入系统提供的中断控制器xps_intc,调用系统驱动通过启用中断响应。如图6a所示,中断响应的启用包括以下几个步骤:初始化中断(XIntc_Initialize)、启动中断(XIntc_Start)、启动中断控制器(XIntc_mMasterEnable)、启动响应的中断信号(XIntc_mEnableIntr)。当有数据从上位通信模块发送至数据流控制模块或数据流控制模块将数据发送给上位通信模块时,中断响应函数会触发Lwip协议栈中的响应发送或接收程序,进行数据的收发。
对于下位通信模块的数据,通过下位数据处理子模块来实现,对于采用Locallink模式的接口,可以采用前述相同的方法来启用中断,然后通过中断响应函数来调用DMA来实现。DMA的具体实现方式可以参见Xilinx提供的DMA实现样例。对于采用PLB模式的接口:在接收模式下,可以通过XIO_In32系统函数实现数据量寄存器的查询,当寄存器指示Comport的接收FIFO中的数据达到一定的数量时,将其通过XIO_In32函数从FIFO的入口地址读出,并将数据写入缓存,交给上位数据处理子模块;在发送模式下,通过中断控制器提供的用户中断服务对数据进行判断,如果有数据从上位数据处理子模块送入数据调度子模块,则通过XIO_In32系统函数查询FIFO数据量寄存器,判断Comport的发送FIFO是否已满,在未满的情况下,将数据通过XIO_Out32系统函数写入Comport的发送FIFO。这种模式的工作流程如图6b所示。
对于数据调度子模块,则通过上位机发送过来的命令判断当前工作状态,将下位数据处理子模块发送来的数据按一定的规则存入当前的缓存,交给上位数据处理子模块发送;或者将上位数据处理子模块发送来的数据,按一定的规则存入当前的缓存,例如奇偶存储方式,交给下位数据处理子模块发送。
数据调度子模块中的缓存大小的选择,由下列几个因素综合选择得到:
1)、以太网中的单位最大传输单元MTU为1500,发送的数据包如果超过这个大小就需要拆包,这回大大降低发送性能,而在1500bit范围内,发送的数据包越大,则效率越高;
2)、IP包及TCP包的包头大小均为20bit,UDP的包头为8bit,因此,综合1)的情况单个数据包中实际可用的数据区域大小为1460bit,在这个范围内,发送的数据包越大,则效率越高;
3)、Lwip协议栈在TCP模式下,传送超过1440bit的数据包会出错,因此综合1)、2)中的情况,选定缓存大小为1440bit,也就是最终以太网的数据包的大小为1440bit。
下面,用三个具体实施实例来进一步说明本发明的应用。在这三个实施实例中,下位数据处理子模块都采用了Comport协议,根据应用的不同,分别实施了下位设备是DSP或FPGA的情况,以及下位设备数量为1个,2个及4个的情况,并根据设备数量及带宽需求不同,分别实施了下位通信模块与数据流控制模块之间采用PLB总线或LocalLink连接方式。
图7a、图7b分别描述了下位通信模块与数据流控制模块之间采用PLB总线或LocalLink连接方式的两种工作流程。如图7a所示,在PLB总线模式下,由于数据流控制模块从下位通信模块中读取数据没有中断模式,具体工作流程如下:
1)系统处于ComPort的接收FIFO寄存器的判断模式;
2)每做一次判断都需要对命令接收程序的中断响应提供执行时间,以便实时接收命令;
3)判断是否有命令到达,如果有则进入4),若没有,则回到1);
4)发送命令给下位机;
5)判断ComPort的接收FIFO中的数据是否达到一定值,如果是,则进入6),如果否则回到1);
6)读取ComPort接收FIFO中的数据;
7)将接收到的数据写入缓存;
8)将数据通过上位数据通信模块发送给上位机。
如图7b所示,在LocalLink模式下,由于数据流控制模块从上位通信模块及下位模块读取数据均采用了中断模式,具体工作流程如下:
1)启用中断并提供命令接收程序的中断;
2)判断是否有命令到达,如果有,则进入3),如果无则回到1);
3)将命令发送给下位机;
4)提供数据接收程序的中断;
5)采用DMA的方式从LocalLink口获取ComPort中的数据;
6)将接收到的数据写入缓存;
7)将数据通过上位数据通信模块发送给上位机。
实施例1
本实施例以下位通信模块与数据流控制模块之间采用PLB总线方式连接,与DSP通信为例:
1、将本系统与一路Sundance公司的基于TMS6713系列DSP嵌入式板卡SMT374(内嵌Comport口)相连,工控机通过网络命令控制DSP启动,DSP启动之后发送用于测试的顺序数列给本系统,本系统将数据通过千兆网传送给工控机。
2、将本系统与两路Sundance公司的基于TMS6713系列DSP嵌入式板卡SMT374(内嵌Comport口)相连,工控机通过网络命令控制DSP启动,DSP启动之后发送用于测试的顺序数列给本系统,本系统将数据合成一路并通过千兆网传送给工控机。
经过验证,传输的数据准确无误,可以稳定实现一路数据105Mbit/s的有效数据传输速率,两路数据总共140Mbit/s的有效数据传输速率,证明该系统可以有效地实现高速DSP数据传输。
实施例2
本实施例以下位通信模块与数据流控制模块之间采用Locallink方式连接,采用DMA方式搬移数据,与DSP通信为例:
将本系统与两路Sundance公司的基于TMS6713系列DSP嵌入式板卡SMT374(内嵌Comport口)相连,工控机通过网络命令控制DSP启动,DSP启动之后发送用于测试的顺序数列给本系统,本系统将数据合成一路并通过千兆网传送给工控机。
经过验证,传输的数据准确无误,两路数据总工193Mbit/s的有效数据传输速率,证明连接的下位设备个数在三个或三个以下时,下位通信模块与数据流控制模块之间采用Locallink及DMA的模式能实现更高的速率。
实施例3
本实施例以下位通信模块与数据流控制模块之间采用PLB总线方式连接,与FPGA通信为例:
1、将本系统与本发明人开发的一块基于Sparten-3的FPGA的AD系统相连,工控机通过网络命令控制FPGA启动,并传送一些初始化的参数,实现将FPGA采集的采样率为20k的128路AD原始数据传送至工控机。数据通过两路Comport进行传送,利用本发明实现的系统将该路数据通过上位通信模块发送至工控机。
2、将本系统与本发明人开发的两块基于Sparten-3的FPGA的AD系统相连,工控机通过网络命令控制FPGA启动,并传送一些初始化的参数,实现将FPGA采集的采样率为16k的128路AD原始数据传送至工控机。数据通过两路Comport进行传送,利用本发明实现的系统将两路数据合并成一路数据流,通过上位通信模块发送至工控机。
3、将本系统与本发明人开发的四块基于Sparten-3的FPGA的AD系统相连,工控机通过网络命令控制FPGA启动,并传送一些初始化的参数,实现将FPGA采集的采样率为8k的128路AD原始数据传送至工控机。数据通过两路Comport进行传送,利用本发明实现的系统将四路数据合并成一路数据流,通过上位通信模块发送至工控机。
经过验证,传输的数据准确无误,一路数据可以实现70Mbit/s的传输速率,可以稳定实现两路或四路均为总共140Mbit/s的有效数据传输速率。证明本方法可以实现高速的FPGA数据传输,并且在挂载多个嵌入式系统的时候仍然可以保持高速的数据传输,下位通信模块与数据流控制模块之间采用PLB总线的连接方式具有可挂载三个及以上的下位设备。
Claims (8)
1.一种基于千兆以太网及高速数据接口的数据传输系统,在具有PowerPC核的FPGA中实现,用于在上位机及下位机之间实现双向高速数据传输,其特征在于该系统包括以下三个模块:
上位通信模块,其基于由硬件物理接口收发器(PHY)和以太网媒体接入控制器(MAC)两部分所实现的千兆以太网接口,以及运行于FPGA内部的用于实现MAC功能的硬IP核TEMAC IP核与运行于PowerPC的TCP/IP协议栈Lwip网络协议栈,实现与上位机之间的通信;
下位通信模块,基于Ti公司提出的Communication Port(ComPort)接口协议,通过FPGA的自定义IO口与下位机通信;
数据流控制模块,它基于PowerPC核来控制上位通信模块与下位通信模块之间的数据流;其中,在PowerPC中,通过在EDK工程中加载系统内置的TEMAC上层驱动及Lwip网络协议栈,就可以建立起上位通信模块与数据流控制模块之间的连接。
2.如权利要求1所述的数据传输系统,其特征在于所述数据流控制模块包括上位数据处理子模块、下位数据处理子模块和数据调度子模块,其中:
上位数据处理子模块位于上位通信模块与数据调度子模块之间,用于实现数据流控制模块与上位通信模块的数据收发;
下位数据处理子模块位于下位通信模块与数据调度子模块之间,用于实现数据流控制模块与下位通信模块的数据收发;
数据调度子模块位于上位数据处理子模块与下位数据处理子模块之间,用于根据数据流中的标志位或者命令位实现数据流向或者数据打包格式的处理。
3.如权利要求2所述的数据传输系统,其特征在于:所述上位通信模块采用TCP或UDP单播的模式与单个上位机通信,或者采用UDP组播的模式与多个上位机通信。
4.如权利要求2所述的数据传输系统,其特征在于所述下位通信模块包括:
顶层数据接口子模块,用于定义下位通信模块与下位机的接口以及下位通信模块与数据流控制模块的接口,并管理协议控制及处理子模块、状态控制子模块和FIFO子模块的结构及信号流向;
协议控制及处理子模块,用于定义实现协议及状态控制需要的信号,并根据协议需要对数据位宽进行转换;
状态控制子模块,用于实现运行协议需要的状态机;
FIFO子模块,用于FIFO的实现与控制;
顶层数据接口子模块负责提供与下位机及数据流控制模块的接口,并且定义了下层三个子模块的结构和内部信号流,其中,协议控制及处理子模块、FIFO子模块与顶层数据接口子模块相连,状态控制子模块与协议控制及处理子模块相连。
5.如权利要求2所述的数据传输系统,其特征在于下位通信模块与数据流控制模块之间的连接方式采用下列两种方式之一:
a.下位通信模块与PowerPC核通过PowerPC处理器内部的高速本地总线PLB总线相连,数据流控制模块通过读取PLB总线上的FIFO入口地址从下位通信模块中获取数据;
b.下位通信模块通过LocalLink接口与PowerPC相连,数据流控制模块采用直接内存存取DMA及中断机制从下位通信模块中获取数据。
6.如权利要求2中所述的数据传输系统,其特征在于:所述上位通信模块按如下步骤发送数据流到下位通信模块:
1)数据从上位通信模块传入时,数据流控制模块中的上位数据处理子模块中的中断响应函数被触发;
2)数据被存放到缓存中,根据数据中的标志位,选择是否发送给下位通信模块,如果是则进入步骤3);
3)将数据写入下位通信模块的FIFO中。
7.如权利要求2中所述的数据传输系统,其特征在于:所述下位通信模块按如下步骤发送数据流到上位通信模块:
1)数据从下位通信模块传入时,按如下方式之一进行处理:
a.当下位通信模块与PowerPC核通过PLB总线相连,数据流控制模块通过读取PLB总线上的FIFO入口地址从下位通信模块中获取数据时,PowerPC判断FIFO的数据量寄存器,如果FIFO中的数据量达到预先设定的数值,将其取出并进入步骤2);
b.当下位通信模块通过LocalLink接口与PowerPC相连,数据流控制模块采用DMA及中断机制从下位通信模块中获取数据时,PowerPC通过基于LocalLink的中断响应函数进行基于DMA的数据读取,将其取出并进入步骤2);
2)数据被存放到缓存中,并判断其标志位,选择是否发送给上位通信模块,如果是则进入步骤3);
3)将数据缓存指针交给上位通信模块的Lwip网络协议栈。
8.如权利要求6或7所述的数据传输系统,其特征在于:缓存大小为1440bit。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101566754A CN101778038B (zh) | 2009-12-30 | 2009-12-30 | 基于千兆以太网的嵌入式设备高速数据传输系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101566754A CN101778038B (zh) | 2009-12-30 | 2009-12-30 | 基于千兆以太网的嵌入式设备高速数据传输系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101778038A CN101778038A (zh) | 2010-07-14 |
CN101778038B true CN101778038B (zh) | 2012-03-21 |
Family
ID=42514369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101566754A Expired - Fee Related CN101778038B (zh) | 2009-12-30 | 2009-12-30 | 基于千兆以太网的嵌入式设备高速数据传输系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101778038B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004713B (zh) * | 2010-11-19 | 2013-03-13 | 中国船舶重工集团公司第七0九研究所 | 一种 TigerSHARC DSP LINK 口转串行 RapidIO总线的实现方法 |
CN106385380B (zh) * | 2015-07-31 | 2020-03-03 | 北京京东振世信息技术有限公司 | 一种测量设备的数据传输方法及装置 |
CN106878285B (zh) * | 2017-01-16 | 2020-11-13 | 电子科技大学 | 一种应用于反熔丝器件编程及测试系统的通信方法 |
CN107239419B (zh) * | 2017-06-08 | 2020-02-07 | 山东超越数控电子有限公司 | 一种在PowerPC DPAA模式下实现网络接口自适应的方法 |
CN111090584A (zh) * | 2019-11-25 | 2020-05-01 | 大唐半导体科技有限公司 | 一种fpga平台ip原型快速验证方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848065A (zh) * | 2006-05-12 | 2006-10-18 | 华中科技大学 | 一种异构双系统总线的对象存储控制器 |
-
2009
- 2009-12-30 CN CN2009101566754A patent/CN101778038B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848065A (zh) * | 2006-05-12 | 2006-10-18 | 华中科技大学 | 一种异构双系统总线的对象存储控制器 |
Non-Patent Citations (3)
Title |
---|
张峰等.片上PowerPC在VxWorks下的UDP千兆网通信.《单片机与嵌入式系统应用》.2008,第2008卷(第2期), * |
杨永.基于高速DSP的千兆以太网嵌入式系统研究.《中国优秀硕士学位论文全文数据库》.2008,1-71. * |
赵艳杰等.千兆以太网MAC和RocketIO GTP收发器的集成实现.《电子工程师》.2008,第34卷(第6期), * |
Also Published As
Publication number | Publication date |
---|---|
CN101778038A (zh) | 2010-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102347896B (zh) | 一种基于以太网加载fpga和dsp的平台及其实现方法 | |
CN101345629B (zh) | 一种双现场总线接口转换器 | |
US7640385B2 (en) | Dual-mode bus station and system for communications | |
CN101778038B (zh) | 基于千兆以太网的嵌入式设备高速数据传输系统 | |
CN203812236U (zh) | 一种基于处理器和现场可编程门阵列的数据交换系统 | |
US20110208891A1 (en) | Method and apparatus for tracking transactions in a multi-speed bus environment | |
US11935600B2 (en) | Programmable atomic operator resource locking | |
WO2022086789A1 (en) | Method of executing programmable atomic unit resources within a multi-process system | |
WO2022115166A2 (en) | Registering a custom atomic operation with the operating system | |
US11797311B2 (en) | Asynchronous pipeline merging using long vector arbitration | |
WO2022086733A1 (en) | Packet arbitration for buffered packets in a network device | |
CN109411007A (zh) | 一种基于fpga的通用闪存测试系统 | |
WO2022119636A2 (en) | Self-scheduling threads in a programmable atomic unit | |
CN116629176A (zh) | 一种面向异构加速卡的多功能dma设计方法及系统 | |
CN101655825B (zh) | 一种使用fpga实现lpc-usb双向通信的装置及lpc-usb和usb-lpc数据转换方法 | |
CN103092800B (zh) | 一种数据转换实验平台 | |
CN115328832B (zh) | 一种基于pcie dma的数据调度系统与方法 | |
CN102546582A (zh) | 一种提高嵌入式数据传输系统传输速率的方法及系统 | |
CN203950307U (zh) | 基于高性能bw100芯片的sar并行处理装置 | |
CN104035913B (zh) | 基于高性能bw100芯片的sar并行处理方法及装置 | |
CN100462952C (zh) | 接口可配置的通用串行总线控制器 | |
WO2022086807A1 (en) | On-demand programmable atomic kernel loading | |
WO2008027092A1 (en) | Computer communication | |
CN210983382U (zh) | 一种基于zynq的多节点srio通信装置 | |
CN109408453B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120321 Termination date: 20141230 |
|
EXPY | Termination of patent right or utility model |