WO2023020202A1 - Integrated circuit, communication method, and communication system - Google Patents

Integrated circuit, communication method, and communication system Download PDF

Info

Publication number
WO2023020202A1
WO2023020202A1 PCT/CN2022/107454 CN2022107454W WO2023020202A1 WO 2023020202 A1 WO2023020202 A1 WO 2023020202A1 CN 2022107454 W CN2022107454 W CN 2022107454W WO 2023020202 A1 WO2023020202 A1 WO 2023020202A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
data packet
sequence number
data
received
Prior art date
Application number
PCT/CN2022/107454
Other languages
French (fr)
Chinese (zh)
Inventor
杨巍
Original Assignee
北京希姆计算科技有限公司
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 北京希姆计算科技有限公司 filed Critical 北京希姆计算科技有限公司
Publication of WO2023020202A1 publication Critical patent/WO2023020202A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals

Definitions

  • the present invention relates to the technical field of communication, and more specifically, to an integrated circuit, a communication method and a communication system.
  • embodiments of the present invention provide an integrated circuit, a communication method, and a communication system, so as to improve the reliability of data transmission.
  • an embodiment of the present invention provides a communication method, the method comprising:
  • generating feedback information according to the serial number detection result includes:
  • the first feedback message indicates that the data packet is a normal packet
  • generating feedback information according to the serial number detection result includes:
  • the second feedback message is used to indicate that the data packet is a duplicate packet
  • generating feedback information according to the serial number detection result includes:
  • the third feedback message is used to indicate that the data packet is an invalid packet
  • the feedback information includes the type of the data packet detection result and the sequence number of the last received normal packet corresponding to the data sending end.
  • performing data verification on the data packet includes:
  • the method also includes:
  • the data packet In response to the data packet failing the check, the data packet is filtered.
  • an embodiment of the present invention provides an integrated circuit, and the integrated circuit includes:
  • the verification circuit is configured to perform data verification on the received data packet and generate verification information
  • An error packet filtering unit configured to filter the data packets according to the verification information
  • a serial number detection unit configured to detect the serial number of the received data packet and generate a serial number detection result
  • a control unit configured to generate and send feedback information according to the serial number detection result.
  • control unit includes a normal packet filtering module
  • the sequence number detection unit is further configured to send the sequence number detection result to the normal packet filtering module in response to the sequence number detection result being that the sequence number of the data packet is the same as the sequence number to be received;
  • the normal packet filtering module is configured to generate a first feedback message according to the sequence number detection result, and the first feedback message indicates that the data packet is a normal packet.
  • control unit includes a repeated packet filtering module
  • the sequence number detection unit is further configured to send the sequence number detection result to the duplicate packet filtering module in response to the sequence number detection result being that the sequence number of the data packet is smaller than the sequence number to be received;
  • the duplicate packet filtering module is configured to generate a second feedback message according to the sequence number detection result, and the second feedback message indicates that the data packet is a duplicate packet.
  • control unit includes an invalid packet filtering module
  • the sequence number detection unit is further configured to send the sequence number detection result to the invalid packet filtering module in response to the sequence number detection result being that the sequence number of the data packet is greater than the sequence number to be received;
  • the invalid packet filtering module is configured to generate a third feedback message according to the sequence number detection result, and the third feedback message indicates that the data packet is an invalid packet.
  • control unit includes:
  • the information feedback module is configured to generate and send the feedback information, the feedback information includes the type of the data packet detection result and the sequence number of the last received normal packet corresponding to the data sending end.
  • the integrated circuit also includes a timeout monitoring unit
  • the error packet filtering unit is also configured to send a data packet error message to the timeout monitoring unit in response to the data packet being an error packet;
  • the timeout monitoring unit is configured to reset the sequence number detection unit and the information feedback module after a preset monitoring time in response to receiving a packet error message, so as to clear the error packet.
  • the verification circuit is further configured to determine a target verification method according to the type of the verification code in the data packet, and perform data verification on the data packet according to the target verification method.
  • an embodiment of the present invention provides a communication system, and the communication system includes:
  • At least one remote integrated circuit configured to transmit data packets.
  • the remote integrated circuit is further configured to delete the sent normal packet or repeated packet in response to the sent data packet being a normal packet or a repeated packet.
  • the remote integrated circuit is further configured to send the next data packet according to the sequence number in the feedback information in response to the sent data packet being an invalid packet.
  • data verification is first performed on the received data packet, and the serial number of the data packet is detected after the data verification is passed, the serial number detection result is generated, and feedback information is generated and sent according to the serial number detection result, by Therefore, the reliability of data transmission can be improved.
  • FIG. 1 is a schematic diagram of a d2d system in the related art
  • FIG. 2 is a flow chart of a communication method in the related art
  • Fig. 3 is a flowchart of a communication method according to an embodiment of the present invention.
  • Fig. 4 is the schematic diagram of the data packet of the embodiment of the present invention.
  • Fig. 5 is a schematic diagram of feedback information according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of an integrated circuit according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a communication system according to an embodiment of the present invention.
  • FIG. 8 is an interaction flowchart of a communication method according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of data verification according to an embodiment of the present invention.
  • Small chip packaging that is, packaging multiple chip dies into one chip (chip), can improve the mass production yield of chips and reduce design risks.
  • Different chip dies are equivalent to different small chip systems, and in different small chips, there may be different data sources that need to communicate with different chips.
  • the data sources in different chip dies must be Communication is carried out through the die to die (d2d, bare chip to bare chip) subsystem, and the communication module between d2d often uses analog devices, and analog devices will have BER (Bit error rate, bit error rate) in the communication process Therefore, when an error occurs, how to correctly discard the erroneous data at the receiving end and ensure the integrity of the received data becomes the key to reliable transmission between chips.
  • BER Bit error rate, bit error rate
  • FIG. 1 is a schematic diagram of a related art d2d system.
  • the d2d system 1 includes two chips 21 and 22, and each chip mainly includes SoC logic (System on Chip, system on chip) and d2d subsystem logic (d2d subsys).
  • chip 21 includes SoC 211 and d2d subsystem logic 212 .
  • the d2d subsystem logic 212 includes a d2d control module 2121 and a d2d physical layer circuit 2122 .
  • the d2d control module is a controller digital circuit logic (d2d controller).
  • Chip 21 and chip 22 perform data transmission and communication through d2d subsys.
  • the d2d physical layer circuit (d2d phy) in d2d subsys will have a BER phenomenon in high-speed data transmission, that is, it cannot guarantee that the transmitted data is 100% correct, so there will be a certain probability of error at the receiving end, and frame loss for erroneous data Processing is the key to ensure reliable data processing at the receiving end.
  • FIG. 2 is a flowchart of a communication method in the related art. As shown in Figure 2, the communication method of the related art includes the following steps:
  • step S110 chip A receives a data packet or a heartbeat packet from chip B.
  • the data packet contains data information and ID (IDentity) information
  • the heartbeat packet only contains ID information.
  • the heartbeat packet can be periodically sent to detect packet loss through the ID information in the heartbeat packet.
  • the ID information is the serial number of the data packet or the heartbeat packet, and is used to identify the data packet or the heartbeat packet.
  • step S120 chip A reads the ID information in the heartbeat packet or data packet, and compares it with the ID information of the data packet sent by chip B last time. Among them, chip A will send data packets to chip B, and maintain the ID of the data packets sent to chip B.
  • the latest data packet ID sent by chip B refers to the ID information of the data packet sent by chip A to chip B last time.
  • Step S130 determine whether the ID information in the heartbeat packet or data packet read by chip A is equal to the ID information of the data packet stored in chip A and sent to chip B last time, if they are equal, execute step S140, if not, Execute step S150.
  • chip A after chip A sends data packet a to chip B, it stores the ID information of the data packet a, and after receiving the data packet a, chip B sends data packet b (or heartbeat packet b) to chip A, the The data packet b (or heartbeat packet b) contains the ID information of the data packet a recently received from chip A, so chip A can judge the ID information of the data packet a in storage and the received data packet Whether the ID information in b is consistent is to determine whether chip B has successfully received the data packet it sent last time, so as to ensure the reliability of communication transmission.
  • step S140 it is determined that chip B has successfully received the latest data packet sent by chip A, and chip A updates the corresponding ID information and adds it to the next data packet sent to chip B. That is to say, when the ID information of the data packet received by chip A is equal to the last stored ID of the data packet sent to chip B, it is determined that chip B has successfully received the data packet sent by chip A last time, and chip A updates The corresponding ID information is added to the data packet sent to chip B next time.
  • the ID information of the last data packet sent to chip B stored in chip A is 5, and the ID information of the data packet received from chip B is also 5, Then it is determined that chip B has successfully received the data packet sent by chip A last time, and when chip A sends the data packet to chip B next time, chip A will update the corresponding ID information to 6, and the updated ID information 6 is added to the data packet sent to chip B next time, so as to judge the reliability of the data packet sent next time.
  • Step S150 determining that chip B has not received the latest data packet sent by chip B, chip A updates the corresponding ID information and adds it to the latest data packet sent, and sends the data packet to chip B. That is to say, when the ID information of the data packet received by chip A is not equal to the ID information of the last data packet sent to chip B stored by chip A, it is determined that chip B has not received the data packet sent by chip A last time, and chip A Update the corresponding ID information and add it to the data packet sent last time, and send the data packet to chip B.
  • the ID information is accumulated sequentially according to the number of data packets sent, the last ID information stored in chip A is 5, and the ID information of the data packet received from chip B is 4, then it is determined that chip B only receives The data corresponding to the acknowledgment ID sent by chip A is 4, and the data packet corresponding to the ID information sent by chip A last time is 5 is not received, that is, packet loss occurs.
  • chip A updates the corresponding ID information to 5, which remains unchanged, and adds the updated ID information 5 to the last sent data packet.
  • to send the data packet to chip B that is, to resend the last sent data packet to chip B.
  • the chips at both ends of the communication record locally the IDs of the data packets sent by the other party and the IDs of the data packets recently sent to the other party locally, and determine whether there is packet loss through comparison, thereby improving the reliability of communication.
  • this method requires double processing logic and increases the implementation complexity.
  • this embodiment provides an integrated circuit, a communication method and a communication system, so as to improve the reliability of communication transmission.
  • Fig. 3 is a flowchart of a communication method according to an embodiment of the present invention. As shown in Figure 3, the communication method of this embodiment includes the following steps:
  • Step S210 receiving a data packet.
  • the chip receives data packets sent by the remote chip.
  • the data packet includes original data and a corresponding serial number
  • the original data refers to data to be transmitted.
  • the format of the data packet can be summarized as including the header position and the non-header position, the non-header position is the original data position, and the data in the header position is the control information of the data packet, such as packet type, packet length, serial number and other information.
  • Fig. 4 is a schematic diagram of a data packet according to an embodiment of the present invention.
  • the data length of the original data in the data packet 4 can be any length between 0 and 1024DW (Data word, word length, 4 bytes).
  • the length of the serial number in the data packet 4 may be 12 bits, that is, the serial number may be 0-4095 (decimal notation). It should be understood that the data packet structure in this embodiment is only exemplary, and its data length and serial number can be set based on specific application scenarios. If the original data sent is long and has a large amount of data, the original The data length of the data location and the number of digits of the serial number.
  • Step S220 performing data verification on the data packet.
  • the physical layer circuit (d2d phy) of the chip will check the data integrity of the data packet after receiving the data packet, and give an indication message rx_err to represent Data correctness in the packet.
  • the error in the data in the data packet can be expressed as the error in the data packet, which includes two cases, that is, there is an error in the position data of the packet header, or there is an error in the position data of the non-packet header.
  • the data packet also includes a check code
  • step S220 includes: determining a target verification method according to the type of the check code in the data packet, and performing a check on the data packet according to the target check method Data validation. That is to say, the data verification method of the data receiving end corresponds to the data processing of the data sending end. For example, if the data sending end adds a cyclic redundancy check code to the data, the data receiving end uses the corresponding cyclic redundancy check method for data verification; if the data sending end adds other check codes to the data, for example Parity check code, Hamming check code, etc., the data receiving end needs to use the corresponding check method to check the data packet.
  • Step S230 in response to the data packet passing the check, detect the serial number of the data packet, and generate a serial number detection result.
  • the sequence number in the data packet is detected according to the sequence number to be received, and a sequence number detection result is generated.
  • the sequence number to be received is the sequence number of the next data packet to be received from the corresponding data sending end. Since the sequence number to be received is maintained at the receiving end, the receiving end can judge whether the currently received data packet is abnormal by comparing the locally maintained sequence number to be received with the sequence number in the currently received data packet. For example, assuming that the sequence number of the last received data packet from the data sender is 5, then the sequence number of the next data packet to be received from the corresponding data sender is 6, that is, the sequence number to be received is 6. Then if the data transmission is normal, the sequence number in the currently received data packet should be 6.
  • a sequence number detection result is generated by comparing the relationship between the sequence number of the data packet and the sequence number to be received.
  • the sequence number detection result may be that the sequence number of the data packet is the same as the sequence number to be received, or the sequence number of the data packet is before the sequence number to be received, or the sequence number of the data packet is after the sequence number to be received.
  • the data packet fails the data integrity check of the physical layer circuit, that is, the data packet has an error
  • the data packet is filtered.
  • the data error in the data packet may occur in the middle position, the data is not completely received when the data error is detected, so in this embodiment, after waiting for a predetermined monitoring time, clear the remaining data packet, to ensure that bad packets are completely cleared.
  • the receiving end filters the wrong data packet, it may not be able to feed back the information of the wrong data packet to the sending end.
  • the data sending end is provided with a timeout mechanism. If the feedback information about the data packet is not received within a predetermined time, That is, it is determined that the data packet has an error, and the data packet is resent.
  • Step S240 generating feedback information according to the detection result of the serial number.
  • the feedback information includes the type of the data packet detection result and the sequence number of the last normal packet received from the corresponding data sending end.
  • the type of the detection result of the data packet is used to represent the detection result of the sequence number of the data packet, for example, the data is normal, the data is repeated, and the data is invalid.
  • the sequence number of the normal packet received last time corresponding to the data sender refers to the sequence number of a normal packet closest to the current time point. For example, suppose the sequence number of the currently received data packet is 5, and the previously received data packet is The sequence number of the normal packet is 4.
  • step S230 If the currently received data packet is determined to be a normal packet after step S230, the sequence number of the latest normal packet received from the corresponding data sender is 5. If it is determined through step S230 that the currently received data packet is not a normal packet, the sequence number of the last normal packet received from the corresponding data sending end is 4.
  • Fig. 5 is a schematic diagram of feedback information according to an embodiment of the present invention.
  • the feedback information 5 includes the message type (that is, the type of the data packet detection result) and the sequence number of the last normal packet received.
  • the message type in the feedback information 5 occupies 4 bits, and the sequence number occupies 12 bits. It should be understood that this embodiment does not limit this.
  • the message type corresponding to 1000 (binary representation) is set to indicate that the data packet received this time is a normal packet
  • the message type corresponding to 1001 is set to indicate that the data packet received this time is a duplicate packet
  • the message type corresponding to 1010 is set It indicates that the data packet received this time is an invalid packet, and other values are reserved for extended use.
  • the above settings are only exemplary, and are not limited by this embodiment.
  • step S240 includes: generating a first feedback message in response to the sequence number of the data packet being the same as the sequence number to be received.
  • the first feedback message indicates that the data packet is a normal packet.
  • information for feeding back the normal packet to the sending end may be further generated.
  • a first feedback message is generated, and feedback information is generated according to the first feedback message and the sequence number to be received .
  • the message type in the feedback information indicates that the data packet received this time is a normal packet
  • the sequence number in the feedback information is the sequence number of the normal packet sent by the data sending end received last time (that is, the current The sequence number of the received packet). For example, if the sequence number of the currently received data packet is 5, and the sequence number to be received is also 5, and the data packet is a normal packet, then the message type in the feedback information is 1000, and the sequence number is 5.
  • step S240 includes: generating a second feedback message in response to the sequence number of the data packet being smaller than the sequence number to be received.
  • the second feedback message is used to indicate that the data packet is a repeated packet.
  • the repeated packet can be filtered, and at the same time, information for feeding back the repeated packet to the sending end is generated, so that the sending end sends a normal data packet.
  • the sequence number detection result is that the sequence number of the data packet is smaller than the sequence number to be received
  • a second feedback message is generated, and the feedback information is generated according to the second feedback message and the sequence number to be received.
  • the message type in the feedback information indicates that the data packet received this time is a repeated packet
  • the sequence number in the feedback information is the sequence number of the last normal packet received (that is, the previous sequence number of the sequence number to be received). serial number).
  • the sequence number of the currently received data packet is 3, and the sequence number to be received is also 5.
  • the serial number to be received is 5, that is, the data receiving end has successfully received the data packet with the serial number 0-4 sent by the corresponding data sending end, that is, the currently received data packet with the serial number 3 is a duplicate packet , and the last time the sequence number of the normal packet received from the corresponding data sender is 4, the message type in the feedback information is 1001 and the sequence number is 4, to notify the corresponding data sender that it has successfully received the corresponding data sender.
  • a data packet with a sequence number of 0-4 makes the data sender send a data packet with a sequence number of 5.
  • step S240 includes: generating a third feedback message in response to the sequence number of the data packet being greater than the sequence number to be received.
  • the third feedback message is used to ensure that the data packet is an invalid packet.
  • the invalid packet can be filtered, and at the same time, information for feeding back the invalid packet to the sender is generated, so that the sender sends a normal data packet.
  • a third feedback message is generated, and feedback information is generated according to the third feedback message and the sequence number to be received.
  • the message type in the feedback information indicates that the data packet received this time is an invalid packet
  • the sequence number in the feedback information is the sequence number of the last normal packet received (that is, the previous sequence number of the sequence number to be received). serial number). For example, the sequence number of the currently received data packet is 7, and the sequence number to be received is also 5.
  • the serial number to be received is 5, that is, the data receiving end has successfully received the data packet with the serial number 0-4 sent by the corresponding data sending end, but has not received the data packet after the serial number 4, which is normal
  • the serial number of the currently received data packet should be 5, so the currently received data packet with a serial number of 7 is an invalid packet, and the latest received normal packet with a serial number of 4 from the corresponding data sender, then the The message type is 1010, the sequence number is 4, to notify the corresponding data sender that the data packet with the sequence number 0-4 sent by the corresponding data sender has been successfully received, so that the data sender sends the data packet with the sequence number 5 .
  • the data sending end does not need to execute the judgment logic of the sequence number of the data packet sent to the corresponding data receiving end last time and the sequence number received from the data received data packet or the heartbeat packet, which can Determine whether the BER phenomenon occurs based on its own timeout mechanism and the feedback information of the data receiving end, and send the correct data packet to the data receiving end based on the feedback information, or based on the last saved sequence sent to the corresponding data packet when the timeout mechanism is activated number to resend the corresponding data packet, that is, this embodiment only needs the data receiving end to execute the judgment logic of the serial number of the received data packet and the serial number to be received, which reduces the processing logic compared to the double processing logic of the prior art implementation complexity.
  • the embodiment of the present invention also avoids the situation of matching errors, and further The reliability of communication transmission is improved.
  • data verification is first performed on the received data packet, and the serial number of the data packet is detected after the data verification is passed, the serial number detection result is generated, and feedback information is generated and sent according to the serial number detection result, by Therefore, the reliability of data transmission can be improved.
  • FIG. 6 is a schematic diagram of an integrated circuit according to an embodiment of the present invention.
  • the integrated circuit 6 of the embodiment of the present invention includes a verification circuit 61 (equivalent to the d2d physical layer circuit 2122 in FIG. 1 ), an error packet filtering power supply 62 , a serial number monitoring unit 63 and a control unit 64 .
  • the control unit 64 further includes an information feedback module 644 .
  • the integrated circuit 6 further includes a timeout monitoring unit 65 .
  • the verification circuit 61 is equivalent to the d2d physical layer circuit 2122 in FIG.
  • Unit 65 is equivalent to the d2d control module 2121 in FIG. 1 .
  • the verification circuit 61 is configured to perform data verification on the received data packets to generate verification information.
  • the verification circuit 61 will perform data integrity verification on the data, and give an indication message rx_err to represent the correctness of the data in the data packet.
  • the data packet also includes a check code. The verification circuit 61 performs data verification on the received data packet by using a corresponding verification method based on the type of the verification code added to the data by the data sending end.
  • the data sending end adds a cyclic redundancy check code to the data
  • the data receiving end uses the corresponding cyclic redundancy check method for data verification
  • the data sending end adds other check codes to the data, for example Parity check code, Hamming check code, etc.
  • the data receiving end needs to use the corresponding check method to check the data packet.
  • the verification information includes a data packet rx_pkt and an indication message rx_err.
  • the data format of the data packet rx_pkt is shown in FIG. 4 , including original data and corresponding serial numbers.
  • the indication message rx_err is used to characterize the correctness of the data packet. For example, if the indication message rx_err is 1, it indicates that the data packet has an error, wherein the format of the data packet can be summarized as including the position of the header and the position of the non-header (that is, the position of the original data). error, or non-header location data is incorrect.
  • the indication message rx_err being 0 indicates that the data packet is correct, that is, the position data of the packet header is correct, and the position data of the non-packet header is correct.
  • the verification information also includes data indication information rx_valid and packet header indication information rx_head, which are used to further locate the error location.
  • the data indication information rx_valid is used to indicate whether the data packet is valid, wherein the valid data packet means that the original data position in the data packet or the packet header position in the data packet has data.
  • Packet header indication information rx_head is used to represent the packet header position.
  • the data indication information rx_valid is 1, it means that the original data position in the data packet or the header position in the data packet has data; if the data indication information rx_valid is 0, it means that the original data position in the data packet and the header position in the data packet are both no data.
  • Packet header indication information rx_head being 1 indicates that the currently received data is a packet header, that is, indicating the packet header position of the data packet; packet header indication information rx_head being 0 indicates that the currently received data is not a packet header, that is, indicating the non-packet header position of the data packet.
  • the verification circuit 61 verifies that the data in the data packet is wrong, the location of the data error can be determined through the data indication information rx_valid and the packet header indication information rx_head.
  • the verification circuit 61 sends the data packet rx_pkt, the indication message rx_err, the data indication information rx_valid and the packet header indication information rx_head to the error packet filtering unit 62 in parallel.
  • the above information may also be sent serially, or the above information is packaged and sent, which is not limited in this embodiment.
  • the error packet filtering unit 62 is configured to filter the data packet according to the above verification information. In an optional implementation manner, the error packet filtering unit 62 confirms whether there is an error in the data in the data packet according to the indication message rx_err, and if there is an error, filters the error information.
  • the error packet filtering unit 62 is further configured to send a data packet error message to the timeout monitoring unit 65 in response to the data packet being an error packet.
  • the timeout monitoring unit 65 is configured to reset the serial number detection unit and the information feedback module after a preset monitoring time in response to receiving a packet error message, so as to clear the error packet.
  • the timeout monitoring unit 65 After waiting for a predetermined monitoring time, reset the sequence number detection unit 63 and the information feedback module 644 to clear the remaining data packets therein, so as to ensure that the error data packets are completely cleared.
  • the data sending end is provided with a timeout mechanism. If the feedback information about the data packet is received after the predetermined time, it is determined that the data packet is wrong, and the data packet is resent.
  • the error packet filtering unit 62 confirms that there is no error in the data in the data packet according to the indication message rx_err, and then sends the data packet to the sequence number detection unit 63 .
  • the serial number detecting unit 63 is configured to detect the serial number of the received data packet, and generate a serial number detection result
  • the control unit 64 is configured to generate feedback information according to the serial number detection result.
  • the feedback information includes the type of the data packet detection result and the sequence number of the last normal packet received from the corresponding data sending end.
  • the serial number in the feedback information may also be a serial number to be received.
  • the type of the data packet detection result is used to represent the detection result of the serial number of the data, for example, the data is normal, the data is repeated, and the data is invalid.
  • the sequence number detection unit 63 detects the sequence number in the data packet according to the sequence number to be received, and generates a sequence number detection result.
  • the sequence number to be received is also the sequence number of the next data packet to be received from the corresponding data sending end. For example, assuming that the latest received data packet sequence number of the sending end is 5, the sequence number to be received is 6, that is, if the data transmission is normal, the sequence number in the currently received data packet should be 6.
  • the sequence number detection unit 63 generates a sequence number detection result by comparing the relationship between the sequence number of the data packet and the sequence number to be received.
  • the sequence number detection result may be that the sequence number of the data packet is the same as the sequence number to be received, or the sequence number of the data packet is smaller than the sequence number to be received, or the sequence number of the data packet is greater than the sequence number to be received.
  • control unit 64 includes an invalid packet filtering module 641 .
  • sequence number detection unit 63 is further configured to send the sequence number detection result to the invalid packet filtering module 641 in response to the sequence number detection result being that the sequence number of the data packet is greater than the sequence number to be received.
  • the invalid packet filtering module 641 is configured to generate a third feedback message according to the sequence number detection result. Wherein, the third feedback message indicates that the data packet is an invalid packet.
  • the invalid packet filtering module 641 is further configured to send a third feedback message to the information feedback module 644, and the information feedback module 644 generates feedback information according to the third feedback message and feeds back the information to the data sending end.
  • Feedback the message format of the feedback information is as shown in FIG. 5 .
  • the message type in the feedback information indicates that the data packet received this time is an invalid packet
  • the sequence number in the feedback information is the sequence number of the last normal packet received. For example, the sequence number of the currently received data packet is 7, and the sequence number to be received is also 5.
  • the serial number to be received is 5, that is, the data receiving end has successfully received the data packet with the serial number 0-4 sent by the corresponding data sending end, but has not received the data packet after the serial number 4, so the current
  • the received data packet with sequence number 7 is an invalid packet
  • the message type in the feedback information is 1010
  • the sequence number is 4, to notify the corresponding data sender that it has successfully received the sequence number sent by the corresponding data sender as 0
  • a data packet of -4 makes the data sender send a data packet with a sequence number of 5.
  • control unit 64 includes a repeated packet filtering module 642 .
  • sequence number detection unit 63 is further configured to send the sequence number detection result to the duplicate packet filtering module 642 in response to the sequence number detection result being that the sequence number of the data packet is smaller than the sequence number to be received.
  • the duplicate packet filtering module 642 is configured to generate a second feedback message according to the sequence number detection result. Wherein, the second feedback message indicates that the data packet is a repeated packet.
  • the repeated packet filtering module 642 is further configured to send a second feedback message to the information feedback module 644, and the information feedback module 644 generates feedback information according to the second feedback message and feeds back the information to the data sending end.
  • the message type in the feedback information indicates that the data packet received this time is a repeated packet
  • the sequence number in the feedback information is the sequence number of the last normal packet received. For example, the sequence number of the currently received data packet is 3, and the sequence number to be received is also 5.
  • the serial number to be received is 5, that is, the data receiving end has successfully received the data packet with the serial number 0-4 sent by the corresponding data sending end, that is, the currently received data packet with the serial number 3 is a duplicate packet
  • the message type in the feedback information is 1001
  • the sequence number is 4, to notify the corresponding data sender that it has successfully received the data packet with the sequence number 0-4 sent by the corresponding data sender, so that the data sender sends the sequence number for 5 packets.
  • control unit 64 includes a normal packet filtering module 643 .
  • the sequence number detection unit 63 is further configured to send the sequence number detection result to the normal packet filtering module 643 in response to the sequence number detection result being that the sequence number of the data packet is the same as the sequence number to be received.
  • the normal packet filtering module 643 is configured to generate a first feedback message according to the sequence number detection result. Wherein, the first feedback message indicates that the data packet is a normal packet.
  • the normal packet filtering module 643 is further configured to send the first feedback message to the information feedback module 644, and the information feedback module 644 generates feedback information according to the first feedback message and feeds back the information to the data sending end.
  • the message type in the feedback information indicates that the data packet received this time is a normal packet
  • the sequence number in the feedback information is the sequence number of the normal packet sent by the data sending end received last time (that is, the currently received packet sequence number). For example, if the sequence number of the currently received data packet is 5, and the sequence number to be received is also 5, then the message type in the feedback information is 1000, and the sequence number is 5.
  • the integrated circuit 6 of this embodiment further includes an SoC system 66 .
  • the normal packet filtering module 643 sends the data packet to the SoC system 66 to analyze or process the data packet.
  • the data sending end does not need to execute the judgment logic of the sequence number of the data packet sent to the corresponding data receiving end last time and the sequence number received from the data received data packet or the heartbeat packet, which can Determine whether the BER phenomenon occurs based on its own timeout mechanism and the feedback information of the data receiving end, and send the correct data packet to the data receiving end based on the feedback information, or based on the last saved sequence sent to the corresponding data packet when the timeout mechanism is activated number to resend the corresponding data packet, that is, this embodiment only needs the data receiving end to execute the judgment logic of the serial number of the received data packet and the serial number to be received, which reduces the processing logic compared to the double processing logic of the prior art implementation complexity.
  • the embodiment of the present invention also avoids the situation of matching errors, and further The reliability of communication transmission is improved.
  • data verification is first performed on the received data packet, and the serial number of the data packet is detected after the data verification is passed, the serial number detection result is generated, and feedback information is generated and sent according to the serial number detection result, by Therefore, the reliability of data transmission can be improved.
  • Fig. 7 is a schematic diagram of a communication system according to an embodiment of the present invention.
  • the communication system 7 of the embodiment of the present invention includes at least one integrated circuit 71 and at least one remote integrated circuit 72 .
  • the integrated circuit 71 may be the integrated circuit 6 in the above-mentioned embodiment, which will not be repeated here.
  • the remote integrated circuit 72 is configured to send data packets. In an optional implementation manner, the remote integrated circuit 72 is further configured to delete the sent normal packet or repeated packet in response to the sent data packet being a normal packet or a repeated packet.
  • the remote integrated circuit 72 receives the feedback information sent by the integrated circuit 71. If the message type in the feedback information indicates that the corresponding data packet is a normal packet or a repeated packet, that is, the data packet has been successfully sent to the integrated circuit 71. , then delete the data packet to release storage space, and at the same time, send the next data packet according to the sequence number in the feedback information. For example, if the sequence number in the feedback information is 5, then the data packet corresponding to the sequence number 6 is sent.
  • the remote integrated circuit 72 is further configured to send the next data packet according to the sequence number in the feedback information in response to the sent data packet being an invalid packet.
  • the remote integrated circuit 72 receives the feedback information sent by the integrated circuit 71. If the message type in the feedback information indicates that the corresponding data packet is an invalid packet, that is, the data packet before the data packet has not been successfully sent, then Send the next data packet according to the sequence number in the feedback information. For example, if the sequence number in the feedback information is 5, then the data packet corresponding to the sequence number 6 is sent.
  • the remote integrated circuit 72 is provided with a timeout mechanism.
  • the remote integrated circuit 72 is further configured to resend the data packet in response to not receiving feedback information about the data packet within a predetermined time, that is, determining that the data packet is erroneous.
  • the data sending end does not need to execute the judgment logic of the sequence number of the data packet sent to the corresponding data receiving end last time and the sequence number received from the data received data packet or the heartbeat packet, which can Determine whether the BER phenomenon occurs based on its own timeout mechanism and the feedback information of the data receiving end, and send the correct data packet to the data receiving end based on the feedback information, or based on the last saved sequence sent to the corresponding data packet when the timeout mechanism is activated number to resend the corresponding data packet, that is, this embodiment only needs the data receiving end to execute the judgment logic of the serial number of the received data packet and the serial number to be received, which reduces the processing logic compared to the double processing logic of the prior art implementation complexity.
  • the embodiment of the present invention also avoids the situation of matching errors, and further The reliability of communication transmission is improved.
  • Fig. 8 is an interactive flowchart of the communication method according to the embodiment of the present invention. As shown in FIG. 8, the interaction process of the communication method in this embodiment includes the following steps:
  • Step S1 the remote integrated circuit 72 sends the data packet a to the integrated circuit 71 .
  • the sequence number of data packet a is 7.
  • Step S2 The integrated circuit 71 performs data verification on the data packet a.
  • the specific verification method is similar to the foregoing embodiment, and will not be repeated here.
  • Step S3 The integrated circuit 71 detects the serial number of the data packet a in response to the data packet a passing the check.
  • the data packet a is detected according to the sequence number to be received calculated and determined by the integrated circuit 71, and the relationship between the sequence number of the data packet a and the sequence number to be received is determined.
  • Step S4 Assuming that the sequence number to be received is 6, the integrated circuit 71 generates corresponding feedback information a' in response to the sequence number 7 of the data packet a being greater than the sequence number 6 to be received.
  • the data type in the feedback information a' indicates that the data packet a is an invalid packet
  • the sequence number in the feedback information a' is the sequence number 5 of the last successfully received data packet.
  • Step S5 the integrated circuit 71 sends feedback information a′ to the remote integrated circuit 72 .
  • the remote integrated circuit 72 receives the feedback information a', determines that the data packet corresponding to the feedback information a' is an invalid packet, and determines the next data packet b to be sent according to the sequence number in the feedback information a'.
  • Step S6 the remote integrated circuit 72 sends the data packet b to the integrated circuit 71 .
  • the sequence number of data packet b is 6.
  • step S7 the integrated circuit 71 performs data verification on the data packet b, and detects the serial number of the data packet b after the data packet b passes the data verification.
  • the data packet b is detected according to the sequence number to be received calculated and determined by the integrated circuit 71, and the relationship between the sequence number of the data packet b and the sequence number to be received is determined.
  • the data packet a received last time is an invalid packet, so the serial number to be received is still 6, and the integrated circuit 71 responds that the serial number 6 of the data packet b is the same as the serial number 6 to be received, and generates corresponding feedback information b'.
  • the data type in the feedback information b' indicates that the data packet b is a normal packet
  • the sequence number in the feedback information b' is the sequence number 6 of the latest successfully received data packet
  • the integrated circuit 71 updates the sequence number to be received to 7.
  • Step S8 the integrated circuit 71 sends feedback information b′ to the remote integrated circuit 72 .
  • step S9 the remote integrated circuit 72 receives the feedback information b', determines that the data packet b corresponding to the feedback information b' is a normal packet, and the remote integrated circuit 72 deletes the corresponding data packet b.
  • Step S10 the remote integrated circuit 72 sends the data packet c to the integrated circuit 71 .
  • the sequence number of data packet c is 3.
  • Step S11 the integrated circuit 71 performs data verification on the data packet c, and detects the serial number of the data packet c after the data packet c passes the data verification.
  • the data packet c is detected according to the sequence number to be received calculated and determined by the integrated circuit 71, and the relationship between the sequence number of the data packet c and the sequence number to be received is determined.
  • the data packet b received last time is a normal packet, so the sequence number to be received is updated to 7, and the integrated circuit 71 generates corresponding feedback information c in response to the sequence number 3 of the data packet c being smaller than the sequence number 7 to be received '.
  • the data type in the feedback information c' indicates that the data packet c is a repeated packet
  • the sequence number in the feedback information c' is the sequence number 6 of the latest successfully received data packet.
  • Step S12 the integrated circuit 71 sends feedback information c′ to the remote integrated circuit 72 .
  • step S13 the remote integrated circuit 72 receives the feedback information c', determines that the data packet c corresponding to the feedback information c' is a duplicate packet, and the remote integrated circuit 72 deletes the corresponding data packet c.
  • step S14 the remote integrated circuit 72 sends the data packet a to the integrated circuit 71 based on the feedback information c′.
  • the remote integrated circuit 72 determines the sequence number of the last successfully sent data packet as 6 according to the sequence number in the feedback information c', and then determines the sequence number of the next data packet to be sent as 7, that is, data packet a.
  • step S15 the integrated circuit 71 performs data verification on the received data packet a, and filters the data packet a in response to the fact that the data packet a fails the verification.
  • step S16 the remote integrated circuit 72 resends the data packet a to the integrated circuit 71 in response to not receiving the corresponding feedback information within a predetermined time.
  • this embodiment firstly, data verification is performed on the received data packet, and after the data verification is passed, the serial number of the data packet is detected to generate a serial number detection result, and generate and send the serial number according to the serial number detection result.
  • Feedback information thus, can accurately determine data packets with data errors, received normal packets, invalid packets and duplicate packets, and then can prompt the data sending end to resend normal packets, thus, this embodiment can improve the efficiency of data transmission reliability.

