-
ERFINDUNGSGEBIET
-
Die
vorliegende Erfindung betrifft ein Verfahren zum Modifizieren eines
Programms, das in einem nicht löschbaren
ROM (Nurlesespeicher) gespeichert ist, und zum Ausführen des
modifizierten Programms zur Verwendung in Computersystemen.
-
HINTERGRUND
DER ERFINDUNG
-
Computersysteme
haben allgemein einen Mikrocomputer, der als die Hauptkomponente
dient, und eine externe Vorrichtung, die mit dem Mikrocomputer verbunden
ist. Der Mikrocomputer besteht im Wesentlichen aus Speichermitteln
zum Speichern von Programmen und Daten, einer CPU (zentrale Prozessoreinheit)
zum Lesen des Programms und von Daten aus den Speichermitteln, Durchführen des Programms
und Verarbeiten der Daten und einer Schnittstellen-(I/F)-Schaltung
zum Durchführen
von Kommunikationen mit der externen Vorrichtung.
-
Die
Speichermittel haben einen ROM, in welchem das Basisprogramm und
die Basisdaten gespeichert sind, die für den Betrieb des Computersystems
unverzichtbar sind und die beispielsweise beim Startvorgang ausgeführt bzw.
verarbeitet werden, und einen RAM (Direktzugriffsspeicher) zum Speichern
verschiedener Programme und verschiedener Arten von Daten. Ein nicht
löschbarer
maskierter ROM wird üblicherweise
als der ROM verwendet, der daher das Problem hat, dass das Basisprogramm und
die Basisdaten, die in dem maskierten ROM gespeichert sind, nicht
modifiziert werden können.
-
Um
dieses Problem zu lösen,
stehen die folgenden Verfahren zur Verfügung, um das Basisprogramm
und die Basisdaten zu modifizieren. Eine löschbare, nicht flüchtige externe
Speichervorrichtung, wie beispielsweise ein EEPROM, ist mit dem Mikrocomputer
verbunden, wobei in der Vorrichtung ein modifiziertes Basisprogramm
und modifizierte Basisdaten gespeichert sind. Bei der Durchführung des
Basisprogramms und der Verarbeitung der Basisdaten lässt der
Mikrocomputer das modifizierte Basisprogramm und die modifizierten
Basisdaten von der externen Speichervorrichtung auf den RAM für die Durchführung oder
Verarbeitung übertragen.
-
Dieses
Verfahren ist effektiv, wenn das zu modifizierende Basisprogramm
eine kleine Datenmenge enthält.
Wenn jedoch ein Basisprogramm, welches eine große Datenmenge enthält, zu modifizieren
ist, setzt das Basisprogramm eine übermäßig große Region des RAM, wodurch
das Verarbeitungsvermögen
des Mikrocomputers beeinträchtigt
wird.
-
Bei
einem anderen Verfahren zum Modifizieren des Basisprogramms sind,
wie dies in der EP-A-0 092 646 offenbart ist, in einer externen
Speichervorrichtung Modifikationsprogrammdaten gespeichert (im Nachfolgenden
als "Modifikationsprogramm" bezeichnet), um
einen Teil der Programmdaten, die in dem Basisprogramm enthalten
sind, zu modifizieren. Vor der Durchführung des Basisprogramms überträgt der Mikrocomputer
das Modifikationsprogramm von der externen Speichervorrichtung auf
den RAM, und beim Durchführen
des zu modifizierenden Teils des Basisprogramms führt der
Mikrocomputer das Modifikationsprogramm durch, mit dem Ergebnis,
dass das Basisprogramm modifiziert ausgeführt wird.
-
Bei
diesem Verfahren wird das Modifikationsprogramm, das einem Teil
des Basisprogramms entspricht, auf den RAM übertragen, und es ist daher unwahrscheinlich,
dass es eine übermäßige Region besetzt.
Im Fall dieses Verfahrens hat der Mikrocomputer eine modifizierende
Adresse gespeichert, die den Ort anzeigt, wo die Daten sind, die
in dem Basisprogramm zu modifizieren sind, und eine RAM-Adresse,
wo die Daten des zu substitutierenden Modifikationsprogramms bei
der modifizierenden Adresse gespeichert sind. Beim Durchführen des
Basisprogramms muss der Mikrocomputer das Basisprogramm immer mit
Bezug auf die modifizierende Adresse und die RAM-Adresse modifizieren.
Dies beeinträchtigt
das Verarbeitungsvermögen
des Mikrocomputers.
-
Die
JP-A Nr. 143316/1993 offenbart ein Verfahren zum partiellen Modifizieren
von Programmen, das ein anderes Verfahren zum Modifizieren des Basisprogramms
ist. 11 zeigt den Innenaufbau eines Mikrocomputers
zur Verwendung bei der Praktizierung dieses Verfahrens. Wie dargestellt,
hat der Mikrocomputer 90 eine CPU 91, einen maskierten ROM 92,
einen RAM 93 und eine I/F-Schaltung 98, die vorstehend
erwähnt
worden sind, und hat ferner einen Modifikationsprogrammspeicher 95 zum
Speichern eines Modifikationsprogramms und einen Adressspeicher 96 zum
Speichern einer modifizierenden Adresse. Der Mikrocomputer hat ferner
eine Umschaltschaltung 97, die bei Empfangen der modifizierenden
Adresse von dem Speicher 96 das Basisprogramm von dem maskierten
ROM auf das Modifikationsprogramm vom Speicher 95 umschaltet und
das Modifikationsprogramm auf die CPU 91 überträgt. Die
Vorrichtungen 91, 92, 93, 95, 96, 97, 98 sind
durch einen Bus 94 verbunden.
-
Wenn
die CPU 91 das Basisprogramm für die Ausführung aus dem maskierten ROM 92 ausliest und
wenn eine Adresse des Basisprogramms, die von der CPU 91 zu
lesen ist, mit der modifizierenden Adresse übereinstimmt, überträgt die Umschaltschaltung 97 das
Modifikationsprogramm von Speicher 95 auf die CPU 91,
wodurch das Basisprogramm modifiziert wird.
-
Dieses
Verfahren realisiert die Modifikation des Basisprogramms mittels
Hardware und bringt daher keine Verzögerung bei der Ausführung des
Basisprogramms mit sich, erlaubt, dass der Mikrocomputer 90 sein
Verarbeitungsvermögen
ohne Beeinträchtigung
zeigt. Das Verfahren erfordert jedoch das Hinzufügen des Modifikationsprogrammspei chers 95,
des Speichers 96 zum Modifizieren der Adresse und die Umschaltschaltung 97 zum
Mikrocomputer 90, wodurch der Computer 90 größer wird.
-
Die
vorliegende Erfindung hat die folgenden Mittel ins Auge gefasst,
um die vorstehenden Probleme zu lösen, die bei der Modifizierung
des Basisprogramms hervorgerufen werden, wobei die Aufmerksamkeit
auf die Adressenunterbrechungsfunktion gerichtet wird, die für die CPUs
vorgesehen ist. Diese Funktion ist so, dass, wenn die CPU eine vorbestimmte
Adresse spezifiziert, eine Unterbrechung (Interrupt) verarbeitet
wird. Derzeit haben viele CPUs diese Interrupt-Funktion.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Eine
Aufgabe der vorliegenden Erfindung ist es, ein Computersystem zu
schaffen, bei dem das Basisprogramm modifiziert werden kann, ohne
dass der darin eingebaute Mikrocomputer groß wird und ohne dass das Verarbeitungsvermögen des
Mikrocomputers beeinträchtigt
wird.
-
Die
vorliegende Erfindung schafft ein Computersystem mit einem Mikrocomputer
und externen Speichermitteln, in Kommunikation mit dem Mikrocomputer,
zum Speichern verschiedener Programme und verschiedener Datenposten,
wobei der Mikrocomputer einen nicht löschbaren ROM aufweist, der ein
Grundprogramm und Grunddaten zum Speichern verschiedener Programme
oder verschiedener Datenarten speichert, einen RAM zum Speichern
verschiedener Programme oder verschiedener Datenarten, eine CPU
zum Ausführen
der Programme und Verarbeiten von Daten und einer Schnittstellenschaltung
zum Durchführen
von Kommunikationen mit den externen Vorrichtungen. Die externen
Speichermittel speichern ein Modifikationsprogramm zum Modifizieren
eines Teils der Programmdaten, die in dem Grundprogramm enthalten
sind, und eine Modifikationsstartadresse zeigt eine Position in
dem Grundprogramm an, wo die Modifikation des Grundprogramms durch
das Modifikationsprogramm zu starten ist. Die CPU hat eine Adressenunterbrechungsfunktion
zur Verarbeitung einer Unterbrechung bei einer vorgegebenen Unterbrechungsadresse.
-
In
dem so aufgebauten Computersystem überträgt der Mikrocomputer das Modifikationsprogramm
von den externen Speichermitteln auf den RAM und speichert die Modifikationsstartadresse
in der CPU als die Unterbrechungsadresse. Wenn eine Adressenunterbrechung
auftritt, wenn die CPU die Modifikationsstartadresse während der
Ausführung des
Grundprogramms spezifiziert, verarbeitet die CPU die Unterbrechung,
indem sie bewirkt, dass das Grundprogramm auf die Kopfadresse des
Modifikationsprogramms in dem RAM springt, und sie führt das Modifikationsprogramm
aus. Daraus folgend ist das Grundprogramm durch das Modifikationsprogramm modifiziert.
-
Die
vorliegende Erfindung verwendet nur eine CPU, die eine Adressenunterbrechungsfunktion hat,
benötigt
kein Hinzufügen
einer anderen Vorrichtung zum Mikrocomputer, um das Grundprogramm zu
modifizieren und bringt demgemäß keine
Wahrscheinlichkeit mit sich, den Mikrocomputer zu vergrößern.
-
Da
das Basisprogramm durch Verarbeitung einer Adressenunterbrechung
modifiziert wird, besteht keine Notwendigkeit für die CPU, sich immer auf die
modifizierende Adresse zu beziehen, was konsequent die Beeinträchtigung
des Mikrocomputerverarbeitungsvermögens ausschließt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockschaltbild, das die Konstruktion eines Plattenspielers
zeigt, welcher die Erfindung verkörpert;
-
2 zeigt
Speicherbewegungspläne
eines nicht flüchtigen
Speichers und eines RAM, die die Modifikationsprogramme und diesen
zugeordnete Daten zeigen, welche in dem nicht flüchtigen Speicher gespeichert
sind und auf den RAM übertragen werden;
-
3 ist
ein Flussdiagramm eines Programms zum Übertragen der Modifikationsprogramme
und der zugehörigen
Daten vom nicht flüchtigen Speicher
auf den RAM oder dergleichen durch eine CPU:
-
4 ist
ein Flussdiagramm, das ein Adressunterbrechungsprogramm zeigt, das
bei Auftreten einer Adressunterbrechung ausgeführt wird;
-
5 zeigt
Speicherbelegungspläne
eines ROM und des RAM zur Veranschaulichung der Funktionsweise der
CPU, die ein Grundprogramm in den ROM durch die Modifikationsprogramme
in dem RAM bei Ausführung
des Grundprogrammes modifiziert;
-
6 ist
ein Blockschaltbild, das modifizierte Grunddaten zeigt (im Nachfolgenden
als "modifizierte
Daten" bezeichnet),
die auf die Servocharakteristika bezogen sind, welche in dem nicht
flüchtigen
Speicher gespeichert sind;
-
7 ist
ein Flussdiagramm, das das Übertragungsprogramm
zeigt, welches Parameterdaten von dem nicht flüchtigen Speicher und dem ROM
auf den RAM durch die CPU überträgt;
-
8 ist
ein Blockschaltbild, das eine Einstellvorrichtung zeigt, die mit
dem Plattenspieler verbunden ist, zur Verwendung beim Einschreiben
von spezifizierten Daten in den nicht flüchtigen Speicher in dem Plattenspieler;
-
9 zeigt
Speicherbelegungspläne
einer Speichervorrichtung der Einstellvorrichtung und des nicht
flüchtigen
Speichers zur Veranschaulichung der Übertragung des Modifikationsprogramms
etc. von der Speichervorrichtung der Einstellvorrichtung auf den
nicht flüchtigen
Speicher;
-
10 ist
ein Flussdiagramm, das die Übertragung
des Modifikationsprogrammes etc. von der Einstellvorrichtung auf
den nicht flüchtigen
Speicher unter Steuerung der CPU des Mikrocomputers zeigt; und
-
11 ist
ein Blockschaltbild, das einen herkömmlichen Mikrocomputer zeigt,
der so ausgebildet ist, dass er ein Grundprogramm durch ein Modifikationsprogramm
modifizieren kann.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Es
wird im Folgenden eine Ausführungsform der
vorliegenden Erfindung beschrieben.
-
1 ist
ein Blockschaltbild, das ein System zeigt, in welchem die Erfindung
zur Steuerung des Aufzeichnens und Wiedergebens von Signalen durch einen
Plattenspieler 10 verwendet wird. Die Erfindung ist jedoch
nicht nur bei dem Plattenspieler, sondern auch bei anderen Computersystemen
anwendbar.
-
Der
Plattenspieler 10 hat eine Mechanismuseinheit 11 zum
Auslesen von Signalen oder Einschreiben von Signalen aus oder von
den Aufzeichnungsplatten, wie beispielsweise Kompaktdisks (CDs),
eine Signalverarbeitungseinheit 12 zum Verarbeiten von
Signalen, eine manuelle Betätigungseinheit 13 zum
Betätigen
durch den Benutzer und eine Anzeigevorrichtung 14 zum Anzeigen
des Betriebszustandes des Plattenspielers 10.
-
Der
Plattenspieler 10 hat ferner einen nicht flüchtigen
Speicher 15 zum Speichern der Parameter, die für den Betrieb
des Plattenspielers 10 erforderlich sind. Im Speicher 15 sind
die Modifikationsprogramme und die modifizierten Daten, die weiter unten
beschrieben werden, gespeichert. Ein EEPROM mit 256 Bytes wird bei
der vorliegenden Ausführungsform
als der nicht flüchtige
Speicher 15 verwendet, und eine verbleibende Kapazität von ungefähr 150 Bytes
dient zum Speichern der Modifikationsprogramme und der modifizierten
Daten.
-
Diese
Mechanismuseinheit 11, Signalverarbeitungseinheit 12,
manuelle Betätigungseinheit 13, Anzeigevorrichtung 14 und
der nicht flüchtige
Speicher 15 sind mit einem Steuerungsmikrocomputer 20 verbunden.
-
Der
Mikrocomputer 20 hat eine CPU 21, einen ROM 22,
der ein Grundprogramm und Grunddaten speichert, einen RAM 23 zum
Speichern verschiedener Programme und verschiedener Datenarten und
einen Zeitgeber 24 zum Messen einer vorbestimmten Zeitspanne
der abgelaufenen Zeit, die durch eine Busleitung 25 verbunden
sind. Die beschriebene Mechanismuseinheit 11, Signalverarbeitungseinheit 12 und
der nicht flüchtige
Speicher 15 sind über
Ports 26 mit der Busleitung 25 verbunden. Die
manuelle Betätigungseinheit 13 und
die Anzeigevorrichtung 14 sind mit der Busleitung 25 über eine Betätigungs-I/F
(Schnittstelle) 27 bzw. eine Anzeigeschnittstelle 28 verbunden.
-
Die
CPU 21 hat eine Adressunterbrechungsfunktion, so dass die
CPU eine Unterbrechung bei Spezifizieren einer vorbestimmten Adresse
verarbeitet und hat einen Speicher 210 zum Speichern einer Anzahl
von Unterbrechungsadressen.
-
Wenn
der so gebaute Plattenspieler 10 gestartet wird, führt der
Mikrocomputer 20 das Grundprogramm im ROM 22 aus
und verarbeitet die Grunddaten in dem ROM 22 und verschiedene
Parameter in dem nicht flüchtigen
Speicher 15. Wenn der Benutzer die manuelle Betätigungseinheit 13 betätigt, dem Plattenspieler 10 einen
Befehl für
Wiedergabe eingibt, dann treibt der Mikrocomputer 20 die
Mechanismuseinheit 11, liest ein Aufzeichnungssignal von
der Aufzeichnungsplatte und gibt das gelesene Signal, das durch
die Signalverarbeitungseinheit 12 in Antwort auf das resultierende
Befehlssignal von der manuellen Betätigungseinheit 13 in
eine vorbestimmte Signalform umgewandelt wird, aus. Wenn der Benutzer
alternativ die manuelle Betätigungseinheit 13 so betätigt, dass
ein Befehl zum Aufzeichnen gegeben wird, wandelt der Mikrocomputer 20 in
Antwort auf das resultierende Signal von der manuellen Betätigungseinheit 13 ein
eingegebenes Signal durch die Signalverarbeitungseinheit 12 in
ein Aufzeichnungssignal um, treibt die Mechanismuseinheit 11 und schreibt
das Aufzeichnungssignal auf die Aufzeichnungsplatte. Während des
Betriebes des Plattenspielers 10 überträgt der Mikrocomputer 20 ein
Anzeigesignal an die Anzeigevorrichtung 14, die dem Benutzer
den Betriebszustand an der Anzeige 14 anzeigt.
-
Verfahren
zum Modifizieren des Grundprogramms
-
Es
wird ein Verfahren zum Modifizieren des Grundprogramms des Plattenspielers 10 gemäß der vorliegenden
Erfindung beschrieben.
-
2 zeigt
Modifikationsprogramme und diesen zugeordnete Daten, die in dem
nicht flüchtigen
Speicher 15 gespeichert sind und die auf den RAM 23 zu übertragen
sind. Die Modifikationsprogramme und die diesen zugeordneten Daten
sind in einem Modifikationsprogrammspeicher 30 des nicht flüchtigen
Speichers 15 der Reihe nach gespeichert. Im dargestellten
Fall sind zwei Modifikationsprogramme und diesen zugeordnete Daten
gespeichert.
-
Die
Modifikationsprogramme und die zugeordneten Daten sind in einer
vorbestimmten Reihenfolge gespeichert. Die dargestellte Inhalte
des Speichers sind in der Reihenfolge eines Identifikations-Codes
IDi angeordnet (wobei i eine ganze Zahl nicht kleiner als 1 ist),
der anzeigt, ob das Modifikationsprogramm existiert, einer Modifikationsstartadresse
ADi, die eine Position in dem Grundprogramm anzeigt, wo die Modifikation
des Basisprogramms durch das Modifikationsprogramm zu starten ist,
eines Code-Versatz OFi, der die Code-Länge des Modifikationsprogramms
anzeigt und eines Modifikationsprogramm-Codes PRi. Am Ende des Codes
PRi ist der Code für
einen Befehl zum Springen auf eine Rückkehradresse RAi, die die
Position des Grundprogramms anzeigt, wo die Ausführung des Grundprogramms wieder
aufzunehmen ist, gespeichert.
-
In
dem RAM 23 sind ein Versatzspeicher 40 zum Speichern
des Code-Versatzes, der von dem nicht flüchtigen Speicher 15 zu übertragen
ist, und ein Programmspeicher 41 zum Speichern des Modifikationsprogramm-Codes,
der vom Speicher 15 zu übertragen
ist, vorgesehen.
-
3 ist
ein Flussdiagramm, das ein Programm zum Ausführen durch die CPU 21 zeigt,
wenn die Modifikationsprogramme und zugeordneten Daten von dem nicht
flüchti gen
Speicher 15 auf den RAM 23 oder dergleichen übertragen
werden. Das Übertragungsprogramm
ist in dem Grundprogramm enthalten und wird bei Starten des Systems
ausgeführt.
-
Zuerst
wird der Identifikations-Code IDi aus dem Speicher gelesen, um zu überprüfen, ob
das Modifikationsprogramm in diesem gespeichert ist (S10). Bei Abwesenheit
des Programms wird das Übertragungsprogramm
beendet. Bei Anwesenheit des Programms ermöglicht die Modifikationsstartadresse
ADi, die aus dem Speicher 15 ausgelesen und auf den Unterbrechungsadressspeicher 210 in
der CPU 21 übertragen
wurde, eine Adressunterbrechung durch die Adresse ADi (S11). Als
Nächstes wird
der Code-Versatz OFi vom Speicher 15 auf den Versatzspeicher 40 in
dem RAM 23 übertragen (S12).
Der Modifikationsprogramm-Code PRi wird darauf folgend vom Speicher 15 auf
den Programmspeicher 41 in den RAM 23 übertragen
(S13), worauf die Sequenz zum Schritt S10 zurückkehrt.
-
Das
Transferprogramm wird durch die Operation, die im Folgenden im Einzelnen
unter Bezugnahme auf die 2 beschrieben wird, ausgeführt. Am
Anfang wird der erste Identifikations-Code ID1 ausgelesen. Da der
erste Code ID1 Daten enthält, welche
anzeigen, dass das erste Modifikationsprogramm gespeichert ist,
wird die erste Modifikationsstartadresse AD1 vom Speicher 15 auf
den Unterbrechungsadressspeicher 210 der CPU 21 übertragen und
ist als erste Unterbrechungsadresse für eine Adressunterbrechung
zugelassen. Als Nächstes
wird der erste Code-Versatz OF1 ausgelesen und auf den Versatzspeicher 40 in
dem RAM 23 übertragen.
Der erste Modifikationsprogramm-Code PR1 wird ebenfalls ausgelesen
und auf den Programmspeicher 41 in den RAM 23 übertragen.
-
Darauf
folgend wird der zweite Identifikations-Code ID2 ausgelesen. Da
der zweite Code ID2 Daten enthält,
welche anzeigen, dass das zweite Modifikationsprogramm gespeichert
ist, wird die zweite Modifikationsstartadresse AD2 vom Speicher 15 auf den
Unterbrechungsadressspeicher 210 der CPU 21 übertragen
und ist als zweite Unterbrechungsadresse für eine Adressunterbrechung
zugelassen. Als Nächstes
wird der zweite Code- Versatz
OF2 ausgelesen und auf den Versatzspeicher 40 in dem RAM 23 übertragen.
Der zweite Modifikationsprogramm-Code PR2 wird ebenfalls ausgelesen
und auf den Programmspeicher 41 in dem RAM 23 übertragen.
-
Als
Nächstes
wird der dritte Identifikations-Code ID3 ausgelesen. In dem Fall,
bei dem der dritte Code ID3 Daten enthält, die anzeigen, dass das dritte
Modifikationsprogramm nicht gespeichert ist, wird das Übertragungsprogramm
beendet.
-
Das
Verfahren zum Modifizieren des Grundprogramms durch das Modifikationsprogramm
wird im Folgenden beschrieben.
-
4 ist
ein Flussdiagramm, das das Adressunterbrechungsprogramm zeigt, welches dann
ausgeführt
wird, wenn eine Adressunterbrechung auftritt. Wenn eine Adressunterbrechung durch
die k-te (wobei k eine ganze Zahl nicht kleiner als 1 ist) Unterbrechungsadresse
auftritt, wird auf die Code-Versätze
OF1 bis OFk-1 Bezug genommen, die in dem Versatzspeicher 40 in
dem RAM 23 gespeichert sind (S20). Dies spezifiziert die
Kopfadresse des k-ten Modifikationsprogramm-Codes PRk, der in dem
Programmspeicher 41 in dem RAM 23 gespeichert
ist. Für
den Fall, dass k gleich 1 ist, wird der erste Modifikationsprogramm-Code
PR0 in der Kopfposition des Programmspeichers 41 gespeichert,
so dass auf keinen Code-Versatz bezug zu nehmen ist. Darauf folgend
wird ein Befehl zu dem Springen auf die Kopfadresse des Modifikationsprogramm-Codes PRk
ausgeführt
(S21), worauf das Unterbrechungsprogramm beendet ist.
-
5 zeigt
die Funktionsweise der CPU 21, wenn die Einheit das Grundprogramm
durch die Modifikationsprogramme des RAM 23 modifiziert,
während
das Grundprogramm des ROM 22 ausgeführt wird. Die CPU 21 führt das
Grundprogramm zuerst an der Kopfadresse und dann von Adresse zu
Adresse durch. Bei Ausführung
des Grundprogramms tritt beim Vorgehen auf die erste Modifikationsstartadresse
AD1 eine Adressunterbrechung durch die Startadresse AD1 auf und
das vorhergehende Adressunterbrechungsprogramm (s. 4),
das in dem ROM 22 gespeichert ist, wird ausgeführt. Die ses
Programm bewirkt, dass das ausgeführte Grundprogramm auf die
Kopfadresse des Programmspeichers 41 in dem RAM 23 springt,
wodurch anstatt des Grundprogramms das erste Modifikationsprogramm
PR1 ausgeführt
wird.
-
Wenn
das erste Modifikationsprogramm PR1 bis zur letzten Adresse ausgeführt worden
ist, wird ein Befehl zum Springen auf die erste Rückkehradresse
RA1, die in der letzten Adresse enthalten ist, ausgeführt, und
das ausgeführte
Modifikationsprogramm springt auf die erste Rückkehradresse RA1 des Grundprogramms
in dem ROM 22. Die Ausführung
der Basisadresse wird dann bei der ersten Rückkehradresse RA1 wieder aufgenommen.
-
Wenn
die Ausführung
des Grundprogramms bis zur zweiten Modifikationsstartadresse AD2
fortschreitet, tritt eine Adressunterbrechung durch die Startadresse
AD2 auf, und das Adressunterbrechungsprogramm, das in dem ROM 22 gespeichert ist,
wird ausgeführt.
Dieses Programm bewirkt, dass das ausgeführte Grundprogramm auf die
Kopfadresse des zweiten Modifikationsprogramm-Codes PR2 springt,
der in dem Programmspeicher 41 in dem RAM 23 gespeichert
ist, und zwar mit Bezug auf die erste Versatzadresse OF1, die in
dem Versatzspeicher 40 in dem RAM 23 gespeichert
ist. Daraus folgend wird anstatt des Grundprogramms das zweite Modifikationsprogramm
PR2 ausgeführt.
-
Wenn
die Ausführung
des zweiten Modifikationsprogramms PR2 zur letzten Adresse fortschreitet,
wird ein Befehl zum Springen auf die zweite Rückkehradresse RA2, die in der
letzten Adresse enthalten ist, ausgeführt, wodurch bewirkt wird,
dass das ausgeführte
Modifikationsprogramm auf die zweite Rückkehradresse RA2 des Grundprogramms in
dem ROM 22 springt. Die Ausführung des Grundprogramms wird
dann an der zweiten Rückkehradresse
RA2 wieder aufgenommen.
-
Demgemäß wird das
Grundprogramm mit dem Teil zwischen der ersten Modifikationsstartadresse
AD1 und der ersten Rückkehradresse
RA1, ersetzt durch den ersten Modifikationsprogramm-Code PR1, und
mit dem Teil zwischen der zweiten Modifikationsstartad resse AD2
und der zweiten Rückkehradresse
RA2, ersetzt durch den zweiten Modifikationsprogramm-Code PR2, ausgeführt.
-
Das
Verfahren zum Modifizieren des Grundprogramms gemäß der vorliegenden
Ausführungsform
verwendet lediglich die CPU 21, die eine Adressunterbrechungsfunktion
hat, wobei keine Notwendigkeit besteht, in den Mikrocomputer 20 eine
zusätzliche
Vorrichtung zum Modifizieren des Grundprogramms einzubauen, und
es ist daher unwahrscheinlich, dass der Mikrocomputer 20 größer wird.
-
Da
das Grundprogramm durch die Adressunterbrechungsverarbeitung modifiziert
wird, besteht für
die CPU 21 keine Notwendigkeit, sich immer auf die modifizierenden
Adressen zu beziehen. Dies vermeidet die Wahrscheinlichkeit, dass
das Verarbeitungsvermögen
des Mikrocomputers 20 beeinträchtigt wird.
-
Der
nicht flüchtiger
Speicher 15 speichert die Modifikationsprogramme und die
diesen zugeordnete Datenposten so, dass sie in dem Modifikationsprogrammspeicher 30 von
dem Kopfteil desselben angeordnet sind, und von diesen Programmen
und Daten ist der Identifikations-Code IDi zuerst gespeichert, um
die Anwesenheit oder Abwesenheit des Modifikationsprogramms anzuzeigen.
Demgemäß zeigt
in dem Übertragungsprogramm
(s. 3) zum Übertragen
des Modifikationsprogrammes vom nicht flüchtigen Speicher 15 auf
den RAM 23, wenn der j-te Identifikations-Code IDj (wobei
j eine ganze Zahl nicht kleiner als 1 ist) anzeigt, dass das j-te
Modifikationsprogramm nicht gespeichert ist, dass auch kein auf
das j-te folgende Modifikationsprogramm gespeichert ist, so dass
das Übertragungsprogramm
sofort beendet werden kann. Dies beseitigt eine nutzlose Programmausführungsoperation.
-
Verfahren
zur Modifizierung der Grunddaten
-
Die
Basisdaten enthalten Servo-Charakteristika des Plattenspielers 10,
die durch das unten beschriebene Verfahren modifiziert werden. Im
Plattenspieler 10 sind verschiedene Servomotoren und Servoschaltungen
so eingebaut, dass eine Reihe von Datenposten, die auf der Aufzeichnungsplatte
aufgezeichnet sind, von einem Lesekopf genau mit einer vorbestimmten
Geschwindigkeit verfolgt und von der Platte ausgelesen werden können. Die
Servomotoren und die Servoschaltungen werden durch ein Analogverfahren
oder ein Digitalverfahren gesteuert. Im Fall des Digitalverfahrens
sind die Servo-Charakteristika in dem Mikrocomputer 20 als
Parameter gespeichert. Von diesen Parametern sind diejenigen, welche
sich von Produkt zu Produkt unterscheiden, individuell in dem nicht
flüchtigen
Speicher 15 gespeichert, während diejenigen, welche den
Produkten gemeinsam sind, in dem ROM 22 als Grunddaten gespeichert
sind. Demgemäß besteht
das Problem, dass die in dem ROM 22 gespeicherten Grunddaten nicht
modifiziert werden können.
-
6 zeigt
die modifizierten Daten, die auf die Servo-Charakteristika bezogen
sind und in dem nicht flüchtigen
Speicher 15 gespeichert sind. Die Posten der modifizierten
Daten sind in einem modifizierten Datenspeicher 31 des
nicht flüchtigen
Speichers 15 in einer vorbestimmten Reihenfolge gespeichert.
In dem dargestellten Speicher 31 sind ein Identifikations-Code,
der anzeigt, ob die modifizierten Daten existieren, ein Drehgeschwindigkeitsverstärkungsfaktor
für die
Rotations-Servovorrichtung, ein Spurverfolgungsverstärkungsfaktor
für die
Spurverfolgungs-Servoeinrichtung, ein Fokus-Verstärkungsfaktor
für die
Fokus-Servovorrichtung und Filterfaktoren der digitalen Filter zum
Bestimmen der Servo-Charakteristika gespeichert. Eine Anzahl von
Filterfaktoren werden üblicherweise
für das
Digitalfilter verwendet, so dass gemäß der vorliegenden Ausführungsform
der Speicher 31 die Anzahl der Filterfaktoren, eine Faktoradresse,
die jeden der zu modifizierenden Filterfaktoren spezifiziert und
die Daten des Faktors speichert.
-
Die
Parameter werden auf eine spezifizierte Position in dem RAM 23 übertragen,
wenn das System gestartet wird, und aus dem RAM 23 zur
Verwendung beim Aufzeichnen oder Wiedergeben ausgelesen. 7 ist
ein Flussdiagramm, das das Übertragungsprogramm
zeigt, welches durch die CPU 21 ausgeführt wird, um die Parameterdaten
von dem nicht flüchtigen
Speicher 15 und dem ROM 22 auf den RAM 23 zu übertragen.
Dieses Übertragungsprogramm
ist in dem Grundprogramm enthalten.
-
Zunächst werden
die Originalparameterdaten aus dem ROM 22 und dem nicht
flüchtigen
Speicher 15 ausgelesen und auf die spezifizierte Position im
RAM 23 übertragen
(S30).
-
Als
Nächstes
wird der Identifikations-Code aus dem modifizierte Datenspeicher 31 des
nicht flüchtigen
Speichers 15 ausgelesen und überprüft, ob modifizierte Daten gespeichert
sind oder nicht (S31). Wenn keine modifizierten Daten gespeichert sind,
wird das Übertragungsprogramm
beendet. Wenn Daten gespeichert sind, wird jeder Posten der modifizierten
Daten vom Speicher auf den entsprechenden Ort auf dem RAM übertragen,
um die Originalparameterdaten zu überschreiben (S32), worauf das Übertragungsprogramm
beendet ist.
-
Zum
Aufzeichnen oder Wiedergeben werden daher die modifizierten Parameterdaten
aus dem RAM 23 ausgelesen und verwendet. Somit kann gemäß der vorliegenden
Ausführungsform
das Grundprogramm, welches in dem ROM 22 gespeichert ist, modifiziert
werden, und die Grunddaten können ebenfalls
modifiziert werden.
-
Im
Fall des Plattenspielers 10, welcher die Erfindung verkörpert, betragen
ein Modifikationsprogramm PR1 und die diesem zugeordneten Daten
ungefähr
mehrere zehn Bytes Datenmenge, und ein Posten der modifizierten
Daten hat eine Menge von 10 ungeradzahligen Bytes. Ferner werden
mehrere Teile des Grundprogramms durch die Modifikationsprogramme
modifiziert, und mehrere Posten der Grunddaten werden durch modifizierte
Daten modifiziert. Demgemäß können das
Modifikationsprogramm PRi, die diesem zugeordneten Daten und modifizierten
Daten in der verbleibenden Kapazität (ungefähr 150 Bytes) des nicht flüchtigen
Speichers 15 gespeichert werden, der zum Speichern der
Parameter verwendet wird, welche für die Funktionsweise des Plattenspielers 10 benötigt werden.
Dies beseitigt die Notwendigkeit für eine zusätzliche Speichervorrichtung,
wodurch offensichtlich die Wahrscheinlichkeit beseitigt wird, dass
der Plattenspieler 10 größer wird.
-
Verfahren
zum Einschreiben von Modifikationsprogramm und modifizierten Daten
-
Bezug
nehmend auf die 8 bis 10 erfolgt
eine Beschreibung eines Verfahrens zum Einschreiben der Modifikationsprogramme,
der diesen zugeordneten Daten und der modifizierten Daten (im Nachfolgenden
als "Modifikationsprogramme
etc." bezeichnet)
in den nicht flüchtigen
Speicher 15.
-
Eine
Einstellvorrichtung 60 zur Verwendung beim Einschreiben
von spezifizierten Daten in den nicht flüchtigen Speicher 15 hat
eine Speichervorrichtung 61, die die Modifikationsprogramme
etc. speichert, die in den Speicher 15 einzuschreiben sind.
Wenn die Modifikationsprogramme etc. in den Speicher 15 eingeschrieben
werden, wird die Einstellvorrichtung 60 mit einem Kommunikationsbus 16 verbunden,
der den Mikrocomputer 20 und den Speicher 15 miteinander
verbindet, wie dies in der 8 gezeigt
ist. Obwohl ein Bus einer gewünschten
Bauart als Kommunikationsbus 16 verwendbar ist, wird bei
der vorliegenden Ausführungsform
ein serieller Bus wie beispielsweise ein I2C-Bus
verwendet. Unterschiedliche Vorrichtungsadressen sind der Speichervorrichtung 61 der
Einstellvorrichtung 60 und dem nicht flüchtigen Speicher 15 zur
Identifikation jedes derselben zugewiesen. Im dargestellten Fall
ist die Vorrichtungsadresse des Speichers 15 0 und diejenige
der Speichervorrichtung 61 1.
-
9 zeigt
das Modifikationsprogramm etc., das in der Speichervorrichtung 61 der
Einstellvorrichtung 60 gespeichert ist und das in den nicht
flüchtigen Speicher 15 einzuschreiben
ist. In der Speichervorrichtung 61 der Einstellvorrichtung 60 sind,
wie von der Kopfposition aus angeordnet, ein Identifikations-Code,
der die Anwesenheit oder Abwesenheit des Modifikationsprogramms
und der zugeordneten Daten anzeigt, eine Zieladresse, die die Kopfadresse des
Modifikationsprogrammspeichers 30 in dem Speicher 15 zeigt,
die Anzahl der Übertragungs-Bytes,
welches die Anzahl der Bytes des Modifikationsprogramms und der
zugehörigen
Daten ist, und ein Code der Modifikationsprogramme und der zugehörigen Daten
gespeichert. Darauf folgend sind in der Speichervorrichtung 61 ein
Identifikations-Code, der die Anwesenheit oder Abwesenheit der Modifikati onsdaten
anzeigt, eine Zieladresse, die die Kopfadresse des modifizierten
Datenspeichers 31 in dem nicht flüchtigen Speicher 15 anzeigt,
die Anzahl der Übertragungs-Bytes,
welches die Anzahl der Bytes der modifizierten Daten ist, und ein
Code der modifizierten Daten gespeichert.
-
10 ist
ein Flussdiagramm, das das Einschreibprogramm zeigt, welches durch
die CPU 21 in dem Mikrocomputer 20 zum Übertragen
der Modifikationsprogramme etc., von der Einstellvorrichtung 60 auf
den nicht flüchtigen
Speicher 15 ausgeführt wird.
Dieses Einschreibprogramm ist in dem Grundprogramm enthalten und
wird vor dem Versenden des Produktes ausgeführt. Die Parameter, die sich von
Produkt zu Produkt unterscheiden, werden gleichzeitig in den Speicher 15 individuell
eingeschrieben. Dies wird der Anzahl der Schritte nicht addiert
und ist daher wünschenswert.
-
Zunächst wird
ein Befehl zum Aufrufen der Vorrichtungsadresse 1 übertragen,
um zu überprüfen, ob
die Vorrichtung der Vorrichtungsadresse 1 (Speichervorrichtung 61 der
Einstellvorrichtung 60) an den Mikrocomputer angeschlossen
ist (S40). Als Nächstes
wird der Modifikationsprogramm-Identifikations-Code aus der Speichervorrichtung 61 ausgelesen,
um zu fragen, ob das Modifikationsprogramm etc. gespeichert ist
(S41). Wenn die Antwort negativ ist, ist das Einschreibprogramm
beendet. Wenn die Antwort positiv ist, werden die auf den nicht
flüchtigen Speicher 15 zu übertragende
Zieladresse und Anzahl der Übertragungs-Bytes
aus der Vorrichtung 61 ausgelesen (S42). Das Modifikationsprogramm
etc. der Byte-Anzahl werden von der Einstellvorrichtung 60 auf
den RAM 23 im Mikrocomputer 20 übertragen (S43)
und dann darauf folgend auf den Speicher 15, und zwar zunächst an
der Übertragungsadresse (S44),
worauf die Sequenz zum Schritt S41 zurückkehrt.
-
Anhand
der 9 wird die Funktionsweise der CPU zur Ausführung des
Einschreibprogramms im Einzelnen beschrieben.
-
Zunächst wird
die Einstellvorrichtung 60 bezüglich ihrer Verbindung mit
dem Mikrocomputer 20 überprüft, und
der Code zum Identifizieren des Modifikationsprogramms und der diesem
zugeordneten Daten werden aus der Vorrichtung 61 ausgelesen. Da
der Identifikations-Code anzeigt, dass das Programm und die zugeordneten
Daten gespeichert sind, werden die Kopfadresse des Modifikationsprogrammspeichers 30 des
Speichers 15 und die Byte-Zahl des Programms und der zugehörigen Daten
ausgelesen, und der Code des Modifikationsprogramms und die zugehörigen Daten
werden auf den RAM 23 übertragen.
Das Programm und die zugehörigen
Daten auf dem RAM 23 werden dann sukzessive in den Modifikationsprogrammspeicher 30 beginnend
an der Kopfadresse eingeschrieben.
-
Der
Code, welcher die modifizierten Daten identifiziert, wird darauf
folgend ausgelesen. Da dieser Code anzeigt, dass die modifizierten
Daten gespeichert sind, werden die Kopfadresse des modifizierten
Datenspeichers 31 des nicht flüchtigen Speichers 15 und
die Byte-Anzahl der Daten ausgelesen, und der Code der modifizierten
Daten wird auf den RAM 23 übertragen. Der modifizierte
Daten-Code auf dem RAM 23 wird danach in den Speicher 31 der Reihe
nach zuerst an der Kopfadresse eingeschrieben, worauf das Einschreibprogramm
beendet wird. Auf diese Art und Weise werden die modifizierten Programme
und die diesen zugeordneten Daten in dem Modifikationsprogrammspeicher 30 des
nicht flüchtigen
Speichers 15 und die modifizierten Daten in dem modifizierten
Datenspeicher 31 desselben gespeichert.
-
Der
Kommunikationsbus 16, der bei der vorliegenden Ausführungsform
den Mikrocomputer 20 und den nicht flüchtigen Speicher 15 verbindet,
hat mehrere Busleitungen. Demgemäß ist die
Einstellvorrichtung 60 an den Bus 16 anschließbar, indem Verbindungsanschlüsse, die
an der Einstellvorrichtung 60 vorstehen, mit den jeweiligen
Busleitungen in Kontakt gebracht werden. Der Plattenspieler 10 muss
daher nicht mit einem spezifischen Verbinder versehen sein.
-
Weiterhin
werden die Modifikationsprogramme etc. von der Einstellvorrichtung 60 auf
den nicht flüchtigen
Speicher 15 unter Steuerung des Mikrocomputers 20 gemäß der vorliegenden
Erfindung übertragen,
so dass die Einstellvorrichtung 60 nicht mit besonderen
Steuermitteln für
das Übertragen
der Daten versehen sein muss. Die Einstellvorrichtung 60 kann
daher allein durch die Speichervorrichtung 61 gebildet
sein.
-
Die
vorstehend beschriebene Ausführungsform
dient zur Veranschaulichung der vorliegenden Erfindung und sollte
nicht zur Konstruktion einer Einschränkung der Erfindung, wie sie
in den anhängenden
Patentansprüchen
definiert ist, oder zur Verringerung des Schutzumfanges desselben
verwendet werden. Das System der Erfindung ist nicht auf die vorstehende
Ausführungsform
bezüglich
seiner Konstruktion begrenzt, sondern kann selbstverständlich verschiedentlich
innerhalb des technischen Umfangs der angegebenen Patentansprüche modifiziert
sein.