CN107135200A - High-speed serial bus data transmission method for uplink based on FPGA - Google Patents

High-speed serial bus data transmission method for uplink based on FPGA Download PDF

Info

Publication number
CN107135200A
CN107135200A CN201710197939.5A CN201710197939A CN107135200A CN 107135200 A CN107135200 A CN 107135200A CN 201710197939 A CN201710197939 A CN 201710197939A CN 107135200 A CN107135200 A CN 107135200A
Authority
CN
China
Prior art keywords
data
fifo
bytes
fpga
sent
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.)
Pending
Application number
CN201710197939.5A
Other languages
Chinese (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.)
China Aeronautical Radio Electronics Research Institute
Original Assignee
China Aeronautical Radio Electronics Research Institute
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 China Aeronautical Radio Electronics Research Institute filed Critical China Aeronautical Radio Electronics Research Institute
Priority to CN201710197939.5A priority Critical patent/CN107135200A/en
Publication of CN107135200A publication Critical patent/CN107135200A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

The invention discloses a kind of high-speed serial bus data transmission method for uplink based on FPGA, comprising user data process step, comprise the steps of:Step 1, packet header is extracted from FPGA FIFO, judge whether data to be sent are more than 256 bytes by packet header, if performing step 2 more than 256 bytes, if performing step 3 less than 256 bytes;Step 2, the data of preceding 256 byte in FIFO are sent to SRIO IP kernel and the data of 256 byte are emptied, judge whether the remaining data in FIFO is more than 256 bytes again, if more than step 2 is repeated if 256 bytes, until remaining data is less than 256 bytes, step 3 is performed;Step 3, the IP kernel that the data in FIFO are sent to SRIO.When carrying out the SRIO data transmission on FPGA using the present invention, with relatively low, the characteristics of data-handling efficiency is higher that be delayed.

Description