Abstract

Disclosed in the embodiments of the present invention are an integrated circuit, a communication method, and a communication system. The method in the embodiments of the present invention comprises: first, performing data verification on a received data packet; detecting the serial number of the data packet after data verification is passed, so as to generate a serial number detection result; and generating feedback information according to the serial number detection result, and sending the feedback information. Therefore, the reliability of data transmission can be improved.

Description

集成电路、通信方法和通信系统Integrated circuit, communication method and communication system
本申请要求了2021年8月16日提交的、申请号为2021109390652、发明名称为“集成电路、通信方法和通信系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with application number 2021109390652 and titled "Integrated Circuit, Communication Method and Communication System" filed on August 16, 2021, the entire contents of which are incorporated by reference in this application.
技术领域technical field
本发明涉及通信技术领域,更具体地,涉及一种集成电路、通信方法和通信系统。The present invention relates to the technical field of communication, and more specifically, to an integrated circuit, a communication method and a communication system.
背景技术Background technique
随着人工智能高速发展,人类正进入全面智能时代。在全面智能的背景下,相应硬件设备需要处理的数据量越来越大,对硬件计算能力的需求也越来越强。目前,为了提高硬件计算能力,集成电路应用广泛,因此如何提高集成电路中各端之间的数据传输可靠性是至关重要的。With the rapid development of artificial intelligence, human beings are entering the era of comprehensive intelligence. In the context of comprehensive intelligence, the amount of data that corresponding hardware devices need to process is increasing, and the demand for hardware computing power is also increasing. At present, integrated circuits are widely used in order to improve hardware computing capabilities, so how to improve the reliability of data transmission between terminals in the integrated circuit is crucial.
发明内容Contents of the invention
有鉴于此,本发明实施例提供一种集成电路、通信方法和通信系统,以提高数据传输的可靠性。In view of this, embodiments of the present invention provide an integrated circuit, a communication method, and a communication system, so as to improve the reliability of data transmission.
第一方面,本发明实施例提供一种通信方法,所述方法包括:In a first aspect, an embodiment of the present invention provides a communication method, the method comprising:
接收数据包;receive packets;
对所述数据包进行数据校验;Perform data verification on the data packet;
响应于所述数据包通过校验,对所述数据包的序列号进行检测,生成序列号检测结果;In response to the data packet passing the verification, detecting the serial number of the data packet, and generating a serial number detection result;
根据所述序列号检测结果生成反馈信息。Generate feedback information according to the serial number detection result.
可选的,根据所述序列号检测结果生成反馈信息包括:Optionally, generating feedback information according to the serial number detection result includes:
响应于所述数据包的序列号与待接收序列号相同,生成第一反馈消息,所述第一反馈消息表征所述数据包为正常包;In response to the sequence number of the data packet being the same as the sequence number to be received, generating a first feedback message, the first feedback message indicates that the data packet is a normal packet;
根据所述第一反馈消息和所述待接收序列号生成反馈信息。Generate feedback information according to the first feedback message and the sequence number to be received.
可选的,根据所述序列号检测结果生成反馈信息包括:Optionally, generating feedback information according to the serial number detection result includes:
响应于所述数据包的序列号小于待接收序列号,生成第二反馈消息,所述第二反馈消息用于表征所述数据包为重复包;In response to the sequence number of the data packet being smaller than the sequence number to be received, generating a second feedback message, the second feedback message is used to indicate that the data packet is a duplicate packet;
根据所述第二反馈消息和所述待接收序列号生成反馈信息。Generate feedback information according to the second feedback message and the sequence number to be received.
可选的,根据所述序列号检测结果生成反馈信息包括:Optionally, generating feedback information according to the serial number detection result includes:
响应于所述数据包的序列号大于待接收序列号,生成第三反馈消息,所述第三反馈消息用于表征所述数据包为无效包;In response to the sequence number of the data packet being greater than the sequence number to be received, generating a third feedback message, the third feedback message is used to indicate that the data packet is an invalid packet;
根据所述第三反馈消息和所述待接收序列号生成反馈信息。Generate feedback information according to the third feedback message and the sequence number to be received.
可选的,所述反馈信息包括数据包检测结果的类型和最近一次接收到的对应数据发送端的正常包的序列号。Optionally, the feedback information includes the type of the data packet detection result and the sequence number of the last received normal packet corresponding to the data sending end.
可选的,对所述数据包进行数据校验包括:Optionally, performing data verification on the data packet includes:
根据所述数据包中的校验码的类型确定目标校验方法;Determine the target verification method according to the type of the verification code in the data packet;
根据所述目标校验方法对所述数据包进行数据校验。Perform data verification on the data packet according to the target verification method.
可选的,所述方法还包括:Optionally, the method also includes:
响应于所述数据包未通过校验,过滤所述数据包。In response to the data packet failing the check, the data packet is filtered.
第二方面,本发明实施例提供一种集成电路,所述集成电路包括:In a second aspect, an embodiment of the present invention provides an integrated circuit, and the integrated circuit includes:
校验电路,被配置为对接收到的数据包进行数据校验,生成校验信息;The verification circuit is configured to perform data verification on the received data packet and generate verification information;
错误包过滤单元,被配置为根据所述校验信息对所述数据包进行过滤;An error packet filtering unit configured to filter the data packets according to the verification information;
序列号检测单元,被配置为对接收到的数据包的序列号进行检测,生成序列号检测结果;以及A serial number detection unit configured to detect the serial number of the received data packet and generate a serial number detection result; and
控制单元,被配置为根据所述序列号检测结果生成并发送反馈信息。A control unit configured to generate and send feedback information according to the serial number detection result.
可选的,所述控制单元包括正常包过滤模块;Optionally, the control unit includes a normal packet filtering module;
所述序列号检测单元进一步被配置为响应于所述序列号检测结果为所述数据包的序列号与待接收序列号相同,将所述序列号检测结果发送至所述正常包过滤模块;The sequence number detection unit is further configured to send the sequence number detection result to the normal packet filtering module in response to the sequence number detection result being that the sequence number of the data packet is the same as the sequence number to be received;
所述正常包过滤模块被配置为根据所述序列号检测结果生成第一反馈消息,所述第一反馈消息表征所述数据包为正常包。The normal packet filtering module is configured to generate a first feedback message according to the sequence number detection result, and the first feedback message indicates that the data packet is a normal packet.
可选的,所述控制单元包括重复包过滤模块;Optionally, the control unit includes a repeated packet filtering module;
所述序列号检测单元进一步被配置为响应于所述序列号检测结果为所述数据包的序列号小于待接收序列号,将所述序列号检测结果发送至所述重复包过滤模块;The sequence number detection unit is further configured to send the sequence number detection result to the duplicate packet filtering module in response to the sequence number detection result being that the sequence number of the data packet is smaller than the sequence number to be received;
所述重复包过滤模块被配置为根据所述序列号检测结果生成第二反馈消息,所述第二反馈消息表征所述数据包为重复包。The duplicate packet filtering module is configured to generate a second feedback message according to the sequence number detection result, and the second feedback message indicates that the data packet is a duplicate packet.
可选的,所述控制单元包括无效包过滤模块;Optionally, the control unit includes an invalid packet filtering module;
所述序列号检测单元进一步被配置为响应于所述序列号检测结果为所述数据包的序列号大于待接收序列号,将所述序列号检测结果发送至所述无效包过滤模块;The sequence number detection unit is further configured to send the sequence number detection result to the invalid packet filtering module in response to the sequence number detection result being that the sequence number of the data packet is greater than the sequence number to be received;
所述无效包过滤模块被配置为根据所述序列号检测结果生成第三反馈消息,所述第三反馈消息表征所述数据包为无效包。The invalid packet filtering module is configured to generate a third feedback message according to the sequence number detection result, and the third feedback message indicates that the data packet is an invalid packet.
可选的,所述控制单元包括:Optionally, the control unit includes:
信息反馈模块,被配置为生成并发送所述反馈信息,所述反馈信息包括数据包检测结果的类型和最近一次接收到的对应数据发送端的正常包的序列号。The information feedback module is configured to generate and send the feedback information, the feedback information includes the type of the data packet detection result and the sequence number of the last received normal packet corresponding to the data sending end.
可选的,所述集成电路还包括超时监测单元;Optionally, the integrated circuit also includes a timeout monitoring unit;
所述错误包过滤单元还被配置为响应于所述数据包为错误包,将数据包错误消息发送至所述超时监测单元;The error packet filtering unit is also configured to send a data packet error message to the timeout monitoring unit in response to the data packet being an error packet;
超时监测单元,被配置为响应于接收到数据包错误的消息,在预设监测时间后将所述序列号检测单元和所述信息反馈模块进行复位,以清除错误包。The timeout monitoring unit is configured to reset the sequence number detection unit and the information feedback module after a preset monitoring time in response to receiving a packet error message, so as to clear the error packet.
可选的,所述校验电路进一步被配置根据所述数据包中的校验码的类型确定目标校验方法,根据所述目标校验方法对所述数据包进行数据校验。Optionally, the verification circuit is further configured to determine a target verification method according to the type of the verification code in the data packet, and perform data verification on the data packet according to the target verification method.
第三方面,本发明实施例提供一种通信系统,所述通信系统包括:In a third aspect, an embodiment of the present invention provides a communication system, and the communication system includes:
至少一个如上所述的集成电路;以及at least one integrated circuit as described above; and
至少一个远端集成电路,被配置为发送数据包。At least one remote integrated circuit configured to transmit data packets.
可选的,所述远端集成电路还被配置响应于发送的数据包为正常包或重复包,删除发送过的正常包或重复包。Optionally, the remote integrated circuit is further configured to delete the sent normal packet or repeated packet in response to the sent data packet being a normal packet or a repeated packet.
可选的,所述远端集成电路还被配置响应于发送的数据包为无效包,根据反馈信息中的序列号发送下一数据包。Optionally, the remote integrated circuit is further configured to send the next data packet according to the sequence number in the feedback information in response to the sent data packet being an invalid packet.
本发明实施例首先对接收到的数据包进行数据校验,在数据校验通过后对数据包的序列号进行检测,生成序列号检测结果,并根据序列号检测结果生成并发送反馈信息,由此,可以提高数据传输的可靠性。In the embodiment of the present invention, data verification is first performed on the received data packet, and the serial number of the data packet is detected after the data verification is passed, the serial number detection result is generated, and feedback information is generated and sent according to the serial number detection result, by Therefore, the reliability of data transmission can be improved.
附图说明Description of drawings
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:Through the following description of the embodiments of the present invention with reference to the accompanying drawings, the above and other objects, features and advantages of the present invention will be more clear, in the accompanying drawings:
图1是相关技术的d2d系统的示意图;FIG. 1 is a schematic diagram of a d2d system in the related art;
图2是相关技术的通信方法的流程图;FIG. 2 is a flow chart of a communication method in the related art;
图3是本发明实施例的通信方法的流程图;Fig. 3 is a flowchart of a communication method according to an embodiment of the present invention;
图4是本发明实施例的数据包的示意图;Fig. 4 is the schematic diagram of the data packet of the embodiment of the present invention;
图5是本发明实施例的反馈信息的示意图;Fig. 5 is a schematic diagram of feedback information according to an embodiment of the present invention;
图6是本发明实施例的集成电路的示意图;6 is a schematic diagram of an integrated circuit according to an embodiment of the present invention;
图7是本发明实施例的通信系统的示意图;FIG. 7 is a schematic diagram of a communication system according to an embodiment of the present invention;
图8是本发明实施例的通信方法的交互流程图;FIG. 8 is an interaction flowchart of a communication method according to an embodiment of the present invention;
图9是本发明实施例的数据校验示意图。FIG. 9 is a schematic diagram of data verification according to an embodiment of the present invention.
具体实施方式Detailed ways
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。The present invention is described below based on examples, but the present invention is not limited to these examples. In the following detailed description of the invention, some specific details are set forth in detail. The present invention can be fully understood by those skilled in the art without the description of these detailed parts. In order not to obscure the essence of the present invention, well-known methods, procedures, procedures, components and circuits have not been described in detail.
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。Additionally, those of ordinary skill in the art will appreciate that the drawings provided herein are for illustrative purposes and are not necessarily drawn to scale.
除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。Unless the context clearly requires, the words "including", "including" and similar words in the description should be interpreted as inclusive rather than exclusive or exhaustive; that is, "including but not limited to".
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。In the description of the present invention, it should be understood that the terms "first", "second" and so on are used for descriptive purposes only, and cannot be interpreted as indicating or implying relative importance. In addition, in the description of the present invention, unless otherwise specified, "plurality" means two or more.
在硬件设备中,集成电路作为主要部件,而芯片大多是集成电路的核心。由此,芯片的工艺,计算能力,决定了硬件产品的数据处理上限。随着摩尔定律的发展,芯片设计和制造越来越接近摩尔定律的极限,但硬件数据处理需求还在不断攀升。其中,摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔提出的,其内容为:集成电路上可以容纳的晶体管数目大约每隔两年便会增加一倍。在此背景下,芯片的小形化(chiplet),多芯片裸片(die)封装化成为了未来处理大数据的硬件设计趋势。In hardware devices, integrated circuits are the main components, and chips are mostly the core of integrated circuits. Therefore, the chip technology and computing power determine the upper limit of data processing of hardware products. With the development of Moore's Law, chip design and manufacturing are getting closer and closer to the limit of Moore's Law, but the demand for hardware data processing is still rising. Among them, Moore's Law was proposed by Gordon Moore, one of the founders of Intel (Intel), and its content is: the number of transistors that can be accommodated on an integrated circuit will double approximately every two years. In this context, the miniaturization of chips (chiplets) and the packaging of multi-chip dies (die) have become the future hardware design trends for processing big data.
小芯片封装,即将多个芯片裸片封装成一个芯片(chip),可以提升芯片的量产良率,降低设计风险。不同的芯片裸片相当于不同的小芯片系统,而在不同的小芯片中,可能有不同的数据源需要和不同的芯片进行数据通信,在实际中,不同芯片裸片中的数据源都要通过die to die(d2d,裸片到裸片)子系统进行通信,而d2d间的通信模块,往往要用到模拟器件,模拟器件在通信过程中会有BER(Bit error rate,误码率)的存在,因此当出现错误时候,接收端如何正确丢掉出错的数据,保证接收数据的完整性,成为芯片间可靠传输的关键。Small chip packaging, that is, packaging multiple chip dies into one chip (chip), can improve the mass production yield of chips and reduce design risks. Different chip dies are equivalent to different small chip systems, and in different small chips, there may be different data sources that need to communicate with different chips. In practice, the data sources in different chip dies must be Communication is carried out through the die to die (d2d, bare chip to bare chip) subsystem, and the communication module between d2d often uses analog devices, and analog devices will have BER (Bit error rate, bit error rate) in the communication process Therefore, when an error occurs, how to correctly discard the erroneous data at the receiving end and ensure the integrity of the received data becomes the key to reliable transmission between chips.
图1是相关技术的d2d系统的示意图。如图1所示,d2d系统1包括两个芯片21和22,每个芯片内部主要包括SoC逻辑(System on Chip,片上系统)和d2d子系统逻辑(d2d subsys)。以芯片21为例,芯片21包括SoC211和d2d子系统逻辑212。d2d子系统逻辑212包括d2d控制模块2121和d2d物理层电路2122。其中,d2d控制模块为控制器数字电路逻辑(d2d controller)。FIG. 1 is a schematic diagram of a related art d2d system. As shown in FIG. 1, the d2d system 1 includes two chips 21 and 22, and each chip mainly includes SoC logic (System on Chip, system on chip) and d2d subsystem logic (d2d subsys). Taking chip 21 as an example, chip 21 includes SoC 211 and d2d subsystem logic 212 . The d2d subsystem logic 212 includes a d2d control module 2121 and a d2d physical layer circuit 2122 . Wherein, the d2d control module is a controller digital circuit logic (d2d controller).
芯片21和芯片22通过d2d subsys进行数据传输通信。而d2d subsys中的d2d物理层电路(d2d phy)在高速数据传输中会存在BER现象,也即不能保证传输的数据100%正确,因此在接收端将有一定概率出错,对于出错数据的丢帧处理,是保证接收端数据处理可靠的关键。 Chip 21 and chip 22 perform data transmission and communication through d2d subsys. However, the d2d physical layer circuit (d2d phy) in d2d subsys will have a BER phenomenon in high-speed data transmission, that is, it cannot guarantee that the transmitted data is 100% correct, so there will be a certain probability of error at the receiving end, and frame loss for erroneous data Processing is the key to ensure reliable data processing at the receiving end.
图2是相关技术的通信方法的流程图。如图2所示,相关技术的通信方法包括以下步骤:FIG. 2 is a flowchart of a communication method in the related art. As shown in Figure 2, the communication method of the related art includes the following steps:
步骤S110,芯片A接收来自芯片B的数据包或心跳包。其中,数据包为包含数据信息和ID(IDentity)信息,心跳包仅包含ID信息。在通信传输中,可通过周期性发送心跳包以通过心跳包中的ID信息进行丢包检测。其中,ID信息也即数据包或心跳包的序列号,用于标识数据包或心跳包。In step S110, chip A receives a data packet or a heartbeat packet from chip B. Wherein, the data packet contains data information and ID (IDentity) information, and the heartbeat packet only contains ID information. In the communication transmission, the heartbeat packet can be periodically sent to detect packet loss through the ID information in the heartbeat packet. Wherein, the ID information is the serial number of the data packet or the heartbeat packet, and is used to identify the data packet or the heartbeat packet.
步骤S120,芯片A读取心跳包或数据包中的ID信息,用于与最近一次发送芯片B的数据包ID进行比较。其中,芯片A会向芯片B发送数据包,并维护向芯片B发送的数据包的ID。该最近一次发送芯片B的数据包ID,是指距当前最近一次芯片A向芯片B发送的数据包的ID信息。In step S120, chip A reads the ID information in the heartbeat packet or data packet, and compares it with the ID information of the data packet sent by chip B last time. Among them, chip A will send data packets to chip B, and maintain the ID of the data packets sent to chip B. The latest data packet ID sent by chip B refers to the ID information of the data packet sent by chip A to chip B last time.
步骤S130,判断芯片A读取的心跳包或数据包中的ID信息是否与芯片A中存储的其最近一次发送给芯片B的数据包ID是否相等,若相等,执行步骤S140,若不相等,执行步骤S150。Step S130, determine whether the ID information in the heartbeat packet or data packet read by chip A is equal to the ID information of the data packet stored in chip A and sent to chip B last time, if they are equal, execute step S140, if not, Execute step S150.
在相关技术中,芯片A向芯片B发送数据包a后,存储该数据包a的ID信息,芯片B接收到该数据包a后,向芯片A发送数据包b(或心跳包b),该数据包b(或心跳包b)中包含其最近接收到的来自芯片A的数据包a的ID信息,由此,芯片A可以通过判断存储中的数据包a的ID信息与接收到的数据包b中的ID信息是否一致,来确定芯片B是否成功接收到了其最近一次发送的数据包,以保证通信传输的可靠性。In the related technology, after chip A sends data packet a to chip B, it stores the ID information of the data packet a, and after receiving the data packet a, chip B sends data packet b (or heartbeat packet b) to chip A, the The data packet b (or heartbeat packet b) contains the ID information of the data packet a recently received from chip A, so chip A can judge the ID information of the data packet a in storage and the received data packet Whether the ID information in b is consistent is to determine whether chip B has successfully received the data packet it sent last time, so as to ensure the reliability of communication transmission.
步骤S140,确定芯片B成功接收到芯片A最近一次发送的数据包,芯片A更新对应的ID信息并添加到下一次发送给芯片B的数据包中。也就是说,在芯片A接收到的数据包的ID信息与其存储的最近一次发送给芯片B的数据包的ID相等时,确定芯片B成功接收到了芯片A最近一次发送的数据包,芯片A更新对应的ID信息并添加到下一次发送给芯片B的数据包中。例如,假设ID信息是根据发送数据包的数量依次累加,芯片A中存储的最近一次发送给芯片B的数据包的ID信息为5,接收到来自芯片B的数据包的ID信息也为5,则确定芯片B成功接收到芯片A最近一次发送的数据包,且在芯片A下一次发送给芯片B的数据包时,芯片A将对应的ID信息更新为6,并将该更新后的ID信息6添加至下一次发送给芯片B的数据包中,以用于对该下一次发送的数据包的可靠性进行判断。In step S140, it is determined that chip B has successfully received the latest data packet sent by chip A, and chip A updates the corresponding ID information and adds it to the next data packet sent to chip B. That is to say, when the ID information of the data packet received by chip A is equal to the last stored ID of the data packet sent to chip B, it is determined that chip B has successfully received the data packet sent by chip A last time, and chip A updates The corresponding ID information is added to the data packet sent to chip B next time. For example, assuming that the ID information is accumulated sequentially according to the number of sent data packets, the ID information of the last data packet sent to chip B stored in chip A is 5, and the ID information of the data packet received from chip B is also 5, Then it is determined that chip B has successfully received the data packet sent by chip A last time, and when chip A sends the data packet to chip B next time, chip A will update the corresponding ID information to 6, and the updated ID information 6 is added to the data packet sent to chip B next time, so as to judge the reliability of the data packet sent next time.
步骤S150,确定芯片B未接收到芯片B最近一次发送的数据包,芯片A更新对应的ID信息并添加到最近一次发送的数据包中,将该数据包发送给芯片B。也就是说,在芯片A接收到的数据包的ID信息与其存储的最近一次发送给芯片B的数据包的ID不相等时,确定芯片B未接收到芯片A最近一次发送的数据包,芯片A更新对应的ID信息并添加到最近一次发送的数据包中,将该数据包发送给芯片B。例如,同样假设ID信息是根据发送数据包的数量依次累加,芯片A中存储的最近一次发送的ID信息为5,接收到来自芯片B的数据包的ID信息为4,则确定芯片B只接收到芯片A发送的确认ID为4对应的数据,未接收到芯片A最近一次发送的ID信息为5对应的数据包,也即产生了丢包现象。正常发送时需要将该ID信息加一后发送,此时,芯片A将对应的ID信息更新为5,即保持不变,并将该更新后的ID信息5添加到最近一次发送的数据包中,将该数据包发送给芯片B,也即重新向芯片B发送最近一次发送的数据包。Step S150, determining that chip B has not received the latest data packet sent by chip B, chip A updates the corresponding ID information and adds it to the latest data packet sent, and sends the data packet to chip B. That is to say, when the ID information of the data packet received by chip A is not equal to the ID information of the last data packet sent to chip B stored by chip A, it is determined that chip B has not received the data packet sent by chip A last time, and chip A Update the corresponding ID information and add it to the data packet sent last time, and send the data packet to chip B. For example, it is also assumed that the ID information is accumulated sequentially according to the number of data packets sent, the last ID information stored in chip A is 5, and the ID information of the data packet received from chip B is 4, then it is determined that chip B only receives The data corresponding to the acknowledgment ID sent by chip A is 4, and the data packet corresponding to the ID information sent by chip A last time is 5 is not received, that is, packet loss occurs. When sending normally, it is necessary to add one to the ID information before sending. At this time, chip A updates the corresponding ID information to 5, which remains unchanged, and adds the updated ID information 5 to the last sent data packet. , to send the data packet to chip B, that is, to resend the last sent data packet to chip B.
在相关技术中,通信两端的芯片均在本地记录对方发送过的数据包的ID以及本地最近向对方发送的数据包的ID,通过对比以确定是否存在丢包现象,从而提高通信的可靠性。但是这种方式需要双倍处理逻辑增加了实现复杂度。并且,在片间大数据通信且片间延迟较大的时候,例如数据发送端连续发送ID=0,1,2的数据包,此时芯片发送端本地记录的是ID=2,由于延迟问题,在0到达接收芯片时候,数据包1,2已经从发送芯片发出,且在发送的路上,接收端只接收到的ID=0数据包,则接收端接收的包ID=0,即数据包1,2已从发送端发出但接收端还未收到,此时接收端要 向发送端反馈的数据包的ID=0,而发送端本地记录的是ID=2,进而会出现发送端ID统计匹配错误,因此这种方式通信传输的可靠性较低。由此,本实施例提供一种集成电路、通信方法和通信系统,以提供通信传输的可靠性。In the related technology, the chips at both ends of the communication record locally the IDs of the data packets sent by the other party and the IDs of the data packets recently sent to the other party locally, and determine whether there is packet loss through comparison, thereby improving the reliability of communication. However, this method requires double processing logic and increases the implementation complexity. Moreover, when there is large inter-chip data communication and the inter-chip delay is large, for example, the data sending end continuously sends data packets with ID=0, 1, and 2. At this time, the chip sending end records ID=2 locally. Due to the delay problem , when 0 arrives at the receiving chip, data packets 1 and 2 have been sent from the sending chip, and on the way of sending, the receiving end only receives the ID=0 data packet, then the receiving end receives the packet ID=0, that is, the data packet 1, 2 has been sent from the sender but the receiver has not yet received it. At this time, the ID of the data packet that the receiver wants to feed back to the sender is ID = 0, while the local record of the sender is ID = 2, and then the ID of the sender will appear Statistical matching errors, so the reliability of communication transmission in this way is low. Therefore, this embodiment provides an integrated circuit, a communication method and a communication system, so as to improve the reliability of communication transmission.
图3是本发明实施例的通信方法的流程图。如图3所示,本实施例的通信方法包括以下步骤:Fig. 3 is a flowchart of a communication method according to an embodiment of the present invention. As shown in Figure 3, the communication method of this embodiment includes the following steps:
步骤S210,接收数据包。以d2d系统为例,芯片接收远端芯片发送的数据包。其中,数据包中包括原始数据和对应的序列号,该原始数据是指待传输的数据。其中,数据包的格式可概述为包括包头位置和非包头位置,非包头位置即为原始数据位置,包头位置中的数据为数据包的控制信息,例如包类型、包长度、序列号等信息。Step S210, receiving a data packet. Taking the d2d system as an example, the chip receives data packets sent by the remote chip. Wherein, the data packet includes original data and a corresponding serial number, and the original data refers to data to be transmitted. Among them, the format of the data packet can be summarized as including the header position and the non-header position, the non-header position is the original data position, and the data in the header position is the control information of the data packet, such as packet type, packet length, serial number and other information.
图4是本发明实施例的数据包的示意图。如图4所示,数据包4中的原始数据的数据长度可以为0~1024DW(Data word,字长度,4个字节)之间的任一长度。数据包4中的序列号的长度可以为12bit,也即序列号可以为0~4095(十进制表示)。应理解,本实施例中的数据包结构仅仅为示例性的,其数据长度及序列号可以基于具体应用场景进行设置,若发送的原始数据较长并且数据量较多,则可适应性扩大原始数据所在位置的数据长度以及序列号的位数。Fig. 4 is a schematic diagram of a data packet according to an embodiment of the present invention. As shown in Figure 4, the data length of the original data in the data packet 4 can be any length between 0 and 1024DW (Data word, word length, 4 bytes). The length of the serial number in the data packet 4 may be 12 bits, that is, the serial number may be 0-4095 (decimal notation). It should be understood that the data packet structure in this embodiment is only exemplary, and its data length and serial number can be set based on specific application scenarios. If the original data sent is long and has a large amount of data, the original The data length of the data location and the number of digits of the serial number.
步骤S220,对该数据包进行数据校验。Step S220, performing data verification on the data packet.
在一种可选的实现方式中,以d2d系统为例,芯片的物理层电路(d2d phy)接收数据包后会对该数据包进行数据完整性校验,并给出指示消息rx_err,以表征数据包中的数据正确性。其中,数据包中的数据有错误可表述为数据包有错误,其包括两种情况,即包头位置数据有错误,或者非包头位置数据有错误。In an optional implementation, taking the d2d system as an example, the physical layer circuit (d2d phy) of the chip will check the data integrity of the data packet after receiving the data packet, and give an indication message rx_err to represent Data correctness in the packet. Wherein, the error in the data in the data packet can be expressed as the error in the data packet, which includes two cases, that is, there is an error in the position data of the packet header, or there is an error in the position data of the non-packet header.
在一种可选的实现方式中,数据包中还包括校验码,步骤S220包括:根据该数据包中的校验码的类型确定目标校验方法,根据目标校验方法对该数据包进行数据校验。也就是说,数据接收端的数据校验方法与数据发送端对数据的处理相对应。例如,若数据发送端在数据中加入循环冗余校验码,则数据接收端采用相对应的循环冗余校验方法进行数据校验,若数据发送端在数据中加入其他校验码,例如奇偶校验码、海明校验码等,则数据接收端需要采用相对应的校验方法对数据包进行数据校验。In an optional implementation, the data packet also includes a check code, and step S220 includes: determining a target verification method according to the type of the check code in the data packet, and performing a check on the data packet according to the target check method Data validation. That is to say, the data verification method of the data receiving end corresponds to the data processing of the data sending end. For example, if the data sending end adds a cyclic redundancy check code to the data, the data receiving end uses the corresponding cyclic redundancy check method for data verification; if the data sending end adds other check codes to the data, for example Parity check code, Hamming check code, etc., the data receiving end needs to use the corresponding check method to check the data packet.
步骤S230,响应于该数据包通过校验,对该数据包的序列号进行检测,生成序列号检测结果。Step S230, in response to the data packet passing the check, detect the serial number of the data packet, and generate a serial number detection result.
在一种可选的实现方式中,在数据包通过数据完整性校验后,根据待接收序列号对该数据包中的序列号进行检测,生成序列号检测结果。其中,待接收序列号为下一个待接收的来自对应数据发送端的数据包的序列号。由于该待接收序列号是在接收端维护的,因此接收端可以通过将该本地维护的待接收序列号与当前接收的数据包中的序列号比较,来判断当前接收的数据包是否异常。例如,假设最近一次接收到的数据发送端的数据包的序列号为5,则下一个待接收的来自对应数据发送端的数据包的序列号为6,即待接收序列号为6。则如果数据传输无异常的话,当前接收到的数据包中的序列号应该是6。In an optional implementation manner, after the data packet passes the data integrity check, the sequence number in the data packet is detected according to the sequence number to be received, and a sequence number detection result is generated. Wherein, the sequence number to be received is the sequence number of the next data packet to be received from the corresponding data sending end. Since the sequence number to be received is maintained at the receiving end, the receiving end can judge whether the currently received data packet is abnormal by comparing the locally maintained sequence number to be received with the sequence number in the currently received data packet. For example, assuming that the sequence number of the last received data packet from the data sender is 5, then the sequence number of the next data packet to be received from the corresponding data sender is 6, that is, the sequence number to be received is 6. Then if the data transmission is normal, the sequence number in the currently received data packet should be 6.
可选的,通过比较该数据包的序列号与待接收序列号的关系,以生成序列号检测结果。其中,序列号检测结果可以为该数据包的序列号与待接收序列号相同、或该数据包的序列号位于待接收序列号之前、或该数据包的序列号位于待接收序列号之后。Optionally, a sequence number detection result is generated by comparing the relationship between the sequence number of the data packet and the sequence number to be received. Wherein, the sequence number detection result may be that the sequence number of the data packet is the same as the sequence number to be received, or the sequence number of the data packet is before the sequence number to be received, or the sequence number of the data packet is after the sequence number to be received.
在一种可选的实现方式中,若该数据包未通过物理层电路的数据完整性校验,即该数据包存在错误,则过滤该数据包。进一步可选的,由于数据包中的数据错误可能发生在中间位置,检测到数据错误时数据并未接收完全,因此在本实施例中,在等待预定的监测时间后,清除残留的数据包,以确保完全清除错误数据包。接收端将错误的数据包过滤后可能无法向发送端反馈该错误的数据包的信息,可选的,数据发送端设置有超时机制,若超过预定时间未接收到关于该数据包的反馈信息,即确定该数据 包出错,重新发送该数据包。In an optional implementation manner, if the data packet fails the data integrity check of the physical layer circuit, that is, the data packet has an error, the data packet is filtered. Further optionally, since the data error in the data packet may occur in the middle position, the data is not completely received when the data error is detected, so in this embodiment, after waiting for a predetermined monitoring time, clear the remaining data packet, to ensure that bad packets are completely cleared. After the receiving end filters the wrong data packet, it may not be able to feed back the information of the wrong data packet to the sending end. Optionally, the data sending end is provided with a timeout mechanism. If the feedback information about the data packet is not received within a predetermined time, That is, it is determined that the data packet has an error, and the data packet is resent.
步骤S240,根据序列号检测结果生成反馈信息。可选的,反馈信息包括数据包检测结果的类型和最近一次接收到对应数据发送端的正常包的序列号。其中,该数据包检测结果的类型用于表征数据包的序列号的检测结果,例如数据正常、数据重复、数据无效等。最近一次接收到对应数据发送端的正常包的序列号,是指距当前时间点最近的一个正常包的序列号,例如,假设当前接收的数据包的序列号为5,前一接收的数据包为正常包其序列号为4,如果经过步骤S230确定该当前接收的数据包为正常包,则该最近一次接收到对应数据发送端的正常包的序列号为5。如果经过步骤S230确定该当前接收的数据包不是正常包,则该最近一次接收到对应数据发送端的正常包的序列号为4。Step S240, generating feedback information according to the detection result of the serial number. Optionally, the feedback information includes the type of the data packet detection result and the sequence number of the last normal packet received from the corresponding data sending end. Wherein, the type of the detection result of the data packet is used to represent the detection result of the sequence number of the data packet, for example, the data is normal, the data is repeated, and the data is invalid. The sequence number of the normal packet received last time corresponding to the data sender refers to the sequence number of a normal packet closest to the current time point. For example, suppose the sequence number of the currently received data packet is 5, and the previously received data packet is The sequence number of the normal packet is 4. If the currently received data packet is determined to be a normal packet after step S230, the sequence number of the latest normal packet received from the corresponding data sender is 5. If it is determined through step S230 that the currently received data packet is not a normal packet, the sequence number of the last normal packet received from the corresponding data sending end is 4.
图5是本发明实施例的反馈信息的示意图。如图5所示,反馈信息5包括消息类型(也即数据包检测结果的类型)和最近一次接收到的正常包的序列号。可选的,反馈信息5中的消息类型占有4bit、序列号占有12bit,应理解,本实施例并不对此进行限制。可选的,设置1000(二进制表示)对应的消息类型表征本次接收到的数据包为正常包,设置1001对应的消息类型表征本次接收到的数据包为重复包,设置1010对应的消息类型表征本次接收到的数据包为无效包,其他值保留扩展使用。应理解,上述设置仅仅是示例性的,本实施例并不对此进行限制。Fig. 5 is a schematic diagram of feedback information according to an embodiment of the present invention. As shown in FIG. 5 , the feedback information 5 includes the message type (that is, the type of the data packet detection result) and the sequence number of the last normal packet received. Optionally, the message type in the feedback information 5 occupies 4 bits, and the sequence number occupies 12 bits. It should be understood that this embodiment does not limit this. Optionally, the message type corresponding to 1000 (binary representation) is set to indicate that the data packet received this time is a normal packet, the message type corresponding to 1001 is set to indicate that the data packet received this time is a duplicate packet, and the message type corresponding to 1010 is set It indicates that the data packet received this time is an invalid packet, and other values are reserved for extended use. It should be understood that the above settings are only exemplary, and are not limited by this embodiment.
在一种可选的实现方式中,步骤S240包括:响应于该数据包的序列号与待接收序列号相同,生成第一反馈消息。其中,第一反馈消息表征数据包为正常包。在确定该数据包为正常数据包后,则可进一步生成向发送端反馈该正常包的信息。在一种可选的实现方式中,若序列号检测结果为该数据包的序列号与待接收序列号相同,生成第一反馈消息,并根据该第一反馈消息和待接收序列号生成反馈信息。在此情况下,反馈信息中的消息类型表征本次接收到的数据包为正常包,反馈信息中的序列号为最近一次接收到的该数据发送端发送的正常包的序列号(也即当前接收到的数据包的序列号)。例如,当前接收到的数据包的序列号为5,待接收序列号也为5,该数据包为正常包,则反馈信息中的消息类型为1000,序列号为5。In an optional implementation manner, step S240 includes: generating a first feedback message in response to the sequence number of the data packet being the same as the sequence number to be received. Wherein, the first feedback message indicates that the data packet is a normal packet. After the data packet is determined to be a normal data packet, information for feeding back the normal packet to the sending end may be further generated. In an optional implementation, if the sequence number detection result is that the sequence number of the data packet is the same as the sequence number to be received, a first feedback message is generated, and feedback information is generated according to the first feedback message and the sequence number to be received . In this case, the message type in the feedback information indicates that the data packet received this time is a normal packet, and the sequence number in the feedback information is the sequence number of the normal packet sent by the data sending end received last time (that is, the current The sequence number of the received packet). For example, if the sequence number of the currently received data packet is 5, and the sequence number to be received is also 5, and the data packet is a normal packet, then the message type in the feedback information is 1000, and the sequence number is 5.
在一种可选的实现方式中,步骤S240包括:响应于该数据包的序列号小于待接收序列号,生成第二反馈消息。其中,第二反馈消息用于表征所述数据包为重复包。在确定该数据包为正常重复包后,则可过滤该重复包,同时生成向发送端反馈该重复包的信息,以使得发送端发正常的数据包。在一种可选的实现方式中,若序列号检测结果为该数据包的序列号小于待接收序列号,生成第二反馈消息,并根据第二反馈消息和待接收序列号生成反馈信息。在此情况下,反馈信息中的消息类型表征本次接收到的数据包为重复包,反馈信息中的序列号为最近一次接收到的正常包的序列号(也即待接收序列号的前一序列号)。例如,当前接收到的数据包的序列号为3,待接收序列号也为5。其中,待接收序列号为5,也即数据接收端已经成功接收到了对应数据发送端发送的序列号为0-4的数据包,也即当前接收到的序列号为3的数据包是重复包,而最近一次接收到对应数据发送端的正常包的序列号为4,则反馈信息中的消息类型为1001,序列号为4,以通知对应的数据发送端已成功接收到了对应数据发送端发送的序列号为0-4的数据包,使得数据发送端发送序列号为5的数据包。In an optional implementation manner, step S240 includes: generating a second feedback message in response to the sequence number of the data packet being smaller than the sequence number to be received. Wherein, the second feedback message is used to indicate that the data packet is a repeated packet. After the data packet is determined to be a normal repeated packet, the repeated packet can be filtered, and at the same time, information for feeding back the repeated packet to the sending end is generated, so that the sending end sends a normal data packet. In an optional implementation manner, if the sequence number detection result is that the sequence number of the data packet is smaller than the sequence number to be received, a second feedback message is generated, and the feedback information is generated according to the second feedback message and the sequence number to be received. In this case, the message type in the feedback information indicates that the data packet received this time is a repeated packet, and the sequence number in the feedback information is the sequence number of the last normal packet received (that is, the previous sequence number of the sequence number to be received). serial number). For example, the sequence number of the currently received data packet is 3, and the sequence number to be received is also 5. Among them, the serial number to be received is 5, that is, the data receiving end has successfully received the data packet with the serial number 0-4 sent by the corresponding data sending end, that is, the currently received data packet with the serial number 3 is a duplicate packet , and the last time the sequence number of the normal packet received from the corresponding data sender is 4, the message type in the feedback information is 1001 and the sequence number is 4, to notify the corresponding data sender that it has successfully received the corresponding data sender. A data packet with a sequence number of 0-4 makes the data sender send a data packet with a sequence number of 5.
在一种可选的实现方式中,步骤S240包括:响应于该数据包的序列号大于待接收序列号,生成第三反馈消息。其中,第三反馈消息用于保证所述数据包为无效包。在确定该数据包为正常无效包后,则可过滤该无效包,同时生成向发送端反馈该无效包的信息,以使得发送端发正常的数据包。在一种可选的实现方式中,若序列号检测结果为该数据包的序列号大于待接收序列号,生成第三反馈消息,并根据第三反馈消息和待接收序列号生成反馈信息。在此情况下,反馈信息中的消息类型表征本次接收 到的数据包为无效包,反馈信息中的序列号为最近一次接收到的正常包的序列号(也即待接收序列号的前一序列号)。例如,当前接收到的数据包的序列号为7,待接收序列号也为5。其中,待接收序列号为5,也即数据接收端已经成功接收到了对应数据发送端发送的序列号为0-4的数据包,但还没有接收到在序列号4之后的数据包,正常情况下当前接收到的数据包的序列号应该为5,因此当前接收到的序列号为7的数据包是无效包,最近一次接收到对应数据发送端的正常包的序列号为4,则反馈信息中的消息类型为1010,序列号为4,以通知对应的数据发送端已成功接收到了对应数据发送端发送的序列号为0-4的数据包,使得数据发送端发送序列号为5的数据包。In an optional implementation manner, step S240 includes: generating a third feedback message in response to the sequence number of the data packet being greater than the sequence number to be received. Wherein, the third feedback message is used to ensure that the data packet is an invalid packet. After the data packet is determined to be a normal invalid packet, the invalid packet can be filtered, and at the same time, information for feeding back the invalid packet to the sender is generated, so that the sender sends a normal data packet. In an optional implementation manner, if the result of the sequence number detection is that the sequence number of the data packet is greater than the sequence number to be received, a third feedback message is generated, and feedback information is generated according to the third feedback message and the sequence number to be received. In this case, the message type in the feedback information indicates that the data packet received this time is an invalid packet, and the sequence number in the feedback information is the sequence number of the last normal packet received (that is, the previous sequence number of the sequence number to be received). serial number). For example, the sequence number of the currently received data packet is 7, and the sequence number to be received is also 5. Among them, the serial number to be received is 5, that is, the data receiving end has successfully received the data packet with the serial number 0-4 sent by the corresponding data sending end, but has not received the data packet after the serial number 4, which is normal Next, the serial number of the currently received data packet should be 5, so the currently received data packet with a serial number of 7 is an invalid packet, and the latest received normal packet with a serial number of 4 from the corresponding data sender, then the The message type is 1010, the sequence number is 4, to notify the corresponding data sender that the data packet with the sequence number 0-4 sent by the corresponding data sender has been successfully received, so that the data sender sends the data packet with the sequence number 5 .
由此,在本实施例中,数据发送端无需执行最近一次发送给对应数据接收端的数据包的序列号与接收到的来自数据接收到数据包或心跳包中的序列号的判断逻辑,其可以基于自身的超时机制以及数据接收端的反馈信息来确定是否出现BER现象,并基于反馈信息向数据接收端发送正确的数据包,或者在激发超时机制时基于保存的最近一次发送给对应数据包的序列号重新发送对应的数据包,也即本实施例只需要数据接收端执行接收到的数据包的序列号与待接收序列号的判断逻辑即可,相对于现有技术的双倍处理逻辑减小了实现复杂度。并且,由于数据发送端根据反馈信息中的序列号发送下一个数据包而无需对反馈信息中的序列号与存储的序列号信息进行核验,因此本发明实施例还避免了匹配错误的情况,进一步提高了通信传输的可靠性。Therefore, in this embodiment, the data sending end does not need to execute the judgment logic of the sequence number of the data packet sent to the corresponding data receiving end last time and the sequence number received from the data received data packet or the heartbeat packet, which can Determine whether the BER phenomenon occurs based on its own timeout mechanism and the feedback information of the data receiving end, and send the correct data packet to the data receiving end based on the feedback information, or based on the last saved sequence sent to the corresponding data packet when the timeout mechanism is activated number to resend the corresponding data packet, that is, this embodiment only needs the data receiving end to execute the judgment logic of the serial number of the received data packet and the serial number to be received, which reduces the processing logic compared to the double processing logic of the prior art implementation complexity. Moreover, since the data sending end sends the next data packet according to the serial number in the feedback information without verifying the serial number in the feedback information and the stored serial number information, the embodiment of the present invention also avoids the situation of matching errors, and further The reliability of communication transmission is improved.
本发明实施例首先对接收到的数据包进行数据校验,在数据校验通过后对数据包的序列号进行检测,生成序列号检测结果,并根据序列号检测结果生成并发送反馈信息,由此,可以提高数据传输的可靠性。In the embodiment of the present invention, data verification is first performed on the received data packet, and the serial number of the data packet is detected after the data verification is passed, the serial number detection result is generated, and feedback information is generated and sent according to the serial number detection result, by Therefore, the reliability of data transmission can be improved.
图6是本发明实施例的集成电路的示意图。如图6所示,本发明实施例的集成电路6包括校验电路61(相当于图1中的d2d物理层电路2122)、错误包过滤电源62、序列号监测单元63和控制单元64。进一步可选的,控制单元64还包括信息反馈模块644。可选的,集成电路6还包括超时监测单元65。其中,以集成电路6为d2d系统中的芯片为例,则校验电路61相当于图1中的d2d物理层电路2122,错误包过滤电源62、序列号监测单元63、控制单元64以及超时监测单元65相当于图1中的d2d控制模块2121。FIG. 6 is a schematic diagram of an integrated circuit according to an embodiment of the present invention. As shown in FIG. 6 , the integrated circuit 6 of the embodiment of the present invention includes a verification circuit 61 (equivalent to the d2d physical layer circuit 2122 in FIG. 1 ), an error packet filtering power supply 62 , a serial number monitoring unit 63 and a control unit 64 . Further optionally, the control unit 64 further includes an information feedback module 644 . Optionally, the integrated circuit 6 further includes a timeout monitoring unit 65 . Wherein, taking the integrated circuit 6 as a chip in the d2d system as an example, the verification circuit 61 is equivalent to the d2d physical layer circuit 2122 in FIG. Unit 65 is equivalent to the d2d control module 2121 in FIG. 1 .
其中,校验电路61被配置为对接收到的数据包进行数据校验,生成校验信息。可选的,校验电路61接收数据包后会对数据进行数据完整性校验,并给出指示消息rx_err,以表征数据包中的数据正确性。可选的,数据包中还包括校验码。校验电路61基于数据发送端在数据中加入的校验码的类别采用对应的校验方法对接收到的数据包进行数据校验。例如,若数据发送端在数据中加入循环冗余校验码,则数据接收端采用相对应的循环冗余校验方法进行数据校验,若数据发送端在数据中加入其他校验码,例如奇偶校验码、海明校验码等,则数据接收端需要采用相对应的校验方法对数据包进行数据校验。Wherein, the verification circuit 61 is configured to perform data verification on the received data packets to generate verification information. Optionally, after receiving the data packet, the verification circuit 61 will perform data integrity verification on the data, and give an indication message rx_err to represent the correctness of the data in the data packet. Optionally, the data packet also includes a check code. The verification circuit 61 performs data verification on the received data packet by using a corresponding verification method based on the type of the verification code added to the data by the data sending end. For example, if the data sending end adds a cyclic redundancy check code to the data, the data receiving end uses the corresponding cyclic redundancy check method for data verification; if the data sending end adds other check codes to the data, for example Parity check code, Hamming check code, etc., the data receiving end needs to use the corresponding check method to check the data packet.
在一种可选的实现方式中,校验信息包括数据包rx_pkt和指示消息rx_err。其中,数据包rx_pkt的数据格式如图4所示,包括原始数据和对应的序列号。指示消息rx_err用于表征数据包的正确性。例如,指示消息rx_err为1表征数据包有错误,其中,数据包的格式可概述为包括包头位置和非包头位置(即原始数据位置),数据包有错误包括两种情况,即包头位置数据有错误,或者非包头位置数据有错误。指示消息rx_err为0表征数据包是正确的,即包头位置数据是正确的,且非包头位置数据是正确的。进一步可选的,校验信息还包括数据指示信息rx_valid和包头指示信息rx_head,用于进一步定位出错位置。数据指示信息rx_valid用于表征数据包是否有效,其中,数据包有效是指数据包中的原始数据位置或者数据包中的包头位置是有数据的。包头指示信息rx_head用于表征包头位置。例如,数据指示信息rx_valid为1表征数据包中 的原始数据位置或者数据包中的包头位置是有数据的;数据指示信息rx_valid为0表征数据包中的原始数据位置且数据包中的包头位置都没有数据。包头指示信息rx_head为1表示当前接收的数据是包头,即表示数据包的包头位置;包头指示信息rx_head为0表征当前接收的数据不是一个包头,即表示数据包的非包头位置。由此,若校验电路61校验出数据包中的数据出错,可以通过数据指示信息rx_valid和包头指示信息rx_head确定数据出错的位置。如图9所示,具体的判断逻辑为:在rx_valid=1的前提下,即接收的数据是有效的情况下,若rx_head=1且rx_err=1,表征数据包的包头有错误;若rx_head为0且rx_err为1时,表征数据包的非包头位置有错误。如果rx_valid为0,说明接收的是无效数据包,则可不用进行进一步的判断。如果rx_valid为1且rx_err为0,说明数据包的包头位置和非包头位置都没有错误。In an optional implementation manner, the verification information includes a data packet rx_pkt and an indication message rx_err. Wherein, the data format of the data packet rx_pkt is shown in FIG. 4 , including original data and corresponding serial numbers. The indication message rx_err is used to characterize the correctness of the data packet. For example, if the indication message rx_err is 1, it indicates that the data packet has an error, wherein the format of the data packet can be summarized as including the position of the header and the position of the non-header (that is, the position of the original data). error, or non-header location data is incorrect. The indication message rx_err being 0 indicates that the data packet is correct, that is, the position data of the packet header is correct, and the position data of the non-packet header is correct. Further optionally, the verification information also includes data indication information rx_valid and packet header indication information rx_head, which are used to further locate the error location. The data indication information rx_valid is used to indicate whether the data packet is valid, wherein the valid data packet means that the original data position in the data packet or the packet header position in the data packet has data. Packet header indication information rx_head is used to represent the packet header position. For example, if the data indication information rx_valid is 1, it means that the original data position in the data packet or the header position in the data packet has data; if the data indication information rx_valid is 0, it means that the original data position in the data packet and the header position in the data packet are both no data. Packet header indication information rx_head being 1 indicates that the currently received data is a packet header, that is, indicating the packet header position of the data packet; packet header indication information rx_head being 0 indicates that the currently received data is not a packet header, that is, indicating the non-packet header position of the data packet. Therefore, if the verification circuit 61 verifies that the data in the data packet is wrong, the location of the data error can be determined through the data indication information rx_valid and the packet header indication information rx_head. As shown in Figure 9, the specific judgment logic is: under the premise of rx_valid=1, that is, when the received data is valid, if rx_head=1 and rx_err=1, it indicates that there is an error in the header of the data packet; if rx_head is When 0 and rx_err is 1, it indicates that there is an error in the non-header position of the data packet. If rx_valid is 0, it means that an invalid data packet is received, and no further judgment is required. If rx_valid is 1 and rx_err is 0, it means that there is no error in the header position and non-header position of the data packet.
在一种可选的实现方式中,校验电路61向错误包过滤单元62并行发送数据包rx_pkt、指示消息rx_err、数据指示信息rx_valid和包头指示信息rx_head。可选的,也可采用串行发送上述信息、或者将上述信息进行打包发送等,本实施例并不对此进行限制。In an optional implementation manner, the verification circuit 61 sends the data packet rx_pkt, the indication message rx_err, the data indication information rx_valid and the packet header indication information rx_head to the error packet filtering unit 62 in parallel. Optionally, the above information may also be sent serially, or the above information is packaged and sent, which is not limited in this embodiment.
错误包过滤单元62被配置为根据上述校验信息对该数据包进行过滤。在一种可选的实现方式中,错误包过滤单元62根据指示消息rx_err确认该数据包中的数据是否存在错误,若存在错误,则将该错误信息进行过滤。The error packet filtering unit 62 is configured to filter the data packet according to the above verification information. In an optional implementation manner, the error packet filtering unit 62 confirms whether there is an error in the data in the data packet according to the indication message rx_err, and if there is an error, filters the error information.
进一步可选的,错误包过滤单元62还被配置为响应于数据包为错误包,将数据包错误消息发送至超时监测单元65。超时监测单元65被配置为响应于接收到数据包错误的消息,在预设监测时间后将序列号检测单元和信息反馈模块进行复位,以清除错误包。由于数据包中的数据错误可能发生在中间位置,检测到数据错误时数据并未接收完全且已经由错误包过滤单元62向后续单元发送了部分数据,因此在本实施例中超时监测单元65在等待预定的监测时间后,将序列号检测单元63和信息反馈模块644进行复位,以清除其中残留的数据包,从而确保完全清除错误数据包。可选的,数据发送端设置有超时机制,若超过预定时间为接收到关于该数据包的反馈信息,即确定该数据包出错,重新发送该数据包。Further optionally, the error packet filtering unit 62 is further configured to send a data packet error message to the timeout monitoring unit 65 in response to the data packet being an error packet. The timeout monitoring unit 65 is configured to reset the serial number detection unit and the information feedback module after a preset monitoring time in response to receiving a packet error message, so as to clear the error packet. Since the data error in the data packet may occur in the middle position, the data is not completely received when the data error is detected and part of the data has been sent to the follow-up unit by the error packet filtering unit 62, so in the present embodiment, the timeout monitoring unit 65 After waiting for a predetermined monitoring time, reset the sequence number detection unit 63 and the information feedback module 644 to clear the remaining data packets therein, so as to ensure that the error data packets are completely cleared. Optionally, the data sending end is provided with a timeout mechanism. If the feedback information about the data packet is received after the predetermined time, it is determined that the data packet is wrong, and the data packet is resent.
在本实施例中,错误包过滤单元62根据指示消息rx_err确认该数据包中的数据不存在错误,则将该数据包发送至序列号检测单元63。In this embodiment, the error packet filtering unit 62 confirms that there is no error in the data in the data packet according to the indication message rx_err, and then sends the data packet to the sequence number detection unit 63 .
序列号检测单元63被配置为对接收到的数据包的序列号进行检测,生成序列号检测结果,控制单元64被配置为根据序列号检测结果生成反馈信息。可选的,反馈信息包括数据包检测结果的类型和最近一次接收到对应数据发送端的正常包的序列号。在其他可选的实现方式中,反馈信息中的序列号还可以为待接收序列号。其中,该数据包检测结果的类型用于表征数据的序列号的检测结果,例如数据正常、数据重复、数据无效等。The serial number detecting unit 63 is configured to detect the serial number of the received data packet, and generate a serial number detection result, and the control unit 64 is configured to generate feedback information according to the serial number detection result. Optionally, the feedback information includes the type of the data packet detection result and the sequence number of the last normal packet received from the corresponding data sending end. In other optional implementation manners, the serial number in the feedback information may also be a serial number to be received. Wherein, the type of the data packet detection result is used to represent the detection result of the serial number of the data, for example, the data is normal, the data is repeated, and the data is invalid.
在一种可选的实现方式中,序列号检测单元63根据待接收序列号对该数据包中的序列号进行检测,生成序列号检测结果。其中,待接收序列号也即下一个待接收的来自对应数据发送端的数据包的序列号。例如,假设最近一次接收到的数据发送端的数据包序列号为5,则待接收序列号为6,即如果数据传输无异常的话,当前接收到的数据包中的序列号应该是6。In an optional implementation manner, the sequence number detection unit 63 detects the sequence number in the data packet according to the sequence number to be received, and generates a sequence number detection result. Wherein, the sequence number to be received is also the sequence number of the next data packet to be received from the corresponding data sending end. For example, assuming that the latest received data packet sequence number of the sending end is 5, the sequence number to be received is 6, that is, if the data transmission is normal, the sequence number in the currently received data packet should be 6.
可选的,序列号检测单元63通过比较该数据包的序列号与待接收序列号的关系,以生成序列号检测结果。其中,序列号检测结果可以为该数据包的序列号与待接收序列号相同、或该数据包的序列号小于待接收序列号、或该数据包的序列号大于待接收序列号。Optionally, the sequence number detection unit 63 generates a sequence number detection result by comparing the relationship between the sequence number of the data packet and the sequence number to be received. Wherein, the sequence number detection result may be that the sequence number of the data packet is the same as the sequence number to be received, or the sequence number of the data packet is smaller than the sequence number to be received, or the sequence number of the data packet is greater than the sequence number to be received.
在一种可选的实现方式中,控制单元64包括无效包过滤模块641。其中,序列号检测单元63进一步被配置为响应于序列号检测结果为数据包的序列号大于待接收序 列号,将序列号检测结果发送至无效包过滤模块641。无效包过滤模块641被配置为根据该序列号检测结果生成第三反馈消息。其中,第三反馈消息表征数据包为无效包。In an optional implementation manner, the control unit 64 includes an invalid packet filtering module 641 . Wherein, the sequence number detection unit 63 is further configured to send the sequence number detection result to the invalid packet filtering module 641 in response to the sequence number detection result being that the sequence number of the data packet is greater than the sequence number to be received. The invalid packet filtering module 641 is configured to generate a third feedback message according to the sequence number detection result. Wherein, the third feedback message indicates that the data packet is an invalid packet.
在一种可选的实现方式中,无效包过滤模块641还被配置为将第三反馈消息发送至信息反馈模块644,信息反馈模块644根据第三反馈消息生成反馈信息并向数据发送端反馈该反馈信息。可选的,在本实施例中,反馈信息的消息格式如图5所示。其中,反馈信息中的消息类型表征本次接收到的数据包为无效包,反馈信息中的序列号为最近一次接收到的正常包的序列号。例如,当前接收到的数据包的序列号为7,待接收序列号也为5。其中,待接收序列号为5,也即数据接收端已经成功接收到了对应数据发送端发送的序列号为0-4的数据包,但还没有接收到在序列号4之后的数据包,因此当前接收到的序列号为7的数据包是无效包,则反馈信息中的消息类型为1010,序列号为4,以通知对应的数据发送端已成功接收到了对应数据发送端发送的序列号为0-4的数据包,使得数据发送端发送序列号为5的数据包。In an optional implementation manner, the invalid packet filtering module 641 is further configured to send a third feedback message to the information feedback module 644, and the information feedback module 644 generates feedback information according to the third feedback message and feeds back the information to the data sending end. Feedback. Optionally, in this embodiment, the message format of the feedback information is as shown in FIG. 5 . Wherein, the message type in the feedback information indicates that the data packet received this time is an invalid packet, and the sequence number in the feedback information is the sequence number of the last normal packet received. For example, the sequence number of the currently received data packet is 7, and the sequence number to be received is also 5. Among them, the serial number to be received is 5, that is, the data receiving end has successfully received the data packet with the serial number 0-4 sent by the corresponding data sending end, but has not received the data packet after the serial number 4, so the current The received data packet with sequence number 7 is an invalid packet, then the message type in the feedback information is 1010, and the sequence number is 4, to notify the corresponding data sender that it has successfully received the sequence number sent by the corresponding data sender as 0 A data packet of -4 makes the data sender send a data packet with a sequence number of 5.
在一种可选的实现方式中,控制单元64包括重复包过滤模块642。其中,序列号检测单元63进一步被配置为响应于序列号检测结果为数据包的序列号小于待接收序列号,将序列号检测结果发送至重复包过滤模块642。重复包过滤模块642被配置为根据该序列号检测结果生成第二反馈消息。其中,第二反馈消息表征数据包为重复包。In an optional implementation manner, the control unit 64 includes a repeated packet filtering module 642 . Wherein, the sequence number detection unit 63 is further configured to send the sequence number detection result to the duplicate packet filtering module 642 in response to the sequence number detection result being that the sequence number of the data packet is smaller than the sequence number to be received. The duplicate packet filtering module 642 is configured to generate a second feedback message according to the sequence number detection result. Wherein, the second feedback message indicates that the data packet is a repeated packet.
在一种可选的实现方式中,重复包过滤模块642还被配置为将第二反馈消息发送至信息反馈模块644,信息反馈模块644根据第二反馈消息生成反馈信息并向数据发送端反馈该反馈信息。其中,反馈信息中的消息类型表征本次接收到的数据包为重复包,反馈信息中的序列号为最近一次接收到的正常包的序列号。例如,当前接收到的数据包的序列号为3,待接收序列号也为5。其中,待接收序列号为5,也即数据接收端已经成功接收到了对应数据发送端发送的序列号为0-4的数据包,也即当前接收到的序列号为3的数据包是重复包,则反馈信息中的消息类型为1001,序列号为4,以通知对应的数据发送端已成功接收到了对应数据发送端发送的序列号为0-4的数据包,使得数据发送端发送序列号为5的数据包。In an optional implementation manner, the repeated packet filtering module 642 is further configured to send a second feedback message to the information feedback module 644, and the information feedback module 644 generates feedback information according to the second feedback message and feeds back the information to the data sending end. Feedback. Wherein, the message type in the feedback information indicates that the data packet received this time is a repeated packet, and the sequence number in the feedback information is the sequence number of the last normal packet received. For example, the sequence number of the currently received data packet is 3, and the sequence number to be received is also 5. Among them, the serial number to be received is 5, that is, the data receiving end has successfully received the data packet with the serial number 0-4 sent by the corresponding data sending end, that is, the currently received data packet with the serial number 3 is a duplicate packet , the message type in the feedback information is 1001, and the sequence number is 4, to notify the corresponding data sender that it has successfully received the data packet with the sequence number 0-4 sent by the corresponding data sender, so that the data sender sends the sequence number for 5 packets.
在一种可选的实现方式中,控制单元64包括正常包过滤模块643。序列号检测单元63进一步被配置为响应于序列号检测结果为该数据包的序列号与待接收序列号相同,将该序列号检测结果发送至正常包过滤模块643。正常包过滤模块643被配置为根据该序列号检测结果生成第一反馈消息。其中,第一反馈消息表征该数据包为正常包。In an optional implementation manner, the control unit 64 includes a normal packet filtering module 643 . The sequence number detection unit 63 is further configured to send the sequence number detection result to the normal packet filtering module 643 in response to the sequence number detection result being that the sequence number of the data packet is the same as the sequence number to be received. The normal packet filtering module 643 is configured to generate a first feedback message according to the sequence number detection result. Wherein, the first feedback message indicates that the data packet is a normal packet.
在一种可选的实现方式中,正常包过滤模块643还被配置为将第一反馈消息发送至信息反馈模块644,信息反馈模块644根据第一反馈消息生成反馈信息并向数据发送端反馈该反馈信息。其中,反馈信息中的消息类型表征本次接收到的数据包为正常包,反馈信息中的序列号为最近一次接收到的该数据发送端发送的正常包的序列号(也即当前接收到的数据包的序列号)。例如,当前接收到的数据包的序列号为5,待接收序列号也为5,则反馈信息中的消息类型为1000,序列号为5。In an optional implementation manner, the normal packet filtering module 643 is further configured to send the first feedback message to the information feedback module 644, and the information feedback module 644 generates feedback information according to the first feedback message and feeds back the information to the data sending end. Feedback. Wherein, the message type in the feedback information indicates that the data packet received this time is a normal packet, and the sequence number in the feedback information is the sequence number of the normal packet sent by the data sending end received last time (that is, the currently received packet sequence number). For example, if the sequence number of the currently received data packet is 5, and the sequence number to be received is also 5, then the message type in the feedback information is 1000, and the sequence number is 5.
在一种可选的实现方式中,本实施例的集成电路6还包括SoC系统66。正常包过滤模块643将该数据包发送至SoC系统66,以对该数据包进行解析或者处理。In an optional implementation manner, the integrated circuit 6 of this embodiment further includes an SoC system 66 . The normal packet filtering module 643 sends the data packet to the SoC system 66 to analyze or process the data packet.
由此,在本实施例中,数据发送端无需执行最近一次发送给对应数据接收端的数据包的序列号与接收到的来自数据接收到数据包或心跳包中的序列号的判断逻辑,其可以基于自身的超时机制以及数据接收端的反馈信息来确定是否出现BER现象,并基于反馈信息向数据接收端发送正确的数据包,或者在激发超时机制时基于保存的最近一次发送给对应数据包的序列号重新发送对应的数据包,也即本实施例只需要数据接收端执行接收到的数据包的序列号与待接收序列号的判断逻辑即可,相对于现有技术的双倍处理逻辑减小了实现复杂度。并且,由于数据发送端根据反馈信息中的序列 号发送下一个数据包而无需对反馈信息中的序列号与存储的序列号信息进行核验,因此本发明实施例还避免了匹配错误的情况,进一步提高了通信传输的可靠性。Therefore, in this embodiment, the data sending end does not need to execute the judgment logic of the sequence number of the data packet sent to the corresponding data receiving end last time and the sequence number received from the data received data packet or the heartbeat packet, which can Determine whether the BER phenomenon occurs based on its own timeout mechanism and the feedback information of the data receiving end, and send the correct data packet to the data receiving end based on the feedback information, or based on the last saved sequence sent to the corresponding data packet when the timeout mechanism is activated number to resend the corresponding data packet, that is, this embodiment only needs the data receiving end to execute the judgment logic of the serial number of the received data packet and the serial number to be received, which reduces the processing logic compared to the double processing logic of the prior art implementation complexity. Moreover, since the data sending end sends the next data packet according to the serial number in the feedback information without verifying the serial number in the feedback information and the stored serial number information, the embodiment of the present invention also avoids the situation of matching errors, and further The reliability of communication transmission is improved.
本发明实施例首先对接收到的数据包进行数据校验,在数据校验通过后对数据包的序列号进行检测,生成序列号检测结果,并根据序列号检测结果生成并发送反馈信息,由此,可以提高数据传输的可靠性。In the embodiment of the present invention, data verification is first performed on the received data packet, and the serial number of the data packet is detected after the data verification is passed, the serial number detection result is generated, and feedback information is generated and sent according to the serial number detection result, by Therefore, the reliability of data transmission can be improved.
图7是本发明实施例的通信系统的示意图。如图7所示,本发明实施例的通信系统7包括至少一个集成电路71和至少一个远端集成电路72。其中,集成电路71可以为上述实施例中的集成电路6,在此不再赘述。Fig. 7 is a schematic diagram of a communication system according to an embodiment of the present invention. As shown in FIG. 7 , the communication system 7 of the embodiment of the present invention includes at least one integrated circuit 71 and at least one remote integrated circuit 72 . Wherein, the integrated circuit 71 may be the integrated circuit 6 in the above-mentioned embodiment, which will not be repeated here.
在本实施例中,远端集成电路72被配置为发送数据包。在一种可选的实现方式中,远端集成电路72还被配置响应于发送的数据包为正常包或重复包,删除发送过的正常包或重复包。可选的,远端集成电路72接收到集成电路71发送的反馈信息,若反馈信息中的消息类型表征对应的数据包为正常包或重复包,也即该数据包已经成功发送至集成电路71,则删除该数据包,以释放存储空间,同时,根据反馈信息中的序列号发送下一数据包。例如,反馈信息中的序列号为5,则发送序列号6对应的数据包。In this embodiment, the remote integrated circuit 72 is configured to send data packets. In an optional implementation manner, the remote integrated circuit 72 is further configured to delete the sent normal packet or repeated packet in response to the sent data packet being a normal packet or a repeated packet. Optionally, the remote integrated circuit 72 receives the feedback information sent by the integrated circuit 71. If the message type in the feedback information indicates that the corresponding data packet is a normal packet or a repeated packet, that is, the data packet has been successfully sent to the integrated circuit 71. , then delete the data packet to release storage space, and at the same time, send the next data packet according to the sequence number in the feedback information. For example, if the sequence number in the feedback information is 5, then the data packet corresponding to the sequence number 6 is sent.
在一种可选的实现方式中,远端集成电路72还被配置响应于发送的数据包为无效包,根据反馈信息中的序列号发送下一数据包。可选的,远端集成电路72接收到集成电路71发送的反馈信息,若反馈信息中的消息类型表征对应的数据包为无效包,也即该数据包之前的数据包还未发送成功,则根据反馈信息中的序列号发送下一数据包。例如,反馈信息中的序列号为5,则发送序列号6对应的数据包。In an optional implementation manner, the remote integrated circuit 72 is further configured to send the next data packet according to the sequence number in the feedback information in response to the sent data packet being an invalid packet. Optionally, the remote integrated circuit 72 receives the feedback information sent by the integrated circuit 71. If the message type in the feedback information indicates that the corresponding data packet is an invalid packet, that is, the data packet before the data packet has not been successfully sent, then Send the next data packet according to the sequence number in the feedback information. For example, if the sequence number in the feedback information is 5, then the data packet corresponding to the sequence number 6 is sent.
在一种可选的实现方式中,远端集成电路72设置有超时机制。远端集成电路72还被配置为响应于若在预定时间内未接收到关于该数据包的反馈信息,即确定该数据包出错,重新发送该数据包。In an optional implementation manner, the remote integrated circuit 72 is provided with a timeout mechanism. The remote integrated circuit 72 is further configured to resend the data packet in response to not receiving feedback information about the data packet within a predetermined time, that is, determining that the data packet is erroneous.
由此,在本实施例中,数据发送端无需执行最近一次发送给对应数据接收端的数据包的序列号与接收到的来自数据接收到数据包或心跳包中的序列号的判断逻辑,其可以基于自身的超时机制以及数据接收端的反馈信息来确定是否出现BER现象,并基于反馈信息向数据接收端发送正确的数据包,或者在激发超时机制时基于保存的最近一次发送给对应数据包的序列号重新发送对应的数据包,也即本实施例只需要数据接收端执行接收到的数据包的序列号与待接收序列号的判断逻辑即可,相对于现有技术的双倍处理逻辑减小了实现复杂度。并且,由于数据发送端根据反馈信息中的序列号发送下一个数据包而无需对反馈信息中的序列号与存储的序列号信息进行核验,因此本发明实施例还避免了匹配错误的情况,进一步提高了通信传输的可靠性。Therefore, in this embodiment, the data sending end does not need to execute the judgment logic of the sequence number of the data packet sent to the corresponding data receiving end last time and the sequence number received from the data received data packet or the heartbeat packet, which can Determine whether the BER phenomenon occurs based on its own timeout mechanism and the feedback information of the data receiving end, and send the correct data packet to the data receiving end based on the feedback information, or based on the last saved sequence sent to the corresponding data packet when the timeout mechanism is activated number to resend the corresponding data packet, that is, this embodiment only needs the data receiving end to execute the judgment logic of the serial number of the received data packet and the serial number to be received, which reduces the processing logic compared to the double processing logic of the prior art implementation complexity. Moreover, since the data sending end sends the next data packet according to the serial number in the feedback information without verifying the serial number in the feedback information and the stored serial number information, the embodiment of the present invention also avoids the situation of matching errors, and further The reliability of communication transmission is improved.
图8是本发明实施例的通信方法的交互流程图。如图8所示,本实施例的通信方法的交互流程包括以下步骤:Fig. 8 is an interactive flowchart of the communication method according to the embodiment of the present invention. As shown in FIG. 8, the interaction process of the communication method in this embodiment includes the following steps:
步骤S1:远端集成电路72向集成电路71发送数据包a。其中,数据包a的序列号为7。Step S1: the remote integrated circuit 72 sends the data packet a to the integrated circuit 71 . Among them, the sequence number of data packet a is 7.
步骤S2:集成电路71对数据包a进行数据校验。其中,具体校验方法与上述实施例类似,在此不再赘述。Step S2: The integrated circuit 71 performs data verification on the data packet a. Wherein, the specific verification method is similar to the foregoing embodiment, and will not be repeated here.
步骤S3:集成电路71响应于数据包a通过校验,对数据包a的序列号进行检测。可选的,根据集成电路71计算确定的待接收序列号对数据包a进行检测,确定数据包a的序列号与待接收序列号之间的关系。Step S3: The integrated circuit 71 detects the serial number of the data packet a in response to the data packet a passing the check. Optionally, the data packet a is detected according to the sequence number to be received calculated and determined by the integrated circuit 71, and the relationship between the sequence number of the data packet a and the sequence number to be received is determined.
步骤S4:假设待接收序列号为6,集成电路71响应于数据包a的序列号7大于待接收序列号6,生成对应的反馈信息a'。其中,反馈信息a'中的数据类型表征数据包a为无效包,反馈信息a'中的序列号为最近一次成功接收到的数据包的序列号5。Step S4: Assuming that the sequence number to be received is 6, the integrated circuit 71 generates corresponding feedback information a' in response to the sequence number 7 of the data packet a being greater than the sequence number 6 to be received. Wherein, the data type in the feedback information a' indicates that the data packet a is an invalid packet, and the sequence number in the feedback information a' is the sequence number 5 of the last successfully received data packet.
步骤S5,集成电路71向远端集成电路72发送反馈信息a'。Step S5 , the integrated circuit 71 sends feedback information a′ to the remote integrated circuit 72 .
远端集成电路72接收到反馈信息a',确定该反馈信息a'对应的数据包是无效包,根据反馈信息a'中的序列号确定下次发送的数据包b。The remote integrated circuit 72 receives the feedback information a', determines that the data packet corresponding to the feedback information a' is an invalid packet, and determines the next data packet b to be sent according to the sequence number in the feedback information a'.
步骤S6,远端集成电路72向集成电路71发送数据包b。其中,数据包b的序列号为6。Step S6 , the remote integrated circuit 72 sends the data packet b to the integrated circuit 71 . Wherein, the sequence number of data packet b is 6.
步骤S7,集成电路71对数据包b进行数据校验,在数据包b通过数据校验后对数据包b的序列号进行检测。可选的,根据集成电路71计算确定的待接收序列号对数据包b进行检测,确定数据包b的序列号与待接收序列号之间的关系。如上所述,上次接收到的数据包a为无效包,因此待接收序列号仍为6,集成电路71响应于数据包b的序列号6与待接收序列号6相同,生成对应的反馈信息b'。其中,反馈信息b'中的数据类型表征数据包b为正常包,反馈信息b'中的序列号为最近成功接收到的数据包的序列号6,集成电路71更新待接收序列号为7。In step S7, the integrated circuit 71 performs data verification on the data packet b, and detects the serial number of the data packet b after the data packet b passes the data verification. Optionally, the data packet b is detected according to the sequence number to be received calculated and determined by the integrated circuit 71, and the relationship between the sequence number of the data packet b and the sequence number to be received is determined. As mentioned above, the data packet a received last time is an invalid packet, so the serial number to be received is still 6, and the integrated circuit 71 responds that the serial number 6 of the data packet b is the same as the serial number 6 to be received, and generates corresponding feedback information b'. Wherein, the data type in the feedback information b' indicates that the data packet b is a normal packet, the sequence number in the feedback information b' is the sequence number 6 of the latest successfully received data packet, and the integrated circuit 71 updates the sequence number to be received to 7.
步骤S8,集成电路71向远端集成电路72发送反馈信息b'。Step S8 , the integrated circuit 71 sends feedback information b′ to the remote integrated circuit 72 .
步骤S9,远端集成电路72接收到反馈信息b',确定该反馈信息b'对应的数据包b是正常包,远端集成电路72将对应的数据包b删除。In step S9, the remote integrated circuit 72 receives the feedback information b', determines that the data packet b corresponding to the feedback information b' is a normal packet, and the remote integrated circuit 72 deletes the corresponding data packet b.
步骤S10,远端集成电路72向集成电路71发送数据包c。其中,数据包c的序列号为3。Step S10 , the remote integrated circuit 72 sends the data packet c to the integrated circuit 71 . Wherein, the sequence number of data packet c is 3.
步骤S11,集成电路71对数据包c进行数据校验,在数据包c通过数据校验后对数据包c的序列号进行检测。可选的,根据集成电路71计算确定的待接收序列号对数据包c进行检测,确定数据包c的序列号与待接收序列号之间的关系。如上所述,上次接收到的数据包b为正常包,因此待接收序列号更新为7,集成电路71响应于数据包c的序列号3小于待接收序列号7,生成对应的反馈信息c'。其中,反馈信息c'中的数据类型表征数据包c为重复包,反馈信息c'中的序列号为最近一次成功接收到的数据包的序列号6。Step S11 , the integrated circuit 71 performs data verification on the data packet c, and detects the serial number of the data packet c after the data packet c passes the data verification. Optionally, the data packet c is detected according to the sequence number to be received calculated and determined by the integrated circuit 71, and the relationship between the sequence number of the data packet c and the sequence number to be received is determined. As mentioned above, the data packet b received last time is a normal packet, so the sequence number to be received is updated to 7, and the integrated circuit 71 generates corresponding feedback information c in response to the sequence number 3 of the data packet c being smaller than the sequence number 7 to be received '. Wherein, the data type in the feedback information c' indicates that the data packet c is a repeated packet, and the sequence number in the feedback information c' is the sequence number 6 of the latest successfully received data packet.
步骤S12,集成电路71向远端集成电路72发送反馈信息c'。Step S12 , the integrated circuit 71 sends feedback information c′ to the remote integrated circuit 72 .
步骤S13,远端集成电路72接收到反馈信息c',确定该反馈信息c'对应的数据包c是重复包,远端集成电路72将对应的数据包c删除。In step S13, the remote integrated circuit 72 receives the feedback information c', determines that the data packet c corresponding to the feedback information c' is a duplicate packet, and the remote integrated circuit 72 deletes the corresponding data packet c.
步骤S14,远端集成电路72基于反馈信息c'向集成电路71发送数据包a。远端集成电路72根据反馈信息c'中的序列号确定上一个成功发送的数据包的序列号为6,进而确定下一个要发送的数据包的序列号为7,也即数据包a。In step S14, the remote integrated circuit 72 sends the data packet a to the integrated circuit 71 based on the feedback information c′. The remote integrated circuit 72 determines the sequence number of the last successfully sent data packet as 6 according to the sequence number in the feedback information c', and then determines the sequence number of the next data packet to be sent as 7, that is, data packet a.
步骤S15,集成电路71对接收到的数据包a进行数据校验,响应于数据包a未通过校验,过滤数据包a。In step S15, the integrated circuit 71 performs data verification on the received data packet a, and filters the data packet a in response to the fact that the data packet a fails the verification.
步骤S16,远端集成电路72响应于预定时间内未接收到对应的反馈信息,向集成电路71重新发送数据包a。In step S16, the remote integrated circuit 72 resends the data packet a to the integrated circuit 71 in response to not receiving the corresponding feedback information within a predetermined time.
由此,本实施例可以通过首先对接收到的数据包进行数据校验,在数据校验通过后对数据包的序列号进行检测,生成序列号检测结果,并根据序列号检测结果生成并发送反馈信息,由此,可以准确地确定数据出错的数据包、接收到的正常包、无效包和重复包,进而可以提示数据发送端重新发送正常包,由此,本实施例可以提高数据传输的可靠性。Therefore, in this embodiment, firstly, data verification is performed on the received data packet, and after the data verification is passed, the serial number of the data packet is detected to generate a serial number detection result, and generate and send the serial number according to the serial number detection result. Feedback information, thus, can accurately determine data packets with data errors, received normal packets, invalid packets and duplicate packets, and then can prompt the data sending end to resend normal packets, thus, this embodiment can improve the efficiency of data transmission reliability.
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and changes. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims (15)

  1. 一种通信方法,其特征在于,所述方法包括:A communication method, characterized in that the method comprises:
    接收数据包;receive packets;
    对所述数据包进行数据校验;Perform data verification on the data packet;
    响应于所述数据包通过校验,对所述数据包的序列号进行检测,生成序列号检测结果;In response to the data packet passing the verification, detecting the serial number of the data packet, and generating a serial number detection result;
    根据所述序列号检测结果生成反馈信息。Generate feedback information according to the serial number detection result.
  2. 根据权利要求1所述的方法,其特征在于,根据所述序列号检测结果生成反馈信息包括:The method according to claim 1, wherein generating feedback information according to the serial number detection result comprises:
    响应于所述数据包的序列号与待接收序列号相同,生成第一反馈消息,所述第一反馈消息表征所述数据包为正常包;In response to the sequence number of the data packet being the same as the sequence number to be received, generating a first feedback message, the first feedback message indicates that the data packet is a normal packet;
    根据所述第一反馈消息和所述待接收序列号生成反馈信息。Generate feedback information according to the first feedback message and the sequence number to be received.
  3. 根据权利要求1所述的方法,其特征在于,根据所述序列号检测结果生成反馈信息包括:The method according to claim 1, wherein generating feedback information according to the serial number detection result comprises:
    响应于所述数据包的序列号小于待接收序列号,生成第二反馈消息,所述第二反馈消息用于表征所述数据包为重复包;In response to the sequence number of the data packet being smaller than the sequence number to be received, generating a second feedback message, the second feedback message is used to indicate that the data packet is a duplicate packet;
    根据所述第二反馈消息和所述待接收序列号生成反馈信息。Generate feedback information according to the second feedback message and the sequence number to be received.
  4. 根据权利要求1所述的方法,其特征在于,根据所述序列号检测结果生成反馈信息包括:The method according to claim 1, wherein generating feedback information according to the serial number detection result comprises:
    响应于所述数据包的序列号大于待接收序列号,生成第三反馈消息,所述第三反馈消息用于表征所述数据包为无效包;In response to the sequence number of the data packet being greater than the sequence number to be received, generating a third feedback message, the third feedback message is used to indicate that the data packet is an invalid packet;
    根据所述第三反馈消息和所述待接收序列号生成反馈信息。Generate feedback information according to the third feedback message and the sequence number to be received.
  5. 根据权利要求1-4任一项所述的方法,其特征在于,对所述数据包进行数据校验包括:The method according to any one of claims 1-4, wherein performing data verification on the data packet comprises:
    根据所述数据包中的校验码的类型确定目标校验方法;Determine the target verification method according to the type of the verification code in the data packet;
    根据所述目标校验方法对所述数据包进行数据校验。Perform data verification on the data packet according to the target verification method.
  6. 根据权利要求1的方法,其特征在于,所述反馈信息包括数据包检测结果的类型和最近一次接收到的对应数据发送端的正常包的序列号。The method according to claim 1, wherein the feedback information includes the type of the data packet detection result and the sequence number of the last received normal packet corresponding to the data sending end.
  7. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, further comprising:
    响应于所述数据包未通过校验,过滤所述数据包。In response to the data packet failing the check, the data packet is filtered.
  8. 一种集成电路,其特征在于,所述集成电路包括:An integrated circuit, characterized in that the integrated circuit includes:
    校验电路,被配置为对接收到的数据包进行数据校验,生成校验信息;The verification circuit is configured to perform data verification on the received data packet and generate verification information;
    错误包过滤单元,被配置为根据所述校验信息对所述数据包进行过滤;An error packet filtering unit configured to filter the data packets according to the verification information;
    序列号检测单元,被配置为对接收到的数据包的序列号进行检测,生成序列号检测结果;以及A serial number detection unit configured to detect the serial number of the received data packet and generate a serial number detection result; and
    控制单元,被配置为根据所述序列号检测结果生成并发送反馈信息。A control unit configured to generate and send feedback information according to the serial number detection result.
  9. 根据权利要求8所述的集成电路,其特征在于,所述控制单元包括正常包过滤模块;The integrated circuit according to claim 8, wherein the control unit comprises a normal packet filtering module;
    所述序列号检测单元进一步被配置为响应于所述序列号检测结果为所述数据包的序列号与待接收序列号相同,将所述序列号检测结果发送至所述正常包过滤模块;The sequence number detection unit is further configured to send the sequence number detection result to the normal packet filtering module in response to the sequence number detection result being that the sequence number of the data packet is the same as the sequence number to be received;
    所述正常包过滤模块被配置为根据所述序列号检测结果生成第一反馈消息,所述第一反馈消息表征所述数据包为正常包。The normal packet filtering module is configured to generate a first feedback message according to the sequence number detection result, and the first feedback message indicates that the data packet is a normal packet.
  10. 根据权利要求8所述的集成电路,其特征在于,所述控制单元包括重复包过滤模块;The integrated circuit according to claim 8, wherein the control unit comprises a repeated packet filtering module;
    所述序列号检测单元进一步被配置为响应于所述序列号检测结果为所述数据包的序列号小于待接收序列号,将所述序列号检测结果发送至所述重复包过滤模块;The sequence number detection unit is further configured to send the sequence number detection result to the duplicate packet filtering module in response to the sequence number detection result being that the sequence number of the data packet is smaller than the sequence number to be received;
    所述重复包过滤模块被配置为根据所述序列号检测结果生成第二反馈消息,所述第二反馈消息表征所述数据包为重复包。The duplicate packet filtering module is configured to generate a second feedback message according to the sequence number detection result, and the second feedback message indicates that the data packet is a duplicate packet.
  11. 根据权利要求8所述的集成电路,其特征在于,所述控制单元包括无效包过滤模块;The integrated circuit according to claim 8, wherein the control unit comprises an invalid packet filtering module;
    所述序列号检测单元进一步被配置为响应于所述序列号检测结果为所述数据包的序列号大于待接收序列号,将所述序列号检测结果发送至所述无效包过滤模块;The sequence number detection unit is further configured to send the sequence number detection result to the invalid packet filtering module in response to the sequence number detection result being that the sequence number of the data packet is greater than the sequence number to be received;
    所述无效包过滤模块被配置为根据所述序列号检测结果生成第三反馈消息,所述第三反馈消息表征所述数据包为无效包。The invalid packet filtering module is configured to generate a third feedback message according to the sequence number detection result, and the third feedback message indicates that the data packet is an invalid packet.
  12. 根据权利要求8-11任一项所述的集成电路,其特征在于,所述控制单元包括:The integrated circuit according to any one of claims 8-11, wherein the control unit comprises:
    信息反馈模块,被配置为生成并发送所述反馈信息,所述反馈信息包括数据包检测结果的类型和最近一次接收到的对应数据发送端的正常包的序列号。The information feedback module is configured to generate and send the feedback information, the feedback information includes the type of the data packet detection result and the sequence number of the last received normal packet corresponding to the data sending end.
  13. 根据权利要求12所述的集成电路,其特征在于,所述集成电路还包括超时监测单元;The integrated circuit according to claim 12, further comprising a timeout monitoring unit;
    所述错误包过滤单元还被配置为响应于所述数据包为错误包,将数据包错误消息发送至所述超时监测单元;The error packet filtering unit is also configured to send a data packet error message to the timeout monitoring unit in response to the data packet being an error packet;
    超时监测单元,被配置为响应于接收到数据包错误的消息,在预设监测时间后将所述序列号检测单元和所述信息反馈模块进行复位,以清除错误包。The timeout monitoring unit is configured to reset the sequence number detection unit and the information feedback module after a preset monitoring time in response to receiving a packet error message, so as to clear the error packets.
  14. 一种通信系统,其特征在于,所述通信系统包括:A communication system, characterized in that the communication system includes:
    至少一个如权利要求8-13任一项所述的集成电路;以及at least one integrated circuit according to any one of claims 8-13; and
    至少一个远端集成电路,被配置为发送数据包。At least one remote integrated circuit configured to transmit data packets.
  15. 根据权利要求14所述的通信系统,其特征在于,所述远端集成电路还被配置响应于发送的数据包为正常包或重复包,删除发送过的正常包或重复包;或者,响应于发送的数据包为无效包,根据反馈信息中的序列号发送下一数据包。The communication system according to claim 14, wherein the remote integrated circuit is further configured to delete the sent normal packet or repeated packet in response to the sent data packet being a normal packet or a repeated packet; or, in response to The sent data packet is an invalid packet, and the next data packet is sent according to the sequence number in the feedback information.
