CN111314192A - Method for transmitting data between high-speed bus structure and communication node - Google Patents

Method for transmitting data between high-speed bus structure and communication node Download PDF

Info

Publication number
CN111314192A
CN111314192A CN202010293917.0A CN202010293917A CN111314192A CN 111314192 A CN111314192 A CN 111314192A CN 202010293917 A CN202010293917 A CN 202010293917A CN 111314192 A CN111314192 A CN 111314192A
Authority
CN
China
Prior art keywords
arbitration
data
frame
communication node
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010293917.0A
Other languages
Chinese (zh)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
United Huaxin Electronics Co Ltd
Original Assignee
United Huaxin Electronics Co Ltd
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 United Huaxin Electronics Co Ltd filed Critical United Huaxin Electronics Co Ltd
Priority to CN202010293917.0A priority Critical patent/CN111314192A/en
Publication of CN111314192A publication Critical patent/CN111314192A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/4013Management of data rate on the bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Abstract

The invention provides a method for transmitting data between a high-speed bus structure and a communication node, which comprises the following steps: at least two pairs of data buses, one pair of arbitration buses and a plurality of communication nodes; each communication node is respectively connected in parallel and hung on each data bus and the arbitration bus; the arbitration bus is used for arbitrating the data bus and transmitting the data bus by taking an arbitration frame as a unit, each arbitration frame comprises at least two arbitration time periods, each arbitration time period selects a winning communication node, and the winning communication node obtains the use right of the next data frame of the target data bus. The invention realizes the requirements of high-speed, reliable and real-time communication among a plurality of communication nodes by utilizing a high-speed bus structure.

Description

Method for transmitting data between high-speed bus structure and communication node
Technical Field
The present invention relates to the field of data transmission, and more particularly, to a method for transmitting data between a high-speed bus structure and a communication node.
Background
A CAN (Controller Area Network) bus has been widely used in the fields of automobile application, industrial automation, and the like because of its advantages of high reliability, real-time performance, and the like.
The CAN bus only comprises a pair of differential signal lines, adopts serial data transmission and has simple structure; the method supports multi-master communication, namely each node device can actively initiate data communication to other node devices on the network at any time, and the communication sequence is determined according to the priority of the identifier of each node device; when a plurality of node devices simultaneously initiate communication, the avoidance priority with low priority is high. However, the bus rate is limited, and is up to 1Mbps (the communication distance is less than 40 meters), and the data frame of the CAN bus CAN transmit at most 8 bytes of effective data each time, which cannot meet the design requirement of large data volume high-speed communication among a plurality of node devices. In addition, when there are many node devices hanging on the bus, communication conflicts are easy to occur, only one node device is allowed to obtain the right of use of the bus for data transmission by arbitration each time, and other node devices have to wait, so that the bus rate is limited.
Disclosure of Invention
The invention aims to provide a high-speed bus structure and a method for transmitting data among communication nodes, which can realize the requirements of high-speed and real-time communication among a plurality of communication nodes by using a high-speed bus under the multipoint interconnection application occasion and have high transmission efficiency and high reliability.
The technical scheme provided by the invention is as follows:
a high speed bus structure comprising: at least two pairs of data buses, wherein all the data buses transmit by taking a data frame as a unit; a pair of arbitration buses for arbitration of the data buses; the arbitration bus takes arbitration frames as a unit for transmission, the transmission time of the arbitration frames is the same as that of the data frames, each arbitration frame comprises at least two arbitration time periods, and each arbitration time period arbitrates a winning communication node of the time period; the communication nodes are respectively connected in parallel and hung on the data buses and the arbitration bus; each communication node includes: the arbitration interface module is used for sending the identifier of the arbitration interface module to the arbitration bus; the data sending module is used for sending own data to a target data bus; the control module is used for controlling the arbitration interface module to send the identifier of the arbitration interface module to the arbitration bus in the current arbitration time period of the current arbitration frame when the data sending requirement of the arbitration interface module is detected; when detecting that the identifier is successfully sent, the communication node is a winning communication node in the time period, and controls the data sending module to send own data to a target data bus in the next data frame, and meanwhile, the identifier is not sent in the current arbitration frame; when the identifier transmission failure is detected and the current arbitration time period is not the last arbitration time period of the current arbitration frame, controlling the arbitration interface module to retransmit the identifier to the arbitration bus in the next arbitration time period of the current arbitration frame until the identifier transmission is successful or the last arbitration time period of the current arbitration frame is reached.
Further preferably, the control module is further configured to send no data on the target data bus of the next data frame when no communication node sends an identifier in the current arbitration period of the current arbitration frame.
It is further preferred that the number of arbitration periods per arbitration frame is equal to the number of data buses.
It is further preferred that each arbitration frame further comprises a check period for checking whether there is a pending communication node queued.
Further preferably, the control module is further configured to, when the check time period of the current arbitration frame indicates that there are waiting communication nodes, reduce the transmission probability of the identifier of the communication node that has obtained the data transmission right in the current arbitration frame; and when the transmission probability of the identifier of the communication node with the data transmission requirement is greater than a preset threshold in the current arbitration time period of the current arbitration frame, controlling the arbitration interface module to transmit the identifier of the communication node to the arbitration bus so as to participate in data transmission right election of the data bus.
The invention also provides a method for transmitting data between the communication nodes, which comprises the following steps: in the current arbitration time period of the current arbitration frame, the communication node with the data transmission requirement transmits the identifier of the communication node to an arbitration bus to participate in data transmission right election of the data bus; when the identifier is detected to be successfully sent, the communication node is a winner communication node of the time period, and sends own data to a target data bus in the next data frame, and meanwhile, the identifier is not sent in the current arbitration frame; when the identifier transmission failure is detected and the current arbitration period is not the last arbitration period of the current arbitration frame, the communication node retransmits the identifier onto the arbitration bus in the next arbitration period of the current arbitration frame until the identifier transmission is successful or the last arbitration period of the current arbitration frame has been reached.
Further preferably, the method further comprises the following steps: and when no communication node sends the identifier in the current arbitration time period of the current arbitration frame, no data is sent on the target data bus of the next data frame.
It is further preferred that the number of arbitration periods per arbitration frame is equal to the number of data buses.
It is further preferred that each arbitration frame further comprises a check period for checking whether there is a pending communication node queued.
Further preferably, when the checking time period of the current arbitration frame indicates that there are waiting communication nodes, the communication node that has obtained the data transmission right in the current arbitration frame reduces its own identifier transmission probability; in the current arbitration period of the current arbitration frame, the communication node having a data transmission requirement transmits its identifier to the arbitration bus to participate in data transmission right election of the data bus, further comprising: and in the current arbitration time period of the current arbitration frame, when the identifier sending probability of the communication node with the data sending requirement is greater than a preset threshold, sending the identifier of the communication node to the arbitration bus so as to participate in data sending right competition of the data bus.
The method for transmitting data between the high-speed bus structure and the communication nodes can bring at least one of the following beneficial effects:
1. the arbitration bus is separated from the data bus, so that the transmission rate of the data bus can be improved, and the transmission rate of the arbitration bus is reduced on the premise of ensuring the transmission rate of the data bus, so that the reliability of the system is improved;
2. the invention can reduce the transmission delay caused by collision and improve the transmission efficiency of the data bus by providing a plurality of pairs of data buses and a plurality of arbitration opportunities in an arbitration frame;
3. the invention properly reduces the identifier sending probability of the high-priority communication node, avoids overlong waiting time of the low-priority communication node, and thus improves the fairness of the data bus.
Drawings
The above features, technical features, advantages and modes of realisation of a method of transmitting data between a high speed bus structure and communication nodes will be further explained in the following, in an explicitly understood manner, with reference to the accompanying drawings, which illustrate preferred embodiments.
FIG. 1 is a schematic diagram of one embodiment of a high speed bus architecture of the present invention;
FIG. 2 is a flow chart of one embodiment of a method of transmitting data between communication nodes of the present invention;
fig. 3 is a flow chart of another embodiment of a method of transmitting data between communication nodes of the present invention.
The reference numbers illustrate:
100. the system comprises an arbitration interface module, a control module and a data sending module, wherein the arbitration interface module comprises 200.
Detailed Description
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following description will be made with reference to the accompanying drawings. It is obvious that the drawings in the following description are only some examples of the invention, and that for a person skilled in the art, other drawings and embodiments can be derived from them without inventive effort.
For the sake of simplicity, the drawings only schematically show the parts relevant to the present invention, and they do not represent the actual structure as a product. In addition, in order to make the drawings concise and understandable, components having the same structure or function in some of the drawings are only schematically illustrated or only labeled. In this document, "one" means not only "only one" but also a case of "more than one".
In one embodiment of the present invention, as shown in FIG. 1, a high speed bus architecture comprises: at least two pairs of data buses, wherein all the data buses transmit by taking a data frame as a unit; a pair of arbitration buses for arbitration of the data buses; the arbitration bus takes arbitration frames as a unit for transmission, the transmission time of the arbitration frames is the same as that of the data frames, each arbitration frame comprises at least two arbitration time periods, and each arbitration time period arbitrates a winning communication node of the time period; and the communication nodes are respectively connected in parallel and hung on the data buses and the arbitration bus.
Specifically, an arbitration frame and a data frame on the CAN bus are multiplexed on the same bus in a time-sharing manner, and the arbitration frame limits the transmission rate of the data frame. In order to increase the transmission rate of the data bus, the arbitration bus is separated from the data bus in the present invention. Arbitration information is sent on an arbitration bus, data information is sent on a data bus, the data bus can adopt a completely different high-speed channel coding transmission scheme from the arbitration bus, the data bus has a higher symbol modulation rate to meet the high-speed transmission requirement, and the arbitration bus has a lower symbol modulation rate to ensure the arbitration reliability.
The bus structure shown in fig. 1 includes two pairs of independently operating data buses and one pair of arbitration buses, where the data bus 1 is formed by one pair of conductors, the data bus 2 is formed by the other pair of conductors, and the arbitration bus is formed by one pair of conductors. Fig. 1 is only an example, the bus structure according to the present invention may also include three or more pairs of data buses, and increasing the number of data buses may improve the bus transmission rate and efficiency, and reduce the transmission delay caused by collision; however, too many pairs of data buses increase the manufacturing cost, and in practical applications, a compromise between transmission efficiency and manufacturing cost is required.
The arbitration bus is transmitted according to arbitration frames, one arbitration frame comprises a plurality of arbitration time periods, each arbitration time period is the identifier sending time of each communication node, the communication nodes are arbitrated according to the priority of the identifiers when colliding, the arbitration bus arbitrates the identifiers of the communication nodes participating in data sending right competition in the arbitration time period, only the identifiers with high priority are presented on the arbitration bus, and the communication node corresponding to the identifier with high priority is the winner communication node of the arbitration time period.
The data bus is transmitted according to data frames, the transmission time of one data frame is the same as that of one arbitration frame, but the data volume transmitted in the same time is different, and the data volume of the data frame is larger than that of the arbitration frame, so that the transmission rate of the data bus is high.
Since there are at least 2 pairs of data buses, an arbitration frame contains at least 2 arbitration periods, and at least the 2-bit winning communication node can be decided to transmit data of the next data frame. Preferably, the number of arbitration periods contained within each arbitration frame is equal to the number of data buses. If smaller, it is liable to cause waste of the data bus.
During each arbitration period of each arbitration frame, the winning communication node will obtain the right to transmit the next data frame of the data bus for transmitting a frame of data. The data frame comprises an identifier of the receiving equipment, so that the receiving equipment can identify whether the data is sent to the receiving equipment, and if so, the data is received; otherwise, the process is abandoned.
Each communication node includes:
an arbitration interface module 100 for sending its own identifier onto the arbitration bus;
a data sending module 300, configured to send data of itself to a target data bus;
the control module 200 is used for controlling the arbitration interface module to send the identifier of the arbitration interface module to the arbitration bus in the current arbitration time period of the current arbitration frame when the data sending requirement of the arbitration interface module is detected; when detecting that the identifier is successfully sent, the communication node is a winning communication node in the time period, and controls the data sending module to send own data to a target data bus in the next data frame, and meanwhile, the identifier is not sent in the current arbitration frame; when the identifier transmission failure is detected and the current arbitration time period is not the last arbitration time period of the current arbitration frame, controlling the arbitration interface module to retransmit the identifier to the arbitration bus in the next arbitration time period of the current arbitration frame until the identifier transmission is successful or the last arbitration time period of the current arbitration frame is reached.
Specifically, each communication node has a unique identifier for identifying itself, and the identifier is composed of one or more symbols. Before sending data, each communication node must first send its own identifier on the arbitration bus, and after the own identifier is successfully sent on the arbitration bus, the communication node obtains the use authority of the target data bus, and then can send data on the next frame of the target data bus. The arbitration bus is transmitted according to arbitration frames, one arbitration frame at least comprises 2 arbitration time periods, and the arbitration time periods are used for the communication nodes to send identifiers. During the current arbitration period, the communication node having the data transmission requirement can transmit the identifier of the communication node to the arbitration bus in a bit mode so as to participate in data transmission right competition.
After the communication node sends a bit symbol of the identifier, monitoring the symbol on the arbitration bus; when the symbol on the arbitration bus is different from the symbol sent by the communication node, the sending of the identifier is considered to be failed, and the sending of the subsequent symbol of the identifier is stopped; when the symbol on the arbitration bus is the same as the symbol sent by the communication node, indicating that the communication node successfully sends the one-bit symbol of the identifier; if there are more symbols to send, continuing to send the next symbol of the identifier; when the communication node successfully transmits all symbols of the identifier, the transmission of the identifier is considered successful.
When a plurality of communication nodes transmit identifiers in a certain arbitration time period at the same time, the identifiers can be correctly transmitted to the communication nodes on the arbitration bus to obtain the winner of the arbitration, and the communication nodes become the winner of the arbitration time period. The winning communication node of the arbitration time period obtains the right of use of the next data frame of the target data bus, namely, the winning communication node can transmit own data to the data bus from the starting time of the next data frame. The target data bus is a data bus corresponding to the arbitration time period. The start time of the next data frame may be located after the end point of the corresponding arbitration period, or may be located after the end point of the arbitration frame to which the corresponding arbitration period belongs. While the winning communication node stops sending its own identifier within the arbitration frame.
If the identifier transmission failure is detected and the current arbitration time period is not the last arbitration time period of the current arbitration frame, the communication node can continue to participate in subsequent arbitration, and continues to transmit the identifier to participate in data transmission right competition when the next arbitration time period of the current arbitration frame arrives, namely continues to transmit the identifier to obtain the use right of the target data bus when the next arbitration time period becomes the current arbitration time period.
Example (c): the bus structure comprises 1 pair of arbitration buses and 3 pairs of data buses, each arbitration frame comprises 3 arbitration time periods, the winning communication node of each arbitration time period obtains the data transmission right of the target data bus corresponding to the arbitration time period, for example, the target data bus of the 1 st arbitration time period is the 1 st pair of data bus, the target data bus of the 2 nd arbitration time period is the 2 nd pair of data bus, the target data bus of the 3 rd arbitration time period is the 3 rd pair of data bus, the winning communication node of the 1 st arbitration period of the current arbitration frame obtains the transmission of the 1 st data frame to the data bus, the winning communication node of the 2 nd arbitration period obtains the transmission of the 2 nd data frame to the data bus, and the winning communication node of the 3 rd arbitration period obtains the transmission of the 3 rd data frame to the data bus.
If the communication node obtains arbitration success in the 1 st arbitration time period of the current arbitration frame, the communication node is the winning communication node of the arbitration time period, and obtains data transmission of the next data frame of the data bus in the 1 st arbitration time period, and meanwhile, the communication node stops continuously transmitting the identifier of the communication node in the current arbitration frame, namely, the communication node does not participate in arbitration of the 2 nd and 3 rd arbitration time periods of the current arbitration frame. In the arbitration frame, the communication node obtains the data sending opportunity and does not participate in the subsequent competition of the data bus, so that the opportunity can be given to other equipment, and the fairness is increased.
If the communication node does not obtain arbitration wins in the 1 st arbitration period of the current arbitration frame, the communication node can continue to participate in the 2 nd arbitration of the current arbitration frame, and resend its own identifier in the 2 nd arbitration period. If the 2 nd arbitration fails, the 3 rd arbitration of the current arbitration frame can also be participated. If the 2 nd arbitration is successful, the communication node obtains to send data in the 2 nd data frame of the data bus while not participating in the 3 rd arbitration.
Each arbitration frame decides 3 dominant communication nodes at most, and each dominant communication node respectively obtains the data transmission right of the next data frame of different data buses.
Optionally, when no communication node sends an identifier in the current arbitration period of the current arbitration frame, no data is sent on the target data bus in the next data frame. Continuing with the above example, assume that no communication node transmits an identifier during the 3 rd arbitration period, indicating that no other communication node has a data transmission requirement, so no data is transmitted on the 3 rd pair data bus.
In this embodiment, a device that does not compete successfully has multiple arbitration opportunities in one arbitration frame, and can continue to transmit an identifier. At the next arbitration frame, all devices are again participating in arbitration.
Due to the fact that multiple pairs of data buses exist, multiple communication nodes can compete out to obtain the use right of the data buses in each arbitration frame, and therefore the transmission rate of the data buses is improved.
In another embodiment of the present invention, as shown in FIG. 1, a high speed bus architecture comprises: at least two pairs of data buses, wherein all the data buses transmit by taking a data frame as a unit; a pair of arbitration buses for arbitration of the data buses; the arbitration bus takes arbitration frames as a unit for transmission, the transmission time of the arbitration frames is the same as that of the data frames, each arbitration frame comprises at least two arbitration time periods, and each arbitration time period arbitrates a winning communication node of the time period; the arbitration frame also comprises a checking time period which is used for checking whether the waiting communication nodes exist; and the communication nodes are respectively connected in parallel and hung on the data buses and the arbitration bus.
Each communication node includes:
an arbitration interface module 100 for sending its own identifier onto the arbitration bus;
a data sending module 300, configured to send data of itself to a target data bus;
the control module 200 is configured to control the arbitration interface module to send the identifier of the control module to the arbitration bus when it is detected that the control module has a data sending requirement and the identifier sending probability is greater than a preset threshold; when the identifier of the arbitration time period is detected to be successfully sent, the communication node is a winning communication node of the time period, and the data sending module is controlled to send own data to a target data bus in the next data frame, and meanwhile, the identifier is not sent in the current arbitration frame; when the identifier of the arbitration time period is detected to be failed to be sent and the current arbitration time period is not the last arbitration time period of the current arbitration frame, controlling the arbitration interface module to resend the identifier onto the arbitration bus in the next arbitration time period of the current arbitration frame until the identifier is successfully sent or the last arbitration time period of the current arbitration frame is reached; and when no communication node sends an identifier in the current arbitration time period of the current arbitration frame, no data is sent on the target data bus of the next data frame; and when the checking time period of the current arbitration frame indicates that the waiting communication nodes still exist, reducing the transmission probability of the identifier of the communication node when the current arbitration frame obtains the data transmission right.
Specifically, the arbitration frame of the present embodiment includes a verification period in addition to the arbitration period. The checking time period is used for checking whether the waiting communication nodes exist; the waiting communication node has data transmission requirement, but the identifier priority is lower than other communication nodes, so that the data transmission right can not be obtained in the current arbitration frame. The arbitration period is still used to select the winning communication node and obtain the right of use for the next data frame of the target data bus. By checking the identifier transmission condition of the time period, it can be determined whether there is a communication node of low priority waiting for data transmission.
In the arbitration period and the verification period, the communication node having the data transmission requirement can transmit the identifier as long as the identifier transmission probability is greater than the preset threshold before the data transmission right of the data bus is not obtained. In the arbitration time period, the data transmission right is participated in; in the checking period, it indicates that there are more communication nodes to be sent.
And if the waiting communication node does not exist in the checking time period, finishing the processing in the arbitration frame. And if the waiting communication nodes exist in the verification time period, reducing the identifier sending probability of the communication node of which the current arbitration frame has obtained the data sending right. By continuously reducing the identifier transmission probability of the communication node of high priority that has obtained the data transmission right, it is possible to avoid that the communication node of low priority waits too long. When the transmission probability of the identifier of the communication node with high priority is reduced to be lower than the preset threshold, the communication node is not allowed to transmit the identifier to the arbitration bus, so that the communication node with low priority waiting in queue has a chance to obtain the data transmission right. The communication node whose identifier transmission probability is reduced below the preset threshold can recover the identifier transmission probability as the initial value after delaying a plurality of arbitration frames, thereby recovering the competition of the communication node for the data transmission right. The number of delayed arbitration frames can be set according to the application needs.
For example, the bus structure includes 1 pair of arbitration buses and 2 pairs of data buses, and one arbitration frame contains 2 arbitration periods and 1 check period, the arbitration periods preceding the check periods. The two arbitration time periods are used for selecting a winner communication node, obtaining data transmission rights of the 1 st pair of data buses and the 2 nd pair of data buses, and the check time period is used for indicating whether a waiting communication node still exists. Four communication nodes participate in the competition of the data transmission right, and the identifier priority of each communication node is as follows: communication node 1> communication node 2> communication node 3> communication node 4. In the 1 st arbitration period, the communication node 1 wins, obtains the 1 st data transmission right to the data bus, and does not transmit the identifier in the current arbitration frame. During the 2 nd arbitration period, the communication node 2 wins, obtains the 2 nd data transmission right to the data bus, and does not transmit the identifier any more in the current arbitration frame. During the check period, the communication nodes 3, 4 transmit an identifier, which is presented on the arbitration bus for the communication node 3, indicating the presence of a pending communication node waiting in line. And the communication nodes 1 and 2 know that the waiting communication nodes are waiting for sending according to the identifier sending condition of the checking time period, and then reduce the own identifier sending probability. The subsequent arbitration frame repeats the above process, for example, after the arbitration condition lasts for N times, the sending probability of the identifiers of the communication nodes 1 and 2 is reduced to be lower than the threshold, and the sending identifiers are prohibited to participate in the competition of the data bus; the communication nodes 3, 4 start to obtain the data transmission right. After delaying M arbitration frames, the identifier sending probability of the communication nodes 1 and 2 recovers the initial value, and can participate in the arbitration process of the data bus use right.
In this embodiment, when there are many communication nodes with data transmission requirements and data bus collisions are severe, in order to increase fairness, and avoid that a communication node with a low priority cannot obtain the right to use the data bus for a long time, the communication node with a high priority participates in arbitration less by reducing the transmission probability of the identifier of the communication node that has successfully obtained the right to transmit, so as to increase the chance that the communication node with a low priority obtains the right to use the data bus.
In an embodiment of the present invention, as shown in fig. 2, a method for transmitting data between communication nodes is based on the high-speed bus structure described in any of the foregoing embodiments, and includes:
step S100 is that in the current arbitration period of the current arbitration frame, a communication node having a data transmission requirement transmits its own identifier to the arbitration bus to participate in data transmission right election of the data bus.
Specifically, each communication node has a unique identifier for identifying itself, and the identifier is composed of one or more symbols. Before sending data, each communication node must first send its own identifier on the arbitration bus, and after the own identifier is successfully sent on the arbitration bus, the communication node obtains the use authority of the target data bus, and then can send data on the next frame of the target data bus. The arbitration bus is transmitted according to arbitration frames, one arbitration frame at least comprises 2 arbitration time periods, and the arbitration time periods are used for the communication nodes to send identifiers. During the current arbitration period, the communication node having the data transmission requirement can transmit the identifier of the communication node to the arbitration bus in a bit mode so as to participate in data transmission right competition.
Step S200, the communication node detects whether the identifier of the communication node is successfully transmitted.
Specifically, after the communication node sends a bit symbol of the identifier, the communication node monitors the symbol on the arbitration bus; when the symbol on the arbitration bus is different from the symbol sent by the communication node, the sending of the identifier is considered to be failed, and the sending of the subsequent symbol of the identifier is stopped; when the symbol on the arbitration bus is the same as the symbol sent by the communication node, indicating that the communication node successfully sends the one-bit symbol of the identifier; if there are more symbols to send, continuing to send the next symbol of the identifier; when the communication node successfully transmits all symbols of the identifier, the transmission of the identifier is considered successful.
Step S300, when the identifier is successfully transmitted, the communication node is the winning communication node in the time period, and transmits its own data to the target data bus in the next data frame, and does not transmit the identifier in the current arbitration frame any more.
Step S400, when the identifier is detected to be failed to be sent, judging whether the current arbitration time period is the last arbitration time period of the current arbitration frame;
step S500 waits for the next arbitration period of the current arbitration frame to arrive when the current arbitration period is not the last arbitration period of the current arbitration frame, and then goes to step S100 until the identifier is successfully transmitted or the current arbitration period is the last arbitration period of the current arbitration frame.
Specifically, when a plurality of communication nodes transmit an identifier in a certain arbitration period at the same time, the communication node capable of correctly transmitting the identifier to the arbitration bus obtains the arbitration wins of the current arbitration period, and becomes the winning communication node of the arbitration period. The winning communication node of the arbitration time period obtains the right of use of the next data frame of the target data bus, namely, the winning communication node can transmit own data to the data bus from the starting time of the next data frame. The target data bus is a data bus corresponding to the arbitration time period. The start time of the next data frame may be located after the end point of the corresponding arbitration period, or may be located after the end point of the arbitration frame to which the corresponding arbitration period belongs. While the winning communication node stops sending its own identifier within the arbitration frame.
If the identifier transmission failure is detected and the current arbitration time period is not the last arbitration time period of the current arbitration frame, the communication node can continue to participate in subsequent arbitration, and continues to transmit the identifier to participate in data transmission right competition when the next arbitration time period of the current arbitration frame arrives, namely continues to transmit the identifier to obtain the use right of the target data bus when the next arbitration time period becomes the current arbitration time period.
Example (c): the bus structure comprises 1 pair of arbitration buses and 3 pairs of data buses, each arbitration frame comprises 3 arbitration time periods, the winning communication node of each arbitration time period obtains the data transmission right of the target data bus corresponding to the arbitration time period, for example, the target data bus of the 1 st arbitration time period is the 1 st pair of data bus, the target data bus of the 2 nd arbitration time period is the 2 nd pair of data bus, the target data bus of the 3 rd arbitration time period is the 3 rd pair of data bus, the winning communication node of the 1 st arbitration period of the current arbitration frame obtains the transmission of the 1 st data frame to the data bus, the winning communication node of the 2 nd arbitration period obtains the transmission of the 2 nd data frame to the data bus, and the winning communication node of the 3 rd arbitration period obtains the transmission of the 3 rd data frame to the data bus.
If the communication node obtains arbitration success in the 1 st arbitration time period of the current arbitration frame, the communication node is the winning communication node of the arbitration time period, and obtains data transmission of the next data frame of the data bus in the 1 st arbitration time period, and meanwhile, the communication node stops continuously transmitting the identifier of the communication node in the current arbitration frame, namely, the communication node does not participate in arbitration of the 2 nd and 3 rd arbitration time periods of the current arbitration frame. In the arbitration frame, the communication node obtains the data sending opportunity and does not participate in the subsequent competition of the data bus, so that the opportunity can be given to other equipment, and the fairness is increased.
If the communication node does not obtain arbitration wins in the 1 st arbitration period of the current arbitration frame, the communication node can continue to participate in the 2 nd arbitration of the current arbitration frame, and resend its own identifier in the 2 nd arbitration period. If the 2 nd arbitration fails, the 3 rd arbitration of the current arbitration frame can also be participated. If the 2 nd arbitration is successful, the communication node obtains to send data in the 2 nd data frame of the data bus while not participating in the 3 rd arbitration.
Each arbitration frame decides 3 winning communication nodes, and each winning communication node respectively obtains the data transmission right of the next data frame of different data buses.
Optionally, when no communication node sends an identifier in the current arbitration period of the current arbitration frame, no data is sent on the target data bus in the next data frame. Continuing with the above example, assume that no communication node transmits an identifier during the 3 rd arbitration period, indicating that no other communication node has a data transmission requirement, so no data is transmitted on the 3 rd pair data bus.
In this embodiment, a device that does not compete successfully has multiple arbitration opportunities in one arbitration frame, and can continue to transmit an identifier. At the next arbitration frame, all devices are again participating in arbitration.
Due to the fact that multiple pairs of data buses exist, multiple communication nodes can compete out to obtain the use right of the data buses in each arbitration frame, and therefore the transmission rate of the data buses is improved.
In another embodiment of the present invention, as shown in fig. 3, a method for transmitting data between communication nodes includes:
the arbitration frame includes an arbitration period equal in number to the number of data buses and a check period for checking whether there is a waiting communication node.
Step S000, judging whether the current time period is the checking time period of the current arbitration frame; if yes, go to step S610;
step S020, if no communication node sends an identifier in the current arbitration period, no data is sent on the target data bus in the next data frame.
Step S110, in the current arbitration time period, when the identifier sending probability of the communication node with the data sending requirement is larger than a preset threshold, the communication node sends the identifier of the communication node to the arbitration bus;
step S210, the communication node detects whether the identifier of the communication node is successfully sent;
step S310, when the identifier is successfully sent, the communication node is the dominant communication node in the time slot, and sends own data to the target data bus in the next data frame, and meanwhile, the identifier is not sent in the current arbitration frame;
step S410, when the identifier is detected to be failed to be sent, judging whether the current arbitration time period is the last arbitration time period of the current arbitration frame;
step S510 waits for the next arbitration period of the current arbitration frame to arrive when the current arbitration period is not the last arbitration period of the current arbitration frame, and then jumps to step S110 until the identifier is successfully transmitted or the current arbitration period is the last arbitration period of the current arbitration frame.
Step S610, in the checking time period, judging whether a communication node sends an identifier to the arbitration bus;
step S710 reduces the transmission probability of the identifier of the communication node that has obtained the data transmission right in the current arbitration frame when the communication node transmits the identifier to the arbitration bus.
Specifically, the arbitration frame of this embodiment includes, in addition to the arbitration period equal to the number of data buses, a verification period for verifying whether there is a pending communication node queued up; the waiting communication node has a data transmission requirement, but cannot obtain the data transmission right in the current arbitration frame because the identifier priority of the waiting communication node is lower than that of other communication nodes. The arbitration period is still used to select the winning communication node and obtain the right of use for the next data frame of the target data bus.
By checking the identifier transmission condition of the time period, it can be determined whether there is a communication node of low priority waiting for data transmission. And if the communication node to be sent does not exist, ending the processing in the arbitration frame. When a communication node to be sent exists, in order to avoid overlong waiting time of a communication node with low priority, the sending probability of the identifier of the communication node with high priority, which has obtained the data sending right, is gradually reduced, and when the sending probability of the identifier of the communication node with high priority is reduced to be below a preset threshold, the communication node is not allowed to send the identifier to an arbitration bus, so that the communication node with low priority, which is queued for waiting, has a chance to obtain the data sending right. The communication node whose identifier transmission probability is reduced below the preset threshold can recover the identifier transmission probability as the initial value after delaying a plurality of arbitration frames, thereby recovering the competition of the communication node for the data transmission right. The number of delayed arbitration frames can be set according to the application needs.
For example, the bus structure includes 1 pair of arbitration buses and 2 pairs of data buses, and one arbitration frame includes 2 arbitration periods and 1 check period, the arbitration periods being ordered before the check periods. The two arbitration time periods are used for selecting a winner communication node, obtaining data transmission rights of the 1 st pair of data buses and the 2 nd pair of data buses, and the check time period is used for indicating whether a waiting communication node still exists. Four communication nodes participate in the competition of the data transmission right, and the identifier priority of each communication node is as follows: communication node 1> communication node 2> communication node 3> communication node 4. In the 1 st arbitration period, the communication node 1 wins, obtains the 1 st data transmission right to the data bus, and does not transmit the identifier in the current arbitration frame. During the 2 nd arbitration period, the communication node 2 wins, obtains the 2 nd data transmission right to the data bus, and does not transmit the identifier any more in the current arbitration frame. During the checking period, the communication nodes 3 and 4 transmit identifiers, and the identifier of the communication node 3 is presented on the arbitration bus, which indicates that there is a waiting communication node. And the communication nodes 1 and 2 know that the waiting communication nodes exist according to the identifier sending condition of the check time period, and then reduce the own identifier sending probability. The subsequent arbitration frame repeats the above process, for example, after the arbitration condition lasts for N times, the sending probability of the identifiers of the communication nodes 1 and 2 is reduced to be lower than the threshold, and the sending identifiers are prohibited to participate in the competition of the data bus; the communication nodes 3, 4 start to obtain the data transmission right. After delaying M arbitration frames, the identifier sending probability of the communication nodes 1 and 2 recovers the initial value, and can participate in the arbitration process of the data bus use right.
In this embodiment, when there are many communication nodes with data transmission requirements and data bus collisions are severe, in order to increase fairness, and avoid that a communication node with a low priority cannot obtain the right to use the data bus for a long time, the communication node with a high priority participates in arbitration less by reducing the transmission probability of the identifier of the communication node that has successfully obtained the right to transmit, so as to increase the chance that the communication node with a low priority obtains the right to use the data bus.
It should be noted that the above embodiments can be freely combined as necessary. The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

Claims (10)

1. A high speed bus structure, comprising:
at least two pairs of data buses, wherein all the data buses transmit by taking a data frame as a unit;
a pair of arbitration buses for arbitration of the data buses; the arbitration bus takes arbitration frames as a unit for transmission, the transmission time of the arbitration frames is the same as that of the data frames, each arbitration frame comprises at least two arbitration time periods, and each arbitration time period arbitrates a winning communication node of the time period;
the communication nodes are respectively connected in parallel and hung on the data buses and the arbitration bus;
each communication node includes:
the arbitration interface module is used for sending the identifier of the arbitration interface module to the arbitration bus;
the data sending module is used for sending own data to a target data bus;
the control module is used for controlling the arbitration interface module to send the identifier of the arbitration interface module to the arbitration bus in the current arbitration time period of the current arbitration frame when the data sending requirement of the arbitration interface module is detected; when detecting that the identifier is successfully sent, the communication node is a winning communication node in the time period, and controls the data sending module to send own data to a target data bus in the next data frame, and meanwhile, the identifier is not sent in the current arbitration frame; when the identifier transmission failure is detected and the current arbitration time period is not the last arbitration time period of the current arbitration frame, controlling the arbitration interface module to retransmit the identifier to the arbitration bus in the next arbitration time period of the current arbitration frame until the identifier transmission is successful or the last arbitration time period of the current arbitration frame is reached.
2. The high-speed bus structure of claim 1, wherein:
the control module is further configured to send no data on the target data bus of the next data frame when no communication node sends an identifier in the current arbitration time period of the current arbitration frame.
3. The high-speed bus structure of claim 1, wherein:
the number of arbitration periods per arbitration frame is equal to the number of data buses.
4. A high-speed bus structure according to any of claims 1-3, characterized in that:
each arbitration frame also contains a verification period for verifying whether there are pending communication nodes queued.
5. The high-speed bus structure of claim 4, wherein:
the control module is further used for reducing the sending probability of the identifier of the communication node which has obtained the data sending right in the current arbitration frame when the checking time period of the current arbitration frame indicates that the waiting communication node still exists; and when the transmission probability of the identifier of the communication node with the data transmission requirement is greater than a preset threshold in the current arbitration time period of the current arbitration frame, controlling the arbitration interface module to transmit the identifier of the communication node to the arbitration bus so as to participate in data transmission right election of the data bus.
6. A method for transmitting data between communication nodes, which is applied to the high-speed bus structure of claim 1, comprising:
in the current arbitration time period of the current arbitration frame, the communication node with the data transmission requirement transmits the identifier of the communication node to an arbitration bus to participate in data transmission right election of the data bus;
when the identifier is detected to be successfully sent, the communication node is a winner communication node of the time period, and sends own data to a target data bus in the next data frame, and meanwhile, the identifier is not sent in the current arbitration frame;
when the identifier transmission failure is detected and the current arbitration period is not the last arbitration period of the current arbitration frame, the communication node retransmits the identifier onto the arbitration bus in the next arbitration period of the current arbitration frame until the identifier transmission is successful or the last arbitration period of the current arbitration frame has been reached.
7. The method of claim 6, further comprising:
and when no communication node sends the identifier in the current arbitration time period of the current arbitration frame, no data is sent on the target data bus of the next data frame.
8. The method of claim 6, wherein:
the number of arbitration periods per arbitration frame is equal to the number of data buses.
9. Method for transmitting data between communication nodes according to any of claims 6-8, characterized in that:
each arbitration frame also contains a verification period for verifying whether there are pending communication nodes queued.
10. The method of claim 9, wherein:
when the checking time period of the current arbitration frame indicates that the waiting communication nodes still exist, the communication node which has obtained the data transmission right in the current arbitration frame reduces the own identifier transmission probability;
in the current arbitration period of the current arbitration frame, the communication node having a data transmission requirement transmits its identifier to the arbitration bus to participate in data transmission right election of the data bus, further comprising:
and in the current arbitration time period of the current arbitration frame, when the identifier sending probability of the communication node with the data sending requirement is greater than a preset threshold, sending the identifier of the communication node to the arbitration bus so as to participate in data sending right competition of the data bus.
CN202010293917.0A 2020-04-15 2020-04-15 Method for transmitting data between high-speed bus structure and communication node Pending CN111314192A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010293917.0A CN111314192A (en) 2020-04-15 2020-04-15 Method for transmitting data between high-speed bus structure and communication node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010293917.0A CN111314192A (en) 2020-04-15 2020-04-15 Method for transmitting data between high-speed bus structure and communication node

