-
Taktgeberschaltung mit Mikroprozessor
-
Stand der Technik Die Erfindung betrifft eine Taktgeberschaltung gemäß
dem Oberbegriff des Patentanspruches 1.
-
.Um zeitabhängige Informationsverarbeitung durchführen -zu können,
weisen einige handelsübliche Mikroprozessoren, so der Mikroprozessor "Typ 8048",
eine interne Zeit-oder Zählschaltung auf, die von einer über den Mikroprozessor-Takteingang
eingespeisten Fremdfrequenz betrieben
werden kann. Diese Zeit-
oder Zählschaltungen können sowohl für Modifikation des internen Verarbeitungsablaufes
herangezogen werden, als auch für zeitabhängig gesteuerte Aufnahme von Daten über
Signaleingabeleitungen bzw. zeitabhängige Informationsausgabe über Ausgangs-Steuerleitungen
des Mikroprozessors.
-
Dafür werden diese eingebauten Zeit- oder Zählschaltungen auf eine
bestimmte Zählstellung voreingestellt und durch die Fremdfrequenz weitergetaktet,
his am Überlauf-Ausgang ein overflow-Signal auftritt. Dessen Erscheinen wird abgefragt,
um die Zeit- oder Zählschaltung zu löschen und zur Definition einer weiteren Zeitspanne
auf denselben oder auf einen anderen Anfangswert neu voreinzustellen und eine weitere,
u. U.
-
gleiche, Zeitspanne bis zur Abgabe des nächstfolgenden Uberlauf-Ausgangssignales
anzuschließen.
-
In Erkenntnis der Tatsache, daß durch die an sich naheliegende Verwendung
der im Mikroprozessor bereits vorhandenen Zeit- oder Zählschaltung hochgenaue lange
Zeiten, wie sie für über lange Zeitspannen sich erstreckende Steuerungsabläufe und
insbesondere auch für die Impulsansteuerung einer elektronischen Zeituhr erforderlich
sind, nicht realisierbar sind, liegt der Erfindung die Aufgabe zugrunde, eine Taktgeberschaltung
gattungsgemäßer Art zu schaffen, mit der nicht nur hochgenaue zeitabhängige Steuersignale
für Multiplexbetrieb von Steuerungsvorgängen sondern insbesondere auch hochgenaue
Zeittakte
zur Ansteuerung elektronischer Uhren ohne wesentlichen Zusatzaufwand zur ohnehin
bei Betrieb eines Mikroprozessors vorzusehenden Beschaltung gewinnbar sind.
-
Vorteile der Erfindung Diese Aufgaben wird erfindungsgemäß dadurch
gelöst, daß die Taktgeberschaltung gattungsgemäßer Art gemäß dem kennzeichnenden
Teil des Patentanspruches 1 ausgestaltet ist.
-
Nach dieser Lösung wird der Ablauf des in den Mikroprozessor eingespeicherten
Ablauf-Steuerprogrammes stets erneut, getriggert vom Quarz-Oszillator, gestartet..
-
Eine Fehlersummierung aufgrund z. B. des unvermeidbaren Abfragefehlers
bei einem vom Uberlauf-Ausgang gesteuerten Neubeginn eines Zeitintervalles aus einer
Folge von Zeitintervallen, aus denen die größeren Zeiten zusammengesetzt werden
tritt nicht mehr auf.
-
Denn der an sich hinzunehmende Fehler bei einer Abfrage des Uberlauf-Ausgangssignales
im Takt der internen Arbeitsfrequenz des Mikroprozessors, der in der Größenordnung
von bis zu 5 As liegen kann, kann nie negativ werden, so daß sich auch über längere
Zeitspannen keine Ausmittelung dieses Zeitfehlers einstellt..
-
Dieser aus dem internen Verarbeitungs-Arbeitstakt des
Mikroprozessors
resultierende Abfragefehler könnte aber auch nicht als systematischer Fehler behandelt
und über die Programmierung kompensiert werden, da er sich je nach dem momentanen
Programmablauf, insbesondere je nach der Sprungfolge in unterschiedliche Abfrageprogramme,
unterschiedlich auswirkt. Die sich aufsummierende Fehlzeit würde also desto größer,
je mehr einzelne Zeitintervalle für die Ausgabe von Signalen für den Steuerungsablauf
aufeinanderfolgen.
-
Eine Uhrenansteuerung ist damit nicht mehr möglich, weil sich ein
zunehmender Gangfehler einstellen würde.
-
Durch die Erfindung ist dieser Fehler überwunden.
-
Insbesondere bei einer Dimensionierung nach Anspruch 2, also wenn
das Ablauf-Steuerprogramm für einen Durchlauf keine größere Zeitspanne benötigt,
als es der Periodendauer zwischen zwei aufeinanderfolgenden, vom Quarz-Oszillator
gesteuerten Programmdurchlauf-Starts entspricht, ist für die Steuersignal-Ausgabe
die Zeitgenauigkeit des Quarz-Oszillators gewährleistet. Denn Synchronisier- .oder
Abfrage-Zeitfehler wirken sich nun jeweils nur noch auf die Länge einer Wartezeit
zwischen dem Ende der Programmdurchlauf-Zeitspanne und dem Ende der Periodendauer
aus.
-
Besonders zweckmäßig ist es, als Quarz-Oszillator nach Anspruch 3
einen sogenannten Uhren-Quarz einzusetzen, der sich durch hohe 'Genauigkeit und
aufgrund der großen gefertigen Stückzahl durch vergleichsweise sehr geringen Preis
auszeichnet. Ein solcher Uhren-Quarz schwingt mit 4,194304 kHz, weil diese Frequenz
sich leicht mit binären Teilerschaltungen auf eine Frequenz von 256 Hz entsprechend
einer Periodendauer von ungefähr 4ms als Taktansteuerung für hochgenaue elektronische
Uhren herabteilen läßt. -Mit dieser Frequenz wird die ständig durchlaufende externe
Teilerschaltung gespeist, aus der einerseits der Takt für die interne Datenverarbeitung
im Mikroprozessor und andererseits das Start-Signal für jeweils einen neuen Durchlauf
des abgespeicherten Steuerprogrammes abgeleitet wird.
-
Das Verhältnis der beiden aus der externen Teilerschaltung abgenommenen,
gegenüber der Quarz-Oszillator-Frequenz herabgeteilten Frequenzen wird so gewählt,
daß einerseits bei vorgegebener Länge des zyklisch zu wiederholenden Ablauf-Steuerprogrammes
eine um eine«haximal auftretenden Synchronisations- und Verarbeitungsfehler längere
Periodendauer für diesen erneuten quarzgesteuerten-Programmablauf-Start sichergestellt
ist und andererseits die dagegen höherfrequente , in den Mikroprozessor-Takteingang
- einzuspeisende Taktimpulsfolge eine ausreichende Frequenz für die internen Verarbeitungsabläufe
und für das Takten zum schrittweise Durchlaufen des abgespeicherten Ablauf-Steuerprogrammes
aufweist. Insbesondere
ist es aus Kostengründen zweckmäßig, gemäß
Anspruch 4 die Teilerschaltung so auszulegen, daß an ihrem ersten abgreifbaren Ausgang
die noch nicht herabgeteilte Oszillator-Ausgangsfrequenz zur Ansteuerung des Mikroprozessors
über seinen Takteingang zur Verfügung steht, wobei diese erste Stufe der Teilerschaltung
lediglich als Verstärkungs-oder Impedanzanpassungsstufe dient.
-
Die aus der Quarz-Oszillatorfrequenz herabgeteilte niederfrequente
Impulsfolge, die die Periodendauer für die Starts der aufeinanderfolgenden Ablauf-Steuerprogramme
bestimmt, kann über entsprechende Beschaltung des Mikroprozessors oder, vorteilhafter
noch, über entsprechende Programmierung des Mikroprozessors dafür herangezogen werden,
den internen Befehlszähler im Mikroprozessor, der der schrittweisen Abarbeitung
der abgespeicherten Abfrage- -oder Steuerprogramme dient, in eine Funktions-Anfangsstellung
zurückzusetzen, aus der heraus bei nächst-wirksamem Signal vom Mikroprozessor-Takteingang
das sukzessive Weiterschalten dieses internen Befehlszählers erneut beginnt. Dadurch
ist sichergestellt, daß der Quarz-Oszillator die Wiederholfolge der Ablauf-Steuerprogramme
allein bestimmt.
-
Es kann zweckmäßig sein, den internen Befehlszähler des Mikroprozessors
so zu setzen, daß von seinem letzten Ausgang vor Ende der Periodendauer der niederfrequenten
Impuls folge eine Blockierung (Interupt) ausgelöst wird, die erst mit Erscheinen
des nächstfolgenden Impulses der niederfrequenten- Impuls folge
wiederaufgehoben
wird, um danach erneut den Betriebszähler. mit der dagegen hochfrequenten Impuls
folge zu takten.
-
Zeichnung Weitere Merkmale und Vorteile der Erfindung ergeben sich
aus nachfolgender Beschreibung zweier in der Zeichnung unter Beschränkung auf das
Wesentliche vereinfacht dargestellter bevorzugter Ausführungsbeispiele zur erfindungsgemäßen
Lösung. Es zeigt: Fig. 1 die Ansteuerung eines Mikroprozessors über einen Impulsteiler
mit vorgeschaltetem Quarz-Oszillator mit Blockschaltbild-Prinzipdarstellung für
die Ansteuerung. eines Ablauf steuerprogrammes, Fig. 2 eine gegenüber Fig. 1 abgewandelte
Ansteuerung des Ablaufsteuerprogrammes und Fig. 3a-bis Fig. 3c in Form von einander
zugeordneten Zeitdiagrammen die Ansteuerung des Ablaufsteuerprogrammes nach Fig.
1 oder Fig. 2.
-
Beschreibung der Ausführungsbeispiele Ein Mikroprozessor 11 ist mit
einem Programmspeicher 12 ausgestattet oder zusammengeschaltet, -in den Ablaufsteuerprogramme
eingespeichert hzw. einspeich-rbar sind.
-
Je nach dem angesprochenen Programm, ggf. unter Berücksichtigung von
über Signaleingabeleitungen 13 abfragbare Informationen, werden Steuerleitungen
14 angesteuert, die bestimmte voneinander unabhängige oder im Multiplexbetrieb arbeitende
Funktionen in nachgeschalteten Vorrichtungen auslösen. Eine solche nachgeschaltete
Vorrichtung ist beispielsweise eine elektronische Uhr 15 oder irgendein nach Maßgabe
längerer Zeitabläufe, die sich beispielsweise durch Uhrzeit-Vorgaben definieren
lassen, angesteuertes Gerät wie die Steuerungseinrichtung für eine Kraftfahrzeug-Standheizung,
die an Werktagen zu bestimmten Tageszeiten, insbesondere morgens vor Betriebsbeginn,
vorübergehend eingeschaltet werden soll.
-
Für den zyklischen Durchlauf durch die Ablaufsteuerprogramme ist eine
Schrittschalteinrichtung, etwa ein Befehlszähler 16 vorgesehen. Sein Takteingang
17 ist über einen Impuls-Teiler 32, aus dem die für die interne Befehlsverarbeitung
benCtigten Impuls folgen gewonnen werden, an den Takteingang XTAL1 für externe Taktansteuerung
des Mikroprozessors 11 angeschlossen.
-
Der Mikroprozessor-Takteingang XTAL1 ist von einem Taktgeber beaufschlagt,
bei dem es sich um einen Quarz-Oszillator 18 handelt. Bevorzugt arbeitet dieser
Oszillator 18 mit einem standardisierten, hochgenauen Uhrenquarz mit einer Ausgangsimpuls-Folgefrequenz
von 4,194304 kHz. Dem Quarz-Oszillator 18 ist der Takteingang 19 einer frei durchlaufend
angesteuerten Teilerschaltung 20 nachgeschaltet, bei der es sich z. B. um ein Schieberegister
oder um- einen binären Impulsfrequenzuntersetzer handeln kann.
-
Der Mikroprozessor-Takteingang XTAL1 kann grundsätzlich an einen beliebigen
der Ausgänge 21 der Teilerschaltung 20 angeschlossen werden, oder aber dem Teiter-?akteingang
19 parallelgeschaltet sein.
-
Besonders zweckmäßig ist es, wie im Ausführungsbeispiel nach Fig.
1 berücksichtigt, die erste Stufe der Teilerschaltung 20 lediglich als Verstärker
oder Impedanzwandler 22 zu nutzen, über den der Mikroprozessor 11 mit der Taktimpulsfolgefrequenz
des Quarz-Oszillators 18 angesteuert wird.
-
Mit gegenüber dieser Impulsfolgefrequenz herabgeteilter Impulsfolgefrequenz
erscheint zyklisch eine Ausgangs-Impulsfolge b an einem Teilerschaltungs-Ausgang
21, der auf einen Steuereingang 23 des Mikroprozessors 11 geführt ist. Beim in Fig.
1 symbolisch, nämlich unter Anwendung der Blockschaltbild-Symbole der digitalen
Schaltungstechnik, dargestellten funktionellen Ausführungsbeispiel ist dem Mikroprozessor-Steuereingang
23 der Rücksetzeingang 24 einer bistabilen Kippstufe 25 nachgeschaltet. Der zugeordnete
Ausgang 26 führt auf den Rücksetzeingang 27 der Schrittschalteinrichtung für die
Ansteuerung. des Programmspeichers 12, im dargestellten Ausführungsbeispiel also
auf den Rücksetzeingang 27 des Befehlszählers. 16.
-
Der Setzeingang 28 ist dem Impuls-Teiler 32 am Takteingang XTAL 1
nachgeschaltet, und der zugehörige Ausgang
29 führt über ein UND-Gatter
30 auf den Schieberegister-Takteingang 17, wobei dieses UND-Gatter 30 mit einem
weiteren Eingang an den Impuls-Teiler 32 angeschlossen ist.
-
Beim hinsichtlich der Zusammenschaltung des Befehlszählersl6 und der
bistabilen Kippstufe 25 abgewandelten Ausführungsbeispiel gemäß. Fig. 2 ist der
Setzeingang 28 dieser Kippstufe 25 dem Steuereingang 23 des Mikroprozessors 11 nachgeschaltet,
während der Rücksetzeingang 24 der bistabilen Kippstufe 25 von einem Signal auf
einem Uberlauf-Ausgang 31 des Schieberegisters 16 angesteuert wird. Diese Variante
weist gegenüber derjenigen nach Fig. 1 u. a. den Vorteil auf, daß eine hochfrequente
Ansteuerung der nur niederfrequent umzusteuernden bistabilen Kippstufe 25 vermieden
ist.
-
Beim Betrieb der in der Zeichnung dargestellten Schaltanordnungen
steht am Teilerschaltungs-Takteingang 19 und damit am Mikroprozessor-Takteingang
XTAL1 die hochfrequente Impulsfolge a' an, die vom Quarz-oszillator 18 geliefert
und aus der der interne Verarbeitungstakt für die Abarbeitung von Programmen, so
auch die Impulsfolge a für das Takten des Befehlszählers 16, gewonnen wird, die
in Fig. 3a symbolisch dargestellt ist. Über die Auswahl des Anschlusses des Mikroprozessor-Steuereinganges
23 an einen der Ausgänge 21 der Teilerschaltung 20 ist das Frequenzverhältnis zwischen
der Impulsfolgefrequenz der Oszillator-Impulsfolge a' (und damit auch der Impulsfolge
a) und der dagegen niederfrequenten Impulsfolge b vorgebbar, d. h., nach wieviel
Impulsen a
am Befehlszähier-Takteingang 17-ein Impuls b am abgefragten
Teilerschaltungs-Ausgang 21 auftritt.
-
Eine solche, vergleichsweise niederfrequente, ImpulsfolSe b ist in
Fig. 3b dargestellt, ihr entspricht die in Fig 3c eingetragene Periodendauer tb.
-
Auf das Tastverhältnis dieser Impuls folge b kommt es an sich nicht
an. Entgegen der allgemeingültigen Darstellung in Fig. 3b ist aber ein Tastverhältnis
1:1 zu bevorzugen, wie es sich bei Verwendung einer binären Teilerschaltung 20 ergibt,
wenn ein Mikroprozessor 11 mit einem Steuereingang 23 benutzt wird, der abwechselnd
auf HL-Flanken und auf LH-Flanken triggerbarist; denn dann wird für das gleiche
Teilerver.hältnis eine binäre Teilerstufe weniger benötigt.
-
Die Periodendauer tb ist infolge Abfrage des geeigneten Teilerschaltungs-Ausganges
21 so dimensioniert, daß auch die längste der mitdiesem Mikroprozessor 11 zykLisch
abzuarbeitendenAblaufsteuerprogramm-Folgen, für deren Durchlauf die Zeitspanne tc
benötigt wird, kürzer ist, so daß stets zwischen dem Ende eines Abiaufsteuerprogramm-Durchlaufes
und dem Neubeginn des nächsten Durchlaufes eine wenigstens minimale Wartezeit tw
vergeht. Dieser nächste Durchlauf beginnt mit dem ersten'Impus der Impulsfolge a,
der mit oder nach Auftreten des nächsten Impulses der Impulsfolge b erscheint.
-
Die Impulsfolge b weist die Genauigkeit der quarzstabilisierten Impulsfolge
a' auf. Der Zeitfehler hinsichtlich des Einsatzes für den Ablauf eines Steuerprogrammes,
also
für Beginn der Zeitspanne tc bei oder nach Erscheinen eines Impulses aus der Impulsfolge
B ist maximal so groß, wie die - sehr kleine -Periode der Folgefrequenz der Impulsfolge
a. Dieser ohnehin sehr kleine Fehler summiert sich aber in der Folge der Steuerprogrammabläufe
nicht, weil jeder neue Einsatz eines Steuerprogrammablaufes über die quarzgenaue
Impulsfolge b bestimmt ist. Es variiert lediglich die Wartezeit t im Anschluß an
die Prow grammablauf-Zeitspanne t innerhalb der momentanen Periodendauer tb, ohne
daß sich hieraus irgendein Fehlerübertrag auf irgendeine der nächstfolgenden Periodendauern
tb ergibt.
-
Daraus resultiert ein hochgenauer Einsatz und Ablauf der Ansteuerung
des Befehlszählers 16 für die Steuerung der Ablaufprogramme,und auch bei einer beliebigen
Anzahl von Wiederholungen von Ablaufprogrammen oder bei Sprüngen in Programmschleifen
wirken sich auf den Ausgangs-Steuerleitungen 14 des Mikroprozessors 11 keine sich
aufsummierenden Fehler aus. Dadurch ist, über beliebig lange Zeiten betrachtet,
eine hochgenaue Ansteuerung der Uhr 15 über den Mikroprozessor 11 wie auch hochgenaue
Zeitsteuersignal-Abgabe für Multiplexsteuerungen und ähnliche Aufgaben mit minimalem
schaltungstechnischem AuXand gewährleistet.
-
Hinsichtlich dieses schaltungstechnischen- Aufwandes ist dabei noch
zu berücksichtigen, daß die zur Vereinfachung der Übersicht über die funktionellen
Zusammenhänge in Fig. 1 und Fig. 2 dargestellte Schaltung aus bistabiler Kippstufe
25 und UND-Gatter 30
nicht hardwaremäßig realisiert werden muß,
sondern die entsprechenden Funktionen durch die Programmierung des Mikroprozessors
11 über Warteschleifenbetrieb realisierbar sind. Dafür wird im aus der Impulsfolge
a' abgeleiteten Takt vom internen Betriebsprogramm zyklisch der Steuereingang 23
auf Vorliegen-eines Impulses der Impulsfolge b abgefragt und ggf. der Befehlszähler
16 um einen Schritt weitergeschaltet. Dieser Abfragezyklus läuft innerhalb der minimal
gewährleisteten Wartezeit tw statt, die Abfrage-Verzögerunqen führen also ebenfalls
nicht zu sich aufsummierenden Zeitfehlern.