High-speed serial bus data transmission method for uplink based on FPGA
Technical field:
Number is sent the present invention relates to a kind of reduction system high speed universal serial bus (serial RapidIO, hereinafter referred to as SRIO) Sent according to the IP kernel in the method for delay, more particularly to reduction FPGA (hereinafter referred to as FPGA) using SRIO The design method of data delay.
Background technology:
RapidIO be earliest by Mercury Computer systems companies of the U.S. be its computation-intensive signal The independently developed bussing technique of reason system.RapidIO is a kind of packet packet switch switching fabric, in network processing unit, centre The communication managed between device and digital signal processor has high speed, low latency, reliable and stable interconnectivity.Its key property is tool There is extremely low retardance and high bandwidth, the high-speed data being suitable between chip and chip, plate and plate, system and system is passed It is defeated.More than 10Gbps bandwidth (specifications of RapidIO 2.0 can provide 100Gbps bandwidth) can be provided, its all agreement is all It is unrelated with software by hard-wired.RapidIO has simplified end points definition, can be mounted in FPGA, only account for chip area Sub-fraction.The FPGA manufacturers of main flow each devise corresponding IP kernel now.
In the function such as the communication commonly used in current system or product and image procossing, the often delay to data transfer has High requirement.Although RapidIO buses communication protocol postpones extremely low in itself, after being integrated in FPGA, data are from user Port, which is input to end points output, needs the various processing procedures of IP kernel by SRIO, including data group bag, unpacks, distributes, flowing Amount control and mistake manages etc., cause inherent delay to rise.
Meanwhile, SRIO agreements regulation maximum 256 bytes per bag data.As shown in figure 1, user is when sending data, generally A serial input output internal memory (abbreviation FIFO once) can be set up in FPGA to cache as transmission.To the data volume of transmission During more than 256 byte, just wait until that the data in FIFO are reached after 256 bytes, then enter data into the input of IP kernel to be sent out Send operation.To transmission data volume be less than 256 byte when, then wait a period of time without follow-up data enter FIFO after input IP again The input of core is transmitted operation.By this way operation FPGA on SRIO send data can cause data send delay compared with Greatly, the delay about 100us that data are exported to physical layer is sent from program, with following drawback:
(1) data-handling efficiency is low.Source and opposite end can be wasted when waiting data volume enough or waiting pending data to reach The resource of FPGA or processor carries out the calculating and detection of data volume, reduces data-handling efficiency.
(2) the high application of real-time is caused not realize.The function such as some communications, data processing and image procossing it is real-time Property require it is higher, if data are too high from reception delay is sent to, may result in these functional faults or can not realize.
The content of the invention:
The goal of the invention of the present invention is to provide a kind of high-speed serial bus data transmission method for uplink based on FPGA, should when using When the SRIO data that method carries out on FPGA are sent, it is delayed relatively low, data-handling efficiency is higher.
The goal of the invention of the present invention is achieved through the following technical solutions:
A kind of high-speed serial bus data transmission method for uplink based on FPGA, includes user data process step, the user Data processing step is comprised the steps of:
Step 1.1, packet header is extracted from FPGA FIFO, whether data to be sent are judged by packet header More than 256 bytes, if performing step 1.2 more than 256 bytes, if performing step 1.3 less than 256 bytes;
Steps 1.2, the data of preceding 256 byte in FIFO are sent to SRIO IP kernel and the data of 256 byte are emptied, Judge whether the remaining data in FIFO is more than 256 bytes again, if more than step 1.2 is repeated if 256 bytes, until remaining Data are less than 256 bytes, perform step 1.3;
Step 1.3, the IP kernel that the data in FIFO are sent to SRIO.
According to features described above, data step also is sent comprising user's input, user's input sends data step and included Following steps:
Whether step 2.1, the FIFO judged on FPGA have data;
Step 2.2, if being waited until if having data, the data in FIFO are sent;By data to be sent if no data Composition data bag, and write in FIFO, wherein, the packet is included in packet header, the packet header comprising number According to packet length.
Brief description of the drawings:
Fig. 1 is that tradition sends data flow using SRIO IP kernel.
Fig. 2 is the structure chart of the packet header described in embodiment.
Fig. 3 is program the general frame.
Fig. 4 is the flow chart of the high-speed serial bus data transmission method for uplink based on FPGA in embodiment.
Fig. 5 is the structural representation of the experimental system used in embodiment.
Embodiment:
With reference to embodiment and accompanying drawing, the present invention is described in further detail.
Fig. 5 is the composition frame chart of an experimental system used in the present embodiment.Whole experimental system mainly includes two pieces There are a piece of XC5VFX70T FPGA and the FPGA development boards of optical module respectively and receive and dispatch totally two optical fiber cables.With two optical fiber Line interconnects the transmitting-receiving port of the optical module of two boards respectively, and xilinx SRIO IP kernel and transmission are loaded in each FPGA Data program.Data are sent to the FPGA on another piece of development board with the FPGA on one of development board, Xilinx can be passed through ChipScope softwares measure delay to monitor FPGA all of the port.
Fig. 3 is the entire block diagram of data transmission method for uplink, and wherein FIFO will be sent as the caching for sending data for temporary User data, its big I weighed according to selected FPGA memory size, notes the size of data of often secondary transmission The capacity of the FIFO can not be more than, otherwise data can lose.Simultaneously as the data to SRIP IP kernel, which are often wrapped, can not be more than 256 Byte, and the data that user to be sent are likely larger than 256 bytes, so needing data control block to be responsible for parsing packet bag Head, extracts the IP kernel that the destination address in packet header is allocated to SRIO, according to the data for the bag data indicated in packet header Amount to carry out subpackage work to data.Packet header structure as shown in Fig. 2 in 64 data 0~15 show send data The address of destination node, 16~31 show data to be sent length, remaining 32~63 can place data.Such as Fig. 4 institutes Show, it is as follows that what data were sent implements step:
The first step, SRIO initialization and link establishment.
1) judge whether port_initialized signals are drawn high after electricity on FPGA, draw high and show that port initialization is completed;
2) judge whether link_initialized signals are drawn high, draw high and show that link initialization is completed.
Second step, user's input sends data:
1) judge whether FIFO empty pins are drawn high, it is sky to draw high expression FIFO, can write data;Drag down then table Showing has data in FIFO, continue waiting for;
2) that draws high FIFO writes enable pin, and by data composition packet write-in FIFO to be sent, data write-in is finished Afterwards, drag down FIFO writes enable pin.
3rd step, processes user data
1) first data taken out in FIFO are packet header, judge whether data to be sent are more than by packet header 256 bytes, if being performed 4) more than 256 bytes, if being performed 5) less than 256 bytes;
2) data of preceding 256 byte in FIFO are sent to SRIO IP kernel and empty the data of 256 byte, then judged Whether the remaining data in FIFO is more than 256 bytes, if more than step 4 is repeated if 256 bytes, until remaining data is less than 5) 256 bytes, perform;
3) data in FIFO are sent to SRIO IP kernel, FIFO empty pins can now be drawn high.
4th step, is examined
Judged by ChipScope softwares data sent from write-in FIFO to SRIO ports between time delay be about 3.5us。
Described above, only example of the present invention, involved chip is not only limited to this 1 section, any Fpga chip is all applied in the present invention, so protection scope of the present invention is not limited thereto, it is any to be familiar with this technology neck The technical staff in domain is in technical scope of the present invention, the change or replacement done, and should all cover the protection in the present invention In the range of.Therefore, protection scope of the present invention should be defined by the protection domain of claims.

