CN110855689A - Method for separating SRIO protocol control character and data packet facing 128bit width - Google Patents

Method for separating SRIO protocol control character and data packet facing 128bit width Download PDF

Info

Publication number
CN110855689A
CN110855689A CN201911131149.2A CN201911131149A CN110855689A CN 110855689 A CN110855689 A CN 110855689A CN 201911131149 A CN201911131149 A CN 201911131149A CN 110855689 A CN110855689 A CN 110855689A
Authority
CN
China
Prior art keywords
bit
srio
wide
data packet
separating
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.)
Granted
Application number
CN201911131149.2A
Other languages
Chinese (zh)
Other versions
CN110855689B (en
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.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology 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 Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN201911131149.2A priority Critical patent/CN110855689B/en
Publication of CN110855689A publication Critical patent/CN110855689A/en
Application granted granted Critical
Publication of CN110855689B publication Critical patent/CN110855689B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • 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/26Special purpose or proprietary protocols or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention belongs to the technical field of high-speed communication SRIO protocols, and particularly relates to a method for separating control characters and data packets of a 128-bit wide SRIO protocol. Compared with the prior art, the invention provides a method for separating the contained control characters from the data packets to form a receiving processing queue only containing one 32-bit control character or 128-bit data packet, and ensures that each processing cycle only processes one 32-bit control character or 128-bit data packet, thereby greatly improving the transmission performance of the SRIO protocol.

Description

Method for separating SRIO protocol control character and data packet facing 128bit width
Technical Field
The invention belongs to the technical field of high-speed communication SRIO protocols, and particularly relates to a method for separating control characters and data packets of a 128-bit wide SRIO protocol.
Background
SRIO is a packet-switching-based interconnect technology and has wide applications in the field of embedded high-speed communication interconnects. The SRIO protocol specifies that both the control characters and the data packets are 32-bit wide, so that in the transmission process of the SRIO communication protocol, the SRIO receiving end processes the control characters with the 32-bit wide or the data packets with the 32-bit wide in each processing cycle.
With the requirement of the SRIO transmission performance being improved, only 32-bit wide control characters or data packets are processed in each processing cycle, which cannot meet the system requirement, the main SRIO transmission bandwidth is improved to 64-bit wide, and thus the SRIO protocol with 64-bit wide can carry four types of transmission information:
(1) the high 32bit width and the low 32bit width are both control characters;
(2) the high 32bit width and the low 32bit width are both data packets;
(3) the high 32bit width is a control character, and the low 32bit width is a data packet;
(4) the high 32bit width is the data packet and the low 32bit width is the control character.
In the existing processing methods for the above situations, the SRIO chip and the IP core in the market are designed to process the high 32-bit-width and low 32-bit-width transmission packets simultaneously in each processing cycle, so that the four situations need to be processed separately, and the control characters are divided into multiple types of control character information according to the protocol specification, so that even if the high 32-bit-width and the low 32-bit-width are both control characters, the SRIO receiving end needs to design a processing method with different combinations according to different control character information.
The method has the disadvantage that the requirement of SRIO transmission performance is further improved, and only a method for processing the clock master frequency can be improved by times, so that the clock master frequency is improved from one hundred M to several hundred M, the processing power consumption is increased, and the time sequence margin is also very tight, so that the adoption of the processing method is basically not considered in the market at present. However, if the processing bit width is increased to 128 bits, the SRIO protocol with a 128-bit width will carry 24 types of transmission information, and the complexity of the SRIO chip and the IP core will increase exponentially, and this processing method will not be considered. Therefore, the improvement of the SRIO transmission performance can reach a relative bottleneck at present, a processing design method of the SRIO transmission packet containing the control characters and the data packet needs to be considered again, the subsequent performance upgrade needs to be considered, and the design complexity cannot be increased geometrically along with the increase of the bit width.
Disclosure of Invention
Technical problem to be solved
The technical problem to be solved by the invention is as follows: how to provide a method for separating control characters from data packets facing to an SRIO protocol with 128-bit width.
(II) technical scheme
In order to solve the technical problem, the invention provides a method for separating control characters from data packets of a 128-bit wide SRIO protocol, which is implemented based on a calculation buffer unit and a queue buffer unit, and comprises the following steps:
step 1: counting and calculating the blank number in the cache unit by taking the 32bit width as a unit;
step 2: when the blank number of the cache units is calculated to be more than or equal to N, reading an SRIO transmission packet in one period; when the blank number of the calculated cache units is less than N, the SRIO transmission packet is not read;
and step 3: if the SRIO transmission packets are read, the left boundaries of the blank positions of the calculation cache units are aligned, and the SRIO transmission packets which are currently read are placed in the blank positions of the calculation cache units from the highest position to form a queue cache unit; if the SRIO transmission packet is not read, a queue buffer unit is directly formed by the current calculation buffer unit;
and 4, step 4: the queue cache unit sequentially scans whether the control characters are the control characters or not at intervals of 32-bit width from the highest 32-bit width information, wherein the times are M times, once the control characters are found, the 32-bit width control characters are separated and removed, and if the control characters are not the M times, the 128-bit data packet is output and processed;
and 5: and (3) the blank positions of the separated and removed control characters or data packets are left-shifted and filled by the content behind to form the content of the calculation cache unit in the next period, and the step 1 is repeatedly executed.
The calculation buffer unit is a 256-bit-wide calculation buffer unit.
The queue buffer unit is a queue buffer unit with 256bit width.
The 256-bit-wide queue cache unit is responsible for arranging and recombining the SRIO transmission packet with the 128-bit wide in the current processing cycle and the content of the calculation cache unit in the previous processing cycle.
The 256-bit-width queue cache unit sequentially scans whether the control characters are from the highest 32-bit-width information and at intervals of 32-bit width, the times are M times, once the control characters are found, the 32-bit-width control characters are separated and removed, and if the control characters are not found for M times, the 128-bit data packet is output and processed.
Wherein M is 4.
The blank is a blank area with a bit width of 32 bits.
Wherein N is 4.
Wherein the filling mode is left filling.
Wherein, each processing cycle of the method only processes a 32-bit width control character or a 128-bit width data packet.
(III) advantageous effects
Compared with the prior art, the invention provides a method for separating control characters and data packets of a 128-bit-width oriented SRIO protocol, which separates the contained control characters from the data packets to form a receiving and processing queue only containing one 32-bit control character or 128-bit-width data packet, and ensures that only one 32-bit-width control character or 128-bit-width data packet is processed in each processing period, thereby greatly improving the transmission performance of the SRIO protocol.
Drawings
Fig. 1 is a schematic flow chart of a method for processing SRIO protocol control characters and data packets separately.
Detailed Description
In order to make the objects, contents, and advantages of the present invention clearer, the following detailed description of the embodiments of the present invention will be made in conjunction with the accompanying drawings and examples.
In order to solve the above technical problem, the present invention provides a method for separating a 128-bit wide SRIO protocol control character from a data packet, where the method is implemented based on a calculation buffer unit and a queue buffer unit, as shown in fig. 1, the method includes the following steps:
step 1: counting and calculating the blank number in the cache unit by taking the 32bit width as a unit;
step 2: when the blank number of the cache units is calculated to be more than or equal to 4, reading the SRIO transmission packet in one period; when the blank number of the calculated cache units is less than 4, the SRIO transmission packet is not read;
and step 3: if the SRIO transmission packets are read, the left boundaries of the blank positions of the calculation cache units are aligned, and the SRIO transmission packets which are currently read are placed in the blank positions of the calculation cache units from the highest position to form a queue cache unit; if the SRIO transmission packet is not read, a queue buffer unit is directly formed by the current calculation buffer unit;
and 4, step 4: the queue cache unit sequentially scans whether the control characters are the control characters or not at intervals of 32bit width from the highest 32bit width information, the times are 4 times, once the control characters are found, the 32bit width control characters are separated and removed, and if the control characters are not found for 4 times, the 128bit data packet is output and processed;
and 5: and (3) the blank positions of the separated and removed control characters or data packets are left-shifted and filled by the content behind to form the content of the calculation cache unit in the next period, and the step 1 is repeatedly executed.
The calculation buffer unit is a 256-bit-wide calculation buffer unit.
The queue buffer unit is a queue buffer unit with 256bit width.
The blank is a blank area with a bit width of 32 bits.
The 256-bit-wide queue cache unit is responsible for arranging and recombining the SRIO transmission packet with the 128-bit wide in the current processing cycle and the content of the calculation cache unit in the previous processing cycle.
The 256-bit-width queue cache unit sequentially scans whether the control characters are from the highest 32-bit-width information and at an interval of 32-bit width, the times are 4 times, once the control characters are found, the 32-bit-width control characters are separated and removed, and if the control characters are not found for 4 times, the 128-bit data packet is output and processed.
The empty positions of the separated and removed control characters or data packets are left-shifted and filled by the content of the following data packet, and the content of a calculation buffer unit expected to be processed by a queue buffer unit in the next week is formed.
Wherein, each processing cycle of the method only processes a 32-bit width control character or a 128-bit width data packet.
Examples
As shown in fig. 1, this embodiment provides a novel method for separating and processing control characters and data packets of an SRIO protocol oriented to 128-bit width at a receiving end. The control characters and the data packets are separated to form a data packet receiving and processing queue only containing one 32-bit control character or 128-bit wide, and each processing cycle is guaranteed to process only one 32-bit wide control character or 128-bit wide data packet.
The method for separating the SRIO protocol control characters facing the 128-bit width from the data packets realizes the separation and recombination of the SRIO protocol control characters and the data packets through a queue cache unit with 256-bit width and a calculation cache unit with 256-bit width. The queue buffer unit with 256bit width is responsible for arranging and recombining the SRIO transmission packet with 128bit width in the current processing period and the content of the calculation buffer unit in the previous processing period; the 256-bit-width queue cache unit is responsible for sequentially scanning whether the control characters are the control characters or not from the highest 32-bit-width information by taking the 32-bit-width as an interval, the times are 4 times, once the control characters are found, the 32-bit-width control characters are separated and removed, and if the control characters are not the control characters for 4 times, the 128-bit data packet is output and processed. The blank positions of the separated and removed control characters or data packets are left-shifted and filled by the content behind the control characters or data packets, and the content of a calculation buffer unit expected to be processed by a queue buffer unit in the next week is formed.
The above description is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, several modifications and variations can be made without departing from the technical principle of the present invention, and these modifications and variations should also be regarded as the protection scope of the present invention.

Claims (10)

1. A method for separating SRIO protocol control characters and data packets facing 128bit wide is characterized in that the method is implemented based on a calculation buffer unit and a queue buffer unit, and the method comprises the following steps:
step 1: counting and calculating the blank number in the cache unit by taking the 32bit width as a unit;
step 2: when the blank number of the cache units is calculated to be more than or equal to N, reading an SRIO transmission packet in one period; when the blank number of the calculated cache units is less than N, the SRIO transmission packet is not read;
and step 3: if the SRIO transmission packets are read, the left boundaries of the blank positions of the calculation cache units are aligned, and the SRIO transmission packets which are currently read are placed in the blank positions of the calculation cache units from the highest position to form a queue cache unit; if the SRIO transmission packet is not read, a queue buffer unit is directly formed by the current calculation buffer unit;
and 4, step 4: the queue cache unit sequentially scans whether the control characters are the control characters or not at intervals of 32-bit width from the highest 32-bit width information, wherein the times are M times, once the control characters are found, the 32-bit width control characters are separated and removed, and if the control characters are not the M times, the 128-bit data packet is output and processed;
and 5: and (3) the blank positions of the separated and removed control characters or data packets are left-shifted and filled by the content behind to form the content of the calculation cache unit in the next period, and the step 1 is repeatedly executed.
2. The method for separating the control character from the data packet of the SRIO protocol oriented to 128-bit wide of claim 1, wherein the calculation buffer unit is a calculation buffer unit with 256-bit wide.
3. The method for separating the control character from the data packet of the SRIO protocol oriented to 128-bit wide of claim 2, wherein the queue buffer unit is a queue buffer unit with 256-bit wide.
4. The method as claimed in claim 3, wherein the 256-bit-wide queue buffer unit is responsible for arranging and recombining the 128-bit-wide SRIO transmission packet in the current processing cycle and the content of the calculation buffer unit in the previous processing cycle.
5. The method for separating the control character from the data packet of the SRIO protocol facing the 128-bit width as claimed in claim 4, wherein the 256-bit-wide queue cache unit sequentially scans whether the control character is from the highest 32-bit-wide information and at an interval of 32-bit-wide for M times, and once finding the control character, separates and rejects the 32-bit-wide control character, and if the control character is not found for M times, outputs the 128-bit data packet for processing.
6. The method for separating the control character from the data packet of the 128-bit wide SRIO protocol according to claim 5, wherein M is 4.
7. The method for separating the control character from the data packet of the SRIO protocol oriented to 128-bit wide of claim 1, wherein the blank is a blank area with a bit width of 32 bits.
8. The method for separating the control character from the data packet of the 128-bit wide SRIO protocol according to claim 1, wherein N is 4.
9. The method for separating the control character from the data packet of the 128-bit wide SRIO protocol according to claim 1, wherein the padding is left padding.
10. The method for separating the control character from the data packet of the SRIO protocol oriented to 128-bit wide according to claim 1, wherein only one control character with a 32-bit wide or data packet with a 128-bit wide is processed in each processing cycle of the method.
CN201911131149.2A 2019-11-19 2019-11-19 Method for separating SRIO protocol control character and data packet facing 128bit width Active CN110855689B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911131149.2A CN110855689B (en) 2019-11-19 2019-11-19 Method for separating SRIO protocol control character and data packet facing 128bit width

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911131149.2A CN110855689B (en) 2019-11-19 2019-11-19 Method for separating SRIO protocol control character and data packet facing 128bit width

Publications (2)

Publication Number Publication Date
CN110855689A true CN110855689A (en) 2020-02-28
CN110855689B CN110855689B (en) 2021-07-02

Family

ID=69602139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911131149.2A Active CN110855689B (en) 2019-11-19 2019-11-19 Method for separating SRIO protocol control character and data packet facing 128bit width

Country Status (1)

Country Link
CN (1) CN110855689B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818470B2 (en) * 2007-09-27 2010-10-19 Integrated Device Technology, Inc. Adaptive interrupt on serial rapid input/output (SRIO) endpoint
CN103970692A (en) * 2013-01-25 2014-08-06 北京旋极信息技术股份有限公司 RapidIO serial data processing method
CN104023037A (en) * 2014-07-02 2014-09-03 浪潮集团有限公司 RAPIDIO data transmission method with low system overhead
CN105635176A (en) * 2016-02-19 2016-06-01 山东超越数控电子有限公司 Network data transmission method based on RapidIO
CN109286471A (en) * 2018-09-30 2019-01-29 中国人民解放军战略支援部队信息工程大学 CRC check method and device towards SRIO controller
CN109669903A (en) * 2018-12-07 2019-04-23 天津津航计算技术研究所 A kind of the bridge module design and optimization method of SRIO agreement

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818470B2 (en) * 2007-09-27 2010-10-19 Integrated Device Technology, Inc. Adaptive interrupt on serial rapid input/output (SRIO) endpoint
CN103970692A (en) * 2013-01-25 2014-08-06 北京旋极信息技术股份有限公司 RapidIO serial data processing method
CN104023037A (en) * 2014-07-02 2014-09-03 浪潮集团有限公司 RAPIDIO data transmission method with low system overhead
CN105635176A (en) * 2016-02-19 2016-06-01 山东超越数控电子有限公司 Network data transmission method based on RapidIO
CN109286471A (en) * 2018-09-30 2019-01-29 中国人民解放军战略支援部队信息工程大学 CRC check method and device towards SRIO controller
CN109669903A (en) * 2018-12-07 2019-04-23 天津津航计算技术研究所 A kind of the bridge module design and optimization method of SRIO agreement

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FENG ZHANG等: "A high-speed serial transport platform based on SRIO for high-resolution image", 《 2010 3RD INTERNATIONAL CONGRESS ON IMAGE AND SIGNAL PROCESSING》 *
YUXI ZHANG等: "Application of SRIO in radar signal processing", 《2016 CIE INTERNATIONAL CONFERENCE ON RADAR (RADAR)》 *
姜宏旭等: "FPGA+DSP异构视频处理系统中基于SRIO的数据高效传输方法", 《计算机学报》 *
蒲恺等: "SRIO接口DMA传输控制器的研究与设计", 《信息通信》 *

Also Published As

Publication number Publication date
CN110855689B (en) 2021-07-02

Similar Documents

Publication Publication Date Title
CN103141066B (en) Transmission circuit, reception circuit, transmission method, reception method, communication system and communication method therefor
CN101146102B (en) HDLC data uplink and downlink method and communication device in RRU network
RU2006116496A (en) HIGH DATA TRANSFER INTERFACE
US20230118809A1 (en) Method and apparatus for sending and receiving multiframe, device, system, and storage medium
CN110505161B (en) Message processing method and device
CN110912841B (en) SRIO protocol control character and data packet separation system facing 128bit width
CN105337991A (en) Integrated message flow searching and updating method
CN108521343A (en) A kind of processing method and processing device of OAM message
KR20110080175A (en) Method, apparatus, and system for automatic data aligner for multiple serial receivers
CN104333388A (en) Serial communication protocol controller, character re-aligning circuit and 8b/10b decoder
CN104536924A (en) Multi-channel delay deviation correction method and device for board-level high-speed transmission bus
CN110855689B (en) Method for separating SRIO protocol control character and data packet facing 128bit width
CN101001199A (en) Data processing method of high speed multidigit parallel data bus
US9485053B2 (en) Long-distance RapidIO packet delivery
CN107645747B (en) Method and equipment for sending and receiving data
CN105263165B (en) A kind of network data based on FPGA connects packet method for splitting
US10574424B2 (en) Transmission bandwidth improvements for DVB-S2X channel bonding
CN103997415A (en) Apparatus and method for realizing message statistics
CN102036420A (en) High-speed interface and data transmission method thereof
CN111901126B (en) Method for avoiding time consumption of decryption and signature verification module based on V2X protocol stack network layer
CN108092746A (en) A kind of serial port communication method and system
CN102769512A (en) Implementation method and device for GFP frame delimitation
CN101977186B (en) Device for realizing synchronous transport module level-1 (STM-1) multipath Ethernet over E1 conversion
US11133891B2 (en) Systems and methods for self-synchronized communications
WO2018196833A1 (en) Message sending method and message receiving method and apparatus

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
GR01 Patent grant
GR01 Patent grant