JP2021131819A - Device identification means, device identification method, and image processing device - Google Patents
Device identification means, device identification method, and image processing device Download PDFInfo
- Publication number
- JP2021131819A JP2021131819A JP2020028273A JP2020028273A JP2021131819A JP 2021131819 A JP2021131819 A JP 2021131819A JP 2020028273 A JP2020028273 A JP 2020028273A JP 2020028273 A JP2020028273 A JP 2020028273A JP 2021131819 A JP2021131819 A JP 2021131819A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- reading
- area
- register area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、デバイスIDを持たない半導体デバイスの識別を行うための手段を備えた画像処理装置に関する。 The present invention relates to an image processing apparatus provided with means for identifying a semiconductor device that does not have a device ID.
従来、CPUに接続されている半導体デバイスの特定方法として、起動時に接続されている半導体デバイスからデバイスID情報を読出すということを行っている。そして起動時に読み出したデバイスID情報に従って、半導体デバイスに対応した初期化処理や半導体デバイスを使用する際のソフトウェア動作を変更してきた。
しかし、デバイスID情報を持っていない半導体デバイスに関しては、接続されている半導体デバイスを特定する方法がなく、接続する半導体デバイスをあらかじめ特定なものに決めて初期化処理や、使用時の制御を行ってきた(特許文献1)。
Conventionally, as a method of identifying a semiconductor device connected to a CPU, device ID information is read from the semiconductor device connected at startup. Then, according to the device ID information read at the time of startup, the initialization process corresponding to the semiconductor device and the software operation when using the semiconductor device have been changed.
However, for semiconductor devices that do not have device ID information, there is no way to identify the connected semiconductor device, and the semiconductor device to be connected is determined in advance to be a specific one, and initialization processing and control during use are performed. (Patent Document 1).
ところで、CPUに接続される半導体デバイスは長期間使用していると、生産・販売終了になってしまうことがあり、同じ機能を持つ別の半導体デバイスに変更せざるを得ない場合がある。半導体デバイスは、同じ機能を持つものであってもソフトウェア制御するためのレジスタ構成が異なることがあり、ソフトウェアを変更せずに半導体デバイスを入れ替えてしまうと正常に動作しない状態になってしまう。
そのためにデバイスIDを備えている半導体デバイスがあり、ソフトウェアはそのデバイスIDを読出すことで半導体デバイスの特定し、各々のデバイスに合わせた処理を行うことができる。しかし、デバイスIDを備えていない半導体デバイスが接続されている場合においては、ソフトウェアから各デバイスを区別する手段がなく各々のデバイスに合わせたソフトウェア制御を実施することができない。
そこで本発明では、デバイスIDを備えていない半導体デバイスにおいても、ソフトウェアによって接続されている半導体デバイスを識別する識別手段を提供することを目的とする。
By the way, if the semiconductor device connected to the CPU is used for a long period of time, the production / sales may end, and it may be necessary to change to another semiconductor device having the same function. Even if the semiconductor device has the same function, the register configuration for software control may be different, and if the semiconductor device is replaced without changing the software, it will not operate normally.
Therefore, there is a semiconductor device provided with a device ID, and the software can identify the semiconductor device by reading the device ID and perform processing according to each device. However, when a semiconductor device that does not have a device ID is connected, there is no means for distinguishing each device from the software, and software control tailored to each device cannot be performed.
Therefore, an object of the present invention is to provide an identification means for identifying a semiconductor device connected by software even in a semiconductor device that does not have a device ID.
制御手段を有する情報処理装置であって、制御手段に接続されているデバイスを特定する第1の特定手段を有し、前記第1の特定手段は、前記デバイスの第1のレジスタ領域に対して所定のデータの書込みを行う書込み手段と、前記デバイスの前記第1のレジスタ領域からデータの読出しを行う読出し手段と、を有し、前記読出し手段によって読出された第1のデータに基づいて前記デバイスを特定すること、を特徴とする。 An information processing device having control means, which has a first specific means for specifying a device connected to the control means, and the first specific means has a reference to a first register area of the device. The device has a writing means for writing predetermined data and a reading means for reading data from the first register area of the device, and is based on the first data read by the reading means. It is characterized by identifying.
デバイスIDを備えない半導体デバイスにおいても、ソフトウェアによって接続されている半導体デバイスを識別することが可能となる。 Even in a semiconductor device that does not have a device ID, it is possible to identify the semiconductor device connected by software.
以下、本発明を実施するための形態について以下、図面を用いて説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
図1は本実施例に関する画像処理システムの構成を示すブロック図である。このシステムではホストコンピュータ(以下「PC」という。)40、50及び情報処理装置である画像形成装置(10、20、30)がLAN60に接続されているが、本発明におけるシステムにおいては、これらの接続数に限られることはない。本実施例では、画像形成装置を例に説明するが、半導体デバイスが接続される情報処理装置であればなんでもよい。また、本実施例では接続方法としてLANを適用しているが、これに限られることはない。例えばWAN(公衆回線)などの任意のネットワークなども適用可能である。
PC40、50はパーソナルコンピュータの機能を有している。このPC40はLAN60やWANを介し、FTPやSMBプロトコルを用いてファイルを送受信したり電子メールを送受信したりすることができる。またPC40、50から画像形成装置10、20、30に対して、プリンタドライバを介して印字命令を行うことが可能である。さらにPC40、50は、定期的に画像形成装置10、20、30に対して、画像形成装置の状態を問い合わせることができ、該問い合わせの要求に応じて、画像形成装置10、20、30は印刷可能であるか否かなどの情報を返信することができる。
FIG. 1 is a block diagram showing a configuration of an image processing system according to this embodiment. In this system, host computers (hereinafter referred to as "PCs") 40, 50 and an image forming device (10, 20, 30) which is an information processing device are connected to LAN60, but in the system of the present invention, these are used. It is not limited to the number of connections. In this embodiment, an image forming apparatus will be described as an example, but any information processing apparatus to which a semiconductor device is connected may be used. Further, in this embodiment, LAN is applied as a connection method, but the present invention is not limited to this. For example, any network such as WAN (public line) can be applied.
The
画像形成装置10と20は同じ構成でスキャン機能を有する装置である。画像形成装置30はプリント機能のみの画像形成装置であり、画像形成装置10や20が有するスキャナを有していない。以下では、説明の簡単のために、画像形成装置10、20のうちの画像形成装置10に注目して、その構成を詳細に説明する。
画像形成装置10は、画像入力デバイスであるスキャナ13、画像出力デバイスであるプリンタ14、画像形成装置10全体の動作制御を司る制御手段であるコントローラ11、ユーザインターフェース(UI)である操作部12から構成される。
画像形成装置10の外観を図2に示す。スキャナ13は、複数のCCDを有している。この各CCDの感度が夫々異なっていると、たとえ原稿上の各画素の濃度が同じであったとしても、各画素が夫々違う濃度であると認識されてしまう。そのため、スキャナ13では、最初に白板(一様に白い板)を露光走査し、露光走査して得られた反射光の量を電気信号に変換してコントローラ11に出力しキャリブレーションを行う。
The
The image forming apparatus 10 is formed from a
The appearance of the image forming apparatus 10 is shown in FIG. The
続いて、この原稿上の画像をスキャンする構成について説明する。
スキャナ13は、原稿上の画像を露光走査して得られた反射光をCCDに入力することで画像の情報を電気信号に変換する。さらに電気信号をR,G,B各色からなる輝度信号に変換し、当該輝度信号を画像データとしてコントローラ11に対して出力する。
なお、原稿は原稿フィーダ201のトレイ202にセットされる。ユーザが操作部12から読み取り開始を指示すると、コントローラ11からスキャナ13に原稿読み取り指示が与えられる。スキャナ13は、この指示を受けると原稿フィーダ201のトレイ202から原稿を1枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は原稿フィーダ201による自動送り方式ではなく、原稿を不図示のガラス面上に載置し露光部を移動させることで原稿の走査を行う方法であってもよい。
プリンタ14は、コントローラ11から受取った画像データを用紙上に形成する画像形成デバイスである。なお、本実施例において画像形成方式は感光体ドラムや感光体ベルトを用いた電子写真方式となっているが、本発明はこれに限られることはない。例えば、微少ノズルアレイからインクを吐出して用紙上に印字するインクジェット方式などでも適用可能である。また、プリンタ14には、異なる用紙サイズ又は異なる用紙向きを選択可能とする複数の用紙カセット203、204、205が設けられている。
排紙トレイ206には印字後の用紙が排出される。
Subsequently, a configuration for scanning the image on the document will be described.
The
The document is set in the
The
The printed paper is ejected to the
図3は、画像形成装置10のコントローラ11の構成をより詳細に説明するためのブロック図である。
コントローラ11はスキャナ13やプリンタ14と電気的に接続されており、一方でLAN60などを介してPC40,50や外部の装置などと接続されている。これにより画像データやデバイス情報の入出力が可能となっている。
CPU301は、ROM303に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ内部で行われる各種処理についても統括的に制御する。
RAM302は、CPU301が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。このRAM302は、SRAM及びDRAMにより構成されている。
ROM303には装置のブートプログラムなどが格納されている。
HDD304はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。
操作部I/F305は、システムバス307と操作部12とを接続するためのインターフェース部である。この操作部I/F305は、操作部12に表示するための画像データをシステムバス307から受取り操作部12に出力すると共に、操作部12から入力された情報をシステムバス307へと出力する。
LANコントローラ306は、LAN60及びシステムバス307に接続し、情報の入出力を行うことにより、画像形成装置とネットワークとの通信を制御する。
画像バス308は、画像データをやり取りするための伝送路であり、PCIバス又はIEEE1394で構成されている。
画像処理部309は、画像処理を行うためのものであり、RAM302に記憶された画像データを読出し、JPEG、JBIGなどの拡大又は縮小および、色調整などの画像処理を行うことが可能である。ここで画像処理されたデータはRAM302やHDD304に格納される。
FIG. 3 is a block diagram for explaining the configuration of the
The
The
The
The
The
The operation unit I /
The
The
The
スキャナ画像処理部310は、スキャナ13からスキャナI/F311を介して受取った画像データに対して、補正、加工、及び編集を行う。また、スキャナ画像処理部310は、受取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する。そして、その判定結果を画像データに付随させる。こうした付随情報を属性データと称する。
プリンタ画像処理部312は、この画像データに付随させられている属性データを参照しながら画像データに画像処理を施す。画像処理後の画像データは、プリンタI/F313を介してプリンタ14に出力される。
電源制御部314は、起動時や電源オフ時の電源制御や省電力状態への移行/復帰といった画像形成装置10の内部電源状態の変更を制御する。電源制御部314は省電力状態から復帰する場合の復帰要因(例えばFAX受信やスイッチ押下等)を検知する部分でもあり、各復帰要因に応じてスタンバイ状態へ移行した際の電源制御も実施する。
RTC(Real Time Clock)315は、カレンダーや時刻の計時を行う。またアラーム設定機能やタイマー設定機能を搭載しており、例えばアラーム設定された時刻になると割込みを発行するといった機能を搭載している。本発明では、RTC315を例として、デバイスIDを備えていない半導体デバイスの区別について説明する。
The scanner
The printer
The power
The RTC (Real Time Clock) 315 measures the calendar and time. It also has an alarm setting function and a timer setting function. For example, it has a function to issue an interrupt when the alarm is set. In the present invention, the distinction between semiconductor devices that do not have a device ID will be described using RTC315 as an example.
図4は、デバイスIDを備えていない2種類のRTC315のレジスタ構成を示すレジスタマップである。
図4(a)をRTC315のデバイスAのレジスタマップ、図4(b)をRTC315のデバイスBのレジスタマップとする。
まず、図4(a)のデバイスAのレジスタマップに関して説明する。
デバイスAのレジスタマップにおいて、0x00〜0x06はカレンダー/時計機能として使用されるレジスタ領域である。本レジスタ領域に設定すれば設定を行った日付や時刻から計時を開始する。また本レジスタ領域を読出すことで読出したときの日付や時刻を取得することが可能となる。
デバイスAのレジスタマップにおいて、0x07〜0x08はタイマー機能として使用されるレジスタ領域である。本レジスタ領域に設定すれば、設定したタイマー時間に応じて割込みを発行することが可能となる。
デバイスAのレジスタマップにおいて、0x09〜0x0Bはアラーム機能として使用されるレジスタ領域である。本レジスタ領域に設定すれば、設定したアラーム時刻に応じて割込みを発行することが可能となる。
デバイスAのレジスタマップにおいて、0x0C〜0x0Dはデバイス設定用として使用されるレジスタ領域である。デバイスAを使用する際に必要な設定を本レジスタ領域に設定する必要がある。
デバイスAのレジスタマップにおいて、0x0EはReserved領域である。
デバイスAのレジスタマップにおいて、0x0Fはユーザーレジスタ領域である。本レジスタはユーザが自由に使用可能な領域であり、書込み/読出しともに制限なく使用することが可能となる。例えば、このユーザーレジスタ領域に0xAAを書込んだのちに該レジスタを読出すと0xAAが読出される。
FIG. 4 is a register map showing the register configurations of two types of RTC315s that do not have a device ID.
FIG. 4A is a register map of device A of RTC315, and FIG. 4B is a register map of device B of RTC315.
First, the register map of the device A of FIG. 4A will be described.
In the register map of the device A, 0x00 to 0x06 are register areas used as a calendar / clock function. If it is set in this register area, timing will start from the set date and time. Further, by reading this register area, it is possible to acquire the date and time at the time of reading.
In the register map of device A, 0x07 to 0x08 are register areas used as a timer function. If it is set in this register area, it is possible to issue an interrupt according to the set timer time.
In the register map of the device A, 0x09 to 0x0B are register areas used as an alarm function. If it is set in this register area, it is possible to issue an interrupt according to the set alarm time.
In the register map of device A, 0x0C to 0x0D are register areas used for device setting. It is necessary to set the settings required when using the device A in this register area.
In the register map of device A, 0x0E is the Reserved area.
In the register map of device A, 0x0F is the user register area. This register is an area that can be freely used by the user, and can be used without restrictions for both writing and reading. For example, if 0xAA is written in this user register area and then the register is read, 0xAA is read.
次に図4(b)のデバイスBのレジスタマップに関して説明する。
デバイスBのレジスタマップにおいて、0x00〜0x06はカレンダー/時計機能として使用されるレジスタ領域である。本レジスタ領域に設定すれば設定を行った日付や時刻から計時を開始する。また本レジスタ領域を読出すことで読出したときの日付や時刻を取得することが可能となる。カレンダー/時計機能のレジスタ領域に関して、デバイスAのレジスタマップと比較すると、同じアドレスになっており、ソフトウェアにおいて共通で使用可能なレジスタ領域となっている。
デバイスBのレジスタマップにおいて、0x07〜0x09はアラーム機能として使用されるレジスタ領域である。本レジスタ領域に設定すれば、設定したアラーム時刻に応じて割込みを発行することが可能となる。アラーム機能のレジスタ領域に関して、デバイスAのレジスタマップと比較すると、デバイスAでは、デバイスBとは異なるアドレスである0x09〜0x0Bになっている。よって、アラーム機能のレジスタ領域は、ソフトウェアにおいて各々のデバイスに合わせて設定するアドレスを変更する必要があるレジスタ領域となっている。
Next, the register map of the device B in FIG. 4B will be described.
In the register map of device B, 0x00 to 0x06 are register areas used as a calendar / clock function. If it is set in this register area, timing will start from the set date and time. Further, by reading this register area, it is possible to acquire the date and time at the time of reading. Compared with the register map of device A, the register area of the calendar / clock function has the same address, which is a register area that can be commonly used in software.
In the register map of device B, 0x07 to 0x09 are register areas used as an alarm function. If it is set in this register area, it is possible to issue an interrupt according to the set alarm time. When comparing the register area of the alarm function with the register map of the device A, the address of the device A is 0x09 to 0x0B, which is different from that of the device B. Therefore, the register area of the alarm function is a register area in which it is necessary to change the address set according to each device in the software.
デバイスBのレジスタマップにおいて、0x0A〜0x0Bはタイマー機能として使用されるレジスタ領域である。本レジスタ領域に設定すれば、設定したタイマー時間に応じて割込みを発行することが可能となる。タイマー機能のレジスタ領域に関して、デバイスAのレジスタマップと比較すると、デバイスAでは、デバイスBとは異なるアドレスである0x07〜0x08になっている。よって、タイマー機能のレジスタ領域は、ソフトウェアにおいて各々のデバイスに合わせて設定するアドレスを変更する必要があるレジスタ領域となっている。
デバイスBのレジスタマップにおいて、0x0CはReserved領域である。
デバイスBのレジスタマップにおいて、0x0D〜0x0F[3:0]まではデバイス設定用として使用されるレジスタ領域である。デバイスBを使用する際に必要な設定を本レジスタ領域に設定する必要がある。デバイス設定用のレジスタ領域に関して、デバイスAのレジスタマップと比較すると、デバイスAでは、デバイスBとは異なるアドレスである0x0C〜0x0Dになっている。よって、デバイス設定用のレジスタ領域は、ソフトウェアにおいて各々のデバイスに合わせて設定するアドレスを変更する必要があるレジスタ領域となっている。
In the register map of device B, 0x0A to 0x0B are register areas used as a timer function. If it is set in this register area, it is possible to issue an interrupt according to the set timer time. Regarding the register area of the timer function, when compared with the register map of the device A, the address of the device A is 0x07 to 0x08, which is different from that of the device B. Therefore, the register area of the timer function is a register area in which it is necessary to change the address set according to each device in the software.
In the register map of device B, 0x0C is the Reserved area.
In the register map of device B, 0x0D to 0x0F [3: 0] are register areas used for device setting. It is necessary to set the settings required when using the device B in this register area. Compared with the register map of device A, the register area for device setting is 0x0C to 0x0D, which is an address different from that of device B in device A. Therefore, the register area for device setting is a register area in which it is necessary to change the address set according to each device in the software.
デバイスBのレジスタマップにおいて、0x0F[7:4]は、“0”固定のレジスタ領域である。本レジスタは、読出した際には必ず“0”が読出されて、書込みを行っても書込むことができないレジスタ領域となっている。
デバイスA、デバイスBともにデバイスを特定するためのデバイスIDのようなレジスタ領域は備えていないために、あるレジスタ領域を読出せばデバイスが特定できるようなレジスタ構成にはなっていない。
しかし、デバイスAのレジスタアドレス0x0F[7:4]はユーザーレジスタになっており、デバイスBのレジスタアドレス0x0F[7:4]は“0”固定になっている。そこで同じアドレスであるがレジスタ機能に差分があるレジスタ領域を各々のデバイス特定に用いることができる。
ここで示したレジスタマップに関しては、あくまでも一例であり必ずしもアドレス等がこれに従うものでなくても構わない。
In the register map of device B, 0x0F [7: 4] is a fixed register area of “0”. This register is a register area in which "0" is always read when it is read, and it cannot be written even if it is written.
Since neither device A nor device B has a register area such as a device ID for identifying a device, the register configuration is not such that the device can be identified by reading a certain register area.
However, the register address 0x0F [7: 4] of the device A is a user register, and the register address 0x0F [7: 4] of the device B is fixed to “0”. Therefore, a register area having the same address but different register functions can be used to identify each device.
The register map shown here is just an example, and the address and the like do not necessarily have to follow it.
図5に、図4で示したレジスタ構成の差分を使用して各デバイスの特定を行うためのフローチャートを示す。
S501で、CPU301はRTC315のレジスタアドレス0x0F[7:4]に対して、データ“0b1010”の書込みを行う。なお、ここでは、“0b1010”のデータを書込んでいるが、書込むデータはデバイスBで固定となっているデータ以外の所定のデータであれば何でもよい。デバイスAがCPU301に接続されている場合には、データ“0b1010”が書込めるが、デバイスBがCPU301に接続されている場合には、該レジスタアドレス0x0F[7:4]は、“0”固定であるので、データは書込むことができない。データの書込みを行った後にS502に遷移する。
S502で、CPU301はRTC315のレジスタアドレス0x0F[7:4]の読出しを行う。
デバイスAがCPU301に接続されている場合には、S501で書込んだデータ“0b1010”が読出せるが、デバイスBがCPU301に接続されている場合には、“0”が読出せることになる。データの読出しを行った後にS503に遷移する。
S503で、CPU301はRTC315のレジスタアドレス0x0F[7:4]から読出した結果が“0b1010”かどうかの判断を行う。S501で書込んだデータである“0b1010”が読出され場合(Yes)には、S504に遷移し、それ以外のデータが読出された場合(No)にはS506に遷移する。
FIG. 5 shows a flowchart for identifying each device using the difference in the register configuration shown in FIG.
In S501, the
In S502, the
When the device A is connected to the
In S503, the
S504で、CPU301はRTC315として接続されているのはデバイスAであると特定している。S504において、デバイスAであると特定した後はアラーム設定やタイマー設定を行う場合においてもデバイスAのレジスタマップ(図4(a))に基づいて設定を行うこととなる。CPU301はRTC315として接続されているのはデバイスAであると特定するとS505に遷移する。
S505で、CPU301はRTC315のデバイスAのデバイス設定処理を行うために、アドレス0x0C〜0x0Dの領域に対して、デバイスAとして必要な設定を行う。
S506で、CPU301はRTC315のレジスタアドレス0x0F[7:4]から読出した結果が“0b0000”かどうかの判断を行う。デバイスBのレジスタに割り当てられている“0b0000”であると判断した場合(Yes)にはS507に遷移し、それ以外のデータであると判断した場合(No)にはS509に遷移する。
S507は、CPU301がRTC315として接続されているのはデバイスBであると特定している。S507において、デバイスBであると特定した後はアラーム設定やタイマー設定を行う場合においてもデバイスBのレジスタマップ(図4(b))に基づいて設定を行うこととなる。CPU301はRTC315として接続されているのはデバイスBであると特定するとS508に遷移する。
In S504, the
In S505, the
In S506, the
The S507 identifies that the device B is connected to the
S508で、CPU301はRTC315のデバイスBのデバイス設定処理を行うために、アドレス0x0D〜0x0F[3:0]の領域に対して、デバイスBとして必要な設定を行う。
S509で、CPU301はRTC315として接続されているのは故障も含めてデバイスが存在しないもしくは不明なデバイスであると判断している。
以上のように、同じアドレスのレジスタ領域において、デバイスAではユーザが自由に書込み可能なレジスタで、デバイスBでは“0”固定のレジスタであるという差分を使用して、デバイスの区別をソフトウェアで行うことが可能となる。これによりハードウェアの差分をソフトウェアで対応することが可能となり、RTC315がどちらのデバイスであっても使用することが可能となる。
In S508, the
In S509, the
As described above, in the register area of the same address, the device is distinguished by software by using the difference that the device A is a register freely writable by the user and the device B is a register fixed at “0”. It becomes possible. This makes it possible for software to handle hardware differences, and the RTC315 can be used with either device.
実施例1において、デバイスIDを搭載してないデバイスが接続されている場合のデバイス特定手段について説明した。
実施例2は、デバイスIDを搭載している場合と実施例1のように搭載していないデバイスが混在する場合のデバイス特定手段に関するものである。
図6は、デバイスIDを備えていない2種類のRTC315のレジスタ構成とデバイスIDを備えるRTC315のレジスタ構成を示すレジスタマップである。
図6(a)はデバイスAのレジスタマップ、図6(b)はデバイスBのレジスタマップ、図6(c)はデバイスCのレジスタマップである。デバイスAとデバイスBはデバイスIDを搭載していないデバイスで、デバイスCはデバイスIDを搭載しているデバイスである。
図6(a)及び図6(b)に関しては実施例1と一緒のレジスタ構成になっているので、ここでの説明は省略する。
図6(c)のデバイスCのレジスタマップに関して説明する。
デバイスCのレジスタマップにおいて、0x00〜0x06はカレンダー/時計機能として使用されるレジスタ領域である。本レジスタ領域に設定すれば設定を行った日付や時刻から計時を開始する。また本レジスタ領域を読出すことで読出したときの日付や時刻を取得することが可能となる。カレンダー/時計機能のレジスタ領域に関して、デバイスAやデバイスBのレジスタマップと比較すると、同じアドレスになっており、ソフトウェアにおいて共通で使用可能なレジスタ領域となっている。
In the first embodiment, the device identification means when a device not equipped with the device ID is connected has been described.
The second embodiment relates to a device identification means in the case where the device ID is mounted and the case where the devices not mounted as in the first embodiment are mixed.
FIG. 6 is a register map showing a register configuration of two types of RTC315s that do not have a device ID and a register configuration of an RTC315 that has a device ID.
FIG. 6A is a register map of device A, FIG. 6B is a register map of device B, and FIG. 6C is a register map of device C. Device A and device B are devices that do not have a device ID, and device C is a device that has a device ID.
6 (a) and 6 (b) have the same register configuration as that of the first embodiment, and thus the description thereof will be omitted here.
The register map of the device C of FIG. 6C will be described.
In the register map of device C, 0x00 to 0x06 are register areas used as a calendar / clock function. If it is set in this register area, timing will start from the set date and time. Further, by reading this register area, it is possible to acquire the date and time at the time of reading. Compared with the register map of device A and device B, the register area of the calendar / clock function has the same address, which is a register area that can be commonly used in software.
デバイスCのレジスタマップにおいて、0x07〜0x09はアラーム機能として使用されるレジスタ領域である。本レジスタ領域に設定すれば、設定したアラーム時刻に応じて割込みを発行することが可能となる。アラーム機能のレジスタ領域に関して、デバイスAのレジスタマップと比較するとデバイスAでは異なるアドレスである0x09〜0x0Bになっており、デバイスBのレジスタマップと比較すると同じアドレス領域になっている。そのためソフトウェアにおいて各々のデバイスに合わせて設定するアドレスを変更する必要があるレジスタ領域となっている。
デバイスCのレジスタマップにおいて、0x0A〜0x0Bはタイマー機能として使用されるレジスタ領域である。本レジスタ領域に設定すれば、設定したタイマー時間に応じて割込みを発行することが可能となる。タイマー機能のレジスタ領域に関して、デバイスAのレジスタマップと比較すると、異なるアドレスである0x07〜0x08になっており、デバイスBのレジスタマップと比較すると同じアドレス領域になっている。ソフトウェアにおいて各々のデバイスに合わせて設定するアドレスを変更する必要があるレジスタ領域となっている。
In the register map of the device C, 0x07 to 0x09 are register areas used as an alarm function. If it is set in this register area, it is possible to issue an interrupt according to the set alarm time. The register area of the alarm function is 0x09 to 0x0B, which are different addresses in device A when compared with the register map of device A, and are the same address area as compared with the register map of device B. Therefore, it is a register area in which it is necessary to change the address set according to each device in the software.
In the register map of device C, 0x0A to 0x0B are register areas used as a timer function. If it is set in this register area, it is possible to issue an interrupt according to the set timer time. Regarding the register area of the timer function, when compared with the register map of device A, the addresses are 0x07 to 0x08, which are different addresses, and when compared with the register map of device B, the address area is the same. It is a register area where it is necessary to change the address set according to each device in the software.
デバイスCのレジスタマップにおいて、0x0C〜0x0DはReserved領域である。
デバイスCのレジスタマップにおいて、0x0E〜0x0F[3:0]はデバイス設定として使用されるレジスタ領域である。デバイスCを使用する際に必要な設定を本レジスタ領域に設定する必要がある。デバイス設定のレジスタ領域に関して、デバイスAのレジスタマップと比較すると異なるアドレスである0x0C〜0x0Dになっており、さらにデバイスBのレジスタマップと比較すると異なるアドレスである0x0D〜0x0F[3:0]になっており。ソフトウェアにおいて各々のデバイスに合わせて設定するアドレスを変更する必要があるレジスタ領域となっている。
デバイスCのレジスタマップにおいて、0x0F[7:4]は、デバイスIDを示すレジスタ領域である。本レジスタは、読出した際には必ず“0b1001”というデバイスIDが読出されて、書込みを行っても書込むことができないレジスタ領域となっている。デバイスIDは一例として“0b1001”を指定しているだけで必ずしもこれである必要はなく、特定可能な情報であればよい。またここでは説明の簡略可能ために、実施例1でデバイスの区別の仕方を説明した際に使用したアドレスと同じアドレス領域にデバイスIDがあるように記載しているが必ずしも同じアドレス領域である必要はない。
In the register map of device C, 0x0C to 0x0D are reserved areas.
In the register map of device C, 0x0E to 0x0F [3: 0] are register areas used as device settings. It is necessary to set the settings required when using the device C in this register area. Regarding the register area of the device setting, it is 0x0C to 0x0D, which is a different address when compared with the register map of device A, and 0x0D to 0x0F [3: 0], which is a different address when compared with the register map of device B. The register. It is a register area where it is necessary to change the address set according to each device in the software.
In the register map of device C, 0x0F [7: 4] is a register area indicating the device ID. This register is a register area in which the device ID "0b1001" is always read when it is read, and it cannot be written even if it is written. As the device ID, "0b1001" is specified as an example, and it is not always necessary to specify "0b1001", as long as it is identifiable information. Further, for the sake of simplification of the description, it is described here that the device ID is in the same address area as the address used when the method of distinguishing the devices is explained in the first embodiment, but the device ID does not necessarily have to be the same address area. There is no.
デバイスA、Bともにデバイスを特定するためのデバイスIDのようなレジスタ領域がないためデバイスの特定ができないが、デバイスCはデバイスIDを備えているのでデバイスIDのレジスタ領域を読出せばデバイスが特定できるようになる。
ここでは、デバイスIDを搭載しているデバイスに関してはそのID情報に従いデバイス特定を行う。そして、デバイスIDを搭載していないデバイスにおいては、デバイスAのレジスタアドレス0x0F[7:4]とデバイスBのレジスタアドレス0x0F[7:4]のレジスタ機能の差分を使用してデバイス特定を行う。
ここで示したレジスタマップに関しては、一例であり必ずしもアドレス等がこれに従うものでなくても構わない。
Since devices A and B do not have a register area such as a device ID for specifying a device, the device cannot be specified. However, since device C has a device ID, the device can be specified by reading the register area of the device ID. become able to.
Here, with respect to the device equipped with the device ID, the device is specified according to the ID information. Then, in the device not equipped with the device ID, the device is specified by using the difference between the register functions of the register address 0x0F [7: 4] of the device A and the register address 0x0F [7: 4] of the device B.
The register map shown here is an example, and the address or the like does not necessarily have to follow it.
図7に、図6で示したレジスタ構成の差分を使用して各デバイスの区別を行うためのフローチャートを示す。
S701で、CPU301はRTC315のレジスタアドレス0x0F[7:4]の読出しを行う。デバイスCがCPU301に接続されている場合には、デバイスIDである“0b1001”が読出せるが、デバイスA又はデバイスBがCPU301に接続されている場合には、それ以外の値が読出せることになる。データの読出しを行った後にS702に遷移する。
S702で、CPU301はRTC315のレジスタアドレス0x0F[7:4]から読出した結果が“0b1001”かどうかの判断を行っている。デバイスCのデバイスIDである“0b1001”が読出され場合(Yes)には、S703に遷移し、それ以外のデータが読出された場合(No)にはS705に遷移する
FIG. 7 shows a flowchart for distinguishing each device by using the difference in the register configuration shown in FIG.
In S701, CPU301 reads the register address 0x0F [7: 4] of RTC315. When the device C is connected to the
In S702, the
S703で、CPU301はRTC315として接続されているのはデバイスCであると特定している。S703において、デバイスCであると特定した後はアラーム設定やタイマー設定を行う場合においてもデバイスCのレジスタマップ((図6(c))基づいて設定を行うこととなる。
CPU301がRTC315として接続されているのはデバイスCであると特定するとS704に遷移する。
S704で、CPU301はRTC315のデバイスCのデバイス設定処理を行うために、アドレス0x0E〜0x0F[3:0]の領域に対して、デバイスCとして必要な設定を行う。
S705で、CPU301はRTC315のレジスタアドレス0x0F[7:4]に対して、データ“0b1010”の書込みを行う。デバイスAがCPU301に接続されている場合には、データ“0b1010”が書込めるが、デバイスBがCPU301に接続されている場合には、データは書込むことができない。データの書込みを行った後にS706に遷移する。
S706で、CPU301はRTC315のレジスタアドレス0x0F[7:4]の読出しを行う。デバイスAがCPU301に接続されている場合には、S706で書込んだデータが読出せるが、デバイスBがCPU301に接続されている場合には、“0”が読出せることになる。データの読出しを行った後にS707に遷移する。
S707で、CPU301はRTC315のレジスタアドレス0x0F[7:4]から読出した結果が“0b1010”かどうかの判断を行う。S705で書込んだデータである“0b1010”が読出された場合(Yes)には、S708に遷移し、それ以外のデータが読出された場合(No)にはS710に遷移する。
In S703, CPU301 specifies that it is device C that is connected as RTC315. After identifying the device C in the S703, even when the alarm setting or the timer setting is performed, the setting is performed based on the register map of the device C ((FIG. 6 (c))).
If it is specified that the device C is connected to the
In S704, the
In S705, the
In S706, CPU301 reads the register address 0x0F [7: 4] of RTC315. When the device A is connected to the
In S707, the
S708は、CPU301がRTC315として接続されているのはデバイスAであると特定している。S708において、デバイスAであると特定した後はアラーム設定やタイマー設定を行う場合においてもデバイスAのレジスタマップ(図6(a))に基づいて設定を行うこととなる。CPU301はRTC315として接続されているのはデバイスAであると特定するとS709に遷移する。
S709で、CPU301がRTC315のデバイスAのデバイス設定処理を行うために、アドレス0x0C〜0x0Dの領域に対して、デバイスAとして必要な設定を行う。
S710で、CPU301はRTC315のレジスタアドレス0x0F[7:4]から読出した結果が“0b0000”かどうかの判断を行う。デバイスBのレジスタに割り当てられている“0b0000”であると判断した場合(Yes)にはS711に遷移し、それ以外のデータであると判断した場合(No)にはS713に遷移する。
S711で、CPU301がRTC315として接続されているのはデバイスBであると特定する。S711において、デバイスBであると特定した後はアラーム設定やタイマー設定を行う場合においてもデバイスBのレジスタマップ(図6(b))に基づいて設定を行うこととなる。CPU301はRTC315として接続されているのはデバイスBであると判断するとS712に遷移する。
The S708 identifies that the device A is connected to the
In S709, in order for the
In S710, the
In S711, it is specified that the device B is connected to the
S712は、CPU301がRTC315のデバイスBのデバイス設定処理を行うために、アドレス0x0D〜0x0F[3:0]の領域に対して、デバイスBとして必要な設定を行う。
S713は、CPU301がRTC315として接続されているのは故障も含めてデバイスが存在しないもしくは不明なデバイスであると判断している。
以上のように、デバイスIDを備えているものはそのデバイスID情報に従って、デバイスを特定する。デバイスIDを備えていないものは、同じアドレスのレジスタ領域において、デバイスAは自由に書込み可能で、デバイスBでは“0”固定であるという差異を利用して、デバイスの特定をソフトウェアで行うことが可能となる。これによりハードウェアの差分をソフトウェアで対応することが可能となり、RTC315がどちらのデバイスであっても使用することが可能となる。
In S712, in order for the
The S713 determines that the
As described above, the device having the device ID identifies the device according to the device ID information. If the device does not have a device ID, the device can be identified by software using the difference that device A is freely writable and device B is fixed at "0" in the register area of the same address. It will be possible. This makes it possible for software to handle hardware differences, and the RTC315 can be used with either device.
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成が可能である。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(Other Examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
Further, the structure and contents of the various data described above are not limited to this, and can be configured with various structures and contents according to the use and purpose.
Although one embodiment has been described above, the present invention can take an embodiment as, for example, a system, an apparatus, a method, a program, a storage medium, or the like.
Further, all the configurations in which the above examples are combined are also included in the present invention.
301 CPU
314 RTC
301 CPU
314 RTC
Claims (10)
前記制御手段に接続されているデバイスを特定する第1の特定手段を有し、
前記第1の特定手段は、
前記デバイスの第1のレジスタ領域に対して所定のデータの書込みを行う書込み手段と、
前記デバイスの前記第1のレジスタ領域からデータの読出しを行う読出し手段と、を有し、
前記読出し手段によって読出された第1のデータに基づいて前記デバイスを特定すること、
を特徴とする情報処理装置。 An information processing device that has control means
It has a first specific means for identifying a device connected to the control means.
The first specific means is
A writing means for writing predetermined data to the first register area of the device, and
It has a reading means for reading data from the first register area of the device.
Identifying the device based on the first data read by the reading means.
An information processing device characterized by.
前記第2のデータに基づいて前記デバイスを特定する第2の特定手段を有し、
前記第2の特定手段で前記デバイスが特定できない場合に、前記第1の特定手段により前記デバイスを特定することを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。 It has a second reading means for reading the second data from the second register area of the device.
Having a second identifying means of identifying the device based on the second data,
The information processing apparatus according to any one of claims 1 to 3, wherein the device is specified by the first specific means when the device cannot be specified by the second specific means.
接続されているデバイスを特定する特定工程を有し、
前記特定工程は、
前記デバイスの所定のレジスタ領域に対して所定のデータの書込みを行う書込み工程と、
前記デバイスの前記レジスタ領域からデータの読出しを行う読出し工程とを有し、
前記読出し工程によって読出されたデータに基づいて前記デバイスを特定すること、
を有することを特徴とする情報処理装置の制御方法。 It is a control method for information processing equipment.
Has a specific process to identify the connected device,
The specific step is
A writing step of writing predetermined data to a predetermined register area of the device, and
It has a reading step of reading data from the register area of the device.
Identifying the device based on the data read by the reading step.
A control method for an information processing device, which comprises.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020028273A JP2021131819A (en) | 2020-02-21 | 2020-02-21 | Device identification means, device identification method, and image processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020028273A JP2021131819A (en) | 2020-02-21 | 2020-02-21 | Device identification means, device identification method, and image processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021131819A true JP2021131819A (en) | 2021-09-09 |
Family
ID=77551116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020028273A Pending JP2021131819A (en) | 2020-02-21 | 2020-02-21 | Device identification means, device identification method, and image processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021131819A (en) |
-
2020
- 2020-02-21 JP JP2020028273A patent/JP2021131819A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7817298B2 (en) | Image processing apparatus and method for faster starting of an image processing apparatus using priority functions | |
JP2008191747A (en) | Control device, image forming apparatus, print system, control method and control program | |
JP2006203808A (en) | Image processing device, information processor, information processing system, information processing method, program and storage medium | |
JP2007181029A (en) | Image processor, and method for controlling image processor | |
US8122210B2 (en) | Data backup device, data backup system, and data backup program | |
JP2006205549A (en) | Digital image printing system, printer, control method of digital image printing system, control method of printer, program of printer and storage medium | |
JP2007174215A (en) | External controller, and remote operation system and method | |
US8547573B2 (en) | Image forming apparatus having a master-slave configuration and control method therefor, and control program for implementing the method | |
JP2008242564A (en) | Printer driver, program, and recording medium | |
JPH11249846A (en) | Image forming device, managing method therefor and storage medium | |
JP6381315B2 (en) | Methods for sharing customization settings information | |
JP2021131819A (en) | Device identification means, device identification method, and image processing device | |
JP2007106079A (en) | Image output device | |
US20150153702A1 (en) | Imagimage forming apparatus, image forming apparatus control method, and storage medium | |
JP2009182671A (en) | Image processor, image processing system, control method for image processor, control program, and recording medium | |
US20070153012A1 (en) | Image processing apparatus and image processing system | |
JP2013020342A (en) | Image formation system, output management method and program | |
JP4072471B2 (en) | Image recording apparatus, paper feed control method, storage medium storing computer-readable program, and program | |
JP2016201077A (en) | Information processing unit, control method thereof, and program | |
CN102087660B (en) | Document management apparatus | |
JP2018197991A (en) | Alteration detecting device, control method thereof, and program | |
JP2005349657A (en) | Image forming apparatus, use environment control method, program, and storage medium | |
JP2014111325A (en) | Electronic equipment, electronic equipment control method, and program | |
JP5021555B2 (en) | Image processing apparatus and enlarged continuous shooting function control method | |
JP2006186415A (en) | Image forming apparatus |