PatentDe  


Dokumentenidentifikation DE19533100A1 14.03.1996
Titel Steuerschaltung für elektronisches Gerät
Anmelder Seikosha Co., Ltd., Tokio/Tokyo, JP
Erfinder Saito, Hiroyuki, Yotsukaido, Chiba, JP;
Osato, Noriyuki, Yotsukaido, Chiba, JP
Vertreter Grünecker, Kinkeldey, Stockmair & Schwanhäusser, Anwaltssozietät, 80538 München
DE-Anmeldedatum 07.09.1995
DE-Aktenzeichen 19533100
Offenlegungstag 14.03.1996
Veröffentlichungstag im Patentblatt 14.03.1996
IPC-Hauptklasse G06F 12/00
IPC-Nebenklasse G06F 11/20   
Zusammenfassung Die Erfindung umfaßt eine Betriebsvorrichtung, die gemäß einer Vielzahl von Programmen arbeitet, die ein elektronisches Gerät steuert, einen ersten Zähler für die Speicherung einer Ausführadresse für ein erstes Programm, einen zweiten Zähler für die Speicherung einer Ausführadresse eines zweiten Programms, eine Vergleichsvorrichtung zum Vergleich der Adressen, die in diesen ersten und zweiten Zähler gespeichert sind und zur Erzeugung eines Ausgangssignals, wenn diese übereinstimmen, eine erste und zweite Speichervorrichtung für die Speicherung der Vielzahl von Programmen, eine Auswahlvorrichtung für die Auswahl der ersten oder der zweiten Vorrichtung und zur Ausgabe eines ausgewählten Programms an die Betriebsvorrichtung, einen dritten Zähler für das Festhalten der Zahl von Programmen in dieser zweiten Speichervorrichtung, zur Änderung in Übereinstimmung mit der Ausführung und zur Ausgabe eines Signals, wenn die Ausführung beendet wurde, eine Steuervorrichtung, die die Auswahlvorrichtung veranlaßt, die zweite Speichervorrichtung in Übereinstimmung mit dem Ausgangssignal der Vergleichsvorrichtung auszuwählen und die die Auswahlvorrichtung veranlaßt, die erste Speichervorrichtung in Übereinstimmung mit dem Ausgangssignal des dritten Zählers auszuwählen.
Das Hinzufügen oder die Änderung eines in einen Masken-ROM geschriebenen Programms kann durch das Wiedereinschreiben von Daten in einen EEPROM durchgeführt werden, selbst nachdem das ROM als Produkt fertiggestellt wurde. ...

Beschreibung[de]
GEBIET DER ERFINDUNG

Die vorliegende Erfindung bezieht sich auf eine Steuerschaltung für ein elektronisches Gerät.

STAND DER TECHNIK

Einchip-Mikrocomputer, die einen maskenprogrammierten Festwertspeicher (nachfolgenden als "Masken-ROM" bezeichnet) enthalten, auf dem nur einmal ein Schreiben gestattet ist, werden in unterschiedlichen Bereichen verwendet, da sie die Größe von integrierten Schaltungen (nachfolgend als "IC" bezeichnet) verkleinern und kostengünstig sind.

AUFGABEN DIE VON DER ERFINDUNG GELÖST WERDEN SOLLEN

Ein Programm oder Daten, die in ein Masken-ROM geschrieben werden sollen, werden bei der Herstellung des IC eingeschrieben. Daher ist es unmöglich, das Programm zu ändern, nachdem der IC fertiggestellt wurde.

Wenn man daher einen Fehler im Programm findet, nachdem der IC fertiggestellt wurde, so muß der IC wieder neu hergestellt werden, was durch die Entwicklung Zeit und Kosten verursacht. Zusätzlich werden, wenn ein Fehler gefunden wird, während ein Produkt, das den IC enthält, hergestellt wird, neben der Herstellung des IC selber, enorme Menge von Beschädigungen verursacht.

Um die durch ein defektes Programm verursachten Schäden so klein wie möglich zu halten, wird man es so einrichten, daß man einen Abschnitt, der den Programmfehler in einem Masken-ROM enthält, ersetzt durch Daten eines anderen wiederbeschreibbaren, nichtflüchtigen Speichers, speziell durch Daten in einem EEPROM (elektrisch löschbarer und programmierbarer Festwertspeicher). Dies ermöglicht die vorher unmögliche Korrektur des Programms im Masken-ROM. Sogar wenn ein Fehler im Programm nach der Fertigstellung des IC gefunden wird, kann man somit Maßnahmen ergreifen, indem Daten in einem EEPROM geändert werden, ohne den IC wieder neu herzustellen.

VORRICHTUNG ZUR LÖSUNG DER AUFGABEN

Um die obige Aufgabe zu lösen, umfaßt die Steuerschaltung für ein elektronisches Gerät gemäß der vorliegenden Erfindung eine Betriebsvorrichtung, die in Übereinstimmung mit einer Vielzahl von Programmen arbeitet, die das elektronische Gerät steuert, einen ersten Zähler für das Speichern einer Ausführadresse des ersten Programms, einen zweiten Zähler für das Speichern der Ausführadresse eines zweiten Programms, eine Vergleichsvorrichtung für den Vergleich der Adressen, die in den ersten und zweiten Zählern gespeichert sind und zur Erzeugung eines Ausgangssignals, wenn diese übereinstimmen, erste und zweite Speichervorrichtungen für die Speicherung der Vielzahl von Programmen, eine Auswahlvorrichtung zur Auswahl entweder der ersten oder der zweiten Vorrichtung und zur Ausgabe eines ausgewählten Programms an die Betriebsvorrichtung, einen dritten Zähler für die Speicherung der Anzahl der Programme in der zweiten Speichereinrichtung, die sich in Übereinstimmung mit der Ausführung ändert und zur Ausgabe eines Signals, wenn die Ausführung beendet wurde, eine Steuervorrichtung, die die Auswahlvorrichtung veranlaßt, die zweite Speichervorrichtung in Übereinstimmung mit dem Ausgangssignal der Vergleichsvorrichtung auszuwählen und die die Auswahlvorrichtung veranlaßt, die erste Speichervorrichtung in Übereinstimmung mit dem Ausgangssignal des dritten Zählers auszuwählen.

In der Erfindung nach Anspruch 2 besteht das elektronische Gerät aus einer Kamera.

In der Erfindung nach Anspruch 3 handelt es sich bei der ersten Speichervorrichtung um einen Festwertspeicher (ROM) und bei der zweiten Speichervorrichtung um einem Schreib-/Lesespeicher.

Die Erfindung nach Anspruch 4 umfaßt einen elektrisch löschbaren und programmierbaren Festwertspeicher (EEPROM), der mit der Betriebsschaltung verbunden ist, wobei die Betriebsschaltung den Inhalt des EEPROM in die zweite Speichervorrichtung und in die zweiten und dritten Zähler überführt, wenn die Betriebsschaltung den Betrieb beginnt.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

Fig. 1 zeigt ein Blockdiagramm einer Steuerschaltung für eine Kamera gemäß einer Ausführungsform der vorliegenden Erfindung.

Fig. 2 zeigt ein Diagramm, das darstellt, wie ein Befehlskode durch eine Ausführungsform der vorliegenden Erfindung geändert wird.

Fig. 3 zeigt ein Diagramm, das darstellt, wie ein Befehlskode durch eine Ausführungsform der vorliegenden Erfindung hinzugefügt wird.

Bezugszeichenliste

22 Betriebsschaltung (Betriebsvorrichtung)

20 Programmzähler (erster Zähler)

18 Adreßfestsetzschaltung (zweiter Zähler)

17 Befehlsadreßzähler (Vergleichsvorrichtung)

11 ROM (erste Speichervorrichtung)

15 Befehlsregister (zweite Speichervorrichtung)

16 Multiplexer (Auswahlvorrichtung)

17 Befehlsadreßzähler (dritter Zähler)

23 PC-Steuerschaltung (Steuervorrichtung)

AUSFÜHRUNGSFORM

Fig. 1 zeigt ein Blockdiagramm einer Ausführungsform der vorliegenden Erfindung. ROM 11 ist ein Masken-ROM, der bei der Herstellung eines IC in einem Chip 10 angeordnet wird und ein Anwendungsprogramm speichert. Ein Schreib-/Lesespeicher (nachfolgend als "RAM" bezeichnet) 12 dient zur vorübergehenden Speicherung von Daten, wenn das Programm ausgeführt wird. Ein Schrittregister 13 dient zur Speicherung der Anzahl der Befehlsdaten, die hinzugefügt oder geändert werden sollen und speichert den Inhalt von Ox - Fx. x ist dabei ein Symbol, das anzeigen soll, daß es sich hierbei um eine Hexadezimalzahl handelt.

Ein Modusregister 14 dient als Register zur Spezifizierung, ob es sich bei einem Befehl, um ein "Addieren", ein "Ändern" oder ein "Ignorieren" handelt. Das Modusregister 14 ist so ausgeführt, daß es 0 speichert für "Addieren", 1 für "Ändern" und 2 für "Ignorieren". Das Befehlsregister 15 ist ein 16-Byte Register, in welchem ein Befehlskode gespeichert ist, der nach der Addition oder der Änderung ausgeführt werden soll. Ein Multiplexer 16 wählt das ROM 11 oder das Befehlsregister 15 in Abhängigkeit von einem Signal aus und gibt einen ausgewählten Befehl über einen Bus 24 zu einer Betriebsschaltung 22, die später beschrieben wird. Der Befehlsadressenzähler 17 ist ein Register, das den Inhalt einer Adreßfestsetzschaltung 18 und eines Programmzählers 20 vergleicht und ein Signal zu einer PC- Steuerschaltung 23, die später beschrieben wird, ausgibt, wenn die Inhalte miteinander übereinstimmen. Das aufrechterhaltene Übereinstimmungssignal wird durch ein Signal der folgenden PC-Steuerschaltung 23 gelöscht. Die Adressenfestsetzschaltung 18 ist ein Register, das die Adresse des ROM 11 festlegt, einen Befehl hinzufügt oder ändert.

Der Programmzähler, der eine Adresse des ROM 11 bestimmt, wird um 1 erhöht, wenn der jeweilige Befehl ausgeführt wurde und wird auf eine Verzweigungsadresse eingestellt, wenn ein Sprungbefehl ausgeführt wird, ein Unterprogrammaufruf oder ein Rücksprungbefehl. Ein Stapelzeiger 21 dient zur vorübergehenden Speicherung des Inhalts des Programmzählers 20, indem er ein Unterprogramm aufruft und den Inhalt des Stapelzeigers 21 in den Programmzähler 20 setzt, wenn er aus dem Unterprogramm zurückkehrt. Die Betriebsschaltung 22 steuert den Betrieb des elektronischen Gerätes in Übereinstimmung mit dem Programm, das vom Multiplexer 16 ausgegeben wird. Die PC-Steuerschaltung 23 ist eine Schaltung, die den Multiplexer 16 steuert, um ein Programm hinzuzufügen oder auszuführen und die den Programmzähler 20 und den Befehlsadressenzähler 17 steuert.

Zusätzlich sind eine Flüssigkristallsteuerschaltung 25, ein DA-Wandler 26 und ein AD-Wandler 27, eine Schwingschaltung 32 und jede Schaltung eines Timers 28 und eines Interfaces 29 über einen Bus 24 miteinander verbunden, wobei das EEPROM 30 mit dem Interface 29 verbunden ist.

Nachdem die Betriebsschaltung 22 begonnen hat zu arbeiten und das im ROM 11 gespeicherte Programm ausgeführt wird, liest die Betriebsschaltung 22 Programmbefehle, die an vorbestimmten Adressen im EEPROM 30 gespeichert sind, ein Modusflag und eine Adresse, die die Zahl der Befehle festlegt und einen Wechselpunkt und setzt die entsprechenden Daten in das Schrittregister 13, das Modusregister 14, das Befehlsregister 15 und die Adreßfestsetzschaltung 18. Diese Vorgänge sind vorher in einer tieferen Adresse des ROM 11 gespeichert und es werden jedesmal, wenn die Betriebsschaltung 20 zu arbeiten beginnt, diese Vorgänge gestartet. Nachdem diese Prozesse ausgeführt wurden, führt das Programm, wenn es für eine Kamera ausgestaltet wurde, eine Folge von Belichtungsoperationen, die Ladesteuerung eines Blitzgerätes, die Filmzuführsteuerung und eine Zoomfunktion in Übereinstimmung mit bekannten Bedingungen für einen Auslöseschalter oder einen Zoomschalter durch.

Nun sei angenommen, daß im Programm für das Zoomen der Aufnahmelinse irrtümlicherweise ein Befehl ist, der das Blitzgerät auslöst, während die Aufnahmelinse durch das Drücken des Zoomschalters gezoomt wird. Ein irrtümliches Auslösen des Blitzgerätes stellt bei einer Kamera einen kritischen Fehler dar, der zu einem sofortigen Stop der Produktion führt.

