Bus data retransmission method, bus fault handling method and node
By detecting that the RN node does not reply to ACK during the STOF cycle, data retransmission and faulty node isolation are performed, the transmission loss problem of the IEEE-1394B bus in the aerospace field is solved, and the reliability and integrity of data transmission are improved.
Patent Information
- Application Number
- CN202211701485.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-28
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2042-12-28
AI Technical Summary
The existing IEEE-1394B bus standard cannot solve the problem of transmission loss in the aerospace field, resulting in insufficient reliability of data transmission.
During the STOF cycle, when the CC node detects that the RN node does not reply to ACK, it reserves security time and resends the data within that time, and determines the RN node that does not reply to ACK as a failed node for isolation.
Through the data retransmission mechanism and the faulty node isolation, the data reliability of the 1394 bus in the event of transmission loss is improved, ensuring the integrity and reliability of data transmission.
Smart Images

Figure CN116232548B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to, but is not limited to, high-speed serial bus technology, and more particularly, to a bus data retransmission method, a bus fault handling method, and a node. Background Art
[0002] IEEE-1394 is a high-speed serial bus standard released by Apple Inc. The Institute of Electrical and Electronics Engineers (IEEE) officially promulgated the first IEEE-1394 bus standard in 1995. This standard defines data transmission protocols, connection systems, etc., and has the advantage of achieving high performance at a relatively low cost. There are three updated versions of IEEE-1394 to date: IEEE-1394A, IEEE-1394B, and IEEE-1394C. The Society of Automotive Engineers (SAE) has imposed constraints and limitations on a part of the IEEE 1394B bus standard (the improved IEEE-1394B standard is called AS5643), enabling it to be applied to the aerospace field.
[0003] The aerospace field requires deterministic, low-latency, and highly reliable data transmission. Although the AS5643 protocol has improved in terms of determinism and reliability, it has not solved the problem of transmission loss and cannot be applied to some scenarios with relatively high reliability transmission requirements. Summary of the Invention
[0004] In view of this, the embodiments of the present disclosure provide the following solutions.
[0005] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of protection of the claims.
[0006] An embodiment of the present disclosure provides a bus data retransmission method, which is applied to a 1394 bus. The 1394 bus includes a CC node and at least one RN node. The method includes:
[0007] In the STOF cycle, when the CC node does not receive ACKs replied by at least one RN node, it is determined that a transmission loss has occurred;
[0008] The CC node notifies the RN node that has not replied with an ACK to retransmit data within a safe time; where the safe time is a time segment reserved in the STOF cycle for retransmitting data.
[0009] In an exemplary embodiment of the present disclosure, when the CC node does not receive ACKs replied by at least one RN node and determines that a transmission loss has occurred, it includes:
[0010] The CC node sends the STOF to the RN node. After receiving the STOF from the CC node within its corresponding time window in sequence, the RN node sends data to the nodes connected to it and returns an ACK to the CC node. Among them, the time window corresponding to the RN node itself refers to the time segment preset for each node to send data.
[0011] If the CC node does not receive the ACK replied by at least one RN node, it is determined that a transmission loss has occurred.
[0012] In an exemplary embodiment of the present disclosure, the CC node notifies the RN node that has not replied with an ACK to re - send data within the safe time, including:
[0013] Within the safe time, the CC node re - transmits the STOF to at least one RN node that has not replied with an ACK respectively, so that at least one RN node re - sends data to the nodes connected to it.
[0014] The CC node receives the ACK replied by at least one RN node.
[0015] In an exemplary embodiment of the present disclosure, after the CC node notifies the RN node that has not replied with an ACK to re - send data within the safe time, it further includes:
[0016] If the CC node does not receive the ACK replied by the RN node, it is determined that the RN node has failed.
[0017] In an exemplary embodiment of the present disclosure, after determining that the RN node has failed, it further includes:
[0018] For the RN node that has failed, the CC node no longer sends the STOF to this RN node.
[0019] An embodiment of the present disclosure further provides a CC node, including:
[0020] A judgment module, configured to: based on the 1394 bus, in the STOF cycle, if the CC node does not receive the ACK replied by at least one RN node, determine that a transmission loss has occurred;
[0021] A processing module, configured to: the CC node notifies the RN node that has not replied with an ACK to re - send data within the safe time; where the safe time is the time segment reserved in the STOF cycle for re - sending data.
[0022] In an exemplary embodiment of the present disclosure, the judgment module is specifically configured to:
[0023] The CC node sends the STOF to the RN node. After receiving the STOF from the CC node within its corresponding time window in sequence, the RN node sends data to the nodes connected to it and replies with an ACK to the CC node. Among them, the time window corresponding to the RN node itself refers to the time segment preset for each node to send data.
[0024] If the CC node does not receive the ACK replied by at least one RN node, it is determined that a transmission loss has occurred.
[0025] In an exemplary embodiment of the present disclosure, the processing module is specifically configured as:
[0026] During the safe time, the CC node retransmits the STOF to at least one RN node that has not replied with an ACK, so that at least one RN node resends data to the nodes connected to it.
[0027] The CC node receives the ACK replied by at least one RN node.
[0028] In an exemplary embodiment of the present disclosure, the node further includes:
[0029] A fault diagnosis module, configured as: if the CC node does not receive the ACK replied by the RN node, it is determined that the RN node is faulty.
[0030] A fault handling module, configured as: for the faulty RN node, the CC node no longer sends the STOF to this RN node.
[0031] An embodiment of the present disclosure also provides a method for handling a 1394 bus fault. The 1394 bus includes a CC node and at least one RN node. The method includes:
[0032] During the STOF period, if the CC node does not receive the ACK replied by at least one RN node, it is determined that a transmission loss has occurred.
[0033] The CC node notifies the RN node that has not replied with an ACK to resend data within the safe time. Among them, the safe time is the time segment reserved in the STOF period for resending data.
[0034] If the CC node does not receive the ACK replied by the RN node, it is determined that the RN node is faulty.
[0035] Among all N RN nodes of the bus, if at least M RN nodes fail, it is determined that the bus has failed, where 1 ≤ M ≤ N.
[0036] Reset the faulty bus.
[0037] In the embodiments of the present disclosure, in the case of transmission loss occurring on the 1394 bus, a safety time is reserved within the STOF cycle and the lost data is retransmitted within the safety time, thereby improving the reliability of data transmission on the 1394 bus through the retransmission mechanism.
[0038] In the embodiments of the present disclosure, an RN node that still does not reply with an ACK during data retransmission is determined as a faulty node, and in the case of a fault occurring in the RN node, the faulty RN node is isolated. Thus, the faulty RN node is processed in a timely manner, further improving the reliability of data transmission on the 1394 bus.
[0039] Other features and advantages of the present disclosure will be set forth in the following description, and in part will be obvious from the description, or may be learned by practice of the present disclosure. The objectives and other advantages of the present disclosure may be realized and attained by the structure particularly pointed out in the specification, the claims as well as the drawings. Description of the Drawings
[0040] The drawings are used to provide a further understanding of the technical solutions of the present disclosure, and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the technical solutions of the present disclosure, and do not constitute a limitation to the technical solutions of the present disclosure.
[0041] Figure 1 is a schematic diagram of the 1394 bus topology structure according to an embodiment of the present disclosure;
[0042] Figure 2 is a timing diagram of bus data transmission according to an embodiment of the present disclosure;
[0043] Figure 3 is a flowchart of a bus data retransmission method according to an embodiment of the present disclosure;
[0044] Figure 4A is a schematic diagram of the data timing of the first time segment according to an embodiment of the present disclosure;
[0045] Figure 4B is a schematic diagram of the data timing of the second time segment according to an embodiment of the present disclosure;
[0046] Figure 4C is a schematic diagram of the data timing of the third time segment according to an embodiment of the present disclosure;
[0047] Figure 5A is a schematic diagram of the data timing of the third time segment according to another embodiment of the present disclosure;
[0048] Figure 5B is a schematic diagram of the data timing of the fourth time segment according to an embodiment of the present disclosure;
[0049] Figure 6 is a schematic diagram of node failure according to an embodiment of the present disclosure;
[0050] Figure 7 is a schematic diagram of a node according to an embodiment of the present disclosure;
[0051] Figure 8 is a schematic diagram of a bus fault according to an embodiment of the present disclosure. Detailed implementation manners
[0052] The present disclosure describes multiple embodiments, but the description is exemplary rather than restrictive, and it will be apparent to those of ordinary skill in the art that there can be more embodiments and implementation solutions within the scope covered by the embodiments described in the present disclosure. Although many possible feature combinations are shown in the drawings and discussed in the detailed implementation manners, many other combination ways of the disclosed features are also possible. Unless specifically restricted, any feature or element of any embodiment can be combined with any other feature or element in any other embodiment, or can replace any other feature or element in any other embodiment.
[0053] The present disclosure includes and contemplates combinations with features and elements known to those of ordinary skill in the art. The embodiments, features, and elements already disclosed in the present disclosure can also be combined with any conventional features or elements to form unique inventive solutions defined by the claims. Any feature or element of any embodiment can also be combined with features or elements from other inventive solutions to form another unique inventive solution defined by the claims. Therefore, it should be understood that any feature shown and / or discussed in the present disclosure can be implemented alone or in any suitable combination. Therefore, the embodiments are not subject to other restrictions except those made according to the appended claims and their equivalent replacements. In addition, various modifications and changes can be made within the scope of the appended claims.
[0054] In addition, when describing representative embodiments, the specification may have presented the method and / or process as a specific sequence of steps. However, to the extent that the method or process does not depend on the specific order of the steps described herein, the method or process should not be limited to the specific order of the steps described. As will be understood by those of ordinary skill in the art, other step sequences are possible. Therefore, the specific order of the steps set forth in the specification should not be construed as a limitation on the claims. In addition, the claims directed to the method and / or process should not be limited to performing their steps in the order written, and those skilled in the art can easily understand that these orders can be varied and still remain within the spirit and scope of the embodiments of the present disclosure.
[0055] The 1394 bus topology is as Figure 1As shown in the figure. The bus topology includes a control node (CC, Control Computer) and at least one remote node (RN, Remote Node). Among them, the CC node serves as the node controller of the 1394 bus and has functions such as cycle control, isochronous source management, and bus management. The CC node sends a frame start (STOF, Start of Frame) packet periodically to notify all nodes on the bus that a new frame has started, and completes bus synchronization through the STOF packet. The period is the STOF period, and the period time can be set. The RN node, as a remote node, binds different node IDs and channel numbers according to the pre-allocation of the bus channel. After receiving the STOF packet, the RN node confirms the start of a new frame and sends data when its own node time offset arrives according to the pre-allocated time offset and bandwidth.
[0056] Figure 2 is the timing diagram of bus data transmission, as Figure 2 shown. After each RN node receives its own STOFn (n≥1, representing the node ID) packet, it starts to send data. Each node has its own time window for sending data, which is uniformly controlled by the CC node. After each RN node sends data, it sends an acknowledgment character (ACK, Acknowledge character) back to the CC node.
[0057] If the RN node does not send an ACK back to the CC node, it indicates that a transmission loss has occurred. If the transmission loss is not handled, it will affect the reliability of bus transmission.
[0058] Regarding the problem of transmission loss, an embodiment of the present disclosure proposes a bus data retransmission method, which is applied to the 1394 bus. The 1394 bus includes a CC node and at least one RN node. The method is as Figure 3 shown and includes:
[0059] Step S101, in the STOF period, if the CC node does not receive ACKs replied by at least one RN node, it is determined that a transmission loss has occurred;
[0060] Step S102, the CC node notifies the RN node that has not replied with an ACK to retransmit data within the safe time; where the safe time is the time segment reserved in the STOF period for retransmitting data.
[0061] In an exemplary embodiment of the present disclosure, for the CC node in step S101 not receiving ACKs replied by at least one RN node and determining that a transmission loss has occurred, it includes:
[0062] The CC node sends STOF to the RN node. After receiving the STOF from the CC node within its corresponding time window in sequence, the RN node sends data to the nodes connected to it and returns ACK to the CC node. Among them, the time window corresponding to the RN node itself refers to the time segment preset for each node to send data.
[0063] If the CC node does not receive the ACK replied by at least one RN node, it is determined that a transmission loss has occurred.
[0064] In an exemplary embodiment of the present disclosure, the CC node in step S102 notifies the RN node that has not replied ACK to re - send data within the safe time, including:
[0065] Within the safe time, the CC node re - transmits the STOF to at least one RN node that has not replied ACK respectively, so that at least one RN node re - sends data to the nodes connected to it;
[0066] The CC node receives the ACK replied by at least one RN node.
[0067] In an exemplary embodiment of the present disclosure, the 1394 bus topology structure includes three nodes, one CC node and two RN nodes (denoted as RN1 node and RN2 node). The STOF period is one second. The time window for the CC node to send data is from 0ms to 200ms, denoted as the first time window; the time window for the RN1 node to send data is from 200ms to 400ms, denoted as the second time window; the time window for the RN2 node to send data is from 400ms to 600ms, denoted as the third time window; the safe time is from 600ms to 1000ms, denoted as the fourth time window. As Figure 4A shown, within the first time window, the CC node sends data to the RN1 node and the RN2 node, and the two RN nodes reply ACK after receiving the data. As Figure 4B shown, within the second time window, after receiving STOF1, the RN1 node sends data to the CC node and the RN2 node respectively, and returns ACK to the CC node. As Figure 4C shown, within the third time window, after receiving STOF2, the RN2 node sends data to the RN1 node and returns ACK to the CC node. If the CC node receives the ACK replied by the RN1 node and the RN2 node, there is no need to re - transmit data within the safe time. After the end of the first STOF cycle, the second STOF cycle starts, and the data transmission in the first to fourth time windows is repeated.
[0068] In an exemplary embodiment of the present disclosure, as Figure 5A 、 Figure 5BAs shown in the figure, during the third time window of the second STOF cycle, the CC node does not receive the ACK from the RN2 node, indicating a transmission loss. Then, within the safety time, the CC node retransmits STOF2t (where t represents a retransmitted STOF2) to the RN2 node. After receiving STOF2t, the RN2 node retransmits the corresponding data within the third time window and replies with an ACK to the CC node. The CC node receives the ACK from the RN2, and the data retransmission is successful.
[0069] In the embodiment of the present disclosure, in the case of a transmission loss occurring on the 1394 bus, a safety time is reserved within the STOF cycle, and the lost data is retransmitted within the safety time, thereby improving the reliability of data transmission on the 1394 bus through the retransmission mechanism.
[0070] In an exemplary embodiment of the present disclosure, after the CC node in step S102 notifies the RN node that has not replied with an ACK to retransmit data within the safety time, it further includes:
[0071] The CC node does not receive the ACK replied by the RN node and determines that the RN node has failed.
[0072] In an exemplary embodiment of the present disclosure, after determining that the RN node has failed, it further includes:
[0073] For the RN node that has failed, the CC node no longer sends STOF to this RN node.
[0074] In an exemplary embodiment of the present disclosure, as Figure 6 shown in the figure, within one STOF cycle, the CC node does not receive the ACK from the RN1 node. The RN1 node retransmits the data within the safety time. After the RN1 node retransmits the data, the CC node still does not receive the ACK from the RN1 node, then it is determined that the RN1 node has failed and the RN1 node is isolated. The CC node no longer sends STOF to the RN1 node to isolate the RN1 node.
[0075] The embodiment of the present disclosure determines the RN node that still does not reply with an ACK during data retransmission as a faulty node, and in the case of an RN node failure, isolates the faulty RN node. Thus, the faulty RN node is processed in a timely manner, further improving the reliability of data transmission on the 1394 bus.
[0076] An embodiment of the present disclosure also proposes a CC node, as Figure 7 shown in the figure, including:
[0077] A judgment module, configured to: based on the 1394 bus, within the STOF cycle, when the CC node does not receive the ACK replied by at least one RN node, determine that a transmission loss has occurred;
[0078] A processing module is configured to: the CC node notifies the RN node that has not replied with an ACK to re - send data within a safe time; wherein, the safe time is a time segment reserved in the STOF cycle for re - sending data.
[0079] In an exemplary embodiment of the present disclosure, the hardware circuit that the CC node can adopt includes, but is not limited to, an FPGA chip or an SOC chip.
[0080] In an exemplary embodiment of the present disclosure, a judgment module is specifically configured to:
[0081] The CC node sends a STOF to the RN node. After the RN node receives the STOF from the CC node within its corresponding time window in sequence, it sends data to the node connected to it and replies with an ACK to the CC node; wherein, the time window corresponding to the RN node itself refers to a time segment preset for each node to send data.
[0082] If the CC node does not receive the ACK replied by at least one RN node, it is determined that a transmission loss has occurred.
[0083] In an exemplary embodiment of the present disclosure, a processing module is specifically configured to:
[0084] Within the safe time, the CC node re - transmits the STOF to at least one RN node that has not replied with an ACK respectively, so that at least one RN node re - sends data to the node connected to it.
[0085] The CC node receives the ACK replied by at least one RN node.
[0086] In an exemplary embodiment of the present disclosure, the node further includes:
[0087] A fault diagnosis module is configured to: if the CC node does not receive the ACK replied by the RN node, it is determined that the RN node has a fault.
[0088] A fault handling module is configured to: for the RN node with a fault, the CC node no longer sends a STOF to this RN node.
[0089] In the node of the embodiment of the present disclosure, in the case of a transmission loss, a safe time is reserved within the STOF cycle and the lost data is re - sent within the safe time, thereby improving the reliability of data transmission of the node.
[0090] An embodiment of the present disclosure also proposes a method for handling a 1394 bus fault. The 1394 bus includes a CC node and at least one RN node. The method includes:
[0091] During the STOF cycle, when the CC node does not receive ACKs replied by at least one RN node, it determines that a transmission loss has occurred;
[0092] The CC node notifies the RN nodes that have not replied with ACKs to re - send data within the safe time; where the safe time is the time segment reserved for re - sending data in the STOF cycle;
[0093] When the CC node does not receive the ACK replied by the RN node, it determines that the RN node has failed;
[0094] Among all N RN nodes on the bus, if at least M RN nodes have failed, it is determined that the bus has failed, where 1 ≤ M ≤ N;
[0095] Reset the failed bus.
[0096] In an exemplary embodiment of the present disclosure, as Figure 8 shown, when both the RN1 node and the RN2 node have failed, it is determined that the bus has failed. Reset the failed bus.
[0097] In the embodiment of the present disclosure, when the bus has failed, the failed bus is reset. Thus, the failed bus is processed, further improving the reliability of data transmission on the 1394 bus.
[0098] Those of ordinary skill in the art will understand that all or some of the steps in the methods disclosed above, and the functional modules / units in systems and devices, can be implemented as software, firmware, hardware, and appropriate combinations thereof. In the hardware implementation, the division of functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be executed by several physical components in cooperation. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or a microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or transitory medium). As is well known to those of ordinary skill in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those of ordinary skill in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium.
Claims
1. A bus data retransmission method is applied to a 1394 bus. The 1394 bus includes a CC node and at least one RN node. The method includes: During the STOF cycle, when the CC node does not receive ACKs replied by at least one RN node, it is determined that a transmission loss has occurred. The CC node notifies the RN nodes that have not replied with ACKs to retransmit data within the safe time. The safe time is a time segment reserved in the STOF cycle for retransmitting data. Among them, when the CC node does not receive ACKs replied by at least one RN node and determines that a transmission loss has occurred, it includes: The CC node sends STOF to the RN nodes. After the RN nodes receive the STOF from the CC node in their corresponding time windows in sequence, they send data to the nodes connected to them and reply with ACKs to the CC node. The time window corresponding to the RN node itself refers to a time segment preset for each node to send data. The CC node does not receive ACKs replied by at least one RN node and determines that a transmission loss has occurred.
2. The bus data retransmission method according to claim 1, wherein when the CC node notifies the RN nodes that have not replied with ACKs to retransmit data within the safe time, it includes: During the safe time, the CC node retransmits STOF to at least one RN node that has not replied with ACK respectively, so that at least one RN node retransmits data to the nodes connected to it; The CC node receives ACKs replied by at least one RN node.
3. After the CC node notifies the RN nodes that have not replied with ACKs to retransmit data within the safe time according to claim 1, it further includes: When the CC node does not receive ACKs replied by the RN nodes, it determines that the RN node is faulty.
4. After determining that the RN node is faulty according to claim 3, it further includes: For the faulty RN node, the CC node no longer sends STOF to this RN node.
5. A node includes: A judgment module is set to: Based on the 1394 bus, during the STOF cycle, when the CC node does not receive ACKs replied by at least one RN node, it is determined that a transmission loss has occurred. A processing module is set to: The CC node notifies the RN nodes that have not replied with ACKs to retransmit data within the safe time. The safe time is a time segment reserved in the STOF cycle for retransmitting data. Among them, the judgment module is specifically set to: The CC node sends STOF to the RN nodes. After the RN nodes receive the STOF from the CC node in their corresponding time windows in sequence, they send data to the nodes connected to them and reply with ACKs to the CC node. The time window corresponding to the RN node itself refers to a time segment preset for each node to send data. The CC node does not receive ACKs replied by at least one RN node and determines that a transmission loss has occurred.
6. The node according to claim 5, wherein The processing module is specifically configured to: during the safety time, the CC node retransmits the STOF to at least one RN node that has not replied with an ACK, so that at least one RN node retransmits data to the node connected thereto; The CC node receives ACKs replied by at least one RN node.
7. A node according to claim 6, further comprising: A fault diagnosis module, configured to: when the CC node does not receive an ACK replied by an RN node, determine that the RN node has a fault; A fault handling module, configured to: for an RN node that has a fault, the CC node no longer sends the STOF to the RN node.
8. A method for handling a 1394 bus fault, the 1394 bus includes a CC node and at least one RN node, and the method includes: During the STOF period, when the CC node does not receive ACKs replied by at least one RN node, it is determined that a transmission loss has occurred; The CC node notifies the RN nodes that have not replied with ACKs to retransmit data within the safety time; wherein, the safety time is a time segment reserved in the STOF period for retransmitting data; When the CC node does not receive an ACK replied by an RN node, it is determined that the RN node has a fault; Among all N RN nodes of the bus, when at least M RN nodes have faults, it is determined that the bus has a fault, where 1 ≤ M ≤ N; Reset the faulty bus; When the CC node does not receive ACKs replied by at least one RN node and determines that a transmission loss has occurred, it includes: The CC node sends the STOF to the RN node. After the RN node receives the STOF from the CC node in its corresponding time window in sequence, it sends data to the node connected thereto and replies with an ACK to the CC node; wherein, the time window corresponding to the RN node itself refers to a time segment preset for each node to send data; When the CC node does not receive ACKs replied by at least one RN node, it is determined that a transmission loss has occurred.
Citation Information
Patent Citations
Data transmission method and related device
CN106982108A
Data retransmission method and data retransmission device
CN110784289A