Die vorliegende Erfindung betrifft
eine Netzwerkanschaltung, insbesondere eine Ethernet-Anschaltung.The present invention relates to
a network connection, in particular an Ethernet connection.
Durch den zunehmenden Einsatz von
Netzwerktechnologien, die aus dem Bereich der Bürokommunikation stammen, z.
B. Ethernet, Token Ring, ATM und anderen, auch im Bereich der Industrieautomatisierung
gewinnt eine preisgünstige
Vernetzung von Endgeräten über derartige
Netzwerktechnologien immer mehr an Bedeutung.With the increasing use of
Network technologies that come from the field of office communication, e.g.
B. Ethernet, Token Ring, ATM and others, also in the field of industrial automation
wins an inexpensive
Networking of end devices via such
Network technologies are becoming increasingly important.
Bei den Netzwerktechnologien der
Bürokommunikation
erfolgt die Vernetzung in der Regel über Knotenpunkte (Hubs, Switches),
von denen sternförmig
Punkt-zu-Punkt-Verbindungen zu den einzelnen Endgeräten abgehen.
Dies ist für
Anwendungen im Industrieumfeld, in dem oftmals linienförmige Strukturen
vorliegen, nachteilig.With the network technologies of
office communication
networking is usually via nodes (hubs, switches),
of which star-shaped
Make point-to-point connections to the individual devices.
This is for
Applications in the industrial environment, in which often linear structures
present, disadvantageous.
Aus der US-A-5,802 278 ist bereits
eine Netzwerkanschaltung bekannt, die genau drei Ports aufweist.
Einer der Ports ist ein interner Port, über den ein Endgerät mit der
Netzwerkanschaltung verbindbar ist. Die beiden anderen Ports sind
externe Ports, über
die je eine Netzwerkleitung mit der Netzwerkanschaltung verbindbar
ist. Zwischen den Ports ist ein sogenannter Media Access Controller
(MAC) angeordnet. Dieser MAC empfängt Datenpakete, speichert
sie zwischen und versendet sie – gegebenenfalls
nur über
einen der anderen Ports – weiter.From the US-A-5,802,278 a network interface is already known that has exactly three ports. One of the ports is an internal port via which a terminal can be connected to the network interface. The other two ports are external ports, via which a network cable can be connected to the network interface. A so-called media access controller (MAC) is arranged between the ports. This MAC receives data packets, stores them temporarily and sends them on - possibly only via one of the other ports.
Die Lehre des Standes der Technik
weist eine Reihe von Nachteilen auf.The teaching of the state of the art
has a number of disadvantages.
Zunächst ist der MAC komplex aufgebaut. Die
Netzwerkanschaltung als Ganzes ist somit relativ teuer. Ferner werden
stets komplette Datenpakete empfangen und erst nach dem vollständigen Empfang
weiter geleitet. Daher wird zum einen ein großer Zwischenspeicher benötigt, zum
anderen treten große
Verzögerungszeiten
auf. Insbesondere die Verzögerungszeiten
stellen einen Nachteil dar. Denn im Bereich der Industrieautomatisierung
ist auch das Echtzeitverhalten eines vernetzten Systems von Bedeutung.
Die im Stand der Technik auftretenden Verzögerungszeiten sind aber so
groß,
dass sie die Echtzeitfähigkeit
des vernetzten Systems beeinträchtigen.First, the MAC is complex. The
Network connection as a whole is therefore relatively expensive. Furthermore
Always receive complete data packets and only after complete receipt
forwarded. Therefore, a large buffer is required on the one hand
others kick big
delay times
on. Especially the delay times
represent a disadvantage. Because in the field of industrial automation
the real-time behavior of a networked system is also important.
The delay times that occur in the prior art are however so
large,
that they have real-time capability
of the networked system.
Die Aufgabe der vorliegenden Erfindung
besteht darin, eine gattungsgemäße Netzwerkanschaltung
derart weiter zu entwickeln, dass sie einfacher und kostengünstiger
herstellbar ist und insbesondere auch bei Verwendung dieser Netzwerkanschaltung zum
Aufbau von Linienstrukturen die Echtzeitfähigkeit weitestgehend erhalten
bleibt.The object of the present invention
consists of a generic network connection
to develop in such a way that they are easier and less expensive
can be produced and in particular also when using this network connection for
Building line structures that maintain real-time capability as much as possible
remains.
Die Aufgabe wird dadurch gelöst,The task is solved by
-
– dass
die Ports über
eine fest verdrahtete Verbindungsschaltung miteinander verschaltet
sind,- that
the ports over
a hard-wired connection circuit interconnected
are,
-
– dass
die Ports im Vollduplex-Betrieb betreibbar sind und- that
the ports can be operated in full duplex mode and
-
– dass
die Verbindungsschaltung derart ausgebildet ist, dass Daten eines
Datenpakets, das der Netzwerkanschaltung über einen der Ports zugeführt wird,
bereits vor dem vollständigen
Zuführen des
Datenpakets über
mindestens einen der anderen Ports ausgebbar sind.- that
the connection circuit is designed such that data of a
Data packet that is fed to the network interface via one of the ports
even before the full
Feeding the
Data packet over
at least one of the other ports can be output.
Die erfindungsgemäße Netzwerkanschaltung ist
also nicht nur bezüglich
der Zahl ihrer Ports auf eine Linienanwendung maßgeschneidert. Darüber hinaus
ist durch die fest verdrahtete Verbindungsschaltung eine schnelle
Signalverarbeitung und eine schnelle Reaktion auf den Empfang von
Daten möglich.
Durch den Vollduplex-Betrieb sind gleichzeitig Daten empfangbar
und sendbar. Vor allem aber wird durch das Ausgeben von Daten eines
Datenpakets bereits vor dem vollständigen Zuführen des Datenpakets eine deutliche
Verringerung des erforderlichen Speicherbedarfs und der Verzögerungszeiten
erreicht.The network connection according to the invention is
not just in terms of
the number of its ports tailored to a line application. Furthermore
is fast thanks to the hard-wired connection circuit
Signal processing and a quick response to the reception of
Data possible.
Full duplex operation means that data can be received at the same time
and broadcast. Above all, the output of data becomes one
Data packet a clear before the complete delivery of the data packet
Reduce memory requirements and delay times
reached.
Wenn die Verbindungsschaltung derart
ausgebildet ist, dass ein der Netzwerkanschaltung über den
internen Port zugeführtes
Datenpaket stets über beide
externe Ports ausgegeben wird, ist die Verbindungsschaltung einfacher
strukturiert. Denn dann ist beim Senden eines über den internen Port zugeführten Datenpakets
keine Auswertung der Zielinformation des Datenpakets erforderlich.If the connection circuit is like this
is formed that one of the network interface over the
internal port fed
Data packet always over both
external ports is output, the connection circuit is easier
structured. Because then when sending a data packet supplied via the internal port
no evaluation of the target information of the data packet required.
Die Datenpakete enthalten in der
Regel zumindest eine Quelladresse und eine Zieladresse. Die Verbindungsschaltung
ist daher vorzugsweise derart ausgebildet, dass sie mindestens eine
der nachstehenden Filterungen ausführt:The data packets contain in the
Usually at least one source address and one destination address. The connection circuit
is therefore preferably designed such that it has at least one
of the filtering below:
-
– Bei
einem der Netzwerkanschaltung über
einen der externen Ports zugeführten
Datenpaket wird zunächst
die Zieladresse extrahiert. Das Datenpaket wird nur dann über den
internen Port ausgegeben, wenn die Zieladresse eine Endgeräte-Durchschaltbedingung
erfüllt.
Die Endgeräte-Durchschaltbedingung
kann dabei insbesondere dann erfüllt
sein, wenn die Zieladresse mit der Adresse des angeschlossenen Endgeräts übereinstimmt.
Gegebenenfalls können
auch Multicast- und Broadcast-Datenpakete durchgeschaltet werden.
Eventuell können
für Multicast-
und Broadcast-Datenpakete auch der Typ und/ oder die Funktionalität des Datenpakets
herangezogen werden, um zu überprüfen, ob
die Endgeräte-Durchschaltbedingung
erfüllt
ist.- At
one of the network interface over
one of the external ports
Data packet is first
extracted the destination address. The data packet is then only via the
internal port output if the target address is a terminal switching condition
Fulfills.
The terminal switching condition
can then be met in particular
if the target address matches the address of the connected device.
If necessary, you can
multicast and broadcast data packets can also be switched through.
Maybe you can
for multicast
and broadcast data packets also the type and / or the functionality of the data packet
can be used to check whether
the terminal switching condition
Fulfills
is.
-
– In ähnlicher
Weise kann auch überprüft werden, ob
die Zieladresse des über
einen der externen Ports zugeführten
Datenpakets eine Netzwerk-Durchschaltbedingung erfüllt. Nur
bei Erfüllung
dieser Netzwerk-Durchschaltbedingung wird das Datenpaket über den
anderen externen Port ausgegeben. Die Netzwerk-Durchschaltbedingung
kann insbesondere dann erfüllt
sein, wenn die Zieladresse nicht mit der Adresse des Endgeräts übereinstimmt.- In a similar way
Way can also be checked whether
the destination address of the over
one of the external ports
Data packet fulfills a network switching condition. Just
if fulfilled
this network switching condition, the data packet over the
another external port. The network switching condition
can then be met in particular
if the destination address does not match the address of the end device.
-
– Darüber hinaus
kann auch die Quelladresse extrahiert werden. Das Datenpaket wird
in diesem Fall nur dann über
den internen Port und den anderen externen Port ausgegeben, wenn
die Quelladresse eine Quell-Durchschaltbedingung erfüllt. Die
Quell-Durchschaltbedingung kann insbesondere darin bestehen, dass
die Quelladresse von der Adresse des Endgeräts verschieden ist. Denn dadurch
werden insbesondere Kreisläufer
ausgefiltert.- The source address can also be extracted. In this case, the data packet is only sent via the internal port and the whose external port is output if the source address fulfills a source switching condition. The source switching condition can consist in particular in that the source address is different from the address of the terminal. This is because circular rotors in particular are filtered out.
Um die Überprüfung der oben genannten Bedingungen
zu ermöglichen,
weist die Verbindungsschaltung mindestens einen Zwischenspeicher
auf, in dem der Netzwerkanschaltung zugeführte Daten eines Datenpakets
zwischengespeichert werden, bis die Prüfung, ob die Endgeräte-Durchschaltbedingung,
die Netzwerk-Durchschaltbedingung
und/oder die Quell-Durchschaltbedingung erfüllt ist bzw. sind, abgeschlossen
ist. Für
jeden Port, bezüglich
dessen eine Durchschaltbedingung überprüft wird, ist dabei ein eigener
Zwischenspeicher erforderlich.To review the above conditions
to allow
the connection circuit has at least one buffer
on, in the data supplied to the network interface of a data packet
be temporarily stored until the check as to whether the terminal switching condition,
the network switching condition
and / or the source switching condition is or are completed
is. For
every port, regarding
whose switching condition is checked is a separate one
Buffer required.
In einer einfachen Version kann die
Verbindungsschaltung aber auch derart ausgebildet sein, dass ein
der Netzwerkanschaltung über
einen der externen Ports zugeführtes
Datenpaket stets über
den internen Port und den anderen externen Port ausgegeben wird.
Denn dann ist die Verbindungsschaltung einfacher strukturiert, weil
keine Auswertung eines ankommenden Datenpakets erforderlich ist,
wenn dieses über
einen der externen Ports empfangen wird.In a simple version, the
Connection circuit but also be designed such that a
the network connection via
one of the external ports
Data packet always over
the internal port and the other external port is output.
Because then the connection circuit is structured more simply because
no evaluation of an incoming data packet is necessary,
if this over
one of the external ports is received.
Vorzugweise ist die Verbindungsschaltung derart
ausgebildet, dass Daten eines der Netzwerkanschaltung über einen
der Ports zugeführten
Datenpakts in einem Zwischenspeicher hinterlegt werden, bis die
Daten eine Mindestgröße angenommen haben,
und erst dann mit dem Ausgeben des Datenpakets über mindestens einen der anderen
Ports begonnen wird. Denn dann kann es nicht geschehen, dass der
Zwischenspeicher durch das Auslesen der zu sendenden Daten vollständig geleert
wird, weil das Auslesen und Senden der Daten schneller erfolgt als
das Zu führen
und Einschreiben der Daten in den Zwischenspeicher. Wenn das Datenpaket
eine Größe unterhalb
der Mindestgröße aufweist,
kann selbstverständlich
mit dem Ausgeben des Datenpakets bereits begonnen werden, wenn das
Datenpaket vollständig
im Zwischenspeicher hinterlegt ist.The connection circuit is preferably such
trained that data one of the network interface over a
of the ports fed
Data packets are stored in a buffer until the
Data has assumed a minimum size,
and only then when the data packet is output via at least one of the others
Ports is started. Because then it cannot happen that the
Buffer completely emptied by reading out the data to be sent
because the data is read and sent faster than
to lead
and writing the data into the buffer. If the data packet
one size below
the minimum size,
can of course
the data packet can already be output if the
Data packet complete
is stored in the buffer.
Wenn die externen Ports als mediumunabhängige Schnittstellen
(MII) ausgebildet sind und die Netzwerkleitungen über Physical
Layer Devices an die externen Ports anschaltbar sind, ist die Netzwerkanschaltung
und insbesondere deren Verbindungsschaltung unabhängig von
der physikalischen Ausbildung der Netzwerkleitungen gestaltbar.If the external ports as medium-independent interfaces
(MII) are trained and the network lines via physical
Layer devices can be connected to the external ports is the network connection
and in particular their connection circuit independent of
the physical design of the network lines can be designed.
Wenn auch der interne Port als mediumunabhängige Schnittstelle
(MII) ausgebildet ist, ist das Endgerät direkt an den internen Port
anschaltbar.Even if the internal port as a medium-independent interface
(MII) is formed, the terminal is directly to the internal port
connectable.
Die Verbindungsschaltung ist vorzugsweise derart
ausgebildet, dass ein einem der Ports über einen anderen der Ports
zugeführtes
Datenpaket von dem einen Port zwischengespeichert wird, wenn ihm vom
dritten Port bereits ein Datenpaket zugeführt wird. Denn dann treten
keine Datenverluste auf, obwohl simultan an den beiden anderen Ports
Daten entgegen genommen werden.The connection circuit is preferably such
trained that one of the ports through another of the ports
supplied
Data packet from the one port is cached if it from the
A data packet is already fed to the third port. Because then kick
no data loss, although simultaneously on the other two ports
Data are accepted.
Zur Realisierung der Zwischenspeicher
ist es insbesondere möglich,
dass den externen Ports Zwischenspeicher zum Zwischenspeichern von
Datenpaketen zugeordnet sind, die der Netzwerkanschaltung über den
internen Port zugeführt
werden, wobei in die Zwischenspeicher zu jedem Zeitpunkt maximal ein
Datenpaket einspeicherbar ist. Die Verwaltung mehrerer über den
internen Port zuzuführender
Datenpakete erfolgt dann innerhalb des Endgeräts Zur Realisierung der Zwischenspeicherung
sind ferner vorzugsweise den externen Ports Zwischenspeicher zum
Zwischenspeichern von Datenpaketen zugeordnet, die der Netzwerkanschal tung über den
jeweils anderen externen Port zugeführt werden, wobei in diese
Zwischenspeicher mehr als ein Datenpaket einspeicherbar ist.To implement the buffer
it is particularly possible
that the external ports cache for caching
Data packets are assigned to the network connection via the
internal port fed
be, with a maximum of one in the buffer at any time
Data packet can be saved. The management of several over the
internal port to be fed
Data packets then take place within the terminal device to implement the intermediate storage
are also preferably the external ports buffer
Intermediate storage of data packets assigned to the network connection via the
each other external port are supplied, in this
Buffer more than one data packet can be stored.
Die größere Dimensionierung der Zwischenspeicher
für die
externen Ports berücksichtigt
insbesondere das in der Regel höhere
Datenaufkommen über
die Netzwerkleitungen. Wenn pro externem Port mehr als ein Zwischenspeicher
vorhanden ist, ist insbesondere eine Priorisierung der vom anderen
externen Port empfangenen Datenpakete möglich. Dies führt gegebenenfalls
zu einem verbesserten Echtzeitverhalten für zeitkritische Datenpakete.The larger dimensioning of the buffer
for the
external ports taken into account
especially the usually higher one
Data volume over
the network lines. If there is more than one buffer per external port
is there is in particular a prioritization of the other
external port received data packets possible. This may result
to an improved real-time behavior for time-critical data packets.
Auch dem internen Port ist vorzugsweise mindestens
ein Zwischenspeicher zum Zwischenspeichern von Datenpaketen zugeordnet,
die der Netzwerkanschaltung über
einen der externen Ports zugeführt
werden, wobei in diesen Zwischenspeicher ebenfalls mehr als ein
Datenpaket einspeicherbar ist.The internal port is also preferably at least
assigned a buffer for buffering data packets,
over the network interface
one of the external ports
be, with more than one in this buffer
Data packet can be saved.
Auch die Dimensionierung des Zwischenspeichers
bzw. der Zwischenspeicher des internen Ports berücksichtigt das in der Regel
höhere
Datenaufkommen über
die Netzwerkleitungen. Wenn dabei mehr als ein Zwischenspeicher
vorhanden ist, kann beispielsweise jedem externen Port ein eigener
Zwischenspeicher zugeordnet werden. Alternativ – oder bei hinreichend vielen
Zwischenspeichern auch zusätzlich – kann auch
zwischen verschiedenen Prioritäten
auf einfache Weise unterschieden werden.Also the dimensioning of the buffer
or the cache of the internal port usually takes this into account
higher
Data volume over
the network lines. If there is more than one cache
is available, for example, each external port has its own
Buffer can be assigned. Alternatively - or with a sufficient number
Caching also additionally - can also
between different priorities
can be easily distinguished.
Den Datenpaketen sind in der Regel
Prioritäten
zugeordnet. Wenn daher den externen Ports Paketsteuerelemente zugeordnet
sind, mittels derer bei mehreren von den externen Ports ausgebbaren
Datenpaketen stets das höchstpriore
Datenpaket zuerst ausgegeben wird, ist auf einfache Weise eine Priorisierung
des Datenverkehrs möglich.The data packets are usually
priorities
assigned. Therefore, when the external ports are assigned packet controls
by means of which several of the external ports can be output
Data packets always the highest priority
Data packet output first is a simple prioritization
of data traffic possible.
Vorzugsweise sind den der Netzwerkanschaltung über den
internen Port zugeführten
Datenpaketen alternativ eine hohe oder eine niedrige Priorität und den
der Netzwerkanschaltung über
die externen Ports zugeführten
Datenpaketen eine mittlere Priorität zugeordnet. Denn dadurch
haben – zumindest
in der Regel – bereits
in der Übertragung
befindliche Datenpakete Vorrang vor neu hinzukommenden Datenpaketen.
Ein Blockieren des Netzwerks durch ein einzelnes Endgerät ist daher
sehr unwahrscheinlich. Auf Grund der Möglichkeit, den Datenpaketen des
internen Ports auch eine hohe Priorität zuzuordnen, ist andererseits
ein vorrangiges Einspeisen eines neu hinzukommenden Datenpakets
im Einzelfall dennoch möglich.Preferably, the data packets supplied to the network connection via the internal port are alternatively assigned a high or low priority and the data packets supplied to the network connection via the external ports are assigned a medium priority. This is because - at least as a rule - data packets that are already in transmission have priority over new ones Data packets. Blocking the network by a single end device is therefore very unlikely. On the other hand, due to the possibility of also assigning a high priority to the data packets of the internal port, priority feeding of a newly added data packet is possible in individual cases.
Wenn mittels der Paketsteuerelemente
den externen Ports zugeführte
Datenpakete derart verzögerbar
sind, dass zwischen dem Ende eines über einen der externen Ports
ausgegebenen Datenpakets und dem Anfang des nächsten über diesen externen Port ausgegebenen
Datenpakets eine Mindestpause liegt, ergeben sich automatisch Lücken im
Datenstrom, in welchen andere Netzwerkanschaltungen ihre Datenpakete
einspeisen können.If using the package controls
supplied to the external ports
Data packets can be delayed in this way
are that between the end of one through one of the external ports
output data packet and the beginning of the next output via this external port
If there is a minimum pause for data packets, there are automatically gaps in the
Data stream in which other network interfaces their data packets
can feed.
Wenn die Mindestpause von der Priorität des zu
sendenden Datenpakets abhängt
und/oder davon abhängt,
ob das zu sendende Datenpaket der Netzwerkanschaltung über den
internen Port oder über den
anderen externen Port zugeführt
wird, ist auf einfache Weise eine prioritätsgerechte Einspeisung in das
Netzwerk zu gewährleisten.
Hierzu kann insbesondere die Mindestpause derart festgelegt sein, dass
sie um so größer ist,
je geringer die Priorität
des zu sendenden Datenpakets ist.If the minimum break from the priority of the
sending data packet depends
and / or depends on
whether the data packet to be sent from the network interface via the
internal port or via the
other external port
is a priority feed into the
Network.
For this purpose, in particular the minimum break can be set in such a way that
the bigger it is
the lower the priority
of the data packet to be sent.
Wenn die Netzwerkanschaltung eine
Schnittstellenschaltung aufweist, über die die Verbindungsschaltung
parametrierbar ist, ist die Netzwerkanschaltung besonders flexibel
und universell einsetzbar.If the network connection is a
Interface circuit via which the connection circuit
is parameterizable, the network connection is particularly flexible
and universally applicable.
Wenn zumindest die Netzwerkanschaltung als
elektronisch programmierbare Schaltung, z. B. als field programmable
gate ar ray (FPGA) oder als electronically programmable logic device
(EPLD), ausgebildet ist, ist sie auch bei geringen Stückzahlen auf
besonders einfache Weise realisierbar und in das Gesamtsystem integrierbar.If at least the network connection as
electronically programmable circuit, e.g. B. as a field programmable
gate ar ray (FPGA) or as electronically programmable logic device
(EPLD), is formed, even with small quantities
can be implemented in a particularly simple manner and integrated into the overall system.
Wenn die Netzwerkanschaltung hingegen als
ASIC ausgebildet ist, ist sie insbesondere bei großen Stückzahlen
kostengünstig
herstellbar.However, if the network connection as
ASIC is trained, it is particularly in large quantities
economical
produced.
Wenn die Netzwerkanschaltung vom
Endgerät
aus mit elektrischer Energie versorgbar ist, ist sie besonders einfach
ausgebildet. Alternativ oder zusätzlich
ist aber auch möglich,
dass die Netzwerkanschaltung unabhängig vom Endgerät, insbesondere über eine
der Netzwerkleitungen, mit elektrischer Energie versorgbar ist.If the network connection from
terminal
is particularly easy to supply with electrical energy
educated. Alternatively or additionally
is also possible
that the network connection is independent of the end device, especially via a
of the network lines, can be supplied with electrical energy.
Weitere Vorteile und Einzelheiten
ergeben sich aus der nachfolgenden Beschreibung eines Ausführungsbeispiels
in Verbindung mit den Zeichnungen. Dabei zeigen in PrinzipdarstellungOther advantages and details
result from the following description of an exemplary embodiment
in conjunction with the drawings. Show in principle
1 mehrere
in Linientopologie verbundene Endgeräte, 1 several end devices connected in line topology,
2 ein
Endgerät
mit einer Netzwerkanschaltung, 2 a terminal with a network connection,
3A – 3C eine Verbindungsschaltung
und eine Schnittstelle, 3A - 3C a connection circuit and an interface,
4 ein
Datenpaket, 4 a data packet,
5 ein
Ablaufdiagramm, 5 a flow chart,
6A – 6D eine Erweiterung der Verbindungsschaltung
der 3A – 3C, 6A - 6D an extension of the connection circuit of the 3A - 3C .
7 eine
Korrekturschaltung und 7 a correction circuit and
8 ein
weiteres Ablaufdiagramm. 8th another flowchart.
Gemäß 1 sind mehrere Endgeräte 1 über Netzwerkanschaltungen 2 und
Netzwerkleitungen 3 miteinander vernetzt. Die Vernetzung
zwischen den Endgeräten 1 erfolgt
beispielsweise gemäß dem Ethernet-Standard.According to 1 are multiple devices 1 via network connections 2 and network lines 3 networked with each other. The networking between the end devices 1 takes place, for example, according to the Ethernet standard.
Die Endgeräte 1 weisen in der
Regel insbesondere eine intelligente Einheit 4, z. B. einen
Mikrocontroller oder einen Mikroprozessor, und einen media access
controller 5 (MAC 5) auf. Die intelligenten Einheiten 4 sind
mit den MACs 5 über
Adress-/Datenbusse 6 verbunden. Die MACs 5 sind
mit den internen Ports 8 der Netzwerkanschaltungen 2 verbunden.The end devices 1 usually have an intelligent unit 4 , e.g. B. a microcontroller or a microprocessor, and a media access controller 5 (MAC 5 ) on. The intelligent units 4 are with the MACs 5 via address / data buses 6 connected. The MACs 5 are with the internal ports 8th the network connections 2 connected.
Die internen Ports 8 sind
als medienunabhängige
Schnittstellen (MII = media independent interface) ausgebildet.
Die Endgeräte 1 sind
daher direkt an die internen Ports 8 anschaltbar.The internal ports 8th are designed as media-independent interfaces (MII). The end devices 1 are therefore directly to the internal ports 8th connectable.
Die Netzwerkleitungen 3 können elektrische oder
Lichtwellenleiter sein. Auch Mischformen sind möglich. Sie sind über Physical
Layer Devices 7 an die Netzwerkanschaltungen 2 angeschaltet,
und zwar an externe Ports 9, 10 der Netzwerkanschaltungen 2.
Die Physical Layer Devices 7 beinhalten die Sendetreiber
für die
auszusendenden Daten sowie die Schwellwertwandler zum Binarisieren
der empfangenen Daten. Auch die externen Ports 9, 10 sind somit
als medienunabhängige
Schnittstellen (MII) ausgebildet.The network lines 3 can be electrical or optical fibers. Mixed forms are also possible. They are about physical layer devices 7 to the network interfaces 2 switched on, to external ports 9 . 10 the network connections 2 , The physical layer devices 7 include the send drivers for the data to be sent and the threshold converters for binarizing the received data. Even the external ports 9 . 10 are thus designed as media-independent interfaces (MII).
Wie bereits aus 1 und noch deutlicher aus 2 ersichtlich ist, sind
die Leitungen, über
die von den Ports 8 bis 10 Daten versendet werden,
von den Leitungen verschieden, über
welche den Ports 8 bis 10 Daten zugeführt werden.
Die Ports 8 bis 10 werden also im Vollduplex-Betrieb
betrieben, also unter gleichzeitigem Senden und Empfangen von Daten.
Dies ist insbesondere aufgrund des Fehlens eines zwischengeschalteten
MACs von Vorteil.As already out 1 and more clearly 2 can be seen are the lines through which from the ports 8th to 10 Data are sent, different from the lines via which the ports 8th to 10 Data are supplied. The ports 8th to 10 are therefore operated in full duplex mode, i.e. with simultaneous sending and receiving of data. This is particularly advantageous due to the lack of an intermediate MAC.
Das Senden bzw. Empfangen der Daten
erfolgt mit einem Übertragungstakt
von z. B. 100 MHz. Intern arbeitet die Verbindungsschaltung 11 mit
einem internen Takt, der niedriger als der Übertragungstakt ist. Der interne
Takt ist z. B. nur 25 MHz.The data are sent and received with a transmission clock of e.g. B. 100 MHz. The connection circuit works internally 11 with an internal clock that is lower than the transmission clock. The internal clock is e.g. B. only 25 MHz.
Wie ferner aus den 1 und 2 ersichtlich ist,
weisen die Netzwerkanschaltungen 2 außer den bereits erwähnten Ports 8 bis 10 keine
weiteren Ports zum Datenaustausch mit dem Netzwerk auf. Es sind also
genau drei Ports 8 bis 10 vorhanden.As further from the 1 and 2 can be seen, show the network connections 2 except for the ports already mentioned 8th to 10 no further ports for data exchange with the network. So there are exactly three ports 8th to 10 available.
Die Ports 8 bis 10 sind
gemäß 2 über eine Verbindungsschaltung 11 miteinander
verschaltet. Die Verbindungsschaltung 11 arbeitet dabei
nicht ein Softwareprogramm ab, sondern ist als festverdrahtete Verbindungsschaltung 11 ausgebildet.
Sie enthält
die Steuerwerke, die Zwischenspeicher und die Verbindungsleitungen
für die
Ports 8 bis 10.The ports 8th to 10 are according to 2 via a connection circuit 11 interconnected. The connection circuit 11 does not process a software program, but is a hard-wired connection circuit 11 educated. It contains the control units, the buffers and the connecting lines for the ports 8th to 10 ,
Der Netzwerkanschaltung 2 ist
eine Stromversorgungseinrichtung 12 zugeordnet. Die Stromversorgungseinrichtung 12 kann
z. B. mit Versorgungsleitungen 13 verbunden sein, über die
das Endgerät 1 mit
elektrischer Energie versorgt wird. In diesem Fall ist die Netzwerkanschaltung 2 also
vom Endgerät 1 aus
mit elektrischer Energie versorgbar.The network interface 2 is a power supply device 12 assigned. The stream supply device 12 can e.g. B. with supply lines 13 be connected via the terminal 1 is supplied with electrical energy. In this case the network connection is 2 So from the end device 1 can be supplied with electrical energy.
Alternativ oder zusätzlich ist
es aber auch möglich,
die Netzwerkanschaltung 2 unabhängig vom Endgerät 1 mit
elektrischer Energie zu versorgen. Insbesondere ist, wie in 2 dargestellt, eine Versorgung über die
Netzwerkleitungen 3 möglich. Es
ist sogar möglich,
der Stromversorgungseinrichtung 12 auf beiden Wegen elektrische
Energie zuzuführen.
In diesem Fall weist die Stromversorgungseinrichtung 12 vorzugsweise
eine Überwachungsschaltung
auf, mittels derer bei Zusammenbruch der Stromversorgung über die
Versorgungsleitungen 13 auf die alternative Stromversorgung,
beispielsweise über
die Netzwerkleitungen 3, umgeschaltet wird.Alternatively or additionally, it is also possible to use the network connection 2 regardless of the device 1 to supply with electrical energy. In particular, as in 2 shown, a supply via the network lines 3 possible. It is even possible to use the power supply device 12 to supply electrical energy in both ways. In this case, the power supply device 12 preferably a monitoring circuit, by means of which the supply lines break down when the power supply breaks down 13 to the alternative power supply, for example via the network lines 3 , is switched.
Die Netzwerkanschaltung 2 weist
ferner eine Schnittstellenschaltung 14 auf. Über diese
Schnittstellenschaltung 14 ist insbesondere die Verbindungsschaltung 11 parametrierbar.
Hierauf wird später
noch näher
eingegangen werden.The network connection 2 also has an interface circuit 14 on. About this interface circuit 14 is in particular the connection circuit 11 parameterized. This will be discussed in more detail later.
Die Netzwerkanschaltung 2 kann,
wie in 2 durch eine
gestrichelte Umrahmung mit entsprechender Beschriftung angedeutet
ist, als field programmable gate array (FPGA) oder als electronically
progammable logic device (EPLD) ausgebildet sein. Sie ist in diesem
Fall also als elektronisch programmierbare Schaltung 11 ausgebildet.
Prinzipiell könnte
die Verbindungsschaltung 11 aber auch als nicht weiter
programmierbare Schaltung ausgebildet sein, z. B. als integrierter
Schaltkreis, insbesondere als ASIC. Die Stromversorgungseinrichtung 12 ist dabei,
wie ebenfalls in 2 dargestellt,
außerhalb des
Schaltkreises angeordnet.The network connection 2 can, as in 2 is indicated by a dashed frame with appropriate labeling, can be designed as a field programmable gate array (FPGA) or as an electronically programmable logic device (EPLD). In this case it is an electronically programmable circuit 11 educated. In principle, the connection circuit could 11 but also be designed as a non-programmable circuit, for. B. as an integrated circuit, in particular as an ASIC. The power supply device 12 is there, as also in 2 shown, arranged outside the circuit.
Der interne Aufbau der Verbindungsschaltung 11 wird
nunmehr nachstehend in Verbindung mit den 3A bis 3C näher erläutert, die
Funktionsweise der Verbindungsschaltung 11 in Verbindung
mit 5. Ergänzend wird
dabei auch der Aufbau eines typischen Datenpakets herangezogen,
wie er in 4 dargestellt
ist.The internal structure of the connection circuit 11 will now be used in conjunction with 3A to 3C explained in more detail how the connection circuit works 11 combined with 5 , In addition, the structure of a typical data packet as used in 4 is shown.
Gemäß 3 weist die Verbindungsschaltung 11 einen
internen Block 15 und zwei externe Blöcke 16, 17 auf.
Die Blöcke 15 bis 17 sind
dabei – siehe 2 – alle innerhalb der Verbindungsschaltung 11 angeordnet.
Der interne Block 15 ist aber dem internen Port 8 zugeordnet
(daher die Bezeichnung als interner Block), die externen Blöcke 16, 17 den
externen Ports 9, 10 (daher die Bezeichnung als externe
Blöcke).According to 3 assigns the connection circuit 11 an internal block 15 and two external blocks 16 . 17 on. The blocks 15 to 17 are there - see 2 - all within the connection circuit 11 arranged. The internal block 15 but is the internal port 8th assigned (hence the designation as an internal block), the external blocks 16 . 17 the external ports 9 . 10 (hence the name as external blocks).
Wenn der Netzwerkanschaltung 2 vom
Endgerät 1 über den
internen Port 8 ein Datenpaket zugeführt werden soll, geschieht
dies wie folgt:
Einer Empfangsmaschine 18 des internen
Blocks 15 wird über
ein UND-Gatter 19 die entsprechende logische Verknüpfung zweier
Freigabebits zugeführt.
Je eines der Freigabebits stammt dabei von je einem der externen
Blöcke 16, 17.
Die Freigabebits werden von Sendemaschinen 20, 21 der
externen Blöcke 16, 17 auf
logisch Eins gesetzt, wenn Zwischenspeicher
22, 23 leer
sind. Die Zwischenspeicher 22, 23 sind dabei nach
dem FIFO-Prinzip (FIFO = first-in-first-out) organisiert.If the network connection 2 from the terminal 1 via the internal port 8th If a data packet is to be fed in, this is done as follows:
A receiving machine 18 of the internal block 15 is via an AND gate 19 the corresponding logical combination of two enable bits is supplied. One of the enable bits comes from one of the external blocks 16 . 17 , The release bits are from sending machines 20 . 21 of the external blocks 16 . 17 set to logical one if buffer 22 . 23 are empty. The cache 22 . 23 are organized according to the FIFO principle (FIFO = first-in-first-out).
Wenn beide Zwischenspeicher 22, 23 leer sind,
nimmt die Empfangsmaschine 18 vom Endgerät 1 ein
Datenpaket entgegen und leitet es über einen Datenausgang 24 und
Dateneingänge 25, 26 den
Zwischenspeichern 22, 23 zu. Die Datenübertragung
erfolgt dabei z. B. in sogenannten Nibblen, also in Gruppen von
je 4 Bit. Das Datenpaket wird also in die Zwischenspeicher 22, 23 eingeschrieben.
Die Zwischenspeicher 22, 23 dienen also zum Zwischenspeichern
von Datenpaketen, die der Netzwerkanschaltung 2 über den
internen Port 8 zugeführt
werden. Auf Grund des Umstands, dass die Datenpakete dabei erst
dann in die Zwischenspeicher 22, 23 eingeschrieben
werden, wenn die Zwischenspeicher 22, 23 zuvor
geleert wurden, ist dabei zu jedem Zeitpunkt in die Zwischenspeicher 22, 23 nur
ein einziges Datenpaket einspeicherbar. Weitere Datenpakete werden,
soweit erforderlich, vom Endgerät 1 verwaltet.If both buffers 22 . 23 are empty, the receiving machine picks up 18 from the terminal 1 a data packet and forwards it via a data output 24 and data inputs 25 . 26 the caches 22 . 23 to. The data transmission takes place z. B. in so-called nibbles, i.e. in groups of 4 bits each. The data packet is therefore in the buffer 22 . 23 enrolled. The cache 22 . 23 thus serve to temporarily store data packets that are used for network connection 2 via the internal port 8th are fed. Due to the fact that the data packets are only then cached 22 . 23 be written when the cache 22 . 23 have been emptied before, is at any time in the buffer 22 . 23 only one data packet can be stored. If necessary, further data packets are sent from the end device 1 managed.
Den Zwischenspeichern 22, 23 sind
Belegungsermittler 27, 28 zugeordnet. Die Belegungsermittler 27, 28 ermitteln
zum einen, ob die Zwischenspeicher 22, 23 belegt
sind, ob in ihnen also zu sendende Daten abgespeichert sind. Wenn
dies der Fall ist, wird eine entsprechende Information an die Sendemaschinen 20, 21 gegeben,
welche daraufhin die Freigabebits zurücksetzen. Ferner ermitteln
die Belegungsermittler 27, 28, ob folgende Bedingungen
erfüllt
sind:The caches 22 . 23 are occupancy investigators 27 . 28 assigned. The occupancy investigators 27 . 28 first determine whether the cache 22 . 23 are documented as to whether data to be sent are stored in them. If this is the case, appropriate information is sent to the sending machines 20 . 21 given, which then reset the release bits. The occupancy investigators also determine 27 . 28 whether the following conditions are met:
-
a) Das Datenpaket ist vollständig in
die Zwischenspeicher 22, 23 eingeschrieben.a) The data packet is completely in the buffer 22 . 23 enrolled.
-
b) Die in die Zwischenspeicher 22, 23 eingeschriebenen
Daten des Datenpakets haben eine Mindestgröße von z. B. 50 Byte erreicht.b) The in the buffer 22 . 23 Inscribed data of the data packet have a minimum size of z. B. 50 bytes reached.
Sowie eine dieser beiden Bedingungen
erfüllt
ist (ODER-Verknüpfung), übermitteln
die Belegungsermittler 27, 28 ein Sendebereitschaftsbit
an die Sendemaschinen 20, 21.As soon as one of these two conditions is fulfilled (OR link), the occupancy officers will transmit 27 . 28 a ready-to-send bit to the sending machines 20 . 21 ,
Schließlich ermitteln die Belegungsermittler 27, 28 durch
Analysieren des Datenpakets noch dessen Priorität. Wenn das Datenpaket als
hochprior erkannt wird, wird ein Prioritätsbit, das an die Sendemaschinen 20, 21 übermittelt
wird, auf Eins gesetzt.Finally, the occupancy investigators determine 27 . 28 by analyzing the data packet still its priority. When the data packet is recognized as a high priority, a priority bit is sent to the sending machines 20 . 21 is set to one.
Die Frage, ob das in die Zwischenspeicher 22, 23 – vollständig oder
teilweise – eingespeicherte Datenpaket
nunmehr sofort und unmittelbar gesendet wird, hängt von einer Vielzahl von
Umständen
ab, auf die später
noch eingegangen wird. Bereits an dieser Stelle sei aber erwähnt, dass – wenn die
weiteren Sendebedingungen erfüllt
sind – mit
dem Ausgeben der Daten des Datenpakets über die externen Ports 9, 10 begonnen
wird, sowie das Sendebereitschaftsbit gesetzt ist. Es wird also
nicht abgewartet, bis das Datenpaket vollständig in die Zwischenspeicher 22, 23 eingespeichert
ist. Vielmehr ist die Verbindungsschaltung 11 derart ausgebildet,
dass die Daten des Datenpakets bereits vor dem vollständigen Zuführen des
Datenpakets über
die externen Ports 9, 10 ausgegeben werden. Etwas
anderes gilt nur für
extrem kleine Datenpakete, deren Gesamtgröße unter der Mindestgröße von z.
B. 50 Byte liegt.The question of whether that's in the cache 22 . 23 - completely or partially - stored data packet is now sent immediately and immediately depends on a variety of circumstances, which will be discussed later. At this point, however, it should be mentioned that - if the further transmission conditions are met - the data of the data packet is output via the external ports 9 . 10 is started as soon as the transmission ready bit is set. So there is no waiting until the data packet is completely in the buffer 22 . 23 is stored. Rather, the connection circuit 11 formed in such a way that the data of the data packet is already supplied via the external ports before the data packet is completely supplied 9 . 10 be issued. Something else applies only to extremely small data packets whose total size is below the minimum size of e.g. B. is 50 bytes.
Das Ausgeben wird aber nicht bereits
mit dem ersten eingespeicherten Bit, Nibble oder Byte gestartet.
Es wird abgewartet, bis in den Zwischenspeichern 22, 23 – zumindest
bei längeren
Datenpaketen – die
Mindestanzahl von Daten hinterlegt ist.The output is not started with the first stored bit, nibble or byte. It waits until in the intermediate stores 22 . 23 - at least for longer data packets - the minimum number of data is stored.
Die oben stehend beschriebene Vorgehensweise,
mit dem Ausgeben von Daten des Datenpakets zu beginnen, sowie alternativ
das Datenpaket vollständig
in die Zwischenspeicher 22, 23 eingespeichert
ist oder aber die in die Zwischenspeicher 22, 23 eingespeicherten
Daten des Datenpakets eine Mindestgröße erreicht haben, gilt selbstverständlich bezüglich beider
externer Ports 9, 10. Sie gilt umgekehrt auch,
wenn der Netzwerkanschaltung 2 über einen der externen Ports 9, 10 Daten
zugeführt
werden, die dann an den internen Port 8 und/oder den anderen externen
Port 10, 9 weiterzuleiten und dort auszugeben
sind.The procedure described above to start outputting data of the data packet and, alternatively, the data packet completely into the buffer 22 . 23 is stored or in the buffer 22 . 23 stored data of the data packet have reached a minimum size, of course applies to both external ports 9 . 10 , Conversely, it also applies when connecting to the network 2 via one of the external ports 9 . 10 Data are fed to the internal port 8th and / or the other external port 10 . 9 forwarded and issued there.
Aus den oben stehenden Ausführungen
ist insbesondere auch ersichtlich, dass die Verbindungsschaltung 11 derart
ausgebildet ist, dass das Datenpaket stets über beide externe Ports 9, 10 ausgeben
wird, wenn das Datenpaket der Netzwerkanschaltung 2 über den
internen Port 8 zugeführt
wird.From the above statements, it is also evident in particular that the connection circuit 11 is designed such that the data packet is always via both external ports 9 . 10 is output when the data packet of the network interface 2 via the internal port 8th is fed.
Wenn umgekehrt dem internen Block 15 der Netzwerkanschaltung 2 ein
Datenpaket zugeführt wird,
das der Netzwerkanschaltung 2 über einen der externen Ports 9, 10 zugeführt wird,
geschieht dies wie folgt:
Wie aus 4 ersichtlich ist, weist das Datenpaket eine
Zieladresse und eine Quelladresse auf. Die Quelladresse ist stets
eine eindeutige Einzeladresse. Die Zieladresse kann eine Einzeladresse
sein. Sie kann aber auch eine Mehrfachadresse sein, die für mehrere
oder sogar für
alle Endgeräte 1 gültig ist.If vice versa the internal block 15 the network connection 2 a data packet is fed to the network interface 2 via one of the external ports 9 . 10 this is done as follows:
How out 4 can be seen, the data packet has a destination address and a source address. The source address is always a unique single address. The destination address can be a single address. However, it can also be a multiple address that is used for several or even for all end devices 1 is valid.
Der interne Block 15 weist
gemäß 3A Adressextraktoren 29 und
einen Adressvergleicher 30 auf. Die Adressextraktoren 29 extrahieren
aus den ihnen zugeführten
Datenpaketen zunächst
die Zieladresse. Die Zieladresse wird dem Adressvergleicher 30 zugeführt. Der
Adressvergleicher 30 vergleicht die Zieladresse mit (mindestens)
einer intern hinterlegten Filteradresse. Wenn die extrahierte Zieladresse
dieser Filteradresse bzw. einer der Filteradressen entspricht, übermittelt
der Adressvergleicher 30 ein Freigabebit an den übermittelnden
Extraktor 29. Nur in diesem Fall wird das zugeführte Datenpaket
an einen internen Datenwegermittler 31 weitergegeben. Ansonsten
wird es nicht weitergeleitet und somit also insbesondere auch vom
internen Port 8 ferngehalten.The internal block 15 points according to 3A Adressextraktoren 29 and an address comparator 30 on. The address extractors 29 first extract the destination address from the data packets supplied to them. The destination address becomes the address comparator 30 fed. The address comparator 30 compares the target address with (at least) an internally stored filter address. If the extracted target address corresponds to this filter address or one of the filter addresses, the address comparator transmits 30 a release bit to the transmitting extractor 29 , Only in this case is the supplied data packet sent to an internal data path investigator 31 passed. Otherwise, it will not be forwarded and therefore in particular from the internal port 8th kept away.
Die Prüfung im Adressvergleicher 30 umfasst
insbesondere eine Prüfung,
ob die Zieladresse mit der Filteradresse identisch ist. Sie umfasst
ferner eine Prüfung,
ob die Zieladresse, falls sie eine Mehrfachadresse ist, die Filteradresse
mit umfasst. Gegebenenfalls sind noch weitere Prüfungen nach Typ und/oder Funktion
des Datenpakets möglich.
Dies ist aber nicht erforderlich.The check in the address comparator 30 includes in particular a check whether the target address is identical to the filter address. It also includes a check whether the target address, if it is a multiple address, also includes the filter address. If necessary, further tests for the type and / or function of the data packet are possible. However, this is not necessary.
Im Ergebnis wird also das Datenpaket
nur dann über
den internen Port 8 ausgegeben, wenn die Zieladresse des
Datenpakets eine Durchschaltbedingung, nachstehend Endgeräte-Durchschaltbedingung
genannt, erfüllt.As a result, the data packet is only sent via the internal port 8th output when the destination address of the data packet meets a switching condition, hereinafter called terminal switching condition.
Das Extrahieren der Zieladresse und
das Überprüfen der
Zieladresse benötigen
Zeit. Während dieser
Zeit werden dem internen Block 15 über seinen entsprechenden Dateneingang 32 weiterhin
Daten zugeführt.
Der interne Block 15 und damit auch die Verbindungsschaltung 11 weist
daher einen Zwischenspeicher 33 auf, in dem diese Daten
zwischengespeichert werden, bis die Prüfung, ob die Endgeräte-Durchschaltbedingung
erfüllt
ist, abgeschlossen ist. Dieser Zwischenspeicher 33 kann
relativ klein ausgebildet sein. Er ist vorzugsweise als FIFO-Speicher organisiert.
Er wird also zyklisch beschrieben und ausgelesen.It takes time to extract the destination address and check the destination address. During this time, the internal block 15 via its corresponding data input 32 data continues to be supplied. The internal block 15 and with it the connection circuit 11 therefore has a buffer 33 in which this data is temporarily stored until the check as to whether the terminal switching condition is fulfilled is completed. This cache 33 can be made relatively small. It is preferably organized as a FIFO memory. It is written and read out cyclically.
Da der Datenverkehr über die
Ports 8 bis 10 unabhängig voneinander abläuft, ist
es möglich,
dass dem internen Block 15 über beide Dateneingänge 32 gleichzeitig
Daten zugeführt
werden. Der Datenwegermittler 31 überprüft daher, wenn ihm Daten von
einem der Adressextraktoren 29 zugeführt werden, ob ihm auch bereits
vom anderen Adressextraktor 29 Daten zugeführt werden
und wohin er diese Daten ausgibt. Wenn der Datenwegermittler 31 diese
anderen Daten bereits direkt an eine Sendemaschine 34 des
internen Blocks 15 ausgibt, speichert er die später empfangenen
Daten des anderen Dateneingangs 32 in einem Zwischenspeicher 35 ab.
Anderenfalls gibt er sie direkt an die Sendemaschine 34 weiter. Der
Zwischenspeicher 35 ist ebenfalls nach de FIFO-Prinzip
organisiert. Er kann dabei, wie in 3A angedeutet,
zu einem Zeitpunkt mehr als ein Da tenpaket zwischenspeichern. Es
ist in diesen Zwischenspeicher 35 also mehr als ein Datenpaket
einspeicherbar.Because the traffic on the ports 8th to 10 runs independently, it is possible that the internal block 15 over both data inputs 32 data are supplied simultaneously. The data path investigator 31 therefore checks if he receives data from one of the address extractors 29 whether it is already supplied by the other address extractor 29 Data are fed and where he outputs this data. If the data path investigator 31 this other data directly to a sending machine 34 of the internal block 15 outputs, it stores the later received data of the other data input 32 in a buffer 35 from. Otherwise, it sends them directly to the sending machine 34 further. The cache 35 is also organized according to the FIFO principle. He can, as in 3A indicated to cache more than one data packet at a time. It is in this cache 35 that is, more than one data packet can be stored.
In ähnlicher Weise können, wie
in 3B gestrichelt angedeutet,
auch die externen Blöcke 16, 17 Adressextraktoren 36 und
Adressvergleicher 37 aufweisen. In diesem Fall vergleicht
der Adressvergleicher 37 die Zieladresse mit der Filteradresse
aber ausschließlich
auf Identität
und invertiert dann das Vergleichsergebnis. Der Adressextraktor 36 leitet
das Datenpaket, das ihm vom anderen externen Port (z. B. dem Port 10)
zugeführt
wird, also nur dann an die Sendemaschine 20 weiter, wenn
dieses Datenpaket nicht bzw. nicht ausschließlich für das angeschlossene Endgerät 1 bestimmt
ist. In diesem Fall ist also eine Netzwerk-Durchschaltbedingung
erfüllt.Similarly, as in 3B indicated by dashed lines, also the external blocks 16 . 17 Adressextraktoren 36 and address comparator 37 exhibit. In this case the address comparator compares 37 the target address with the filter address only for identity and then inverts the comparison result. The address extractor 36 routes the data packet that it receives from the other external port (e.g. the port 10 ) is supplied, i.e. only then to the sending machine 20 continue if this data packet is not or not exclusively for the connected terminal 1 is determined. In this case, a network switching condition is fulfilled.
Zur Vereinfachung des Schaltungsaufwands ist
es möglich,
zur Überprüfung, ob
die Netzwerk-Durchschaltbedingung erfüllt ist, den Adressvergleicher 30 des
internen Blocks 15 zu verwenden und nur das entsprechende
Freigabebit an einen Zwischenspeicher 38 zu übermitteln,
der – ebenso
wie der Zwischenspeicher 33 – die Daten zwischenspeichert,
bis die Prüfung
auf die Netzwerk-Durchschaltbedingung abgeschlossen ist.To simplify the circuitry, it is possible to use the address comparator to check whether the network switching condition is fulfilled 30 of the internal block 15 to use and only the corresponding release bit to a buffer 38 to transmit the - just like the cache 33 - The data is buffered until the check for the network switching condition is completed.
Alternativ oder zusätzlich zur
Zieladresse können
die Adressextraktoren 29 des internen Blocks 15 bzw.
die Adressextraktoren 36 der externen Blöcke 16, 17 auch
die Quelladresse extrahieren und an die Adressvergleicher 30, 37 übermitteln.
In diesem Fall überprüfen die
Adressvergleicher 30, 37 die Quelladresse mit
der Filteradresse (bzw. einer der Filteradressen). Wenn die Quelladresse
von der Filteradresse verschieden ist, ist eine Quell-Durchschaltbedingung
erfüllt.
Ansonsten wird das Datenpaket sowohl vom Adressextraktor 29 als
auch vom Adressextraktor 36 nicht weitergeleitet. Kreisläufer bei
den Datenpaketen können
somit ausgefiltert werden.As an alternative or in addition to the destination address, the address extractors can 29 of the internal block 15 or the address extractors 36 of the external blocks 16 . 17 also extract the source address and send it to the address comparator 30 . 37 to transfer. In this case, the address comparators check 30 . 37 the source address with the filter address (or one of the filter addresses). If the source address is different from the filter address, a source switching condition is fulfilled. Otherwise, the data packet is both from the address extractor 29 as well as from the address extractor 36 not forwarded. Circulars in the data packets can thus be filtered out.
Auch bezüglich des Prüfens auf
die Quell-Durchschaltbedingung ist selbstverständlich eine Zwischenspeicherung
in den Zwi schenspeichern 33, 38 bis zum Abschließen dieser
Prüfung
erforderlich.With regard to the checking for the source switching condition, intermediate storage in the intermediate stores is of course also necessary 33 . 38 required to complete this exam.
Wie in den 3A und 3B durch
gestricheltes Durchkreuzen angedeutet ist, können in einer vereinfachten
Version der Verbindungsschaltung 11 die Adressextraktoren 29, 36 und
die Adressvergleicher 30, 37 entfallen. In diesem
Fall werden Datenpakete, die der Netzwerkanschaltung 2 über einen
der externen Ports 9, 10 zugeführt werden, stets über den
internen Port 8 und den anderen externen Port 10, 9 ausgegeben.As in the 3A and 3B is indicated by dashed crosses, can in a simplified version of the connection circuit 11 the address extractors 29 . 36 and the address comparator 30 . 37 omitted. In this case, data packets are assigned to the network interface 2 via one of the external ports 9 . 10 are always fed via the internal port 8th and the other external port 10 . 9 output.
Wie oben stehend ausgeführt, sind
die Ports 8 bis 10 im Vollduplex-Betrieb betreibbar.
Es ist also bei jedem Port ein gleichzeitiges Senden und Empfangen
möglich.
Wenn nun einer der Ports 8 bis 10 – z. B.
der interne Port 8 – gleichzeitig
Daten eines Datenpakets ausgibt und Daten eines anderen Datenpakets
entgegennimmt, dann werden ihm also Daten von einem zweiten Port,
z. B. dem externen Port 9 zugeführt, nämlich die Daten, die er selbst
z. B. über seine
Sendemaschine 34 ausgibt. Diese Daten werden – zumindest
in der Regel – auch
dem dritten Port bzw. Block, hier dem externen Port 10 bzw.
dem externen Block 17, zugeführt. Diesen Port 10 bzw. Block 17 werden
aber auch die Daten zugeführt,
die der erstgenannte Port (im gegebenen Beispiel der interne Port 8)
empfängt.
Der betreffende Block – hier der
Block 17 – muss
also gleichzeitig Daten von den beiden anderen Blöcken 15, 16 entgegen
nehmen. Der Block 17 kann aber – logischerweise – über den Port 10,
dem er zugeordnet ist, nur die Daten eines einzigen Datenpakets
ausgeben. Um in einem derartigen Fall einen Datenverlust zu vermeiden,
weist daher jeder der Blöcke 15 bis 17 mindestens
einen Zwischenspeicher 22, 23, 35, 39 und 40 auf.
In diesen Zwischenspeichern 22, 23, 35, 39 und 40 werden
Datenpakete, die nicht sofort ausgegeben werden, zwischengespeichert.As stated above, the ports are 8th to 10 Can be operated in full duplex mode. It is therefore possible to send and receive simultaneously on each port. If now one of the ports 8th to 10 - e.g. B. the internal port 8th - Simultaneously outputs data from a data packet and accepts data from another data packet, then data from a second port, e.g. B. the external port 9 supplied, namely the data that he himself z. B. on his sending machine 34 outputs. This data is - at least as a rule - also the third port or block, here the external port 10 or the external block 17 , fed. This port 10 or block 17 however, the data that the first named port (in the given example the internal port 8th ) receives. The block in question - here the block 17 - must have data from the other two blocks at the same time 15 . 16 accept. The block 17 can - logically - via the port 10 to which it is assigned only output the data of a single data packet. To avoid data loss in such a case, each of the blocks therefore points 15 to 17 at least one buffer 22 . 23 . 35 . 39 and 40 on. In these buffers 22 . 23 . 35 . 39 and 40 data packets that are not output immediately are buffered.
Wie aus 3A ersichtlich ist, weist der interne
Block 15 einen einzigen derartigen Zwischenspeicher auf,
nämlich
den Zwischenspeicher 35. In diesen Zwischenspeicher 35 ist,
wie bereits erwähnt, mehr
als ein Datenpaket einspeicherbar.How out 3A the internal block shows 15 a single such buffer, namely the buffer 35 , In this buffer 35 As already mentioned, more than one data packet can be stored.
Die externen Blöcke 16, 17 weisen
jeweils zwei derartige Zwischenspeicher auf, nämlich zum einen die Zwischenspeicher 22 und 39 für den externen
Block 16 und zum anderen die Zwischenspeicher 23 und 40 für den externen
Block 17. Die Zwischenspeicher 22, 23 dienen,
wie ebenfalls bereits erwähnt,
zum Zwischenspeichern maximal eines Datenpakets, das den externen
Blöcken 16, 17 über den internen
Port 8 zugeführt
wird. Die Zwischenspeicher 39 und 40 hingegen
dienen zum Zwischenspeichern von Datenpaketen, die der Netzwerkanschaltung 2 über den
jeweils anderen externen Port 10, 9 zugeführt werden.
In diese Zwischenspeicher 39, 40 ist, wie in den 3B und 3C angedeutet, mehr als ein Datenpaket
einspeicherbar.The external blocks 16 . 17 each have two such buffers, namely the buffers 22 and 39 for the external block 16 and secondly the buffers 23 and 40 for the external block 17 , The cache 22 . 23 serve, as already mentioned, for the temporary storage of a maximum of one data packet that the external blocks 16 . 17 via the internal port 8th is fed. The cache 39 and 40 on the other hand, serve for the temporary storage of data packets that are used for network connection 2 over the other external port 10 . 9 are fed. In this cache 39 . 40 is like in the 3B and 3C indicated, more than one data packet can be stored.
Gegebenenfalls könnten die Blöcke 15 bis 17 auch
weitere, in den FIG nicht dargestellte Zwischenspeicher aufweisen.
Beispielsweise könnten
die Zwischenspeicher 39, 40 in mehrere parallel
geschaltete FIFO-Speicher aufgeteilt sein. Dadurch könnte auf relativ
einfache Weise eine Priorisierung innerhalb der über den anderen externen Port 9, 10 zugeführten Datenpakete
erfolgen.If necessary, the blocks 15 to 17 also have further buffers, not shown in the FIG. For example, the buffers 39 . 40 be divided into several FIFO memories connected in parallel. This could be a relatively simple way of prioritizing over the other external port 9 . 10 supplied data packets take place.
Die Funktionsweise der Sendemaschine 20 des
externen Blocks 16 wird nunmehr nachstehend in Verbindung
mit 5 näher erläutert. Die
Sendemaschine 21 des anderen externen Blocks 17 arbeitet
ein identisches Verfahren ab.How the sending machine works 20 of the external block 16 will now be used in conjunction with 5 explained in more detail. The sending machine 21 of the other external block 17 works through an identical procedure.
Gemäß 5 sendet die Sendemaschine 20 in
einem Schritt 41 Daten eines Datenpakets über den externen Port 9,
dem sie zugeordnet ist, aus. Sodann überprüft sie in einem Schritt 42,
ob das Datenpaket vollständig
gesendet wurde. Wenn dies nicht der Fall ist, kehrt sie zum Schritt
41 zurück.
Anderenfalls führt
sie einen Schritt 43 aus, in dem ein Zeitregister auf den Wert Null
gesetzt wird.According to 5 sends the sending machine 20 in a step 41 data of a data packet via the external port 9 to which it is assigned. It then checks in a step 42 whether the data packet has been sent completely. If not, it returns to step 41. Otherwise, it executes a step 43 in which a time register is set to the value zero.
Nach dem Schritt 43 prüft die Sendemaschine 20 in
einem Schritt 44, ob der Wert des Zeitregisters eine erste Mindestpause
T1 erreicht hat. Wenn dies nicht der Fall ist, wird der Schritt
44 – zu
einem etwas späteren
Zeitpunkt, also mit einem etwas höheren Wert des Zeitregisters – wiederholt.After step 43, the sending machine checks 20 in a step 44 whether the value of the time register has reached a first minimum pause T1. If this is not the case, step 44 is repeated - at a somewhat later point in time, that is to say with a somewhat higher value in the time register.
Wenn der Wert des Zeitregisters die
erste Mindestpause T1 überschritten
hat, wird vom Schritt 44 zu einem Schritt 45 verzweigt. Dort wird – durch überprüfen der
vom Belegungsermittler 27 übermittelten Bits – überprüft, ob hochpriore
Daten vom internen Port 8 zum Aussenden anstehen. Wenn
diese Prüfung
positiv verläuft,
wird in einem Schritt 46 mit dem Senden dieser Daten begonnen und
zum Schritt 41 verzweigt.If the value of the time register has exceeded the first minimum pause T1, a branch is made from step 44 to a step 45. There - by checking that of the occupancy officer 27 transmitted bits - checks whether high-priority data from the internal port 8th queue up to send. If this check is positive, the transmission of this data is started in a step 46 and a branch is made to step 41.
Wenn im Schritt 45 hingegen entschieden wurde,
dass keine hochprioren Daten vom internen Port 8 zum Senden
anstehen, wird zu einem Schritt 47 verzweigt. Im Schritt 47 wird überprüft, ob das Zeitregister
eine zweite Mindestpause T2 überschritten
hat. Die zweite Mindestpause T2 ist dabei größer als die erste Mindestpause
T1.On the other hand, if it was decided in step 45 that no high-priority data from the internal port 8th pending to send, a branch is made to a step 47. In step 47 it is checked whether the Time register has exceeded a second minimum break T2. The second minimum break T2 is greater than the first minimum break T1.
Wenn die zweite Mindestpause T2 nicht überschritten
ist, wird zum Schritt 44 zurückgesprungen.
Wenn die zweite Mindestpause T2 überschritten ist,
wird in einem Schritt 48 überprüft, ob Daten
vom anderen externen Port 10 zum Aussenden anstehen. Wenn dies der
Fall ist, wird in einem Schritt 49 mit dem Senden dieser Daten begonnen
und sodann zum Schritt 41 verzweigt.If the second minimum break T2 is not exceeded
is returned to step 44.
If the second minimum break T2 is exceeded,
it is checked in a step 48 whether data
from the other external port 10 to be sent. If this is the
If this is the case, the transmission of this data is started in a step 49
and then branched to step 41.
Wenn hingegen keine Daten vom anderen externen
Port 10 zum Aussenden anstehen, wird in einem Schritt 50 überprüft, ob der
Inhalt des Zeitregisters eine dritte Mindestpause T3 überschritten
hat. Die dritte Mindestpause T3 ist dabei größer als die zweite Mindestpause
T2.If, however, no data from the other external
In a step 50, port 10 is pending to be sent, it is checked whether the
Contents of the time register exceeded a third minimum break T3
Has. The third minimum break T3 is greater than the second minimum break
T2.
Wenn die dritte Mindestpause T3 nicht überschritten
ist, wird zum Schritt 44 verzweigt. Anderenfalls wird in einem Schritt 51 überprüft, ob – nunmehr niederpriore – Daten
vom internen Port 8 zum Aussenden anstehen. Wenn dies nicht
der Fall ist, wird zum Schritt 44 verzweigt. Wenn hingegen Daten
vom internen Port 8 zum Aussenden anstehen, wird in einem
Schritt 52 mit dem Senden dieser Daten begonnen und zum Schritt
41 verzweigt.If the third minimum break T3 has not been exceeded, a branch is made to step 44. Otherwise, it is checked in a step 51 whether - now low-priority - data from the internal port 8th queue up to send. If this is not the case, the process branches to step 44. If, however, data from the internal port 8th pending transmission, this data is started in a step 52 and a branch is made to step 41.
Den Datenpaketen sind also Prioritäten zugeordnet.
Die Sendemaschinen 20, 21 erfüllen die Funktion von Paketsteuerelementen,
mittels derer stets das höchstpriore
Datenpaket zuerst ausgegeben wird, wenn von dem jeweiligen externen
Block 16, 17 mehrere Datenpakete prinzipiell ausgebbar sind.
Dabei ist den Datenpaketen, die der Netzwerkanschaltung 2 über den
internen Port 8 zugeführt werden,
alternativ eine hohe oder eine niedrige Priorität zugeordnet. Den Datenpaketen,
die der Netzwerkanschaltung 2 über den jeweils anderen externen
Port 10, 9 zugeführt werden, ist eine mittlere
Priorität
zugeordnet.Priorities are therefore assigned to the data packets. The sending machines 20 . 21 perform the function of packet control elements, by means of which the highest priority data packet is always output first when from the respective external block 16 . 17 In principle, several data packets can be output. The data packets are those of the network interface 2 via the internal port 8th are alternatively assigned a high or a low priority. The data packets that the network connection 2 over the other external port 10 . 9 medium priority is assigned.
Darüber hinaus werden die den externen Ports 9, 10 zuzuführenden
Datenpakete von den Sendemaschinen 20, 21 derart
verzögert,
dass zwischen dem Ende eines bereits ausgegebenen Datenpakets und
dem Anfang des nächsten
Datenpakets eine Mindestpause, nämlich
eine der Mindestpausen T1 bis T3, liegt. Die Mindestpause T1 bis
T3 ist dabei ersichtlich von der Priorität des zu sendenden Datenpakets
abhängig.
Ferner hängt
die Priorität
und damit indirekt auch die Mindestpause T1 bis T3 auch davon ab,
ob das zu sendende Datenpaket der Netzwerkanschaltung 2 über den
internen Port 8 oder den anderen externen Port 10, 9 zugeführt wurde.
Die Mindestpause T1 bis T3 ist dabei um so größer, je geringer die Priorität des zu
sendenden Datenpakets ist.In addition, the external ports 9 . 10 data packets to be fed from the sending machines 20 . 21 delayed in such a way that there is a minimum pause, namely one of the minimum pauses T1 to T3, between the end of a data packet already output and the beginning of the next data packet. The minimum pause T1 to T3 is evidently dependent on the priority of the data packet to be sent. Furthermore, the priority and thus indirectly also the minimum pause T1 to T3 also depends on whether the data packet to be sent by the network interface 2 via the internal port 8th or the other external port 10 . 9 was fed. The minimum pause T1 to T3 is greater the lower the priority of the data packet to be sent.
Bereits oben stehend wurde erwähnt, dass die
Verbindungsschaltung 11 nicht eine prozessorgesteuerte
Schaltung ist, die ein Softwareprogramm ausführt, sondern eine festverdrahtete
Schaltung. Zur Sicherheit wird aber nochmals darauf hin gewiesen,
dass auch die Sendemaschinen 20, 21 die oben stehend
in Verbindung mit 5 beschriebene Schrittfolge
nicht durch Abarbeiten eines Softwareprogramms realisieren, sondern
durch eine schaltungstechnische Ausbildung der Sendemaschinen 20, 21.
Das Wort „Maschinen" ist daher im vorliegenden
Fall im Sinne eine Turing-Maschine zu verstehen. Auch die anderen
Elemente der Verbindungsschaltung 11, beispielsweise die
Empfangsmaschine 18, die Belegungsermittler 27, 28,
die Adressextraktoren 29, 36 und auch die Adressvergleicher 30, 37 arbeiten
stets nicht ein Softwareprogramm ab, sondern sind schaltungstechnisch
derart ausgestaltet, dass sie die erforderliche Funktionalität realisieren.It has already been mentioned above that the connection circuit 11 is not a processor-controlled circuit that executes a software program, but a hard-wired circuit. For security, however, it is again pointed out that the sending machines 20 . 21 the above in connection with 5 Do not implement the described sequence of steps by executing a software program, but rather by means of a circuit design for the transmitting machines 20 . 21 , The word “machine” is therefore to be understood in the present case in the sense of a Turing machine. The other elements of the connection circuit too 11 , for example the receiving machine 18 who have favourited Occupancy Investigators 27 . 28 who have favourited Address Extractors 29 . 36 and also the address comparators 30 . 37 do not always run a software program, but are designed in terms of circuitry in such a way that they implement the required functionality.
Wie bereits erwähnt, weist die Netzwerkanschaltung 2 eine
Schnittstellenschaltung 14 auf, mittels derer die Verbindungsschaltung 11 parametrierbar
ist. Die Parametrierung der Verbindungsschaltung 11 umfasst
insbesondere die Vorgabe der Filteradressen, die den Adressvergleichern 30, 37 zugeführt werden,
sowie die Mindestpausen T1 bis T3. Gegebenenfalls können auch
weitere Parameter eingestellt werden. Beispielsweise können einzelne Ports,
insbesondere alternativ einer der beiden externen Ports 9, 10,
abschaltbar sein.As already mentioned, the network connection points 2 an interface circuit 14 by means of which the connection circuit 11 is parameterizable. The parameterization of the connection circuit 11 includes in particular the specification of the filter addresses, which the address comparators 30 . 37 are fed, as well as the minimum breaks T1 to T3. If necessary, other parameters can also be set. For example, individual ports, in particular alternatively one of the two external ports 9 . 10 , can be switched off.
In den 6A bis 6D ist eine Erweiterung der
Netzwerkanschaltung 2 der 3A bis 3C dargestellt. Der wesentliche
Unterschied zur Darstellung der 3A bis 3C besteht darin, dass die
Netzwerkanschaltung 2 der 6A bis 6D zusätzlich zu den Blöcken 15 bis 17 einen
Zeitgeberblock 53 aufweist. Der Zeitgeberblock 53 dient
der Synchronisierung des an die Netzwerkanschaltung 2 angeschlossenen Endgeräts 1 mit
anderen Endgeräten 1.In the 6A to 6D is an extension of the network connection 2 the 3A to 3C shown. The main difference to the representation of the 3A to 3C is that the network connection 2 the 6A to 6D in addition to the blocks 15 to 17 a timer block 53 having. The timer block 53 serves to synchronize the to the network interface 2 connected end device 1 with other devices 1 ,
Der interne Block 15 ist
in 6A dargestellt. Es
ist gegenüber 3A unverändert geblieben. Bezüglich des
internen Blocks 15 sind daher keine weiteren Ausführungen
erforderlich.The internal block 15 is in 6A shown. It is opposite 3A remained unchanged. Regarding the internal block 15 no further explanations are therefore necessary.
Die externen Blöcke 16, 17 hingegen
weisen zusätzliche
Elemente auf. So weisen die externen Blöcke 16, 17 insbesondere
empfangsseitige Paketselektoren 54, 55 auf. Mittels
dieser Paketselektoren 54, 55 wird geprüft, ob ein
dem jeweiligen externen Port 9, 10 zugeführtes Datenpaket
ein Zeit-Datenpaket ist. Ist das Datenpaket kein Zeit-Datenpaket,
wird es auf normale Datenausgänge 56, 57 der
externen Blöcke 16, 17 durchgeschaltet.
Wenn es hingegen ein Zeit-Datenpaket ist, wird es auf Zeitausgänge 58, 59 der
externen Blöcke 16, 17 durchgeschaltet.The external blocks 16 . 17 however, have additional elements. So the external blocks point 16 . 17 especially packet selectors at the receiving end 54 . 55 on. Using these packet selectors 54 . 55 it is checked whether the respective external port 9 . 10 supplied data packet is a time data packet. If the data packet is not a time data packet, it is sent to normal data outputs 56 . 57 of the external blocks 16 . 17 connected through. Conversely, if it is a time data packet, it will be on time outputs 58 . 59 of the external blocks 16 . 17 connected through.
Ein empfangenes Zeit-Datenpaket wird über den
entsprechenden Zeitausgang 58 bzw. 59 dem korrespondierenden
Zeiteingang 60 bzw. 61 des Zeitgeberblocks 53 zugeführt. Von
dem jeweiligen Zeiteingang 60 bzw. 61 wird es
einem Zeitstempelgenerator 62 zugeführt. Dieser kann anhand des
zugeführten
Zeitdatenpakets die Zeit ermitteln. Zur korrekten Ermittlung der
Zeit wird dabei dem Zeitstempelgenerator 62 über die
Schnittstellenschaltung 14 ein Korrekturwert zugeführt. Der
Korrekturwert ist also parametrierbar. Er dient der Berücksichtigung
der Zeit (Empfangszeitverzögerung
T4), die der Zeitstempelgenerator 62 benötigt, um
aus der übermittelten
Zeit den Anfangswert zu berechnen und in einen Zeitzähler 63 einzuspeichern.A received time data packet is sent via the corresponding time output 58 respectively. 59 the corresponding time entrance 60 respectively. 61 of the timer block 53 fed. From the respective time entrance 60 respectively. 61 it becomes a timestamp generator 62 fed. This can determine the time using the supplied time data packet. The timestamp generator is used to determine the time correctly 62 via the interface circuit 14 a correction value is supplied. The correction value can therefore be parameterized. It is used to take the time (reception time delay T4) into account stamp generator 62 needed to calculate the initial value from the transmitted time and into a time counter 63 einzuspeichern.
Das Zuführen eines Zeitdatenpakets
zum Zeitgeberblock 53 erfolgt dabei auf die gleiche Weise wie
das Zuführen
eines Datenpakets zum internen Port B. Auch die Daten der Zeitdatenpakete
werden also bereits vor dem vollständigen Zuführen dieser Datenpakete zu
den externen Ports 9, 10 an den Zeitgeberblock 53 weitergeleitet.Feeding a time data packet to the timer block 53 takes place in the same way as the feeding of a data packet to the internal port B. The data of the time data packets are thus also sent to the external ports before these data packets are completely fed 9 . 10 to the timer block 53 forwarded.
Ebenso wie der interne Block 15 und
die externen Blöcke 16, 17 ist
auch der Zeitgeberblock 53 Bestandteil der Verbindungsschaltung 11.
Er ist somit ebenfalls als Hardware-Schaltung ausgebildet, in eine Ethernet-Anschaltung
integriert, gegebenenfalls in einen ASIC integriert oder gegebenenfalls
auch Teil des FPGA bzw. EPLD. Es wird also kein Softwareprogramm
abgearbeitet. Die Zeit, die benötigt wird,
um aus dem Zeitdatenpaket die korrekte Zeit zu ermitteln und an
den Zeitzähler 63 weiterzuleiten,
ist daher vorab ermittelbar. Dadurch ist eine hochgenaue Korrektur
im Zeitstempelgenerator 62 möglich. Auf Grund der hochgenauen
Korrektur ist es ferner möglich,
dass der Zeitzähler 63 bei
jedem Erreichen eines Referenzwerts – z. B. einmal pro Sekunde – ein hochgenaues
Zeitsignal PPS über
die Schnittstellenschaltung 14 an das Endgerät 1 ausgibt.Just like the internal block 15 and the external blocks 16 . 17 is also the timer block 53 Part of the connection circuit 11 , It is thus also designed as a hardware circuit, integrated in an Ethernet interface, possibly integrated in an ASIC or possibly also part of the FPGA or EPLD. So no software program is processed. The time it takes to determine the correct time from the time data packet and to the time counter 63 Forwarding can therefore be determined in advance. This ensures a highly accurate correction in the time stamp generator 62 possible. Due to the highly accurate correction, it is also possible that the time counter 63 each time a reference value is reached - e.g. B. once per second - a highly accurate time signal PPS via the interface circuit 14 to the end device 1 outputs.
Die oben stehend beschriebene Vorgehensweise
wird ausgeführt,
wenn das angeschlossene Endgerät 1 als
abhängiges
Endgerät
(Slave) betrieben wird, dem die Zeitreferenz über das Übertragungsmedium 3 vorgegeben
wird. Hierzu wird ein Modusregister der Schnittstellenschaltung 14 entsprechend
geladen. Der Inhalt dieses Registers legt beispielsweise fest, ob
das angeschlossene Endgerät 1 abhängig oder
unabhängig
ist. Ferner kann festgelegt sein, über welchen der externen Ports 9, 10 gegebenenfalls
ein Zeitdatenpaket empfangen wird und über welchen ein Zeitdatenpaket
gesendet wird.The procedure described above is carried out when the connected terminal 1 is operated as a dependent terminal (slave) to which the time reference is transmitted via the transmission medium 3 is specified. For this purpose, a mode register of the interface circuit 14 loaded accordingly. The content of this register determines, for example, whether the connected terminal 1 is dependent or independent. It can also be specified via which of the external ports 9 . 10 if appropriate, a time data packet is received and via which a time data packet is sent.
Über
ein Zeitadressenregister kann ferner – z. B. durch Vorgabe an die
Paketselektoren 54, 55 – vorgegeben werden, welche
Datenpakete als Zeitdatenpakete erkannt und behandelt werden.Via a time address register can also - e.g. B. by default to the packet selectors 54 . 55 - Which data packets are recognized and treated as time data packets are specified.
Wenn der Zeitgeberblock 53 als
Master betrieben werden soll, wird dem Zeitstempelgenerator 62 zu
vorbekannten Zeitpunkten, z. B. jede Sekunde, das hochgenaue Zeitsignal
PPS über
die Schnittstellenschaltung 14 zugeführt. Mit dem Eintreffen dieses Zeitsignals
PPS wird der Zeitzähler 63 jeweils
mit einem vorbestimmten Anfangswert geladen und neu gestartet. Der
Zeitzähler 63 übermittelt
daraufhin ein Anforderungssignal an eine Zeitsendesteuerung 64. Diese
fragt bei einer der Sendemaschinen 20, 21, eventuell
auch bei beiden Sendemaschinen 20, 21, ab, ob
diese ein Zeittelegramm sofort und ohne Verzö gerung aussenden können. Er
wartet entsprechende Bestätigungen
von den Sendemaschinen 20, 21 ab.If the timer block 53 The timestamp generator is used as the master 62 at previously known times, e.g. B. every second, the highly accurate time signal PPS via the interface circuit 14 fed. When this time signal PPS arrives, the time counter becomes 63 each loaded with a predetermined initial value and restarted. The time counter 63 thereupon transmits a request signal to a time transmission control 64 , This asks at one of the sending machines 20 . 21 , possibly also with both sending machines 20 . 21 , whether they can send a time telegram immediately and without delay. He waits for corresponding confirmations from the sending machines 20 . 21 from.
Die Sendemaschinen 20, 21 überwachen,
ob sie anderweitig ein Datenpaket senden. Sie überwachen also, ob das Übertragungsmedium 3,
das heißt die
Leitungen 3, belegt sind. Sie senden ihre Bestätigungen
erst ab, wenn die Leitungen 3 frei sind.The sending machines 20 . 21 monitor whether they are otherwise sending a data packet. So you monitor whether the transmission medium 3 , that is, the lines 3 , are occupied. They only send their confirmations when the lines 3 are free.
Eine derartige Vorgehensweise ist
allgemein als Handshake bekannt und wird daher nachstehend nicht
näher beschrieben.Such an approach is
commonly known as handshake and therefore will not be discussed below
described in more detail.
Wenn die Sendemaschinen 20, 21 der Zeitsendesteuerung 64 ihre
Sendebereitschaft angezeigt haben, übermittelt diese einem Zeitdatenpaketgenerator 65 ein
Startsignal. Dieser liest daraufhin vom Zeitzähler 63 den momentanen
Zählerstand
ein. Den Zählerstand
fügt er
in ein Zeitdatenpaket ein und sendet dieses über einen Zeitausgang 66 an
Zeiteingänge 67 und/oder 68 der
externen Blöcke 16, 17 und
von dort weiter zu den Sendemaschinen 20 bzw. 21.
Der Zählerstand
kann, falls erforderlich, vor dem Einfügen in das Zeitdatenpaket um
einen Korrekturwert korrigiert werden. Die Korrektur kann in einer Korrekturschaltung – ebenso
wie beim Empfang einer Zeitreferenz – erfolgen. Damit kann insbesondere eine
Sendezeitverzögerung
T5 kompensiert werden.If the sending machines 20 . 21 time transmission control 64 have indicated their readiness to send, this transmits a time data packet generator 65 a start signal. This then reads from the time counter 63 the current meter reading. He inserts the meter reading into a time data packet and sends it via a time output 66 at time entrances 67 and or 68 of the external blocks 16 . 17 and from there to the sending machines 20 respectively. 21 , If necessary, the counter reading can be corrected by a correction value before insertion into the time data packet. The correction can be done in a correction circuit - just like when receiving a time reference. In particular, a transmission time delay T5 can thus be compensated for.
Die Sendemaschinen 20, 21 geben
dann das ihnen zugeführte
Zeitdatenpaket aus. Falls das Zeitpaket über beide externe Ports 9, 10 ausgegeben werden
soll, erfolgt das Auslesen des Zeitzählers 63 erst mit
dem Übermitteln
der Bestätigungen
von beiden Sendemaschinen 20, 21. Das Ausgeben
des Zeitdatenpakets an die Sendemaschinen 20 bzw. 21 erfolgt,
wie aus 6 ersichtlich
ist, direkt. Zwischen dem Zeitgeberblock 53 und den externen
Ports 9, 10 sind also keine Zwischenspeicher angeordnet.The sending machines 20 . 21 then output the time data packet supplied to them. If the time packet over both external ports 9 . 10 the time counter is read out 63 only with the transmission of confirmations from both sending machines 20 . 21 , The output of the time data packet to the sending machines 20 respectively. 21 done as from 6 can be seen directly. Between the timer block 53 and the external ports 9 . 10 so no buffers are arranged.
Das Versenden der Zeitdatenpakete über die externen
Ports 9, 10 erfolgt auf die gleiche Weise wie das
Versenden eines Da tenpakets, das den externen Ports 9, 10 über den
internen Port 8 zugeführt
wird. Daten eines Zeitdatenpakets werden also ebenfalls bereits
vor dem vollständigen
Zuführen
des Zeitdatenpakets über
die externen Ports 9, 10 ausgegeben.Sending the time data packets via the external ports 9 . 10 is carried out in the same way as sending a data packet, which is the external ports 9 . 10 via the internal port 8th is fed. Data of a time data packet are thus also already supplied via the external ports before the time data packet has been completely supplied 9 . 10 output.
Da auch der Zeitdatenpaketgenerator 65 als Hardware-Schaltung
ausgebildet ist, ist die durch diesen hervorgerufene Zeitverzögerung T5
vorab ermittelbar und/oder bekannt. Sie kann daher bei der Ermittlung
der korrekten Zeit berücksichtigt
werden. Der nötige
Korrekturfaktor zur Berücksichtigung
der Verzögerungszeit
T5, also der Sendeanfangswert, kann wieder über die Schnittstellenschaltung 14 parametrierbar
sein. Er bestimmt insbesondere den Anfangswert, der im Sendefall
in den Zeitzähler 63 geladen
wird, oder den Korrekturwert, um den der aus dem Zeitzähler 63 ausgelesene
Wert korrigiert wird.Since also the time data packet generator 65 is designed as a hardware circuit, the time delay T5 caused thereby can be determined in advance and / or is known. It can therefore be taken into account when determining the correct time. The necessary correction factor for taking into account the delay time T5, i.e. the initial transmission value, can again be made via the interface circuit 14 be parameterizable. In particular, it determines the initial value, which in the case of transmission is in the time counter 63 is loaded, or the correction value by which the from the time counter 63 read value is corrected.
Der Aufbau und die Wirkungsweise
des Zeitgeberblocks 53 werden nachfolgend in Verbindung mit
den 6, 7 und 8 nochmals
detaillierter beschrieben. Dabei wird zuerst der Sendefall, also
die Ausgabe eines Zeitdatenpakets beschrieben, danach der Empfangsfall,
also der Empfang eines Zeitdatenpakets.The structure and operation of the timer block 53 are subsequently used in conjunction with the 6 . 7 and 8th described again in more detail. The transmission case, that is the output of a time data packet, is described first, then the reception case, that is to say the reception of a time data packet.
Im Masterfall wird dem Zeitgeberblock 53 von
Zeit zu Zeit, z. B. jede Sekunde, das Zeitsignal PPS zugeführt. Dieses
Zeitsignal PPS wird innerhalb des Zeitgeberblocks 53 dem
Zeitstempelgenerator 62 zugeführt. Das Zeitsignal PPS dient
also als Synchronisationspuls für
den Zeitgeberblock 53.In the master case, the timer block 53 from time to time, e.g. B. every second, the time signal PPS supplied. This time signal PPS is within of the timer block 53 the timestamp generator 62 fed. The time signal PPS thus serves as a synchronization pulse for the timer block 53 ,
Beim Zuführen des Synchronisationspulses PPS
speichert der Zeitstempelgenerator 62 im Zeitzähler 63 einen
Sendeanfangswert ein. Danach wird der Zeitzähler 63 getaktet inkrementiert.
Der Zeitzähler 63 ist
also ein Zählregister.
Der Sendeanfangswert korrespondiert mit der Sendeverzögerungszeit T5.When the synchronization pulse PPS is supplied, the time stamp generator saves 62 in the time counter 63 an initial transmission value. Then the time counter 63 clocked incremented. The time counter 63 is therefore a counting register. The initial transmission value corresponds to the transmission delay time T5.
Wie bereits ausgeführt, übermittelt
die Zeitsendesteuerung 64 an die Sendemaschinen 20, 21 eine
Anfrage, ob diese ein Zeittelegramm sofort und ohne Verzögerung aussenden
können.
Dies entspricht einem Anforderungssignal, das an die Sendemaschinen 20, 21 übermittelt
wird. Die Sendemaschinen 20, 21 warten dieses
Anforderungssignal ab. Nach dessen Erhalt überprüfen sie, ob sie selbst gerade über das Übertragungsmedium 3 (die
Netzwerkleitungen 3) ein Datenpaket senden. Wenn dies nicht der
Fall ist, ist das Übertragungsmedium 3 nicht
belegt. In diesem Fall übermitteln
sie ihre Sendebereitschaft in Form eines entsprechenden Freigabesignals
an die Zeitsendesteuerung 64.As already stated, the time transmission control transmits 64 to the sending machines 20 . 21 a request as to whether they can send a time telegram immediately and without delay. This corresponds to a request signal sent to the sending machines 20 . 21 is transmitted. The sending machines 20 . 21 wait for this request signal. After receiving it, check whether it is currently on the transmission medium itself 3 (the network lines 3 ) send a data packet. If not, the transmission medium is 3 not used. In this case, they transmit their readiness for transmission in the form of a corresponding release signal to the time transmission control 64 ,
Sowie die Zeitsendesteuerung 64 die
Freigabesignale entgegen genommen hat, übermittelt sie das Startsignal
an den Zeitdatenpaketgenerator 65. Dieser liest daraufhin
den momentanen Zählerstand aus
dem Zeitzähler 63 aus.
Dieser Zählerstand
(= Wert) entspricht – gegebenenfalls
nach entsprechender Korrektur – der
zu übermittelnden
Zeitreferenz. Dieser Zeitreferenz werden vom Zeitdatenpaketgenerator 65 aber
noch zusätzliche
Informationen hinzugefügt.
Insbesondere wird ein komplettes Zeitdatenpaket erstellt. Der Zeitreferenz
werden also – siehe 4 – eine Quell- und ein Zieladresse
sowie eine Prioritäts-
und/oder eine Typinformation hinzugefügt. Diese zusätzlichen
Informationen können
den Zeitgeberblock 53 bzw. dem Zeitdatenpaketgenerator 65 vorab über die
Schnittstellenschaltung 14 vorgegeben werden.As well as the time transmission control 64 has received the release signals, it transmits the start signal to the time data packet generator 65 , This then reads the current counter reading from the time counter 63 out. This counter reading (= value) corresponds - if necessary after a corresponding correction - to the time reference to be transmitted. This time reference are generated by the time data packet generator 65 but added additional information. In particular, a complete time data package is created. So the time reference will be - see 4 - Added a source and a destination address as well as priority and / or type information. This additional information can make up the timer block 53 or the time data packet generator 65 in advance via the interface circuit 14 be specified.
Ferner ermittelt der Zeitdatenpaketgenerator 65 eine
Prüfinformation
(CRC = cyclic redundancy check) für das Zeitdatenpaket, also
insbesondere auch für
die Zeitreferenz.The time data packet generator also determines 65 test information (CRC = cyclic redundancy check) for the time data packet, in particular also for the time reference.
Das so ermittelte Zeitdatenpaket
wird dann ohne weitere Verzögerung
an die Sendemaschinen 20, 21 übermittelt und von diesen als
Zeitreferenz über
das Übertragungsmedium 3 gesendet.The time data packet determined in this way is then sent to the sending machines without further delay 20 . 21 transmitted and by these as a time reference via the transmission medium 3 Posted.
Wie aus 6 ersichtlich ist, ist der Zeitgeberblock 53 direkt
mit den Sendemaschinen 20, 21 verbunden, über welche
die Zeitreferenz in das Übertragungsmedium 3 einspeisbar
ist. Es erfolgt keine weitere Zwischenspeicherung. Im Zusammenwirken mit
dem Umstand, dass die gesamte in 6 dargestellte
Verbindungsschaltung 11 eine festverdrahtete Schaltung
ist, liegt daher zwischen dem Auslesen des Zeitzählers 63 und dem Senden
der Zeitreferenz über
das Übertragungsmedium 3 bzw.
die Leitungen 3 eine vorbestimmte Sendezeitverzögerung T5.How out 6 can be seen is the timer block 53 directly with the sending machines 20 . 21 connected via which the time reference into the transmission medium 3 is feedable. There is no further temporary storage. In combination with the fact that the entire in 6 Connection circuit shown 11 is a hard-wired circuit, therefore lies between the reading of the time counter 63 and sending the time reference over the transmission medium 3 or the lines 3 a predetermined transmission time delay T5.
Der Sendeanfangswert bzw. der beim
Senden berücksichtigte
Korrekturwert korrespondiert mit der Sendezeitverzögerung T5.
Er ist somit derart bestimmt, dass durch ihn die Sendezeitverzögerung T5 kompensiert
wird. Insbesondere ergibt sich der Sendeanfangswert als f × T5, wobei
f die Taktfrequenz (z. B. 25 MHz) ist, mit der der Zeitzähler 63 inkrementiert wird.
Dieser Anfangswert kann – sei
es direkt als Zahlenwert, sei es indirekt durch Vorgabe der Sendezeitverzögerung T5 – dem Zeitgeberblock 53 vorgegeben
werden.The initial transmission value or the correction value taken into account during transmission corresponds to the transmission time delay T5. It is thus determined in such a way that it compensates for the transmission time delay T5. In particular, the initial transmission value results as f × T5, where f is the clock frequency (eg 25 MHz) with which the time counter 63 is incremented. This initial value can be the timer block - be it directly as a numerical value or indirectly by specifying the transmission time delay T5 53 be specified.
In der Regel erfolgt das Synchronisieren
zwischen den Endgeräten 1 mit
dem ersten Bit des neuen Zeitdatenpakets. Die Sendezeitverzögerung T5
ist daher in aller Regel durch das Auslesen des Zeitzählers 63 und
dem Beginn des Ausgebens der Zeitreferenz bzw. des Zeitdatenpakets
bestimmt.As a rule, synchronization takes place between the end devices 1 with the first bit of the new time data packet. The transmission time delay T5 is therefore generally due to the reading of the time counter 63 and the start of outputting the time reference or the time data packet.
In völlig analoger Weise wird vorgegangen, wenn
von einem der externen Blöcke 16, 17 über das Übertragungsmedium 3 ein
Zeitdatenpaket empfangen wird. In diesem Fall wird zunächst in
den Paketselektoren 54, 55 überprüft, ob die im Zeitdatenpaket enthaltene
Quelladresse mit einer Sollquelladresse übereinstimmt. Ebenso wird überprüft, ob die
im Datenpaket enthaltene Zieladresse mit einer Sollzieladresse übereinstimmt.
Die Adressen werden den Paketselektoren 54, 55 dabei
wieder über
die Schnittstellenschaltung 14 vorgegeben. Nur im Falle
einer Übereinstimmung
wird, wie bereits erwähnt,
das Zeitdatenpaket an den Zeitgeberblock 53 weitergeleitet. An sonsten
entfallen die nachfolgend beschriebenen weiteren Schritte.The procedure is completely analogous if one of the external blocks 16 . 17 via the transmission medium 3 a time data packet is received. In this case, first in the packet selectors 54 . 55 checks whether the source address contained in the time data packet matches a target source address. It is also checked whether the destination address contained in the data packet matches a target destination address. The addresses are the packet selectors 54 . 55 again via the interface circuit 14 specified. As already mentioned, the time data packet is only sent to the timer block in the event of a match 53 forwarded. Otherwise, the further steps described below are omitted.
Im Falle der Übereinstimmung wird das Zeitdatenpaket
vom empfangenden externen Block 16, 17 dem Zeitstempelgenerator 62 zugeführt. Dieser überprüft zunächst anhand
der Prüfinformation,
ob die Zeitreferenz ordnungsgemäß übermittelt
wurde. Nur wenn dies der Fall ist, wird die Zeitreferenz weiter verarbeitet.
Ansonsten wird sie verworfen.In the event of a match, the time data packet from the receiving external block 16, 17 becomes the time stamp generator 62 fed. First, the checker uses the check information to check whether the time reference has been correctly transmitted. The time reference is only processed if this is the case. Otherwise it will be discarded.
Im Falle eines ordnungsgemäß empfangenen
Zeitdatenpakets extrahiert der Zeitstempelgenerator 62 die
Zeitreferenz und korrigiert sie – siehe 7 – in
einer Korrekturschaltung 69 um einen Korrekturwert. Die korrigierte
Zeitreferenz wird dann als Empfangsanfangswert in den Zeitzähler 63 eingespeichert.
Ab dem Einspeichern des Empfangsanfangswertes wird der Zeitzähler 63 dann
getaktet inkrementiert. Wenn der Wert des Zeitzählers 63 einen Referenzwert
erreicht, der z. B. der nächsten
vollen Sekunde entspricht, wird in Form des Zeitsignals PPS ein
Synchronisationspuls an das angeschlossene Endgerät 1 ausgegeben.In the case of a properly received time data packet, the time stamp generator extracts 62 the time reference and corrects it - see 7 In a correction circuit 69 by a correction value. The corrected time reference is then entered into the time counter as the start reception value 63 stored. As soon as the reception start value is saved, the time counter becomes 63 then incremented clocked. If the value of the time counter 63 reaches a reference value, e.g. B. corresponds to the next full second, a synchronization pulse to the connected terminal is in the form of the time signal PPS 1 output.
Auch soweit es den Empfangsweg betrifft,
ist der Zeitgeberblock 53 direkt mit den Empfangsschaltungen 16, 17 verbunden, über die
die Zeitreferenz über
das Übertragungsmedium 3 empfangbar
ist. Es erfolgt also keine Zwischenspeicherung. In Verbindung mit
der Ausgestaltung der gesamten Verbindungsschaltung 11 als
Hardware-Schaltung ist somit auch die Verarbeitungszeit zwischen
dem Empfangen der Zeitreferenz und dem Einspeichern des Empfangsanfangswertes
vorbestimmt. Diese Zeit wird nachstehend Empfangszeitverzögerung T4
genannt. Der Korrekturwert, um den die empfangene Zeitreferenz korrigiert
wird, kann daher derart bestimmt werden, dass durch ihn die Empfangszeitverzögerung T4
kompensiert wird. Er kann – analog
zum Sendeanfangswert – direkt
als Zahlenwert oder indirekt durch die Empfangszeitverzögerung T4
dem Zeitgeberblock 53 bzw. dem Zeitstempelgenerator 62 über die
Schnittstellenschaltung 14 vorgegeben werden.The timer block is also as far as the reception path is concerned 53 directly with the receiving circuits 16 . 17 connected via which the time reference via the transmission medium 3 is receivable. There is therefore no temporary storage. In connection with the design of the entire connection circuit 11 as a hardware circuit is thus the processing time between the receivers predetermined according to the time reference and the storage of the reception start value. This time is called the reception time delay T4 below. The correction value by which the received time reference is corrected can therefore be determined in such a way that it compensates for the reception time delay T4. It can - analog to the initial transmission value - directly as a numerical value or indirectly through the reception time delay T4 the timer block 53 or the timestamp generator 62 via the interface circuit 14 be specified.
In aller Regel erfolgt, wie bereits
erwähnt, eine
Synchronisation auf das erste empfangene Bit. Die Empfangszeitverzögerung T4
ist daher durch den Beginn des Empfangens der Zeitreferenz bzw, des
Zeitdatenpakets und das Einspeichern des Empfangsanfangswertes in
den Zeitzähler 63 bestimmt.As a rule, as already mentioned, synchronization takes place with the first bit received. The reception time delay T4 is therefore due to the start of reception of the time reference or of the time data packet and the storage of the reception start value in the time counter 63 certainly.
Wie ebenfalls bereits oben stehend
in Verbindung mit 6D ausgeführt, kann
durch eine entsprechende Vorgabe des Betriebsmodus bestimmt werden,
ob der Zeitgeberblock 53 als Master oder als Slave betrieben
wird. Es ist aber auch möglich,
den Zeitgeberblock 53 derart zu parametrieren, dass er seine
Rolle dynamisch wählt.
Dies wird nachstehend in Verbindung mit 8 näher
erläutert.As already mentioned in connection with 6D executed, it can be determined by a corresponding specification of the operating mode whether the timer block 53 is operated as a master or as a slave. But it is also possible to use the timer block 53 to parameterize in such a way that he chooses his role dynamically. This is discussed below in conjunction with 8th explained in more detail.
Gemäß 8 kann von der Zeitsendesteuerung 64 zunächst in
einem Schritt 70 überprüft werden,
ob dem Zeitstempelgenerator 62 über das Übertragungsmedium 3 eine
Zeitreferenz zugeführt
wurde und die zugeführte
Zeitreferenz ordnungsgemäß war. Dies
kann beispielsweise dadurch erreicht werden, dass, wie in 6D angedeutet, ein OK-Bit
an die Zeitsendesteuerung 64 übermittelt wird.According to 8th can from time transmission control 64 are first checked in a step 70 whether the timestamp generator 62 via the transmission medium 3 a time reference was supplied and the supplied time reference was correct. This can be achieved, for example, in that, as in 6D indicated an OK bit to the time transmission control 64 is transmitted.
Wenn der Zeitsendesteuerung 64 dieses
Bit übermittelt
wird, setzt sie in einem Schritt 71 einen Zeitgeber auf den Wert
Null und startet ihn. Ferner setzt sie in einem Schritt 72 ein Masterbit
M auf den Wert Null. Das Masterbit M wird dem Zeitstempelgenerator 62 zugeführt, der
sich in diesem Fall als Slave verhält. Die weitere Abarbeitung
erfolgt dann anhand der empfangenen Zeitreferenz, wie bereits beschrieben
wurde.If the time transmission control 64 this bit is transmitted, in step 71 it sets a timer to the value zero and starts it. In a step 72, it also sets a master bit M to the value zero. The master bit M becomes the time stamp generator 62 supplied, which in this case behaves as a slave. Further processing then takes place on the basis of the time reference received, as has already been described.
Wenn der Zeitsendesteuerung 64 hingegen kein
OK-Bit übermittelt
wird, überprüft sie in
einem Schritt 73, ob der Zeitgeber einen Grenzwert erreicht hat.
Wenn dies der Fall ist, setzt sie in einem Schritt 74 das Masterbit
M auf den Wert Eins und gibt es an den Zeitstempelgenerator 62 aus.
Dieser stellt daraufhin auf Masterbetrieb um. Er nimmt also, solange ihm
das Masterbit M mit Wert Eins übermittelt
wird, über
die Schnittstellenschaltung 14 das Zeitsignal PPS entgegen
und schreibt jeweils den Sendeanfangswert in den Zeitzähler 63 ein.
Die Zeitsendesteuerung 64 ermittelt dann gemäß der oben
stehend beschriebenen Weise, ob ein Zeitdatenpaket versendet werden
kann und veranlasst gegebenenfalls das Versenden dieses Pakets.If the time transmission control 64 however, if no OK bit is transmitted, it checks in a step 73 whether the timer has reached a limit value. If this is the case, it sets the master bit M to the value one in a step 74 and sends it to the time stamp generator 62 out. This then switches to master mode. It therefore takes over the interface circuit as long as the master bit M with a value of one is transmitted to it 14 the time signal PPS counter and writes the transmission start value in the time counter 63 on. The time transmission control 64 then determines according to the manner described above whether a time data packet can be sent and, if necessary, initiates the sending of this packet.
Gemäß 8 wird also mit jedem Einspeichern des
Empfangsanfangswertes der Zeitgeber gestartet. Bis der Zeitgeber
den Grenzwert erreicht, wird der Zeitgeberblock 53 als
Slave betrieben. Er erzeugt also anhand der übermittelten Zeitreferenz das Zeitsignal
PPS (bzw. den Synchronisationspuls PPS). Wenn der Zeitgeber den
Grenzwert erreicht und überschreitet,
wird der Zeitgeberblock 53 hingegen als Master betrieben.
Er übermittelt
also selbst über
eine oder beide der Sendemaschinen 20, 21 eine
Zeitreferenz. Sobald wieder ein Zeitdatenpaket ordnungsgemäß empfangen
wird, also wieder ein Empfangsanfangswert in den Zeitzähler 63 eingespeichert
wird, konfiguriert sich der Zeitgeberblock 53 aber wieder
auf Slavebetrieb um.According to 8th the timer is started every time the start receive value is saved. Until the timer reaches the limit, the timer block becomes 53 operated as a slave. It therefore generates the time signal PPS (or the synchronization pulse PPS) on the basis of the transmitted time reference. When the timer reaches and exceeds the limit, the timer block 53 however, operated as a master. It therefore transmits itself via one or both of the sending machines 20 . 21 a time reference. As soon as a time data packet is received properly again, i.e. an initial reception value in the time counter 63 the timer block is configured 53 but switched back to slave operation.
Auch eine Mischform von Master- und
Slavebetrieb ist möglich.
In diesem Fall fungiert der Zeitgeberblock 53 z.B. bezüglich des
externen Ports 9 als Slave, nimmt also von dort eine Zeitreferenz
entgegen und ermittelt daraus – gegebenenfalls
unter Korrektur in der Korrekturschaltung 69 – den in
das Register 63 einzuschreibenden Anfangswert. Bezüglich des
anderen externen Ports 10 fungiert der Zeitgeberblock 53 als
Master. Der einzige Unterschied zum „normalen" Masterbetrieb ist, dass dem Zeitgeberblock 53 der
Synchronisationspuls PPS nicht von außen vorgegeben wird.A mixed form of master and slave operation is also possible. In this case the timer block functions 53 eg regarding the external port 9 As a slave, it receives a time reference from there and determines it - if necessary with correction in the correction circuit 69 - the one in the register 63 initial value to be written. Regarding the other external port 10 acts the timer block 53 as a master. The only difference to the "normal" master operation is that the timer block 53 the synchronization pulse PPS is not specified from the outside.
Die Korrektur der Sende- und der
Empfangszeitverzögerung
T5, T4 kann weiterhin in der Korrekturschaltung 69 und
der korrespondierenden sendeseitigen Korrekturschaltung erfolgen.
Sie kann aber auch vollständig
in der einen oder der anderen Korrekturschaltung 69 erfolgen.The correction of the transmission and reception time delay T5, T4 can continue in the correction circuit 69 and the corresponding transmission-side correction circuit. But it can also be completely in one or the other correction circuit 69 respectively.
Mittels der erfindungsgemäßen Netzwerkanschaltung 2 ist
somit auf einfache und kostengünstige Weise
eine Linientopologie mehrerer Endgeräte 1 aufbaubar. Bei
dieser Topologie bleibt dabei die Echtzeitfähigkeit erhalten. Durch Hinzunahme
des Zeitgeberblocks 53 kann dabei sogar auf einfache und hochgenaue
Weise eine Synchronisation mehrerer Endgeräte 1 bewirkt werden.By means of the network connection according to the invention 2 is thus a line topology of several end devices in a simple and inexpensive manner 1 built up. With this topology, the real-time capability is retained. By adding the timer block 53 can even synchronize multiple end devices in a simple and highly precise manner 1 be effected.