-
Die Erfindung bezieht sich auf eine Anordnung zum ;Daten-
-
austausch zwischen einem Mikroprozessor und peripheren Elementen wie
Anzeigeelementen, Schalt-, Überwachungs- und Steuerbausteinen unter Zwischenschaltung
eines oder mehrerer Ein- und Ausgabebausteine und mit diesem oder diesem verbundenen
Schieberegistern.
-
Der grundsätzliche, in dem Blockschaltbild gemäß Fig. 1 dargestellte
Aufbau eines Mikrocomputers zeigt den Mikroprozessor 1 als Zentraleinheit, das Speicherwerk
2 und die Ein/ Ausgabeeinheit 3. Der Mikroprozessor 1 als Zentraleinheit kann: In
eine Arithmetik-#ogik-Einheit und ein Leitwerk aufgespalten werden und wird von
einem Taktgeber 4 angesteuert und von einer Stromversorgung 5 versorgt. Der Mikroprozessor
1 nimmt die Verarbeitung der Daten vor, wozu die Ausführung der arithmetischen und
logischen Verknüpfung in der Arithmetik-Logik-Einheit des Mikroprozessors 1 erfolgt,
während das Leitwerk die betreffenden Abläufe steuert. Darüber hinaus verfügt der
zentrale Mikroprozessor noch über Speicherregister, die zur vorübergehenden Speicherung
von in der Verarbeitung befindlichen Daten dienen. Das Speicherwerk 2 enthält bestimmte
Programme und Daten, wobei das Speichervolumen in eine bestimmte Anzahl von Speicherplätzen
aufgeteilt ist und jeder dieser Plätze über eine Adresse, die nur dem betreffenden
einzelnen Platz zugeordnet ist, erreicht werden kann. Der Speicher 2 kann wahlweise
aus einem Schreib-Lese-Speicher mit wahlfreiem Zugriff (RAM), einem Festspeicher
mit wahlfreiem Zugriff (ROM) und/oder einem programmierbaren Festspeicher-Baustein
(PROM) bestehen.
-
Eine Ein/Ausgabeeinheit 3 ermöglicht den Datenverkehr zwischen der
Zentraleinheit 1 und den peripheren Geraten.Da diese Geräte in Bezug auf den Mikroprozessor
1 möglicherweise asynchron arbeiten, erfolgt in der Ein/Ausgabeeinheit 3 eine Zwäsehenspeicherung,
die die erforderliche zeitliche AnpasXiung ermöglicht. Der Mikroprozessor 1 steht
über einen
Adreßbus 6 mit dem Speicher 2 und dem Eingabe/Ausgabebaustein
3 in Verbindung und tauscht über einen Datenbus 7 Daten mit dem Speicher 2 und dem
Eingabe/Ausgabebaustein 3 aus. Zusätzlich ist der Mikroprozessor 1 über Steuerleitungen
8 und 9 mit dem Speicher 2 und der Eingabe/Ausgabeeinheit 3 verbunden. Der Datenaustausch
zwischen dem Eingabe/ Ausgabebaustein 3 und den peripheren Geräten erfolgt über.
-
einen Datenbus 10.
-
Wie oben erläutert wurde, hat der Eingabe-Ausgabebaustein 3 die Aufgabe,
den Datenverkehr zwischen der Zentraleinheit bzw. dem Mikroprozessor 1 und den peripheren
Geräten zu ermöglichen. Dabei hat die Eingabeschaltung die Aufgabe, dem Mikroprozessor
1 die Möglichkeit zu verschaffen, ein auf dem Eingangsdatenbus anstehendes Datenwort
zum richtigen Zeitpunkt abzulesen. Da der gesamte Datenverkehr von und zum Mikroprozessor
1 über den Datenbus läuft, so besteht die Notwendigkeit, das Eingangsdatenwort zum
besagten Zeitpunkt auf den Datenbus zu schalten. Die Aufgabe einer Ausgangsschaltung
besteht darin, ein Wort, das auf dem Datenbus des Mikroprozessors nur sehr kurzzeitig
als Ausgabe aus dem Prozessor ansteht, abzunehmen und solange für die Peripherie
freizuhalten, bis es nicht mehr gebraucht oder durch ein neues Datenwort überschrieben
wird. Eine Ausgangs schaltung darf ebenfalls den übrigen Datenverkehr auf dem Bus
nicht beeinflussen. Bei den bekannten Mikrocomputer-Systemen weisen die Ein/Ausgabebau#teine
3 sogenannte PORTS auf, denen Adressen sowie Speicherplätze zugeordnet sind. Dabei
ist jedem einzelnen PORT eine bestimmte Adresse zugeordnet.
-
Eine bekannte Anordnung zur Steuerung des Datenverkehrs zwischen dem
Mikrocomputer und den peripheren Geräten ist in Fig. 2 dargestellt. Analog zur Darstellung
gemäß Fig. 1 weist dieses Blockschaltbild einen Mikroprozessor 1 auf, der über einen
Adreß- und einen Datenbus mit einem Speicher 2
sowie einem Ein/Ausgabebaustein
3 verbunden ist. Zusätzlich ist ein Dekoder 11 vorgesehen, der über entsprechende
Leitungen sowohl mit dem Adreßbus als auch mit dem Speicher und dem Ein/Ausgabebaustein
3 verbunden ist. Dabei stellt die Leitung 31 die Adressenleitung für die im Ein/Ausgabebaustein
3 vorgesehenen PORTS dar. Diese Leitung 31 ist dann und nur dann aktiv, wenn die
Zentraleinheit bzw. der Mikroprozessor 1 eine bestimmte Adresse auf den Adreßbus
6 setzt.
-
Diese Adresse wird aus dem verfügbaren Adreßraum mit Hilfe des Dekoders
11 herausgenommen. Wie aus dieser Darstellung leicht erkennbar ist, ist der Aufwand
für den Dekoder 11 sehr groß, da die Logik 11 jeweils eine einzelne Adresse für
einen PORT selektieren muß. Um den Aufwand für die Dekodier-Logik 11 zu verringern
ist bereits vorgeschlagen worden, nicht eine einzelne Adresse sondern eine ganze
Adreßgruppe für einen PORT festzulegen.
-
Eine weitere Verringerung des Dekodierungsaufwandes ist dadurch möglich,
daß an die Ein/Ausgabe-PORTS Schieberegister angeschlossen werden, die mit Hilfe
der PORT-Ausgänge gesteuert werden. Bei dieser Anordnung werden die Daten für jedes
periphere Gerät seriell in die an einer Datenleitung hintereinandergeschalteten
Schieberegister eingeschrieben und mit einem an alle Schieberegister parallel abgegebenen
Taktimpuls an das jeweils nächstfolgende Schieberegister weitergegeben, bis mit
dem n+1. Dateneintrag ein bestimmter, einander entsprechenden peripheren Geräten
zugeordneter elektronischer Shaltei angewählt und mit einem nachfolgenden oder gleichzeitig
mit dem n+l. Dateneintrag ein an alle Schieberegister auf einer gemeinsamen Ladeleitung
abgegebener Lade impuls die in den Schieberegistern eingeschriebenen -Daten für
die einzelnen peripheren Geräte auf die Ausgänge der Schieberegister gegeben. Es
ist logisch, daß diese Anordnung eine gewisse Trägheit der Datenausgaberate aufweist.
-
Aufgabe der vorliegenden Erfindung ist es, eine Anordnung zum Datenaustausch
zwischen einem Mikroprozessor und peripheren Elementen zu schaffen, die bei serieller
Datenausgabe eine hohe -Daten-Ausgabegeschwindigkeit aufweist, und bei der der Hardwareaufwand
für das Mikrocomputer-System minimalisiert wird, d.h. bei der nur wenig zusätzliche
Leitungen und ein nur geringer bzw. kein Aufwand an Dekoderbausteinen erforderlich
ist.
-
Diese Aufgabe wird bei einer Anordnung der eingangsgenannten Art dadurch
gelöst, daß die Steuerleitungen, wie Freigabeleitung, Dateneingabeleitung, Takteingangsleitung,
Ladesignalleitung und Datenausgabeleitung des Schieberegisters mit dem Adreßbus
des Mikroprozessors verbunden sind und daß vom Mikroprozessor sowohl Daten auf den
Datenbus mit den Ein- und Ausgabebausteinen ausgetauscht als auch bestimmte Datensignale
auf dem mit den Schieberegistern verbundenen Adreßbus abgegeben werden.
-
Mit der erfindungsgemäßen Lösung wird die Ausgabegeschwindigkeit der
seriellen Datenausgabe wesentlich erhöht, ohne daß das an sich vorteilhafte Prinzip
der Verwendung von an den Ein/Ausgabebaustein angeschlossenen Schieberegistern verlassen
wird, und das einen nur geringen Hardwareaufwand für das Mikrocomputer-System ermöglicht.
-
Eine in der Praxis vorteilhafte einsetzbare Schaltung ist dar durch
gekennzeichnet, daß der Eingang eines ersten Ausgabe-Schieberegisters sowohl mit
der Datenausgabeleitung des Mikroprozessors als auch mit dem Ausgang eines UND-Gatters
und der Lade-Ausgabeleitung des Ein/Ausgabebäusteines verbunden ist, daß an die
Eingänge des UND-Gatters die Freigabeleitung für das Taktsignal und die Taktleitung
angeschlossen sind und daß die Ausgänge des ersten Ausgabe-Schieberegisters Steuerbefehle
an die peripheren Elemente und gegebenenfalls seriell Daten an weitere Ausgabeschieberegister
abgeben
sowie daß das letzte Eingabe-Schieberegister eingangsseitig mit den datenabgebenden
peripheren Elementen sowie der Taktleitung und der Ladeleitung für die Eingabe-Schieberegister
verbunden ist und wahlweise seriell Daten von vorgeschalteten Eingabe-Schieberegistern
erhält und ausgangsseitig an die Daten-Eingangsleitung des Ein/Ausgabebausteines
angeschlossen ist.
-
Bei der erfindungsgemäßen Anordnung ist der Hardwareaufwand aus dem
Grunde verringerbar und die Ausgabegeschwindigkeit vergrößerbar, da die Software
so ausgelegt wurde, daß sie außer der Datenaufbereitung für die Datenleitungen auch
die richtigen Signale auf dem Adreßbus des Mikroprozessors 1 generiert.
-
Anhand eines in der Zeichnung dargestellten Ausführungsbeispieles
soll der der Erfindung zugrundeliegende Gedanke näher erläutert werden. Es zeigt:
Fig. 3 ein Blockschaltbild der erfindungsgemaßen Ein/Ausgabe-Schnittstelle,, Fig.
4 eine in der Praxis erprobte Testschaltung der erfindungsgemäßen Anordnung, Fig.
5 ein Flußdiagramm zur Erläuterung der Software bei Anwendung des Blockschaltbildes
gemäß Fig. 4, Fig. 6 eine Variante des Blockschaltbildes gemäß Fig. 4 und Fig. 7
ein Flußdiagramm zur Anwendung des Blockschaltbildes gemäß Fig. 6.
-
Das in Fig. 3 dargestellte Blockschaltbild zeigt den Ein/ Ausgabebaustein
3, der mit dem Mikroprozessor über einen Adreßbus 6 und einen Datenbus 7 in Verbindung
steht. Erfindungsgemäß sind mehrere hintereinandergeschaltete Ausgabe-Schieberegister
20, 21 vorgesehen, die über entsprechende Datenleitungen mit peripheren Elementen
30 verbunden sind, wobei die peripheren Elemente 30 beispielsweise aus Anzeigeelementen,
Magnetschaltern oder Steuermotoren, für den vorliegenden Anwendungsfall beispielsweise
für Spielautomaten. Die ebenfalls hintereinandergeschalteten Eingabe-Schieberegister
22,'23 sind eingangsseitig mit peripheren Elementen 32 verbunden, die im wesentlichen
aus Geberelementen, wie beispielsweise Kontakten oder Schalttransistoren bestehen
können. Im vorgliegenden Blockschaltbild sind jeweils nur zwei Eingabe- bzw. Ausgabe-Schieberegister
20, 21 bzw. 22, 23 dargstellt, es lassen sich jedoch beliebig weitere Schieberegister
an die jeweiligen Eingabe- bzw. Ausgabe-Schieberegister anfügen. Die Verknüpfung
der Eingabe- bzw. Ausgabe-Schieberegister 20, 21 bzw. 22, 23 erfolgt in der Weise,
daß das jeweils nachfolgende Ausgabe-Schieberegister mit dem Ausgang des vorangehenden
Ausgabe-Schieberegisters verbunden ist, während ein Ausgang des jeweils voranstehenden
Eingabe-Schiebereglsters mit einem Eingang eines davorstehenden Eingabe-Schieberegisters
verbunden ist. Die Takteingänge der einzelnen Schieberegister 20 - 23 sind mit einer
gemeinsamen Taktleitung 14 verbunden, die erfindugsgemäß an den Adreßbus 6 angeschlossen
ist.
-
Ebenfalls an den Adreßbus angeschlossen ist eine Ladesignal-Leitung
15, die ebenfalls an entsprechende Eingänge der einzelnen Schieberegister 20 - 23
gelegt ist. Schließlich ist noch eine Datenausgangsleitung 13 an den Adreßbus 6
angeschlossen, die mit einem Eingang des ersten Ausgabe-Schieberegisters 20 verbunden
ist. Erfindungsgemäß ist ein PORT des Ein/Ausgabebausteins 3 sowohl mit einer Freigabeleitung
11 als auch mit einer Dateneingangsleitung 12 verbunden,
wobei
die Freigabeleitung 11 mit einem Eingang des ersten Ausgabe-Schieberegisters 20
verbunden ist, während die Dateneingangs-Leitung 12 mit einem Ausgang des in Signalflußrichtung
letzten Eingabe-Schieberegisters 22 verbunden ist.
-
I)ie Daten für die peripheren Elemente 30 werden über den Adreßbus
6, den Ausgabe-Schiebere#gistern 20, 21 usw. sowie an Ausgänge der Ausgabe-Schieberegister
20, 21 angeschlossene Treiber bzw. Transistoren seriell vom Mikroprozessor zugeführt.
Da die einzelnen Ausgabe-Schieberegister 20, 21 datenmäßig hintereinandergeschaltet
sind, wird mit der Dateneingabe für das n-teiSchieberegister zur Ansteuerung des
entsprechenden peripheren Elementes begonnen. Diese Daten durchlaufen die einzelnen
Schieberegister 20, 21 usw. bis hin zum n-ten-Schieberegister geschoben und mit
einem anschließend oder gleichzeitig von dem Mikroprozessor abgegebenen Lade impuls
das entsprechende Schieberegister inditialisiert und damit das periphere Element
angesteuert. In gleicher Weise erfolgt die Dateneingabe von den jeweiligen Erfassungselemente
der peripheren Elemente 31. Auch hier werden die einzelnen Daten vom n-ten-Eingabe-Schieberegister
bis zum 1.Eingabe-Schieberegister 22 mit jedem Taktimpuls weitergeschoben bis sie
vom Ausgang des l.Eingabe-Schieberegisters 22 an den Dateneingang des Ein/Ausgabebausteines
3 abgegeben werden; Das in Fig. 4 dargestellte Blockschaltbild zeigt# eine Testschaltung
zur Anwendung der erfindungsgemäßen Anordnung.
-
Diese Testschaltung weist jeweils ein Ausgabe-Schieberegister 20.sowie
ein Eingabe-Schieberegister 22 auf, die über entsprechende Ausgänge 16 bzw Eingänge
17 mit- nachgeschalleiten bzw. vorgeschalteten Schieberegistern verbunden sein können.
Ausgangsseitig steuert das Ausgabe-Schieberegister 20 entsprechende periphere Elemente
an, während das Eingabe-Schieberegister 22 Daten aus der Peripherie empfängt.
-
Bei diesem Ausführungsbeispiel ist der Takteingang des
Ausgabe-Schieberegisters
20 mit dem Ausgang eines UND-,Gatters 40 verbunden, dessen Eingänge mit der vom
Ein/Ausgabebaustein 3 abgegebenen Freigabe für das Taktsignal des Ausgabe-Schieberegi
sters sowie mit der Freigabeleitung 19 für das Taktsignal des Ausgabe-Schieberegisters
und mit dem Taktsignal für die Schieberegister 14 verbunden sind.
-
An einem weiteren Eingang des Ausgabe-Schieberegisters 20 ist die
Daten-Ausgabeleitung 13 des Mikroprozessors angeschlossen. Weiterhin ist die Ladeimpuls-Leitung
15 für die Ausgabe-Schieberegister 20 an einen Eingang des Schieberegisters angeschlossen,
während ein Eingang des Eingabe-Schieberegisters 22 mit einer Lade-Impulsleitung
15a für die Eingabeschieberegister verbunden ist. Der Takteingang des Eingabe-Schieberegisters
22 ist unmittelbar an die Taktleitung 14 für sämtliche Schieberegister angeschlossen.
Der Ausgang des Eingabe-Schieberegisters 22 ist an eine Daten-Eingangsleitung 12,
die mit dem Ein/Ausgabebaustein 3 verbunden ist angeschlossen.
-
Auf der mit dem Ausgang des Ausgabe-Schieberegisters 20 verbundenen
Leitung 16 werden seriell Daten an nachgeschaltete Schieberegister weitergegeben,
während die Leitung 18 Taktimpulse für die hintereinandergeschalteten Ausgabe-Schieberegister
abgibt. Auf der Leitung 15 stehen die einzelnen Ladeimpulse für die Ausgabe-Schieberegister
an, während auf der Leitung 15a die Ladeimpulse für die Eingabe-Schieberegister
abgegeben werden. Schließlich werden auf der Leitung 17 die von den Erfassungselementen
abgegebenen Daten seriell in die Eingabe-Schieberegister eingeschoben.
-
Die Funktionsweise der erfindungsgemäßen Anordnung wird anhand des
Flußdiagrammes gemäß Fig. 5 näher erläutert. Nach dem Programmstart werden die Daten
in den Akkumulator des Mikroprozessors mit dem Programmschritt P1 geladen. Der
nachfolgende
Programmschritt P2 beinhaltet die Taktfreigabe für das Freigabe-Schieberegister
und der Programmschritt P3 den Befehl, den Akkuinulatorinhalt um eine Stelle nach
rechts zu schieben. Mit dem vierten Programmschritt wird abgefragt, ob ein-Bit für
das Ausgabe-Schieberegister eine "1" oder eine "0" ist, wobei mit der Entscheidung
Ja zu einem übereinstimmenden Schritt im Bitl Ausgabeprogramm gefahren wird (Programmschritt
P5) und anschließend wiederum im Programmschritt der Akkuinhali um eine Stelle nach
rechts geschoben wird. Ist auch dieses Bit eine "1", so wird mit der Entscheidung
Ja des Programmschrittes P6 der nächste identisch mit dem vorangegangenen Schritt
verlaufende Schritt durchfahren. Für einen. 8-Bit-Rechner ergeben sich somit insgesamt
acht von diesen im Flußdiagramm dargestellten Schritten bis das Ende des Programms
P7 erreicht ist. Fällt die Entscheidung Nein bei der Programmentscheidung P4, so
wird ebenfalls der nächste, identisch mit dem vorangegangenen Schritt durchgeführt
(Programmschritt P5a)' was ebenfalls für einen 8-Bit-Rechner die Wiederholung von
acht dieser Schritte bedeutet bis das Prögrammende erreicht ist. Fällt bei der Verzweigung
P6 die Entscheidung Nein, so wird zum übereinstimmenden Schritt im BitO-Ausgabeprogramm
gefahren. ~Die oben dargestellten Programmschritte P5 und P6, P5a und P6a bedeuten,
daß ein Bit jeweils im Ausgabe-Schieberegister geladen isl.
-
Der Befehlscode wird im ROM (oder Prom) so abgelegt, daß während der
Befehlsdurchführung die Adreßleitungen die dem Befehlscode zugeordneten Steuersigriale
zum Schieberegister geben. Der Unterschied zwischen den Programmschritten P5, P6
und P5a, P6a ist, daß der Befehlscode. zwar gleich, jedoch die Ablage im Festwertspeicherraum
unterschiedlich ist. In dem einen Speicherraum entstehen Steuersignale, um eine
"1" in das Schieberegister zu bringen, und im anderen Speucherraun entstehen Steuersignale,
um eine "0" in das Sc,lliet)eregister zu bringen.
-
Eine gegenüber der Blockschaltung gemäß Fig 4 vereinfachte Schaltung
ist in Fig. 6 dargestellt, wobei die Taktleitungen für
sowohl die
Eingabe-Schieberegister als auch für die At'isgal)o-Schic' beregister zusammengefaßt
sind und auf das satter 40, d.h. illsbesondere auf die von der Ein/Ausgabeeinheit
abgegebene Freigabe für das Taktsignal des Ausgabe-Schieberegisters verzichtet wurde.
-
Das Ausgabe-Schieberegister 20 ist eingangsseitig sowohl mit der Taktleitung
14 als auch mit der Datenausgabe 13 vom Mikroprozessor verbunden sowie an die Ladeleitung
15 angeschlossen, die mit einem PORT des Ein/Ausgabebausteines verbunden ist. Ausgangsseitig,
gibt das Ausgabe-Schieberegister 20 seriell Daten an nachgeschaltete Schieberegister
weiter.
-
Das Eingabe-Schieberegister 22 ist eingangsseitig mit der seriellen
Dateneingabe von voranstehenden Eingabe-Schieberegistern ebenso wie mit der Taktleitung
14 und der Ladeleitung 15 verbunden.
-
Ausgangsseitig gibt das Eingabe-Schieberegister Z2 Daten an den Ein/Ausgabebaustein
ab.
-
Das in Fig. 7 dargestellte Flußdiagramm für das Blockschaltbild gemäß
Fig. 6 enthält nach dem Start des Programms den Programmschritt Al, der die Ladung
des Schieberegisters für die Ausgabe beinhaltt, auf den der Programmschritt A2 folgt,
daß vom Mikroprozessor ein ladeimpuls abgegeben wird, wodurch die Ausgänge der Ausgabe-Schieberegister
gesetzt werden und Eingaben in die Schieberegister geladen werden. Mit dem Programmschritt
A3 werden die Daten aus den Eingabe-Schieb'eregistern eingeholt und das Programm
anschließend beendet.
-
Leerseite