CN112491680A - Novel middle-layer FPGA (field programmable Gate array) bus arbitration mechanism and implementation method thereof - Google Patents
Novel middle-layer FPGA (field programmable Gate array) bus arbitration mechanism and implementation method thereof Download PDFInfo
- Publication number
- CN112491680A CN112491680A CN202011436211.1A CN202011436211A CN112491680A CN 112491680 A CN112491680 A CN 112491680A CN 202011436211 A CN202011436211 A CN 202011436211A CN 112491680 A CN112491680 A CN 112491680A
- Authority
- CN
- China
- Prior art keywords
- bus
- path
- entering
- priority list
- judging whether
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40084—Bus arbitration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
Abstract
The invention discloses a novel middle-layer FPGA bus arbitration mechanism and an implementation method thereof, and relates to a bus arbitration mechanism. The bus of the invention is provided with a plurality of nodes which are interconnected, each node is provided with a bus control application signal line (output) and an application success signal line (input), each node needs to apply bus control power to a bus arbitration module before initiating bus communication, the bus arbitration module distributes the bus control power according to a time priority principle and sends an application success signal to the node, the node carries out 1-time data transmission after obtaining the control power, in order to prevent the node from occupying the bus for a long time, the data transmission of each time is regulated to be 1 data frame (maximum 1KB), and the bus control power is released (the bus control application signal is withdrawn) after the transmission is finished. The arbitration module performs time-limited control on each transmission to prevent the bus from being occupied for a long time when the node communication fails.
Description
Technical Field
The invention relates to a bus arbitration mechanism, in particular to a novel intermediate layer FPGA bus arbitration mechanism and an implementation method thereof.
Background
In the integrated system, BLVDS bus communication adopts multipoint connection and half-duplex communication, and the bus width is 4 bit data lines and 1 bit clock line; the frequency of the clock is 20 MHz. The bus adopts a many-to-many communication mode to realize multi-master communication, so a bus arbitration mechanism is required. Any node needs to initiate one-time transmission, the bus control right must be obtained first, the master control node immediately gives up the bus control right after sending 1 data frame, the node still needs to send data, the bus control right needs to be reapplied, and the mechanism ensures the communication real-time performance of each node.
In summary, the present invention designs a novel intermediate layer FPGA bus arbitration mechanism and an implementation method thereof.
Disclosure of Invention
Aiming at the defects in the prior art, the invention aims to provide a novel intermediate layer FPGA bus arbitration mechanism and an implementation method thereof.A bus arbitration module distributes bus control right according to a time priority principle and sends a signal of successful application to a node, the node performs 1 time of data transmission after obtaining the control right, in order to prevent the node from occupying the bus for a long time, the data transmission at each time is regulated to be 1 data frame (maximum 1KB), and the bus control right is released (the bus control application signal is withdrawn) after the transmission is finished. The arbitration module performs time-limited control on each transmission to prevent the bus from being occupied for a long time when the node communication fails.
In order to achieve the purpose, the invention is realized by the following technical scheme: the utility model provides a novel intermediate level FPGA bus arbitration mechanism, includes external signal filtering module, counter module and arbitration module, and external signal filtering module is connected with arbitration module, and arbitration module embeds for the overtime counter module who judges and provide data.
An implementation method of a novel intermediate layer FPGA bus arbitration mechanism comprises the following flow of arbitration mechanism:
(1) scanning all application lines once, if all the application lines are invalid, continuing to scan, and if not all the application lines are invalid, entering a sequential scanning program;
(2) when the request is scanned to be effective, the effective request is stored in the forefront of the priority list, effective response is output, and the current response path is timed. During this period, rescanning continues;
(3) judging whether the scanning is finished or not, if not, continuing the scanning, and if the scanning is finished, judging whether the application is all valid or not;
(4) if all applications are effectively stored in the priority list, monitoring whether the priority list has a request to cancel or not, if the request has the request to cancel, updating the priority list in time, deleting cancelled bits, sequentially moving the subsequent paths forward by one bit, and then entering step 5;
(5) if the request is not cancelled and the scanning is finished, entering the step 5;
(6) judging whether the bus is overtime or not, if yes, moving all the lists forward by one bit, clearing the current responded bus, and then returning to an overtime judgment state; if not, entering the next step;
(7) judging whether the current scanning path is effective or not, if not, continuously judging whether the invalid path is in the priority list, if not, entering the step 5, and if so, entering the step 4, and monitoring the request revocation condition;
(8) if the current scanning path is effective, judging whether the path is in the priority list;
(9) if the valid path exists in the list, the valid path is not stored in the list, repeated application is avoided, whether the valid path is overtime is judged, if the valid path is overtime, the list is moved forward by one bit, the current responded bus is cleared, and the step 5 is carried out; if not, directly entering step 5;
(10) if the effective path does not exist in the list, storing the path in the tail of the priority list, judging whether the path is overtime, if the path is overtime, moving all the paths in the list forward by one bit, clearing the current responded bus, and entering the step 5; if not, entering the next step;
(11) judging whether the priority list is full, entering a step 4 if the priority list is full, and entering a step 5 if the priority list is not full;
(12) otherwise, step 1 is entered.
The invention has the beneficial effects that: the bus of the invention is provided with a plurality of nodes which are interconnected, each node is provided with a bus control application signal line (output) and an application success signal line (input), each node needs to apply bus control power to a bus arbitration module before initiating bus communication, the bus arbitration module distributes the bus control power according to a time priority principle and sends an application success signal to the node, the node carries out 1-time data transmission after obtaining the control power, in order to prevent the node from occupying the bus for a long time, the data transmission of each time is regulated to be 1 data frame (maximum 1KB), and the bus control power is released (the bus control application signal is withdrawn) after the transmission is finished. The arbitration module performs time-limited control on each transmission to prevent the bus from being occupied for a long time when the node communication fails.
Drawings
The invention is described in detail below with reference to the drawings and the detailed description;
FIG. 1 is a schematic diagram of a BLVDS bus arbitration module according to the present invention;
FIG. 2 is a schematic diagram of an arbitration mechanism FPGA component module according to the present invention;
FIG. 3 is a flow chart of the arbitration mechanism of the present invention.
Detailed Description
In order to make the technical means, the creation characteristics, the achievement purposes and the effects of the invention easy to understand, the invention is further described with the specific embodiments.
Referring to fig. 1 to 3, the following technical solutions are adopted in the present embodiment: the utility model provides a novel intermediate level FPGA bus arbitration mechanism, includes external signal filtering module, counter module and arbitration module, and external signal filtering module is connected with arbitration module, and arbitration module embeds for the overtime counter module who judges and provide data. Because the request signal is an external signal, filtering is required to be performed first, so as to avoid glitches.
An implementation method of a novel intermediate layer FPGA bus arbitration mechanism comprises the following flow of arbitration mechanism:
(1) scanning all application lines once, if all the application lines are invalid, continuing to scan, and if not all the application lines are invalid, entering a sequential scanning program;
(2) when the request is scanned to be effective, the effective request is stored in the forefront of the priority list, effective response is output, and the current response path is timed. During this period, rescanning continues;
(3) judging whether the scanning is finished or not, if not, continuing the scanning, and if the scanning is finished, judging whether the application is all valid or not;
(4) if all applications are effectively stored in the priority list, monitoring whether the priority list has a request to cancel or not, if the request has the request to cancel, updating the priority list in time, deleting the cancelled bit, sequentially moving the subsequent path number forward by one bit, and then entering the step (5);
(5) if the request is not cancelled and the scanning is finished, entering the step (5);
(6) judging whether the bus is overtime or not, if yes, moving all the lists forward by one bit, clearing the current responded bus, and then returning to an overtime judgment state; if not, entering the next step;
(7) judging whether the current scanning path is effective or not, if not, continuously judging whether the invalid path is in the priority list, if not, entering the step (5), and if so, entering the step (4) and monitoring the request revocation condition;
(8) if the current scanning path is effective, judging whether the path is in the priority list;
(9) if the valid path exists in the list, the valid path is not stored in the list, repeated application is avoided, whether the valid path is overtime or not is judged, if the valid path is overtime, all the lists are moved forward by one bit, the current responded bus is cleared, and the step (5) is carried out; if not, directly entering the step (5);
(10) if the effective path does not exist in the list, storing the path in the queue tail of the priority list, judging whether the path is overtime, if the path is overtime, moving all the paths in the list forward by one bit, clearing the current responded bus, and entering the step (5); if not, entering the next step;
(11) judging whether the priority list is full, entering a step (4) if the priority list is full, and entering a step (5) if the priority list is not full;
(12) otherwise, the process proceeds to step (1).
In the arbitration simulation of the present embodiment, a high-speed clock (50MHz) is used to scan the request lines (REQ #) of all nodes, and the node numbers are stored in the priority sequence FIFO according to the order of signals, and if there are multiple request signals at the same time, the priority ordering is performed from small to large according to the node numbers. And the arbitration output module determines to output a corresponding application success signal (ACK #) according to the node number stored in the priority sequence FIFO. When a node relinquishes bus control (deasserts the REQ # signal), the arbitration module is triggered to clear the tag of the node in the priority queue FIFO and perform the next arbitration.
The FPGA interface list of the arbitration module is shown in table 1.
TABLE 1 arbitration module interface List
In this embodiment, the bus arbitration module allocates the bus control right according to the time-first principle, and sends the application success signal to the node, and the node performs 1 data transmission after obtaining the control right, and in order to prevent the node from occupying the bus for a long time, it is specified that each data transmission is 1 data frame (maximum 1KB), and the bus control right is released (bus control application signal is cancelled) after the transmission is completed. The arbitration module performs time-limited control on each transmission to prevent the bus from being occupied for a long time when the node communication fails.
The foregoing shows and describes the general principles and broad features of the present invention and advantages thereof. It will be understood by those skilled in the art that the present invention is not limited to the embodiments described above, which are described in the specification and illustrated only to illustrate the principle of the present invention, but that various changes and modifications may be made therein without departing from the spirit and scope of the present invention, which fall within the scope of the invention as claimed. The scope of the invention is defined by the appended claims and equivalents thereof.
Claims (2)
1. The utility model provides a novel intermediate level FPGA bus arbitration mechanism, its characterized in that includes external signal filtering module, counter module and arbitration module, and external signal filtering module is connected with arbitration module, and arbitration module embeds the counter module that provides data for overtime judgement.
2. The novel intermediate layer FPGA bus arbitration mechanism and the implementation method thereof as claimed in claim 1, wherein the flow of the arbitration mechanism is as follows:
(1) scanning all application lines once, if all the application lines are invalid, continuing to scan, and if not all the application lines are invalid, entering a sequential scanning program;
(2) when the request is scanned to be effective, the effective request is stored in the forefront of the priority list, effective response is output, and the current response path is timed; during this period, rescanning continues;
(3) judging whether the scanning is finished or not, if not, continuing the scanning, and if the scanning is finished, judging whether the application is all valid or not;
(4) if all applications are effectively stored in the priority list, monitoring whether the priority list has a request to cancel or not, if the request has the request to cancel, updating the priority list in time, deleting the cancelled bit, sequentially moving the subsequent path number forward by one bit, and then entering the step (5);
(5) if the request is not cancelled and the scanning is finished, entering the step (5);
(6) judging whether the bus is overtime or not, if yes, moving all the lists forward by one bit, clearing the current responded bus, and then returning to an overtime judgment state; if not, entering the next step;
(7) judging whether the current scanning path is effective or not, if not, continuously judging whether the invalid path is in the priority list, if not, entering the step (5), and if so, entering the step (4) and monitoring the request revocation condition;
(8) if the current scanning path is effective, judging whether the path is in the priority list;
(9) if the valid path exists in the list, the valid path is not stored in the list, repeated application is avoided, whether the valid path is overtime or not is judged, if the valid path is overtime, all the lists are moved forward by one bit, the current responded bus is cleared, and the step (5) is carried out; if not, directly entering the step (5);
(10) if the effective path does not exist in the list, storing the path in the queue tail of the priority list, judging whether the path is overtime, if the path is overtime, moving all the paths in the list forward by one bit, clearing the current responded bus, and entering the step (5); if not, entering the next step;
(11) judging whether the priority list is full, entering a step (4) if the priority list is full, and entering a step (5) if the priority list is not full;
(12) otherwise, the process proceeds to step (1).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011436211.1A CN112491680A (en) | 2020-12-10 | 2020-12-10 | Novel middle-layer FPGA (field programmable Gate array) bus arbitration mechanism and implementation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011436211.1A CN112491680A (en) | 2020-12-10 | 2020-12-10 | Novel middle-layer FPGA (field programmable Gate array) bus arbitration mechanism and implementation method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112491680A true CN112491680A (en) | 2021-03-12 |
Family
ID=74940053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011436211.1A Pending CN112491680A (en) | 2020-12-10 | 2020-12-10 | Novel middle-layer FPGA (field programmable Gate array) bus arbitration mechanism and implementation method thereof |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112491680A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722069A (en) * | 2021-09-06 | 2021-11-30 | 北京左江科技股份有限公司 | Novel bus polling scheduling method and system based on FPGA |
CN114090493A (en) * | 2021-11-29 | 2022-02-25 | 深圳市科中云技术有限公司 | Data transmission control method based on RS485 bus and related device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0518037A2 (en) * | 1991-06-06 | 1992-12-16 | Escom Ag | Bus arbitration system |
US5754803A (en) * | 1996-06-27 | 1998-05-19 | Interdigital Technology Corporation | Parallel packetized intermodule arbitrated high speed control and data bus |
CN1383074A (en) * | 2002-04-17 | 2002-12-04 | 威盛电子股份有限公司 | Method for arbitrating bus control right and its arbitrator |
CN103136142A (en) * | 2013-03-05 | 2013-06-05 | 浪潮齐鲁软件产业有限公司 | Bus arbitration method |
WO2014169876A1 (en) * | 2013-08-08 | 2014-10-23 | 中兴通讯股份有限公司 | Bus arbitration method and apparatus, and storage medium |
CN106844250A (en) * | 2017-02-14 | 2017-06-13 | 山东师范大学 | The bus arbiter and referee method of a kind of mixed scheduling |
-
2020
- 2020-12-10 CN CN202011436211.1A patent/CN112491680A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0518037A2 (en) * | 1991-06-06 | 1992-12-16 | Escom Ag | Bus arbitration system |
US5754803A (en) * | 1996-06-27 | 1998-05-19 | Interdigital Technology Corporation | Parallel packetized intermodule arbitrated high speed control and data bus |
CN1383074A (en) * | 2002-04-17 | 2002-12-04 | 威盛电子股份有限公司 | Method for arbitrating bus control right and its arbitrator |
CN103136142A (en) * | 2013-03-05 | 2013-06-05 | 浪潮齐鲁软件产业有限公司 | Bus arbitration method |
WO2014169876A1 (en) * | 2013-08-08 | 2014-10-23 | 中兴通讯股份有限公司 | Bus arbitration method and apparatus, and storage medium |
CN106844250A (en) * | 2017-02-14 | 2017-06-13 | 山东师范大学 | The bus arbiter and referee method of a kind of mixed scheduling |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722069A (en) * | 2021-09-06 | 2021-11-30 | 北京左江科技股份有限公司 | Novel bus polling scheduling method and system based on FPGA |
CN113722069B (en) * | 2021-09-06 | 2024-02-27 | 北京左江科技股份有限公司 | Novel bus polling scheduling method and system based on FPGA |
CN114090493A (en) * | 2021-11-29 | 2022-02-25 | 深圳市科中云技术有限公司 | Data transmission control method based on RS485 bus and related device |
CN114090493B (en) * | 2021-11-29 | 2024-09-17 | 深圳市科中云技术有限公司 | Data transmission control method based on RS485 bus and related device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112491680A (en) | Novel middle-layer FPGA (field programmable Gate array) bus arbitration mechanism and implementation method thereof | |
DE69233664T2 (en) | INTERFACE OF A TRANSMITTER | |
KR101421569B1 (en) | Method for Allocating a Beacon Slot Using a Beacon Table in Wireless Personal Area Network(WPAN) and WPAN Device | |
CN106528478A (en) | Single-bus asynchronous serial port communication system and communication method thereof | |
CN103856384A (en) | Bit-timing symmetrization | |
CN103282895A (en) | Device and method for serial data transmission at a high data rate | |
CN102204390A (en) | Interim phy solution for lpi compatibility with legacy devices | |
EP3074874B1 (en) | Multipoint interface shortest pulse width priority resolution | |
CN103416035A (en) | Microcontroller with can bus module and auto speed detect | |
CN103744811A (en) | Serial data transmission system and method | |
CN101989942A (en) | Arbitration control method, communication method, arbitrator and communication system | |
CN104301191A (en) | Bus system | |
CN115277287A (en) | Configurable CAN message acquisition method and system based on Ethernet | |
CN105512005A (en) | Circuit and method for synchronous working of control/remote node and bus monitor node | |
CN115733849A (en) | Flash method, device, system, equipment and storage medium of electronic control unit | |
CN107172692A (en) | Low time delay ensures slot allocation method | |
DE112019005021T5 (en) | DEVICES, SYSTEMS AND PROCEDURES FOR SYNCHRONIZING EVENT WINDOWS IN RADIO NETWORKS | |
CN116155843B (en) | PYNQ-based pulse neural network chip data communication method and system | |
CN105808476A (en) | Cross-clock-domain data transmission method and device | |
CN111045817B (en) | PCIe transmission management method, system and device | |
CN112311641A (en) | CAN communication-based communication method and system for upper computer and lower computer | |
CN104486187A (en) | Dynamic condition synchronizing CAN communication device and method | |
CN104468404A (en) | Buffer configuration method and device | |
CN108616570B (en) | Asymmetric threshold service polling system based on FPGA | |
CN102857445B (en) | Low-expenditure distributing structure and distributing method of network-on-chip router |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210312 |