DE3781286T2 - Mikroprozessorsteuereinheit fuer seriellen punktmatrixdrucker. - Google Patents

Mikroprozessorsteuereinheit fuer seriellen punktmatrixdrucker.

Info

Publication number
DE3781286T2
DE3781286T2 DE8787100307T DE3781286T DE3781286T2 DE 3781286 T2 DE3781286 T2 DE 3781286T2 DE 8787100307 T DE8787100307 T DE 8787100307T DE 3781286 T DE3781286 T DE 3781286T DE 3781286 T2 DE3781286 T2 DE 3781286T2
Authority
DE
Germany
Prior art keywords
microprocessor
memory
control
signal
command
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
Application number
DE8787100307T
Other languages
English (en)
Other versions
DE3781286D1 (de
Inventor
Bernhard Niessen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Publication of DE3781286D1 publication Critical patent/DE3781286D1/de
Application granted granted Critical
Publication of DE3781286T2 publication Critical patent/DE3781286T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/10Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by matrix printers

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Dot-Matrix Printers And Others (AREA)

Description

  • Die Erfindung bezieht sich auf eine Mikroprozessor- Steuereinheit für einen seriellen Punktmatrixdrucker.
  • Es ist bekannt, daß zur Steuerung von Punktmatrixdruckern, seien es Anschlagdrucker Thermodrucker oder andere, die Verwendung von Mikroprozessor-Steuereinheiten sehr verbreitet ist. Unter den vom Mikroprozessor zu steuernden Operationen sind die Druckoperationen zu erwähnen, d.h. die rechtzeitige selektive Erregung der verschiedenen Druckelemente. Es ist bekannt, daß in serieilen Punktmatrixdruckern der Druck eines Zeichens längs einer Zeile in der Form von Punkten erfolgt, indem selektiv eine vertikale Gruppe von Druckelementen erregt wird, die sich längs der Druckzeile bewegen. In aufeinanderfolgenden Schritten nimmt die Druckelementengruppe aufeinanderfolgende veränderbare Positionen längs der Druckzeile ein. Die selektive Erregung der Druckelemente zu geeigneten Zeitpunkten ermöglicht das selektive Drucken von Punkten in einer Matrix, wobei die Punkte das gewünschte Zeichen zusammensetzen.
  • Eine Steuereinheit besteht im allgemeinen aus einem Zeitgeber, einem Schreib/Lesespeicher (RAM), einem Permanentspeicher (ROM) und entweder Befehls- oder Ein/Ausgaberegistern. Der Permanentspeicher speichert die Steuerprogramme des Mikroprozessors sowie die Zeichenerstellungstabellen, d.h. die Bytetabellen, welche in binärem Code die Positionen der verschiedenen Punkte in einer Matrix darstellen und das Konfigurieren des zu erzeugenden Zeichens ermöglichen.
  • Zur Steuerung der Druckoperationen liest der Mikroprozessor im Arbeitsspeicher, und zwar in einem speziell als Zeilenpuffer bezeichneten Bereich, die in der Druckzeile aufeinanderfolgenden Druckzeichen und entnimmt für jedes Zeichen aus dem Permanentspeicher, und genauer gesagt aus den Zeichenerstellungstabellen jene Codes, welche die verschiedenen Punktpositionen wiedergeben, die das zu druckende Zeichen bilden. Diese Codes können nicht direkt zur Ansteuerung der Druckelemente benutzt werden, weil das Drucken mit der Bewegung der Druckelemente längs der Druckzeile synchronisiert werden muß. Folglich werden die Codes ausgelesen und dann, soweit nötig, verarbeitet, um sie in Muster - oder Steuercodes umzuwandeln, die dann unmittelbar zum selektiven Aktivieren der Betätiger dienen können. Sie werden dann in einen Arbeitsspeicherbereich geladen, der als Zirkularpuffer bezeichnet wird. Synchron mit der Bewegung der Druckelemente werden sie nacheinander für den Druck benutzt. Die Synchronisation wird durch den Zeitgeber bewirkt, der zu vorgegebenen Zeitintervallen ein Unterbrechungssignal liefert. Dieses Unterbrechungssignal meldet dem Mikroprozessor, daß die Druckelemente in einer Position längs der Druckzeile sind, wo es erforderlich ist, die Druckelemente selektiv zu aktivieren. Folglich muß der Mikroprozessor die Operationen im Lauf der Ausführung unterbrechen und eine Druckroutine durchführen, welche ein oder mehrere Befehlsmuster in den Zirkularpuffer eingibt und diese Muster dann in eines oder mehrere Befehlsregister lädt, um diese selektiv zu aktivieren.
  • Die Frequenz, mit der diese Routine ausgeführt wird, hängt sowohl von der Druckgeschwindigkeit als auch von der horizontalen Auflösung der Druckmatrix ab. Für eine Druckgeschwindigkeit von 200 Zeichen pro Sekunde und bei einer horizontalen Auflösung der Druckmatrix von neun Positionen pro Zeichen (entsprechend einem sogenannten Entwurfsdruck) beträgt die Frequenz 1800 Routinen pro Sekunde. Da die für jede Druckroutine erforderliche Ausführungszeit in der Größenordnung von 40 bis 50us liegt werden 7 bis 9% der Zeit vom Mikroprozessor für die Steuerung der Druckoperationen benutzt. Er kann folglich einen großen Teil der Zeit der Steuerung anderer Operationen widmen, beispielsweise der Bewegung des Druckelements längs der Druckzeile, der Fortschaltung des Druckmediums, dem Empfang der zu druckenden Zeichen sowie dem Laden und Fortschalten sowohl des Zeilenpuffers als auch des Zirkularpuffers.
  • Im Fall eines Qualitätsdruckes ändert sich die Situation jedoch vollständig, weil der Mikroprozessor Druckoperationen steuern muß, in denen die verschiedenen Zeichen entsprechend von Druckmatrizen gedruckt werden müssen, die eine hohe Anzahl von Spalten, typischerweise 36 bis 60 Spalten haben. In diesem Fall wächst die Anzahl der Unterbrechungen und der entsprechenden Ausführungen von Druckroutinen proportional an, so daß der Mikroprozessor zwischen 30 und 50% seiner Zeit und mehr beansprucht wird. In diesem Zustand wird der Mikroprozessor nicht in der Lage sein, alle Operationen durchzuführen welche gemeinsam gesteuert werden müssen.
  • Um diese Beschränkungen zu beseitigen sind verschiedene Lösungen vorgeschlagen worden. Sie führen jedoch entweder zu Begrenzungen in der Flexibilität der Druckerbenutzung oder erhöhen seine Komplexität und Kosten. In US-A 4.159.882 werden beispielsweise die mit der Steuerung der Druckoperationen in bezug stehenden Funktionen von einem Eingabe/Ausgabe-Koprozessor durchgeführt, der zusammen mit einer Direktspeicherzugriffsschaltung (DMA) alle Operationen durchführt, welche für den Druck erforderlich sind, ohne daß der Zentralprozessor eingreifen muß. Infolgedessen ist die Schaltung wesentlich komplexer, und die Kosten sind stark erhöht.
  • Eine andere Lösung ist in EP-A 0 132 576 beschrieben, die als der der vorliegenden Erfindung am nächsten kommende Stand der Technik angesehen wird und von dem die vorliegende Erfindung ausgeht.
  • Entsprechend diesem Vorschlag können, selbst wenn eine Druckmatrix virtuell durch eine hohe Anzahl von Spalten gebildet werden kann, die Druckoperationen nur spaltenweise ausgeführt werden, wobei die Spalten in einem gegenseitigen Abstand voneinander stehen, dessen Größe variabel, aber nicht kleiner als eine Mindestanzahl von Spalten, ist. Der Mikroprozessor wird folglich für die Ausführung der Druckroutine nur an denjenigen Spalten unterbrochen, wo eine Druckoperation wirklich benötigt wird. Diese Lösung schließt die Möglichkeit des Drucks von Graphiken in komplexen Figuren aus sowie auch Zeichensätze mit eigentümlichen Eigenschaften.
  • Dieser Nachteil wird zumindest teilweise durch die Verwendung einer Mikroprozessor-Steuereinheit für serielle Punktmatrixdrucker und eine diesbezügliche Steuerprozedur überwunden, welche Gegenstand der vorliegenden Erfindung entsprechend den Ansprüchen ist. Gemäß dieser Erfindung ist die Steuereinheit so ausgestaltet, daß die Ausführungszeit der Druckroutine auf ein Minimum reduziert wird, indem diese einfacher gestaltet wird. Im Stand der Technik sind die Leseoperationen der Druckmuster aus dem Zirkularpuffer (was Speicherleseoperationen sind), und die Ladeoperationen der Befehlsspeicher der Druckelemente (was Ein/Ausgabeoperationen mit Peripheriegeräten sind) getrennte Operationen, die von verschiedenen Befehlen in Gang gesetzt und zu verschiedenen Zeiten ausgeführt werden. Die Erfindung basiert auf der Tatsache, daß im Gegensatz zu dem was, wie erwähnt, in den Steuereinheiten und den zugeordneten Druckroutinen im Stand der Technik geschieht, in der Steuereinheit gemäß der vorliegenden Erfindung diese beiden getrennten Operationen simultan abgearbeitet werden auf Grund der Wirkung eines einzelnen Befehls.
  • Es ist zu erwähnen, daß auf dem Markt befindliche Mikroprozessoren in ihrem Befehlssatz keinen Befehl enthalten, der in der Lage ist, gleichzeitig die Ausführung einer Speicherleseoperation und das gleichzeitige Laden der gelesenen Daten in ein externes Speicherregister auszulösen.
  • Gemäß der Erfindung wird die gleichzeitige Ausführung dieser beiden Operationen durch die Verwendung eines Signals oder einer Gruppe von Signalen ermöglicht, die vom Mikroprozessor ausgegeben und gleichzeitig mit einem Lesesignal geliefert werden, welches die Ausführung einer Leseoperation steuert. Das Auftreten eines solchen Signals bzw. solcher Signale zusammen mit dem Lesesteuersignal verursacht das Laden der infolge der Leseoperation ausgelesenen Daten in das externe Befehlsregister und damit die Umsetzung eines Speicherlesebefehls in einen Befehl, der sowohl eine Speicherleseoperation als auch eine Registerschreiboperation bewirkt. Das Signal bzw. die Signale, welche die Ausführung der Ladeoperation steuern, können Signale entsprechend einem Adressenfeld in der für die Leseoperation benutzten Adresse sein. Die Signale, welche die Ausführung der Ladeoperation steuern, können auch anderen Informationen als einem Adreßfeld entsprechen und können vom Mikroprozessor an einem geeigneten Ausgang geliefert werden, der nicht der Adressenausgang ist. In diesem Falle ist das Signal bzw. sind die Signale, welche die Umwandlung oder Modifikation des Speicherlesebefehls in eine Speicherlese/Registerschreiboperation umwandeln, geeignet, um einen vorgegebenen binären Logikwert an einem geeigneten Punkt im Fluß der Schreibroutine zu setzen. Er wird an einem zweiten Zeitpunkt im Fluß der Schreibroutine auf den anderen binären Logikwert zurückgesetzt so daß alle Speicherlesebefehle in dem durch die zwei Zeitpunkte begrenzten Flußsegment wie gewünscht modifiziert werden. Es ist folglich möglich, die Ausführungszeit einer Druckroutine um etwa 25% zu verkürzen. Selbst wenn diese Reduktion gering erscheint, so vermeidet sie jedoch sowohl funktionelle und unvereinbare Konflikte hinsichtlich der Benutzung des Mikroprozessors durch gleichzeitige Routinen.
  • Die Merkmale und Vorteile der Erfindung werden noch deutlicher aus der nachfolgenden Beschreibung eines bevorzugten Ausführungsbeispiels der Erfindung und den beigefügten Zeichnungen. Darin zeigt:
  • Fig. 1 das Schaltbild einer Mikroprozessorsteuereinrichtung in der Ausführung gemäß der Erfindung;
  • Fig. 2 als logisches Flußdiagramm die von der Einheit gemäß Fig. 1 ausgeführte Steuerroutine für ein Druckelement;
  • Fig. 3 als logisches Flußdiagramm die von einer herkömmlichen Steuereinheit ausgeführte Steuerroutine für ein Druckelement;
  • Fig. 4 als Zeitdiagramm einige elektrische Signale, die während der Ausführung der Steuerroutine gemäß Fig. 3 erzeugt werden;
  • Fig. 5 das Schaltbild einer abgewandelten Ausführungsform der Steuereinheit gemäß Fig. 1;
  • Fig. 6 als logisches Flußdiagramm einen Teil der von der Einheit gemäß Fig. 5 ausgeführten Steuerroutine für die Druckelemente.
  • Figur 1 zeigt als Blockschaltbild die Mikroprozessor- Steuereinheit für Drucker gemäß vorliegender Erfindung. Die Steuereinheit umfaßt einen Mikroprozessor 1, einem Programmspeicher 26 (ROM), einen externen Datenspeicher 12 (RAM), einen Decoder 3, ein 8-Bit-Register 4, ein JK-Flip-Flop 5, zwei UND-Gatter 6, 13 mit je zwei Eingängen, ein RS-Flip- Flop 7, vier ODER-Gatter 8, 9, 10, 11 mit je zwei Eingängen, ein logisches Nicht-Element 12 sowie einen integrierten Ein/Ausgabefunktionseinheits-Kanal 14, der als ein Ausgabekanal für Befehle, Daten und Signale dient. Andere eventuell vorhandene Elemente sind für das Verständnis der Erfindung nicht von Bedeutung.
  • Der Mikroprozessor 1 besteht vorzugsweise aus einem integrierten Schaltkreis, wie er von der Firma INTEL unter den Typennummern 8051 oder 8052 hergestellt wird. Die Verwendung dieses Mikroprozessors hat den besonderen Vorteil, daß er eine Vielzahl von Funktionen enthält und das Erfordernis an externen Komponenten auf ein Minimum reduziert. Insbesondere hat der Mikroprozessor interne Arbeitsregisterbanken mit einer Kapazität von 123 Bytes, ein spezielles Funktionsregister, zwei Zeitgeberzähler (drei im Falle des Mikroprozessors 8052) sowie vier 8-Bit- Zweirichtungsein/ausgabekanäle. Darüber hinaus können für zwei dieser vier Kanäle die einzelnen Bits multifunktionale Aufgabe erfüllen. Hinsichtlich weitere Eigenschaften und Erläuterungen der Funktion der genannten Mikroprozessoren sei auf das "Microcontroller Handbook 1983" der Firma INTEL verwiesen, insbesondere auf Kapitel 6, Seite 6-1 bis 6-29 hinsichtlich der Beschreibung seiner Architektur und Wirkung sowie auf Kapitel 8, Seiten 8-1 bis 8-60 hinsichtlich der Beschreibung der Befehlssätze, die von einem solchen Mikroprozessor ausgeführt werden. Für den Rest dieser Beschreibung werden nur jene Einzelheiten genannt, welche für das Verständnis der Erfindung erforderlich sind. Wie erwähnt, umfaßt der Mikroprozessor 1 den wesentlichen Teil der zur Ausführung der Funktion für die Steuerung des seriellen Matrixdruckers erforderlichen Elemente:
  • Vor allem enthält er, wie Figur 1 zeigt, einen Kanal P 3.07, der für die folgenden Operationen programmiert ist.
  • Anschluß P 3.6: Ist programmiert für die Ausgabe eines getakteten Lesesignals zum Lesen des externen Speichers 2;
  • Anschluß P 3.7: Ist programmiert zur Ausgabe eines getakteten Schreibsignals zum Einspeichern in den externen Speicher 2;
  • Anschluß P 3.0: Ist programmiert für die Eingabe serieller Daten von einer übertragungsleitung;
  • die Anschlüsse P 3.2 und P 3.3.: Sind programmiert zur Eingabe externer Unterbrechungssignale.
  • Ferner ist ein Kanal P1 programmiert für die Ausgabe von Befehls- und Betätigungssignalen für die Bewegung sowohl eines den Druckkopf tragenden Druckerträgers als auch des Druckmediums.
  • Schließlich sind zwei programmierbare Zeitgeber/Zähler (TIM1, TIM2) vorgesehen für die interne Erzeugung von Unterbrechungssignalen, die periodisch in vorgegebenen Zeitintervallen den Mikroprozessor zur Durchführung spezieller Operationen aufrufen, wie zur Aktivierung eines der Druckelemente oder zur Aktivierung der Schaltkreise, welche den Druckkopfträger bzw. die Papierbewegung steuern.
  • Die zuvor erwähnten und in Figur 1 gezeigten Komponenten befinden sich außerhalb des Mikroprozessors 1.
  • Der Kanal P2 des Mikroprozessors 1 ist extern an einen Adreßbus (ABUS) mit acht Leitungen angeschlossen. Innerhalb des Mikroprozessors ist der Kanal P2 an ein Programmadreßregister PAR2 sowie an ein Register P2L angeschlossen, welches in Abhängigkeit von einem internen Befehl in gegenseitig exklusiver Weise an den Kanal P2 den wichtigsten Teil entweder einer Programmadresse oder einer Speicheradresse legen kann. Der Kanal P0 im Mikroprozessor 1 ist extern an einen Daten/Adreß-Bus (ADBUS) mit acht Leitungen angeschlossen. Innerhalb des Mikroprozessors ist der Kanal P0 an ein Programmadreßregister PARO sowie an ein Register POL angeschlossen, welches auf Grund interner Befehle in gegenseitig exklusiver Weise an den Kanal P0 den geringstwertigen Teil entweder einer Programmadresse (Register PARO) oder einer Speicheradresse oder sogar allgemeiner Daten (Register POL) legen kann. Das Register POL kann auch vom Kanal PO allgemeine Daten empfangen.
  • Die Busse ABUS und ADBUS bilden einen Systembus, über den verschiedene Einheiten, wie RAM2, ROM26, Ein/Ausgabekanal 14 sowie Register 4 (und auch Flip- Flop 5), mit dem Mikroprozessor kommunizieren. Der Informationsfluß über den Systembus wird durch zwei vom Mikroprozessor 1 ausgegebene Zeitsignale PSEN und ALE sowie durch an den Klemmen P3.6 und P3.7 ausgegebene Signale RD und WR gesteuert. Der ADBUS wird vom Mikroprozessor dazu benutzt, entweder an den Speicher RAM2 oder den Speicher ROM26 die acht geringstwertigen Bits einer Adresse zu senden und in einem darauffolgenden Zeitintervall (durch Multiplextechnik) 8-bit-binäre Daten entweder an eine der an den Bus angeschlossenen Einheiten zu schicken oder von dieser zu empfangen. Das Signal ALE wird als Abtastsignal für die vom Mikroprozessor gesendeten Adressen benutzt. Das Signal PSEN dient als Zeitsignal nur für das Aus lesen von Informationen aus dem Programmspeicher ROM26. Die Signale RD bzw. WR werden als Zeitsignale nur für das Informationslesen bzw. Informationseinschreiben aus bzw. in den Speicher RAM2 verwendet. Der Bus ABUS wird vom Mikroprozessor 1 dazu benutzt, um zum Speicher RAM2 oder zu anderen den Mikroprozessor angeschlossenen Einheiten einen 8-Bit-Binärcode zu senden, der als Einheits-Auswahlcode sowie mit einer bestimmten Anzahl von Bits als Adreßcode der höchstwertigen Bits für den Speicher RAM2 dient.
  • In der Ausführungsform gemäß Figur 1 haben die Speicher RAM2 und ROM26 eine Kapazität von 8KBytes, und es werden 13 Adreßbits benötigt. Folglich ist der Bus ADBUS an die Adreßeingänge A0 bis 7 der Speicher RAM2 und ROM 26 angeschlossen, und die Leitungen ABUS 8 bis 12 sind an die Adreßeingänge A8 bis 12 der Speicher RAM2 und ROM26 geführt. Die Adressen A0 bis 7 der Speicher RAM2 und ROM26 dienen auch als Daten- Eingänge/Ausgänge. Die Leitungen ABUS13 bis 15 sind mit den Eingängen des Decoders 3 verbunden, der beispielsweise als intergrierter Schaltkreis unter der TYpenbezeichnung 74LS133 am Markt erhältlich ist. Der Decoder 3 hat acht Ausgänge und liefert für jeden unterschiedlichen 3-Bitcode am Eingang an einem der acht Ausgänge auf dem Logikpegel 0, während die anderen Eingänge auf dem Logikpegel 1 gehalten werden. Ist der Eingangscode 000, so liefert der Decoder 3 an einem Ausgang SM für die Auswahl des Speichers RAM2 ein Signal mit dem Logikpegel 0. Der Ausgang SM ist an einen Eingang des UND-Gatters 6 angeschlossen, dessen Ausgang mit dem Speichereingang zur Auswahl (oder Aktivierung) des Speichers RAM2 in Verbindung steht. Ist CS = 0, so ist der Speicher 2 ausgewählt oder aktiviert.
  • Ferner ist der Speicher 2 mit einem Eingang für den Empfang des Signals an den Ausgang P3.6 des Mikroprozessors 1 angeschlossen. Ist = 0, so sind die Anschlüsse A0 bis 7 des Speichers als Ausgänge aktiviert und aus dem Speicher ausgelesene Daten werden an den Systembus übertragen. Ferner weist der Speicher 2 einen Eingang auf, der zum Empfang des Signals mit dem Ausgang P3.7 des Mikroprozessors 1 in Verbindung steht. Ist = 0, so sind die Anschlüsse A0 bis 7 des Speichers 2 als Eingänge aktiviert, und die an diesen Anschlüssen anstehenden Daten werden an den zuvor festgelegten Adressen in den Speicher eingespeichert, sobald von "0" auf "1" übergeht.
  • Steht ein Code 001 am Eingang des Decoders 3, so liefert dieser an einem Ausgang SM & R ein Signal auf dem Logikpegel 0. Der Ausgang SM & R ist an einen zweiten Eingang des UND-Gatters 6 sowie einen ersten Eingang von zwei ODER-Gattern 8, 10 angeschlossen die an einem zweiten Eingang Signale A8 bzw. empfangen, wobei vom Inverter 12 geliefert wird, der das auf der Leitung A8 des Adreßbusses ABUS stehende Signal A8 invertiert. Der Ausgang der ODER- Gatter 8 und 10 ist an einen ersten Eingang der ODER- Gatter 9, 11 angeschlossen, welche auf einem zweiten Eingang über die Leitung 16 das am Ausgang P3.6 des Mikroprozessors stehende Signal empfangen. Der Ausgang der ODER-Gatter 9, 11 ist an den Setzeingang S des Flip-Flops 7 angeschlossen, der durch ein Signal auf dem Logikpegel 0 am Setzeingang gesetzt wird. Der Rücksetzeingang R des Flip-Flops 7 steht über die Leitung 17 mit dem Ausgang P3.7 des Mikroprozessors 1 in Verbindung, d.h. das Flip-Flop 7 wird durch das Signal auf den Logikpegel 0 zurückgesetzt. Der Ausgang des Flip-Flops 7 ist mit dem Ausgangsaktivierungsstift OE des Registers 4 verbunden.
  • Ist das Flip-Flop 7 gesetzt, so aktiviert der Logikpegel 0 am Ausgang die Ausgänge des Registers 4, um die in den entsprechenden Registerzellen gespeicherten Logikpegel 0 oder 1 aufzunehmen. Ansonsten werden die Ausgänge des Registers 4 auf einem Hochpegelzustand gehalten. Sind die Ausgänge des Registers 4 abgeschaltet, so werden sie durch eine mit Masse verbundene Gruppe von Widerständen 18 auf dem logischen Pegel 0 gehalten.
  • Der Ausgang Q des Flip-Flops 12 steht mit einem ersten Eingang eines UND-Gatters 13 in Verbindung, dessen zweiter Eingang an den Ausgang Q des Flip- Flops 5 angeschlossen ist. Das UND-Gatter 13 aktiviert die Übertragung am Ausgang 19, sofern der Logikpegel 1 am Ausgang Q des Flip-Flops 5 steht und nur dann, wenn das Flip-Flop 7 gesetzt ist. Der Ein/Ausgabekanal 14 ist mit den Busleitungen ABUS und ADBUS verbunden und in der Zeichnung nur zur Vervollständigung der Beschreibung wiedergegeben. Er bildet eine Parallelschnittstelle zur Kommunikation mit externen Baugruppen zwecks Empfang von Daten und Befehlen entweder von einem externen Datenverarbeitungssystem oder von einer Tastatur sowie zum Aussenden geeigneter Signale an äußere Schaltkreise. Insbesondere kann der Mikroprozessor 1 über den Ein/Ausgabekanal 14 einige Zeichenerstellungstabellen empfangen und sie im Speicher 2 abspeichern. Der Ein/Ausgabekanal 14 wird vom Mikroprozessor 1 über einen auf den Leitungen ABUS13 bis 15 anstehenden geeigneten Code, z.B. 111 ausgewählt, der vom Decoder decodiert und in ein Logiksignal 0 umgewandelt wird, welches auf der an einen Auswahleingang des Kanals 14 angeschlossenen Leitung 20 steht. Statt dessen kann der Ein/Ausgabekanal 14 die Einwirkung des Mikroprozessors 1 über ein Unterbrechungssignal INT erfordern, welches dem Mikroprozessor 1 zugeleitet wird.
  • Die Richtung der Informationsübertragung zwischen Mikroprozessor 1 und Ein/Ausgabekanal 14 kann durch die Signale RD und WR gesteuert werden. Im beschriebenen Ausführungsbeispiel ist die Steuereinheit für die Steuerung eines Schreibkopfes mit neun Drucknadeln ausgelegt. Zu diesem Zweck ist vorgesehen, daß das Register 4 mit einem 8-Bit- Druckmuster geladen wird, welches die selektive Steuerung von 8-Druckelementen vornimmt, und daß das Flip-Flop 5 mit einem Bit geladen wird, welches das neunte Druckelement steuert. Die Druckmuster für die Steuerung der ersten acht Druckelemente befinden sich in einem Zirkularpuffer, der durch 256 aufeinanderfolgende Speicherplätze gebildet wird, entsprechend beispielsweise den Speicherplätzen im Speicher RAM2, die sich zwischen den Binäradressen von 0000000000000 bis 0000011111111 erstrecken, d.h. das Adreßbit A8 = 0.
  • Die Druckmuster für die Steuerung des neunten Druckelements befinden sich in einem zweiten Abschnitt oder Anhang des Zirkularpuffers, der durch 256 weitere aufeinanderfolgende Speicherplätze gebildet ist, deren Adressen sich von den vorhergehenden nur durch das Bit A8 unterscheiden, welches gleich 1 ist, d.h. die Adressen gehen von 0000100000000 bis 0000111111111. Wie später beschrieben wird, ist auch eine andere Organisierung möglich.
  • Nunmehr kann die Betriebsweise der Steuereinrichtung gemäß Figur 1 mit speziellem Bezug auf das Laden der Druckmuster in das Register 4 und das Flip-Flop 5 beschrieben werden, welches mit Hilfe einer Speicherleseoperation und ohne nachfolgende Datenübertragung vom Mikroprozessor-Akkumulator an irgendeinen Ein/Ausgabekanal und insbesondere das Register 4 und das Flip-Flop 5 erfolgt. Es ist besonders zu betonen, daß die am Markt erhältlichen Mikroprozessoren, unter ihnen der Mikroprozessor MC8051, durchweg mit einem Befehlssatz ausgestattet sind, der die Übertragung von Daten von einem externen Speicher in den internen Akkumulator und umgekehrt vom Akkumulator zu den Ein/Ausgabekanälen (externe oder interne und umgekehrt) ermöglicht. Sie sind jedoch nicht mit Befehlen ausgestattet, welche das Übertragen von Daten aus einem externen Speicher an einen internen oder externen Registerkanal unmittelbar ermöglichen.
  • Die in diesem Schriftstück beschriebene Steuereinheit löst dieses Problem, wie mit Bezug auf Figur 2 leicht verständlich wird, welche in Form eines logischen Flußdiagramms die Routine oder Befehlsfolge zeigt welche den Druckvorgang steuert.
  • Die Zahl in der linken Spalte der Flußtabelle gemäß Figur 2 zeigt die Anzahl der Taktzyklen, welche der Mikroprozessor ausführen muß, um den in der rechten Spalte genannten Befehl abzuarbeiten. Im allgemeinen benötigen die Befehle zu ihrer Ausführung einen oder zwei Zyklen von je 1us-Dauer. Die Druckroutine wird durch ein Unterbrechungssignal 100 in Gang gesetzt, das von einem internen Zeitgeber des Mikroprozessors 1 erzeugt wird und zwar periodisch mit einer Frequenz in Abhängigkeit von der Druckgeschwindigkeit und der Druckmatrixauflösung.
  • In einem Drucker mit einer Druckgeschwindigkeit von 200 Zeichen pro Sekunde und einer horizontalen Auflösung der Zeichenmatrix von 60 Spalten kann die Unterbrechungsperiode, beispielsweise etwa 83us lang sein.
  • Der erste von der Druckroutine aufgerufene und ausgeführte Befehl 101 ist eine Sicherungsoperation PUSH PSW, welche das Programmzustandswort in ein geeignetes Register einspeichert und damit das Zustandsregister freigibt. Der zweite Befehl 102 speichert im Zustandsregister das neue Programmzustandswort, welches während des Prozesses zu benutzen ist und in einem geeigneten Register gespeichert oder durch den Befehl selbst spezifiziert ist. Der dritte Befehl 103 stellt den Inhalt des Akkumulators A in einem geeigneten Register R7 sicher. Der vierte Befehl 104 lädt in das dem Kanal P2 zugeordnete Register P2L einen Code HADDR, der den wichtigsten Teil einer Adresse wiedergibt, beispielsweise den Code 00100000, wobei das Bit A13 sich auf dem Logikpegel 1 befindet.
  • Der nächste Befehl 105 führt eine Lesezyklus des externen Speichers 2 an der durch den Inhalt des Kanals P2 spezifizierten Adresse für den höchstwertigen Teil durch sowie für den durch den Inhalt des Register R0 bestimmten geringstwertigen Teil. Das Register R0 enthält eine Hinweisadresse auf die zu lesende Speicherstelle im Zirkularpuffer.
  • Die aus dem Speicher ausgelesene Information bildet das Druckmuster, welches für die Steuerung der Betätiger in das Register 4 geladen werden muß, während der ausgeführte Befehl festlegt daß dieses Muster in den Akkumulator geladen werden. Folgende Eigenschaften sind zu beachten: Da sich das Bit A13 auf dem Logikpegel 1 befindet, setzt der Decoder 3 den tatsächlich den Speicher aktivierenden Ausgang SM & R auf den Logikpegel 0, wobei zur gleichen Zeit der Ausgang des ODER-Gatters 8 nach 0 umschaltet und den Ausgang des Gatters 9 die Übertragung des Signals an den Takteingang des Registers 4 in Form des Signals
  • bewirkt weil das Adreßbit A8 sich auf dem Logikpegel 0 befindet. Fällt das Signal auf 0 ab oder wird bestätigt, so sind die ausgelesenen Daten am Ausgang des Speichers 2 verfügbar und damit auf dem ADBUS vorhanden. Mit der Anstiegsflanke des Signals auf dem Wert 1 (Wegfall von ) werden die aus dem Speicher 2 ausgelesenen Daten in das Register 4 sowie in den Akkumulator geladen.
  • Der nächste Befehl 106 schaltet den Inhalt des Kanals P2 fort, der sich somit von 00100000 auf 00100001 ändert. Der nächste Befehl 107 ist ein weiterer Lesebefehl für den Speicher 2, der jedoch wegen der Fortschaltung von P2 auf den zweiten Teil des Zirkularpuffers weist, indem er das der neunten Nadel zugeordnete Druckmuster herausholt. Da in diesem Falle A13 noch auf dem Logikpegel 1 verharrt, während A8 vom Pegel 0 auf dem Pegel 1 umgeschaltet ist, wird das Flip-Flop 5 für das Laden des auf der Leitung ADBUS0 anstehenden Bits aktiviert. Wenn das Flip-Flop 7 gesetzt ist, werden gleichzeitig das Register 4 und das Flip-Flop 5 für die Übertragung des Druckmusters an den Registerausgängen bzw. der Leitung 19 aktiviert, wo sie entsprechend dem Druckmuster Signale entweder auf dem Logikpegel 1 oder 0 abgeben.
  • Offensichtlich sind die Ausgänge des Registers 4 und der Leitung 19 an ebensoviele Steuerschaltungen 25 der Betätiger angeschlossen. Solche Steuerschaltungen können in verschiedener Form vorliegen und bilden nicht Teil der Erfindung. Die Steuerschaltungen können beispielsweise den in USA 4 048 665 beschriebenen Aufbau haben und für ihre Umschaltung kurze Positive Impulse benötigen.
  • Mit dem nächsten Befehl 108 wird der Akkumulator A zurückgesetzt. Durch den Befehl 109 wird eine Speicherschreiboperation ausgeführt, welche in die vom Befehl 107 adressierten Speicherplätze einen Code lädt, der nur aus Logikwerten 0 besteht, d.h. die Speicherplätze werden entleert. Mit dem Befehl 110 wird der Inhalt des Kanals P2 zurückgeschaltet. Der Befehl 111 bewirkt eine Speicherschreiboperation, welche in die durch den vorherigen Befehl 105 adressierte Speicherstelle einen Code mit dem Logikwert 0 auf allen Stellen eingibt, d.h. der Speicherplatz wird entleert.
  • Die Befehle 108, 109 und 111 sind in keiner Weise durch den Lademechanismus des Registers 4 und des Flip-Flops 5 veranlaßt oder diesem zugeordnet, sondern sind durch Anforderungen bestimmt, welche außerhalb des Druckvorgangs liegen, beispielsweise durch den Ladeprozeß des Zirkularpuffers. Dieser Prozeß kann in der Tat verlangen, daß der schon für das Drucken benutzte Pufferbereich zuerst entleert wird, bevor er mit neuen Druckmustern gefüllt wird. Im beschriebenen Beispiel jedoch werden die Schreibbefehle für eine Zusatzfunktion im Druckprozeß benutzt. Tatsächlich wird durch den Speicherschreibbefehi 109 das Schreibkommando in bezug auf den Prozessor 1 auf 0 gesetzt. Dies bewirkt ein Rücksetzen des Flip-Flops 7 und als Ergebnis hiervon das Deaktivieren des Ausgangs des Registers 4 und des Kanals 13.
  • Befinden sich keine Schreibbefehle in der Druckroutine, so kann die vom Flip-Flop 7 ausgeführte Funktion in gleichwertiger Weise durch einen Einzelimpulsgeber erzielt werden, oder sie kann sich redundant ergeben, wenn die Befehlsimpulse am Ausgang des Registers 4 und des Flip-Flops 5 eine Dauer haben können gleich der Periode entsprechend der Frequenz, mit welcher dieselbe mit einem neuen Druckmuster geladen wird, z.B. 83us.
  • Die Druckroutine wird abgeschlossen durch die Befehle 112 bis 116, die im wesentlichen Fortschalt- und Wiedergewinnungsbefehle sind. Durch den Befehl 112 wird der Inhalt des Registers RO um einen Schritt fortgeschaltet, d.h. die Hinweisadresse auf den Zirkularpuffer wird auf den neuesten Stand gebracht und für eine nachfolgende Druckroutine eingestellt.
  • Mit dem Befehl 113 wird der Kanal P2 mit dem Inhalt eines internen Sicherstellungsregisters R6 geladen. Der Befehl 114 führt dem Akkumulator seinen Originalinhalt zu, der schon im Register R7 sichergestellt ist. Durch den Befehl 115 wird das zuvor bestehende Programmzustandswort in das Zustandsregister zurückgeladen. Mit dem Befehl 116 wird die Rückkehr der Unterbrechungsroutine zu der zuvor laufenden Routine bewirkt. Mit der Anordnung gemäß der Erfindung braucht die Druckroutine insgesamt 26 Mikroprozessorzyklen d.h. 26us.
  • Figur 3 zeigt im Vergleich eine ähnliche Routine in der Ausführung mit einer Steuereinheit herkömmlicher Art, wo das direkte Laden der aus dem Speicher ausgelesenen Information in das Befehlsregister des Steuerelements nicht vorgesehen ist.
  • Nach den Befehlen 201, 202 und 203, welche mit den Befehlen 101, 102, 103 in Figur 2 gleich laufen, lädt der Befehl 205 eine Adresse HADDR in den Kanal P2, deren einzige Aufgabe es ist, den Speicher 2 auszuwählen. Mit dem nächsten Befehl 205 wird das aus dem Speicher ausgelesenen Druckmuster nur in den Akkumulator geladen. Deshalb ist ein weiterer Befehl 205A erforderlich, um dieses Druckmuster in einem geeigneten Register R10 sicherzustellen. Durch den Befehl 207 wird der zweite Teil eines aus dem Speicher ausgelesenen Druckmusters lediglich in den Akkumulator eingespeichert. Folglich ist ein weiterer Befehl 207A erforderlich, um dieses Druckmuster in einem geeigneten Register R11 sicherzustellen. Auf den Befehl 207A können Befehle 208 bis 121 folgen, welche das Entleeren der aus dem Zirkularakkumulator ausgelesenen Speicherplätze und das Fortschalten der Hinweisadresse bewirken.
  • An dieser Stelle ist es jedoch erforderlich, die Druckmuster tatsächlich von den internen Sicherungsregistern an externe Register (Register 4 und Flip-Flop 5) zu übertragen. Zu diesem Zweck muß man den Kanal P2 mit einem Adreßcode #R4 laden, der die Auswahl des Registers R4 durch den Befehl 212A ermöglicht. Sodann ist es nötig, mit einem Befehl 212B den Inhalt von R10 in den Akkumulator A zu überführen. Als nächstes muß man den Inhalt des Akkumulators A mit dem Befehl 212C in das Register R4 übertragen. Durch Fortschalten des Inhalts des Kanals P2 läßt sich erreichen, daß die neue Adresse mit dem Befehl 212D das Flip-Flop 5 auswählt. Schließlich muß der Akkumulator A durch den Befehl 212E mit dem Inhalt des Registers R11 geladen und mit dem Befehl 212F der Inhalt des Akkumulators in das Flip-Flop 5 übertragen werden. Die nachfolgenden Befehle 212 bis 216 können den entsprechenden Befehlen 112 bis 116 gleich sein. Die resultierende Druckroutine nach dem Stand der Technik benötigt also 11 zusätzliche Zyklen. Sie hat somit eine Gesamtdauer von 37us.
  • Damit ist klar, daß die beschriebene Steuereinheit, welche die Einführung einer vereinfachten Druckroutine gestattet, die Reduktion der Ausführungszeit für die Routine um bis zu 25% ermöglicht.
  • Zur Vervollständigung der Beschreibung zeigt Figur 4 in Form eines Zeitdiagramms einige während der Ausübung der wichtigsten Befehle der Druckroutine erzeugten Signale, insbesondere entsprechend den Befehlen 105 bis 111.
  • Die vertikalen Linien teilen das Diagramm in einzelne Mikroprozessorzyklen oder Doppelzyklen, während denen die verschiedenen Mikrobefehle abgearbeitet werden. Die Kurven ALE und stellen zwei Taktsignale ALE bzw. daß, die vom Mikroprozessor erzeugt werden. Diese Signale bestimmen das Zeitintervall innerhalb des Mikroprozessorzyklus, während dessen die Adressen auf dem Bus ABUS bedeutsam sind. Im wesentlichen sind die auf dem Bus ABUS zum Speicher ROM26 gesandten Programmadressen gültig, wenn ALE und gemeinsam auf dem Logikpegel 0 liegen. Dies geschieht zweimal innerhalb jedes Mikroprozessorzyklus oder Doppelzyklus für den Aufruf von 2-Byte-Befehlen. Umgekehrt sind die Adressen des Speichers 2 auf dem Bus ABUS wichtig für alle Zeiten, während denen sich ALE auf dem Logikpegel 0 und PSEN auf dem Logikpegel 1 befindet. Folglich ist, wie das Diagramm SM & R zeigt, das Signal SM & R als Ergebnis der Adreßdecodierung während des gleichen Zeitintervalls besonders wichtig, allerdings mit einer Verzögerung entsprechend der Ausbreitungsgeschwindigkeit im Decoder 3. Das Diagramm zeigt das vom Mikroprozessor 1 während der Ausübung der verschiedenen Zyklen erzeugte Taktsignal . Das Signal schaltet für geeignete Zeitintervalle während der Ausführung eines Lesebefehls im Speicher 2 auf den Logikpegel 0. Das Diagramm zeigt das vom Mikroprozessor 1 während der Ausführung eines Schreibbefehls im Speicher 2 erzeugte Taktsignal . Das Diagramm
  • zeigt das Signal
  • am Ausgang des ODER-Gatters 9. Entsprechend gibt das Diagramm
  • das Signal
  • am Ausgang des Gatters 11 wieder. Die Kurven ENSPA und ENSPA zeigen Signale am Ausgang Q bzw. des Flip-Flops 7 und definieren die Dauer des Befehlsimpulses für den Betätiger 25.
  • Es ist offenkundig, daß die vorangehende Beschreibung sich nur auf ein bevorzugtes Ausführungsbeispiel der Erfindung bezieht und daß verschiedene Änderungen erfolgen können, ohne vom Zweck der Erfindung abzuweichen. Der Mikroprozessor 1, obwohl vorzugsweise als intergrierter Schaltkreis MC8051 ausgeführt, kann gleichermaßen durch einen anderen Mikroprozessor, beispielsweise den Prozessor 8055 der Firma INTEL ersetzt werden. Die Anzahl der Nadeln oder Betätiger kann von neun verschieden sein und dementsprechend kann die Ausführungsform der Steuereinheiten und der Druckroutine geändert werden. Für den Fall, daß die Anzahl der Druckelemente sieben oder acht ist, ergibt sich offensichtlich eine Vereinfachung der Schaltung. Im Fall, daß die Anzahl der Druckelemente zwischen neun und sechzehn liegt, ergeben sich geringfügige Änderungen der Schaltkreise, aber es sind keine Modifikationen der Druckroutine erforderlich. Für eine größere Anzahl von Betätigern können bei ungeändertem Parallelbetrieb der Steuereinheit die Schaltkreis - und Routinemodifikationen leicht aus der vorangehenden Beschreibung abgeleitet werden. Es ist ferner zu bemerken, daß der in Figur 1 gezeigte Decoder 3 nicht unbedingt erforderlich ist. Seine Funktion besteht nur daßin, daß aus einer begrenzten Anzahl von Adreßbits eine größere Anzahl von gegenseitig exklusiven Auswahlsignalen abgeleitet wird. Aus diesem Gesichtspunkt kann man, wenn die für die Steuerung der verschiedenen, an den Systembus angeschlossenen Einheiten erforderlichen Auswahlsignale hinsichtlich ihrer Anzahl begrenzt ist, ein Spezielles Adreßbit für jede dieser verschiedenen Einheiten benutzen. Beispielsweise kann mit Bezug auf Figur 1 durch Erzeugung des Signals SM das Bit A14 zur Auswahl des Nadelbefehlsregisters und das Bit A13 zur Auswahl des Speichers 2 verwendet werden. Es ergibt sich, da die Bits A13 und A14 unabhängig auf einen Befehlspegel gesetzt werden können, daß zusammengenommen sogar die vom UND-Gatter 6 ausgeführte Funktion redundant ist. Der Nachteil einer solchen Änderung ist offensichtlich die Begrenzung des adressierbaren Speicherraums auf 2¹³ Speicherplätze mit den Adreßbits A0 bis 12.
  • Für die gemeinsame Auswahl des Speichers 12 und des NadelsteuerregisLers kann diese Begrenzung leicht beseitigt werden, wenn man Mikroprozessoren vom Typ INTEL 8051 und 8052 benutzt. Diese Prozessoren haben außer den Adreßkanälen P2 und P0 wenigstens einen Ausgangskanal mit individuell programmierbaren Bits. In diesem Fall kann für die Erzeugung eines Auswahlsignals des Nadelsteuerregisters einen Bit am Ausgang eines solchen zusätzlichen Kanals benutzt werden, welches an einem geeigneten Zeitpunkt der Nadelsteuerroutine verfügbar ist, so daß man hiernach ein Signal hat, welches die gleiche Funktion ausführen kann, wie das Signal SM & R in Figur 1, und zwar solange bis es zu einem zweiten Zeitpunkt im Fluß der Nadelsteuerroutine zurückgesetzt wird.
  • Das hier benutzte Prinzip steht wiederum darin, ein Signal zu verwenden, welches mit einem vorgegebenen Pegel vorhanden oder bestätigt wird für eine Mehrzahl aufeinanderfolgender Mikroprozessorzyklen und das in Verbindung mit dem Lesesignal des Datenspeichers 2 bei jedem Auftreten des Lesesignals das Laden der Druckelementensteuerung bestimmt.
  • Figur 5 zeigt ein Ausführungsbeispiel dieses Prinzips. Die Schaltung nach Figur 5 unterscheidet sich von derjenigen nach Figur 1 nur in wenigen Einzelheiten. Deshalb wird eine vollständige Beschreibung der Schaltkreise und ihrer Funktion nicht wiederholt. Die Elemente mit der gleichen Funktion wie in Figur 1 haben die gleichen Bezugszeichen. Es zeigt, daß im Ausführungsbeispiel nach Figur 5 der Decoder 3 und das logische UND- Gatter 6 nicht vorhanden sind. In diesem Fall wird die Auswahlfunktion des Speichers 2 als eine alternative zur Auswahl des Ein/Ausgabekanals 14 durchgeführt und zwar unmittelbar durch das Bit A15 auf dem Bus ABUS, welches direkt dem Eingang des Speichers 2 zugeleitet wird und eine äquivalente Funktion hat wie das Signal SM. Die Auswahl des Ein/Ausgabekanals 14 wird durch das Bit A15 selbst durchgeführt, welches dem Kanal 14 in invertierter Form vom Inverter 17 zugeleitet wird. Die Auswahl des Registers 4 und des Flip-Flops 5 erfolgt durch die Klemmen P3.4 des Kanals P.3. Der Anschluß P3.4 ist mit einem Eingang des ODER-Gatters 18 verbunden sowie mit einem Eingang des ODER-Gatters 19 und führt diesen Eingängen ein Signal zu welche das Signal SM & R in Figur 1 ersetzt.
  • Figur 6 zeigt Teile der vom Mikroprozessor 1 ausgeführten Drucknadelroutine. Sie unterscheidet sich von derjenigen gemäß Figur 2 lediglich durch Hinzufügung von zwei Befehlen. An die mit den Nummern 101 bis 104 bezeichneten Befehle, welche die Funktion der Sicherstellung des unterbrochenen Programms und der Voreinstellung des Kanals P2 haben, schließt sich ein zusätzlicher Befehl 104A (CLR P3.4) an, der die Dauer eines Prozessorzyklus aufweist. Durch diesen Befehl wird der Anschluß P3.4 auf einen Logikpegel 0 zurückgesetzt. Dieser Logikpegel wird während der Ausführung der nachfolgenden Befehle aufrechterhalten und durch logische UND-Verknüpfung mit dem Bit A8 auf dem Bus ABUS und dem Signal bestimmt er im Zuge der nachfolgenden Befehle 105 bis 107 das Laden der aus dem Speicher 2 gelesenen Information in das Register 4 bzw. das Flip-Flop 5 Bald danach kann der Anschluß p3.4 durch einen zusätzlichen Befehl 107A (SET P3.4) auf den Logikpegel 1 gesetzt werden, so daß ein weiterer Lesebefehl des Speichers 2 den Zustand des Registers 4 und des Flip-Flops 5 nicht beeinflußt. Zur besseren Veranschaulichung zeigt Figur 4 in der Kurve p3.4 den Zustand des Anschlusses P3.4. Selbst in diesem Fall benötigt die Druckelementsteuerroutine eine wesentlich kürzere Ausführungszeit als die von der Routine gemäß Figur 3 benötigte Zeit.

Claims (5)

1. Mikroprozessor-Steuereinheit für einen seriellen Punktmatrixdrucker mit einem Mikroprozessor (1), der mehrere Ein/Ausgabeanschlüsse (P0, P2, P3) zur Ausgabe von Adressen, Daten, Steuer- und Zeitsignalen sowie zur Eingabe von Daten und Signalen, ferner einen an eine erste Gruppe (P0, P2), der Ein/Ausgabeanschlüsse angeschlossenen Systembus (ABUS, ADBUS), an eine zweite Gruppe (P3) der Ein/Ausgabeanschlüsse angeschlossene Leitungen zur Übertragung von Steuer- und Zeitsignalen (RD, WR), einen an den Bus und eine Gruppe der Leitungen angeschlossenen Arbeitsspeicher (2) zur Aufnahme von Steuer- und Zeitsignalen ( , ), Adressen (A0 - 7, A8 - 12) und zu speichernden Daten und zum Senden aus dem Speicher ausgelesener Daten an den Mikroprozessor aufweist,
ferner ein erstes Steuerregister (4) für Druckelemente enthält, dessen Eingänge an den Bus (ADBUS) angeschlossen sind, um einen vom Mikroprozessor (1) über den Bus ausgegebenen Satz von Steuerinformationen für die Druckelemente bei Aufhebung eines ersten Ladebefehls (RSPA9) vom Mikroprozessor (1) zu empfangen und in den ersten Steuerspeicher (4) zu laden, wobei der Mikroprozessor (1) in aufeinanderfolgenden Zyklen Befehle nacheinander abarbeitet und die Steuereinheit dadurch gekennzeichnet ist, daß sie eine erste Logikschaltung (8, 9) aufweist, welche auf einen vom Mikroprozessor bestätigten zeitbestimmten Speicherlesebefehl ( ), sowie ein von einem der Ein/Ausgabeanschlüsse (P2, P3) geliefertes und gleichzeitig mit dem Lesebefehl ( ) in einem bestätigten Zustand befindliches erstes Signal (ABUS 13 - 15) anspricht, um den ersten Ladebefehl (RSPA9) für das erste Register (4) mit der Bestätigung bzw. Aufhebung des Lesebefehls ( ) zu bestätigen bzw. auf zuheben, wodurch ein bei Bestätigung des Speicherlesebefehls ( ) aus dem Speicher (2) ausgelesener und vor der Aufhebung des Speicherlesebefehls auf dem Bus befindlicher Satz von Steuerinformationen bei Aufhebung des Lesebefehls ( ) und der anschließenden Aufhebung des ersten Ladebefehls (RSPA9) direkt in das erste Register (4) geladen wird.
2. Mikroprozessor-Steuereinheit nach Anspruch 1, wobei der Speicher (2) eine vorgegebene Kapazität hat und das erste Signal ein Adreßsignal (ABUS13, 14, 15) ist, welches die vorgegebene Kapazität überschreitende Adressen definiert.
3. Mikroprozessor-Steuereinheit nach Anspruch 1, mit einem zweiten Steuerregister (5) für Druckelemente, welches an den Bus (ABUS, ADBUS) angeschlossene Eingänge aufweist, um beim Aufheben eines zweiten Ladebefehls (RSPA11) einen vom Speicher (2) auf dem Bus ausgegebenen Satz von Steuerinformationen vom Mikroprozessor (1) zu empfangen und in das zweite Register (5) zu laden; mit
- einer zweiten Logikschaltung (10, 11), welche einerseits auf den vom Mikroprozessor (1) bestätigten zeitbestimmten Speicherlesebefehl ( ) und andererseits auf das im bestätigten Zustand gleichzeitig mit dem Lesebefehl ( ) auftretende erste Signal (ABUS13 - 15) anspricht, um bei Bestätigung bzw. Aufhebung des Lesebefehls ( ) den zweiten Ladebefehl (RSPA11) zu bestätigen bzw. aufzuheben, wodurch ein bei Bestätigung des Speicherlesebefehls ( ) aus dem Speicher (2) ausgelesener und vor der Aufhebung des Lesebefehls auf dem Bus befindlicher Satz von Steuerinformationen für die Druckelemente direkt in das zweite Register (5) geladen wird, und wobei die ersten (8, 9) und zweiten (10, 11) Logikschaltungen zur Bestätigung des ersten und zweiten Ladebefehls (RSPA9, RSPA11) durch ein vom Mikroprozessor ausgegebenes Adreßsignal (A8) gegenseitig exklusiv aktiviert werden, welches Adreßsignal zum Adressieren des Speichers (2) in einer ersten Leseoperation einen ersten Binärpegel und zum Adressieren des Speichers (2) in einer zweiten Leseoperation einen zweiten Binärpegel aufweist.
4. Mikroprozessor-Steuereinheit nach Anspruch 3, bei der das erste Signal ein von einem (P3.4) der Ein/Ausgabeanschlüsse während einem ersten Mikroprozessorzyklus ausgegebenes bestätigtes Signal ist, welches über mehrere folgende Zyklen bestätigt bleibt, während denen mehrere Speicherleseoperationen durchgeführt werden.
5. Steuerverfahren einer Mikroprozessor-Steuereinheit für einen seriellen Punktmatrixdrucker mit einem Mikroprozessor (1), der mehrere Ein/Ausgabeanschlüsse (P0, P2, P3) zur Ausgabe von Adressen, Daten, Steuer- und Zeitsignalen sowie zur Eingabe von Daten und Signalen, ferner einen an eine erste Gruppe (P0, P2) der Ein/Ausgabeanschlüsse angeschlossenen Systembus (ABUS, ADBUS),weiterhin an eine zweite Gruppe (P3) der Ein/Ausgabeanschlüsse angeschlossene Leitungen zur Übertragung von Steuer- und Zeitsignalen ( , ), einen an den Bus und eine Gruppe der Leitungen angeschlossenen Arbeitsspeicher (2) zur Aufnahme von Steuer- und Zeitsignalen ( , ), Adressen (A0 - 7, A8 - 12) und zu speichernden Daten und zum Senden aus dem Speicher ausgelesener Daten an den Mikroprozessor aufweist, ferner ein erstes (4) und ein zweites Steuerregister für Druckelemente enthält, deren Eingänge an den Bus (ADBUS) angeschlossen sind, um bei Aufhebung eines ersten Ladebefehls (RSPA9) bzw. eines zweiten Ladebefehls (RSPA11) einen bei Bestätigung eines Speicherlesesteuersignals ( ) durch den Mikroprozessor vom Speicher (2) über den Bus ausgegebenen Satz von Steuerinformationen für die Druckelemente vom Mikroprozessor (1) zu empfangen und entweder in das erste Steuerregister (4) oder in das zweite Steuerregister (5) zu laden, wobei der Mikroprozessor (1) in aufeinanderfolgenden Zyklen Befehle nacheinander abarbeitet und die Steuereinheit ferner Logikschaltungen (8, 9, 10, 11) umfaßt, welche einerseits auf das Speicherlesesteuersignal ( ) und andererseits auf ein von einem der Ein/Ausgabeanschlüsse (P3.4) geliefertes und vom Mikroprozessor bestätigtes erstes Signal anspricht, um mit der Bestätigung bzw. Aufhebung des Lesebefehls ( ) die ersten und zweiten Ladebefehle (RSPA9, RSPA11) zu bestätigen bzw. aufzuheben, wobei die Logikschaltungen auf ein vom Mikroprozessor geliefertes Adreßsignal (A8) ansprechen, um in Abhängigkeit vom Binärpegel des Adreßsignals (A8) gegenseitig exklusiv den ersten oder zweiten Ladebefehl (RSPA9, RSPA11) zu bestätigen;
gekennzeichnet durch folgende nacheinander ablaufende Phasen des Steuerverfahrens:
- durch Ausführen eines ersten Befehls, Vorgabe eines Ein/Ausgabeanschlusses zum Bestätigen des ersten Signals während der Zeit, in welcher mehrere nachfolgende Befehle ausgeführt werden;
- Ausführen eines zweiten Befehls, der ein Speicherlesebefehl ist, verbunden mit dem Laden von Informationen aus dem Speicher in das erste Steuerregister aufgrund der anhaltenden Bestätigung des ersten Signals;
- Ausführen eines dritten Befehls, der ein Speicherlesebefehl ist, verbunden mit dem Laden von Informationen aus dem Speicher in das zweite Steuerregister aufgrund der anhaltenden Bestätigung des ersten Signals.
DE8787100307T 1986-01-22 1987-01-13 Mikroprozessorsteuereinheit fuer seriellen punktmatrixdrucker. Expired - Fee Related DE3781286T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT19157/86A IT1188302B (it) 1986-01-22 1986-01-22 Unita' di controllo per stampante seriale a matrice

Publications (2)

Publication Number Publication Date
DE3781286D1 DE3781286D1 (de) 1992-10-01
DE3781286T2 true DE3781286T2 (de) 1993-02-18

Family

ID=11155363

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8787100307T Expired - Fee Related DE3781286T2 (de) 1986-01-22 1987-01-13 Mikroprozessorsteuereinheit fuer seriellen punktmatrixdrucker.

Country Status (3)

Country Link
EP (1) EP0230896B1 (de)
DE (1) DE3781286T2 (de)
IT (1) IT1188302B (de)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5713588A (en) * 1980-06-25 1982-01-23 Toshiba Corp Printer control device
DE3112656C2 (de) * 1981-03-31 1983-01-05 Nixdorf Computer Ag, 4790 Paderborn Verfahren und Schaltungsanordnung zum Umsetzen von Zeichencodeworten in Punktrasterschriftcodefelder
US4487515A (en) * 1982-07-19 1984-12-11 Genicom Corporation Multiple action print head control circuit for a dot matrix printer
JPS5959468A (ja) * 1982-09-30 1984-04-05 Fujitsu Ltd 印字情報処理方式
IT1163792B (it) * 1983-07-15 1987-04-08 Honeywell Inf Systems Italia Apparato di controllo mircoprogrammato per stampante seriale

Also Published As

Publication number Publication date
DE3781286D1 (de) 1992-10-01
EP0230896A3 (en) 1989-03-22
EP0230896A2 (de) 1987-08-05
IT1188302B (it) 1988-01-07
EP0230896B1 (de) 1992-08-26
IT8619157A0 (it) 1986-01-22

Similar Documents

Publication Publication Date Title
DE2635592C2 (de) Schaltungsanordnung zum Abruf von Prozessor- und Speicheranforderungen in einer Multiprozessoranlage
DE2113890C2 (de) Zentrale Verarbeitungseinrichtung für Datenverarbeitungsanlagen
DE3587105T2 (de) Wechselwirkende bedienerauswahl von alternativen ausfuehrungen von druckerfunktionen.
DE2936913C2 (de) Anordnung zur Steuerung von Eingabe und Ausgabe bei einer programmierbaren Logiksteuerung
DE2134402B2 (de) Vorrichtung zum Abfragen der Verfügbarkeit eines Kommunikationsweges zu einer Eingabe-Ausgabeeinheit
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2533403A1 (de) Datenverarbeitungssystem
DE2928488A1 (de) Speicher-subsystem
DE3914265A1 (de) Steuerung des fliessbandbetriebs in einem dynamische busanpassung anwendenden mikrocomputersystem
DE2152884C3 (de) Schaltung zum Steuern eines für bidirektionales Drucken eingerichteten Druckers
DE3716752C2 (de)
DE3508321A1 (de) Programmierbare schaltung zur steuerung einer fluessigkristallanzeige
DE2353635A1 (de) Datenverarbeitungssystem und verfahren zur datenverarbeitung
DE2926322A1 (de) Speicher-subsystem
DE3441640A1 (de) Streifenfeldspeichercontroller
DE3787283T2 (de) Integrales Eingang-Ausgangssystem für Rastabtast-Druckeinheit.
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE2403669C3 (de) SpezialComputer
DE3781286T2 (de) Mikroprozessorsteuereinheit fuer seriellen punktmatrixdrucker.
DE3400712C2 (de)
DE2404887C2 (de) Schaltungsanordnung für den Informationsaustausch mit einem Rechner
DE69019312T2 (de) Serien-Drucker in Punktmatrixverfahren.
DE2755663C2 (de) Steueranordnung für die Relativbewegung zwischen Druckkopf und Aufzeichnungsmedium in einem Drucker
DE3026225C2 (de) Datensichtgerät
DE4318317A1 (de) Datenverarbeitungsvorrichtung und -verfahren zum Ausführen von Operationen in Folge

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee