-
GEBIET DER ERFINDUNG
-
Die
Erfindung liegt im Gebiet der integrierten Schaltungen und Betriebsverfahren
hierfür
und befaßt
sich insbesondere mit der Architektur eines Mischsignal – Eindrahtbussystems,
bei dem eine Vielzahl von integrierten Schaltungen an einen Eindrahtbus
angeschlossen werden können,
auf dem nicht nur digitale Kommandos und Informationen fliessen,
sondern auch analoge Signalspannungen übertragen werden.
-
STAND DER TECHNIK
-
Dem
Stand der Technik sind verschiedene Eindraht – Bussysteme bekannt, [1]–[9], die
jedoch grösstenteils
rein digitaler Natur sind, das heisst, sie können auf ihrem Eindrahtbus
keine analogen Signale zur Weiterverarbeitung durch einen Analog-Digitalwandler (ADC) übertragen.
Dies gelingt erst dem System von Luitje et al [9]. Allerdings haften
diesem System durch die Umsetzung des Widerstandswerts von resistiven
Sensoren in einen Strom, der einer Kommandospannung auf dem Eindrahtbus
eingeprägt
wird, verschiedene Nachteile an, wie geringe erzielbare Genauigkeit,
hoher Strombedarf bei grossen Signalpegeln, hohem Rauschen bei kleinen
Signalpegeln, sowie die Notwendigkeit zur Umsetzung des Stromsignals
in ein Spannungsignal durch einen weiteren integrierten Schaltkreis,
der dem Mikrocontroller als Businterface vorgeschaltet werden muss. Ein
kostensparender direkter Anschluss des Bus an den Mikrocontroller
ist hier systembedingt nicht möglich.
-
Keinem
dieser früheren
Bussysteme gelingt es, über
denselben Eindrahtbus analoge Signalspannungen von weitgehend beliebiger
Herkunft, Modulation und Codierung von an den Bus angeschlossenen Teilnehmern
zu einem Wirt und digitale Kommandos vom Wirt zu Teilnehmern zu übertragen,
ohne dass der erzielbare Dynamikumfang des Analogsignals und damit
die Genauigkeit leidet, und ohne dass dabei auf Seite des Wirts
spezielle Schaltungsmittel benötigt
werden, so dass zum Anschluss des Bus ein Mehrzweck – Eingangs/Ausgangsanschluss
mit unter Softwaresteuerung stehenden digitalen Treibern und einem
ADC genügt,
wie es von gewöhnlichen
Mikrocontrollern offeriert wird.
-
Zur
Lösung
dieser Aufgabe, die insbesondere für intelligente Sensoren Bedeutung
hat, hat der Erfinder eine integrierte Schaltung mit einer Mischsignal – Eindrahtschnittstelle
zum Patent angemeldet, für
die das
deutsche Patent
Nr. 102005014133 erteilt worden ist [10].
-
Obwohl
die dort dargestellten Ideen, Mittel und Verfahren sich bereits
für viele
Anwendungen gut eignen, beispielsweise für batteriebetriebene Reifenluftdruckprüfer oder
andere tragbare Messgeräte,
so fehlen diesem grundlegenden System jedoch einige Fähigkeiten,
die für
anspruchsvollere Anwendungen, beispielsweise aus der Industriemesstechnik
oder dem Automobilbereich gefordert sind.
-
Ein
erster Nachteil des vorigen Systems ist das Fehlen eines Rücksetzverfahres,
das sich immer und zu jeder Zeit, in jedem Betriebszustand des Bus, und
auch bei völlig
ausser Kontrolle geratenen Teilnehmern durchführen lässt, um alle Teilnehmer am Bus
in einen geordneten Anfangszustand zu bringen. Die Implementierung
eines geeigneten Rücksetzverfahrens
scheiterte bisher daran, dass das Bussystem bereits alle vorhandenen
Möglichkeiten
für Signale am
Bus benutzt: am Bus können
sowohl digitale als, auch analoge Signalspannungen anliegen, und
in seinen Betriebszuständen
treten alle mit einfachen Mitteln erkennbaren Signalspannungspegel,
Stromimpulse, schnelle Flanken und dergleichen als Signale bereits
auf, so dass es nicht möglich
schien, ohne erheblichen und teuren Schaltungsaufwand ein Rücksetzsignal
einzuführen,
das in allen vorkommenden Zuständen
zuverlässig über den
Eindrahtbus übertragen
werden kann, dessen Erkennung nur geringen schaltungstechnischen
Aufwand erfordert, und dessen Unterscheidung von anderen Signalen auf
dem Bus absolut sicher ist.
-
Ein
zweiter Nachteil des vorigen Systems ist die technisch bedingte
Beschränkung
der Zahl der Teilnehmer auf dem Bus auf eine relativ geringe Anzahl.
Bei beispielsweise mehr als vier Teilnehmern wird es für den Wirt
immer schwieriger und energieaufwendiger, Signale durch Gegentreiben
auf dem Bus an die Teilnehmer zu senden. Die naheliegende Skalierung
der relevanten Parameter der Teilnehmer auf niedrigere Stromwerte
führt zu
einer geringeren Störsicherheit
und Geschwindigkeit des Busystems, falls dann solche stromreduzierten
Teilnehmer dann in geringerer Zahl betrieben werden sollen. Es ist
unwirtschaftlich, für
jede vorgesehene Zahl von Teilnehmern auf den Bus speziell optimierte
Varianten anzubieten.
-
Ein
dritter Nachteil des vorigen Systems liegt darin, dass es keine
Möglichkeit
kennt, die digitalen Kommandos und Daten auf dem Bus gegen Störungen abzusichern,
indem etwaige Bitfehler erkannt und an den Wirt gemeldet werden.
Die Einführung von
Prüfsummen,
wie sie von rein digitalen Bussystemen her längst bekannt ist, ist nutzlos,
solange es keinen Weg gibt, einen Fehler an den Wirt zu melden, was
sich aus denselben Gründen
wie beim Resetsignal als schwierig herausstellt, da Betriebsmodi
vorkommen, bei denen keine Rückmeldung
als digitaler Signalpegel konsistent zur bisherigen Lehre der Erfindung
möglich
ist, etwa den Analoglesemodus oder dem Schlafmodus.
-
DARSTELLUNG DER ERFINDUNG
-
In
Fortsetzung der in [10] beschriebenen Vorrichtungen und Verfahren
und aufbauend auf deren Grundideen wird im folgenden ein verbessertes Mischsignal – Eindraht – Bussystem
offenbart, bei dem es möglich
ist, eine sehr viel grössere
Anzahl von integrierten Schaltungen mit jeweils einer Mischsignal – Eindrahtschnittstelle
zu einem Netzwerk zu verschalten, als es im Rahmen der Lehren der
vorigen Erfindung [10] möglich
ist, und wobei eine weitgehend frei wählbare Netzwerktopologie realisiert werden
kann. Einige der möglichen
Netzwerktopologien haben dabei den besonderen Vorteil, dass das Gesamtnetzwerk
gegen Störungen
und Defekte einzelner Teilnehmer insofern robust ist, als dass nur
der Zweig mit dem gestörten
oder defekten Teilnehmer ausfällt,
die anderen Zweige im Netzwerk aber weiterhin funktionieren.
-
Dieser
Fortschritt gegenüber
der vorigen Erfindung wird erzielt durch Einführung eines neuartigen Rücksetzverfahrens
für an
Mischsignal – Eindrahtnetzwerke
angeschlossene Teilnehmerschaltkreise, neuartige Koppelschaltkreise
(Hubs) für
die Verschaltung von Mischsignal – Eindrahtnetzwerken, sowie
neuartige Mittel und Verfahren zur Erkennung und Meldung von Fehlern
in der Kommandoübermittlung
und zum Leiten von Mischsignalen auf Signalpfaden durch Mischsignal – Eindrahtnetzwerke.
-
KURZBESCHREIBUNG DER TECHNISCHEN GRUNDLAGEN
-
Für das Verständnis der
zu offenbarenden Erfindung ist es zweckmäßig, die in der vorigen Erfindung
[10] detailliert beschriebenen Ideen, Mittel und Verfahren an dieser
Stelle in verkürzter
Form darzustellen, soweit sie für
das Verständnis
der vorliegenden Erfindung erforderlich sind. Hierbei wird die nach dem
derzeiten Stand der Erkenntnis bestmögliche Ausführung und Anwendung der vorigen
Erfindung [10] zugrundegelegt.
-
Bei
derartigen Mischsignal – Eindrahtbussystemen
ist zunächst
ein Wirt vorhanden, beispielsweise ein Mikrocontroller, der über einen
Anschlussgin mit einem Treiber verfügt, der eine digitale „0" oder eine digitale „1" treiben kann, und
der auch abgeschaltet werden kann. Dieser Zustand wird in der Fachsprache
oft als „Z" oder „float" bezeichnet. Ferner
soll der Mikrocontroller auch einen Analog-zu-Digitalwandler (ADC)
besitzen, der ein an denselben Anschlussgin angelegtes Analogsignal
digitalisieren kann. Derartige per Software konfiguierbare Universalanschlusspins
sind bei bei heutigen Mikrocontrollern gewöhnlich. Wird nun an einen solchen
Anschlussgin ein einzelner integrierter Schaltkreis mit Mischsignal – Eindrahtschnittstelle
gemäß [10] angeschlossen,
ergibt sich ein minimales Mischsignal – Eindrahtnetzwerk. Werden
mehrere solche integrierten Schaltkreise als sogenannte „Teilnehmer" angeschlossen, dann
handelt es sich schon um einen Mischsignal – Eindrahtbus, der ein nichtminimales Mischsignal – Eindrahtnetzwerk
ist.
-
Diese
Teilnehmer gehorchen digitalen Kommandos, die der Wirt (Mikrocontroller)
auf den Bus ausgibt. Das besondere an einem Mischsignal – Eindrahtnetzwerk
ist nun, dass es Kommandos gibt, die einen Teilnehmer dazu veranlassen,
ein analoges Signal auf den Bus aufzuschalten, damit es der Mikrocontroller
mit seinem ADC weiterverarbeiten kann. Da dieses analoge Signal
aus Gründen
des Dynamikbereichs und der Genauigkeit möglichst den gesamten verfügbaren Eingangsspannungsbereich
des ADC durchlaufen soll und aus einer beliebigen Quelle stammen
kann, sind keine vorherigen Annahmen über die Modulation oder Codierung
des Analogsignals möglich.
Dies macht die Realisierung eines universell anwendbaren Mischsignal – Eindrahtbussystems
zu einem schwierigen Unterfangen, da es nichttrivial ist, beliebige
Analogsignale auf dem Bus von Kommandos oder anderen Steuersignalen
zu unterscheiden.
-
Gelöst wurde
dieses Problem in [10] durch eine realistische und praxisgerechte
Annahme über die
Bandbreite und die Flankensteilheit der Analogsignale, die sich
aus dem Abtasttheorem und der maximalen Taktrate des ADC ergibt.
In den Teilnehmern werden Stromdetektoren und Flankendetektoren
benutzt, um das Ende der Analogsignalverarbeitung festzustellen,
und den Betriebszustand des Bus im Sinne eines Busprotokolls fortzuschalten.
-
Benennungen
einiger Betriebszustände sind:
Kommandomodus, Analoglesemodus, Digitallesemodus, Quittungsmodus,
Schlafmodus, Kompatibilitätsmodus
sowie jeweils ein Leerlaufmodus für den Analoglesemodus und den
Digitallesemodus. Dies sind zweckmäßig verkürzte Begriffe aus [10].
-
Im
Kommandomodus treiben die Teilnehmer den Bus auf einen Kommandospannungspegel,
der zwischen den beiden durch die Versorgungsspannung liegenden
Grenzen liegt, vorzugweise auf die Mitte der Versorgungsspannung.
Kommandobits werden vom Wirt ausgegeben, indem er seinen Ausgangstreiber
aktiviert und benutzt, um den Bus entweder gegen die positive Versorgungsschiene
zu treiben oder gegen die negative Versorgungsschiene. Dies erlaubt
die Codierung der beiden logischen Zustände für 1 und 0. Die Treiber in den
Teilnehmern verfügen über eine
Strombegrenzung, so dass dabei keine zu grossen Ströme fliessen,
sowie über
Mittel zur Detektion des Stroms, aus denen auch die Kommandoinformation
abgeleitet wird. Ein Takt für
die Kommandobits entsteht, wenn der Wirt seinen Treiber deaktiviert
und der Strom erlischt. Wenn alle Kommandobits eingegangen sind,
werden diese decodiert und es erfolgt ein Übergang des Betriebszustands
in den Analoglesemodus, den Digitallesemodus, den Schlafmodus, oder
bei nicht selektieren Teilnehmern in einen der beiden Leerlaufmodi.
Kann das Kommando jedoch sofort ausgeführt werden, so dass alle Teilnehmer
für das
nächste
Kommando bereit sind, dann bleibt die Ablaufsteuerung der Teilnehmer
im Kommandomodus.
-
Im
Analoglesemodus beginnt der selektierte Teilnehmer das Analogsignal
auf den Bus zu treiben. Nichtselektierte Teilnehmer befinden sich
dabei im Analogsignal – Leerlaufmodus
und beobachten den Bus passiv, um das Ende des Analoglesemodus zu erkennen.
Dies wird vom Wirt ausgelöst,
indem er seine Treiber aktiviert und gegen das Analogsignal treibt,
so dass wiederum eine Strombegrenzung in dem selektierten Teilnehmer
anspricht und dieser den Quittungmodus betritt. Im Quittungmodus
gibt der Teilnehmer einen fest vorgegebenen digitalen Pegel auf
dem Bus aus, an dem der Wirt feststellen kann, ob sein Abbruch des
Analoglesemodus erfolgreich war. Hierzu läßt er den Bus los („float"), d.h. er deaktiviert
seinen Treiber, und prüft
dann nach, ob der für
das Quittungssignal vorgegebene Pegel anliegt und sich von dem zuletzt
digitalisierten Analogsignal hinreichend unterscheidet. Der Wirt
treibt nun einmalig gegen das Quittungssignal und läßt den Bus dann
los („float"). Dies bewirkt einen Übergang
aller Teilnehmer in den Kommandomodus: der selektierte Teilnehmer
erkennt das über
seinen Stromdetektor, und die im Leerlaufmodus befindlichen Teilnehmer erkennen
es an einer schnellen Flanke auf dem Bus, die von einem Flankendetektor
festgestellt wird, gefolgt von einem längeren Anliegen des Kommandospannungspegels,
was mittels Komparatoren und Zeitgliedern erkannt werden kann.
-
Diese
beiden Modi, Kommandomodus und Analoglesemodus, sind für eine Minimalimplementierung
des erfindungsgemäßen Bussystems
ausreichend. Zusätzliche
Modi können
seine Nützlichkeit jedoch erhöhen:
Im
Digitallesemodus können
digitale Daten aus den Teilnehmern ausgelesen werden. Der selektierte
Teilnehmer treibt die digitale Information bitweise mit vollem digitalen
Signalhub auf den Bus. Hierzu wird ein strombegrenzter Treiber benutzt.
Nach dem Empfang eines Bits treibt der Wirt dagegen und läßt den Bus
dann wieder los, um zum nächsten
Bit fortzuschalten. Nachdem das letzte Bit gelesen wurde, schaltet
der selektierte Teilnehmer wieder in den Kommandoempfangsmodus und
beginnt, den Kommandospannungspegel auf den Bus zu treiben. Diesen
können
die nicht selektierten und in einem Leerlaufmodus befindlichen Teilnehmer
durch Pegeldetektoren erkennen, worauf sie ebenfalls in den Kommandoempfangsmodus
gehen.
-
Im
Schlafmodus treibt der Wirt den Bus auf einen frei programmierbaren
Schlafzustand, entweder digital '0' oder digital '1'. Alle Treiber in den schlafenden Teilnehmern
sind ausgeschaltet, und ihre Schaltkreise können auf minimalen Stromverbrauch konfiguriert
sein. Ändert
der Wirt den Zustand am Bus, dann wachen die Teilnehmer auf und
gehen wieder in den Kommandomodus.
-
Im
Kompatibilitätsmodus
zählen
die Teilnehmer, wie oft der Wirt den Bus treibt und anschliessend
wieder loslässt
(Busfloat). Nach Erreichen eines frei programmierbaren Zählerstandes
gehen sie wieder in den Kommandomodus. Dieses Verfahren erlaubt
den Anschluss herkömmlicher
integrierter Schaltungen an den Bus, die dann freilich über ein zusätzliches
externes Selektionssignal verfügen müssen, mit
dem sie vom Bus getrennt werden können.
-
AUFGABEN DER ERFINDUNG
-
Es
ist eine erste Aufgabe der Erfindung, Verfahren zum Rücksetzen
von Teilnehmern in einem Mischsignal – Eindrahtbussystem anzugeben,
das zu allen Betriebszuständen
des Bussystems kompatibel ist.
-
Es
ist ein zweite Aufgabe der Erfindung, Mittel zur Implementierung
des Rücksetzverfahrens
anzugeben.
-
Es
ist eine dritte Aufgabe der Erfindung, ein Verfahren anzugeben,
mit dem es gelingt, die Zahl der Zweige des Mischsignal – Eindrahtbussystems und
damit die Zahl der daran anschließbaren Teilnehmer zu erhöhen.
-
Es
ist eine vierte Aufgabe der Erfindung, ein Verfahren für die Befehlsweitergabe
in einem Mischsignal – Eindrahtbussystem
anzugeben, das bei vielen Teilnehmern besonders geeignet ist.
-
Es
ist eine fünfte
Aufgabe der Erfindung, Verfahren vorzusehen, um das Mischsignal – Eindrahtbussystem
abhängig
von der Zahl der an einen Zweig angeschlossenen Teilnehmer jeweils
auf optimale Betriebsbedingungen programmieren zu können.
-
Es
ist eine sechste Aufgabe der Erfindung, ein Verfahren anzugeben,
mit dem Störungen
der Kommandoübermittlung
in einem Mischsignal – Eindrahtbussystem
erkannt und gemeldet werden können.
-
Es
ist eine siebte Aufgabe der Erfindung, ein Verfahren anzugeben,
mit dem es gelingt, das Mischsignal – Eindrahtbussystem als programmierbares Verteilernetzwerk
für analoge
Signale zu benutzen.
-
Es
ist eine achte Aufgabe der Erfindung, integrierte Schaltungen zu
beschreiben, mit denen die Verfahren für das Mischsignal – Eindrahtbussystem durchgeführt werden
können.
-
Diese
Aufgaben ähneln
zwar im Prinzip jenen Aufgaben, wie sie bei rein digitalen Eindrahtbus- oder
Netzwerksystemen, beispielweise beim sogenannten Ethernet, ebenfalls
anzutreffen sind, allerdings ist die Lösung sehr viel schwieriger
und nicht offensichtlich, da auf dem Bus nicht nur digitale Signale,
sondern auch weitgehend beliebige analoge Signale anzutreffen sind,
die keiner vorher bestimmten Modulation oder Codierung unterworfen
sind, und die daher aus der Sicht der Teilnehmer am Bus eine eher zufällige Natur
haben.
-
KURZBESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNG DER
ERFINDUNG
-
Entsprechend
der vorliegenden Erfindung wird ein Mischsignal – Eindrahtbussystem offenbart, 1,
das aus einem Wirt (21) besteht, der mit dem Hauptzweig
(19) des Bus verbunden ist, und mit Teilnehmern (1, 32),
die mit dem Hauptzweig (19) oder Nebenzweigen (29)
des Bus verbunden sind, wobei Nebenzweige dadurch gebildet werden,
indem an einen Haupt- oder Nebenzweig statt gewöhnlicher Teilnehmer ein spezielle
Art von Teilnehmer geschaltet wird, dessen Aufgabe es ist, als Koppelelement
(32) zu wirken, das eine programmierbare Verbindung zwischen
einem ranghöheren
Zweig und einem rangniedrigeren Zweig des Mischsignal – Eindrahtbussystems
herstellt. Ranghöhere
Zweige sind dabei jene, die näher
am Wirt liegen.
-
Diese
Koppelelemente, 2, in digitalen Netzwerksystemen
oft auch „Hub" genannt, kennen das
Busprotokoll und leiten die vom Wirt stammenden Kommandos und Rücksetzsignale
von ranghöheren
Zweigen (30) auf rangniedrigere Zweige (31) weiter.
Sobald ein Teilnehmer selektiert ist, leiten sie die vom Teilnehmer
auf den rangniedrigeren Zweig (31) getriebenen analogen
Signale oder digitalen Daten auf den ranghöheren Zweig (30) weiter.
Im Analoglesemodus dient hierzu ein niederohmiger Analogschalter
(36), so dass das Analogsignal nicht verfälscht wird,
insbesondere nicht durch einen Offsetfehler, den ein Trennverstärker mit
sich bringen würde.
Im Digitallesemodus werden die digitalen Daten durch Treiber (37)
regeneriert, die das Gegentreiben durch den Wirt erkennen können und
dieses über weitere
Treiber (38) auf den rangniedrigeren Zweig weiterreichen.
Die Treiber (38) und Analogschalter (36) sind
dabei einzeln steuerbar, so dass einer der rangniedrigeren Zweige
ausgewählt
werden kann. In den eventuell vorhandenen weiteren Betriebsmodi des
Mischsignal – Bussystems
wird sinngemäß verfahren.
-
In
einem derartigen Bussystem entsteht durch die Einführung von
Koppelelementen zunächst eine
baumartige Netzwerktopologie. Bei einem Mischsignal – Eindrahtbussystem
der beschriebenen Art können
jedoch wie in der 1 gezeigt jederzeit durch Umgehungsverbindungen
(41) zwischen rangniedrigeren Zweigen und Teilnehmern höheren Rangs
abgekürzte
Pfade für
Signale geschaffen werden. Umgehen diese Abkürzungen ein Koppelelement (Pfad 41 von
F nach B umgeht E), kann der Baum zu Netzwerken allgemeinerer Topologie
umgewandelt werden, bei denen einzelne Zweige in einen autonomen
Modus geschaltet werden können,
bei dem sie vom Rest des Bus vorübergehend
getrennt sind. Beispielsweise könnte
Teilnehmer C autonome analoge Signale (42) an Teilnehmer
D liefern (bis Koppelelement B dies durch Gegentreiben beendet), während der
für das
autonome analoge Signal benötigte
Zweig über
einen weiteren Anschluss des Koppelements B umgangen wird, so dass
der Wirt auch weiterhin auf Teilnehmer F, G, H zugreifen kann. Auf diese
Weise kann das Netzwerk mehrere verschiedene analoge Signale gleichzeitig
transportieren, und es können
defekte (blockierte) Zweige des Netzwerks umgangen werden. Die Netzwerktopologie
ist dabei aufgrund der Möglichkeit
von Umgehungsverbindungen (41) über Zweige hinweg je nach Anwendung
weitgehend frei wählbar.
-
Für die größtmögliche Robustheit
eines solchen Mischsignal – Eindrahtbussystems
ist es notwendig, über
Verfahren zur Fehlererkennung, Fehlermeldung, und Rücksetzung
aller Teilnehmer in einen definierten Anfangszustand zu verfügen.
-
Vorzugsweise
wird die Fehlererkennung durch eine Absicherung der Kommandos mit
Prüfsummen
erreicht. Stimmt die Prüfsumme
nicht überein,
dann wird das betroffene (gestörte)
Kommando von den Teilnehmern nicht ausgeführt, sondern es wird von ihnen
ein Fehlersignal auf den Bus ausgegeben, das es dem Wirt erlaubt,
das Vorliegen eines Kommandofehlers zu erkennen. Der Wirt führt daraufhin
das Rücksetzverfahren
durch, um die Teilnehmer wieder in einen definierten Anfangszustand
zu versetzen. Es ist vorteilhaft, wenn die selektierten Teilnehmer über eine
Variante des digitalen Lesemodus verfügen, bei dem der Teilnehmer
eine fest vorgegebene Identifikationsinformation als digitale Daten
liefert. Auf diese Weise kann der Wirt prüfen, ob alle Teilnehmer erreichbar
und korrekt initialisiert sind, und er kann blockierte (beispielsweise
kurzgeschlossene) Zweige des Bus feststellen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
beispielhaft eine mögliche
Topologie des erfindungsgemäßen Bussystems.
-
2 zeigt
beispielhaft und stark vereinfacht das Innenleben eines Koppelelementes.
-
3 zeigt
beispielhaft eine erste Variante des Rücksetzverfahrens und seine
Spannungsverläufe
am Bus.
-
4 zeigt
beispielhaft eine zweite Variante des Rücksetzverfahrens und seine
Spannungsverläufe
am Bus.
-
5 zeigt
ein Realisierungsbeispiel für Schaltmittel,
die für
die zweite Variante des Rücksetzverfahrens
erforderlich sind.
-
6 zeigt
ein Beispiel für
die Encodierung eines Befehlssatzes für Teilnehmer und Koppelelemente.
-
7 zeigt
beispielhaft eine vom Wirt ausgegebene Kommandofolge und die dadurch
entstehenden Spannungsverläufe
auf den Zweigen des Bus vor und nach einem Koppelelement.
-
8 zeigt
ein Realisierungsbeispiel für
die notwendigen Schaltmittel in einem integrierten Schaltkreis,
der als Teilnehmer am Bus angeschlossen werden kann.
-
9 zeigt
ein Realisierungsbeispiel für
die notwendigen Schaltmittel in einem integrierten Schaltkreis,
der als Koppelelement am Bus angeschlossen werden kann.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Die
zahlreichen innovativen Lehren der vorliegenden Patentanmeldung
werden unter besonderem Bezug auf die derzeit bevorzugte Verkörperung beschrieben
werden. Jedoch soll verständlich
sein, daß diese
Klasse von Verkörperungen
nur einige wenige Beispiele der vielen vorteilhaften Anwendungen der
darin enthaltenen innovativen Lehren geben kann. Generell beschränken Aussagen,
die in der Spezifikation der vorliegenden Patentanmeldung gemacht
werden, nicht notwendigerweise irgendeine der mannigfaltigen beanspruchten
Erfindungen. Zudem können
manche Aussagen auf einige der innovativen charakteristischen Merkmale
zutreffen, aber nicht auf andere.
-
Neuartige Rücksetzverfahren
-
Wie
schon aus der obigen Kurzbeschreibung einer bevorzugten Ausführung der
Erfindung ersichtlich ist, ist der wichtigste Punkt die Verfügbarkeit
eines Verfahrens zum Rücksetzen
aller Teilnehmer des Mischsignal – Eindrahtbussystems, das jederzeit wirksam
ist, also in jedem Betriebszustand des Bus funktioniert, auch dann,
wenn einzelne Teilnehmer einen vom Soll abweichenden Zustand haben,
und auch dann, wenn Koppelelemente vorhanden sind.
-
Hierbei
stellt vor allem die analoge Natur des Bussystems eine grosse Herausforderung
dar, denn die analogen Signale, die sich im Analoglesemodus auf
dem Bus befinden, sollen niemals in der Lage sein, Teilnehmern ein
Rücksetzkommando
vorzutäuschen.
Gleiches gilt natürlich
auch für
den digitalen Lesemodus und alle anderen Betriebszustände des Bus.
Zu Berücksichtigen
ist dabei auch, dass sich nach einer massiven Störung jeder Teilnehmer in einem
anderen Betriebszustand befinden kann, manche im Analoglesemodus,
manche im Digitallesemodus, manche wiederum könnten glauben, gerade in der
Mitte des Empfangs eines Kommandoworts zu sein, weil ihre Zustandmaschinen
und Bitzähler durch
die Störung
auf beliebige Werte gesetzt worden sein können. Von einem Rücksetzverfahren
ist zu fordern, dass es auch ein derartig durcheinander geratenes
Mischsignal – Eindrahtbussystem
in einen eindeutigen Anfangszustand versetzen kann.
-
Ist
wie bei der ursprünglichen
Erfindung [10] noch kein derartiges Verfahren bekannt, dann muss das
betroffene Gerät
nach einer Störung
aus- und wieder eingeschaltet werden, wobei dann eine sogenannte
Power – an – Reset – Schaltung
(POR), die nach dem Stand der Technik eine jede sequentielle Schaltung
ohne eigenen Resetanschluss haben sollte, den eindeutigen Anfangszustand
herstellt. Diese Vorgehensweise ist gewöhnlich nur für billige
Anwendungen aus dem Consumerbereich tragbar. Für industrielle oder automobile
Anwendungen muss das Bussystem jederzeit rücksetzbar sein, ohne dass dazu
seine Stromversorgung unterbrochen wird.
-
Das
neuartige Verfahren zum Rücksetzen
eines Mischsignal – Eindrahtbussystems
ist durch zwei wesentliche Schritte („Step 1", „Step
2" in den 3 und 4)
gekennzeichnet:
Im ersten Schritt bringt der Wirt alle Teilnehmer
aus einem etwaigen Analoglesemodus oder Digitallesemodus heraus,
indem er seine Ausgangstreiber (27), (28) abwechselnd
aktiviert, ohne den Bus zwischendurch loszulassen. Auf dem Bus entsteht
dadurch eine Folge von Impulsen mit grossem Hub zwischen den durch
die Versorgungsspannung vorgegebenen Maxima. Aufgrund der geforderten
Strombegrenzung der Treiber aller Teilnehmer auf einen zweckmäßigen Wert – beispielsweise
1 Milliampere – gelingt
dies den gewöhnlich
starken digitalen Treibern des Wirts auch dann, wenn mehrere Teilnehmer
auf dem Bus gleichzeitig analoge oder digitale Signale treiben, was
im Normalbetrieb nicht vorkommt, wohl aber nach einer Störung vorkommen
könnte.
Die Zahl der für
den ersten Schritt erforderlichen Impulse ergibt sich aus der maximalen
Zahl der Datenbits im Digitallesemodus, die innerhalb der Ablaufsteuerung
des Busprotokolls begrenzt werden muss. Bei einem praxisgerechten
Wert von beispielsweise 4 Bytes wird der digitale Lesemodus unabhängig von
den gelesenen Daten nach 4·8
= 32 Signalflanken beendet sein, da jede Signalflanke sowohl von
einem Zustand „0” als auch
einem Zustand „1” begrenzt
wird und somit unabhängig
vom Zustand des gerade getriebenen Bits einen Bittakt auslöst. Wenn
das Bussystem in seiner Minimalform ohne einen Digitallesemodus realisiert
wurde, dann genügt
eine geringere Zahl von Impulsen, um einen möglicherweise vorliegenden analogen
Lesemodus zu beenden und den Quittungsmodus zu durchlaufen. Je nach
Auslegung des Busprotokolls sind dazu typischerweise etwa drei bis vier
Signalflanken erforderlich.
-
Nach
der Durchführung
des ersten Schritts befinden sich mit Sicherheit keine Teilnehmer
mehr im Digitallesemodus und auch nicht im Analoglesemodus oder
Quittungsmodus, da die Impulsfolge bei hinreichender Geschwindigkeit
in jedem Fall gegen jedes denkbare Analogsignal gegentreibt und
nicht nur den Analoglesemodus beendet, sondern auch den Quittungsmodus
durchläuft.
Es befindet sich auch kein Teilnehmer mehr im Schlafmodus, da beide
digitalen Zustände
und damit der Aufweckzustand vorlagen. Allerdings könnten sich
einige der Teilnehmer immer noch in der Endphase eines der beiden Leerlaufmodi
befinden, oder im Kommandomodus oder Kompatibilitätsmodus,
wobei zugehörige
interne Zählerstände noch
immer undefiniert sein könnten.
-
Im
zweiten Schritt wird ein etwaig noch vorhandener Kompatibilitätsmodus
oder Leerlaufmodus beendet und es wird der Kommandomodus mit definiertem
Bitzählerstand
hergestellt. Hierzu gibt es zwei grundsätzlich verschiedene Lösungen:
In
einer ersten Variante, 3, gibt der Wirt eine Folge
von Kommandobits aus, in der für
das System normalen Weise, indem er beispielsweise für eine „0" sein negatives Ausgangstreiberelement
(28) aktiviert und dann wieder deaktiviert, um den Bus
loszulassen, und indem er für
eine „1" sein positives Ausgangstreiberelement
(27) aktiviert und dann wieder deaktiviert. Aufgrund des
noch unbekannten Zählerstandes
des internen Bitzählers
muss unbedingt verhindert werden, dass die so gegebenen Kommandos ausgeführt werden.
Dies gelingt beispielsweise durch die Vereinbarung, dass auf eine
Folge von Kommandobits ein „1" – Bit kommen muss, um die Kommandodecodierung
und Ausführung
einzuleiten, andernfalls wird das Schieberegister, das die seriellen
Kommandobits sammelt, einfach weitergetaktet. Dann ist es dem Wirt
möglich,
eine Folge von „0" – Bits zu senden, die lang
genug ist, um das Schieberegister in jeden Fall auf Null zu bringen.
Wenn nun die weitere Vereinbarung gilt, dass ein Kommandowort, das
ausschliesslich aus Nullen besteht, eine Leeroperation bedeutet,
die einfach ignoriert wird, und den Bitzähler rücksetzt, dann wird nach dem „1" – Bit das nächste Kommandobit bei Zählerstand
Null eingelesen und die Bitzähler
aller Teilnehmer laufen nun synchron.
-
Wird
der Zähler
für die
Busfloats im Kompatibilitätsmodus
ebenfalls in seiner Breite beschränkt, dann bewirkt eine hinreichend
lange Folge von „0" – Kommandobits, die länger ist
als der maximale Zählerstand,
dass der Kompatibilitätsmodus
ebenfalls verlassen und der Kommandomodus betreten wird. Wird der
Bitzähler
für das
Kommandowort beim Betreten des Kommandomodus rückgesetzt, dann genügt eine
Folge von „0" – Kommandobits, deren Länge das
Maximum der Anzahl der Bits im Kommandowort und dem größtmöglichen
Zählerstand
des Zählers
für den
Kompatibilitätsmodus
ist, um das Ziel des zweiten Schrittes des Rücksetzverfahrens zu erreichen.
-
Diese
erste Variante des Rücksetzverfahrens
kann ohne grossen Mehraufwand in einem integrierten Schaltkreis
gemäß der Lehre
der vorigen Erfindung [10] hinzugefügt werden, allerdings hat es auch
Nachteile: Der oben beschriebene Ablauf geht zwar davon aus, dass
die Zustandsmaschinen von Teilnehmern am Bus vor der Durchführung des
Rücksetzverfahrens
in beliebigen, unterschiedlichen Zuständen sind, jedoch müssen diese
Zustände
einen gültigen
Zustand repräsentieren,
der auch im normalen Betrieb, also ohne Störung, angefahren werden kann.
Es ist nun zwar bekannt, wie Zustandsmaschinen so ausgelegt werden
können,
dass unerlaubte Zustände
bei einem nächsten
Takt zum Übergang
in einen erlaubten Zustand führen,
in einem so komplexen System wie diesem kann es jedoch gerade beim Einsatz
von Logiksynthese aus einer höheren
Beschreibungsebene (wie etwa VHDL oder Verilog) sehr schwierig sein
sicherzustellen, dass die Zustandscodierungen und die synthetisierte
Logik in jedem Fall (und jedem denkbaren Störzustand) die Treiber und Stromdetektoren
so steuert, dass aus den Bemühungen
des Wirts überhaupt
ein Takt entsteht. Denn ohne einen solchen Takt bleiben die Zustandsmaschinen
in einem nach einer Störung
eventuell vorhandenen unerlaubten Zustand, der eine Takterzeugung
verhindert, und dieser „Deadlock" wäre dann
wieder nur durch Aus- und Einschalten der Stromversorgung und einem
POR zu beheben. Allerdings ist es sehr wohl möglich, durch sorgfältige Auslegung
aller Zustandsmaschinen und Zustandscodierungen per Hand zu einer
sicher funktionierenden Lösung
gemäß der ersten
Variante zu kommen, es darf nur keine Kombination von Zuständen geben,
bei dem alle Taktgeneratoren und die zugehörigen Stromdetektoren abgeschaltet
sind.
-
Eine
für den
automatisierten Entwurf geeignetere zweite, besonders vorteilhafte
Variante des Rücksetzverfahrens, 4,
entkoppelt die für
das Rücksetzen
erforderliche Logik völlig
von der Logik des Busprotokolls.
-
Der
erste Schritt bleibt dabei gleich, allerdings zählen die Teilnehmer die schnellen
Signalflanken der Impulsfolge jeweils in einem eigenen Zähler mit.
Am Ende des ersten Schritts liegt ein Zählerstand vor, der die maximale
Zahl der Datenbits des Digitallesemodus erreicht oder überschreitet,
da der Anfangszustand des Zählers
unbekannt ist. Wie schon oben dargestellt wurde, ist dann sowohl
der Analoglesemodus als auch der Digitallesemodus beendet, sofern
das Schaltwerk für
das Busprotokoll nicht in einem Deadlock hängt, was jedoch für den Flankenzähler selbst
nicht hinderlich ist.
-
Der
zweite Schritt besteht nun darin, dass weitere vom Wirt ausgegebene
Impulsfolgen den Zählerstand
des Flankenzählers über die
maximale Zahl der Datenbits des Digitallesemodus hinaus erhöhen, bevorzugt
weit darüber
hinaus, so dass auch dann, wenn während dem regulären digitalen
Lesemodus Glitch – Impulse
auf dem Bus auftreten würden,
ein entsprechend hoher Zählerstand
nicht erreicht werden kann. Ein hinreichend hoher Zählerstand
aktiviert nun ein Resetsignal innerhalb der Teilnehmer, das auf
alle für
das Busprotokoll nötigen Schaltwerke
und internen Register wirkt, ausser auf den Flankenzähler selbst.
Vorzugsweise ist der Rücksetzzustand
der Kommandomodus, jedoch bleiben die Treiber für die Kommandospannung noch deaktiviert,
solange das Resetsignal aktiv ist. Der Wirt fährt nun unbeirrt mit dem Treiben
der Impulsfolge fort, und auch der Flankenzähler zählt weiter hoch, bespielsweise
zwei weitere Flanken, bevor er sich selber rücksetzt und das Resetsignal
beendet. Dies stellt eine hinreichende Breite des Resetsignals sicher.
Es sei angemerkt, dass abhängig
von der Vorgeschichte und dem Ausmass einer eventuellen Störung die
einzelnen Teilnehmer ihr Resetsignal durchaus zu verschiedenen Zeitpunkten
bekommen können,
da die Flankenzähler
selbst auch gestört
sein können.
Ist die Gesamtzahl der schnellen Flanken, die der Wirt im ersten
und im zweiten Schritt ausgibt, jedoch größer als der maximale Zählerstand
des Flankenzählers,
bei dem sich dieser selbst rücksetzt, dann
ist sicher, dass jeder Teilnehmer am Bus ein internes Resetsignal
erlebt hat, und sich im Kommandomodus befindet. Nun ist es – wie bei
den Grundlagen bereits beschrieben wurde – eine Eigenschaft der Takterzeugung
im Kommandomodus, dass ein Bittakt nur dann erzeugt wird, wenn der
Wirt den Bus loslä8t.
Eine überzählige Zahl
von schnellen Flanken, die noch zum zweiten Schritt der Resetimpulsfolge gehören, werden
daher nicht als Kommandobits interpretiert. Erst nach dem zweiten
Schritt dieser zweiten Variante des Rücksetzverfahrens wird vom Wirt das
erste Kommandobit gegeben: ist das erste Kommandobit beispielsweise
eine „0", dann beendet der Wirt
das Treiben der Resetimpulsfolge, wenn er gerade sein negatives
Ausgangstreiberelement (28) aktiviert hatte, ist das erste
Kommandobit jedoch eine „1", dann beendet der
Wirt das Treiben der Resetimpulsfolge, wenn er gerade sein positives
Ausgangstreiberelement (27) aktiviert hatte. Um zu verhindern, dass
sich im regulären
Betrieb schnelle Signalflanken im Flankenzähler akkumulieren und zum Auslösen des
Resetsignals führen,
wird der Flankenzähler rückgesetzt,
sobald der Kommandospannungspegel für längere Zeit anliegt, als es
bei gewöhnlichen
Signalwechseln der Fall ist. Diese Ansprechzeit eines Kommandospannungsdetektors
kann recht kurz bemessen sein (ein bis zwei Mikrosekunden genügen) und
ist vom Wirt zwischen den Kommandos einzuhalten.
-
Mittel zur Implementierung
des bevorzugten Rücksetzverfahrens
-
In
der 5 werden beispielhaft die für das besonders vorteilhafte
Rücksetzverfahren
notwendigen Schaltmittel innerhalb der Teilnehmer dargestellt.
-
Eingangsseitig
befinden sich zwei an die Busleitung (19) angeschlossene
Komparatoren (40), welche die Spannung an der Busleitung
mit zwei Schwellenspannungen (VH, VL) vergleichen, die vorzugsweise
bei einem bzw. zwei Dritteln der Versorgungsspannung liegen. Der
Ausgang des mit VL verbundenen Komparators wird log. 1, sobald die
Spannung am Bus unterhalb von VL liegt. Der Ausgang des mit VH verbundenen
Komparators wird log. 1, sobald die Spannung am Bus oberhalb von
VH liegt. Sobald einer der beiden Ausgänge log. 1 ist, wird der Kondensator
(C) des Kommandospannungsdetektors (44) über eine
der Dioden D1, D2 rasch aufgeladen, und das Ausgangssignal LOGU
des invertierenden Schmitt – Triggers
(64) geht auf log. 0, was bedeutet, dass ein gültiger Logikpegel,
nicht aber die Kommandospannung auf dem Bus anliegt. Sind beide
Ausgänge
der Komparatoren log. 0, dann wird der Kondensator (C) über den
dazu parallel geschalteten Widerstand (R) entladen, und nach einer
gewissen Zeitkonstante wird das Signal LOGU log. 1, was bedeutet,
dass die Kommandospannung für
eine gewisse Mindestzeitdauer am Bus anliegt. Dies setzt über das
Oder-Gatter (49) und den Rücksetzeingang (50) den
Flankenzähler
(46) zurück.
Aus den Komparatorausgängen
wird über
Verzögerungselemente
(43) und eine daran angeschlossene Logik (45)
das Signal FEDGE gebildet, das bei einer schnellen Flanke am Bus
(19) einen Impuls aufweist, mit dem der Flankenzähler (46) über seinen
Takteingang (51) hochgezählt wird. Flanken, welche die
Zone zwischen VL und VH langsamer durchlaufen als die Summe der Ansprechverzögerungen
der Komparatoren und die Verzögerungszeit
der Verzögerungselemente,
führen nicht
zu einem FEDGE – Impuls.
Der Dekoder (47) liefert ab einem bestimmten Zählerstand
das Rücksetzsignal
RESET für
die Schaltwerke des Teilnehmers. Ein nochmals um einige Zählschritte
erhöhter Zählerstand
wird ebenfalls dekodiert und setzt schliesslich über eine Signalleitung (48)
den Flankenzähler
selbst zurück.
Die Signale FEDGE und LOGU sind zudem auch für die Erkennung bestimmter
Betriebszustände
des Bus nützlich.
Falls der Kommandospannungstreiber nicht über eine eigene Stromerkennung
verfügt,
können
die Komparatorausgänge
im Kommandoempfangsmodus zur Erkennung der Kommandobits benutzt
werden.
-
Verfahren zur Erhöhung der
an den Bus anschließbaren
Teilnehmer
-
In
dem erfindungsgemäßen Mischsignal – Eindrahtbussystem
wird das Konzept des Gegentreibens benutzt, um Steuersignale vom
Wirt an die Teilnehmer zu senden. Dies bedingt eine Strombegrenzung
innerhalb der Treiber der Teilnehmer, und bringt zudem die Forderung
mit sich, dass die Treiber des Wirts in jeder Situation stärker sind
als alle Teilnehmer zusammen, da störungsbedingt mehrere (im schlimmsten
Fall: alle) Teilnehmer ihre Treiber gleichzeitig aktivieren könnten. Bei
praktischen Realisierungen des Bussystems ergibt sich daraus beispielsweise
eine Limitierung auf etwa vier am Bus angeschlossene Teilnehmer.
Nun sind aber Anwendungen denkbar, bei denen eine grössere Zahl
von Teilnehmern an den Bus angeschlossen werden soll. Die naheliegende
Lösung,
die Treiber dieser Teilnehmer dann eben schwächer auszulegen, so dass ihre Strombegrenzung
bei kleineren Strömen
einsetzt, oder die Begrenzung programmierbar zu machen, führt jedoch
vor allem bei grösseren
Teilnehmerzahlen rasch zu schwächlichen
Signalen, reduzierter Signalbandbreite und niedrigen Datenübertragungsraten
auf dem Bus.
-
Eine
bessere und daher bevorzugte Lösung ist
die Verwendung von neuartigen Koppelelementen, mit denen Teilnehmer
zu Mischsignal Netzwerken verschaltet werden können. Herkömmliche Koppelelemente sind
aus der digitalen Netzwerktechnik bekannt und werden dort oft als „Hubs" bezeichnet. Diese
Hubs interpretieren einen digitalen Datenstrom, entnehmen ihm Addressinformationen,
und reichen die digitalen Daten bidirektional zwischen einem Hauptzweig
und mehreren adressierbaren Nebenzweigen eines digitalen Netzwerks
hin und her.
-
Die
neuartigen Koppelelemente für
Mischsignal – Eindrahtnetzwerke
verwenden ähnliche
Konzepte, sie haben aber zudem die Fähigkeit, im Analoglesemodus
analoge Signalspannungen unverfälscht
zwischen Hauptzweigen und Nebenzweigen des Bus zu vermitteln und
in den diversen Betriebsmodi des Bus auch die durch Gegentreiben
des Wirts erzeugten Kommando- und Steuersignale, die letztlich Stromsignale
sind, zu erkennen und verstärkt weiterzugeben.
-
1 zeigt
beispielhaft, wie neuartige Koppelelemente (32) zusammen
mit gewöhnlichen
Teilnehmern (1) und einem Wirt (21) zu einem hierarchisch
aufgebauten Mischsignal – Eindrahtnetzwerk verschaltet
werden können.
Beispielsweise ist hier die ranghöhere Pforte des Koppelelementes
B mit dem Hauptzweig (19) des Bus verbunden, und seine rangniedrigen
Pforten sind mit Nebenzweigen (29) des Bus verbunden.
-
Das
Verfahren zur Erhöhung
der an den Bus schliessbaren Teilnehmer besteht aus mehreren Teilen:
Der
erste Teil ist die Verschaltung des Wirts mit Teilnehmern und Koppelelementen
zu einem Mischsignal – Eindrahtnetzwerk,
wobei der Unterschied zu rein digitalen Netzwerken des bekannten
Standes der Technik darin besteht, dass auf den Zweigen des Mischsignal – Eindrahtnetzwerks
je nach Betriebszustand nicht nur digitale Signalspannungen, sondern auch
analoge Signalspannungen vorhanden sind, und dass diese durch Ströme gesteuert
werden, die durch Gegentreiben des Wirts verursacht werden, so dass
die neuartigen Koppelelemente sowohl beliebige Spannungssignale
als auch bestimmte Stromsignale erkennen und zwischen ihren Pforten
weitergeben müssen,
was bei rein digitalen Netzwerken nicht vorkommt.
-
Der
zweite Teil des Verfahrens dient zur Adressierung von einzelnen
Teilnehmern innerhalb des Mischsignal – Eindrahtnetzwerks.
-
Der
dritte Teil des Verfahrens offenbart, welche Abläufe innerhalb der Koppelelemente
stattfinden. Dieser Teil wird weiter unten im Text am Beispiel einer
integrierten Schaltung, die ein geeignetes Koppelelement realisiert,
beschrieben.
-
Der
erste Teil des Verfahrens ist dadurch gekennzeichnet, dass der Busanschlusspin
des Wirts an den Hauptzweig (19) des Mischsignal – Eindrahtbussystems
angeschlossen wird, an den wiederum mindestens der erste Anschlussgin
eines Koppelelements angeschlossen wird, das über mindestens einen zweiten
Anschlussgin verfügt,
an den ein Nebenzweig (29) des Mischsignal – Eindrahtbussystems angeschlossen
wird. Ein Koppelelement kann auch über dritte und weitere Anschlussgins
weitere Nebenzweige ableiten. Mindestens ein Teilnehmer wird an
den Nebenzweig angeschlossen. Weitere Teilnehmer können an
den Hauptzweig oder an Nebenzweige angeschlossen sein. Aus der Sicht
des Koppelelementes ist der Hauptzweig der ranghöhere Zweig und der (oder die)
Nebenzweig(e) der rangniederigere Zweig. Der Rang eines Zweigs im
Netzwerk sinkt mit der Entfernung zum Wirt, und mit der Zahl der Koppelemente,
die ein analoges Signal passieren muss, bis es vom Teilnehmer zum
Wirt gelangt.
-
Der
zweite Teil des Verfahrens dient zur Adressierung der Teilnehmer
im Netzwerk. Hierzu ist es zweckmäßig, die Codierung des Befehlssatzes und
deren Zusammenwirken mit dem aus der vorigen Erfindung [10] bekannten
Adressierungsmethode mit Adressmasken näher zu betrachten. Als besonders vorteilhaft
hat sich inzwischen ein Befehlssatz herausgestellt, 6,
der über
zwei Adressmaskenbits AMA1, AMA0 und zwei Adressbits ADR1, ADR0
verfügt,
sowie über
vier weitere Bits zur Festlegung der Operation auf dem Bus, mit
denen beispielsweise der Analoglesemodus oder der Digitallesemodus
ausgewählt
werden kann. Gefolgt werden diese acht Kommandobits von einem neu eingeführten weiteren
Bit, in der Figur mit EXEC bezeichnet, das angibt, ob Parameter
für die
Operation folgen (EXEC = 0), oder ob der Befehl ausgeführt werden
soll (EXEC = 1). Zur Ausgabe eines Kommandos sind somit mindestens neun
Kommandobits nötig:
dies wäre
dann ein Kurzbefehl aus nur einem einzigen Kommandowort ohne daran
angehängte
weitere Kommandoworte als Parameter.
-
Aufgrund
der zwei Adressbits gibt es insgesamt vier Teilnehmeradressen: 00,
01, 10, 11. Die Adressmaskenbits geben an, welche der beiden Adressbits
innerhalb der Teilnehmer mit der jedem Teilnehmer vorgegebenen Kennung
verglichen werden: ein Vergleich findet nur statt, wenn das zugehörige Adressmaskenbit
auf „1" gesetzt ist. Dies
erlaubt es bei kleineren Bussystemen mit nur einem oder zwei Teilnehmern
eine Bestückung
der Baugruppen mit Teilnehmern, die eine nicht ganz exakt zutreffende
Kennung haben, beispielsweise wird bei Adressmaske = 01 nur das
rechte Adressbit verglichen, so dass der erste Teilnehmer eine der
Kennungen 00 oder 10 haben kann, und der zweite Teilnehmer eine der
Kennungen 01 oder 11. Diese Konvention erlaubt es, die Kennungen
von Teilnehmern so zu verteilen, dass für derartige Minimalsysteme
nicht von jedem Teilnehmertyp Varianten mit allen vier möglichen Kennungen
auf Lager gehalten werden müssen.
-
Eine
Sonderrolle haben Kommandos mit Adressmaske 00. Da nun kein Adressvergleich
mehr stattfindet, fühlen
sich alle Teilnehmer angesprochen und führen das Kommando geichzeitig
aus. Dies erlaubt beispielsweise, bestimmte Konfigurationsdaten,
die für
alle Teilnehmer gelten, mit nur einem einzigen Kommando zu übertragen
(„Broadcast” – Kommando).
Kandidaten für
solche Kommandos sind beispielsweise der Schlafmodus und der Kompatibilitätsmodus.
-
Bei
dem erfindungsgemäßen erweiterten Bussystem
mit Koppelelementen und daher mit mehr als vier möglichen
Teilnehmern auf dem Bus muss dieses aus [10] bekannte Adressierungsverfahren
in geeigneter Weise erweitert werden. Dies ist nicht einfach zu
lösen,
da eine schlichte Erweiterung der Zahl der Adressbits nicht rückwärtskompatibel
wäre, und außerdem die
Länge der
Kommandoworte erhöhen würde, was
aus praktischen Überlegungen
unerwünscht
ist.
-
Eine
rückwärtskompatible
Adressierung von Teilnehmern in einem Mischsignal – Eindrahtbussystem
mit Koppelelementen gelingt durch ein neues Adressierungsverfahren,
dadurch gekennzeichnet, dass ein auf einem ranghöheren, ersten Zweig des Bus
gegebenes erstes Kommando ein Koppelelement selektiert, dass auf
das erste Kommando ein zweites Kommando folgt, das einen Teilnehmer
selektiert, der an einen rangniedrigeren, zweiten Zweig des Bus
angeschlossen ist, der aus dem mit dem ersten Kommando selektierten
Koppelelement entspringt, wobei das erste Kommando von dem Koppelelement
und das zweite Kommando von den Teilnehmern so ausgeführt wird,
dass sie auf dem ersten Zweig und dem zweiten Zweig weitgehend zeitgleich denselben
Betriebszustand bewirken, wobei als Betriebszustände mindestens ein Kommandomodus und
ein Analoglesemodus zur Auswahl stehen.
-
Auf
diese Weise führen
die Teilnehmer auf dem ranghöheren
Zweig (vor dem Koppelelement) mit dem ersten Kommandowort für das Koppelelement
ein geringfügig
anderes Kommandowort aus als die Teilnehmer auf dem rangniedrigeren
Zweig (nach dem Koppelelement) mit dem zweiten Kommandowort und
dadurch kann auf dem ranghöheren Zweig
das Koppelelement adressiert werden, und auf dem rangniedrigeren
Zweig der gewünschte
Teilnehmer, wobei sich die beiden Kommandoworte vor allem in den
Adressbits (ADR1, ADR0) unterscheiden, nicht aber in der Kommandoart,
beispielsweise müssen
beide Kommandos den Analoglesemodus einleiten.
-
Sollte
das Koppelelement mehr als einen rangniedrigeren Zweig besitzen,
dann wird der zu benutzende Zweig vorher mit einem eigenen Kommando,
das sich nur an das Koppelelement wendet, aktiviert. Diese Einstellung
bleibt solange erhalten, bis mit einem erneuten Kommando ein anderer
rangniedrigerer Zweig aktiviert wird. Somit entsteht, wenn bei mehreren
aufeinanderfolgenden Kommandos kein anderer rangniedrigerer Zweig
benötigt
wird, kein unnötiger
Verkehr auf dem Bus.
-
Mit
diesem Verfahren gelingt es, eine theoretisch beliebige Zahl von
Koppelementen und Zweigen in einem Mischsignal – Eindrahtbussystem zu adressieren
und gezielt anzusprechen, wobei die Teilnehmer letztlich nur dieselben
einfachen Kommandoworte verstehen müssen wie beim Stand der vorigen
Erfindung [10], und über
keinerlei zusätzliche Mittel
verfügen
müssen,
so dass eine vollständige Rückwärtskompatibilität gegeben
ist. Desweiteren hat das neue Verfahren den Vorteil, dass im Netzwerk
immer nur diejenigen Zweige aktiv sein müssen, die für die Herstellung der Verbindung
zwischen dem Wirt und dem anzuwählenden
Teilnehmer erforderlich sind, und die dafür nicht benötigten Zweige bleiben in energiesparender
Weise passiv.
-
Verfahren für die Befehlsweitergabe
-
Das
neue Verfahren für
die Befehlsweitergabe durch Koppelelemente ist dadurch gekennzeichnet,
dass das Koppelelement das erste Kommandowort einer Kommandowortfolge,
die durch EXEC = „1" beendet ist, nicht
an rangniedrigere Zweige weitergibt, und das zweite und die folgenden
Kommandoworte bis einschließlich
dem letzten EXEC – Bit, das
die Kommandoausführung
bewirkt, an einen rangniedrigeren Zweig weitergibt.
-
Dieses
Verfahren ergänzt
das neue Verfahren zur Adressierung, so dass es weder nötig ist,
für Koppelelemente
spezielle Kommandocodes vorzusehen, noch nötig ist, in den Teilnehmern
aufwendige Massnahmen zu ergreifen, um unter ersten und zweiten
Kommandoworten das richtige Kommandowort herauszufinden. Da die
Koppelelemente das für
sie bestimmte erste Kommandowort entfernen und nicht an Teilnehmer
oder Koppelelemente auf dem rangniedrigeren Zweig weitergeben, ist
auf dem rangniedrigeren Zweig das zweite Kommandowort des ranghöheren Zweigs
das erste auf dem rangniedrigeren Zweig empfangene Kommandowort.
Jedes am Bus angeschlossene Koppelelement und jeder Teilnehmer führt unbeachtlich
seiner Rangfolge das erste von ihm empfangene Kommandowort aus.
Somit ergibt sich eine volle Rückwärtskompatibilität des Verfahrens
und es können
an den neuartigen Mischsignal – Eindrahtbussystemen
auch Teilnehmer angeschlossen werden, die vor der Einführung von
Koppelelementen entwickelt wurden. Zudem erlauben diese Verfahren
in ihrer Kombination die theoretisch beliebige Kaskadierung von
Koppelementen, und die Aufbau von Netzwerktopologien mit mehr als
zwei Rängen,
wobei die Tiefe der Kaskadierung in der Praxis nur durch die Signalverluste
im Analoglesemodus beschränkt
ist.
-
Bei
Mischsignal – Eindrahtbussystemen,
die am Ende der Kommandobitfolge eine Prüfsumme übertragen, muss das Verfahren
der Befehlsweitergabe um eine Sonderbehandlung für die Prüfsumme erweitert werden. Hierbei
errechnet das Koppelelement während
der Kommandoübertragung
eine neue Prüfsumme,
die nach dem entfernten ersten Kommandowort beginnt, und ersetzt
bei der Weitergabe auf den rangniedrigeren Zweig die vom Wirt ausgegebene
Prüfsumme
durch die selbst errechnete Prüfsumme.
-
Hierzu
ist es notwendig, dass das Koppelelement weilt, wie viele Kommandoworte
die Kommandobitfolge haben wird. Die Anzahl der Kommandoworte kann
fest vorgegeben sein oder durch ein vorangestelltes Kommando in
ein Register des Koppelelements eingespeichert werden. Besonders
vorteilhaft ist jedoch die Lösung,
die Anzahl der Kommandoworte als Teil des ersten Kommandoworts zu übertragen.
Das entsprechende Bitfeld dient auch bei gewöhnlichen Teilnehmern als Parameterfeld
für das Kommando
und kann bei den Koppelelementen für die Steuerung des Koppelprozesses
herangezogen werden.
-
6 zeigt
beispielhaft eine besonders vorteilhafte Kommandocodierung.
-
„Broadcast" – Kommandos, die sich an alle Teilnehmer
wenden, haben ihre Adressmaskenbits AMA1, AMA0 auf 0 gesetzt, und
dadurch erfolgt kein Vergleich der Adressbits ADR1, ADR0 mehr. Diese beiden
Bits können
dann dazu benutzt werden, um den Umfang des Operationscodes vorteilhaft
von vier Bit auf sechs Bit zu erhöhen.
-
Bei
den „branch
select" – Kommandos
handelt es sich um jene Kommandos, die einen bestimmten rangniedrigeren
Zweig des selektierten Koppelelements aktivieren, im Feld „Branch" können hierzu vier
mögliche
Zweige codiert werden. Zusätzliche Parameter
für den
Koppelprozess können
fallweise als weiteres Kommandowort angehängt werden, insbesondere jene
für das
spätere
Abtrennen des aktivierten rangniedrigeren Zweigs.
-
Die „Digital
Write", „Digital
Read", und „Analog
Read" – Kommandos,
die an das Koppelelement gerichtet sind, enthalten bei Mischsignal – Eindrahtbussystemen,
die am Ende der Kommandobitfolge eine Prüfsumme übertragen, im „PARAM" – Feld die binär codierte
Zahl der Kommandoworte bis zur Prüfsumme.
-
7 zeigt
ein Beispiel für
die Befehlsweitergabe durch ein Koppelelement. Es wurde angenommen,
dass der ranghöhere
Zweig (30) des Bus mit dem Wirt verbunden ist. Der rangniedrigere
Zweig (31) geht vom Koppelelement aus. In der Figur sind die
Verläufe
der Spannungen auf den Zweigen über die
Zeit entsprechend mit V (30) und V (31) bezeichnet.
Im Kommandoempfangsmodus liegt auf beiden Zweigen zunächst die
Kommandospannung (35) an. Sollte der gewünschte rangniedrigere
Zweig, hier Nummer 2 (binär
10), noch nicht gewählt
sein, gibt der Wirt zunächst
ein „branch
select" – Kommando (52)
aus, um diesen zu aktivieren, die Nummer des Zweigs findet sich
dabei in Bits Nummer 7 und B. Das Koppelelement hat hier die Adresse
3 (binär
11), zu finden in den Bits Nummer 3 und 4 des Kommandos (52).
Nun soll ein auf dem rangniedrigeren Zweig angeschlossener Teilnehmer
mit der Adresse 1 (binär 01)
in den Analoglesemodus versetzt werden. Der Wirt gibt eine Befehlsfolge
aus, die aus einem Analoglesekommando für das Koppelement (53),
einem Analoglesekommando für
den Teilnehmer (54) sowie einem optinalen Parameterwort
(55) besteht, gefolgt von einer vom Wirt errechneten Prüfsumme (56),
die für
die Kommandofolge auf dem ranghöheren
Zweig gilt. Das Koppelelement gibt beginnend mit dem Kommando für den Teilnehmer
(54) dieselbe Folge auf den rangniedrigeren Zweig weiter,
es ersetzt aber die vom Wirt stammende Prüfsumme (CRC1, 56) durch
eine solche, die es selbst errechnet hat (CRC2, 57), und
die für
die verkürzte
Kommandofolge gültig ist.
Die Position der Prüfsumme
wurde dem Koppelement in seinem Kommando (53) mitgeteilt:
die Bits Nummer 7 und 8 sind 01, was bedeutet, dass dem obligatorischen
Kommandowort für
den Teilnehmer ein einziges Parameterwort folgt.
-
Nach
dem gesetzten EXEC – Bit
am Ende der Kommandofolge gehen sowohl das Koppelement als auch
der selektierte Teilnehmer in den Analoglesemodus, die nicht selektierten
Teilnehmer auf beiden Zweigen des Bus gehen in den Analogsignal – Leerlaufmodus,
vorausgesetzt, die Prüfsumme
ist korrekt. In diesem Fall liefert der Teilnehmer zunächst weiterhin
den Kommandospannungspegel (35), oder einen anderen Signalpegel,
der innerhalb des Ansprechbereichs des Kommandospannungsdetektors liegt,
und der sich von einem Fehlersignal sicher unterscheiden lässt. Das
Koppelelement gibt diesen Signalpegel mit seinem eigenen Kommandospannungstreiber
an den Wirt weiter und meldet so, dass in der Kommandoübermittlung
kein Fehler vorlag.
-
Um
das eigentliche Analogsignal auf den Bus aufzuschalten aktiviert
nun der Wirt seinen Treiber (28, 3) kurzzeitig
und lässt
den Bus dann wieder los. Das Koppelelement gibt diesen kurzen Gegentreibimpuls
(58) an den rangniedrigeren Zweig (31) weiter,
indem es starke digitale Treiber (38, 2)
aktiviert. Daraufhin schaltet der Teilnehmer das eigentliche Analogsignal
(59) auf den Bus auf. Dieses gelangt bevorzugt durch Analogschalter
(36, 2) vom rangniedrigeren Zweig
zum ranghöheren Zweig.
-
Bei
einer Kommandoübertragung
ohne Prüfsumme
entfallen die Prüfsummen
(56, 57) und nach dem gesetzten EXEC – Bit schließt sich
sofort das Analogsignal (59) an.
-
Verfahren zur programmierbaren Optimierung
von Betriebsparametern
-
Bei
dem erfindungsgemäßen Mischsignal – Eindrahtbussystem
kann an jedem Zweig des Netzwerks eine bestimmte Zahl von Teilnehmern
angeschlossen werden. Es versteht sich, dass es einen wesentlichen
Unterschied macht, ob an einem Zweig nur ein Teilnehmer oder die
maximal zulässige
Zahl von Teilnehmern angeschlossen ist.
-
Dabei
ist insbesondere die Auslegung des Kommando spannungstreibers schwierig.
Bei Optimierung für
einen einzigen Teilnehmer wird, falls mehrere Teilnehmer angeschlossen
sind, der Treiber des Wirts stark belastet, und es entsteht ein
unnötig hoher
Strombedarf. Bei Optimierung für
mehrere Teilnehmer könnte
der Treiber zu schwach und der Bus daher zu langsam sein, falls
nur ein Teilnehmer angeschlossen ist.
-
Ein
Verfahren zur Abhilfe ist dadurch gekennzeichnet, dass mindestens
die Stärke
des Kommandospannungstreibers programmierbar gemacht wird.
-
Hierzu
wird in den Teilnehmern (und auch den Koppelelementen, die ja ebenfalls
Teilnehmer am Bus sind) ein Busmodusregister vorgesehen, und ein
Befehl, mit dem der Wirt das Busmodusregister setzen kann, beispielsweise „Digital
Write" aus 6.
Der Registerinhalt wird dazu benutzt, um mindestens die Treiberstärke des
Kommandospannungstreibers programmierbar zu machen.
-
Besonders
vorteilhaft ist ein Kommandotreiber mit resistiver Ausgangscharakteristik,
der in mehreren Stufen so programmierbar ist, dass der Wirt für jede zulässige Anzahl
von an einen Zweig angeschlossen Teilnehmern einen Registerinhalt
setzen kann, so dass er im Kommandomodus unabhängig von der Zahl der Teilnehmer
im wesentlichen immer den gleichen Lastwiderstand treiben muss.
-
Verfahren zur Erkennung und Meldung von
Störungen
der Kommandoübermittlung
-
In
jedem Bussystem können
durch extern eingestreute Störungen
Bitfehler auftreten. Es ist dem Stand der Technik der digitalen
Bussysteme bekannt, wie Prüfsummen,
beispielsweise durch Polynomzähler
errechnete CRC – Prüfbytes,
dazu benutzt werden können,
um Bitfehler zu erkennen. Dieses bekannte Verfahren zur Erkennung
von Bitfehlern kann unverändert
auf das erfindungsgemäße Mischsignal – Eindrahtbussystem
angewandt werden, es genügt
beispielsweise, den oben beschriebenen Kommandowortfolgen ein CRC – Prüfbyte anzuhängen, und
den Teilnehmern einen Polynomzähler hinzuzufügen, der
die empfangenen Kommando- und Datenbytes und das CRC – Prüfbyte verrechnet. Bei
einer ungestörten Übertragung
muss der Polynomzähler
nach dem Empfang der Kommandowortfolge einen ganz bestimmten Wert
aufweisen, beispielsweise Null. Andernfalls liegt ein Bitfehler
vor. Soweit genügt
der bekannte Stand der Technik.
-
Allerdings
ist es mit der Erkennung des Bitfehlers nicht getan, er muss auch
behandelt und gemeldet werden. Wie dies in dem erfindungsgemäßen Mischsignal – Eindrahtbussystem
geschehen soll, ist nicht offensichtlich. Der naheliegende Lösungsvorschlag,
nach jeder Kommandowortfolge ein digitales Quittungsignal zum Wirt
zu schicken, welches den Fehlerstatus enthält, erweist sich als nicht
praktikabel im Rahmen der Lehre der Erfindung, da dies beispielsweise
zur Sabotage der Erkennung des Endes des analogen Leerlaufmodus
führen
würde.
Auch der Schlafmodus und andere Modi müssten komplett geändert werden.
Es wäre
nötig,
zusätzliche
Komplikationen einzuführen,
die es verhindern würden,
dass einfachere und billiger herzustellende Teilnehmer ohne CRC – Prüfsummenlogik
zusammen mit komplizierteren und teureren Teilnehmern, die eine
solche Prüfsummenlogik
haben, auf demselben Bus betrieben werden können. Eine derartige Aufwärts- und Abwärtskompatibilität ist aber
aus Kostengründen vorteilhaft.
-
Eine
kompatible Lösung
ist jedoch dennoch möglich,
wie im folgenden offenbart werden soll. Das neuartige Verfahren
zur Erkennung und Meldung von Störungen
der Kommandoübermittlung
in einem Mischsignal – Eindrahtbussystem
ist dadurch gekennzeichnet, dass am Ende einer jeden Kommandowortfolge
ein Prüfsummenbyte
steht, das von den Teilnehmern mit Prüfsummenlogik ausgewertet wird, wobei
diese im fehlerfreien Fall zunächst
einen Spannungspegel auf den Bus ausgeben, der in der Nähe der Kommandospannung
liegt, im Fehlerfall aber einen Fehlersignaltreiber aktivieren,
der stark genug ist, um den Bus auch gegen andere Teilnehmer auf einen
Fehlersignalpegel zu treiben, der sich von der Kommandospannung
messbar unterscheidet, wobei der Fehlersignaltreiber schwach genug
ist, um von den Treibern des Wirts überwunden zu werden.
-
Auf
diese Weise wird das Busprotokoll der vorigen Erfindung [10] dahingehend
erweitert, dass in seinem Ablauf ein Fenster für ein Fehlerstatussignal geöffnet wird,
das analoger Natur ist und das daher konsistent mit der Lehre der
Erfindung benutzt werden kann, weil es im fehlerlosen Fall keine
Aktivitäten
am Bus hervorruft, die zur einer unerwünschten vorzeitigen Beendigung
des Analog- oder Digitalleerlaufmodus führen würde.
-
Teilnehmer
ohne Prüfsummenlogik
ignorieren das Prüfbyte
einfach und führen
das Kommando aus, auch wenn es aufgrund einer Störung verfälscht sein sollte. Die Forderungen
an die Stärke
des Fehlersignals stellen sicher, dass es sich in jedem Fall durchsetzt.
-
Das
im fehlerlosen Fall in einigen Betriebsmodi erforderliche Umschalten
des Bus auf das eigentlich zu lesende analoge oder digitale Signal
kann durch Ablauf eines Zeitgebers erfolgen, der dem Wirt genug
Zeit lässt,
das Fehlerstatussignal auszuwerten.
-
Besonders
vorteilhaft ist es jedoch, diese Umschaltung dadurch zu bewerkstelligen,
dass der Wirt einmalig kurz gegentreibt und den Bus dann wieder
losläßt. Die
Teilnehmer können
dann zur Signalisierung des fehlerlosen Zustandes ihren Kommandospannungstreiber
benutzen, und das Gegentreiben des Wirts mit den gleichen Mitteln
erkennen wie beim Kommandoempfang.
-
Es
kann im Zusammenhang mit der Fehlerbehandlung darüber hinaus
auch nützlich
sein, über ein
Signal zu verfügen,
das anzeigt, ob jeder Teilnehmer auch wirklich in einen befohlenen
Schlafmodus gegangen ist. Hierzu soll auf jedem Zweig des Netzwerks
mindestens ein Teilnehmer über
einen sogenannten „Buskeeper" verfügen, der
nur im Schlafmodus aktiv ist, und der den Buszustand in schwächlicher
Weise versucht zu halten. Ein geeigneter Buskeeper kann in bekannter
Weise aus einem Tristate – Buffer
gebildet werden, dessen Eingang mit dem Bus verbunden ist, dessen
Ausgang über
einen Widerstand von einigen Kiloohm mit dem Bus verbunden ist,
und dessen Enable – Eingang
mit einem Steuersignal verbunden ist, das den Tristate – Buffer
im Schlafmodus aktiviert.
-
Vorzugsweise
wird die Polarität
des Fehlersignals programmierbar gemacht. Hierzu kann ein Bit im
schon oben beschriebenen Busmodusregister vorgesehen werden. Es
kann auch nützlich
sein, die Prüfsummenlogik
abschaltbar zu machen, um in Betriebsphasen, wo es auf hohe Geschwindigkeit
und damit auf möglichst
kurze Kommandos ankommt, Zeit sparen zu können. Zudem kann die Prüfsummenlogik
auch dazu benutzt werden, im Digitallesemodus zum Wirt übertragene
Daten mit einem Prüfbyte
abzusichern.
-
Die
Durchführung
des wirtsseitigen Verfahrens ist wie folgt: der Wirt erzeugt für jede abzusichernde
Kommandowortfolge ein Prüfsummenbyte, und überträgt dieses
am Ende der Kommandowortfolge. Je nach Art des Kommandos folgen
dann die weiteren Verfahrensschritte:
Nach Kommandos, die wieder
zum Kommandomodus oder in den Kompatibilitätsmodus führen, prüft der Wirt, ob der Bus auf
dem Kommandospannungspegel liegt. Hierzu kann er seinen ADC benutzen, oder
einen programmierbaren Komparator, der in manchen Mikrocontrollern
neben dem ADC verfügbar
ist, aber schneller reagiert. Ist ein Teilnehmer im Fehlermodus,
dann weicht der Spannungspegel am Bus von der Kommandospannung messbar
ab, und dies erkennt der Wirt als Fehlersignal. Er kann dann das
Rücksetzverfahren
durchführen,
um die Teilnehmer am Bus in einen geordneten Zustand zurückzuversetzen.
Liegt kein Fehler vor, dann kann der Wirt das nächste Kommando geben.
-
Nach
Kommandos, die in den Analoglesemodus führen, prüft der Wirt, ob der Bus auf
dem Kommandospannungspegel liegt und falls das zutrifft, also kein
Fehlersignal vorliegt, aktiviert er einen seiner Treiber (27 oder 28)
und deaktiviert ihn wieder. Dieser kurze Gegentreib – Impuls
veranlasst den selektierten Teilnehmer, auf das eigentlich zu verarbeitende
Analogsignal umzuschalten. Wird dagegen ein Fehlersignal erkannt,
folgt das Rücksetzverfahren.
-
Nach
Kommandos, die in den Digitallesemodus führen, ist das Vorgehen des
Wirts identisch zum vorigen Fall. Der selektierte Teilnehmer wird
jedoch, falls kein Fehlersignal vorliegt, nach dem Gegentreibimpuls
des Wirts freilich nicht ein Analogsignal, sondern das erste Bit
der vom Wirt angeforderten digitalen Daten auf den Bus treiben.
-
Nach
Kommandos, die in den Schlafmodus oder Kompatibilitätsmodus
führen,
ist das Vorgehen sinngemäß, diese
Modi werden ebenfalls erst nach dem Gegentreibimpuls des Wirts betreten.
-
Im
Schlafmodus gibt der Wirt durch die Polarität des Gegentreibens im fehlerlosen
Fall den Schlafzustand (digital „0" oder digital „1") vor und deaktiviert dann seinen Treiber.
Sind alle Teilnehmer dann im Schlafzustand, dann wird der Buskeeper
den Bus auf dem Schlafzustand halten, was der Wirt feststellen kann.
In diesem Fall aktiviert er den Treiber wieder, damit der Schlafzustand
nicht so leicht zu stören
ist als wenn er nur durch den schwachen Buskeeper gehalten wird.
Ist dagegen ein Teilnehmer aufgrund einer Störung nicht im Schlafzustand,
dann wird sein Kommandospannungstreiber noch aktiviert sein, der
stärker
sein soll als der Buskeeper, und der Wirt kann den noch unerlaubt
wachgebliebenen Teilnehmer daran erkennen, dass der Spannungspegel am
Bus vom Schlafzustand messbar abweicht. Nach dem Aufwecken aller
Teilnehmer kann der Wirt dann einen neuen Versuch unternehmen.
-
Dieses
Verfahren zur Erkennung und Meldung von Störungen der Kommandoübermittlung
in einem Mischsignal – Eindrahtbussystem
ist voll aufwärts-
und abwärtskompatibel
mit Teilnehmern ohne und mit Prüfsummenlogik.
Das heißt,
es können
auf demselben Bus Teilnehmer mit und ohne Prüfsummenlogik betrieben werden.
Bei letzteren wird die Prüfung
einfach abgeschaltet, bevor ihnen ein Lesekommando oder Kompatibilitätskommando
gegeben wird. Hierzu dient vorzugsweise ein Bit im Busmodusregister.
-
Für die korrekte
Funktion des Fehlersignals in solchen Bussystemen, auf denen Teilnehmern ohne
und mit Prüfsummenlogik
betrieben werden, muss der Fehlersignaltreiber stärker sein
als die Analogsignal- und Digitalsignaltreiber der Teilnehmer ohne
Prüfsummenlogik.
Eine praxistaugliche Dimensionierung wäre beispielsweise, die Strombegrenzung
der Analog- und Digitalsignaltreiber auf 1 mA auszulegen, und die
Strombegrenzung der Fehlersignaltreiber auf den doppelten Wert einzustellen.
Dies läßt genügend Spielraum
für Streuungen
in den Herstellungsprozessen der integrierten Schaltungen und handelsübliche Mikrocontroller
sollten dennoch stark genug sein, die 8 bis 10 mA zu treiben, die
dann nötig wären, um
die Fehlersignaltreiber von vier Teilnehmern zu überwinden.
-
Es
kann zwecks Senkung des Energieverbrauchs im Fehlerfall vorteilhaft
sein, den Fehlersignaltreiber so auszulegen, dass er sich selber
abschaltet, sobald während
der Durchführung
des Resetverfahrens eine gewisse Zahl von Rücksetzimpulsen gezählt wurde,
allerdings treten Übertragungsfehler
normalerweise so selten auf, dass nicht unbedingt auch an dieser
Stelle gespart werden muss.
-
Verfahren zur Benutzung eines Mischsignal – Eindrahtbussystems
als programmierbares Verteilernetzwerk
-
Es
kann in bestimmten Anwendungsfällen nützlich sein,
das Mischsignal – Eindrahtbussystem als
programmierbares Verteilernetzwerk für analoge Signale zu nutzen,
was so zu verstehen ist, dass analoge Signale dabei nicht nur in
Richtung des Wirts weitergereicht werden, sondern über speziell
dafür ausgerüstete Teilnehmer
wieder zurück
in das Gesamtsystem gespeist werden können. Diese speziellen Teilnehmer
sollen im Analogsignal – Leerlaufmodus
in der Lage sein, das von einem anderen Teilnehmer auf den Bus getriebene
Signal vom Bus aufzunehmen und über
einen Analogsignalanschluss in das Gesamtsystem zurückzuspeisen.
-
Im
einfachsten Fall genügt
hierzu ein Analogschalter, der innerhalb des Teilnehmers zwischen dem
Bus und dem Analogsignalanschluss geschaltet ist, und der dann eingeschaltet
wird, wenn der Teilnehmer im Analogsignal – Leerlaufmodus ist. Sollte dies
zu einer zu starken Belastung des Bus führen, dann kann innerhalb des
Teilnehmers ein Analogsignaltreiber vorgesehen sein, dessen Eingang
mit dem Bus, und dessen Ausgang mit dem Analogsignalanschluss verbunden
ist.
-
Konfigurationsbits
in einem vom Wirt beschreibbaren Register des Teilnehmers können benutzt
werden, um den Analogschalter bzw. den Treiber freizugeben oder
fest auszuschalten, oder um einen von mehreren Analogsignalanschlüssen des Teilnehmers
auszuwählen,
dem das Analogsignal zugeführt
werden soll.
-
Das
grundlegende Verfahren zur Benutzung eines Mischsignal – Eindrahtbussystems
als programmierbares Verteilernetzwerk ist dadurch gekennzeichnet,
dass Teilnehmer über
ein an sie adressiertes Kommando so konfiguriert werden können, dass
sie bei einem nachfolgenden Analoglesekommando, das an einen anderen
Teilnehmer addressiert ist, zwar in den Analoglese – Leerlaufmodus
gehen, aber das analoge Signal auf dem Bus über einen weiteren Anschlussgin,
der nicht mit dem Bus, sondern mit dem Gesamtsystem verbunden ist,
an dieses weiterleiten.
-
Sollte
der Bus mit Prüfsumme
betrieben werden, dann erfolgt die Weitergabe des Analogsignals in
das Gesamtsystem erst, nachdem der Wirt das Kennungssignal für den fehlerfreien
Zustand einmalig gegengetrieben und den Bus dann wieder losgelassen
hat.
-
Ein
besonders vorteilhaftes Verfahren zur Benutzung eines Mischsignal – Eindrahtbussystems als
programmierbares Verteilernetzwerk ist dadurch gekennzeichnet, dass
einzelne Zweige, die sich im Analoglesemodus befinden, vom Rest
des Netzwerks abgetrennt werden können, indem das letzte Koppelelement,
das die Verbindung des Wirts zu dem selektierten Teilnehmer hergestellt
hat, durch ein zuvor gegebenes Kommando angewiesen wird, die Verbindung
zu dem gerade aktivierten rangniedrigeren Zweig zu kappen, sobald
der Zweig sich im Analoglesemodus befindet.
-
Auf
diese Weise können
einzelne Zweige des Netzwerks autonom für sich arbeiten und analoge
Signale transportieren, während
der Wirt andere Teile des Netzwerks für andere Zwecke gebrauchen kann.
-
Eine
Wiederanbindung der abgetrennten Zweige ist beispielsweise dadurch
möglich,
dass ein Kommando vorgesehen ist, das sich an Koppelelemente richtet,
und das der Wirt dazu benutzen kann, um den abgetrennten Zweig gegenzutreiben
und dadurch den dortigen Analoglesemodus zu beenden. Es ist besonders
vorteilhaft, wenn dieses Kommando auf dem ranghöheren Zweig des Bus den Digitallesemodus
bewirkt, denn auf diese Weise kann das Koppelelement dem Wirt Statusinformationen
mitteilen, beispielsweise das Quittungssignal und das Vorliegen
der Kommandospannung auf dem rangniedrigeren Zweig.
-
Integrierte Schaltung, die als Teilnehmer
eines rücksetzbaren
Mischsignal – Eindrahtbussystems
geeignet ist
-
Werden
eines oder mehrere der beschriebenen Verfahren in einer integrierten
Schaltung verkörpert,
die dadurch als Teilnehmer eines rücksetzbaren Mischsignal – Eindrahtbussystems
geeignet ist, dann soll eine derartige integrierte Schaltung als
Verkörperung
der oder des Verfahrens ebenfalls ein Schutzrecht begründen.
-
Der
Vollständigkeit
der Offenbarung wegen soll nun das Blockschaltbild einer integrierten
Schaltung als Beispiel für
eine besonders vorteilhafte Verkörperung
einiger der erfindungsgemäßen Verfahren beschrieben
werden, die als Teilnehmer in dem erfindungsgemäßen Bussystem geeignet ist.
-
In
der 8 sind am Beispiel der Innenschaltung eines integrierten
Schaltkreises mit nur sechs Anschlussgins sämtliche Schaltmittel dargestellt,
die zur Realisierung der beschriebenen Verfahren notwendig sind.
Zwei der Anschlussgins (5, 7) dienen zur Stromversorgung.
Der mit dem Eindrahtbus (19) zu verbindende Anschlussgin
(6) ist intern mit verschiedenen Schaltungsblöcken verbunden, die
als Treiber und Empfänger
dienen: den aus 5 bekannten Logikpegeldetektor
und Flankendetektor mit der Rücksetzsteuerung
(60), wobei die Komparatorausgänge ebenfalls herausgeführt werden,
da die Komparatoren (40) im Kommandoempfangsmodus als Stromdetektoren
für das
Gegentreiben des Wirts benutzt werden können, ein mit einem Steuereingang
deaktivierbarer Analogsignaltreiber (11), ein deaktivierbarer
Buskeeper (62, 63), ein deaktivierbarer Schmitt – Trigger
(64), ein strombegrenzter Digitalsignal- und Fehlersignaltreiber
(37), ein Kommandospannungstreiber (34) mit resistiver
Ausgangscharakteristik, ein Analogmultiplexer (67), der
mit Analogsignalanschlüssen
(14) verbunden ist, Analogsignalverbindungsschalter (68),
und Analogsignalverbindungstreiber (69), die ebenfalls
mit den Analogsignalanschlüssen
(14) verbunden sind. Letztere Schaltmittel (68, 69)
sind nur dann notwending, wenn das Verfahren zur Benutzung eines
Mischsignal – Eindrahtbussystems
als programmierbares Verteilernetzwerk implementiert werden soll.
-
Gesteuert
werden die diversen aufgezählten Schaltmittel
durch eine digitale Ablaufsteuerung (70), die das Busprotokoll
verwirklicht. Aufgrund der sehr detaillierten Beschreibung der einzelnen
Betriebsmodi des Bus und der genauen Abläufe auf dem Bus und innerhalb
der Teilnehmer in diesem Text sowie in [10] sollte die Realisierung
der digitalen Ablaufsteuerung in einer Hochsprache wie VHDL oder
Verilog dem Fachmann ohne weiteres möglich sein, so dass auf die
Details der Ablaufsteuerung hier nicht weiter eingegangen werden
muss. Die folgende Beschreibung der Funktion der einzelnen Schaltmittel
ist ebenfalls knapp gehalten und soll Feinheiten erläutern und
einen Bezug zu den erfindungsgemäßen Verfahren
herstellen.
-
Im
Kommandoempfangsmodus aktiviert die Ablaufsteuerung (70)
einen oder mehrere der Kommandospannungsschalter (72) im
Kommandospannungstreiber (34). Die resistive Ausgangscharakteristik
kann durch Widerstände
(73) oder entsprechende Auslegung und Ansteuerung von MOSFET – Transistoren,
welche die Kommandospannungsschalter (72) bilden, erzielt
werden. Die Kommandospannungsquelle (35) kann einfach ein
mit der Versorgungsspannung verbundener resistiver Spannungteiler
sein, dem eine Treiberstufe nachgeschaltet ist. Treibt der Wirt
(21) nun gegen die Kommandospannung, indem er einen seiner
starken Treiber (27, 28) aktiviert, dann gelingt
es diesen bei sachgemäßer Auslegung
der resistiven Ausgangscharakteristik, den Spannungspegel am Bus
(19) von der Kommandospannung über eine der Schaltschwellen
(VL, VH, 5) der Komparatoren (40)
hinaus wegzuziehen. Auf diese Weise detektieren die Komparatoren
den duch das Gegentreiben des Wirts ausgelösten Strom, und wirken als
Stromdetektoren, ihre Ausgangssignale werden über die Kommandosignalleitungen
(8, 9) an die Ablaufsteuerung geführt. Aufgrund
dieser Mehrfachausnutzung einer ohnehin nötigen Funktion kann ein separater
Stromdetektor für den
Kommandospannungstreiber eingespart werden. Das Verfahren zur programmierbaren
Optimierung von Betriebsparametern kann nun dadurch realisiert werden,
indem in der Ablaufsteuerung ein über ein Kommando programmierbares
Busmodusregister sitzt, das die Zahl der aktivierten Kommandospannungsschalter
beeinflusst.
-
Zum
Analogsignaltreiber (11) ist lediglich anzumerken, dass
es sich hier auch um einen verstärkenden
Treiber oder um einen Operationsverstärker oder ähnliches handeln kann. Er muss
für den
erfindungsgemäßen Einsatz
lediglich über
einen Stromdetektionsausgang (71) verfügen, über den die Ablaufsteuerung
(70) das Gegentreiben des Wirts zum Abbruch des Analoglesemodus
erkennen kann.
-
Der
Buskeeper (62, 63) ist nur dann erforderlich,
wenn das Verfahren zur Erkennung und Meldung von Störungen der
Kommandoübermittlung
implementiert werden soll, und auch für Kommandos benutzt werden
soll, die den Schlafmodus einleiten. Der Buskeeper wird nur dann
aktiviert, wenn der Schlafmodus vorliegt. Er bewirkt bei geeigneter
Auslegung als rein digitales CMOS – Gatter keinen merklichen
Ruhestromverbrauch. Sein Ausgangswiderstand (63) kann sich
im Bereich einiger 10 Kiloohm bewegen. Dieser Ausgangswiderstand
kann auch durch entsprechend schwach dimensionierte MOSFETs seiner
Treiberstufe (62) realisiert werden.
-
Der
gewöhnliche
CMOS – Schmitt – Trigger (64)
dient zur Überwachung
des Bus im Schlafzustand, da hier bevorzugt alle stromverbrauchenden Schaltungsteile
abgeschaltet sind. Wenn kein Schlafzustand vorliegt, ist der Schmitt – Trigger über seinen von
der Ablaufsteuerung (70) kommenden Deselect – Eingang
abgeschaltet. Dies ist vor allem im Analoglesemodus wichtig, da
eingeschaltete CMOS – Schmitt – Trigger
im Bereich ihres Umschaltpunktes einen Querstrom aus der Versorgung
ziehen, der zwar typisch nur einige 10 Mikroampere beträgt, jedoch
für batteriebetriebene
Anwendungen bereits nachteilig sein kann.
-
Der
Digitalsignal- und Fehlersignaltreiber (37) besteht aus
MOSFET – Stromspiegeln,
deren Ausgangszweige schaltbar sind, und deren Arbeitspunkt durch
einen Widerstand (74a) eingestellt wird. Durch Parallelschalten
eines weiteren Widerstandes (74b) über einen Analogschalter (36)
kann der Strom für
das Fehlersignal erhöht
werden. Als Schalter betriebene MOSFETs (75, 76)
schalten das Digitalsignal oder das Fehlersignal unter Steuerung
durch die Ablaufsteuerung (70) auf den Bus auf.
-
Der
Analogspannungs – Eingangsmultiplexer
(67) erlaubt es der Ablaufsteuerung (70), eines von
drei analogen Eingangssignalen (an 14) auf den Analogsignaltreiber
(11) zu geben. Die Signalquelle wird beispielsweise durch
die im Analoglesekommando noch unbelegten zwei Bits ausgewählt.
-
Die
Analogsignalverbindungsschalter (68) oder Analogsignalverbindungstreiber
(69) dienen für das
Verfahren zur Benutzung des Mischsignal – Eindrahtbussystems als programmierbares
Verteilernetzwerk zur Weiterleitung des auf dem Bus befindlichen
analogen Signals auf die Analogsignalanschlusspins (14),
die in diesem Fall als Ausgang wirken. Sie (68, 69)
werden durch die Ablaufsteuerung (70) im Analog – Leerlaufmodus
aktiviert, wenn dies zuvor per Kommando programmiert worden ist.
Es ist zweckmäßig, dass
die Ablaufsteuerung (70) hierfür ein Register enthält, das
diesen speziellen Betriebsmodus aktiviert.
-
Es
versteht sich, dass diese Mittel zur Realisierung und Durchführung der
verschiedenen erfindungsgemäßen Verfahren
auf mannigfache Weise variiert und ersetzt werden können, ohne
dass dem Geist und den Ansprüchen
der Erfindung ausgewichen wäre.
Beispielsweise könnte
der Digitalsignal- und Fehlersignaltreiber (37) durch eine
geeignete Ansteuerung der Ausgangstransistoren des Analogsignaltreibers
(11) realisiert werden. Der Kommandospannungstreiber (34)
könnte
ebenfalls durch eine geeignete Gegenkopplungsschaltung eines als
Analogsignaltreiber (11) benutzten Operationsverstärkers verwirklicht
sein. In diesem Fall wäre
es nicht nötig,
die Komparatoren aus Block 60 zur Erkennung des Gegentreiben
des Wirts im Kommandomodus einzusetzen, sondern es könnte das
Stromdetektionssignal (71) benutzt werden.
-
Integrierte Schaltung, die als Koppelelement
(Hub) eines rücksetzbaren
Mischsignal – Eindrahtbussystems
geeignet ist
-
Im
folgenden wird eine integrierte Schaltung, 9, als Beispiel
für das
Innenleben und die Funktionen eines Koppelelementes in dem erfindungsgemäßen Bussystem
beschrieben.
-
Zunächst einmal
muss ein Koppelelement die für
seine Rolle als Teilnehmer auf dem ranghöheren Zweig (30) des
Bus notwendigen Schaltmittel und Funktionen erhalten, die sich auch
bei den oben beschriebenen Teilnehmer – Schaltkreisen finden. Hinzu
kommen jene Schaltmittel und Funktionen, die für seine Rolle als Koppelelement
notwendig sind.
-
Die
schon für
Teilnehmer zuvor beschriebenen Schaltmittel und Funktionen (34, 37, 60, 62, 63, 64)
haben bei Koppelelementen dieselbe Aufgaben und Funktionen und werden
hier nicht nochmals beschrieben. Bei Koppelelementen entfällt in der
Regel der Analogsignaltreiber (11, 8). Der
Analogmultiplexer (67) hat bei Koppelelementen eine andere Aufgabe.
-
Die
für die
Rolle als Koppelelement notwendigen zusätzlichen Schaltmittel sind
jeweils ein Analogschalter (36) und ein deaktivierbarer
digitaler Treiber (38) für jeden möglichen rangniedrigeren Zweig (31),
ein Stromdetektor (39), der als Differenzverstärker ausgeführt sein
kann, sowie ein zweiter Kommandospannungsdetektor (65)
für den
aktivierten rangniedrigeren Zweig. Dieser kann aus der Schaltung
in 5 durch Weglassen aller Teile erzielt werden,
die für
die Erzeugung des Signals LOGU nicht notwendig sind. Die Ablaufsteuerung
des Koppelelementes (33) hat Kenntnis des Busprotokolls
und sie führt
das Betriebsverfahren des Koppelelements durch.
-
Die
Funktion und Wirkung dieser Schaltmittel erklärt sich weitgehend aus der
Gesamtbeschreibung und der Beschreibung des Betriebsverfahrens. Es
gibt darüber
hinaus einige Feinheiten anzumerken: bei den deaktivierbaren digitalen
Treibern (38) handelt es sich nicht um strombegrenzte Digitaltreiber
wie im Block 37, sondern um gewöhnliche Tristate – Digitaltreiber,
die ebenso stark (oder stärker)
sind wie die entsprechenden Treiber (27, 28) des
Wirts. Sie haben haben die Aufgabe, auf rangniedrigeren Zweigen
(31) anstelle des Wirts ein Gegentreiben gegen die Kommandospannung
oder gegen ein Analogsignal mit hinreichender Stärke durchführen zu können. Im Analogsignalmodus
wird das Gegentreiben des Wirts auf dem ranghöheren Zweig (30) dadurch
entdeckt, dass dann über
den aktivierten Analogschalter (36), der naturgemäß einen
bestimmten Einschaltwiderstand hat, eine wesentlich höhere Spannung
abfällt
als ohne Gegentreiben. Diese Differenzspannung wird vom Differenzverstärker (39)
verstärkt,
um ein digitales Signal zur Ablaufsteuerung (33) zu erzeugen,
welches dieser das Gegentreiben durch den Wirt meldet.
-
Das
Betriebsverfahren des Koppelelements bei ausgeschalteter Prüfsumme sieht
für jeden
Betriebsmodus sinngemäß wie bei
gewöhnlichen
Teilnehmern eine Beobachtung der angeschlossenen Zweige durch Pegeldetektoren
und Stromdetektoren vor, um Gegentreiben des Wirts und bestimmte
Signalzustände
zu erkennen, etwa das Anliegen der Kommandospannung. Die Steuereinheit
(33) des Koppelelements verfolgt wie alle anderen Teilnehmer die
Vorgänge
auf dem Bus und ein darin befindliches Schaltwerk führt dieselben Übergänge des
Betriebszustandes des Bus aus wie die entsprechenden Schaltwerke
in den anderen Teilnehmern. Abhängig vom
Betriebszustand des Bus benutzt das Koppelelement seine Treiber
(34, 37, 38) oder seine Analogschalter
(36), um analoge und digitale Signale zwischen den angeschlossenen
Zweigen zu vermitteln:
Im Kommandomodus treibt das Koppelelement
den ranghöheren
Zweig (30) mittels eines strombegrenzten Kommandospannungstreibers
(34), der vorzugsweise eine resistive Ausgangscharakteristik
hat. Treibt der Wirt nun eine digitale „0" oder „1" auf den ranghöheren Zweig, kann dies durch
einen im Treiber (34) befindlichen Stromdetektor oder durch
Komparatoren (in Block 60) erkannt werden. Solange der Wirt
treibt, und wenn Kommandobits auf rangniedrigere Zweige weitergeben
werden sollen, aktiviert das Koppelelement seinen auf den aktivierten
rangniedrigeren zweig wirkenden digitalen Treiber (38)
und reicht damit das Kommandobit auf den rangniedrigeren Zweig fort.
Die ersten neun Kommandobits einer Kommandowortfolge werden jedoch
nicht weitergegeben. Das Koppelelement interpretiert die ersten neun
Kommandobits, und sollte daraus geschlossen werden, dass an dieses
Koppelelement angeschlossene rangniedrigere Zweige in Aktion treten
sollen, dann werden alle folgenden Kommandobits auf diese Zweige
weitergereicht, andernfalls werden die Kommandobits nicht weitergereicht
und alle rangniedrigeren Zweige des Bussystems bleiben passiv, was
nebenbei auch Energie spart.
-
Im
Analoglesemodus stellt das selektierte Koppelelement über einen
Analogschalter (36) eine niederohmige Verbindung zwischen
einem rangniedrigeren Zweig (31) und dem ranghöheren Zweig
(30) her, so dass das von an den aktivierten rangniedrigeren
Zweig angeschlossenen Teilnehmer stammende Analogsignal möglichst
unverfälscht
auf den ranghöheren
Zweig gelangt. Das Gegentreiben des Wirts zur Beendigung des Analoglesemodus
wird durch einen Differenzverstärker
(39) erkannt und dann durch Aktivierung eines auf den rangniedrigeren
Zweig wirkenden digitalen Treibers (38) verstärkt weitergegeben.
Der Analogschalter (36) kann unmittelbar zuvor geöffnet werden.
Die im darauf folgenden Quittungsmodus nötige Übertragung des Quittungsignals
entspricht der Übertragung
von digitalen Datenbits im Digitallesemodus. Nichtselektierte Koppelelemente verhalten
sich im Analoglesemodus ebenso wie nichtselektierte Teilnehmer und
beobachten den ranghöheren
Zweig mit Block (60) passiv, bis sie das Ende des Analoglesemodus
erkennen und in den Kommandomodus übergehen.
-
Im
Digitallesemodus wirkt das Koppelelement als digitaler Treiber und
gibt das digitale Datenbit zwischen einem rangniedrigeren Zweig
(31) auf den ranghöheren
Zweig weiter. Der den ranghöheren Zweig
treibende Digitalsignaltreiber (37) ist dabei strombegrenzt,
dadurch kann das Koppelelement ein Gegentreiben des Wirts zum Weiterschalten
auf das nächste
zu lesende Bit mittels der Komparatoren in Block (60) erkennen,
und aktiviert seinen starken digitalen Treiber für den rangniedrigeren Zweig
(38), um das Gegentreiben des Wirts weiterzureichen.
-
Im
Schlafmodus wird der Schlafzustand mittels der digitalen Treiber
für rangniedrigere
Zweige (38) direkt weitergereicht.
-
Der
Kompatibilitätsmodus
ist nur auf dem Hauptzweig des Bus sinnvoll. Das Koppelelement führt ihn
in gleicher Weise durch wie andere Teilnehmer. Alle rangniedrigeren
Zweige des Bussystems bleiben während
der Ausführung
des Kompatibilitätsmodus
im Kommandomodus.
-
Das
besonders vorteilhafte zählerbasierte Rücksetzverfahren
wird von den Koppelelementen dadurch unterstützt, dass sie ab einem bestimmten Stand
ihres eigenen Flankenzählers,
der höher
ist als die maximale mögliche
Zahl von schnellen Flanken im Digitallesemodus, einen digitalen
Signalpfad vom ranghöheren
Zweig (30) auf alle rangniedrigeren Zweige (31)
schalten, indem sie ihre digitalen Treiber (38) für rangniedrigere
Zweige aktivieren. Der Wirt gibt eine entsprechend erhöhte Zahl
von Rücksetzimpulsen
aus. Dieses Verfahren gewährleistet,
dass alle rangniedrigeren Teilnehmer ebenfalls eine genügende Zahl
von Rücksetzimpulsen
erhalten.
-
Das
Betriebsverfahren des Koppelelements bei eingeschalteter Prüfsumme entspricht
weitgehend dem Verfahren bei ausgeschalteter Prüfsumme, jedoch kommen folgende
Aktionen des Koppelelements hinzu:
Im Kommandomodus werden
die Prüfsummen
sämtlicher
Kommandos, die an einen an rangniedrigere Zweige angeschlossenen
Teilnehmer durchgereicht werden, von dem Koppelelement neu errechnet
und statt der vom Wirt ausgegebenen Prüfsumme wird die vom Koppelelement
errechnete Prüfsumme
an die rangniedrigeren Zweige weitergegeben. Diese empfangen daher
im störungsfreien
Fall die korrekte Prüfsumme
für die
um ein Kommandowort (neun Bit) verkürzte Kommandowortfolge.
-
Unmittelbar
nach Beginn der Ausführung
eines Kommandos wird zunächst
kein Signalpfad vom rangniedrigeren zum ranghöheren Zweig des Bus oder umgekehrt
hergestellt, sondern das Koppelelement prüft mit dem zweiten Kommandospannungsdetektor
(65), ob die Teilnehmer am rangniedrigeren Zweig ein Fehlersignal
liefern oder nicht. Das Fehlersignal liegt vor, wenn nach dem Beginn
der Ausführung
des Kommandos die Kommandospannung nicht für eine gewisse Mindestzeit
am rangniedrigeren Zweig anliegt. Sollte ein derartiges Fehlersignal
vorliegen, dann geht das Koppelelement selbst in den Fehlermodus,
auch dann, wenn die Prüfsumme
auf dem ranghöheren
Zweig des Bus gestimmt haben sollte (andernfalls wäre das Koppelelement
gleich selber in den Fehlermodus gegangen). Sollte dagegen kein
Fehlersignal vorliegen, also die Kommandospannung für die definierte
Mindestzeit sowohl am rangniedrigeren als auch am ranghöheren Zweig
vorhanden gewesen sein, dann führt
das Koppelelement abhängig
vom Betriebszustand des Bus dieselben Aktionen aus wie für das Verfahren
bei ausgeschalteter Prüfsumme
beschrieben wurde, die Weitergabe des Gegentreiben des Wirts (58, 7)
zur Umschaltung auf das eigentliche Analog- oder Digitalsignal erfolgt
dabei mit denselben Mitteln wie im Kommandomodus.
-
Wie
klar zu sehen ist, stellt die vorliegende Erfindung und ihre verschiedenen
Verkörperungen und
Variationen einen wesentlichen Fortschritt auf dem Gebiet der Architektur
von Mischsignal – Eindrahtbussystemen
dar. Der wesentliche Fortschritt, der seit der grundlegenen vorigen
Erfindung [10] erzielt werden konnte, erlaubt nun den Betrieb von
sehr viel größeren und
komplexeren Bussystemen mit vielen Teilnehmern (es sei daran erinnert,
dass vorher nur etwa vier Teilnehmer am ganzen Bus angeschlossen
werden konnten). Zudem kennt das hiermit offenbarte verbesserte
Mischsignal – Eindrahtbussystem
effiziente Verfahren zum Rücksetzen
aller Teilnehmer, zur Fehlerabsicherung, Fehlererkennung und Fehlermeldung,
und kann als universelles programmierbares Vermittlungsnetzwerk
für analoge
Signale benutzt werden.
-
Es
hat damit eine einzigartige Stellung in der Welt der Eindrahtbussysteme
erreicht und der Erfinder glaubt, dass es aufgrund seiner Leistungsfähigkeit
und durch bisher ungeahnte Möglichkeiten
kreativen Entwicklern aus aller Welt einen Ansporn liefert, vielseitige
und neuartige Anwendungsgebiete dafür zu finden. Auch wenn die
mannigfachen neuartigen Methoden und Verfahren der vorhergehenden
Beschreibung anhand von einem Eindrahtbussystem beispielhaft beschrieben
worden sind, lassen sich möglicherweise
einige der darin enthaltenen Ideen und Verfahren auch in nutzbringender
Weise auf Mehrdraht – Bussysteme
anwenden. Diese Varianten sind Kandidaten für mögliche Abzweigungen.
-
Es
wird geglaubt, daß die
vorliegende Erfindung besonders effektiv ist, wenn sie wie hierin
beschrieben konfiguriert und benutzt wird, jedoch werden diejenigen,
die in der Kunst bewandert sind, bereits erkennen, daß eine Vielzahl
von Variationen und Ersetzungen in der Erfindung und ihrer Anwendung und
Konfiguration gemacht werden können,
um im wesentlichen dieselben Resultate wie die Verkörperungen
zu erreichen, insbesondere der hierin beschriebenen bevorzugten
Verkörperung.
Jede Variation ist absichtlich in diese Beschreibung eingeschlossen
worden und bildet einen Teil der vorliegenden Erfindung. Die vorhergehende
detaillierte Beschreibung versteht sich deswegen nur zur Erläuterung
und als Beispiel, und der Geist und geistige Gesichtskreis der vorliegenden
Erfindung soll nur durch die angefügten Ansprüche beschränkt sein.
-
LITERATUR
-
- [1] U.S.
Pat. 4556958 , Ugon: "Device for single line bidirectional
data transmission between an intelligent card's microprocessor and a second processor"
- [2] U.S. Pat. 4736367 ,
Wroblevski et al.: "Smart
control and sensor devices single wire bus multiplex system"
- [3] U.S. Pat. 4817040 , Bodley-Scott: "Vehicle condition
monitoring system"
- [4] U.S. Pat. 5398326 , Lee: "Method for data communication"
- [5] U.S. Pat. 5412644 , Heberle: "Serial bus system with
a single-wire line"
- [6] U.S. Pat. 5809518 , Lee: "Command/data transfer protocol
for one-wire-bus architecture"
- [7] U.S. Pat. 6239732 , Cusey: "One-wire device with A-to-D
converter"
- [8] WO 00/62455
A1 , Wettroth et al: „Single wire bus interface
for multidrop applications"
- [9] U.S. Pat. 5936520 , Luitje
et al: „Analog
sensor status detection single wire bus multiplex system"
- [10] Deutsches Pat.
102005014133 , Engl: „Integrierte Schaltung mit
Mischsignal – Eindrahtschnittstelle und
Verfahren zu ihrem Betrieb."
-
- 1
- Teilnehmer
am Bus (Integrierter Schaltkreis)
- 5
- Anschluss
für positive
Versorgungsspannung
- 6
- Anschluss
für Bus
- 7
- Anschluss
für negative
Versorgungsspannung/Masse
- 8
- Kommandosignalleitung
für Kommandobit '1'
- 9
- Kommandosignalleitung
für Kommandobit '0'
- 11
- Analogsignaltreiber
- 14
- Analogsignalanschluss
- 19
- Mischsignal – Busleitung
- 21
- Wirt/Mikrocontroller
- 22
- positiver
Stromversorgungsanschluss von 21
- 23
- negativer
Stromversorgungsanschluss von 21
- 26
- Analog-zu-Digital-Wandler/Komparator
- 27
- positives
Ausgangstreiberelement von 21
- 28
- negatives
Ausgangstreiberelement von 21
- 29
- Nebenzweig
des Bussystems
- 30
- ranghöherer Zweig
des Bussystems
- 31
- rangniedrigerer
Zweig des Bussystems
- 32
- Koppelelement, „Hub"
- 33
- Ablaufsteuerung
von 32
- 34
- Kommandospannungstreiber
- 35
- Kommandospannungsquelle,
Kommandospannungspegel
- 36
- Analogschalter
- 37
- Treiber
für Digitalsignal
und Fehlersignal
- 38
- digitaler
Treiber für
rangniedrigeren Zweig
- 39
- Differenzverstärker als
Stromdetektor
- 40
- Komparator
für Spannungspegel
- 41
- Umgehungsverbindung
- 42
- autonomes
analoges Signal auf entkoppelten Zweig
- 43
- Verzögerungselement
- 44
- Kommandospannungsdetektor
- 45
- digitale
Logik
- 46
- Flankenzähler
- 47
- Dekoder
für Zählerstände
- 48
- Rücksetzsignal,
bei maximalem Zählerstand aktiv
- 49
- Oder – Gatter
- 50
- Rücksetzeingang
von 46
- 51
- Takteingang
von 46
- 52
- Kommando
zur Aktivierung eines rangniedrigeren Zweigs
- 53
- Kommando
an das Koppelelement
- 54
- Kommando
an den rangniedrigeren Zweig
- 55
- Parameter
für 54
- 56
- Prüfsumme,
vom Wirt berechnet
- 57
- Prüfsumme,
vom Koppelelement berechnet
- 58
- Gegentreiben
des Wirts
- 59
- Analogsignal
- 60
- Logikpegeldetektor,
Flankendetektor, Rücksetzsteuerung
- 61
- digitale
Logik von 60
- 62,
- Treiber
für Buskeeper
- 63
- Ausgangswiderstand
von 62
- 64
- Schmitt – Trigger
- 65
- zweiter
Kommandospannungsdetektor
- 67
- Analogmultiplexer
- 68
- Analogsignalverbindungsschalter
- 69
- Analogsignalverbindungstreiber
- 70
- Ablaufsteuerung
- 71
- Stromdetektionsausgang
von 11
- 72
- Kommandospannungsschalter
- 73
- Widerstand
von 34
- 74
- Widerstand
für Einstellung
der Strombegrenzung von 37
- 75
- N – Kanal – MOSFET
- 76
- P – Kanal – MOSFET
- VH
- Schwellenspannung
für logisch '1'
- VL
- Schwellenspannung
für logisch '0'