DE102019110676A1 - Double bridge for a parallel bus - Google Patents
Double bridge for a parallel bus Download PDFInfo
- Publication number
- DE102019110676A1 DE102019110676A1 DE102019110676.1A DE102019110676A DE102019110676A1 DE 102019110676 A1 DE102019110676 A1 DE 102019110676A1 DE 102019110676 A DE102019110676 A DE 102019110676A DE 102019110676 A1 DE102019110676 A1 DE 102019110676A1
- Authority
- DE
- Germany
- Prior art keywords
- bus
- bridge
- signals
- section
- access request
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
Doppelbrücke (1) für einen getakteten parallelen Bus, wobei die Doppelbrücke eine erste Brücke (2) und eine zweite Brücke (3) umfasst, wobei mindestens zwei Busmaster (BM1,..., BMn) jeweils über eine Busverbindung eines ersten Teilstücks (BT11,..., BT1n) des Busses mit der ersten Brücke (2) verbunden sind und wobei die erste Brücke (2) und die zweite Brücke (3) über ein zweites Teilstück (BT2) des Busses miteinander verbunden sind, wobei die zweite Brücke (3) über ein drittes Teilstück (BT3) des Busses mit mindestens einem Busteilnehmer (BS1,..., BSm) verbunden ist, wobei die Leitungen des parallelen Busses entweder der Senderichtung (TX) oder der Empfangsrichtung (RX) zugeordnet sind, wobei die erste Brücke (2) einen ersten Arbiter (4), einen ersten Multiplexer (5) für die Signale auf den der Senderichtung (TX) zugeordneten Leitungen und einen Demultiplexer (6) für die Signale auf den der Empfangsrichtung (RX) zugeordneten Leitungen aufweist, wobei die zweite Brücke (3) mindestens einen Speicher (7) aufweist, wobei der erste Arbiter (4) der ersten Brücke (2) eingerichtet ist, Zugriffsanfragen für Lese- oder Schreibzugriffe der mindestens zwei Busmaster (BM1,..., BMn) gegeneinander zu priorisieren, wobei die mindestens zwei Busmaster (BM1,..., BMn) eingerichtet sind, gemäß einem Kommunikationsprotokoll Signale für eine Zugriffsanfrage auf den der Senderichtung (TX) zugeordneten Leitungen der jeweiligen Busverbindung des ersten Teilstücks (BT11, BT1n) des Busses anzulegenDouble bridge (1) for a clocked parallel bus, the double bridge comprising a first bridge (2) and a second bridge (3), with at least two bus masters (BM1, ..., BMn) each via a bus connection of a first section (BT11 , ..., BT1n) of the bus are connected to the first bridge (2) and wherein the first bridge (2) and the second bridge (3) are connected to one another via a second section (BT2) of the bus, the second bridge (3) is connected to at least one bus subscriber (BS1, ..., BSm) via a third section (BT3) of the bus, the lines of the parallel bus being assigned to either the sending direction (TX) or the receiving direction (RX), with the first bridge (2) has a first arbiter (4), a first multiplexer (5) for the signals on the lines assigned to the transmit direction (TX) and a demultiplexer (6) for the signals on the lines assigned to the receive direction (RX) , wherein the second bridge (3) at least one s memory (7), the first arbiter (4) of the first bridge (2) being set up to prioritize access requests for read or write accesses of the at least two bus masters (BM1, ..., BMn) against each other, the at least two Bus masters (BM1, ..., BMn) are set up, according to a communication protocol, to apply signals for an access request to the lines of the respective bus connection of the first section (BT11, BT1n) of the bus assigned to the transmission direction (TX)
Description
Die Erfindung betrifft eine Doppelbrücke für einen getakteten parallelen Bus, insbesondere einen Adress-/Datenbus. Die Doppelbrücke umfasst eine erste Brücke und eine zweite Brücke, wobei mindestens zwei Busmaster jeweils über eine Busverbindung eines ersten Teilstücks des Busses mit der ersten Brücke verbunden sind, wobei die erste Brücke und die zweite Brücke über ein zweites Teilstück des Busses miteinander verbunden sind und wobei die zweite Brücke über ein drittes Teilstück des Busses mit mindestens einem Busteilnehmer (Slave) verbunden ist. Die Erfindung betrifft auch ein Verfahren zur Kommunikation zwischen mindestens zwei Busmastern und mindestens einem Busteilnehmer über die erfindungsgemäße Doppelbrücke.The invention relates to a double bridge for a clocked parallel bus, in particular an address / data bus. The double bridge comprises a first bridge and a second bridge, with at least two bus masters each being connected to the first bridge via a bus connection of a first section of the bus, the first bridge and the second bridge being connected to one another via a second section of the bus and wherein the second bridge is connected to at least one bus participant (slave) via a third section of the bus. The invention also relates to a method for communication between at least two bus masters and at least one bus user via the double bridge according to the invention.
Getaktete parallele Busse, bei denen Signale getaktet über parallele Leitungen zwischen Sender und Empfänger übermittelt werden, finden unter anderem Verwendung in Hardware-in-the-Loop (HIL)-Systemen. Beispielsweise wird in der
Parallele Bussysteme weisen gegenüber seriellen Bussen den Vorteil geringer Latenz auf. Dies ist bei HIL-Systemen wichtig, wenn es darum geht, harte Echtzeitbedingungen zu erfüllen.
Bei den hier betrachteten Kommunikationsprotokollen werden einzelne Signale einzelnen Leitungen zugeordnet. Der Busmaster, der mit einem Busteilnehmer kommunizieren möchte, legt Signale für eine Zugriffsanfrage auf die entsprechenden Leitungen und hält die Signale über mehrere Takte, bis die Zugriffsanfrage aus Sicht des Busmasters beendet ist. Dies ist beispielsweise der Fall, wenn der Busmaster bei Schreibzugriffen eine Empfangsbestätigung (ein sogenanntes „Acknowledge“) erhält oder aber bei Lesezugriffen eine Antwort des Busteilnehmers empfängt.
Bei Multi-Master-Systemen, bei denen der Zugriff auf die Busteilnehmer über ein Multiplexverfahren erfolgt, wird die Latenz des Systems dadurch erhöht, dass ein Busmaster während einer Zugriffsanfrage, die in der Regel über mehrere Takte erfolgt, alle andere Busmaster blockiert.Clocked parallel buses, in which signals are clocked via parallel lines between the transmitter and receiver, are used in hardware-in-the-loop (HIL) systems, among other things. For example, in the
Compared to serial buses, parallel bus systems have the advantage of low latency. This is important in HIL systems when it comes to meeting tough real-time conditions.
In the communication protocols considered here, individual signals are assigned to individual lines. The bus master who wants to communicate with a bus participant places signals for an access request on the corresponding lines and holds the signals for several clocks until the access request has ended from the point of view of the bus master. This is the case, for example, when the bus master receives an acknowledgment of receipt (a so-called "acknowledge") for write access or receives a response from the bus participant for read access.
In multi-master systems in which access to the bus subscribers takes place via a multiplex process, the latency of the system is increased by the fact that a bus master blocks all other bus masters during an access request, which usually takes place over several cycles.
Aufgabe der vorliegenden Erfindung ist es, den Stand der Technik weiterzubilden.The object of the present invention is to develop the state of the art.
Bei der erfindungsgemäßen Doppelbrücke sind die Leitungen des parallelen Busses entweder der Senderichtung oder der Empfangsrichtung (jeweils aus Sicht der Busmaster) zugeordnet. Weiter weist die erste Brücke neben einem ersten Arbiter, einen ersten Multiplexer für die Signale auf den der Senderichtung zugeordneten Leitungen und einen Demultiplexer für die Signale auf den der Empfangsrichtung zugeordneten Leitungen auf und die zweite Brücke weist mindestens einen Speicher auf. Der erste Arbiter der ersten Brücke ist eingerichtet, Zugriffsanfragen für Lese- oder Schreibzugriffe der mindestens zwei Busmaster gegeneinander zu priorisieren und die mindestens zwei Busmaster sind eingerichtet, gemäß einem Kommunikationsprotokoll Signale für eine Zugriffsanfrage auf den der Senderichtung zugeordneten Leitungen der jeweiligen Busverbindung des ersten Teilstücks des parallelen Busses anzulegen.
Weiter ist die erste Brücke eingerichtet, in einem ersten Takt bei mindestens einer anliegenden Zugriffsanfrage von den mindestens zwei Busmastern mindestens dem Busmaster mit der am höchsten priorisierten Zugriffsanfrage eine Empfangsbestätigung zu geben und unter Verwendung des ersten Multiplexers die in den der Senderichtung zugeordneten Leitungen der entsprechenden Busverbindung des ersten Teilstücks des Busses anliegenden Signale als Nachrichtenpaket über das zweite Teilstück an die zweite Brücke zu übermitteln. Die zweite Brücke ist eingerichtet, die dem Nachrichtenpaket entsprechenden Signale gemäß dem Kommunikationsprotokoll über das dritte Teilstück des Busses an den Busteilnehmer, an den die Zugriffsanfrage gerichtet ist, zu übermitteln.In the double bridge according to the invention, the lines of the parallel bus are assigned either to the sending direction or the receiving direction (in each case from the point of view of the bus master). In addition to a first arbiter, the first bridge also has a first multiplexer for the signals on the lines assigned to the transmission direction and a demultiplexer for the signals on the lines assigned to the reception direction, and the second bridge has at least one memory. The first arbiter of the first bridge is set up to prioritize access requests for read or write accesses of the at least two bus masters against each other and the at least two bus masters are set up to send signals for an access request on the lines assigned to the transmission direction of the respective bus connection of the first section of the parallel bus.
The first bridge is also set up to give an acknowledgment of receipt to at least the bus master with the highest priority access request in a first cycle when at least one access request is pending from the at least two bus masters and, using the first multiplexer, the lines of the corresponding bus connection assigned to the transmission direction of the first section of the bus signals pending to be transmitted as a message packet over the second section to the second bridge. The second bridge is set up to transmit the signals corresponding to the message packet in accordance with the communication protocol via the third section of the bus to the bus subscriber to whom the access request is directed.
Die erfindungsgemäße Doppelbrücke löst die vorgenannte Aufgabe, indem sie eingerichtet ist, die gemäß dem Kommunikationsprotokoll anliegende Anfrage zwischen der ersten und der zweiten Brücke nicht gemäß dem sich zeitlich über mehrere Takte ersteckenden ersten Protokoll weiterzuleiten, sondern nur in Form eines Signalpulses oder, anders ausgedrückt, eines „Nachrichtenpakets“, welches in einem einzigen Takt zwischen der ersten Brücke und der zweiten Brücke übermittelt wird und welches lediglich die Signale der Leitungen umfasst, die der Senderichtung zugeordnet sind. Damit sind hier diejenigen Signale - bzw. durch die Signale wiedergegebenen Daten - gemeint, die die Zugriffsanfrage beschreiben, etwa Signale, mit denen der Busmaster seine Absicht bekundet, einen Lese- oder Schreibzugriff auf einen bestimmten Busteilnehmer durchzuführen oder Signale, die Daten beschreiben, welche den Lese- oder Schreibzugriff charakterisieren, d.h. z.B. die Daten, welche die konkrete Leseanfrage stellen oder aber die zu schreibenden Daten.
Die Wandlung der Zugriffsanfrage gemäß dem ursprünglichen Kommunikationsprotokoll in ein Nachrichtenpaket erfolgt bevorzugt durch den ersten Multiplexer, der um entsprechende Logik in Form von (z.B. im FPGA implementierten) Zustandsautomaten erweitert ist. Beispielsweise ist der erste Multiplexer auf diese Art auch eingerichtet, die Empfangsbestätigung an den sendenden Busmaster zu übermitteln.The double bridge according to the invention solves the above-mentioned object in that it is set up to forward the request between the first and the second bridge according to the communication protocol not according to the first protocol, which extends over several clocks, but only in the form of a signal pulse or, in other words, a “message packet” which is transmitted in a single cycle between the first bridge and the second bridge and which only includes the signals of the lines that are assigned to the direction of transmission. This means those signals - or data reproduced by the signals - that describe the access request, such as signals with which the bus master expresses its intention to carry out read or write access to a specific bus participant or signals that describe data characterize the read or write access, ie, for example, the data that make the specific read request or the data to be written.
The conversion of the access request into a message packet according to the original communication protocol is preferably carried out by the first multiplexer, which is expanded by appropriate logic in the form of state machines (for example implemented in the FPGA). For example, the first multiplexer is also set up in this way to transmit the acknowledgment of receipt to the sending bus master.
Der Vorteil der erfindungsgemäßen Doppelbrücke besteht unter anderem darin, dass die erste Brücke mit dem Nachrichtenpaket alle für die Zugriffsanfrage benötigten Daten innerhalb eines einzigen Taktes - sozusagen als Signalpuls - an die zweite Brücke übermittelt und dafür nur die der Senderichtung zugeordneten Leitungen belegt. Dies ermöglicht, dass alle zur Bearbeitung der Anfrage benötigten Informationen innerhalb eines Taktes in der ersten Brücke abgearbeitet werden können und dass in einem (z.B. unmittelbar) darauffolgenden Takt bereits eine zweite Zugriffsanfrage in der ersten Brücke vollständig abgearbeitet werden kann. Darüber hinaus werden auf dem zweiten Teilstück des Busses für die Zugriffsanfrage lediglich die der Senderichtung zugeordneten Leitungen belegt, wohingegen die der Empfangsrichtung zugeordneten Leitungen nicht von der Zugriffsanfrage belegt und somit frei für die Übermittlung von Antworten der Busteilnehmer sind.
Die Erfindung ist insbesondere nützlich, wenn ein bestehendes Single-Master-System, bei dem nur ein einziger Busmaster mit den Busteilnehmern über den parallelen Bus verbunden ist, auf ein Multi-Master-System erweitert werden soll. In der Regel müsste das ursprüngliche (für einen einzigen Busmaster ausgelegte) Kommunikationsprotokoll geändert werden, um zu verhindern, dass über mehrere Takte ausgelegte Zugriffsanfragen eines einzigen Busmastern alle anderen Busmaster blockieren. Durch die erfindungsgemäße Brücke kann auch bei einer Erweiterung des Systems das ursprüngliche Kommunikationsprotokoll beibehalten werden und in nicht blockierender Weise betrieben werden.The advantage of the double bridge according to the invention is, among other things, that the first bridge with the message packet transmits all the data required for the access request within a single cycle - as a signal pulse, so to speak - to the second bridge and only uses the lines assigned to the transmission direction. This enables all of the information required to process the request to be processed within one cycle in the first bridge and that a second access request can be processed completely in the first bridge in a (for example, immediately) subsequent cycle. In addition, on the second section of the bus, only the lines assigned to the transmission direction are occupied for the access request, whereas the lines assigned to the receive direction are not occupied by the access request and are therefore free for the transmission of responses from the bus users.
The invention is particularly useful when an existing single master system, in which only a single bus master is connected to the bus users via the parallel bus, is to be expanded to a multi-master system. As a rule, the original communication protocol (designed for a single bus master) would have to be changed in order to prevent access requests from a single bus master designed over several clocks from blocking all other bus masters. The bridge according to the invention allows the original communication protocol to be retained and operated in a non-blocking manner even when the system is expanded.
Erfindungsgemäß ist das Nachrichtenpaket bestimmt durch die auf den der Senderichtung zugeordneten Leitungen der entsprechenden (d.h. dem sendenden Busmaster zugehörigen) Busverbindung des ersten Teilstücks des Busses anliegenden Signale, und zwar zum frühesten Zeitpunkt, in dem alle die Zugriffsanfrage beschreibenden (bzw. auf den der Senderichtung zugeordneten Leitungen der Busverbindung anliegenden) Signale in einem finalen (stabilen) Zustand vorliegen.
Somit kann die Zugriffsanfrage als Nachrichtenpaket (Signalpuls) weitergeleitet werden, sobald alle relevanten Signale auf der dem sendenden Busmaster zugehörigen Busverbindung des ersten Teilstücks des Busses anliegen. (Da in der Realität nie alle Signale instantan anliegen, wird in der Regel vom ursprünglichen Kommunikationsprotokoll festgelegt, in welcher Reihenfolge die Signale geschaltet werden und welches Signal zum Schluss angibt, dass alle Signale einer Zugriffsanfrage vorliegen. Diese Vorgänge finden auf einer deutlich feineren Zeitskala statt als die bisher erwähnte Taktung und betreffen nicht den Kern der hier beschriebenen Erfindung.) Der anfragende Busmaster kann die Signale auch weiter auf der entsprechenden Busverbindung des ersten Teilstücks halten (z.B. während er auf eine Antwort auf eine Leseanfrage wartet), aber der Multiplexer in der ersten Brücke kann bereits die Verbindung zu einem anderen Busmaster durchschalten.According to the invention, the message packet is determined by the signals pending on the lines assigned to the transmission direction of the corresponding bus connection of the first section of the bus (ie associated with the transmitting bus master), namely at the earliest point in time at which all of the signals describing the access request (or those of the transmission direction assigned lines of the bus connection) are present in a final (stable) state.
The access request can thus be forwarded as a message packet (signal pulse) as soon as all relevant signals are present on the bus connection of the first section of the bus belonging to the sending bus master. (Since in reality all signals are never instantaneous, the original communication protocol usually determines the order in which the signals are switched and which signal ultimately indicates that all signals for an access request are present. These processes take place on a much finer time scale than the previously mentioned clocking and do not relate to the core of the invention described here.) The requesting bus master can also keep the signals on the corresponding bus connection of the first section (e.g. while waiting for a response to a read request), but the multiplexer in the The first bridge can already switch through the connection to another bus master.
Falls das ursprüngliche Protokoll vorsieht, dass die Zugriffsanfrage (z.B. weil nicht genügend parallele Leitungen vorliegen) aufgeteilt ist in eine reine Anfrage und eine (auf eine Bestätigung der Anfrage) folgende Übermittelung der Daten, welche den Lese- oder Schreibzugriff charakterisieren, so kann die Erfindung vorsehen, dass die Zugriffsanfrage in zwei Nachrichtenpaketen (und somit auch zwei Takten) von der ersten Brücke an die zweite Brücke übermittelt wird.If the original protocol provides that the access request (e.g. because there are not enough parallel lines) is divided into a pure request and a transmission of the data (following confirmation of the request), which characterize the read or write access, the invention can provide that the access request is transmitted in two message packets (and thus also two clocks) from the first bridge to the second bridge.
In einer bevorzugten Ausführungsform der Erfindung ist der Speicher in der zweiten Brücke eingerichtet, Nachrichtenpakete zwischenzuspeichern. Dies ermöglicht, dass nachfolgende Nachrichtenpakete zwischen der ersten und der zweiten Brücke übertragen werden können und nicht verloren gehen, während eine einem zuvor übermittelten Nachrichtenpaket entsprechende Zugriffsanfrage (eventuell noch über mehrere Takte) gemäß dem ursprünglichen Kommunikationsprotokoll von der zweiten Brücke an einen Busteilnehmer übermittelt wird.In a preferred embodiment of the invention, the memory in the second bridge is set up to temporarily store message packets. This enables subsequent message packets to be transmitted between the first and second bridge and not get lost, while an access request corresponding to a previously transmitted message packet (possibly over several clocks) is transmitted from the second bridge to a bus user according to the original communication protocol.
In einer weiteren Ausführungsform der Erfindung weist das zweite Teilstück des Busses Mittel zur Vervielfachung der Datenrate auf. Beispielsweise werden Mittel zur Verdoppelung der Datenrate eingesetzt, welche Signale sowohl bei steigender als auch bei fallender Flanke der Taktung auswerten (Double Data Rate Technik). Diese Ausführungsform ermöglicht, dass zwischen der ersten und der zweiten Brücke weniger Leitungen zur Verfügung gestellt werden müssen. Sind die erste und die zweite Brücke beispielsweise auf verschiedenen FPGAs auf einer I/O-Karte eines HIL Systems implementiert, so werden Schnittstellen an den Rändern der FPGAs eingespart.In a further embodiment of the invention, the second section of the bus has means for multiplying the data rate. For example, means for doubling the data rate are used which evaluate signals on both a rising and a falling edge of the clock (double data rate technology). This embodiment enables fewer lines to be made available between the first and the second bridge. If the first and the second bridge are implemented, for example, on different FPGAs on an I / O card of a HIL system, then interfaces at the edges of the FPGAs are saved.
Gemäß einer Weiterbildung der Erfindung ist die zweite Brücke für eine einen Lesezugriff betreffende Zugriffsanfrage eingerichtet, eine gemäß dem Kommunikationsprotokoll empfangene Antwort des entsprechenden Busteilnehmers über die der Empfangsrichtung zugeordneten Leitungen des zweiten Teilstücks des Busses als Nachrichtenpaket an die erste Brücke zu übermitteln und ist die erste Brücke eingerichtet, die dem Nachrichtenpaket entsprechenden Antwort-Signale dem anfragenden Busmaster gemäß dem Kommunikationsprotokoll zu übermitteln.
Dabei ist beispielsweise in einer einfachen Ausführungsform die erste Brücke eingerichtet, die Reihenfolge der von der ersten Brücke an die zweite Brücke übermittelten Nachrichtenpakete für Lesezugriffe zwecks Zuordnung der empfangenen Antwort-Nachrichtenpakete zu dem entsprechenden anfragenden Busmaster nachzuhalten, z.B. in einem dem Demultiplexer zugänglichen Speicher, um dort die Informationen zu haben, die benötigt werden, um die Antwort-Nachrichtenpakete dem richtigen Busmaster zu übermitteln. Weiter ist dann die zweite Brücke eingerichtet, die Antwort-Nachrichtenpakete gemäß dieser Reihenfolge zu übermitteln, z.B. indem der Speicher in der zweiten Brücke zur Speicherung der eingehenden Zugriffsanfragen als FiFo ausgelegt ist, sodass die Zugriffsanfragen für Lesezugriffe entsprechend ihres Eingangs (und in blockierender Weise) abgearbeitet werden.
Diese Ausführungsform ermöglicht ohne größeren Verwaltungsaufwand die Antworten der Busteilnehmer den entsprechenden anfragenden Busmastern zuzuordnen, sofern die Reihenfolge bei der Abarbeitung der Anfragen durch die Busteilnehmer strikt eingehalten wird.According to a further development of the invention, the second bridge is set up for an access request relating to read access, to transmit a response from the corresponding bus subscriber received in accordance with the communication protocol over the lines of the second section of the bus assigned to the receiving direction as a message packet to the first bridge and is the first bridge set up to transmit the response signals corresponding to the message packet to the requesting bus master in accordance with the communication protocol.
In a simple embodiment, for example, the first bridge is set up, the sequence of the message packets transmitted from the first bridge to the second bridge for read accesses for the purpose of assigning the received response message packets to the corresponding inquiring party Keep track of the bus master, for example in a memory accessible to the demultiplexer, in order to have the information there that is required to transmit the response message packets to the correct bus master. The second bridge is then set up to transmit the response message packets in accordance with this sequence, e.g. in that the memory in the second bridge is designed to store the incoming access requests as FiFo, so that the access requests for read accesses according to their input (and in a blocking manner) be processed.
This embodiment enables the responses of the bus users to be assigned to the corresponding requesting bus masters without any major administrative effort, provided that the order in which the requests are processed by the bus users is strictly adhered to.
In einer weiteren Ausführungsform weist das dritte Teilstück des Busses für mindestens zwei der mindestens zwei Busteilnehmer jeweils eine Busverbindung auf, wobei der Speicher in der zweiten Brücke für jede jeweilige Busverbindung des dritten Teilstücks des Busses eine separate Speichereinheit aufweist, in der die für diese Busverbindung (d.h. für den oder die über diese Busverbindung angebundenen Busteilnehmer) bestimmten Nachrichtenpakete zwischengespeichert werden. Die zweite Brücke weist eine Verteilereinheit auf, die eingerichtet ist, diese Nachrichtenpakete wieder in entsprechende Signale gemäß dem ursprünglichen Kommunikationsprotokoll umzuwandeln und die eingerichtet ist, mindestens zwei Zugriffsanfragen zeitlich parallel über mindestens zwei der Busverbindungen des dritten Teilstücks des Busses an mindestens zwei Busteilnehmer (
Hierbei umfasst die Verteilereinheit bevorzugt für jede Speichereinheit eine Logik (z.B. in Form von Zustandsautomaten) zur Umwandlung der Nachrichtenpakte in das ursprüngliche Kommunikationsprotokoll und zur Übermittelung der entsprechenden Signale über die jeweilige Busverbindung des dritten Teilstücks des Busses.
Diese Ausführungsform ermöglicht es, dass zeitlich überlappend auf Busteilnehmer zugegriffen werden kann.Here, the distribution unit preferably includes logic for each memory unit (eg in the form of state machines) for converting the message packets into the original communication protocol and for transmitting the corresponding signals via the respective bus connection of the third section of the bus.
This embodiment makes it possible for bus subscribers to be accessed in a temporally overlapping manner.
In einer Weiterbildung der Erfindung weist die erste Brücke eine erste Identifizierungseinheit auf, wobei die erste Identifizierungseinheit eingerichtet ist, einem Nachrichtenpaket eine Identifizierung des sendenden Busmasters zuzuweisen. Die zweite Brücke weist eine zweite Identifizierungseinheit auf, die eingerichtet ist, die Identifizierung vor der Übermittelung der Nachricht an den entsprechenden Busteilnehmer zu speichern, sodass die Identifizierung dem entsprechenden Busteilnehmer zugeordnet ist.
Hierbei wird der sendende Busmaster anhand der Information identifiziert, über welche Busverbindung des ersten Teilstücks des Busses die Zugriffsanfrage bei der ersten Brücke eingegangen ist, wobei die erste Identifizierungseinheit bzw. der erste Multiplexer dann beispielsweise eingerichtet ist, zusätzliche Signale als Identifizierung des sendenden Busmasters auf zusätzlichen Leitungen zwischen der ersten Brücke und der zweiten Brücke anzulegen. Dabei stellen die zusätzlichen Signale eine Erweiterung des Nachrichtenpakets dar und werden im gleichen Takt mit diesem übermittelt.
Die zweite Identifizierungseinheit weist Speichermittel auf, um für jedes Nachrichtenpaket den sendenden Busmaster zu vermerken, bis eine Antwort des angesprochenen Busteilnehmers eingeht.
Die Zuordnung der Identifizierung des sendenden Busmasters zu dem entsprechenden Busteilnehmer, an den die Zugriffsanfrage gerichtet ist, ermöglicht es, bei Lesezugriffen auch dann Antworten korrekt dem anfragenden Busmaster zu übermitteln, wenn die Antworten der Busteilnehmer nicht gemäß der Reihenfolge des Eingangs der Zugriffsanfragen erfolgen.In a further development of the invention, the first bridge has a first identification unit, the first identification unit being set up to assign an identification of the sending bus master to a message packet. The second bridge has a second identification unit which is set up to store the identification before the message is transmitted to the corresponding bus user, so that the identification is assigned to the corresponding bus user.
Here, the sending bus master is identified on the basis of the information about which bus connection of the first section of the bus the access request was received by the first bridge, the first identification unit or the first multiplexer then being set up, for example, to send additional signals to identify the sending bus master Lay cables between the first bridge and the second bridge. The additional signals represent an extension of the message packet and are transmitted in the same cycle with it.
The second identification unit has storage means in order to note the sending bus master for each message packet until a response from the addressed bus user is received.
The assignment of the identification of the sending bus master to the corresponding bus subscriber to whom the access request is directed makes it possible to correctly transmit responses to the requesting bus master for read accesses even if the responses from the bus subscribers do not follow the order in which the access requests were received.
Für Schreibzugriffe ist eine Identifizierung nicht erforderlich.Identification is not required for write access.
Besonders bevorzugt ist die zweite Identifizierungseinheit eingerichtet, bei einer Zugriffsanfrage für einen Lesezugriff vor der Übermittelung einer Antwort des entsprechenden Busteilnehmers als Nachrichtenpaket von der zweiten Brücke an die erste Brücke, dem Antwort-Nachrichtenpaket die entsprechende Identifizierung des die Zugriffsanfrage sendenden (d.h. anfragenden) Busmasters zuzuweisen, etwa ebenfalls als zusätzliche Signale über zusätzliche Leitungen. Die erste Identifizierungseinheit (
Die erfindungsgemäßen Identifizierungseinheiten in der ersten und der zweiten Brücke, welche die Nachrichtenpakete um eine Identifizierung erweitern, ermöglichen einen optimierten Zugriff auf die Busteilnehmer, die somit in ihrem Antwortverhalten unabhängig von der Reihenfolge der Zugriffsanfragen sind.Particularly preferably, the second identification unit is set up to assign the corresponding identification of the bus master sending (ie requesting) the access request to the response message packet in the event of an access request for a read access before the transmission of a response from the corresponding bus subscriber as a message packet from the second bridge to the first bridge , for example also as additional signals via additional lines. The first identification unit (
The identification units according to the invention in the first and the second bridge, which add an identification to the message packets, enable optimized access to the bus subscribers, which are therefore independent of the sequence of the access requests in their response behavior.
Die Aufgabe wird ebenfalls gelöst durch ein Verfahren zur Kommunikation zwischen mindestens zwei Busmastern und mindestens einem Busteilnehmer über die erfindungsgemäße Doppelbrücke,
wobei in einem ersten Takt von der ersten Brücke Signale für eine erste Zugriffsanfrage eines ersten Busmasters gemäß einem Kommunikationsprotokoll über eine erste Busverbindung des ersten Teilstücks des Busses empfangen werden und wobei in dem ersten Takt dem ersten Busmaster von der ersten Brücke eine Empfangsbestätigung übermittelt wird und wobei die Signale für die erste Zugriffsanfrage als erstes Nachrichtenpaket über die der Senderichtung zugeordneten Leitungen der zweiten Teilverbindung des Busses von der ersten Brücke an die zweite Brücke übermittelt werden, wobei von der zweiten Brücke die dem ersten Nachrichtenpaket entsprechenden Signale gemäß dem Kommunikationsprotokoll an den mindestens einen Busteilnehmer übermittelt werden und wobei von der ersten Brücke ebenfalls in dem ersten Takt oder in einem zweiten Takt Signale für eine zweite Zugriffsanfrage eines zweiten Busmasters gemäß dem Kommunikationsprotokoll über eine zweite Busverbindung des ersten Teilstücks des Busses empfangen werden und dem zweiten Busmaster von der ersten Brücke eine Empfangsbestätigung übermittelt wird, wobei in dem zweiten Takt die Signale der zweiten Zugriffsanforderung als zweites Nachrichtenpaket an die zweite Brücke übermittelt werden und wobei das zweite Nachrichtenpaket in dem Speicher der zweiten Brücke zwischengespeichert wird, solange die dem ersten Nachrichtenpaket entsprechenden Signale an den mindestens einen Busteilnehmer übermittelt werden und wobei anschließend die dem zweiten Nachrichtenpaket entsprechenden Signale von der zweiten Brücke gemäß dem Kommunikationsprotokoll an den mindestens einen Busteilnehmer übermittelt werden.
Das erfindungsgemäße Verfahren ermöglicht es, Zugriffsanfragen von Busmastern so zu behandeln, dass diese den Bus - oder zumindest das zweite Teilstück des Busses - nur für maximal einen Takt für Zugriffsanfragen der anderen Busmaster blockieren, da in jedem neuen Takt eine neue Anfrage von der ersten Brücke an die zweite Brücke weitergeleitet werden kann, wohingegen gemäß dem Kommunikationsprotokoll mehrere Takte für die Kommunikation zwischen Busmaster und Busteilnehmer vorgesehen wären. Handelt es sich bei der Zugriffsanfrage um einen Schreib-Zugriff, so kann der Busmaster nach Erhalt der Empfangsbestätigung bereits neue Aufgaben bearbeiten. Handelt es sich um eine Leseanfrage, so kann vorgesehen sein, dass der Busmaster die Anfrage-Signale weiter auf seiner Busverbindung des ersten Teilstücks des Busses anlegt, bis er eine Antwort erhält. Dennoch können in dieser Zeit weitere Anfragen der übrigen Busmaster pro Takt von der ersten Brücke an die zweite Brücke übermittelt werden, sodass das zweite Teilstück des Busses nicht länger als einen Takt durch die erste Zugriffsanfrage blockiert ist. Eine Wartezeit für einen Busmaster von mehr als einem Takt kann sich (bei Kommunikationsprotokollen, die Anfrage und Datenübermittelung nicht auf mehrere Takte aufteilen) nur ergeben, falls mehr als zwei Busmaster gleichzeitig eine Zugriffsanfrage senden. Das Verfahren ermöglicht diese Vorteile auch dadurch, dass zwischen der ersten und der zweiten Brücke Zugriffsanfragen nur über die der Senderichtung zugeordneten Leitungen der zweiten Teilverbindung des Busses übermittelt werden.The object is also achieved by a method for communication between at least two bus masters and at least one bus user via the double bridge according to the invention,
wherein in a first cycle from the first bridge signals for a first access request from a first bus master according to a communication protocol via a first bus connection of the first section of the bus are received and wherein in the first cycle the first bus master is sent an acknowledgment of receipt from the first bridge and wherein the signals for the first access request are transmitted as a first message packet over the lines of the second partial connection of the bus assigned to the transmission direction from the first bridge to the second bridge, the signals corresponding to the first message packet from the second bridge to the at least one according to the communication protocol a bus subscriber are transmitted and the first bridge also receives signals in the first cycle or in a second cycle for a second access request from a second bus master according to the communication protocol via a second bus connection of the first section of the bus and the second bus master from the first bridge an acknowledgment of receipt is transmitted, the signals of the second access request being transmitted as a second message packet to the second bridge in the second cycle and the second message packet being cached in the memory of the second bridge d, as long as the signals corresponding to the first message packet are transmitted to the at least one bus subscriber and then the signals corresponding to the second message packet are transmitted from the second bridge to the at least one bus subscriber in accordance with the communication protocol.
The method according to the invention makes it possible to handle access requests from bus masters in such a way that they block the bus - or at least the second section of the bus - for a maximum of one cycle for access requests from the other bus masters, since a new request from the first bridge is made in each new cycle can be forwarded to the second bridge, whereas, according to the communication protocol, several clocks would be provided for communication between bus master and bus subscriber. If the access request is a write access, the bus master can process new tasks after receiving the confirmation of receipt. If it is a read request, it can be provided that the bus master continues to apply the request signals to its bus connection of the first section of the bus until it receives a response. Nevertheless, further requests from the other bus masters per cycle can be transmitted from the first bridge to the second bridge during this time, so that the second section of the bus is not blocked for longer than one cycle by the first access request. A waiting time for a bus master of more than one cycle can only arise (in the case of communication protocols that do not split the request and data transfer over several cycles) if more than two bus masters send an access request at the same time. The method also enables these advantages in that access requests are only transmitted between the first and the second bridge via the lines of the second partial connection of the bus assigned to the transmission direction.
In einer Weiterbildung des erfindungsgemäßen Verfahrens wird bei gleichzeitig in dem ersten Takt eingehenden Zugriffsanfragen des ersten Busmasters mit einer höheren Priorität und des zweiten Busmasters mit einer niedrigeren Priorität mittels des ersten Arbiters in der ersten Brücke bestimmt, dass die erste Zugriffsanfrage in dem ersten Takt als Nachrichtpaket von der ersten Brücke (
Die Prioritäten der Zugriffsanfragen sind beispielsweise dadurch bestimmt, dass den einzelnen Busmastern Prioritäten zugeordnet und im ersten Arbiter hinterlegt sind, sodass der erste Arbiter z.B. instruiert ist, Zugriffsanfragen des ersten Busmasters Zugriffsanfragen des zweiten Busmasters vorzuziehen. Eine andere Möglichkeit wäre die Priorität mit (anderen) Informationen bezüglich der Zugriffsanfrage zu verknüpfen.In a further development of the method according to the invention, if access requests from the first bus master with a higher priority and the second bus master with a lower priority are received simultaneously in the first cycle, the first arbiter in the first bridge determines that the first access request in the first cycle is a message packet from the first bridge (
The priorities of the access requests are determined, for example, in that priorities are assigned to the individual bus masters and stored in the first arbiter so that the first arbiter is instructed, for example, to give priority to access requests from the first bus master to access requests from the second bus master. Another possibility would be to link the priority with (other) information regarding the access request.
Bei gleichzeitig eingehenden Zugriffsanfragen wird bevorzugt die zweite Zugriffsanfrage als zweites Nachrichtenpaket in einem Speicher in der ersten Brücke zwischengespeichert.
Dies ermöglicht, dass auch dem zweiten Busmaster schon im ersten Takt eine Empfangsbestätigung übermittelt wird, so dass sich dieser sofort wieder neuen Aufgaben widmen kann.
Gehen mehr als zwei Zugriffsanfragen gleichzeitig ein, so werden alle bis auf die vom ersten Arbiter am höchsten priorisierte Zugriffsanfrage in der ersten Brücke gemäß einer ermittelten Priorisierung zwischengespeichert.If access requests are received at the same time, the second access request is preferably temporarily stored as a second message packet in a memory in the first bridge.
This enables the second bus master to receive an acknowledgment of receipt in the first cycle so that it can immediately devote itself to new tasks.
If more than two access requests are received at the same time, all but the access request prioritized by the first arbiter are temporarily stored in the first bridge according to a determined prioritization.
Die Erfindung wird nachfolgend unter Bezugnahme auf die schematisierten Zeichnungen näher erläutert.The invention is explained in more detail below with reference to the schematic drawings.
Darin zeigt:
-
1 eine einfache Ausführungsform der erfindungsgemäßen Doppelbrücke, -
2 eine erfindungsgemäße Doppelbrücke mit Identifizierungseinheiten (IE1 ,IE2 ), -
3a den Signalverlauf gemäß dem ursprünglichen Kommunikationsprotokoll, -
3b die Bestimmung eines Nachrichtenpakets aus dem ursprünglichen Kommunikationsprotokoll.
-
1 a simple embodiment of the double bridge according to the invention, -
2 a double bridge according to the invention with identification units (IE1 ,IE2 ), -
3a the signal course according to the original communication protocol, -
3b the determination of a message packet from the original communication protocol.
Der Speicher
Da die in
Somit kann die erste Brücke
In dieser Ausführungsform ist zwischen der ersten Brücke
Die dort gezeigte Ausführungsform ist in
Das dritte Teilstück
Aus den Speichereinheiten werden nun für jede Busverbindung wie in dem in
Die Verteilereinheit
Vorzugsweise umfasst die Verteilereinheit
Die Übermittelung von Antworten erfolgt hier zwischen der zweiten Brücke
Die erste Identifizierungseinheit
Ebenso kann die zweite Identifizierungseinheit
Die Taktung wird durch das Signal io_clk vorgegeben. Dabei sind hier zur Verdeutlichung fünf Takte durch Zahlen gekennzeichnet. In Takt
Die Kommunikation in
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent literature cited
- US 2017/0045418 A1 [0002]US 2017/0045418 A1 [0002]
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019110676.1A DE102019110676A1 (en) | 2019-04-25 | 2019-04-25 | Double bridge for a parallel bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019110676.1A DE102019110676A1 (en) | 2019-04-25 | 2019-04-25 | Double bridge for a parallel bus |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019110676A1 true DE102019110676A1 (en) | 2020-10-29 |
Family
ID=72839841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019110676.1A Pending DE102019110676A1 (en) | 2019-04-25 | 2019-04-25 | Double bridge for a parallel bus |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019110676A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060206645A1 (en) * | 2004-06-08 | 2006-09-14 | Arm Limited | Performing arbitration in a data processing apparatus |
-
2019
- 2019-04-25 DE DE102019110676.1A patent/DE102019110676A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060206645A1 (en) * | 2004-06-08 | 2006-09-14 | Arm Limited | Performing arbitration in a data processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3041600C2 (en) | Method and circuit arrangement for transmitting data signals between data signal transmitters and data signal receivers connected to data switching devices of a data switching system | |
DE102006058818B4 (en) | Apparatus and method for converting text messages | |
DE3642324C2 (en) | Multiprocessor system with processor access control | |
DE102007004044B4 (en) | Method and system for optimized transmission of data between a control device and a plurality of field devices | |
DE69024641T2 (en) | Interface for access as sender and receiver based on synchronous transmission in a distributed network | |
EP0329005A1 (en) | Method for establishing virtual circuits via switches of a multistage switching arrangement | |
DE69432694T2 (en) | Arbitration method and device for controlling access to a network | |
DE102011122644A1 (en) | Message loss prevention using a sender buffer and traffic shaping in event-triggered distributed real-time embedded systems | |
DE3041556C2 (en) | Method and circuit arrangement for switching data between data terminals | |
DE102005005342A1 (en) | Bus arrangement, master and slave unit as well as data read and data transmission method | |
EP1370952B1 (en) | Communication method for establishing event channels in a timed communication system | |
DE69323969T2 (en) | Method for simulating transmission over an asynchronous transfer mode transmission network and simulator for transmission over such a network | |
DE102011004358B3 (en) | Method for transmitting data over a synchronous serial data bus | |
DE3041566C2 (en) | Method and circuit arrangement for transmitting data signals between data switching devices of a data switching system | |
EP0133577B1 (en) | Data transmission system in a digital transmission network and arrangement for the use of this system | |
DE102012204536A1 (en) | Method for transmitting data through common transmission medium in network, involves determining one time for media access to send message in other time range of current transfer cycle or subsequent transmission cycle | |
DE102019110676A1 (en) | Double bridge for a parallel bus | |
DE19911830A1 (en) | Procedure for managing access to a bus and bus system | |
DE2914665C2 (en) | Telecommunication system, in particular video text system, as well as partially centralized and decentralized circuit module for this system | |
DE2831887C2 (en) | Arrangement for transferring data between a central processing unit and several peripheral units | |
DE60316146T2 (en) | ARBITRATION OF THE MEDIA BOOKS INTERFACE FOR A MEDIA SERVER | |
DE3928481C2 (en) | Priority-oriented decentralized bus allocation system | |
CH656274A5 (en) | CIRCUIT ARRANGEMENT FOR TRANSMITTING DATA SIGNALS BETWEEN EACH TWO DATA TERMINALS OF A DATA TRANSMISSION SYSTEM. | |
DE3235739C2 (en) | Method for preparing the connection of one of several data processing devices to a centrally clock-controlled multiple line arrangement | |
DE2833048B2 (en) | Circuit arrangement for the transmission of data via program-controlled data switching systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R081 | Change of applicant/patentee |
Owner name: DSPACE GMBH, DE Free format text: FORMER OWNER: DSPACE DIGITAL SIGNAL PROCESSING AND CONTROL ENGINEERING GMBH, 33102 PADERBORN, DE |