Es wird eine Maßnahme ergriffen, um das irrtümliche Auslösen des Blitzgerätes zu korrigieren, indem Werte in das Schrittregister 13, das Modusregister 14, das Befehlsregister 15und die Adreßfestsetzschaltung 18 im EEPROM 30 geschrieben werden, um den fehlerhaften Programmabschnitt zu ändern. Das heißt, eine Adresse im ROM 11, in der ein Befehlskode gespeichert ist, der das fehlerhafte Betätigen des Blitzgerätes in der Programmsteuerung des Zoomens verursacht, wird in die Adreßfestsetzschaltung 18 gesetzt, ein Befehlskode, der den früheren Befehlskode im Befehlsregister 15 ersetzt, Daten, die den Befehlsmodus "Ändern" im Modusregister 14 anzeigen, ein Wert, der der Zahl von Befehlen nach der Änderung im Schrittregister 13 entspricht, werden gesetzt.

Wenn der Zoomsteuerschalter der Kamera gedrückt wird und der Zoomprozeß die Adresse erreicht, in der sich der Fehler des Programms befindet, so gibt der Befehlsadressenzähler 17 das Übereinstimmungssignal der Adreßfestsetzschaltung 18 und des Programmzählers 20 aus. Die PC-Steuerschaltung 23 empfängt das Übereinstimmungssignal vom Befehlsadressenzähler 17 und gibt ein Signal für das Schalten des ROM 11 an den Multiplexer 16 aus. Somit werden Befehle ab da in Übereinstimmung mit dem Inhalt des Befehlsregisters 15 durchgeführt.

Fig. 2 zeigt das Arbeiten des Programms, wenn der Modus "Ändern" durchgeführt wird. Hierbei sei angenommen, daß die Adressen von 0109x bis 010Cx im ROM 11 durch die Adressen 002Fx bis 0032x im EEPROM 30 ersetzt werden. Wenn 4, die Zahl der Befehle im Befehlsregister 15 im Schrittregister 13 gespeichert wird, so wird der Inhalt des Schrittregisters 13 zur PC-Steuerschaltung 23 übertragen, dann wird immer eins abgezogen, jedesmal, wenn ein Byte von Befehlen im Befehlsregister 15 ausgeführt ist und es wird eins zum Befehlsadressenregister 17 addiert, um eine Adresse im Befehlsregister 15 festzulegen. Zur gleichen Zeit wird eins zum Programmzähler 20 addiert. Wenn die Zahl der Befehlsschritte, die zur PC-Steuerschaltung 23 übertragen wurde, Null erreicht, indem diese Schritte wiederholt ausgeführt werden, gibt die PC-Steuerschaltung 23 ein Schaltsignal an den Multiplexer 16 aus und zur gleichen Zeit gibt sie das Löschsignal an den Befehlsadressenzähler 17, um den Befehlsadressenzähler 17 zu initialisieren und dann kehrt der Prozeß zum Programm in ROM 11 zurück.

Fig. 3 zeigt den Ausführungspfad des Programms, wenn der Modus "Addiere" ausgeführt wird. Hier sei angenommen, daß die Befehle in den Adressen 002Ex bis 0032x im EEPROM 30 zwischen einer Adresse 0108x und einer Adresse 0109x im ROM 11 hinzugefügt werden sollen. Zuerst gibt die PC-Steuerschaltung 23 ein Schaltsignal an den Multiplexer 16 aus und fährt fort mit der Ausführung des Programms im EEPROM 30. Wenn 4, die Zahl der Befehle im Befehlsregister 15 im Schrittregister 13 gespeichert wird, wird der Inhalt des Schrittregisters 13 zur PC-Steuerschaltung 23 überführt, dann wird Dedesmal, wenn ein Byte von Befehlen im Befehlsregister 15 ausgeführt wurde, eins abgezogen und es wird eins zum Befehlsadreßregister 17 addiert, um eine Adresse im Befehlsregister 15 festzulegen. Um eine Verschiebung der Adressen zu verhindern, wenn man zur Ausführung des Programms im ROM 11 zurückkehrt, wird der Programmzähler 20 auf seinem Wert gehalten. Wenn diese Schritte wiederholt werden und die Befehle entsprechend der Zahl, die durch das Schrittregister 13 festgelegt wurde, ausgeführt werden, gibt die PC-Steuerschaltung 23 wieder ein Schaltsignal an den Multiplexer 16, ein Löschsignal an den Befehlsadreßzähler 17 um den Befehlsadreßzähler wieder zu initialisieren und kehrt dann zum Programm im ROM 11 zurück.

Wenn man wünscht, einen Befehl zu löschen, der beispielsweise irrtümlicherweise das Blitzgerät auslöst, so wird das irrtümliche Auslösen des Blitzgerätes durch einen Nichtausführungskode (NOP) verhindert, der im Befehlsregister 15 nichts ausführt und im Modusregister 14 1 = "Ändern".

Wenn es zusätzlich zur Modifikation des "Addierens" gewünscht wird, die Funktion eines Befehlskodes mit einer speziellen Länge nach einer speziellen Adresse nicht auszuführen, wird ein Kode in das Befehlsregister 15 gesetzt, um die nächste Adresse auf die letzte Adresse des Befehls springen zu lassen. Somit wird der Befehlskode nicht ausgeführt, so daß der Befehlskode der spezifischen Länge im wesentlichen "gelöscht" wird.

Obwohl das Ersetzen und das Löschen eines Befehls in der obigen Ausführungsform getrennt beschrieben wurde, so können, wenn diese in Kombination ausgeführt werden, kompliziertere Fehler im Programm gehandhabt werden. Es ist weiterhin selbstverständlich, daß die Zahl der Korrekturpunkte und der korrigierbaren Befehle passend erhöht oder erniedrigt werden kann.

Obwohl in der obigen Ausführungsform eine Verbindung des EEPROMS 30 nach außen hin über das Interface 29 beschrieben wurde, kann es sich auch im Chip 10 selbst befinden. Andere intern oder extern verbundene Schaltungen können aus Gründen der Gestaltung vorgesehen sein.

AUSWIRKUNG DER ERFINDUNG

Das Hinzufügen oder das Abändern eines Programms, das in einen Masken-ROM geschrieben wurde, kann durch ein Neueinschreiben von Daten in ein EEPROM durchgeführt werden, sogar nachdem das ROM als Produkt fertiggestellt wurde. Es ist somit ein wesentlicher Vorteil, daß die Korrektur eines Fehlers in einem Programm erleichtert wird, um die Zeit und die Kosten für eine Korrektur möglichst klein zu halten.


Anspruch[de]
  1. 1. Steuerschaltung für ein elektronisches Gerät, das eine Betriebsvorrichtung aufweist, die gemäß einer Vielzahl von Programmen arbeitet, die das elektronische Gerät steuert, einen ersten Zähler für das Speichern einer Ausführadresse eines ersten Programms, einen zweiten Zähler für das Speichern einer Ausführadresse eines zweiten Programms, eine Vergleichsvorrichtung für den Vergleich der Adressen, die in diesen ersten und zweiten Zählern gespeichert sind und zur Erzeugung eines Ausgangssignals, wenn diese übereinstimmen, eine erste und zweite Speichervorrichtung zur Speicherung der Vielzahl von Programmen, eine Auswahlvorrichtung zur Auswahl einer der ersten und zweiten Vorrichtungen und zur Ausgabe eines ausgewählten Programms an die Betriebsvorrichtung, einen dritten Zähler zum Festhalten der Zahl von Programmen in der zweiten Speichervorrichtung, zur Änderung in Übereinstimmung mit der Ausführung und zur Ausgabe eines Signals, wenn die Ausführung beendet wurde, eine Steuervorrichtung, die die Auswahlvorrichtung veranlaßt, die zweite Speichervorrichtung in Übereinstimmung mit dem Ausgangssignal der Vergleichsvorrichtung auszuwählen und die die Auswahleinrichtung veranlaßt, die erste Speichervorrichtung in Übereinstimmung mit dem Ausgangssignal des dritten Zählers zu wählen.
  2. 2. Steuerschaltung für ein elektronisches Gerät nach Anspruch 1, bei dem das elektronische Gerät eine Kamera ist.
  3. 3. Steuerschaltung für ein elektronisches Gerät nach Anspruch 1, bei dem die erste Speichervorrichtung ein Festwertspeicher (ROM) und die zweite Speichervorrichtung ein Schreib-/Lesespeicher ist.
  4. 4. Steuerschaltung für ein elektronisches Gerät nach Anspruch 1, die weiter einen elektrisch lösch- und programmierbaren Festwertspeicher (EEPROM) aufweist, der mit der Betriebsvorrichtung verbunden ist, wobei die Betriebsvorrichtung den Inhalt des EEPROM zur zweiten Speichervorrichtung und zu den zweiten und dritten Zählern überträgt, wenn die Betriebsvorrichtung mit dem Betrieb beginnt.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com