DE19752031C2 - Verfahren und Schaltungsanordnung zur selektiven digitalen Übertragung von Bitfolgen - Google Patents
Verfahren und Schaltungsanordnung zur selektiven digitalen Übertragung von BitfolgenInfo
- Publication number
- DE19752031C2 DE19752031C2 DE1997152031 DE19752031A DE19752031C2 DE 19752031 C2 DE19752031 C2 DE 19752031C2 DE 1997152031 DE1997152031 DE 1997152031 DE 19752031 A DE19752031 A DE 19752031A DE 19752031 C2 DE19752031 C2 DE 19752031C2
- Authority
- DE
- Germany
- Prior art keywords
- bit
- register
- data
- control
- subordinate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/14—Arrangements for detecting or preventing errors in the information received by using return channel in which the signals are sent back to the transmitter to be checked ; echo systems
Description
Die Erfindung betrifft ein Verfahren und eine Schaltungsanordnung zur
selektiven digitalen Übertragung von Bitfolgen zwischen einem überge
ordneten Schaltungsteil und einem untergeordneten Schaltungsteil. In
Übernahme aus dem englischsprachigen Raum spricht man im Zusam
menhang mit einem übergeordneten und einem untergeordneten Schal
tungsteil auch häufig von Master und Slave. Für den übergeordneten
Schaltungsteil ist auch der Begriff Host gebräuchlich. Bei praktischen
Ausführungsformen kann der übergeordnete Schaltungsteil ein Microcon
troller und der untergeordnete Schaltungsteil ein Funktionsblock mit
Funktionseinrichtungen wie Steuereinrichtungen und Meßeinrichtungen
sein.
Üblicherweise wirken der übergeordnete Schaltungsteil und der unterge
ordnete Schaltungsteil über ein Bussystem zusammen, mit dem digitale
Signale zwischen dem übergeordneten Schaltungsteil und dem unterge
ordneten Schaltungsteil übertragen werden können. Die Signalübertra
gung über das Bussystem unterliegt einem definierten Protokoll, wobei
man häufig von einem Busprotokoll spricht.
Ein bekanntes Bussystem ist das sogenannten SPI (Serial Peripheral
Interface).
Aus der WO 96/21974 A ist ein SPI für die Signalverteilung zwischen
Glückspielautomaten in einem Spielsaal bekannt, bei welchem Signale
von einem Leistungstreiberchip mittels einer SPI-Schnittstelle an Aus
gangskanäle geliefert werden. Jeder Ausgangskanal ist gegen Kurzschluß
und Überspannung geschützt, wobei zu Diagnosezwecken im Fall eines
Kurzschlusses oder einer offenen Leitung eine Fehlerrücklesung statt
findet.
Ein Rücklesen findet auch bei einem aus der DE 19 54 700 A bekannten
Kommunikationsnetz mit einer Vielzahl über eine Busleitung verbunde
ner Netzknoten statt. Dabei leitet ein empfangender Netzknoten Em
pfangsdaten an einen sendenden Netzknoten zurück, wenn er in den
Empfangsdaten keine Fehler detektiert hat.
Zu einem SPI-Bussystem gehört ein SPI-Bus-Protokoll. Dieses ist bei
spielsweise dargestellt in dem vom Februar 1997 stammenden Datenblatt
der Firma Aureal Semiconductor, betreffend die Schaltung VSP 901,
Seiten 12 und 13.
Die in Fig. 7 dieser Veröffentlichung gezeigte Signaldarstellung ist in
der beiliegenden Fig. 13 gezeigt. Dabei bedeuten:
SCK: Serieller Takt
HREQ: Host-Anforderungssignal
SS: Slave-Auswahlsignal
MOSI: Master Out Slave In (Übertragung vom Master zum Slave)
MISO: Master In Slave Out (Übertragung vom Slave zum Master
SPICMD: Zusätzliches Signal, welches das SPI-Proto koll um die Angabe erweitert, ob der Master auf den SPI-Bus eine Registeradresse oder Registerdaten gegeben hat.
SCK: Serieller Takt
HREQ: Host-Anforderungssignal
SS: Slave-Auswahlsignal
MOSI: Master Out Slave In (Übertragung vom Master zum Slave)
MISO: Master In Slave Out (Übertragung vom Slave zum Master
SPICMD: Zusätzliches Signal, welches das SPI-Proto koll um die Angabe erweitert, ob der Master auf den SPI-Bus eine Registeradresse oder Registerdaten gegeben hat.
Anhand von Fig. 13 werden nun kurz einige Betriebsmerkmale des SPI-
Bus-Protokolls betrachtet.
Das Signal HREQ weist einen Logikwert L (LOW) auf, wenn der
Master für den Empfang eines 24-Bit-Datenwortes bereit ist. Der Slave
ist mit dem Master über eine Slave-Auswahlleitung SS verbunden. Über
diese Slave-Auswahlleitungen teilt der Host dem Slave mit, wenn er an
den Slave jeweilige Dateninformation senden möchte. Das jeweilige
Datenwort wird über die MOSI-Leitungen vom Host oder Master zum
Slave übertragen und ein zuvor übertragenes Datenwort wird über die
MISO-Leitung zum Master oder Host zurückübertragen. Beim ersten
Taktimpuls des nächsten zu übertragenden Datenwortes wird HREQ vom
Master auf den Logikwert H (HIGH) gesetzt. Der Master tastet
SPICMD ab und setzt HREQ auf H, wenn, er zum Empfang des näch
sten Datenwortes bereit ist. Wenn SPICMD auf L ist, weist dies auf die
Übertragung einer Registeradresse hin. Ist SPICMD auf dem Wert H,
zeigt dies die Übertragung eines Registerwertes an. Der Host deaktiviert
die SS-Leitung, nachdem er das letzte Bit in den Master geschrieben hat.
Deaktiviert der Host die SS-Leitung des empfangenden Masters bevor
dem Ende der Datenwortübertragung, weil der Host erst eine andere
Aufgabe mit höherer Priorität erledigen muß, wird die Datenwortüber
tragung abgebrochen und verwirft der Master die empfangenen Daten.
Fig. 12 zeigt in Blockschaltbilddarstellung eine für das SPI-Protokoll
geeignete Schaltungsanordnung mit einem übergeordneten Schaltungsteil
in Form beispielsweise eines Microcontrollers µC, mit einer seriellen
Schnittstelle SI und mit einem untergeordneten Schaltungsteil in Form
eines Multifunktionsblockes MFB, in dem beispielsweise sechs
Funktionen FB1 bis FB6 untergebracht sind. Insgesamt benötigen die
Funktionen FB1 bis FB6 beispielsweise ein Datenfeld mit einer Daten
feldbreite oder Datenbitzahl von 30. Ein die serielle Schnittstelle SI und
den Multifunktionsblock MFB verbindender Datenbus DB weist daher
eine entsprechende Datenfeldbreite von 30 Bit auf. Der Microcontroller
µC und die serielle Schnittstelle SI sind über drei Anschlüsse mitein
ander verbunden: einem Serielleingang Sin, über welchen serielle Bitfol
gen vom Microcontroller µC an die serielle Schnittstelle SI übertragen
werden können, einem Seriellausgang Sout, über welchen serielle Bitfol
gen von der serielle Schnittstelle SI an den Microcontroller µC über
tragen werden können, und einem Taktanschluß CLK, über welchen der
seriellen Schnittstelle SI ein Systemtakt zugeführt werden kann.
Bei einer Datenübertragung müssen jedesmal die Daten für alle
Funktionen FB1 bis FB6 übertragen werden. Es ist somit jedesmal eine
Datenübertragung mit einer Datenbreite von 30 Bit erforderlich. Muß
eine Funktion umprogrammiert werden, muß ein Überschreiben aller
Funktionnen FB1 bis FB6 erfolgen. Dies bringt das Risiko mit sich, daß
Funktionen, deren Programmierung an sich unverändert bleiben soll,
fälschlicherweise anders programmiert werden.
Das SPI-Protokoll ist mit einigen Problemen behaftet.
- 1. Wenn während der Übertragung vom Master zum Slave ein Daten wert korrumpiert wird, wird der korrumpierte oder verfälschte Datenwert in das Zielregister des Slave geschrieben, ohne daß der Master davon erfährt, ob eine korrekte oder inkorrekte Datenüber tragung stattgefunden hat.
- 2. Wenn ein Datenwert innerhalb eines Slaves korrumpiert wird, wird der Master hiervon nicht benachrichtigt. Um dieses Problem zu überwinden, müßten eine (beim SPI-Protokoll nicht vorgesehene) Überprüfung des gesamten Rücklesevorgangs und eine erneute Schreiboperation durchgeführt werden. Dies würde Belegungszeit des Masters kosten und die gesamte Datenübertragung verzögern.
- 3. Das SPI-Protokoll verwendet eine feste Datenwortlänge. Jedes Bit innerhalb dieser festen Datenwortlänge hat eine bestimmte Funktion. Wird einer der Master oder der Slaves hinsichtlich einer oder eines Teils seiner Funktionen geändert, müssen alle Funktionen neu pro grammiert werden, auch die nicht zu ändernden Funktionen. Das heißt, auch die nicht neu zu programmierenden Funktionen müssen neu überschrieben werden. Dies erhöht die Gefahr einer fälschlichen Programmierungsänderung.
- 4. Sollen eine oder mehrere Funktionen nachträglich hinzugefügt wer
den, erfordert dies in der Regel eine hardwaremäßige Änderung.
Die zwischen Master und Slave angeordnete Schnittstelle ist für die fest vorgegebene Datenwortlänge ausgelegt, bei dem in Fig. 12 gezeigten Beispiel für eine Datenwortlänge von 30 Bit. Wird durch das Hinzufügen zusätzlicher Funktionen eine Vergrößerung der Datenwortlänge erforderlich, müssen sowohl die Schnittstelle als auch die Ablaufsteuerung geändert werden.
Mit der vorliegenden Erfindung sollen solche Probleme überwunden
werden. Insbesondere sollen höhere Flexibilität hinsichtlich Funktions
änderungen und Funktionserweiterungen und eine erhöhte Sicherheit
hinsichtlich korrekter Datenübertragung erreicht werden.
Zu diesem Zweck macht die Erfindung ein Verfahren gemäß Anspruch 1
und eine Schaltungsanordnung gemäß Anspruch 12 verfügbar, die gemäß
den Ansprüchen 2 bis 11 bzw. 13 bis 31 vorteilhaft weitergebildet wer
den können. Außerdem wird ein Prüfbitgenerator gemäß Anspruch 32
geschaffen und kann entsprechend den Ansprüchen 33 und 34 weiterge
bildet werden, der sowohl für das Verfahren als auch für die Schaltungs
anordnung nach vorausgeehenden Ansprüchen als auch als solcher Be
deutung hat.
Das erfindungsgemäße Verfahren liefert ein Bus-Protokoll zur selektiven
digitalen Übertragung von Bitfolgen zwischen einer übergeordneten
Einrichtung und mehreren selektiv ansteuerbaren untergeordneten Ein
richtungen über eine dazwischen befindliche Schnittstelleneinrichtung,
wobei Bitfolgen vorbestimmter maximaler Rahmenlänge mit einem die
jeweils anzusteuernde untergeordnete Einrichtung adressierenden Adres
senfeld, mit einem Steuerinformation enthaltenden Steuerfeld und mit
einem Datenfeld verwendet werden. Während das Adressenfeld und das
Steuerfeld je eine vorbestimmte Feldlänge bzw. Bitzahl aufweisen, kann
das Datenfeld für die untergeordnete Einrichtung unterschiedliche Feld
längen oder Datenbitzahlen aufweisen, solange das Datenfeld eine (frei
wählbare) maximale Datenbitzahl nicht übersteigt. Die seriell übertrage
nen Bitfolgen werden der Reihe nach in aufeinanderfolgende Register
stufen eines Schnittstellenregisters geschrieben und zur übergeordneten
Einrichtung rückgelesen. Das Rücklesen erfolgt Registerstufe für Regi
sterstufe unmittelbar nach dem Einschreiben in die jeweilige Register
stufe, wobei das Einschreiben in eine Registerstufe und das Rücklesen
aus dieser Registerstufe während desselben Taktimpulses passieren. Die
übergeordnete Einrichtung vergleicht das aus der jeweiligen Register
stufe rückgelesene Bit mit dem für diese Registerstufe gesendeten Bit.
Wenn der rückgelesene Speicherinhalt irgendeiner der Registerstufen mit
dem von der übergeordneten Einrichtung für diese Registerstufe gesen
deten Bit nicht übereinstimmt, sperrt die übergeordnete Einrichtung die
Übertragung der jeweils gesendeten Bitfolge an die jeweils adressierte
untergeordnete Einrichtung.
Durch dieses Verfahren wird sichergestellt, daß ein in das Schnittstellen
register inkorrekt eingelesenes Bit sofort als inkorrekt erkannt wird und
daß Taktfehler, beispielsweise das Ausbleiben eines oder mehrerer Takt
impulse, erkannt werden. Im Fall einer korrupten Bitfolge wird diese
nicht erst zur adressierten untergeordneten Einrichtung übertragen, weil
die Korrumpierung erst bei einer Überprüfung nach dem Aussenden der
gesamten Bitfolge auffällt, sondern die Übertragung an die adressierte
untergeordnete Einrichtung wird gar nicht erst freigegeben, wenn die
bitweise ablaufende Überprüfung einen Fehler in der jeweils in das
Schnittstellenregister eingelesenen Bitstelle feststellt.
Erfindungsgemäß wird jeder der einzelnen Funktionen eine eigene unter
geordnete Einrichtung zugeordnet. Die einzelnen untergeordneten Ein
richtungen können separat adressiert werden und können mit verschiede
nen Datenfeldlängen arbeiten.
Die Datenfeldlänge, die einer bestimmten untergeordneten Einrichtung
zugeordnet ist, kann in dem Adressenkode für diese untergeordnete
Einrichtung untergebracht werden. Aus der jeweiligen Adresse ist dann
für die übergeordnete Einrichtung erkennbar, wie groß die Datenfeld
länge der adressierten untergeordneten Einrichtung ist und wann ein
Bitfolge-Ende-Signal gesetzt werden kann. Kommen neue untergeordnete
Einrichtungen hinzu, verschlüsselt man deren Datenfeldlänge in deren
Adresse. Daher kann man problemlos neue untergeordnete Einrichtungen
mit beliebigen Datenfeldlängen hinzufügen, solange diese Datenfeld
längen unter der für das gesamte System eingerichteten maximalen
Datenfeldlänge liegen. Möchte man besonders flexibel bleiben, kann
man die maximale Datenfeldlänge hoch ansetzen, um später noch unter
geordnete Einrichtungen mit hohem Datenfeldlängenbedarf zufügen zu
können. Hierzu bedarf es keiner hardwaremäßigen Änderung hinsichtlich
der übergeordneten Einrichtung, der Schnittstellen oder der Ablauf
steuerung.
Besonders einfach ist die Datenfeldlängenkodierung innerhalb der Adres
sen, wenn man den einzelnen Adressen Plätze innerhalb einer vorbe
stimmten Adressenreihenfolge in einem Adressenregister zuordnet,
wobei der Stelle einer bestimmten Adresse innerhalb der Adressen
reihenfolge eine bestimmte Datenfeldlänge zugeordnet ist.
Bei einer bevorzugten Ausführungsform der Erfindung hat das Steuerfeld
der zu übertragenden Bitlänge die Länge nur eines Bits. Das Steuerbit
einer von der übergeordneten Einrichtung ausgesendeten Bitfolge gibt
Auskunft darüber, ob ein Schreib- oder ein Lesevorgang durchgeführt
werden soll. Wird während eines Vorgangs, während welchem Datenbits
von der übergeordneten Einrichtung zu einer untergeordneten Einrich
tung übertragen werden sollen, mit Hilfe des unmittelbaren Rücklesens
der in die einzelnen Registerstufen des Schnittstellenregisters geschriebe
nen Bits ein Fehler festgestellt, wird das Steuerbit aus der von der über
geordneten Einrichtung gesendeten Bitfolge dazu verwendet, das Ein
lesen der in das Schnittstellenregister geschriebenen Bitfolge in die
adressierte untergeordnete Einrichtung zu sperren.
In den von den untergeordneten Einrichtungen zur übergeordneten Ein
richtung übertragenen Bitfolgen kann das Steuerbit dazu verwendet
werden, der übergeordneten Einrichtung Statusinformation zu liefern.
Diese kann die Information geben, ob sich der Dateninhalt der jeweils
adressierten untergeordneten Einrichtung seit dem letzten Schreib-
und/oder Lesevorgang für diese untergeordnete Einrichtung geändert hat,
sei es aufgrund einer Datenverfälschung oder aufgrund neu vorliegender
Daten, beispielsweise weil es sich bei der untergeordneten Einrichtung
um eine Sensor- oder Meßeinrichtung handelt.
Bei einer besonders bevorzugten Ausführungsform der Erfindung wird
das Steuerbit (gegebenenfalls alle Steuerbits) bei einer von der über
geordneten Einrichtung gesendeten Bitfolge ausgesondert und werden nur
das Adressenfeld und das Datenfeld an die untergeordneten Einrichtun
gen weitergeleitet. Die aus dem Steuerbit gewonnene Steuerinformation
wird über gesonderte Signalleitungen zu den untergeordneten Einrichtun
gen geschickt. Im Fall der Übertragung einer Bitfolge von einer unterge
ordneten Einrichtung an die übergeordnete Einrichtung wird in diese
Bitfolge ein (oder mehrere) Steuerbit, beispielsweise in Form des er
wähnten Statusbits, eingefügt, bevor die Bitfolge zur übergeordneten
Einrichtung gelangt.
Zur Erzeugung eines Statusbits für die übergeordnete Einrichtung sieht
eine Ausführungsform der Erfindung eine Prüfbiterzeugung vor, bei
welcher aus einer zwischen der übergeordneten Einrichtung und einer
untergeordneten Einrichtung übertragenen Bitfolge ein Prüfbit erzeugt
und gespeichert wird. Bei der nächsten Übertragung einer Bitfolge zwi
schen der übergeordneten Einrichtung und derselben untergeordneten
Einrichtung wird wieder ein Prüfbit erzeugt und mit dem zuvor gespei
cherten Prüfbit verglichen. Aus diesem Vergleich wird ein Statusbit
erzeugt, mittels welchem der übergeordneten Einrichtung mitgeteilt
wird, ob sich der Dateninhalt der betroffenen untergeordneten Einrich
tung seit der vorausgehenden Übertragung einer Bitfolge zwischen bei
den geändert hat oder nicht.
Vorteilhafterweise erfolgt die Prüfbitspeicherung in einem Prüfbitregister
innerhalb der jeweiligen untergeordneten Einrichtung.
Eine erfindungsgemäße Schaltungsanordnung besitzt ein Schnittstellenre
gister und eine zwischen der übergeordneten Einrichtung und dem
Schnittstellenregister angeordnete Umsetzeinrichtung. Diese kann eine
Ablaufsteuereinrichtung und einen Multiplexer umfassen. Mittels der
Ablaufsteuereinrichtung gewonnene Steuersignale können einerseits dazu
verwendet werden, die Steuerbits aus der jeweiligen Bitfolge zu entneh
men bzw. in diese einzufügen, und können andererseits dazu verwendet
werden, das bitweise Einschreiben der von der übergeordneten Einrich
tung erhaltenen seriellen Bitfolge in die einzelnen Registerstufen des
Schnittstellenregisters sowie das Rücklesen der Speicherinhalte der ein
zelnen Registerstufen des Schnittstellenregisters in die übergeordnete
Einrichtung zu steuern. Zwischen die Umsetzeinrichtung, das Schnitt
stellenregister und die untergeordneten Einrichtungen kann eine Weiche
geschaltet sein, die in Abhängigkeit von der von der übergeordneten
Einrichtung erhaltenen Schreib/Lese-Information entweder die in das
Schnittstellenregister geschriebene Bitfolge sowohl zurück zur übergeord
neten Einrichtung als auch zu den untergeordneten Einrichtungen leitet
oder die aus einer adressierten untergeordneten Einrichtung gelesene
Bitfolge zur übergeordneten Einrichtung leitet.
Zur Prüfbiterzeugung wird bevorzugtermaßen eine Reihenschaltung aus
mehreren XOR-Gliedern verwendet. Dem ersten XOR-Glied dieser
Reihenschaltung werden das erste und das zweite Bit der zu prüfenden
Bitfolge zugeführt. Den weiteren XOR-Gliedern werden ein weiteres Bit
der Bitfolge und ein Ausgangssignal des je vorausgehenden XOR-Gliedes
zugeführt. Am Ausgang des letzten XOR-Gliedes steht das Prüfbit zur
Verfügung.
Bei einer Weiterbildung dieses Prüfbitgenerators ist dem letzten XOR-
Glied dieser Reihenschaltung ein weiteres XOR-Glied nachgeschaltet,
dem einerseits das jeweilige aktuelle Prüfbit und andererseits das gespei
cherte vorausgehende Prüfbit zugeführt wird und an dessen Ausgang ein
Informationssignal abnehmbar ist, das Auskunft darüber gibt, ob sich
zwischen den Zeitpunkten von vorausgehender Prüfbiterzeugung und
aktueller Prüfbiterzeugung die jeweils überprüfte Bitfolge geändert hat.
Das Ausgangssignal des weiteren XOR-Gliedes kann somit als Status
signal verwendet werden, das als Steuerbit in eine zur übergeordneten
Einrichtung zu übertragende Bitfolge eingefügt werden kann.
Diese Art Prüfbitgenerator hat Bedeutung sowohl im Zusammenhang mit
dem erfindungsgemäßen Protokoll in Form des erfindungsgemäßen
Verfahrens und der erfindungsgemäßen Schaltungsanordnung als auch
unabhängig davon. Einen derartigen Prüfbitgenerator kann man unab
hängig von dem erfindungsgemäßen Protokoll überall dort einsetzen, wo
für Bitfolgen ein Prüfbit erzeugt werden soll, möglicherweise unter
zusätzlicher Erzeugung eines Änderungsinformationssignals.
Die Erfindung sowie weitere Aufgaben, Aspekte und Vorteile der Erfin
dung und von Ausführungsformen der Erfindung werden nun anhand
von Ausführungsbeispielen näher erläutert. In den Zeichnungen zeigen:
Fig. 1 eine Ablaufdarstellung eines erfindungsgemäßen Protokolls;
Fig. 2 eine Ausführungsform einer erfindungsgemäßen Schaltungs
anordnung in Blockdarstellung;
Fig. 3 eine Ablaufsteuereinrichtung der in Fig. 2 gezeigten Schal
tungsanordnung;
Fig. 4 einen Multiplexer der in Fig. 2 gezeigten Schaltungsanordnung;
Fig. 5 eine Schalterstufe des in Fig. 4 gezeigten Multiplexers;
Fig. 6 eine Umschalteinrichtung des in Fig. 4 gezeigten Multiplexers;
Fig. 7 ein Schnittstellenregister der in Fig. 2 gezeigten Schaltungs
anordnung;
Fig. 8 eine Weiche in Darstellung mit Symbolen für elektronische
Schalter;
Fig. 9 einen Prüfbitgenerator der in Fig. 2 gezeigten Schaltungsan
ordnung;
Fig. 10 eine untergeordnete Einrichtung der in Fig. 2 gezeigten Schal
tungsanordnung;
Fig. 11 ein Blockschaltbild einer seriellen Schnittstelle und mehrerer
Funktionsblöcke bei erfindungsgemäßer Ausgestaltung;
Fig. 12 eine serielle Schnittstelle und einen einzigen Multifunktions
block bei Ausgestaltung nach dem SPI-Protokoll; und
Fig. 13 die Darstellung eines bekannten SPI-Protokolls.
Fig. 12 zeigt eine für das herkömmliche SPI-Protokoll geeignete
Schaltungsanordnung mit einem Microcontroller µC einer seriellen
Schnittstelle SI und einem Multifunktionsblock MFB, wobei die serielle
Schnittstelle SI und der Multifunktionsblock MFB über einen Datenbus
DB mit einer Datenfeldlänge von 30 Bit miteinander verbunden sind.
Über den Multifunktionsblock MFB werden verschiedene Funktionen
FB1 bis FB6 gesteuert.
Über den Datenbus DB werden die in Fig. 13 (mit anderer Bitzahl
gezeigten Bitfolgen übertragen, und zwar von der seriellen Schnittstelle
SI zum Multifunktionsblock MFB oder umgekehrt. Die serielle Schnitt
stelle SI empfängt über einen seriellen Eingang Sin eine serielle Bitstelle
beispielsweise von einem Microcontroller und sendet über einen seriellen
Ausgang Sout Bitfolgen an den Microcontroller. Der Multifunktions
block MFB ist außerdem an eine Select-Leitung SL angeschlossen, über
welche das Slave-Select-Signal SS der Fig. 13 zugeführt wird, wenn der
dargestellte Multifunktionsblock MFB zum Datenaustausch mit der
seriellen Schnittstelle SI und damit mit dem Microcontroller ausgewählt
ist.
Mit der Datenbitfolge gemäß Fig. 13 werden an den Multifunktionsblock
MFB bei jedem Schreibvorgang sämtliche Steuer- oder Funktionsdaten,
die sich in den einzelnen Bitstellen der Datenbitfolge befinden, über
tragen. Bei einer Umprogrammierung beispielsweise nur einer der Teil
funktionen des Multifunktionsblocks muß eine Umprogrammierung des
gesamten Datenfeldes erfolgen, also auch hinsichtlich Funktionen, die
nicht geändert werden sollen. Dies bringt das Risiko mit sich, daß bei
einer solchen Umprogrammierung Programmierungsfehler hinsichtlich
nicht zu ändernder Funktionen eingebracht werden.
Da nach dem SPI-Protokoll in die übergeordnete Einrichtung, bei dem
betrachteten Beispiel in den Microcontroller, Datenbitfolgen oder Daten
wörter erst zu dem Zeitpunkt rückgelesen werden, zu welchem der
Microcontroller ein neues Datenwort sendet, kann dieses Rücklesen nicht
zur Feststellung verwendet werden, ob bei der vorausgehenden Daten
wortübertragung ein oder mehrere Datenbits korrupt waren. Das
Korruptwerden von Datenbits bei der Übertragung kann somit nicht
festgestellt werden. Das nach dem SPI-Protokoll vorgesehene Abbrechen
einer Datenwortübertragung findet statt, wenn einem anderen Arbeitsvor
gang als der gerade laufenden Datenübertragung eine höhere Priorität
eingeräumt und die laufende Datenübertragung deshalb abgebrochen
wird. Der Abbruch oder die Verhinderung einer Datenwortübertragung
wegen des Feststellens von korruptgewordenen Daten findet nicht statt.
Die Erfindung geht einen anderen Weg. Wie Fig. 11 zeigt, ist bei dem
erfindungsgemäßen Konzept anstelle des einzigen Multifunktionsblockes
MFB in Fig. 12 eine Anzahl von einzelnen, separaten Funktionsblöcken
FB1 bis FB6 vorgesehen, die alle über den Datenbus DB mit der seriel
len Schnittstelle SI verbunden sind. In den zu den Funktionsblöcken FB1
bis FB6 weisenden Pfeilspitzen des Datenbusses DB sind Zahlen angege
ben, welche die Datenfeldlänge angeben, welche von dem jeweiligen
Funktionsblock für die Ausübung seiner Funktion benötigt wird. Man
sieht also, daß eine Bitfolge, die von der übergeordneten Einrichtung zu
einem Funktionsblock geschickt wird, eine Datenfeldlänge von 2 Daten
bits benötigt, wenn der Funktionsblock FB1 adressiert ist, eine Daten
feldlänge von 4 Datenbits benötigt, wenn einer der Funktionsblöcke FB2
bis F4 adressiert ist, und eine Datenfeldlänge von 8 Datenbits braucht,
wenn Funktionsblock F5 oder FB6 adressiert ist.
Wird von der übergeordneten Einrichtung eine Bitfolge abgeschickt,
gelangen deren Adressenfeld und deren Datenfeld an alle Funktions
blöcke FB1 bis FB6. Der adressierte Funktionsblock erkennt, daß er ge
meint ist, und übernimmt das Datenfeld der gesendeten Bitfolge in ein
Datenfeldregister. Anhand der Adresse weiß die übergeordnete Einrich
tung, wie groß die Datenfeldlänge des jeweils adressierten Funktions
blockes ist. Von den Rahmenanfangs- und Rahmenende-Signalen, welche
die übergeordnete Einrichtung bei Beginn und beim Ende einer abgesen
deten seriellen Bitfolge liefert, wird das Rahmenende-Signal in Ab
hängigkeit von dem jeweils adressierten Funktionsblock variabel gesetzt,
wenn nämlich die Datenbitzahl gesendet ist, die der Datenfeldlänge des
adressierten Funktionsblockes entspricht.
In den Fig. 11 und 12 sind je zwischen dem Microcontroller und der
seriellen Schnittstelle SI Schnittstellenanschlüsse gezeigt, wobei Sin
einen Anschluß für eine eingehende serielle Bitfolge, Sout einen An
schluß für eine ausgehende serielle Bitfolge und CLK ein Anschluß für
einen Takt ist.
Ein Beispiel eines Protokolls zur Durchführung des erfindungsgemäßen
Verfahrens ist in Fig. 1 gezeigt. Die drei dargestellten Signale sind je
mit der Bezeichnung desjenigen Schnittstellenanschlusses versehen, dem
sie zugeführt werden bzw. von dem sie abgenommen werden.
Wird von der übergeordneten Einrichtung, wobei im folgenden der
Einfachheit halber von einem Microcontroller gesprochen wird, eine
serielle Bitfolge geliefert, wird diese (in Fig. 1 nach links) der Reihe
nach unter Steuerung des Taktes CLK Bit für Bit in ein
Schnittstellenregister der seriellen Schnittstelle SI gelesen. Bei der in
Fig. 1 gezeigten Darstellung wird davon ausgegangen, daß das bitweise
Einlesen jeweils bei der ansteigenden Flanke des je zugehörigen Takt
impulses vorgenommen wird. Unmittelbar nach dem Einschreiben eines
Bits, nämlich noch innerhalb desselben Taktimpulses, erfolgt das Rück
lesen des Speicherinhaltes, der zu diesem Bit gehört und während dieses
Taktes gerade in das Schnittstellenregister geschrieben worden ist, in den
Microcontroller. Dort wird anhand der Bitstelle des jeweils in das
Schnittstellenregister geschriebenen Bits bewertet, ob das für diese Bit
stelle rückgelesene Bit mit dem zur seriellen Schnittstelle SI gelieferten
Bit übereinstimmt. Ist dies der Fall, kann davon ausgegangen werden,
daß das jeweils bewertete Bit korrekt an das Schnittstellenregister über
tragen und in dieses geschrieben worden ist. Besteht keine Überein
stimmung zwischen dem für die betrachtete Bitstelle gesendeten Bit und
dem für diese Bitstelle rückgelesenen Bit, wird davon ausgegangen, daß
das betreffende Bit korrupt ist, nämlich entweder inkorrekt beim Schnitt
stellenregister angekommen oder inkorrekt im Schnittstellenregister
gespeichert worden ist.
Sind alle Bits der jeweiligen Bitfolge in das Schnittstellenregister einge
lesen worden, wird von dem Microcontroller das Rahmenende-Signal
geliefert. Im Anschluß an das Rahmenende-Signal ist ein sogenanntes
Discard-Bit vorgesehen. Dieses weist beispielsweise einen Logikwert L
auf, wenn die rückgelesene Bitfolge mit der an das Schnittstellenregister
geschickten Bitfolge übereinstimmt. Das Discard-Bit weist dagegen einen
Logikwert H auf, wenn mit Hilfe des Rücklesens festgestellt worden ist,
daß mindestens ein korruptes Bit vorliegt.
Wie Fig. 1 zeigt, enthält die serielle Bitfolge zunächst ein Adressenfeld
mit einer vorbestimmten Anzahl, beispielsweise drei, Adressenbits,
darauf folgend ein Steuerfeld mit vorzugsweise nur einem Steuerbit und
diesem folgend ein Datenfeld mit einer von dem adressierten Funktions
block (der adressierten untergeordneten Einheit) abhängenden Daten
bitzahl. Der Rahmenbeginn einer Bitfolge wird durch die fallende Flanke
des ersten Adressenbits signalisiert, während das Rahmenende der jewei
ligen Bitfolge durch die fallende Flanke des letzten Datenbits angezeigt
wird. Nach dem letzten Datenbit wird ein Übergang von "0" nach "1"
oder von L nach H als Rahmenende-Signal gesetzt. Wird nach dem
letzten Datenbit in den Microcontroller kein entsprechender Übergang
rückgelesen, geht der Microcontroller davon aus, daß eine inkorrekte
Bitfolgenübertragung an das Schnittstellenregister stattgefunden hat.
Im Steuerfeld der zur seriellen Schnittstelle gelieferten Bitfolge befindet
sich ein Schreib/Lese-Steuersignal W/R, mit welchem dem jeweils adres
sierten Funktionsblock mitgeteilt wird, ob er in den Schreibbetrieb ge
setzt werden soll, um ihn neue Daten übernehmen zu lassen, oder ob er
in den Lesebetrieb gesetzt werden soll, um seinen Dateninhalt an den
Microcontroller übertragen zu können.
Das Schreib/Lese-Steuersignal W/R wird der von dem Microcontroller
gesendeten Bitfolge entnommen, bevor diese in das Schnittstellenregister
geschrieben wird. Das entsprechende Steuerbit wird aber erst während
der Zeitlage des Discard-Bits an die Funktionsblöcke geliefert. Ist das
Steuerbit ein Schreibbefehl, wird dieser während der Zeitlage des Dis
card-Bit nur dann an die Funktionsblöcke geliefert, wenn durch den
Rücklesevorgang im Microcontroller festgestellt worden ist, daß eine
korrekte Datenübertragung an die serielle Schnittstelle stattgefunden hat.
Ist dagegen während des Rücklesens mindestens ein korruptes Bit festge
stellt worden, wird die Abgabe eines Schreibsteuersignals während der
Zeitlage des Discard-Bits unterdrückt, so daß ein Einschreiben einer
korrupten Bitfolge in den jeweils adressierten Funktionsblock verhindert
wird. Gleichermaßen wird verfahren, wenn nach dem Ende des letzten
Datenbits kein Übergang von L nach H festgestellt worden ist, weil in
diesem Fall davon auszugehen ist, daß eine inkorrekte Bitfolgenüber
tragung stattgefunden hat, beispielsweise aufgrund fehlerhafter Takt
impulse am Ort des Schnittstellenregisters oder aufgrund fehlerhafter
Nutzung der am Schnittstellenregister korrekt angekommenen Takt
impulse.
Da immer von dem Microcontroller bestimmt wird, ob die jeweilige
Bitfolge in einen Funktionsblock geschrieben oder aus einem Funktions
block ausgelesen werden soll, braucht die auf dem Auslesen eines Funk
tionsblocks beruhende, zum Microcontroller geschickte Bitfolge kein
Steuerbit zu enthalten, welches einen Steuerbefehl hinsichtlich Lesen
oder Schreiben enthält. Solche der Übertragung von einem Funktions
block zum Microcontroller dienenden Bitfolgen werden auf ihrem Weg
zum Microcontroller in ihrem Steuerbitfeld mit einem andersartigen
Steuerbit versehen. Vorzugsweise handelt es sich dabei um ein Statusbit,
welches dem Microcontroller anzeigt, ob sich der Dateninhalt eines
Funktionsblockes seit dem letzten Schreib- oder Lese-Zugriff zu diesem
Funktionsblock geändert hat, sei es aufgrund von Störungen oder sei es
aufgrund von Übernahme neuer Daten in den Funktionsblock, beispiels
weise wenn dieser ein Meß- oder Sensorfunktionsblock ist. Der Micro
controller kann dann entsprechend auf das Statussignal reagieren.
In Fig. 1 sind die beiden Rahmen für die serielle Bitfolge, die in das
Schnittstellenregister geschrieben wird (Sin), und der Rahmen der Bitfol
ge, die in den Microcontroller rückgelesen wird (Sout), etwas zeitlich
versetzt. Der Grund hierfür ist, daß die einzelnen Registerstufen, aus
denen das Schnittstellenregister besteht und bei denen es sich vorzugs
weise je um ein Flipflop handelt, eine bestimmte Verzögerungszeit
aufweisen zwischen dem Zeitpunkt, zu welchem der Vorgang des Ein
schreibens eines Bits beginnt, und dem Zeitpunkt, zu welchem dieses Bit
gespeichert und aus dieser Registerstufe wieder auslesbar ist.
Das erfindungsgemäße Protokoll erlaubt hohe Flexibilität. Da für die
einzelnen Funktionsblöcke unterschiedliche Datenfeldlängen möglich
sind, kann auch die Rahmenlänge der jeweils übertragenen Bitfolgen
entsprechend variabel sein, so daß beispielsweise dann, wenn häufig
Bitfolgen an Funktionsblöcke mit kurzer Datenfeldlänge übertragen
werden, insgesamt eine verkürzte mittlere Rahmenübertragungszeit
erreicht werden kann. Aufgrund der variablen Datenfeldlänge können
auch neue Funktionsblöcke hinzugenommen werden, ohne hardware
mäßige Änderungen durchführen zu müssen, solange nur die Daten
feldlänge des neu hinzugekommenen Funktionsblockes eine maximale
Datenfeldlänge, die für das gesamte System gewählt worden ist, nicht
übersteigt. Die Neuprogrammierung irgendeines der Funktionsblöcke
kann für diesen alleine durchgeführt werden, ohne auch für alle anderen
Funktionsblöcke eine Neuprogrammierung vornehmen zu müssen.
Die übergeordnete Einrichtung, zum Beispiel der Microcontroller, ist
immer über die Qualität der Datenübertragung und darüber, ob sich der
Dateninhalt in den Funktionsblöcken geändert hat oder nicht, informiert.
Bei bestimmten Anwendungen mag es vorteilhaft sein, den Dateninhalt
mindestens eines Teils der Funktionsblöcke nach einem Datenübertra
gungsvorgang in einen vorbestimmten Anfangszustand rückzusetzen.
Dies kann durch Übertragung eines Rücksetz-Steuerbefehls während der
Zeitlage des Discard-Bits geschehen.
Anhand der Fig. 2 bis 11 wird nun eine bevorzugte Ausführungs
form einer erfindungsgemäßen Schaltungsanordnung zur Durchführung
eines erfindungsgemäßen Verfahrens betrachtet.
Fig. 1 zeigt in Blockschaltbildform eine Gesamtdarstellung einer erfin
dungsgemäßen Schaltungsanordnung mit einer Ablaufsteuereinrichtung
B1, einem Multiplexer B2, einer Weiche B3, einem Schnittstellenregister
B4, einem Prüfbitgenerator B5 und zwei Funktionsblöcken FB1 und
FB2. Die Ablaufsteuereinrichtung B1, der Multiplexer B2, das Schnitt
stellenregister B4 und die Funktionsblöcke FB1 und FB2 sind je mit
einem Adressenbus ADR verbunden. Wie die Pfeile dieses Adressenbus
ses zeigen, handelt es sich dabei um ein bidirektionales Bussystem. Hin
sichtlich der Adressenbusverbindung zwischen dem Multiplexer B2 und
dem Schnittstellenregister B4 existieren zwei voneinander getrennte
Adressenbusse.
Die Ablaufsteuereinrichtung B1 und der Multiplexer B2 sind über einen
Steuerbus CONTROL miteinander verbunden, und zwar in Flußrichtung
von der Ablaufsteuereinrichtung B1 zum Multiplexer B2 hin.
Außerdem sind einige Datenbusse DATA vorgesehen. Dabei besteht eine
Datenverbindung vom Multiplexer B2 zum Schnittstellenregister B4
direkt und vom Schnittstellenregister B4 zum Multiplexer B2 über die
Weiche B3. Die Weiche ist außerdem an einen bidirektionalen Datenbus
DATA angeschlossen, der die Weiche B3 mit dem Prüfbitgenerator B5
und mit den Funktionsblöcken FB1 und FB2 verbindet.
Neben den Busleitungen, die in den Figuren durch Doppelstrichpfeile
gekennzeichnet sind, sind Signalleitungen vorgesehen, die durch ein
strichige Pfeile gekennzeichnet sind.
Von dem seriellen Eingangsanschluß Sin der seriellen Schnittstelle SI
gehen Signalleitungen zur Übertragung der von dem in Fig. 2 (nicht
dargestellten) Microcontroller gelieferten seriellen Bitfolge zu der Ab
laufsteuereinrichtung B1 und zum Multiplexer B2. Aus dem Multiplexer
B2 führt eine Ausgangsleitung an den seriellen Ausgangsanschlußt Sout
zur Übertragung einer seriellen Bitfolge zum Microcontroller. Der
Systemtakt CLK wird auf die Ablaufsteuereinrichtung B1 und das
Schnittstellenregister B4 geführt. Von der Ablaufsteuereinrichtung B1 zu
den Funktionsblöcken FB1 und FB2 führen eine Schreibsteuerleitung
WR, eine Lesesteuerleitung RD und eine Rücksetzsteuerleitung RES.
Von der Schreibsteuerleitung WR und der Lesesteuerleitung RD führen
Abzweigungen zur Weiche B3. Vom Prüfbitgenerator B5 zu den
Funktionsblöcken FB1 und FB2 führt eine Leitung zur Übertragung des
jeweils aktuellen Prüfbits aPB, während von den Funktionsblöcken FB1
und FB2 zum Prüfbitgenerator B5 eine Leitung für die Übertragung
eines vorausgehend gespeicherten Prüfbits gPB führt. Vom Prüfbitge
nerator B5 ist eine Statussteuerleitung Q/N auf die Ablaufsteuerein
richtung B1 geführt. Außerdem wird der Ablaufsteuereinrichtung B1 ein
interner Takt CLKintern zugeführt.
Die einzelnen Blöcke der in Fig. 2 gezeigten Schaltungsanordnung sind
in den Fig. 3 bis 10 gezeigt und werden nun nacheinander hinsichtlich
ihres Aufbaus und ihrer Funktionsweise erläutert.
Eine Ausführungsform einer Ablaufsteuereinrichtung B1 ist in Fig. 3
gezeigt. Diese umfaßt einen adressenabhängig programmierbaren Bit
zähler BZ, einen Bitfolgendecoder BD und einen Timer T. Der Bitzähler
BZ ist mit dem Steuerdatenbus CONTROL verbunden, welcher vom
Bitzähler BZ erzeugte Steuerdaten zum Bitfolgendecoder BD liefert.
Außerdem ist der Bitzähler BZ mit dem Adressenbus ADR verbunden.
Der Systemtakt CLK wird dem Bitzähler BZ, dem Timer T und dem
Bitfolgendecoder BD zugeführt. Der Bitfolgendecoder BD ist außerdem
mit dem Anschluß Sin für die vom Microcontroller gelieferten Bitfolgen
verbunden. Der Bitfolgendecoder BD ist des weiteren mit den weg
führenden Steuerleitungen RES, WR und RD und mit der zuführenden
Steuerleitung Q/N verbunden. Außerdem besitzt der Bitfolgendecoder
BD eine Ausgangsleitung MX. Dem Timer T wird über die Leitung
CLKintern ein interner Takt zugeführt. Eine Ausgangsleitung RESET
des Timers ist auf einen Rücksetzeingang des Bitzählers BZ geführt.
Unter Steuerung der Adresse des jeweils adressierten Funktionsblocks
FB1 oder FB2 (wobei bei praktischen Ausführungsformen mehr Funk
tionsblöcke vorhanden sein können) wird der Bitzähler BZ adressenab
hängig programmiert. Durch diese Programmierung wird dem Bitzähler
BZ die Gesamtbitzahl der an den adressierten Funktionsblock zu senden
den Bitfolge mitgeteilt. Dadurch "weiß" der Bitzähler BZ, zu welchen
von ihm gezählten Taktimpulsen das Adressenfeld, das Steuerfeld und
das Datenfeld gehören und zu welcher Taktzeitlage das Discard-Bit fällig
ist. Mit dieser "Kenntnis" erzeugt der Bitzähler BZ Steuerdaten für den
Bitfolgendecoder BD. Anhand dieser Steuerinformation ermittelt der
Bitfolgendecoder BD, an welcher Bitstelle der über Sin eingegangenen
Bitfolge das Steuerbit auftritt, das je nach Bedeutungsinhalt des Steuer
bits zur Abgabe eines Schreibsteuersignals WR oder eines Lesesteuer
signals RD während der Zeitlage des Discard-Bits führt. Mit dem "Wis
sen", wann das Steuerbit fällig ist, kann der Bitfolgendecoder BD wäh
rend der Zeitlage des Steuerbits einer Bitfolge, die von einem Funktions
block zum Microcontroller zu leiten ist, ein Steuerbit in Form des Sta
tussignals Q/N einfügen, was mit Hilfe eines Steuersignals am Ausgang
MX des Bitfolgendecoders BD bewerkstelligt wird.
Mit Hilfe des Timers T wird überwacht, ob Systemtaktimpulse über den
Anschluß CLK eingehen. Zu diesem Zweck werden dem Timer T die
internen Taktimpulse über die Leitung CLKintern zugeführt. Bleibt ein
über CLK zugeführter Systemtakt für eine bestimmte Zeitdauer von
beispielsweise 1 ms aus, gibt der Timer T ein Rücksetzsignal über die
Rücksetzleitung RESET an den Bitzähler BZ, um diesen in seinen An
fangszustand zurückzustellen. Mit Hilfe des Timers T kann also festge
stellt werden, wenn Taktfehler auftreten oder das gesamte System durch
Einstellen der Systemtaktimpulse in einen Ruhezustand versetzt wird.
Der in Fig. 4 gezeigte Multiplexer B2 umfaßt einen Demultiplexer
DMX, eine Umschalteinrichtung B7 und eine Reihe von Schalterstufen
B8. Ausführungsformen einer Schalterstufe B8 und einer Umschaltein
richtung B7 sind in den Fig. 5 bzw. 6 gezeigt.
Die in den Fig. 5 und 6 gezeigten Dreiecke sind Symbole für elektroni
sche Schalter. Dabei sind die beiden Leitungen, die zur Spitze und zu
einer der Spitze gegenüberliegenden Dreiecksseite führen, die mittels des
elektronischen Schalters zu verbindenden oder voneinander zu trennen
den Signalleitungen, während die je zu einer weiteren Dreiecksseite
führende Leitung eine Schaltsteuerleitung ist.
Die in Fig. 5 gezeigte Schaltereinrichtung besitzt einen ersten Schalter
S1, einen zweiten Schalter S2 und einen ersten Inversschalter IS1. Die
Schalter S1 und S2 werden in einen leitenden Zustand geschaltet, wenn
einer Schaltsteuerleitung SSL1 ein Logikwert H oder "1" zugeführt
wird. Der Inversschalter IS1 gelangt in den leitenden Zustand, wenn
über die Steuerleitung SSL1 ein Logikwert L oder "0" zugeführt wird.
Entsprechendes gilt für einen zweiten Inversschalter IS2 und einen drit
ten Schalter S3 der in Fig. 6 gezeigten Umschalteinrichtung B7. Auch
hier gilt wieder, daß der dritte Schalter S3 in einen leitenden und der
zweite Inversschalter IS2 in einen nichtleitenden Zustand gelangen,
wenn über eine Steuerleitung SSL2 ein Logikwert H oder "1" zugeführt
wird, daß dagegen S3 sperrt und IS2 leitet, wenn über SSL2 ein Logik
wert L oder "0" zugeführt wird.
Dem Multiplexer B2 wird über einen Serielleingang Sin die von dem
Microcontroller gesendete Bitfolge zugeführt und über einen Seriellaus
gang Sout gibt der Multiplexer B2 eine an den Microcontroller zu lie
fernde Bitfolge ab.
Die Schalterstufenreihe des Multiplexers B2 weist eine Anzahl Schalter
stufen B8 auf, die gleich der Summe aus der Adressenbitzahl und der
maximalen Datenbitzahl ist. Jede Schalterstufe B8 besitzt einen über den
ersten Schalter S1 geführten Paralleleingang PE und einen über den
zweiten Schalter S2 geführten Paralleausgang PA. Die Paralleleingänge
PE der Schalterstufen B8 sind alle mit dem Serielleingang Sin verbun
den. Die Parallelausgänge PA der Schalterstufen B8 sind alle mit einer
Verbindungsleitung VL verbunden, die zu einem ersten Eingang E1 der
Umschalteinrichtung B7 führt. Die Steuerleitungen SSL1 sind mit je
einem zugehörigen Steuerausgang des Demultiplexers DMX verbunden.
Die Schaltsteuerleitung SSL2 ist mit einem weiteren Steuerausgang des
Demultiplexers DMX verbunden.
Die Umschalteinrichtung B7 ist über einen zweiten Eingang mit der
Ausgangsleitung MX des Bitfolgendecoders BD verbunden.
Eine Ausführungsform eines Schnittstellenregisters B4 ist in Fig. 7
gezeigt. Dieses umfaßt eine Reihe von Registerstufen FF, deren Anzahl
mit der Zahl der Schalterstufen B8 übereinstimmt, also mit der Summe
aus der Adressenbitzahl und der Datenbitzahl. Das Schnittstellenregister
B4 wird mit dem Systemtakt CLK derart beaufschlagt, daß sämtliche
Registerstufen FF gleichzeitig getaktet werden. Die einzelnen Register
stufen FF sind je parallel schreib- und lesbar. Zu diesem Zweck weist
jede Registerstufe FF einen Biteingang BE und einen Bitausgang BA
auf, die mit dem Paralleleingang PE bzw. dem Parallelausgang PA der
je zugehörigen Schalterstufe B8 verbunden sind. Die Verbindung
zwischen dem Multiplexer B2 und dem Schnittstellenregister B4 mittels
der Paralleleingänge PE und der Parallelausgänge PA bzw. mittels der
Biteingänge BE und der Bitausgänge BA geschieht über die zwischen
dem Multiplexer B2 und dem Schnittstellenregister B4 verlaufenden
Adressen- und Daten-Busleitungen ADR bzw. DATA.
Der Demultiplexer B2 und das Schnittstellenregister B4 wirken folgen
dermaßen zusammen:
Wenn über den Serielleingang Sin des Multiplexers B2 eine serielle
Bitfolge vom Microcontroller eingeht, werden die einzelnen Bits dieser
Bitfolge unter Steuerung des Demultiplexers DMX in Abhängigkeit von
den über den Steuerbus CONTROL gelieferten Steuerdakten taktweise
der Reihe nach über je eine der Schalterstufen B8 in die einzelnen
Registerstufen FF des Schnittstellenregisters B4 geschrieben. Während
der selben Taktzeitlage, während welcher das Einschreiben in eine be
stimmte Registerstufe FF stattfindet, wird der durch dieses Einlesen
erzeugte Speicherinhalt dieser Registerstufe über dieselbe zugehörige
Schalterstufe B8 ausgelesen und über die Verbindungsleitung VL und die
Umschalteinrichtung B7 auf den Seriellausgang Sout des Multiplexers
gegeben. Zu diesem Zweck werden die Schalter S1 und S2 der
betroffenen Schalterstufe B8 je leitend und deren Inversschalter IS1 nicht
leitend gesteuert, während der Schalters S3 der Umschalteinrichtung B7
leitend und deren Inversschalter IS2 nicht leitend gesteuert werden.
In allen anderen Schalterstufen B8 sind die Schalter S1 und S2 nicht
leitend und der Inversschalter IS1 leitend, so daß die damit zusammen
wirkenden Registerstufen FF des Schnittstellenregisters B4 ihren
Speicherinhalt über den Inversschalter IS1 mit dem Systemtakt zyklisch
neu einschreiben.
In Fig. 8 ist eine Ausführungsform für die Weiche B3 dargestellt, und
zwar mit Schaltersymbolen für elektronische Schalter, wie sie auch
schon in den Fig. 5 und 6 gezeigt sind. Die Weiche B3 besitzt einen
vierten Schalter S4 und einen fünften Schalters S5 sowie einen dritten
Inversschalter IS3. Über IS3 ist eine Verbindung zwischen dem vom
Schnittstellenregister B4 kommenden Datenbus und dem zum Multi
plexer führenden Datenbus herstellbar. Über S5 ist eine Verbindung
zwischen dem vom Schnittstellenregister B4 kommenden und dem mit
dem Prüfbitgenerator B5 und den Funktionsblöcken FB1 und FB2 ver
bindenden Datenbus herstellbar. Mittels S4 kann eine Verbindung
zwischen dem mit B5, FB1 und FB2 verbindenden Datenbus und dem zu
B2 führenden Datenbus hergestellt werden.
Liegt ein Schreibsteuerbefehl vor, sind die Schalter S5 und IS3 leitend
und der Schalter S4 nicht leitend gesteuert. Daher werden vom Schnitt
stellenregister B4 kommende Daten einerseits zum Multiplexer B2 und
andererseits zu dem Prüfbitgenerator B5 und den Funktionsblöcken FB1
und FB2 geleitet. Liegt ein Lesesteuerbefehl vor, sind S5 und IS3 nicht
leitend und ist S4 leitend gesteuert. In diesem Schaltzustand leitet die
Weiche B3 Daten auf dem mit B5, FB1 und FB2 verbindenden Datenbus
zum Multiplexer B2 weiter.
Eine in Fig. 9 gezeigte bevorzugte Ausführungsform eines Prüfbitgene
rators B5 besitzt eine Reihenschaltung mit XOR-Gliedern X1 bis X8, die
je zwei XOR-Eingänge und einen XOR-Ausgang aufweisen. Während
den beiden XOR-Eingängen des ersten XOR-Gliedes X1 je eines der
Datenbits des Datenbusses zugeführt werden, erhalten die beiden XOR-
Eingänge der XOR-Glieder X2 bis X7 je ein weiteres Bit des
Datenbusses und ein Ausgangssignal vom XOR-Ausgang des je voraus
gehenden XOR-Gliedes. Der XOR-Ausgang von X7 liefert ein Prüfbit,
das an jeden der beiden Funktionsblöcke FB1 bis FB2 geschickt wird
und außerdem auf einen XOR-Eingang des weiteren XOR-Gliedes X8
gegeben wird, dem über seinen zweiten XOR-Eingang ein Prüfbit von
dem Funktionsblock FB1 oder FB2 zugeführt wird. Am XOR-Ausgang
von X8 ist ein Änderungsanzeige- oder Statussignal Q/N abnehmbar.
Ein XOR-Glied mit zwei Eingängen liefert bekanntlich an seinem Aus
gang einen Logikwert "0", wenn beiden Eingängen der gleiche
Logikwert zugeführt wird, und einen Logikwert "1", wenn den beiden
Eingängen unterschiedliche Logikwerte zugeordnet werden. Ein be
stimmtes Datenbitmuster auf dem Datenbus DATA führt daher zu einem
ganz bestimmten Prüfbit am Ausgang des XOR-Gliedes X7. Dieses ist
das jeweils aktuelle Prüfbit aPB, das in einen Prüfbitspeicher des jeweils
adressierten der beiden Funktionsblöcke FB1 und FB2 geschickt wird.
Mittels des weiteren XOR-Gliedes X8 wird das jeweils aktuelle Prüfbit
mit dem Prüfbit gPB, das in dem Adressierten der Funktionsblöcke FB1
und FB2 jeweils vorausgehend gespeichert worden ist, verglichen. Je
nach dem, ob das aktuelle Prüfbit mit dem vorausgehend gespeicherten
Prüfbit übereinstimmt oder nicht, erscheint am Ausgang von X8 als
Statussignal ein Logikwert "0" oder "1". Daraus kann der Microcontrol
ler erkennen, ob sich der Dateninhalt des Adressierten der beiden
Funktionsblöcke FB1 und FB2 zwischenzeitlich geändert hat oder nicht.
Eine in Fig. 10 gezeigte Ausführungsform eines Funktionsblockes,
beispielsweise FB1 umfaßt ein Datenfeldregister DR und einen Adres
sendecoder AD. Das Datenfeldregister DR weist eine der Datenfeldbreite
des jeweiligen Funktionsblockes entsprechende Anzahl Datenfeldregister
stufen DS und außerdem eine Prüfbitspeicherstufe PBS auf. Der Adres
sendecoder AD ist mit dem Adressenbus ADR verbunden und gibt das
Datenfeldregister DR für einen Schreib- oder Lesevorgang frei, wenn
mit Hilfe des Adressendecoders AD erkannt worden ist, daß über den
Adressenbus ADR die Adresse seines Funktionsblocks gesendet worden
ist. Unter Steuerung des Systemtaktes CLK kann dann eine Datenbitfol
ge parallel vom Datenbus DATA in die Datenfeldregisterstufen DS
geschrieben oder aus den Datenfeldregisterstufen DS in den Datenbus
DATA gelesen werden, je nach dem, ob über die Schreib- und Lesesteu
erleitungen WR und RD ein Schreib- oder ein Lesesteuerbefehl an das
Datenfeldregister DR gelangt ist.
Außerdem kann in die Prüfbitspeicherstelle PBS des adressierten
Funktionsblocks ein aktuelles Prüfbit aPB vom Prüfbitgenerator B5
geschrieben und ein vorausgehend gespeichertes Prüfbit gPB aus der
Prüfbitspeicherstelle PBS ausgelesen und zum Prüfbitgenerator B5 ge
liefert werden.
Über einen Rücksetzanschluß RES kann das Datenfeldregister DR nach
Beendigung eines Lesevorgangs, vorzugsweise während der Zeitlage des
Discard-Bits, in einen vorbestimmten Anfangszustand rückgesetzt
werden.
Nachdem Aufbau und Funktion der einzelnen Schaltungsteile erläutert
worden sind, wird nun noch die Gesamtfunktionsweise der in Fig. 2
gezeigten Ausführungsform einer erfindungsgemäßen
Schaltungsanordnung betrachtet.
Zunächst sei angenommen, daß vom Microcontroller eine Datenbitfolge
in den Funktionsblock FB1 geschrieben werden soll. Hierfür wird vom
Microcontroller an den Serielleingang Sin eine Bitfolge mit Adressen
feld, Steuerfeld und Datenfeld geliefert, die sowohl auf die Ablaufsteuer
einrichtung B1 als auch auf den Multiplexer B2 gelangt. Anhand des im
Adressenfeld enthaltenen Adressencodes wird der adressenabhängig
programmierbare Bitzähler BZ auf die gesendete Bitfolge abgestimmt.
Mit Hilfe der daraus resultierenden Steuerdaten kann der Bitfolgendeco
der BD dem Steuerfeld der vom Microcontroller gesendeten Bitfolge das
einen Schreib- oder einen Lesebefehl darstellende Steuerbit entnehmen.
Gleichzeitig wird die vom Microcontroller kommende Bitfolge über die
Schalterstufen B8 des Multiplexers in die Registerstufen FF des
Schnittstellenregisters B4 geschrieben. Dies geschieht unter Steuerung
des Demultiplexers DMX derart, daß nur die Bits des Adressenfeldes
und des Datenfeldes dieser Bitfolge in das Schnittstellenregister einge
schrieben werden, nicht jedoch das Bit des Steuerfeldes. Praktisch
gleichzeitig mit dem Bit für Bit erfolgenden Einschreiben in die
einzelnen Registerstufen des Schnittstellenregisters B4 erfolgt das
Rücklesen von deren Speicherinhalt Bit für Bit über die Umschaltein
richtung B7 zu dem zum Microcontroller führenden Seriellausgang Sout
des Multiplexer B2. Mit Hilfe der Umschalteinrichtung B7 wird während
der Zeitlage des Steuerfeldes der vom Microcontroller kommenden
Bitfolge wieder ein Steuerbit in die zum Microcontroller rückgelesene
Bitfolge eingefügt. Das Auslesen des Speicherinhaltes des Schnittstellen
registers B4 geschieht hinsichtlich der Datenfeldbits über die Weiche B3,
derart, daß die aus dem Schnittstellenregister B4 gelesenen Datenbits
sowohl zum Multiplexer B2 und von dort zusammen mit den Adressen
bits und dem mittels der Umsetzeinrichtung B7 eingefügten Steuerbit
zurück zum Microcontroller als auch hinsichtlich des reinen Datenfeldes
zum Prüfbitgenerator B5 und zu den Funktionsblöcken FB1 und FB2
geschickt werden. Da das zwischen Adressenfeld und Datenfeld befindli
che Schreibsteuerbit vor dem Auslesen des Datenfeldes aus dem Schnitt
stellenregister B4 vom Bitfolgendecoder BD ausgesondert worden ist,
steht der Befehl, ob ein Schreib- oder ein Lesevorgang durchgeführt
werden soll, bei Beginn der Übertragung des Datenfeldes von dem
Schnittstellenregister B4 an den adressierten Funktionsblock FB1 bzw.
FB2 zur Verfügung. Da die Adressenbits immer geschrieben werden und
nicht dem Schreibbefehl unterliegen, reicht es, das Steuerbit erst nach
den Adressenbits anzuordnen.
Wird vom Microcontroller als Steuerbit ein Schreibbefehl geschickt,
wird dieser solange gespeichert, wie in das Schnittstellenregister Daten
geschrieben werden. Somit ist das einen Schreibbefehl darstellende
Steuerbit zur Zeitlage des Discard-Bits verfügbar, um das Übertragen
der in das Schnittstellenregister B4 geschriebenen Datenbits an den
adressierten Funktionsblock FB1 oder FB2 zuzulassen oder zu unter
binden.
Mit dem Einlesen der vom Schnittstellenregister B4 gelieferten Daten
bitfolge in das Datenfeldregister DR des adressierten Funktionsblocks
geschieht auch das Einlesen des zu dieser Datenbitfolge gehörenden
aktuellen Prüfbits aPB in die Prüfbitspeicherstelle PBS des adressierten
Funktionsblocks.
Es wird nun angenommen, daß der Speicherinhalt eines Funktionsblocks
zum Microcontroller übertragen werden soll.
Zu diesem Zweck wird vom Microcontroller wieder eine serielle
Bitfolge über den Serielleingang Sin an die Ablaufsteuereinrichtung B1
und den Multiplexer B2 geschickt. Das im Steuerbitfeld befindliche
Lesesteuersignal wird mit Hilfe des Bitfolgendecoders BD ausgelesen
und steht zur Lesesteuerung der Funktionsblöcke FB1 und FB2 bereit.
Im Fall eines solchen Leseauftrages kann das Rahmenendesignal unmit
telbar nach dem Steuerfeld der vom Microcontroller gelieferten Bitfolge
gegeben werden. Auf den Leseauftrag hin wird aus dem
Datenfeldregister DR des adressierten Funktionsblocks dessen Speicher
inhalt ausgelesen und über den Datenbus DATA sowohl an den Prüfbit
generator B5 als auch an die Weiche B3 geliefert. Über den Seriellaus
gang Sout des Multiplexers B2 wird nun zum Microcontroller eine Bit
folge übertragen, welche zunächst die aus dem Schnittstellenregister B4
wieder ausgelesene Adressenbitfolge, das mit Hilfe der Umschaltein
richtung B7 in das Steuerfeld eingefügte Statussignal Q/N und die mit
tels der Weiche B3 vom adressierten Funktionsblock zum Multiplexer
B2 geleitete Datenbitfolge aufweist. Dabei ist mit Hilfe des Prüfbitgene
rators B5 für die von dem Funktionsblock gelieferte Datenbitfolge ein
aktuelles Prüfbit aPB erzeugt und mit dem zuvor in dem adressierten
Funktionsblock gespeicherten Prüfbit gPB verglichen worden. Über das
Statussignal Q/N wird dem Microcontroller somit mitgeteilt, ob sich der
Dateninhalt des gerade ausgelesenen Funktionsblocks seit dessen vor
ausgehender Adressierung geändert hat oder nicht.
Claims (31)
1. Verfahren zur selektiven digitalen Übertragung von Bitfolgen vor
bestimmter Rahmenlänge zwischen einer übergeordneten Einrichtung
(µC) und einer von mehreren selektiv ansteuerbaren untergeordneten
Einrichtungen (FB1, FB2) über eine dazwischen befindliche spei
cherfähige serielle Schnittstelle (SI), die an ein mit den untergeord
neten Einrichtungen (FB1, FB2) verbindendes Bussystem (ADR,
DATA) angeschlossen ist;
bei welchem Verfahren:
- a) Bitfolgen vorbestimmter maximaler Rahmenlänge mit einem die jeweils anzusteuernde untergeordnete Einrichtung (FB1, FB2) adres sierenden Adressenfeld mit einer vorbestimmten Adressenbitzahl, mit einem Steuerinformation enthaltenden Steuerfeld mit einer vor bestimmten Steuerbitzahl und mit einem Datenfeld mit einer maxi malen Datenbitzahl verwendet werden;
- b) die Bitfolgen von der übergeordneten Einrichtung (µC) seriell ge sendet und takt- und bitweise der Reihe nach in die serielle Schnitt stelle (SI) geschrieben werden;
- c) der Speicherinhalt der seriellen Schnittstelle (SI) takt- und bitweise der Reihe nach in die übergeordnete Einrichtung (µC) rückgelesen wird;
- d) wobei während ein und desselben Taktes das zu dem jeweiligen Takt gehörende der seriell empfangenen Bits in die serielle Schnitt stelle (SI) geschrieben als auch der daraus resultierende Speicher inhalt aus der seriellen Schnittstelle (SI) in die übergeordnete Ein richtung (µC) rückgelesen wird; und
- e) von der übergeordneten Einrichtung (µC) ein die Datenübertragung von der serielle Schnittstelle (SI) an die jeweils adressierte unterge ordnete Einrichtung (FB1, FB2) unterbindendes Sperrsignal gesendet wird, wenn der rückgelesene Speicherinhalt irgendeiner der Bit stellen mit dem von der übergeordneten Einrichtung (µC) für diese Bitstelle gesendeten Bit nicht übereinstimmt.
2. Verfahren nach Anspruch 1, bei welchem die Datenfeldlänge der
jeweils adressierten untergeordneten Einrichtung aus der ihr zuge
ordneten Adresse entnehmbar ist.
3. Verfahren nach Anspruch 2, bei welchem die den einzelnen unterge
ordneten Einrichtungen (FB1, FB2) zugeordneten Adressen in einer
vorbestimmten Reihenfolge in einem Adressenregister der überge
ordneten Einrichtung (µC) gespeichert werden und die Datenfeldlän
ge der jeweils adressierten untergeordneten Einrichtung aus dem
Speicherplatz des Adressenregisters, in dem die jeweilige Adresse
gespeichert ist, entnehmbar ist.
4. Verfahren nach einem der Ansprüche 1 bis 3, bei welchem das
Steuerfeld der Bitfolge für ein Schreib/Lese-Steuersignals (WR, RD)
verwendet wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, bei welchem das
Steuerfeld der Bitfolge für ein Statussignal (Q/N) verwendet wird.
6. Verfahren nach Anspruch 5, bei welchem das Steuerfeld nur eine
Bitstelle der Bitfolge besetzt und das Steuerfeld der von der über
geordneten Einrichtung (µC) gesendeten Bitfolge für die Übertra
gung eines Schreib/Lesesignals (WR, RD) und das Steuerfeld an die
übergeordnete Einrichtung (µC) gesendeten Bitfolge für die Über
tragung des Statussignal (Q/N)s verwendet wird.
7. Verfahren nach einem der Ansprüche 5 oder 6, für eine Schaltungs
anordnung, deren untergeordnete Einrichtungen (FB1, FB2) je ein
Datenfeldregister (DR) zur Datenspeicherung aufweisen, wobei das
Statussignal (Q/N) zur Anzeige verwendet wird, ob sich der Daten
inhalt des Datenfeldregisters (DR) der jeweils adressierten unterge
ordneten Einrichtung geändert hat oder nicht, und bei welchem das
Statussignal (Q/N) durch Vergleichen des jeweils aktuellen Daten
inhalts mit dem jeweils vorausgehenden Dateninhalt des Datenfeld
registers (DR) der jeweils adressierten untergeordneten Einheit
(FB1, FB2) oder durch Vergleich eines aus dem aktuellen Daten
inhalt gewonnenen aktuellen Prüfbits (aPB) mit einem aus dem
vorausgehenden Dateninhalt erhaltenen vorausgehenden Prüfbit
(gPB) erzeugt wird.
8. Verfahren nach Anspruch 7, bei welchem zur Erzeugung des Status
signals (Q/N) bei jedem Schreiben in das Datenfeldregister (DR)
und/oder bei jedem Lesen aus dem Datenfeldregister (DR) der je
weils adressierten untergeordneten Einrichtung (FB1, FB2) ein Prüf
bit erzeugt wird und ein eine Änderung des Speicherinhaltes anzei
gendes Statussignal (Q/N) dann erzeugt wird, wenn ein aktuelles
Prüfbit (aPB) von dem jeweils vorausgehenden Prüfbit (gPB) ab
weicht.
9. Verfahren nach einem der Ansprüche 1 bis 8, bei welchem von der
übergeordneten Einrichtung (µC) an mindestens die jeweils adres
sierte untergeordnete Einrichtung (FB1, FB2) ein Schreib- oder
Lesesteuersignal (WR, RD) gesendet wird und für den Fall, daß die
Datenübertragung von der serielle Schnittstelle (SI) an die jeweils
adressierte untergeordnete Einrichtung (FB1, FB2) unterbunden
werden soll, als Sperrsignal ein Nichtschreiben-Steuersignal an die
adressierte untergeordnete Einrichtung (FB1, FB2) gesendet wird.
10. Verfahren nach einem der Ansprüche 1 bis 9, bei welchem für
mindestens einen Teil der untergeordneten Einrichtungen (FB1,
FB2) vorgesehen ist, daß die jeweils adressierte untergeordnete
Einrichtung (FB1, FB2) am Ende des Auslesens ihres Dateninhaltes
in die übergeordnete Einrichtung (µC) von der übergeordneten
Einrichtung (µC) in einen vorbestimmten Ausgangszustand rückge
setzt wird.
11. Verfahren nach einem der Ansprüche 1 bis 10, bei welchem als
übergeordnete Einrichtung (µC) ein Microcontroller und als unterge
ordnete Einrichtungen (FB1, FB2) Funktionseinrichtungen wie bei
spielsweise Stelleinrichtungen, Sensoren und Statussteuereinrichtun
gen verwendet werden.
12. Schaltungsanordnung mit einer übergeordneten Einrichtung (µC) und
mehreren untergeordneten Einrichtungen (FB1, FB2) und einer da
zwischen befindlichen seriellen Schnittstelleneinrichtung (SI) zur
selektiven digitalen Übertragung von Bitfolgen zwischen der über
geordneten Einrichtung (µC) und einer jeweils ausgewählten unter
geordneten Einrichtung;
- a) wobei die Schaltungsanordnung für die Übertragung von Bitfolgen vorgesehen ist, die je eine vorbestimmte maximale Rahmenlänge mit mindestens einem die jeweils anzusteuernde untergeordnete Ein richtung (FB1, FB2) adressierenden Adressenfeld mit einer vorbe stimmten Adressenbitzahl, mit einem Steuerinformation enthaltenden Steuerfeld mit einer vorbestimmten Steuerbitzahl und mit einem Datenfeld mit einer maximalen Datenbitzahl aufweist;
- b) mit einem taktgesteuerten Schnittstellenregister (B4), das eine min destens der Summe der Adressenbitzahl und der Datenbitzahl ent sprechende Anzahl hinsichtlich Schreib- und Lesezugriff parallel zugängliche, je der Speicherung eines Bits dienende Registerstufen (FF) aufweist und an ein mit den untergeordneten Einrichtungen (FB1, FB2) verbindendes Bussystem (ADR, DATA) anschaltbar ist;
- c) mit einer Umsetzeinrichtung (B1, B2), mittels welcher von der übergeordneten Einrichtung (µC) seriell empfangene Bitfolgen zu deren Einschreiben in das Schnittstellenregister (B4) takt- und bit weise der Reihe nach an die einzelnen Registerstufen (FF) übergeb bar sind und mittels welcher die Speicherinhalte der einzelnen Regi sterstufen (FF) zum Rücklesen des Speicherinhaltes des Schnittstel lenregisters (B4) in die übergeordnete Einrichtung (µC) und/oder zur Übertragung des Speicherinhalts des Schnittstellenregisters (B4) an die untergeordneten Einrichtungen (FB1, FB2) takt- und bitweise der Reihe nach aus den einzelnen Registerstufen (FF) auslesbar und seriell an die übergeordnete Einrichtung (µC) und/oder an die unter geordneten Einrichtungen (FB1, FB2) sendbar sind;
- d) wobei während ein und desselben Taktes das zu dem jeweiligen Takt gehörende der seriell empfangenen Bits in die je zugeordnete Registerstufe (FF) geschrieben und der daraus resultierende Spei cherinhalt dieser Registerstufe (FF) in die übergeordnete Einrich tung (µC) rückgelesen werden kann; und
- e) wobei von der übergeordneten Einrichtung (µC) ein die Datenüber tragung von der Schnittstelleneinrichtung (SI) an die jeweils adres sierte untergeordnete Einrichtung (FB1, FB2) unterbindendes Sperr signal sendbar ist, wenn der rückgelesene Speicherinhalt irgendeiner der Registerstufen (FF) mit dem von der übergeordneten Einrich tung (µC) für diese Registerstufe (FF) gesendeten Bit nicht überein stimmt.
13. Schaltungsanordnung nach Anspruch 12, bei welcher
die übergeordnete Einrichtung (µC) einen Microcontroller aufweist
und die untergeordneten Einrichtungen (FB1, FB2) Funktionsein
richtungen wie z. B. Steuereinrichtungen und/oder Meßeinrichtungen
aufweisen.
14. Schaltungsanordnung nach Anspruch 12 oder 13, bei welcher
die Umsetzeinrichtung (B1, B2) einen von der übergeordneten Ein richtung (µC) seriell empfangenden Serielleingang (Sin), einen an die übergeordnete Einrichtung (µC) seriell sendenden Seriellaus gang (Sout) und eine der Bitzahl mindestens des Adressenfeldes und des Datenfeldes entsprechende Anzahl Paare von parallelen Parallel datenausgängen (PA) und parallelen Paralleldateneingängen (PE) aufweist;
und die Registerstufen (FF) des Schnittstellenregisters (B4) je einen Takteingang (CLK), einen Biteingang (BE) und einen Bitausgang (BA) aufweisen;
wobei die Biteingänge (BE) und die Bitausgänge (BA) der Register stufen (FF) mit je einem der Paralleldatenausgänge (PA) bzw. Pa ralleldateneingänge (PE) der Umsetzeinrichtung (B1, B2) verbunden sind.
die Umsetzeinrichtung (B1, B2) einen von der übergeordneten Ein richtung (µC) seriell empfangenden Serielleingang (Sin), einen an die übergeordnete Einrichtung (µC) seriell sendenden Seriellaus gang (Sout) und eine der Bitzahl mindestens des Adressenfeldes und des Datenfeldes entsprechende Anzahl Paare von parallelen Parallel datenausgängen (PA) und parallelen Paralleldateneingängen (PE) aufweist;
und die Registerstufen (FF) des Schnittstellenregisters (B4) je einen Takteingang (CLK), einen Biteingang (BE) und einen Bitausgang (BA) aufweisen;
wobei die Biteingänge (BE) und die Bitausgänge (BA) der Register stufen (FF) mit je einem der Paralleldatenausgänge (PA) bzw. Pa ralleldateneingänge (PE) der Umsetzeinrichtung (B1, B2) verbunden sind.
15. Schaltungsanordnung nach einem der Ansprüche 12 bis 14, bei
welcher die Umsetzeinrichtung (B1, B2) einen Multiplexer (B2) und
eine diesen steuernde Ablaufsteuereinrichtung (B1) aufweist.
16. Schaltungsanordnung nach Anspruch 15, bei welcher
die in die untergeordneten Einrichtungen (FB1, FB2) geschriebenen Bitfolgen und die von den untergeordneten Einrichtungen (FB1, FB2) ausgelesenen Bitfolgen nur das Adressenfeld und das Daten feld der von der übergeordneten Einrichtung (µC) jeweils gesende ten bzw. empfangenen Bitfolge enthalten,
jeder untergeordneten Einrichtung eine vorbestimmte Datenbitzahl zugeordnet und diese aus der je zugehörigen Adresse entnehmbar ist und die Ablaufsteuereinrichtung (B1) aufweist:
einen adressenabhängig programmierbaren Bitzähler (BZ), der unter Zuführung der Adressenfeldbits der jeweils zu übertragenden Bitfol ge ein Ablaufsteuersignal erzeugt, aus dem für die jeweils zu über tragende Bitfolge die Steuerfeldposition innerhalb der Bitfolge ent nehmbar ist,
und einen Bitfolgendekoder (BD), der das Ablaufsteuersignal und eine von der übergeordneten Einrichtung (µC) gesendete serielle Bitfolge empfangen, aus einer solchen Bitfolge mindestens ein Steu erbit entnehmen und beim Übertragen einer Bitfolge von einer der untergeordneten Einrichtungen (FB1, FB2) zu der übergeordneten Einrichtung (µC) in die von der untergeordneten Einrichtung erhal tene Bitfolge an der Steuerfeldposition mindestens ein Steuerbit einfü gen kann.
die in die untergeordneten Einrichtungen (FB1, FB2) geschriebenen Bitfolgen und die von den untergeordneten Einrichtungen (FB1, FB2) ausgelesenen Bitfolgen nur das Adressenfeld und das Daten feld der von der übergeordneten Einrichtung (µC) jeweils gesende ten bzw. empfangenen Bitfolge enthalten,
jeder untergeordneten Einrichtung eine vorbestimmte Datenbitzahl zugeordnet und diese aus der je zugehörigen Adresse entnehmbar ist und die Ablaufsteuereinrichtung (B1) aufweist:
einen adressenabhängig programmierbaren Bitzähler (BZ), der unter Zuführung der Adressenfeldbits der jeweils zu übertragenden Bitfol ge ein Ablaufsteuersignal erzeugt, aus dem für die jeweils zu über tragende Bitfolge die Steuerfeldposition innerhalb der Bitfolge ent nehmbar ist,
und einen Bitfolgendekoder (BD), der das Ablaufsteuersignal und eine von der übergeordneten Einrichtung (µC) gesendete serielle Bitfolge empfangen, aus einer solchen Bitfolge mindestens ein Steu erbit entnehmen und beim Übertragen einer Bitfolge von einer der untergeordneten Einrichtungen (FB1, FB2) zu der übergeordneten Einrichtung (µC) in die von der untergeordneten Einrichtung erhal tene Bitfolge an der Steuerfeldposition mindestens ein Steuerbit einfü gen kann.
17. Schaltungsanordnung nach Anspruch 16, bei welcher
der Bitfolgendekoder (BD) aufweist: einen Steuersignalausgang
(WR, RD, RES), an dem er ein dem entnommenen Steuerbit ent
sprechendes Steuersignal abgeben kann, und einen Steuersignalein
gang (Q/N), an dem er ein dem einzufügenden Steuerbit entspre
chendes Informationssignal übernehmen kann.
18. Schaltungsanordnung nach Anspruch 17, bei welcher
das dem entnommenen Steuerbit entsprechende Steuersignal ein
Schreib- oder Lesesignal ist, mittels welchem bestimmbar ist, ob die
jeweils adressierte untergeordnete Einrichtung (FB1, FB2) einem
Schreib- oder einem Lesevorgang zu unterziehen ist.
19. Schaltungsanordnung nach Anspruch 17 oder 18, bei welcher
das dem einzufügenden Steuerbit entsprechende Informationssignal
ein Statussignal (Q/N) ist, mittels welchem der übergeordneten
Einrichtung (µC) Statusinformation bezüglich der jeweils adressier
ten untergeordneten Einrichtung zuführbar ist.
20. Schaltungsanordnung nach Anspruch 19, bei welcher
das Statussignal (Q/N) Information darüber enthält, ob sich der
Dateninhalt der jeweils adressierten untergeordneten Einrichtung seit
dem letzten Schreib- und/oder Lesevorgang geändert hat oder nicht.
21. Schaltungsanordnung nach einem der Ansprüche 15 bis 20, bei
welcher der Multiplexer (B2) aufweist:
einen den Serielleingang (Sin) der Umsetzeinrichtung (B1, B2) bildenden Eingang;
einen den Seriellausgang (Sout) der Umsetzeinrichtung (B1, B2) bildenden Ausgang;
eine Schalterstufenreihe mit einer der Registerstufenzahl des Schnitt stellenregisters (B4) entsprechenden Anzahl Schalterstufen (B8), die je einen der Paralleleingänge (PE) und einen der Parallelausgänge (PA) der Umsetzeinrichtung (B1, B2) sowie einen Schaltsteuerein gang (SSL1) aufweisen,
wobei die Paralleleingänge (PE) alle mit dem Serielleingang (Sin) und die Parallelausgänge (PA) alle mit dem Seriellausgang (Sout) verbunden sind;
eine Umschalteinrichtung (B7), die in Abhängigkeit von einem ihr zugeführten Umschaltsteuersignal eine aus dem Schnittstellenregister (B4) ausgelesene Bitfolge entweder zu der übergeordneten Einrich tung (µC) oder zu den untergeordneten Einrichtungen (FB1, FB2) leiten kann;
und einen Demultiplexer (DMX), der in Abhängigkeit von dem von der Ablaufsteuereinrichtung (B1) empfangenen Ablaufsteuersignal einerseits die einzelnen Schalterstufen der Reihe nach für ein Ein schreiben bzw. Auslesen der je zugehörigen Registerstufe (FF) des Schnittstellenregisters (B4) steuern und andererseits das Umschalt steuersignal erzeugen kann.
einen den Serielleingang (Sin) der Umsetzeinrichtung (B1, B2) bildenden Eingang;
einen den Seriellausgang (Sout) der Umsetzeinrichtung (B1, B2) bildenden Ausgang;
eine Schalterstufenreihe mit einer der Registerstufenzahl des Schnitt stellenregisters (B4) entsprechenden Anzahl Schalterstufen (B8), die je einen der Paralleleingänge (PE) und einen der Parallelausgänge (PA) der Umsetzeinrichtung (B1, B2) sowie einen Schaltsteuerein gang (SSL1) aufweisen,
wobei die Paralleleingänge (PE) alle mit dem Serielleingang (Sin) und die Parallelausgänge (PA) alle mit dem Seriellausgang (Sout) verbunden sind;
eine Umschalteinrichtung (B7), die in Abhängigkeit von einem ihr zugeführten Umschaltsteuersignal eine aus dem Schnittstellenregister (B4) ausgelesene Bitfolge entweder zu der übergeordneten Einrich tung (µC) oder zu den untergeordneten Einrichtungen (FB1, FB2) leiten kann;
und einen Demultiplexer (DMX), der in Abhängigkeit von dem von der Ablaufsteuereinrichtung (B1) empfangenen Ablaufsteuersignal einerseits die einzelnen Schalterstufen der Reihe nach für ein Ein schreiben bzw. Auslesen der je zugehörigen Registerstufe (FF) des Schnittstellenregisters (B4) steuern und andererseits das Umschalt steuersignal erzeugen kann.
22. Schaltungsanordnung nach Anspruch 21, bei welcher
die Umschalteinrichtung (B7) einen mit der Ablaufsteuereinrichtung
(B1) verbundenen Steuerbiteingang (SSL2) aufweist und über das
Ablaufsteuersignal derart steuerbar ist, daß sie beim Rücklesen der
in das Schnittstellenregister (B4) geschriebenen Bitfolge in die über
geordnete Einrichtung (µC) den Steuerbiteingang während der Zeit,
während welcher die übergeordnete Einrichtung (µC) innerhalb der
jeweiligen Bitfolge das Steuerfeld erwartet, zum Seriellausgang
(Sout) des Multiplexers (B2) durchschaltet.
23. Schaltungsanordnung nach Anspruch 21 oder 22, bei welcher die
Schalterstufen (B8) des Multiplexers (B2) derart steuerbar sind, daß
die von dem Demultiplexer (DMX) jeweils für einen Schreib-
und/oder Lesevorgang der zugehörigen Registerstufe (FF) aus
gewählte Schalterstufe (B8) eine Verbindung zwischen dem Parallel
eingang (PE) und dem Biteingang (BE) bzw. dem Bitausgang (BA)
und dem Parallelausgang (PA) des betroffenen Schalterstufen-Regi
sterstufen-Paares und für jedes der restlichen Schalterstufen-Regi
sterstufen-Paare eine Verbindung zwischen dem Bitausgang (BA)
und dem Biteingang (BE) der je zugehörigen Registerstufe (FF)
herstellt.
24. Schaltungsanordnung nach einem der Ansprüche 12 bis 23, bei
welcher zwischen die Umsetzeinrichtung (B1, B2), das Schnittstel
lenregister (B4) und die untergeordneten Einrichtungen (FB1, FB2)
eine mittels eines Schreib/Lesesteuersignals steuerbare Weiche (B3)
geschaltet ist, die bei Erhalt eines Schreibsteuersignals die im
Schnittstellenregister (B4) gespeicherte Bitfolge sowohl zur Umsetz
einrichtung (B1, B2) als auch zu den untergeordneten Einrichtungen
(FB1, FB2) und bei Erhalt eines Lesesteuersignals die aus der je
weils adressierten untergeordneten Einrichtung ausgelesene Bitfolge
zur Umsetzeinrichtung (B1, B2) leiten kann.
25. Schaltungsanordnung nach Anspruch 24, bei welcher die zwischen
Weiche (B3) und untergeordneten Einrichtungen (FB1, FB2) über
tragenen Bitfolgen einem Prüfbitgenerator (B5) zuführbar sind,
mittels welchem aus dem Bitmuster der jeweiligen Bitfolge ein
aktuelles Prüfbit (aPB) erzeugbar ist, das mittels einer Prüfbitver
gleichseinrichtung (X8) mit einem für die gleiche untergeordnete
Einrichtung (FB1, FB2) zuvor erzeugten Prüfbit (gPB) vergleichbar
ist, wobei ein aus dem Vergleich hervorgehendes Vergleichsergeb
nisbit als Steuerbit in die der übergeordneten Einrichtung (µC)
zuzuführende Bitfolge einfügbar ist.
26. Schaltungsanordnung nach Anspruch 25, bei welcher der Prüfbit
generator (B5) in Reihe geschaltete XOR-Glieder (X1 bis X7) auf
weist, deren Zahl um eins geringer ist als die maximalen Daten
bitzahl des Datenfeldes und die je zwei XOR-Eingänge und einen
XOR-Ausgang besitzen, wobei den beiden XOR-Eingängen eines
ersten XOR-Gliedes (X1) das erste bzw. zweite Bit der zu prüfen
den Bitfolge und den beiden XOR-Eingängen der weiteren XOR-
Glieder (X1 bis X7) je ein weiteres Bit der zu prüfenden Bitfolge
bzw. das Ausgangssignal des je vorausgehenden XOR-Gliedes zu
führbar sind und wobei am XOR-Ausgang des letzten XOR-Gliedes
(X7) das Prüfbit abnehmbar ist.
27. Schaltungsanordnung nach Anspruch 26, bei welcher dem letzten
XOR-Glied (X7) ein die Prüfbitvergleichseinrichtung bildendes
weiters XOR-Glied (X8) mit ebenfalls zwei XOR-Eingängen und
einem XOR-Ausgang folgt, wobei einem ersten der beiden XOR-
Eingängen des weiteren XOR-Gliedes (X8) das jeweils erzeugte
Prüfbit (aPB) und dem zweiten XOR-Eingang des weiteren XOR-
Gliedes (X8) das jeweils zuvor erzeugte Prüfbit (gPB) zuführbar
sind und am XOR-Ausgang des weiteren XOR-Gliedes (X8) ein als
Änderungsanzeigesignal, insbesondere Statussignal (Q/N), verwend
bares Prüfbitvergleichssignal abnehmbar ist.
28. Schaltungsanordnung nach einem der Ansprüche 25 bis 27, bei
welcher das jeweils erzeugte Prüfbit (aPB) in ein Prüfbitregister ein
schreibbar und zum Vergleich mit einem nachfolgend erzeugten
Prüfbit dem zweiten XOR-Eingang des weiteren XOR-Gliedes (X8)
zuführbar ist.
29. Schaltungsanordnung nach einem der Ansprüche 12 bis 28, bei
welcher mindestens ein Teil der untergeordneten Einrichtungen
(FB1, FB2) je ein Datenfeldregister (DR) und einen Adressendeko
der (AD), welcher beim Erhalt der für die jeweilige untergeordnete
Einrichtung (FB1, FB2) bestimmten Adressenbitfolge das Datenfeld
register (DR) zum Einschreiben oder Auslesen freigibt, aufweist.
30. Schaltungsanordnung nach Anspruch 29, bei welcher das Daten
feldregister (DR) eine Anzahl Datenfeldregisterstufen (DS) aufweist,
die um eins höher ist als die für die jeweilige untergeordnete Ein
richtung (FB1, FB2) vorbestimmte Datenbitzahl, wobei eine der
Datenfeldregisterstufen als Prüfbitregister (PBS) verwendbar ist.
31. Schaltungsanordnung nach Anspruch 29 oder 30, bei welcher das
Datenfeldregister (DR) einen Rücksetzeingang (RES) aufweist, über
welchen der Speicherinhalt des Datenfeldregisters (DR) nach einem
Auslesevorgang in einen vorbestimmten Anfangszustand rücksetzbar
ist.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1997152031 DE19752031C2 (de) | 1997-11-24 | 1997-11-24 | Verfahren und Schaltungsanordnung zur selektiven digitalen Übertragung von Bitfolgen |
EP98121785A EP0920154B1 (de) | 1997-11-24 | 1998-11-16 | Verfahren und Schaltungsanordnung zur selektiven digitalen seriellen Übertragung |
US09/199,395 US6353908B1 (en) | 1997-11-24 | 1998-11-24 | Method of and circuit arrangement for digitally transferring bit sequences in selective manner |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19758608 | 1997-11-24 | ||
DE1997152031 DE19752031C2 (de) | 1997-11-24 | 1997-11-24 | Verfahren und Schaltungsanordnung zur selektiven digitalen Übertragung von Bitfolgen |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19752031A1 DE19752031A1 (de) | 1999-05-27 |
DE19752031C2 true DE19752031C2 (de) | 2000-08-17 |
Family
ID=26041865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1997152031 Expired - Fee Related DE19752031C2 (de) | 1997-11-24 | 1997-11-24 | Verfahren und Schaltungsanordnung zur selektiven digitalen Übertragung von Bitfolgen |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19752031C2 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10036643B4 (de) | 2000-07-26 | 2005-12-22 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Auswahl von Peripherieelementen |
DE102007028767B4 (de) * | 2007-06-22 | 2016-01-28 | Continental Teves Ag & Co. Ohg | Buskommunikationsschaltung zur sicheren seriellen Übertragung von Daten sowie deren Verwendung |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996021974A1 (en) * | 1995-01-11 | 1996-07-18 | Aristocrat Leisure Industries Pty. Ltd. | Serial peripheral interface |
DE19547000A1 (de) * | 1995-06-15 | 1996-12-19 | Mitsubishi Electric Corp | Kommunikationssteuerverfahren und Kommunikationsvorrichtung |
-
1997
- 1997-11-24 DE DE1997152031 patent/DE19752031C2/de not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996021974A1 (en) * | 1995-01-11 | 1996-07-18 | Aristocrat Leisure Industries Pty. Ltd. | Serial peripheral interface |
DE19547000A1 (de) * | 1995-06-15 | 1996-12-19 | Mitsubishi Electric Corp | Kommunikationssteuerverfahren und Kommunikationsvorrichtung |
Also Published As
Publication number | Publication date |
---|---|
DE19752031A1 (de) | 1999-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3300260C2 (de) | ||
DE3300261C2 (de) | ||
EP1648116B1 (de) | Verfahren zur Übertragung von Daten in einem Kommunikationssystem | |
DE2230830A1 (de) | Datenverarbeitungsanlage | |
DE2726753A1 (de) | Interface-adapter | |
EP1622039B1 (de) | Verfahren und Vorrichtung zur Adressvergabe an Teilnehmer eines Bussystems | |
DE2362344A1 (de) | Datenuebertragungsanlage | |
DE2840246A1 (de) | Fernmeldevermittlungssystem | |
DE2362010A1 (de) | Fehleralarm- und -ueberwachungsanlage und verfahren zur fehleralarmausloesung und fehlerueberwachung | |
EP0920154B1 (de) | Verfahren und Schaltungsanordnung zur selektiven digitalen seriellen Übertragung | |
DE2115971C3 (de) | Datenverarbeitungssystem | |
DE3639609A1 (de) | Einrichtung zur ueberpruefung von datenuebertragungsfehlern, insbesondere bei elektronischen registrierkassen | |
DE2647367C3 (de) | Redundante Prozeßsteueranordnung | |
DE19752031C2 (de) | Verfahren und Schaltungsanordnung zur selektiven digitalen Übertragung von Bitfolgen | |
DE3219900A1 (de) | Rechnerschnittstelle | |
DE2530887C3 (de) | Steuereinrichtung zum Informationsaustausch | |
EP0009600B1 (de) | Verfahren und Schnittstellenadapter zum Durchführen von Wartungsoperationen über eine Schnittstelle zwischen einem Wartungsprozessor und einer Mehrzahl einzeln zu prüfender Funktionseinheiten eines datenverarbeitenden Systems | |
DE2242279C3 (de) | Schaltungsanordnung zur Ermittlung von Fehlern in einer Speichereinheit eines programmgesteuerten Datenvermittlungssystems | |
EP1891535A2 (de) | Verfahren zur kommunikation zwischen mindestens zwei teilnehmern eines kommunikationssystems | |
DE2719282C3 (de) | Datenverarbeitungssystem | |
DE2909151C2 (de) | Festkörper-Großspeicher | |
DE2702586C3 (de) | Schaltungsanordnung zum Steuern des Speicherzugriffs bei einem Rechner | |
DE10330037B3 (de) | Adapterkarte zum Anschließen an einen Datenbus in einer Datenverarbeitungseinheit und Verfahren zum Betreiben eines DDR-Speichermoduls | |
DE2756948A1 (de) | Schaltungsanordnung zur fehlersymtomverdichtung | |
DE3136586A1 (de) | Verfahren und schaltungsanordnung zum uebertragen von signalen zwischen beliebigen steuereinrichtungen eines taktgesteuerten, richtungsabhaengig betriebenen ringleitungssystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8172 | Supplementary division/partition in: |
Ref country code: DE Ref document number: 19758608 Format of ref document f/p: P |
|
Q171 | Divided out to: |
Ref document number: 19758608 Ref country code: DE |
|
AH | Division in |
Ref country code: DE Ref document number: 19758608 Format of ref document f/p: P |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |