CN105573937B - 用于数据重传的系统 - Google Patents

用于数据重传的系统 Download PDF

Info

Publication number
CN105573937B
CN105573937B CN201510964497.3A CN201510964497A CN105573937B CN 105573937 B CN105573937 B CN 105573937B CN 201510964497 A CN201510964497 A CN 201510964497A CN 105573937 B CN105573937 B CN 105573937B
Authority
CN
China
Prior art keywords
data
pcix
control unit
bus
fpga chip
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.)
Active
Application number
CN201510964497.3A
Other languages
English (en)
Other versions
CN105573937A (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.)
Dawning Information Industry Beijing Co Ltd
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Beijing 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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201510964497.3A priority Critical patent/CN105573937B/zh
Publication of CN105573937A publication Critical patent/CN105573937A/zh
Application granted granted Critical
Publication of CN105573937B publication Critical patent/CN105573937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本发明提出了一种用于数据重传的系统,该系统包括:FPGA芯片以及与FPGA芯片相连的PCIx总线;其中,FPGA芯片用于将数据发送至PCIx总线;PCIx总线用于接收数据,并将数据发送至目标设备;PCIx总线进一步用于在数据发送失败的情况下,向FPGA芯片发送重传信号;以及,FPGA芯片进一步用于根据接收的重传信号将数据重新发送至PCIx总线。通过本发明的技术方案,能够在消除对读写指针的维护的同时避免组合逻辑造成的时序问题,从而提高了数据重传的稳定性以及可靠性。

Description

