-
Die
vorliegende Erfindung bezieht sich auf eine periphere Computervorrichtung,
die sowohl eine zentrale Bearbeitungseinheit (im Folgenden wird
die "zentrale Bearbeitungseinheit" als die "CPU" bezeichnet), die
auf der Basis von Firmware betrieben wird, die in einem nichtflüchtigen
Speicher gespeichert ist, und eine Schnittstelle aufweist, die mit
einem Computer verbunden werden kann. Im Genaueren bezieht sich
die vorliegende Erfindung auf eine periphere Computervorrichtung,
an der untereinander unterschiedliche Schnittstellen montiert werden können, und
bezieht sich auf ein computerlesbares Medium, das ein Programm aufweist
zum Steuern der peripheren Computervorrichtung.
-
Die
vorliegende Anmeldung basiert auf der Japanischen Patentanmeldung
Nr. Hei. 11-191635, auf die für
weitere Details verwiesen wird.
-
EP-A-686
937 beschreibt eine Drucksteuerungsvorrichtung, die zwei Eingangsschnittstellen aufweist,
wobei das Steuerungsprogramm gemäß der für die Dateneingabe
verwendeten Schnittstelle ausgewählt
wird.
-
Ein
Scanner, ein Drucker und dergleichen sind als periphere Vorrichtungen
bekannt, die mit einem Computer verbunden werden können, der
CPUs aufweist. In einer solchen peripheren Vorrichtung wird Firmware
zum Betreiben der CPU im Allgemeinen in einem nichtflüchtigen
Speicher gespeichert. Zusätzlich
wurden in den letzten Jahren Schnittstellen zum Verbinden eines
Computers und dessen periphere Vorrichtungen diversifiziert. Beispielsweise kann
ein Scanner mit dem Computer über
eine SCSI, eine USB, IEEE 1394, und dergleichen verbunden werden.
-
Jedoch
müssen
in einer konventionellen Vorrichtung, die einen löschbaren
programmierbaren Direktzugriffspeicher (EPROM) als einen nichtflüchtigen
Speicher aufweist, Firmware speichernde EPROMs in einer Zahl vorbereitet
werden, die der Zahl von Arten von Schnittstellen entspricht, und
unterschiedliche EPROMs müssen
angebracht werden für
die entsprechenden Arten, die unterschiedliche Schnittstellen aufweisen.
Ferner wurde in den letzten Jahren Firmware der peripheren Vorrichtung
in einem Flash-Speicher gespeichert, der in einem auf der Platine
befestigten Zustand überschreibbar
ist. In einem Fall, wo Firmware, die für jede Schnittstelle unterschiedlich
ist, in dem Flash-Speicher gespeichert wird, ist es auch notwendig,
Firmware in einer Zahl vorzubereiten, die der Zahl der Arten der
Schnittstellen entspricht, und die Firmware in Übereinstimmung mit den Arten
der Schnittstellen zu schreiben. Aus diesem Grund gab es mit konventionellen
Vorrichtungen ein Problem, dass die Entwicklung von Firmware für jede Schnittstelle
und die Verwaltung von deren Zuführung
kompliziert wird.
-
Die
vorliegende Erfindung wurde entwickelt zum Bewältigen des oben beschriebenen
Problems und deren Ziel ist das Bereitstellen einer peripheren Computervorrichtung,
die durch dieselbe Firmware betrieben werden kann, selbst wenn die
Schnittstelle unterschiedlich ist.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird eine periphere Computervorrichtung
bereitgestellt, die eine zentrale Bearbeitungseinheit; eine einer
Vielzahl von Schnittstelleneinheiten von unterschiedlichen Typen,
wobei jede eine entsprechende Steuerungseinheit umfasst, die einsetzbar
ist zum Steuern von Datenübertragung
zwischen einem externen Computer und der zentralen Bearbeitungseinheit;
eine Vielzahl von Steuerungseinrichtungen, die im ROM gespeichert
sind und einsetzbar sind zum Steuern von Signalaustausch zwischen
der zentralen Bearbeitungseinheit und einer entsprechenden der Vielzahl
von Schnittstelleneinheiten; und Identifizierungseinrichtung, die
angeordnet ist zum Identifizieren des bestimmten Typs der vorhandenen
Steuerungseinheit, und zum Betreiben der zentralen Bearbeitungseinheit
zum Durchführen von
Schnittstellenoperationen durch Verwenden der einen der Vielzahl
von Steuerungseinrichtungen, die dem bestimmten Typ der Steuerungseinheit
entspricht, umfasst.
-
In
dem Fall, wo Firmware, die eine Vielzahl von Modulen entsprechend
der Vielzahl von Steuerungseinrichtungen und ein Modul entsprechend
der Identifizierungseinrichtung enthält, in einem nicht flüchtigen
Speicher gespeichert wird, ist es nicht notwendig, den nicht flüchtigen
Speicher in Übereinstimmung
mit der Schnittstelleneinheit zu ersetzten. Da die periphere Computervorrichtung,
die die selbe Firmware aber eine unterschiedliche Schnittstelleneinheit
aufweist, durch die gleiche Firmware betrieben werden kann, werden
zusätzlich
die Entwicklung der Firmware und die Verwaltung von deren Bereitstellung
vereinfacht.
-
Es
ist vorzuziehen, dass die Identifizierungseinrichtung einen Wert
in eine vorbestimmte Region des Speicherraums der zentralen Bearbeitungseinheit
schreibt, und den Typ einer der Steuerungseinheiten durch einen
Rückgabewert
identifiziert, der erhalten wird durch Auslesen von Daten aus der
vorbestimmten Region des Speicherraums der zentralen Bearbeitungseinheit.
Folglich kann die Steuerungseinrichtung ausgewählt werden in Übereinstimmung mit
dem Typ der Schnittstelleneinheit durch Nutzen der Tatsache, dass
die Zuordnung von Steuerungseinheiten im Speicherraum, die Anzahl
der Register, oder die Attribute der Register sich in den Schnittstelleneinheiten
der unterschiedlichen Typen unterscheiden, um die zentrale Bearbeitungseinheit
zu betreiben.
-
Es
ist vorzuziehen, dass die Steuerungseinheiten der Schnittstelleneinheiten
entsprechenden Regionen im Speicherraum der zentralen Bearbeitungseinheit
zugeordnet sind, die untereinander unterschiedlich sind. Selbst
wenn die Anzahlen, Attribute und dergleichen der Register in den
Schnittstelleneinheiten von unterschiedlichen Typen die gleichen sind,
kann die Steuerungseinrichtung folglich ausgewählt werden in Übereinstimmung
mit dem Typ der Schnittstelleneinheit, um die zentrale Bearbeitungseinheit
zu betreiben.
-
Es
ist vorzuziehen, dass die Vielzahl von Schnittstelleneinheiten untereinander
unterschiedliche Anzahlen von Registern in den entsprechenden Steuerungseinheiten
aufweisen. Selbst wenn die Zuordnungen der Steuerungseinheiten im
Speicherraum identisch sind in den Schnittstelleneinheiten der unterschiedlichen
Typen, ist die periphere Computervorrichtung folglich in der Lage,
die Steuerungseinrichtung in Übereinstimmung
mit dem Typ der Schnittstelleneinheit auszuwählen, um die zentrale Bearbeitungseinheit
zu betreiben.
-
Es
ist vorzuziehen, dass die Vielzahl von Schnittstelleneinheiten Register
in den entsprechenden Steuerungseinheiten aufweisen, wobei Attribute der
Register untereinander unterschiedlich sind. Selbst wenn die Zuordnungen
der Steuerungseinheiten im Speicherraum identisch sind in den Schnittstelleneinheiten
der unterschiedlichen Typen, und selbst wenn die Anzahlen der Register
identisch sind, ist die periphere Computervorrichtung folglich in
der Lage, die Steuerungseinrichtung in Übereinstimmung mit dem Typ
der Schnittstelleneinheit auszuwählen,
um die zentrale Bearbeitungseinheit zu betreiben.
-
Es
ist auch vorzuziehen, dass die Vielzahl der Schnittstelleneinheiten
unterschiedliche Eingaben von der zentralen Bearbeitungseinheit
empfangen. Selbst wenn sich die Anzahlen und Attribute der Register,
Zuordnungen des Speicherraums und dergleichen für die Schnittstelleneinheiten
von unterschiedlichen Typen einander gleichen, kann die Steuerungseinrichtung
ausgewählt
werden in Übereinstimmung
mit dem Typ der Schnittstelleneinheit, um die zentrale Bearbeitungseinheit
zu betreiben.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum
Steuern einer peripheren Computervorrichtung bereitgestellt, die eine
zentrale Bearbeitungseinheit und eine einer Vielzahl von Schnittstelleneinheiten
von unterschiedlichen Typen umfasst, wobei jede eine entsprechende
Steuerungseinheit umfasst, die einsetzbar ist zum Steuern der Datenübertragung
zwischen einem externen Computer und der zentralen Bearbeitungseinheit,
das Verfahren umfassend die Schritte: Steuern des Signalaustausches
zwischen der zentralen Bearbeitungseinheit und der einen der Vielzahl
von Schnittstelleneinheiten; Identifizieren des bestimmten Typs
der Steuerungseinheit, die sich in der einen der Schnittstelleneinheiten
befindet; und Betreiben der zentralen Bearbeitungseinheit zum Durchführen von
Schnittstellenoperationen in Übereinstimmung mit
dem bestimmten Typ der Steuerungseinheit, die im Identifizierungsschritt
identifiziert wurde.
-
Beispielsweise
in einem Fall, wo Firmware, die eine Vielzahl von Modulen für gegenseitiges Übertragen
von Signalen zwischen der zentralen Bearbeitungseinheit und einer
der Vielzahl der Schnittstelleneinheiten und ein Modul zum Identifizieren
eines Typs einer der Steuerungseinheiten und zum Betreiben der zentralen
Bearbeitungseinheit in Übereinstimmung
mit dem Typ einer der Steuerungseinheiten enthält, in einem nicht flüchtigen
Speicher durch ein computerlesbaren Medium gespeichert ist, ist
es nicht notwendig, die Firmware zu ersetzten in Übereinstimmung
mit der Schnittstelleneinheit. Da die periphere Computervorrichtung,
die die selbe Funktion aber eine unterschiedliche Schnittstelleneinheit
aufweist, durch die selbe Firmware betrieben werden kann, kann zusätzlich die
Entwicklung der Firmware und der Verwaltung deren Bereitstellung
vereinfacht werden.
-
Es
ist vorzuziehen, dass der Identifizierungsschritt das Schreiben
eines Wertes in eine vorbestimmte Region des Speicherraums der zentralen Bearbeitungseinheit
und das Identifizieren des Typs einer der Steuerungseinheiten durch
einen Rückgabewert
umfasst, der erhalten wird durch Lesen von Daten aus der vorbestimmten
Region des Speicherraums der zentralen Bearbeitungseinheit. Folglich kann
die Steuerungsprozedur ausgewählt
werden in Übereinstimmung
mit dem Typ der Schnittstelleneinheit durch Verwenden der Tatsache,
dass die Zuordnung der Steuerungseinheiten in dem Speicherraum, die
Anzahl der Register oder der Attribute unterschiedlich sind für die Schnittstelleneinheiten
von unterschiedlichen Typen, um die zentrale Bearbeitungseinheit
zu betreiben.
-
Das
oben beschriebene Programm kann in dem Computer durch eine Kommunikationseinrichtung
gespeichert werden, und das Programm kann in die periphere Computervorrichtung
durch den Computer geschrieben werden.
-
Gemäß einem
dritten Aspekt der Erfindung wird ein computerlesbares Medium bereitgestellt, das
ein Programm aufweist, das darauf gespeichert ist, zum Steuern einer
peripheren Computervorrichtung, die eine zentrale Bearbeitungseinheit,
eine einer Vielzahl von Schnittstelleneinheiten von unterschiedlichen
Typen, wobei jede eine entsprechende Steuerungseinheit umfasst,
die einsetzbar ist zum Steuern der Datenübertragung zwischen einem externen
Computer und der zentralen Bearbeitungseinheit, eine Vielzahl von
Steuerungseinrichtungen, und Identifizierungseinrichtung umfasst,
wobei das Programm einsetzbar ist zum Bewirken, dass eine entsprechende
der Vielzahl von Steuerungseinrichtungen den Signalaustausch zwischen
der zentralen Bearbeitungseinheit und einer entsprechenden der Vielzahl
von Schnittstelleneinheiten steuert, und wobei das Programm ferner
einsetzbar ist zum Bewirken, dass die Identifizierungseinrichtung
den bestimmten Typ der vorliegenden Steuerungseinheit identifiziert, und
dass die zentrale Bearbeitungseinheit Schnittstellenoperationen
durchführt
durch Verwenden der einen der Vielzahl von Steuerungseinrichtungen,
die dem bestimmten Typ der Steuerungseinheit entspricht.
-
Das
computerlesbare Medium kann in Kombination mit der peripheren Computervorrichtung
des ersten Aspektes der vorliegenden Erfindung in Betracht kommen.
Es ist vorzuziehen, dass das Programm bewirkt, dass die Identifizierungseinrichtung einen
Wert in eine vorbestimmte Region des Speicherraums der zentralen
Bearbeitungseinheit schreibt, und den Typ der Steuerungseinheiten
durch einen Rückgabewert
identifiziert, der erhalten wird durch Lesen von Daten aus der vorbestimmten
Region der zentralen Bearbeitungseinheit.
-
Für ein besseres
Verständnis
der Erfindung und um zu zeigen, wie diese verwirklicht werden kann,
wird nun anhand von Beispielen Bezug auf die Zeichnungen genommen,
in denen:
-
1A und 1B schematische
Diagramme zum Erklären
des Betriebs eines Scanners in Übereinstimmung
mit einer ersten Ausführungsform der
vorliegenden Erfindung sind, wobei 1A einen Zustand
darstellt, in dem eine SCSI-kompatible Schnittstelleneinheit
montiert wurde, und 1B einen Zustand darstellt,
in dem eine IEEE 1394-kompatible
Schnittstelleneinheit montiert wurde;
-
2 ein
Blockdiagramm ist, das einen Scanner in Übereinstimmung mit einer ersten
Ausführungsform
der vorliegenden Erfindung darstellt;
-
3 ein
Blockdiagramm ist, das Firmware des Scanners in Übereinstimmung mit der ersten Ausführungsform
der vorliegenden Erfindung darstellt;
-
4A und 4B schematische
Diagramme zum Erklären
des Betriebs des Scanners in Übereinstimmung
mit der vorliegenden Erfindung sind, in denen 1A einen
Zustand darstellt, in dem die SCSI-kompatible Schnittstelleneinheit
montiert wurde, und 1B einen Zustand darstellt,
in dem die IEEE 1394-kompatible Schnittstelleneinheit montiert wurde;
und
-
5A und 5B schematische
Diagramme zum Erklären
des Betriebs eines Scanners in Übereinstimmung
mit einer dritten Ausführungsform der
vorliegenden Erfindung sind, wobei 1A einen Zustand
darstellt, in dem die SCSI-kompatible Schnittstelleneinheit
montiert wurde, und
-
1B einen
Zustand darstellt, in dem die IEEE 1394-kompatible Schnittstelleneinheit montiert wurde.
-
Im
Folgenden wird eine Beschreibung der Ausführungsformen gegeben, die verschiedene Wege
der Ausführung
der vorliegenden Erfindung zeigen.
-
1. Erste Ausführungsform
-
2 zeigt
eine Hardwarekonfiguration in Übereinstimmung
mit einer ersten Ausführungsform, bei
der die vorliegende Erfindung auf einen Scanner angewendet wird.
Ein Scanner 1 ist eine periphere Computervorrichtung, die
Bilddaten zu einem Computer 2 durch Verwenden einer nicht
dargestellten CCD überträgt.
-
Der
Scanner 1 weist eine CPU 11, eine Leseeinheit 12,
einen Festwertspeicher (ROM) 13, einen Direktzugriffsspeicher
(RAM) 14 und eine Schnittstelleneinheit 15 auf.
Die CPU 11, die Leseeinheit 12, der Festwertspeicher
(ROM) 13, der Direktzugriffspeicher (RAM) 14 und
die Schnittstelleneinheit 15 sind in einem nicht dargestellten
Gehäuse aufgenommen.
Ein externer Verbindungsanschluss 15b der Schnittstelleneinheit 15 befindet
sich exponiert an der Außenseite
des Gehäuses
und ist mit dem Computer 2 über ein Kabel 16 verbunden.
-
Die
Leseeinheit 12 weist einen nicht dargestellten erwiderungsfähige Zelle
auf und gibt die Helligkeit von jedem Pixel eines Originals als
Bilddaten durch die CCD aus, die sich in der Zelle befindet. Die CPU 11 ist
mit einer Steuerungseinheit der Leseeinheit 12 über eine
nicht dargestellte Chipauswahl verbunden und steuert den gesamten
Scanner 1. Der RAM 14 speichert temporär die Bilddaten,
die von der Leseeinheit 12 ausgegeben werden. Der ROM 13, der
ein nicht flüchtiger
Speicher ist, ist ein UV-ROM, und Firmware zum Betreiben der CPU 11 ist
darin gespeichert. Der nicht flüchtige
Speicher kann ein Flash-Speicher sein. In dem Fall, wo ein Flash-Speicher
als der nicht flüchtige
Speicher verwendet wird, und die Firmware durch ein computerlesbares
Medium, so wie eine Diskette, bereitgestellt wird, ist das Umschreiben
der Firmware in dem Zustand, in dem der Flash-Speicher auf einer
Platine montiert ist, möglich.
Zusätzlich
wird das Herunterladen der Firmware über eine Kommunikationsleitung
möglich durch
Verwenden einer Kommunikationseinrichtung, so wie dem Internet.
-
Die
Schnittstelleneinheit 15 weist eine Steuerungseinheit 15a zum
Steuern der Übertragung
der Daten zwischen dem Computer 2 und der CPU 11 als auch
einen externen Verbindungsanschluss 15b auf. Die CPU 15 steuert
die Steuerungseinheit 15a der Schnittstelleneinheit 15 in Übereinstimmung
mit einem im Speicher abgebildeten I/O-System. Zwei Arten von Schnittstelleneinheiten
sind vorbereitet als Schnittstelleneinheiten, die in dem Scanner 1 montiert
werden können.
Eine ist eine SCSI-kompatible Schnittstelleneinheit, die einen SCSI-Anschluss
aufweist, und die andere ist eine IEEE 1394-kompatible Schnittstelleneinheit,
die einen IEEE 1394-Anschluss aufweist. Die Steuerungseinheit der
SCSI-kompatiblen Schnittstelleneinheit und die Steuerungseinheit der
IEEE 1394-kompatiblen Schnittstelleneinheit weisen untereinander
unterschiedlich zugeordnete Regionen im Speicherraum auf. Die Chipauswahl
der CPU 11, der die entsprechenden Steuerungseinheiten
zugeordnet sind, ist unterschiedlich. Eine Beschreibung der Konfiguration
der Hardware in Übereinstimmung
mit der ersten Ausführungsform
wurde oben gegeben.
-
3 zeigt
die Konfiguration der Software der Firmware. Firmware 20 beinhaltet
ein Hauptmodul 21, ein Identifizierungsmodul 22 und
Schnittstellenmodule 23 und 24.
-
Von
den Modulen zum Steuern der CPU 11 ist das Hauptmodul 21 ein
Modul, das nicht von der Schnittstelleneinheit 15 abhängt, und
ist ein Modul zum Betreiben der CPU 11, um den gesamten
Scanner 1 zu steuern.
-
Das
Identifizierungsmodul 22, das als eine Identifizierungseinrichtung
dient, ist ein Modul, das einen Wert in eine vorbestimmte Region
des Speicherraums während
des Startens des Scanners 1 schreibt, den Typ der Schnittstelleneinheit 15 durch deren
Rückgabewert
identifiziert, und entweder das Schnittstellenmodul 23 oder 24 in
Abhängigkeit
vom Typ der Schnittstelleneinheit 15 auswählt, um
die CPU 11 zu betreiben.
-
Von
den Modulen zum Steuern der CPU 11 sind die Schnittstellenmodule 23 und 24 Module,
die als Steuerungseinrichtungen dienen, die die CPU 11 in
Abhängigkeit
des Typs der Schnittstelleneinheit 15 betreiben, und hauptsächlich die
CPU 11 dazu bringen, einen Befehl zur Steuerungseinheit 15a auszugeben.
Das Schnittstellenmodul 23 steuert die SCSI-kompatible
Schnittstelleneinheit, während
das Schnittstellenmodul 24 die IEEE 1394-kompatible Schnittstelleneinheit
steuert. Eine Beschreibung der Konfiguration der Software gemäß der ersten
Ausführungsform
wurde oben gegeben.
-
Als
nächstes
wird eine Beschreibung des Betriebs des Scanners gemäß der ersten
Ausführungsform
gegeben.
-
Wenn
der Scanner 1 gestartet wird, schreibt die CPU 11 mit
Hilfe des Identifizierungsmoduls 22 Daten in eine vorbestimmte
Region des Speicherraums. Wenn die Region, in die die Daten durch
die CPU 11 geschrieben werden, und die Region des Speicherraums,
der einem I/O-Register der Steuerungseinheit 15a zugewiesen
wurde, miteinander übereinstimmen,
wird ein gültiger
Rückgabewert
akquiriert, wenn die CPU 11 die Daten aus der Region ausliest.
Zwischenzeitlich, wenn die Region, in die die Daten durch die CPU 11 geschrieben
werden, und die Region des Speicherraums, der dem I/O-Register der
Steuerungseinheit 15a zugewiesen wurde, nicht miteinander übereinstimmen,
wird ein ungültiger
Rückgabewert
akquiriert, wenn die CPU 11 die Daten aus dieser Region
ausliest.
-
Es
wird beispielsweise angenommen, wie in den 1A und 1B gezeigt,
dass eine zugewiesene Region in dem Speicherraum der Steuerungseinheit 40a der
SCSI-kompatiblen
Schnittstelleneinheit 40, die einen SCSI-Anschluss 40b aufweist,
eine Region ist, die Adressen 10000 bis 10004 aufweist, während eine
zugewiesene Region in dem Speicherraum der Steuerungseinheit 41a der
IEEE 1394-kompatiblen Schnittstelleneinheit 41, die einen
IEEE 1394-Anschluss 41b aufweist, eine Region ist, die
die Adressen 20000 bis 20004 aufweist. Ferner wird angenommen, dass
die Region in dem Speicherraum, in dem die CPU 11 Daten
mit Hilfe des Identifizierungsmoduls 22 schreibt, immer
eine Region ist, die eine Adresse 10000 aufweist.
- (1)
Wie in 1A gezeigt, schreibt in einem
Fall, in dem die SCSI-kompatible Schnittstelleneinheit 40 in
dem Scanner 1 montiert ist, die CPU 11 Daten in
eine Region des Speicherraums, die die Adresse 10000 aufweist, mit
Hilfe des Identifizierungsmoduls 22. Wenn dann ein Rückgabewert akquiriert
wird, akquiriert die CPU 11 einen gültigen Rückgabewert.
- (2) Wie in 1B gezeigt schreibt in einem
Fall, in dem die IEEE 1394-kompatible Schnittstelleneinheit 41 in
dem Scanner 1 montiert ist, die CPU 11 Daten in
eine Region des Speicherraums, die die Adresse 10000 aufweist, mit
Hilfe des Identifizierungsmoduls 22. Wenn dann ein Rückgabewert
akquiriert wird, akquiriert die CPU 11 einen ungültigen Rückgabewert,
da nichts mit der Chipauswahl verbunden ist, die des Region entspricht, die
die Adressen 10000 bis 19999 aufweist.
-
Wie
oben in den Punkten (1) und (2) erklärt, wenn die Regionen in dem
Speicherraum, die I/O-Registern 30 und 31 der Steuerungseinheiten 40a und 41a zugewiesen
sind, im Voraus geändert werden
zwischen der SCSI-kompatiblen Schnittstelleneinheit 40 und
der IEEE 1394-kompatiblen Schnittstelleneinheit 41, unterscheiden
sich Rückgabewerte
zu der Zeit, wenn das Identifizierungsmodul 22 ausgeführt wird.
Folglich identifiziert die CPU 11 den Typ der Schnittstelleneinheit,
die in dem Scanner 1 montiert ist, mit Hilfe von deren
Rückgabewert.
-
Wenn
der Typ der in dem Scanner 1 montierten Schnittstelleneinheit 15 identifiziert
ist, betreibt das Identifizierungsmodul 22 die CPU 11 auf
der Basis jedes Moduls, das dem Typ der Schnittstelleneinheit 15 zwischen
den Schnittstellenmodulen 23 und 24 entspricht.
Aus diesem Grund wird ein Signal, das von der CPU 11 zu
der Steuerungseinheit 15a in Übereinstimmung mit dem Typ
der Schnittstelleneinheit 15 übertragen ist, und ein Signal,
das von der Steuerungseinheit 15a übertragen ist, durch die CPU 11 bearbeitet.
-
Mit
dem Scanner 1 gemäß der ersten
Ausführungsform
der vorliegenden Erfindung ist es möglich, die CPU 11 des
Scanners, in dem die SCSI-kompatible Schnittstelleneinheit oder
die IEEE 1394-kompatible Schnittstelleneinheit montiert ist, unter
Verwendung einer einzelnen Firmware zu betreiben. Aus diesem Grund
ist es nicht notwendig, den ROM 13 gemäß dem Typ der Schnittstelleneinheit
zu ersetzten. Deshalb ist es nicht notwendig, die Firmware für jeden
Typ der Schnittstelleneinheit zu verwalten. Da die Schnittstellenmodule 23 und 24 genügend kleine
Datengrößen verglichen
mit dem Hauptmodul aufweisen, ist zusätzlich der Betrag des Speicherraums,
der durch Aufzeichnen einer Vielzahl von Schnittstellenmodulen im
ROM 13 benötigt
wird, sehr klein.
-
2. Zweite Ausführungsform
-
In
einer zweiten Ausführungsform,
in der die vorliegende Erfindung auf einen Scanner angewendet wird,
sind zugewiesene Regionen im Speicherraum der Steuerungseinheiten
der Schnittstelleneinheiten identisch zwischen der SCSI-kompatiblen Schnittstelleneinheit
und der IEEE 1394-kompatiblen Schnittstelleneinheit. Im Folgenden
werden Abschnitte/Teile, die im Wesentlichen identisch mit denen
der ersten Ausführungsform
sind, durch die gleichen Bezugszeichen bezeichnet, und deren Beschreibung
wird weggelassen.
-
In
der zweiten Ausführungsform
weisen die SCSI-kompatible
Schnittstelleneinheit und die IEEE 1394-kompatible Schnittstelleneinheit die
gleiche Chipauswahl für
die Verbindung zur CPU 11 auf. Deren zugewiesene Regionen
im Speicherraum sind nämlich
identisch. Unterdessen weisen die SCSI-kompatible Schnittstelleneinheit
und die IEEE 1394-kompatible Schnittstelleneinheit unterschiedliche
Anzahlen von I/O-Registern
von deren entsprechenden Steuerungseinheiten auf.
-
Das
Identifizierungsmodul ist ein Modul, das einen Wert in den Speicherraum
schreibt, der dem I/O-Register der Steuerungseinheit 15a während des Starts
des Scanners zugewiesen wird, den Typ der Schnittstelleneinheit 15 durch
deren Rückgabewert identifiziert,
und entweder das Schnittstellenmodul 23 oder 24 in
Abhängigkeit
des Typs der Schnittstelleneinheit 15 auswählt, um
die CPU 11 zu betreiben.
-
Als
nächstes
wird eine Beschreibung des Betriebs des Scanners in Übereinstimmung
mit der zweiten Ausführungsform
gegeben.
-
Wenn
der Scanner gestartet wird, schreibt die CPU 11 Daten bei
einer vorbestimmten Adresse in die Region, die der Steuerungseinheit 15a im
Speicherraum zugewiesen ist mit Hilfe des Identifizierungsmoduls.
Wenn ein I/O-Register
der Steuerungseinheit 15a der Region zugewiesen wurde,
in die die Daten durch die CPU 11 geschrieben sind, wird
ein gültiger
Wert akquiriert, wenn die CPU 11 die Daten aus dieser Region
ausliest. Unterdessen, wenn das I/O-Register der Steuerungseinheit 15a nicht
der Region zugewiesen wurde, in die die Daten durch die CPU 11 geschrieben
sind, wird ein ungültiger
Rückgabewert
akquiriert, wenn die CPU 11 die Daten aus dieser Region
ausliest.
-
Beispielsweise
wird angenommen, dass, wie in den 4A und 4B gezeigt,
fünf Register 32, die
in einer Steuerungseinheit 42a der SCSI-kompatiblen Schnittstelleneinheit 42 bereitgestellt
sind, die einen SCSI-Anschluss 42b aufweist, Adressen 10000
bis 10004 im Speicherraum zugewiesen sind, während sieben Register 33,
die in einer Steuerungseinheit 43a einer IEEE 1394-kompatiblen Schnittstelleneinheit 43 bereitgestellt
sind, die einen IEEE 1394-Anschluss 43b aufweist, Adressen
20000 bis 20004 zugewiesen sind. Ferner wird angenommen, dass die
CPU 11 Daten in eine Region, die eine Adresse 10005 im
Speicherraum aufweist, mit Hilfe des Identifizierungsmoduls schreibt.
- (1) Wie in 4A gezeigt,
schreibt in einem Fall, in dem die SCSI-kompatible Schnittstelleneinheit 42 in
dem Scanner montiert ist, die CPU 11 Daten bei einer Adresse
10005 in den Speicherraum mit Hilfe des Identifizierungsmoduls.
Wenn dann ein Rückgabewert
akquiriert wird, akquiriert die CPU 11 einen ungültigen Rückgabewert,
da das I/O-Register 32, das der Region bei der Adresse 10005
zugewiesen ist, nicht vorhanden ist.
- (2) Wie in 4B gezeigt, schreibt in einem
Fall, in dem die IEEE 1394-kompatible Schnittstelleneinheit 43 in
dem Scanner montiert ist, die CPU 11 Daten bei der Adresse
10005 in den Speicherraum mit Hilfe des Identifizierungsmoduls.
Wenn dann ein Rückgabewert
akquiriert wird, akquiriert die CPU 11 einen gültigen Rückgabewert.
-
Wie
in den Punkten (1) und (2) oben beschrieben, wenn die Anzahl der
Register 32 und 33, die in den Steuerungseinheiten
bereitgestellt sind, im Voraus zwischen der SCSI-kompatiblen Schnittstelleneinheit
und der IEEE 1394-kompatiblen Schnittstelleneinheit geändert werden,
unterscheiden sich Rückgabewerte
zu der Zeit, wenn das Identifizierungsmodul ausgeführt wird.
Folglich identifiziert die CPU 11 den Typ der Schnittstelleneinheit,
die im Scanner montiert ist, mit Hilfe deren Rückgabewert.
-
Mit
dem Scanner gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung ist das Identifizierungsmodul in der
Lage, die Typen der Schnittstelleneinheiten zu identifizieren, selbst
wenn die Regionen im Speicherraum, die den Schnittstelleneinheiten
der unterschiedlichen Typen zugewiesen sind, identisch sind. Aus
diesem Grund ist es nicht notwendig, eine Vielzahl von Chipauswahlen
der CPU 11 den Steuerungseinheiten der Schnittstelleneinheiten zuzuweisen.
Folglich kann die Anzahl der Steuerungseinheiten, die sich von der
Schnittstelleneinheit 15 unterscheiden, die von der CPU 11 gesteuert
werden, wie benötigt
erhöht
werden.
-
3. Dritte Ausführungsform
-
In
einer dritten Ausführungsform,
in der die vorliegende Erfindung auf einen Scanner angewendet wird,
sind zugewiesene Regionen im Speicherraum der Steuerungseinheiten
der Schnittstelleneinheiten identisch zwischen der SCSI-kompatiblen Schnittstelleneinheit
und der IEEE 1394-kompatiblen Schnittstelleneinheit. Im Folgenden
werden Abschnitte, die im Wesentlichen identisch sind mit denen
der ersten Ausführungsform,
mit den gleichen Bezugszeichen gekennzeichnet, und eine Beschreibung
dieser wird weggelassen.
-
In
der dritten Ausführungsform
weisen die SCSI-kompatible
Schnittstelleneinheit und die IEEE 1394-kompatible Schnittstelleneinheit die
gleiche Chipauswahl für
die Verbindung zur CPU 11 auf. Deren zugewiesene Regionen
in dem Speicherraum sind nämlich
identisch. Weiterhin weisen die SCSI-kompatible Schnittstelleneinheit
und die IEEE 1394-kompatible Schnittstelleneinheit die gleiche Anzahl
von Registern derer entsprechenden Steuerungseinheiten auf. Unterdessen
unterscheiden sich die Attribute der Register untereinander.
-
Das
Identifizierungsmodul ist ein Modul, das einen Wert in den Speicherraum
schreibt, der dem I/O-Register der Steuerungseinheit 15a während dem
Start des Scanners zugewiesen wird, den Typ der Schnittstelleneinheit 15 durch
dessen Rückgabewert
identifiziert, und das Schnittstellenmodul 23 oder 24 in
Abhängigkeit
des Typs der Schnittstelleneinheit 15 auswählt, um
die CPU 11 zu betreiben.
-
Als
nächstes
wird eine Beschreibung des Betriebs des Scanners gemäß der dritten
Ausführungsform
gegeben.
-
Wenn
der Scanner gestartet wird, schreibt die CPU 11 Daten zu
einer vorbestimmten Adresse in der Region, die dem I/O-Register
der Steuerungseinheit 15a in dem Speicherraum mit Hilfe
des Identifizierungsmoduls zugewiesen wurde. Ein Rückgabewert
der sich von den geschriebenen Daten unterscheidet, wird in Abhängigkeit
des Attributs des Registers akquiriert, in die die Daten von der
CPU 11 geschrieben werden.
-
Es
wird beispielsweise angenommen, wie in den 5A und 5B gezeigt,
dass fünf
Register 34 bereitgestellt sind in einer Steuerungseinheit 44a einer
SCSI-kompatiblen
Schnittstelleneinheit 44, die einen SCSI-Anschluss 44b aufweist,
und fünf
Register 35 bereitgestellt sind in einer Steuerungseinheit 45a einer
IEEE 1394-kompatiblen Schnittstelleneinheit 45, die einen
IEEE 1394-Anschluss 45b aufweist, wobei beide 8-Bit Registerlängen aufweisen, und
dass die Register 34 und 35 jeweils den Adressen
10000 bis 10004 im Speicherraum zugewiesen sind. Ferner wird angenommen,
dass die ersten zwei Bits von jedem Register 34 exklusiv
zum Lesen verwendet werden, und immer dazu angepasst sind, Werte
von Null zurückzugeben.
Unterdessen wird angenommen, dass die ersten vier Bits jedes Registers 35 exklusiv
zum Lesen verwendet werden, und immer dazu angepasst sind, Werte
von Null zurückzugeben.
- (1) Wie in 5A gezeigt,
schreibt in einem Fall, in dem die SCSI-kompatible Schnittstelleneinheit 44 in
dem Scanner montiert ist, die CPU 11 Daten, die aus "00010011" bei der Adresse
10000 bestehen, in den Speicherraum mit Hilfe des Identifizierungsmoduls.
Wenn dann ein Rückgabewert
akquiriert wird, akquiriert die CPU 11 Rückgabewert, der
aus "00010011" besteht.
- (2) Wie in 5B gezeigt, schreibt in einem
Fall, in dem die IEEE 1394-kompatible Schnittstelleneinheit 45 in
dem Scanner montiert ist, die CPU 11 Daten, die aus "00010011" bei der Adresse
10000 bestehen, in den Speicherraum mit Hilfe des Identifizierungsmoduls.
Wenn dann ein Rückgabewert akquiriert
wird, akquiriert die CPU 11 Rückgabewert, der aus "00010011" besteht.
-
Wie
oben in den Punkten (1) und (2) gezeigt, wenn die Attribute der
Register 34 und 35, die in den Steuerungseinheiten
bereitgestellt sind, im Voraus geändert werden zwischen der SCSI-kompatiblen Schnittstelleneinheit 44 und
der IEEE 1394-kompatiblen Schnittstelleneinheit 45, unterscheiden
sich Rückgabewerte
zu der Zeit, wenn das Identifizierungsmodul ausgeführt wird.
Folglich identifiziert die CPU 11 den Typ der Schnittstelleneinheit 15,
die in dem Scanner montiert ist, mit Hilfe deren Rückgabewert.
Zusätzlich
zu dem oben beschriebenen Beispiel kann das Zugriffsverfahren der
CPU 11 und der I/O-Register auf Wortzugriff in einer Schnittstelleneinheit
basieren, um die Attribute der Register zu verändern.
-
Mit
dem Scanner gemäß der dritten
Ausführungsform
der vorliegenden Erfindung ist das Identifizierungsmodul in der
Lage, die Typen der Schnittstelleneinheiten zu identifizieren, selbst
wenn die Regionen in dem Speicherraum, die den Schnittstelleneinheiten
der unterschiedlichen Typen zugewiesen sind, identisch sind. Aus
diesem Grund ist es nicht notwendig, eine Vielzahl von Chipauswahlen
der CPU 11 der Steuerungseinheiten der Schnittstelleneinheiten
zuzuweisen. Folglich kann sich die Anzahl von der Schnittstelleneinheit 15,
die von der CPU 11 gesteuert wird, unterscheidenden Steuerungseinheiten
vergrößert werden.
Selbst wenn die Anzahl der I/O-Register der Schnittstelleneinheiten
der unterschiedlichen Typen identisch ist, ist das Identifizierungsmodul
ferner in der Lage, den Typ der Schnittstelleneinheit zu identifizieren.
-
4. Vierte Ausführungsform
-
In
einer vierten Ausführungsform,
in der die vorliegende Erfindung auf einen Scanner angewendet wird,
sind zugewiesene Regionen im Speicherraum der Steuerungseinheiten
der Schnittstelleneinheiten identisch zwischen der SCSI-kompatiblen Schnittstelleneinheit
und der IEEE 1394-kompatiblen Schnittstelleneinheit. Im Folgenden
werden Abschnitte, die im Wesentlichen identisch mit denen der ersten
Ausführungsform
sind, mit den gleichen Bezugszeichen gekennzeichnet, und deren Beschreibung
wird daher weggelassen.
-
In
der vierten Ausführungsform
weisen die SCSI-kompatible
Schnittstelleneinheit und die IEEE 1394-kompatible Schnittstelleneinheit die
gleiche Chipauswahl für
die Verbindung zur CPU 11 auf. Deren zugewiesene Regionen
im Speicherraum sind nämlich
identisch. Für
die SCSI-kompatible Schnittstelleneinheit und die IEEE 1394-kompatible Schnittstelleneinheit
sind zusätzlich
beide Anzahlen der Attribute der I/O-Register von deren Steuerungseinheiten
gleich. Unterdessen unterscheiden sich Eingaben zur Schnittstelleneinheit 15 der
CPU 11.
-
Beispielsweise
ist die Eingabe zum Anschluss eines I/O-Anschlusses Pxx auf ein hohes Niveau
für die
SCSI-kompatible
Schnittstelleneinheit eingestellt, während die Eingabe zum Anschluss
eines I/O-Anschlusses Pxx auf ein niedriges Niveau für die IEEE
1394-kompatible Schnittstelleneinheit eingestellt ist. Wenn die
Eingabe zur Schnittstelleneinheit 15 der CPU 11 daher
unterschiedlich zwischen der SCSI-kompatiblen Schnittstelleneinheit
und der IEEE 1394-kompatiblen Schnittstelleneinheit gestaltet wird,
unterscheiden sich die Rückgabewerte
zu der Zeit, wenn das Identifizierungsmodul ausgeführt wird.
Folglich ist es möglich,
den Typ der Schnittstelleneinheit 15 zu identifizieren,
die in dem Scanner montiert ist, mit Hilfe des Rückgabewertes.
-
Obwohl
in der ersten bis zur vierten Ausführungsform oben eine Beschreibung
eines Scanners gegeben wurde, ist die vorliegende Erfindung auch auf
andere periphere Computervorrichtungen, so wie einen Drucker, anwendbar.