Publications (1)

Publication Number Publication Date
CN111314192A true CN111314192A (en) 2020-06-19

Family

ID=71147547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010293917.0A Pending CN111314192A (en) 2020-04-15 2020-04-15 Method for transmitting data between high-speed bus structure and communication node

Country Status (1)

Country Link
CN (1) CN111314192A (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0137609B1 (en) * 1983-09-27 1990-07-25 Trw Inc. Multi-master communication bus
EP0679275A1 (en) * 1993-01-14 1995-11-02 Apple Computer, Inc. A communication node with a first bus configuration for arbitration and a second bus configuration for data transfer
CN1329446A (en) * 2001-03-28 2002-01-02 深圳市中兴集成电路设计有限责任公司 Method for implementing internal switched network in base station system and its system mechanism
CN1758622A (en) * 2005-11-11 2006-04-12 哈尔滨工业大学 Heterogeneous multi-bus data transmission method between information processing device
CN1770130A (en) * 2004-11-01 2006-05-10 松下电器产业株式会社 Bus control device, arbitration device, integrated circuit device, bus control method, and arbitration method
CN103218331A (en) * 2012-12-07 2013-07-24 浙江大学 Bus device and method by adopting synchronous mode switching and automatic adjustment of frame priority
CN103546355A (en) * 2013-11-01 2014-01-29 成都信息工程学院 Multi-master lossless bus competition technology
CN108667705A (en) * 2018-05-09 2018-10-16 江苏恩达通用设备有限公司 A kind of referee method of CANFD buses
CN109905306A (en) * 2019-01-30 2019-06-18 北京深蓝同创科技有限公司 A kind of low cost multi-master bus communication control system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0137609B1 (en) * 1983-09-27 1990-07-25 Trw Inc. Multi-master communication bus
EP0679275A1 (en) * 1993-01-14 1995-11-02 Apple Computer, Inc. A communication node with a first bus configuration for arbitration and a second bus configuration for data transfer
CN1329446A (en) * 2001-03-28 2002-01-02 深圳市中兴集成电路设计有限责任公司 Method for implementing internal switched network in base station system and its system mechanism
CN1770130A (en) * 2004-11-01 2006-05-10 松下电器产业株式会社 Bus control device, arbitration device, integrated circuit device, bus control method, and arbitration method
CN1758622A (en) * 2005-11-11 2006-04-12 哈尔滨工业大学 Heterogeneous multi-bus data transmission method between information processing device
CN103218331A (en) * 2012-12-07 2013-07-24 浙江大学 Bus device and method by adopting synchronous mode switching and automatic adjustment of frame priority
CN103546355A (en) * 2013-11-01 2014-01-29 成都信息工程学院 Multi-master lossless bus competition technology
CN108667705A (en) * 2018-05-09 2018-10-16 江苏恩达通用设备有限公司 A kind of referee method of CANFD buses
CN109905306A (en) * 2019-01-30 2019-06-18 北京深蓝同创科技有限公司 A kind of low cost multi-master bus communication control system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘峰,葛霁光: "共享总线多微处理器系统中分布式仲裁方案的研究及实现", 《浙江大学学报(工学版)》 *
张超: "VME总线多通道数据采集系统的实现", 《中国优秀硕士学位论文全文数据库(电子期刊)·信息科技辑》 *

Similar Documents

Publication Publication Date Title
US4560985A (en) Dual-count, round-robin distributed arbitration technique for serial buses
US10020958B2 (en) Can fd
EP1921801B1 (en) Method and network for forwarding messages with priority-based arbitration
US8179918B2 (en) Relay connection unit for vehicle
US20100158045A1 (en) Method for transmitting/receiving data frame in can protocol
CN105703992B (en) Variable data rate control method
CN104333499B (en) Device backboard high-speed bus link layer communication protocols based on M LVDS
US5696911A (en) Arrangement for eliminating malfunction and/or permitting high-speed transmission in a serial bus connection, and transmitter and receiver units linked to the latter
CN105282209A (en) Network system for vehicle and data transmission method of heterogeneous communication controllers in the same system
WO2011017997A1 (en) Method and device for controlling communication bus
CN108307439B (en) Self-adaptive back-off method under large number of multi-hop wireless nodes
US10200290B2 (en) Station and method for serial data transmission using dynamic reprioritizing of data frames
EP3599743B1 (en) Method and device for communicating data frames on a multi-master bus
JP6500765B2 (en) Communications system
US6778551B1 (en) Collision control systems and methods utilizing an inter-frame gap code counter
CN110266568B (en) Member station of serial bus system and data transmission method in serial bus system
CN111314191A (en) Data transmission system and method
CN106502936B (en) Conflict avoidance method of multiple main buses and node equipment
CN101507193A (en) Method and device for the creation of a communication system based on can communication controllers featuring an increased data throughput
KR102366436B1 (en) Transmission unit with checking function
CN111314192A (en) Method for transmitting data between high-speed bus structure and communication node
CN112398901B (en) Method and system for performing double message arbitration
CN113904762B (en) Full duplex 485 bus communication system with annular buffer zone and method
CN111478841A (en) Data transmission system and method adopting special coding mode
CN111314194A (en) Data transmission system and method based on multi-level logical operation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20220830