用于数据重传的系统
技术领域
本发明涉及电子技术领域,具体来说,涉及一种用于数据重传的系统。
背景技术
DMA是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一些处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。
但是当目标设备无法完成当前数据传输的时候,会发送重传指令到主设备,这时候,由于当前数据没有传输成功,主设备需要重新将未完成的数据进行重新传送,这样一来就需要主设备对发送出去的数据进行缓存,来应对重传时候的情况。
当前解决此问题的方法现在使用RAM进行数据的缓存,在不覆盖当前数据的前提下,可以多次任意的重传,但是此方法首先需要对RAM的读写指针进行维护,其次在一些特殊情况下会造成时序问题,比如在使用国产的FPGA开发环境下,PCIx时钟频率达到133M,对于国产FPGA频率已经很高,根据PCIx接口时序要求,当M_DATA_NXT到来的时候需要将数据在当前周期放到数据总线上,然而RAM有一个周期的延时,这样就会不可避免的出现64bit数据的组合逻辑,造成时序非常紧张。
针对相关技术中由于传输失败,所以读指针需要根据当前状态进行指针的加减,造成维护困难;以及由于在国产FPGA开发环境下,组合逻辑造成的时序问题更加严重,会导致出现不可预知的错误的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种用于数据重传的系统,能够消除对读写指针的维护的同时避免组合逻辑造成的时序问题,从而提高了数据重传的稳定性以及可靠性。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种数据重传的系统。
该系统包括:
FPGA芯片以及与FPGA芯片相连的PCIx总线;
其中,FPGA芯片用于将数据发送至PCIx总线;
PCIx总线用于接收数据,并将数据发送至目标设备;
PCIx总线进一步用于在数据发送失败的情况下,向FPGA芯片发送重传信号;以及,
FPGA芯片进一步用于根据接收的重传信号将数据重新发送至PCIx总线。
在一个优选的实施例中,FPGA芯片包括:
直接内存存取DMA控制单元;
PCIx核心单元,与DMA控制单元和PCIx总线分别相连。
在一个优选的实施例中,DMA控制单元用于将数据发送至PCIx总线;
DMA控制单元进一步用于接收重传信号,并根据重传信号将数据重新发送至PCIx总线。
在一个优选的实施例中,DMA控制单元进一步用于将数据发送至PCIx核心单元;
PCIx核心单元用于对接收到的数据进行封装处理,并将封装的数据发送至PCIx总线。
在一个优选的实施例中,DMC控制单元进一步用于将数据中的部分数据进行缓存。
在一个优选的实施例中,DMC控制单元进一步用于当接收到重传指令时,将缓存的数据中的部分数据以及剩余部分数据重新发送至PCIx总线。
在一个优选的实施例中,重传信号为时序信号。
在一个优选的实施例中,PCIx总线进一步用于在数据发送失败的情况下,向PCIx核心单元发送时序信号;
PCIx核心单元用于将接收到的时序信号解析为重传指令,并将重传指令发送至DMC控制单元。
在一个优选的实施例中,DMC控制单元进一步用于将数据中的部分数据进行缓存。
在一个优选的实施例中,DMC控制单元进一步用于当接收到重传指令时,将缓存的数据中的部分数据以及剩余部分数据重新发送至PCIx总线。
通过本发明的上述方案,能够消除对读写指针的维护的同时避免组合逻辑造成的时序问题,从而提高了数据重传的稳定性以及可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的用于数据重传的系统的示意图;
图2是根据本发明的用于数据重传的系统的具体实施例的示意图;
图3是根据本发明的用于数据重传的系统的具体实施例的示意图;
图4是根据本发明的用于数据重传的系统的具体实施例的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种用于数据重传的系统。
如图1所示,根据本发明实施例的用于数据重传的系统包括:
FPGA芯片以及与FPGA芯片相连的PCIx总线;
其中,FPGA芯片用于将数据数据发送至PCIx总线;
PCIx总线用于接收数据数据,并将数据数据发送至目标设备;
PCIx总线进一步用于在数据数据发送失败的情况下,向FPGA芯片发送重传信号;以及,
FPGA芯片进一步用于根据接收的重传信号将数据数据重新发送至PCIx总线。在一个优选的实施例中,FPGA芯片包括:
直接内存存取DMA控制单元;
PCIx核心单元,与DMA控制单元和PCIx总线分别相连。
在一个优选的实施例中,DMA控制单元用于将数据发送至PCIx总线;
DMA控制单元进一步用于接收重传信号,并根据重传信号将数据重新发送至PCIx总线。
在一个优选的实施例中,DMA控制单元进一步用于将数据发送至PCIx核心单元;
PCIx核心单元用于对接收到的数据进行封装处理,并将封装的数据发送至PCIx总线。
在一个优选的实施例中,DMC控制单元进一步用于将数据中的部分数据进行缓存。
在一个优选的实施例中,DMC控制单元进一步用于当接收到重传指令时,将缓存的数据中的部分数据以及剩余部分数据重新发送至PCIx总线。
在一个优选的实施例中,重传信号为时序信号。
在一个优选的实施例中,PCIx总线进一步用于在数据发送失败的情况下,向PCIx核心单元发送时序信号;
PCIx核心单元用于将接收到的时序信号解析为重传指令,并将重传指令发送至DMC控制单元。
在一个优选的实施例中,DMC控制单元进一步用于将数据中的部分数据进行缓存。
在一个优选的实施例中,DMC控制单元进一步用于当接收到重传指令时,将缓存的数据中的部分数据以及剩余部分数据重新发送至PCIx总线。
为了更好的理解本发明的技术方案,下面以具体实施例来进行详细阐述。
图2为本实施例中,FPGA与PCIx总线结构的示意图,在图2中:FPGA与PCIx之间,根据协议中时序的要求能够产生不同的指令,其中重传指令如图3中所示。当FPGA中的PCIx核心单元接收到如图3中所示的时序时,PCIx核心单元将接收到的时序解析为可以被DMA控制单元接收的指令,并将重传指令发送给DMA控制单元。其中,PCIx核心单元与DMA控制单元接口信号连接如图4所示。在本实施例中,当DMA控制单元将数据地址等数据准备完毕以后,就要向目标设备发送请求,通过M_REQ发送一次请求,当收到M_ADDL_VLD信号拉高,表示在当前数据周期需要将写地址放到M_DATA_IN数据线上,当M_ATTR_VLD有效,需要在当前数据周期将写长度放到M_DATA_IN数据总线上,同时将操作指令放到M_CBEA_IN上,等到M_DATA_NXT有效时候,需要在当前数据周期将数据放到M_DATA_IN数据总线上,当M_DONE出现的时候,则证明当前数据传送完成。
在本实施例中,M_RETRY信号拉高表示接收到重传请求,所以需要将当前发送的数据重新发送一次。然而根据PCIx核心单元的时序要求,以及通过工具抓取信号分析,M_RETRY信号固定会在M_DATA_NXT信号有效的第三个周期后拉高,同时下一周期M_DONE信号将拉高,表明当前传输结束,并且数据传送失败,需要重新传送,所以为了使用先入先出队列(FIFO)进行数据传输,需要将前四拍的数据进行寄存,这样当开始重传的时候,前四拍数据使用寄存的数据,其他周期的数据从FIFO中获取,同时FIFO设置为showAhead模式,避免了组合逻辑的使用,时序得到了满足。
综上所述,借助于本发明的上述技术方案,利用接口时序特点,在DMA控制单元中采用FIFO代替RAM来缓存数据,在收到重传指令后,可以稳定高效的进行数据重传。同时在国产FPGA中,在保证时序的同时,能够稳定可靠的重传数据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种用于数据重传的系统,其特征在于,包括:
FPGA芯片以及与所述FPGA芯片相连的PCIx总线;
其中,所述FPGA芯片用于将数据发送至所述PCIx总线;
所述PCIx总线用于接收所述数据,并将所述数据发送至目标设备;
所述PCIx总线进一步用于在所述数据发送失败的情况下,向所述FPGA芯片发送重传信号;以及,
所述FPGA芯片进一步用于根据接收的所述重传信号将所述数据重新发送至所述PCIx总线;
其中,所述FPGA芯片包括:
直接内存存取DMA控制单元;
PCIx核心单元,与所述DMA控制单元和所述PCIx总线分别相连;
其中,所述DMA控制单元采用先入先出队列FIFO将所述数据中的部分数据进行缓存。
2.根据权利要求1所述的用于数据重传的系统,其特征在于,所述DMA控制单元用于将所述数据发送至所述PCIx总线;
所述DMA控制单元进一步用于接收所述重传信号,并根据所述重传信号将所述数据重新发送至所述PCIx总线。
3.根据权利要求1所述的用于数据重传的系统,其特征在于,所述DMA控制单元进一步用于将所述数据发送至所述PCIx核心单元;
所述PCIx核心单元用于对接收到的所述数据进行封装处理,并将封装后的数据发送至所述PCIx总线。
4.根据权利要求3所述的用于数据重传的系统,其特征在于,
所述DMA控制单元进一步用于当接收到所述重传信号时,将缓存的所述数据中的部分数据以及剩余部分数据重新发送至所述PCIx总线。
5.根据权利要求1所述的用于数据重传的系统,其特征在于,
所述重传信号为时序信号。
6.根据权利要求5所述的用于数据重传的系统,其特征在于,
所述PCIx总线进一步用于在所述数据发送失败的情况下,向所述PCIx核心单元发送时序信号;
所述PCIx核心单元用于将接收到的所述时序信号解析为重传指令,并将所述重传指令发送至所述DMA控制单元。
7.根据权利要求6所述的用于数据重传的系统,其特征在于,
所述DMA控制单元进一步用于当接收到所述重传指令时,将缓存的所述数据中的部分数据以及剩余部分数据重新发送至所述PCIx总线。
CN201510964497.3A 2015-12-21 2015-12-21 用于数据重传的系统 Active CN105573937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510964497.3A CN105573937B (zh) 2015-12-21 2015-12-21 用于数据重传的系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510964497.3A CN105573937B (zh) 2015-12-21 2015-12-21 用于数据重传的系统

