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 PDF

Info

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
Application number
CN202011436211.1A
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.)
Shanghai Leilong Technology Development Co ltd
Original Assignee
Shanghai Leilong Technology Development 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 Shanghai Leilong Technology Development Co ltd filed Critical Shanghai Leilong Technology Development Co ltd
Priority to CN202011436211.1A priority Critical patent/CN112491680A/en
Publication of CN112491680A publication Critical patent/CN112491680A/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
    • H04L12/40013Details regarding a bus controller
    • 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/40052High-speed IEEE 1394 serial bus
    • H04L12/40084Bus 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

Novel middle-layer FPGA (field programmable Gate array) bus arbitration mechanism and implementation method thereof
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
Figure BDA0002828858530000051
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).
CN202011436211.1A 2020-12-10 2020-12-10 Novel middle-layer FPGA (field programmable Gate array) bus arbitration mechanism and implementation method thereof Pending CN112491680A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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