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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special 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
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.
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)
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 |
-
2019
- 2019-11-19 CN CN201911131149.2A patent/CN110855689B/en active Active
Patent Citations (6)
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)
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 |