Publications (2)

Publication Number Publication Date
CN105573937A CN105573937A (zh) 2016-05-11
CN105573937B true CN105573937B (zh) 2019-02-22

Family

ID=55884095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510964497.3A Active CN105573937B (zh) 2015-12-21 2015-12-21 用于数据重传的系统

Country Status (1)

Country Link
CN (1) CN105573937B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461545B (zh) * 2021-12-30 2023-11-03 苏州浪潮智能科技有限公司 一种fpga,fifo存储装置及数据缓存方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0328450B1 (en) * 1988-02-08 1996-08-28 Fujitsu Limited Direct memory access controller
CN101605081A (zh) * 2008-06-13 2009-12-16 威盛电子(中国)有限公司 数据传输装置、数据接收装置以及控制数据传输的方法
CN102332971A (zh) * 2010-07-14 2012-01-25 沈阳高精数控技术有限公司 数控系统现场总线全双工可靠通信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0328450B1 (en) * 1988-02-08 1996-08-28 Fujitsu Limited Direct memory access controller
CN101605081A (zh) * 2008-06-13 2009-12-16 威盛电子(中国)有限公司 数据传输装置、数据接收装置以及控制数据传输的方法
CN102332971A (zh) * 2010-07-14 2012-01-25 沈阳高精数控技术有限公司 数控系统现场总线全双工可靠通信方法

Also Published As

Publication number Publication date
CN105573937A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
CN102541779B (zh) 一种提高多数据缓冲区dma效率的系统和方法
CN103914424A (zh) 基于gpio接口的lpc外设扩展方法及装置
CN102231143A (zh) 一种安全可复用spi外围接口电路
CN101963947B (zh) 通用序列总线传输转译器及大量传输方法
CN103064805A (zh) Spi控制器及通信方法
CN102237983A (zh) 非帧结构通讯系统中文件传输方法、发送装置和接收装置
CN116743317B (zh) 基于通用芯片互联标准的数据传输方法
US8255601B2 (en) Transmitting system, apparatus, and method
US9473273B2 (en) Memory system capable of increasing data transfer efficiency
CN110399324A (zh) 中断转换器及中断转换方法
CN105573937B (zh) 用于数据重传的系统
CN111818632A (zh) 一种设备同步的方法、装置、设备及存储介质
US9727521B2 (en) Efficient CPU mailbox read access to GPU memory
KR20140129180A (ko) 복수의 브리지 엘러먼트들을 통한 디바이스들 간의 통신 브리징
CN117118828B (zh) 一种协议转换器、电子设备及一种配置方法
CN106788916B (zh) 用于总线的数据传输方法及数据传输装置
CN103873474B (zh) 基于Windows的TCP/IP协议的网络传输方法
CN103593316B (zh) 一种减少mcu中断占用i2c总线时间的方法
US9465691B2 (en) Read request processing apparatus
US8904062B2 (en) Network control model driver
CN104063351B (zh) 一种用于乒乓防冲突的高速复接器同步串行接口设计方法
CN114928377B (zh) 降低usb数据透传带宽的输出传输方法、装置及设备
KR100460994B1 (ko) 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치 및그 방법
JP3478565B2 (ja) パラレルインタフェース回路
Li et al. Circuit Design of PCI Express Retry Mechanisms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220729

Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing

Patentee after: Dawning Information Industry (Beijing) Co.,Ltd.

Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd.

Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing

Patentee before: Dawning Information Industry (Beijing) Co.,Ltd.

TR01 Transfer of patent right