Claims (2)

1. a kind of high-speed serial bus data transmission method for uplink based on FPGA, includes user data process step, the number of users Comprised the steps of according to process step:
Step 1.1, packet header is extracted from FPGA FIFO, judge whether data to be sent are more than by packet header 256 bytes, if performing step 1.2 more than 256 bytes, if performing step 1.3 less than 256 bytes;, wherein, the packet bag Data packet length is included in head;
Step 1.2, the data of preceding 256 byte in FIFO are sent to SRIO IP kernel and the data of 256 byte are emptied, then sentenced Whether the remaining data in disconnected FIFO is more than 256 bytes, if more than step 1.2 is repeated if 256 bytes, until remaining data Less than 256 bytes, step 1.3 is performed;
Step 1.3, the IP kernel that the data in FIFO are sent to SRIO.
2. a kind of high-speed serial bus data transmission method for uplink based on FPGA, is also inputted comprising user according to claim 1 Data step is sent, user's input sends data step and comprised the steps of:
Whether step 2.1, the FIFO judged on FPGA have data;
Step 2.2, if being waited until if having data, the data in FIFO are sent;Data to be sent are constituted if no data Packet, and write in FIFO.
CN201710197939.5A 2017-03-29 2017-03-29 High-speed serial bus data transmission method for uplink based on FPGA Pending CN107135200A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710197939.5A CN107135200A (en) 2017-03-29 2017-03-29 High-speed serial bus data transmission method for uplink based on FPGA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710197939.5A CN107135200A (en) 2017-03-29 2017-03-29 High-speed serial bus data transmission method for uplink based on FPGA

Publications (1)

Publication Number Publication Date
CN107135200A true CN107135200A (en) 2017-09-05

Family

ID=59714903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710197939.5A Pending CN107135200A (en) 2017-03-29 2017-03-29 High-speed serial bus data transmission method for uplink based on FPGA

Country Status (1)

Country Link
CN (1) CN107135200A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766265A (en) * 2017-09-06 2018-03-06 中国航空工业集团公司西安飞行自动控制研究所 It is a kind of to support fixed length bag, elongated bag, the serial data extracting method of mixing bag
CN107844447A (en) * 2017-09-29 2018-03-27 北京计算机技术及应用研究所 Multi-channel serial bus high speed data sampling and processing system and method
CN108268238A (en) * 2018-01-24 2018-07-10 深圳市风云实业有限公司 Data processing method, device, computer storage media and FIFO device
CN109408426A (en) * 2018-10-23 2019-03-01 四川九洲电器集团有限责任公司 A kind of agile and all-purpose serial communication method and system
CN109669903A (en) * 2018-12-07 2019-04-23 天津津航计算技术研究所 A kind of the bridge module design and optimization method of SRIO agreement

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040260888A1 (en) * 2001-11-13 2004-12-23 Jan Hoogerbrugge Efficient fifo communication using semaphores
EP1514172A2 (en) * 2002-06-07 2005-03-16 Koninklijke Philips Electronics N.V. Spacecake coprocessor communication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040260888A1 (en) * 2001-11-13 2004-12-23 Jan Hoogerbrugge Efficient fifo communication using semaphores
EP1514172A2 (en) * 2002-06-07 2005-03-16 Koninklijke Philips Electronics N.V. Spacecake coprocessor communication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
羿昌宇等: ""基于RapidIO的FPGA硬件抽象层设计"", 《航空电子技术》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766265A (en) * 2017-09-06 2018-03-06 中国航空工业集团公司西安飞行自动控制研究所 It is a kind of to support fixed length bag, elongated bag, the serial data extracting method of mixing bag
CN107766265B (en) * 2017-09-06 2020-06-30 中国航空工业集团公司西安飞行自动控制研究所 Serial port data extraction method supporting fixed-length packets, variable-length packets and mixed packets
CN107844447A (en) * 2017-09-29 2018-03-27 北京计算机技术及应用研究所 Multi-channel serial bus high speed data sampling and processing system and method
CN107844447B (en) * 2017-09-29 2019-06-28 北京计算机技术及应用研究所 Multi-channel serial bus high speed data sampling and processing system and method
CN108268238A (en) * 2018-01-24 2018-07-10 深圳市风云实业有限公司 Data processing method, device, computer storage media and FIFO device
CN109408426A (en) * 2018-10-23 2019-03-01 四川九洲电器集团有限责任公司 A kind of agile and all-purpose serial communication method and system
CN109669903A (en) * 2018-12-07 2019-04-23 天津津航计算技术研究所 A kind of the bridge module design and optimization method of SRIO agreement

Similar Documents

Publication Publication Date Title
CN107135200A (en) High-speed serial bus data transmission method for uplink based on FPGA
US7586936B2 (en) Host Ethernet adapter for networking offload in server environment
CN103905281B (en) FC-AE-1553 bus node card capable of interchangeably achieving functions of network controller and network terminal
CN103218337B (en) Based on wishbone bus realize main and master and slave with from the SOC (system on a chip) communicated and method
CN114168520B (en) Optical fiber communication bus device, equipment and system
EP2003823A1 (en) Autonegotiation over an interface for which no autonegotiation standard exists
EP3029884A1 (en) Commissioning method, master control board, and service board
US9678891B2 (en) Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface
CN115102780B (en) Data transmission method, related device, system and computer readable storage medium
CN108462620B (en) Gilbert-level SpaceWire bus system
CN109752999A (en) A kind of ARINC429 bus communication based on FPGA
US20160011994A1 (en) Multi-processor with efficient search key processing
CN111625376B (en) Method and message system for queue communication through proxy
US8090893B2 (en) Input output control apparatus with a plurality of ports and single protocol processing circuit
CN106294225A (en) A kind of method for reading data, opposite equip. and controller
CN108614792A (en) 1394 transaction layer data packet memory management methods and circuit
CN108650160B (en) Bus bridge based on chain type port and working method thereof
CN107231319A (en) A kind of gigabit networking control circuit based on AMBA ahb bus
CN103116560B (en) Programmable blade server structure
US9632959B2 (en) Efficient search key processing method
CN115756296A (en) Cache management method and device, control program and controller
CN112702313A (en) High-speed UDP data transmission system and method
US20170357594A1 (en) Transactional memory that is programmable to output an alert if a predetermined memory write occurs
CN117076374B (en) PCIe stream bus conversion method, device, equipment and medium
CN104881393B (en) Embedded communication module based on MPC8260 processors

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170905