PCT/CN2022/107454 2021-08-16 2022-07-22 Integrated circuit, communication method, and communication system WO2023020202A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110939065.2A CN115913468A (en) 2021-08-16 2021-08-16 Integrated circuit, communication method and communication system
CN202110939065.2 2021-08-16

Publications (1)

Publication Number Publication Date
WO2023020202A1 true WO2023020202A1 (en) 2023-02-23

Family

ID=85239452

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/107454 WO2023020202A1 (en) 2021-08-16 2022-07-22 Integrated circuit, communication method, and communication system

Country Status (2)

Country Link
CN (1) CN115913468A (en)
WO (1) WO2023020202A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143073A (en) * 2011-03-23 2011-08-03 深圳创维数字技术股份有限公司 Data transmission method and system
US20160302075A1 (en) * 2013-11-11 2016-10-13 Telefonaktiebolaget L M Ericsson (Publ) Discarding a duplicate protocol data unit associated with a data transmission via a first signaling radio bearer or a second signaling radio bearer
CN107294581A (en) * 2016-03-30 2017-10-24 景略半导体(上海)有限公司 Multi-antenna transmission, single antenna reception, multi-aerial transmission system and method
CN111147196A (en) * 2019-12-18 2020-05-12 深圳市元征科技股份有限公司 Data transmission method, data sending device and data receiving device
CN111786748A (en) * 2019-08-29 2020-10-16 北京京东尚科信息技术有限公司 Data retransmission method and system, network card, device, server and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143073A (en) * 2011-03-23 2011-08-03 深圳创维数字技术股份有限公司 Data transmission method and system
US20160302075A1 (en) * 2013-11-11 2016-10-13 Telefonaktiebolaget L M Ericsson (Publ) Discarding a duplicate protocol data unit associated with a data transmission via a first signaling radio bearer or a second signaling radio bearer
CN107294581A (en) * 2016-03-30 2017-10-24 景略半导体(上海)有限公司 Multi-antenna transmission, single antenna reception, multi-aerial transmission system and method
CN111786748A (en) * 2019-08-29 2020-10-16 北京京东尚科信息技术有限公司 Data retransmission method and system, network card, device, server and storage medium
CN111147196A (en) * 2019-12-18 2020-05-12 深圳市元征科技股份有限公司 Data transmission method, data sending device and data receiving device

Also Published As

Publication number Publication date
CN115913468A (en) 2023-04-04

Similar Documents

Publication Publication Date Title
US10127074B2 (en) Transaction identification synchronization
US8312352B2 (en) Communication apparatus and communication method
US7983252B2 (en) Enhanced frame aggregation in a wireless network system
WO2006096879A1 (en) System and method for tolerating communication lane failures
US8103942B2 (en) Data transmission apparatus, data transmission device, data reception device and data transmission system
WO2011157074A1 (en) Method, device and system for transferring and checking data files
US10419035B2 (en) Use of multiple cyclic redundancy codes for optimized fail isolation
CN110166354B (en) Data processing system containing network-on-chip fault-tolerant routing
CN109450912B (en) Data transmission method, device and equipment
TWI650953B (en) Cumulative error detection in data transmission
CN108337069B (en) Improved error rate reducing end parallel grouping CRC (Cyclic redundancy check) system
CN113364559A (en) Multipath-oriented data secure transmission method, device and system
US7436777B2 (en) Failed link training
JP2009290686A (en) Data transfer apparatus, data transfer control method
US6862283B2 (en) Method and apparatus for maintaining packet ordering with error recovery among multiple outstanding packets between two devices
US20210385010A1 (en) Safety communication device, safety communication system, safety communication method, and computer readable medium
WO2023020202A1 (en) Integrated circuit, communication method, and communication system
CN113806108A (en) Retransmission method, memory controller, processor system and electronic equipment
US20100162066A1 (en) Acceleration of header and data error checking via simultaneous execution of multi-level protocol algorithms
CN104967504A (en) Method and apparatus for link data protection
US7363402B2 (en) Data communications architecture employing parallel SERDES channels
US9444769B1 (en) Method for out of order placement in PDU-oriented protocols
WO2002093820A1 (en) Communicating method, transmitting apparatus, receiving apparatus, and communicating system including them
JP2000349792A (en) Data transmission device
US20050154968A1 (en) Detection of errors

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22857515

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE