JP6482519B2 - 情報処理装置、情報処理装置の制御方法及びプログラム - Google Patents
情報処理装置、情報処理装置の制御方法及びプログラム Download PDFInfo
- Publication number
- JP6482519B2 JP6482519B2 JP2016241828A JP2016241828A JP6482519B2 JP 6482519 B2 JP6482519 B2 JP 6482519B2 JP 2016241828 A JP2016241828 A JP 2016241828A JP 2016241828 A JP2016241828 A JP 2016241828A JP 6482519 B2 JP6482519 B2 JP 6482519B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- reader
- cpu
- transfer
- control unit
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 179
- 230000010365 information processing Effects 0.000 title claims description 19
- 238000012546 transfer Methods 0.000 claims description 249
- 230000008569 process Effects 0.000 claims description 153
- 238000004891 communication Methods 0.000 claims description 142
- 238000012545 processing Methods 0.000 claims description 117
- 238000001994 activation Methods 0.000 claims description 53
- 230000004913 activation Effects 0.000 claims description 27
- 230000003287 optical effect Effects 0.000 description 93
- 238000002360 preparation method Methods 0.000 description 23
- 238000001514 detection method Methods 0.000 description 13
- 238000011084 recovery Methods 0.000 description 13
- 238000012790 confirmation Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000000926 separation method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 239000011521 glass Substances 0.000 description 6
- 238000004904 shortening Methods 0.000 description 5
- 239000000428 dust Substances 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00002—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
- H04N1/00007—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for relating to particular apparatus or devices
- H04N1/00013—Reading apparatus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00567—Handling of original or reproduction media, e.g. cutting, separating, stacking
- H04N1/0057—Conveying sheets before or after scanning
- H04N1/00599—Using specific components
- H04N1/00602—Feed rollers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00681—Detecting the presence, position or size of a sheet or correcting its position before scanning
- H04N1/00684—Object of the detection
- H04N1/00687—Presence or absence
- H04N1/00697—Presence or absence in an output tray
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00885—Power supply means, e.g. arrangements for the control of power supply to the apparatus or components thereof
- H04N1/00888—Control thereof
- H04N1/00896—Control thereof using a low-power mode, e.g. standby
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Facsimiles In General (AREA)
- Power Sources (AREA)
- Stored Programmes (AREA)
Description
図1は、本発明の一実施例を示す画像読取装置の構成を例示する断面図である。
図1に示すように、画像読取装置1000は、原稿の画像を読み取る画像読取部(以下「リーダ」)200と、自動原稿給紙部(以下「ADF」)100を備えており、さらにコントローラ部300(図2)が接続されている。なお、ADFは、Automatic Document Feederの略である。
リーダ200の動作について、図1を参照しながら説明する。
リーダ200は、原稿台ガラス209上に載置された原稿について、走査部としての光学スキャナユニット202を図1の矢印に示す副走査方向に一定速度で走査することで、原稿に記録されている画像情報を後述の方法で読み取る。この読取方法を、以下「固定読み」という。
リーダ200の制御を司るリーダ用CPU801(図2)は、光学スキャナユニット202が原稿またはシェーディング白板210の下に位置した状態で、LED203a、203bを点灯し、原稿またはシェーディング白板210の表面を照射させる。その反射光は、ミラー204a、204b、204cで折り返し反射されながら、画像読取センサ208へ達する。画像読取センサ208は、この反射光を入力として、画像情報を1ラインずつ読み取っていく。
ADF100の動作について、図1を参照しながら説明する。
ADF100は、1枚以上の原稿シートで構成される原稿束Sを積載する原稿トレイ30と、原稿の搬送開始前に、原稿束Sが原稿トレイ30より突出して下流への進出を規制する分離パッド21及び分離ローラ2と、給紙ローラ1とを有する。給紙ローラ1は、原稿トレイ30に積載された原稿束Sの原稿面に落下して回転する。これにより、原稿束の最上面の原稿が給紙される。給紙ローラ1によって給紙された原稿は、分離ローラ2と分離パッド21の作用によって1枚に分離される。この分離は公知の分離技術によって実現されている。
図2は、画像読取装置1000の制御部の構成を例示するブロック図である。
まず、画像読取制御部(以下「リーダ制御部」)310について説明する。
リーダ制御部310は、リーダ200及びADF100の動作を制御する。リーダ制御部310は、中央演算処理装置である画像読取用CPU801(以下「リーダ用CPU」)、ROM802、RAM803を備えている。ROM802には、リーダ制御部310の制御プログラムが格納されている。RAM803には、入力データや作業用データが格納されるほか、ROM802から転送されたリーダ制御部310の制御プログラムが格納される。
コントローラ部300は、画像読取装置1000の装置全体を制御する。コントローラ部300は、CPU901、ROM902、RAM903を備えている。ROM902には、コントローラ部300の制御プログラムが格納されており、RAM903には、入力データや作業用データが格納されるほか、ROM902から転送されたコントローラ部300の制御プログラムが格納される。
また、コントローラ部300は、操作表示部としての操作部904を備えており、ユーザとのインターフェース制御は操作部904を介してCPU901によって行われる。
本実施例において、画像読取装置1000は「電源OFF」と「スリープ」の2つの非動作状態をもつ。「電源OFF」は、画像読取装置1000全体の電源が停止している状態である。「スリープ」は、制御回路、例えばCPU901等の一部の箇所にのみ電力を供給し、他の箇所については電力を供給しない状態(省電力状態)である。「電源OFF」状態から動作を開始することを「電源ON」と呼ぶ。また、「スリープ」状態から動作を開始することを「スリープ復帰」と呼ぶ。さらに、「電源ON」と「スリープ復帰」を合わせて「動作開始」という。また、動作状態から非動作状態(「電源OFF」又は「スリープ」)へ移行することを「動作停止」と呼ぶ。
「電源OFF」時は、動作停止処理の後、画像読取装置1000全体への電力の供給が停止される。操作部904を介し、ユーザから「電源OFF」の指示が入力された時、CPU901は、通信ライン354を介しリーダ用CPU801へ「電源OFF」コマンドを送信し、リーダ制御部310の動作停止を指示する。続いて、CPU901は、コントローラ部300の電源OFF処理を行う。CPU901は、リーダ用CPU801から、通信ライン354を通じてリーダ制御部310の「動作停止準備完了」コマンドを受信し、電力供給ライン355を通じたリーダ制御部310への電力供給を停止する。また、CPU901は、リーダ制御部310への電力供給の停止と、コントローラ部300の電源OFF処理の両方が完了した後、電力供給ライン350を通じたコントローラ部300への電力供給を停止する。
「スリープ」時は、CPU901及びRAM903を含む画像読取装置1000の一部の箇所は電力が供給され、それ以外の部分については電力の供給が停止される。操作部904を介し、ユーザから「スリープ」の指示が入力された時、又は、装置内のタイマーにより自動的に「スリープ」に移行するよう設定されていて、それが実行された時、画像読取装置1000は「スリープ」へ移行する。「スリープ」への移行時、CPU901は、通信ライン354を介しリーダ用CPU801へ「スリープ」コマンドを送信し、リーダ制御部310の動作停止を指示する。続いて、CPU901は、コントローラ部300のスリープ処理を行う。CPU901は、リーダ用CPU801から、通信ライン354を通じてリーダ制御部310の「動作停止準備完了」コマンドを受信し、電力供給ライン355を通じたリーダ制御部310への電力供給を停止する。また、CPU901は、リーダ制御部310への電力供給の停止と、コントローラ部300のスリープ処理の両方が完了した後、コントローラ部300の一部への電力の供給を停止する。具体的には、CPU901は、ROM902、画像処理部905、画像メモリ906への電力の供給を停止する。
操作部904を介し、ユーザから「電源OFF」又は「スリープ」の指示が入力された時、先述の通り、CPU901は、通信ライン354を介しリーダ用CPU801へ「電源OFF」又は「スリープ」コマンドを送信し、リーダ制御部310の「動作停止」を指示する。リーダ用CPU801は動作停止指示を受け、リーダ制御部310の動作停止処理を行う。リーダ制御部310の動作停止処理としては、例えば、光学スキャナユニット202の移動が挙げられる。具体的には、動作停止指示を受けた時、光学スキャナユニット202がFCOT短縮のために原稿の読み取り開始位置に位置していた場合には、リーダ制御部310は、光学スキャナユニット202をホームポジションH(所定位置)へ移動させる。リーダ制御部310の動作停止処理完了後、リーダ用CPU801は、通信ライン354を介し、CPU901へ「動作停止準備完了」コマンドを送信する。その後、先述の通り、CPU901はリーダ用CPU801の「動作停止準備完了」コマンドを受け、電力供給ライン355を通じたリーダ制御部310への電力供給を停止する。
電源ON、すなわち画像読取装置1000へ電源が投入されると、まずCPU901へ電源が供給される。CPU901へ電力が供給されると、CPU901はハードウェアリセットされる。リセットが解除された後、CPU901は、ROM902に格納されているコントローラ部300の制御プログラムを読み出し、読み出したプログラムに従い、コントローラ部300の起動処理を実行する。コントローラ部300の起動処理とは、例えば以下の処理を含む。CPU901は、コントローラ部300全体への電力の供給を開始する。CPU901は、電力供給ライン355を通じリーダ制御部310へ電力の供給を開始する。CPU901は、ROM902に格納されているコントローラ部300の制御プログラムをRAM903へ転送する。CPU901は、その他、画像読取システムとして必要な初期動作を行う。これらの処理を行った後に、CPU901は、後述する方法で、リーダ制御部310との通信初期化(通信設定)を行う。CPU901は、リーダ制御部310との通信初期化を終えると、コントローラ部300の起動処理を終了する。コントローラ部300は、起動処理を終えると、操作部904を通じたユーザ操作を受け付け可能な状態となる。
スリープの間は、電源OFFの場合と異なり、CPU901及びRAM903へ電源が供給された状態が保たれている。特に、RAM903については、スリープ以前に格納されたデータが保持されている。したがって、CPU901のハードウェアリセットや、ROM902に格納されているコントローラ部300の制御プログラムをRAM903へ転送する処理など、画像読取システムとして必要な初期動作のうちのいくつかは不要となる。スリープ時にCPU901が何らかのスリープ復帰要求を受けると、CPU901は、コントローラ部300のスリープ復帰処理を実行する。スリープ復帰要求としては、例えば、操作部904へのユーザの入力がある。コントローラ部300のスリープ復帰処理とは、例えば以下の処理を含む。CPU901は、スリープの間電力の供給を停止していたROM902、画像処理部905、画像メモリ906へ電力の供給を開始する。CPU901は、スリープ復帰通知ライン356を通じ、リーダ制御部310へスリープ復帰であることを通知した状態で、電力供給ライン355を通じリーダ制御部310へ電力の供給を開始する。スリープ復帰通知ライン356は、例えば、電気的な信号線で構成され、信号線の電圧がしきい値より高ければ、スリープ復帰であることを表し、信号線の電圧がしきい値より低ければ、電源ONであることを表すものである。CPU901は、リーダ制御部310へ電力の供給を開始する前に、スリープ復帰通知ライン356の電圧を上げてしきい値より高い状態にし、その状態を保ったまま、リーダ制御部310へ電力の供給を開始する。
電源ON時、先述の通り、CPU901は、電力供給ライン355を通じリーダ制御部310へ電力の供給を開始する。リーダ制御部310への電力の供給が開始されると、リーダ用CPU801は、ハードウェアリセットされる。リセットが解除された後、リーダ用CPU801は、ROM802に格納されているリーダ制御部310の制御プログラムを読み出し、リーダ制御部310の起動処理を開始する。リーダ制御部310の起動処理については後述する。リーダ制御部310は、起動処理を終えると、原稿読み取り可能な状態になる。コントローラ部300とは異なり、リーダ制御部310が動作開始時に行う処理は、「電源ON」と「スリープ復帰」で共通している。しかし、後述するように、「電源ON」の場合と「スリープ復帰」の場合で、処理の実行順序を変えることで、起動時間を短縮することが可能になる。
リーダ制御部310は、リーダ制御部310の制御プログラムに基づき各処理を実行する。リーダ用制御プログラムは、初期プログラム、リアルタイムオペレーティングシステム(以下「OS」)、光学モータ制御処理プログラム、通信処理プログラム、その他制御プログラムから成る。初期プログラムには、例えば、リーダ制御部310の制御プログラムの転送処理や、制御プログラムの読み出し先をROM802からRAM803へ切り替える処理、転送制御部840の初期設定や転送指示を行う処理、動作開始要因の判定処理などを行うためのプログラムが含まれる。光学モータ制御処理プログラムは、光学モータ822の駆動を制御するための処理プログラムである。通信処理プログラムは、コントローラ部300との通信ライン354を介した通信を制御するための処理プログラムである。その他制御プログラムには、搬送モータ810の制御処理や、原稿読み取り処理を行うためのプログラム等が含まれる。
リーダ制御部310の制御プログラムは、ROM802に格納されている。リーダ用CPU801は、リーダ制御部310の起動処理、原稿読み取り処理等の動作を行う上で、制御プログラムのうち、その処理に該当する部分を読み出し、実行することでリーダ200及びADF100の動作を制御する。特に、画像読取装置1000の動作開始時、リーダ用CPU801は、ROM802に格納されている制御プログラムのうち、初期プログラムを読み出して実行する。
リーダ用CPU801は、リーダ制御部310の制御プログラムの読み出し先として、ROM802とRAM803が選択可能である。例えば、リーダ用CPU801は、図3に示すように、仮想アドレス空間400に物理アドレス空間をマッピングすることでメモリ管理を行っている。仮想アドレス空間410は仮想アドレス空間400の部分であり、リーダ用CPU801は、制御プログラムの読み出し先として仮想アドレス空間410を用いる。仮想アドレス空間410へのメモリの割り当てを変更することで、制御プログラムの読み出し先が変更できる。以下、図3を用いて詳細に説明する。
図3(a)は、制御プログラムの読み出し先としてROM802が選択されている場合に対応する。画像読取装置1000の動作開始時、仮想アドレス空間410aにはROM802の物理アドレス空間420aが割り当てられ、図3(a)の状態になっている。この状態で、リーダ用CPU801が仮想アドレス空間410aにアクセスすると、仮想アドレス空間410aに割り当てられたROM802の物理アドレス空間420aがアクセスされることになる。すなわち、リーダ用CPU801は、仮想アドレス空間410aにアクセスすることにより、初期プログラムを読み出し、初期プログラムを実行することができる。
RAM803は、ROM802から転送したリーダ制御部310の制御プログラムを格納する制御プログラム用領域と、入力データや作業データを格納する作業用領域からなり、それぞれ物理アドレス空間431及び432が対応する。
リーダ制御部310の制御プログラムの転送には、リーダ用CPU801による転送と、転送制御部840による転送を用いる。以下、リーダ用CPU801により制御プログラムを転送することを、「PIO転送」という。なお、PIOは、Program Input / Outputの略である。また、本実施例においては、転送制御部840はDMAコントローラであるため、以下、転送制御部840により制御プログラムを転送することを「DMA転送」という。以下、PIO転送及びDMA転送について、図2を用いて説明する。
PIO転送では、リーダ用CPU801が転送の制御を行う。例えば、ROM802からRAM803へPIO転送により制御プログラムを転送するとき、リーダ用CPU801は、まず転送元アドレスからROM802にアクセスして格納されているデータを読み出す。そして、リーダ用CPU801は、転送先アドレスからRAM803にアクセスし、上記ROM802から読み出したデータをRAM803に書き込む。リーダ用CPU801は、このデータの読み出しと書き込みを、転送サイズに応じ繰り返し行う。なお、転送サイズ分の転送が完了するまで、リーダ用CPU801は他の処理を実行できない。
DMA転送では、転送制御部840が転送の制御を行う。例えば、ROM802からRAM803へDMA転送により制御プログラムを転送するとき、まず、リーダ用CPU801が、転送制御部840の初期設定を行う。次に、リーダ用CPU801が、転送情報、例えば転送元のアドレス、転送先のアドレス、転送サイズを転送制御部840に指定し、転送開始を指示する。転送制御部840は、転送開始指示を受け、指定された転送元アドレスからROM802にアクセスし、格納されているデータを読み出す。そして、転送制御部840は、指定された転送先アドレスからRAM803にアクセスし、上記ROM802から読み出したデータをRAM803に書き込む。転送制御部840は、このデータの書き出しと読み込みを、指定された転送サイズに応じ繰り返し行う。指定された転送サイズ分の転送が終了すると、転送制御部840は、次の転送開始指示を受けるまで待機状態となる。リーダ用CPU801は、転送制御部840の状態を確認することで、転送が完了したか否かを判断できる。すなわち、リーダ用CPU801は、転送制御部840への転送開始指示後、転送制御部840が待機状態であれば、転送が完了したと判断できる。
PIO転送に対し、DMA転送における利点として、転送制御部840が転送の制御を行うため、転送を行っている間、リーダ用CPU801は他の処理を実行できる、ということが挙げられる。
リーダ制御部310の起動処理は、例えば以下の処理を含む。
リーダ用CPU801は、ROM802に格納されているリーダ制御部310の制御プログラムをRAM803へ転送する。リーダ用CPU801は、動作開始の要因、すなわち動作開始が電源ONによるものなのか、スリープ復帰によるものなのかを判定する。リーダ用CPU801は、OSを起動する。リーダ用CPU801は、光学スキャナユニット202のホームポジションHへの移動を行う。また、リーダ用CPU801は、コントローラ部300との通信初期化を行う(通信設定)。それぞれの処理について、以下で説明する。また、上記の他に、リーダ制御部310の起動処理として、例えば、シェーディングデータ生成のためのシェーディング白板210の読み取りがある。
先述の方法で、リーダ制御部310の制御プログラムをROM802からRAM803へ転送する。制御プログラムの転送にあたっては、起動時間短縮のため、制御プログラムの転送と、制御プログラムの読み出し及び実行を並行して行うことが望ましい。また、制御プログラムの読み出し及び実行にかかる時間を短縮するため、動作開始後、可能な限り早く、制御プログラムの読み出し先をROM802からRAM803に切り替える、すなわちリマップすることが望ましい。
動作開始要因の判定は、リーダ制御部310の制御プログラムのうち、初期プログラムの機能を用いて行われる。
先述の通り、スリープ復帰時、CPU901は、スリープ復帰通知ライン356の電圧をしきい値より高く保った状態で、電力供給ライン355を通じリーダ制御部310へ電力の供給を開始する。一方、電源ON時、スリープ復帰通知ライン356の電圧は、しきい値より低い状態にある。電源ON時、CPU901は、スリープ復帰通知ライン356の電圧を変更することなく、したがってスリープ復帰通知ライン356の電圧はしきい値より低い状態のまま、リーダ制御部310へ電力の供給を開始する。
リーダ制御部310の制御プログラムには、先述の通り、OSが含まれている。後述する光学スキャナユニット202のホームポジションHへの移動や、コントローラ部300との通信初期化、その他起動処理、原稿読み取り処理等は、全てOSの動作の上で、それぞれの処理プログラムにより行われる。そのため、リーダ制御部310は、これらの処理に先立って、OSの起動を行う。具体的には、リーダ制御部310は、リーダ制御部310の制御プログラムのうち、OSに含まれるカーネルイメージを読み込み、実行する。
光学スキャナユニット202のホームポジションHへの移動は、リーダ制御部310の制御プログラムのうち、光学モータ制御処理プログラムの機能により行われる。リーダ制御部310は、先述の方法で、光学スキャナユニット202の位置情報を管理している。これは、原稿の読み取りやシェーディング白板210の読み取り等の動作を行う際に、光学スキャナユニット202をその動作位置まで正確に移動させるためである。ところが、画像読取装置1000の非動作中、画像読取装置1000の揺動等の影響を受け、光学スキャナユニット202が意図せず移動してしまう場合がある。したがって、画像読取装置1000の動作開始時、リーダ制御部310は、光学スキャナユニット202の正確な位置を把握できていない状態にある。そこで、リーダ制御部310は、起動処理において、光学スキャナユニット202の正確な位置を把握するため、光学スキャナユニット202のホームポジションHへの移動(以下「HP出し」)を行っている。起動処理においては、シェーディングデータ生成のためのシェーディング白板210の読み取りを行うため、光学スキャナユニット202のHP出しは、その前に行う必要がある。
図4は、光学スキャナユニット202のHP出しにおける動作を説明するための図である。
図5は、光学スキャナユニット202のHP出しにおける制御処理を例示するフローチャートである。
図4(b)は、光学スキャナユニット202がホームポジションHに停止している場合の断面図である。
S103において、リーダ用CPU801は、光学スキャナユニット202を移動させていく間、HPセンサ211の出力を監視し、HPセンサ211の出力がOFFに切り替わったかどうかを判定する。そして、まだHPセンサ211の出力がONのままであると判定した場合(S103でNOの場合)、リーダ用CPU801は、そのまま光学スキャナユニット202の移動を継続するように制御する。
S104において、リーダ用CPU801は、光学モータ822の駆動パルス数のカウントを開始する。
S106において、リーダ用CPU801は、光学スキャナユニット202がホームポジションHに達したと判断し、光学モータ822の駆動を停止し、本フローチャートの処理を終了する(S107)。
S112において、リーダ用CPU801は、光学スキャナユニット202が検知位置B上を通過したと判断し、光学モータ822の駆動を停止し、S102に処理を進める。S102〜S106では、動作開始時にHPセンサ211の出力がONであった場合と同様にして、光学スキャナユニット202を右に移動させることでホームポジションHへの移動を行い、本フローチャートの処理を終了する(S107)。
コントローラ部300との通信初期化は、リーダ制御部310の制御プログラムのうち、通信処理プログラムにより行われる。
図6A(a)、図6A(b)は、「電源ON」の場合のリーダ制御部310とコントローラ部300の通信初期化処理について、その前後の処理も含め、処理の流れの一例を表している。
図6B(c)、図6B(d)は、「スリープ復帰」の場合のリーダ制御部310とコントローラ部300の通信初期化処理について、その前後の処理も含め、処理の流れの一例を表している。
「電源ON」の場合、CPU901は、コントローラ部300の制御プログラムの転送、画像処理部905の設定など、画像読取システムとして必要な初期動作を行う。CPU901がこれらの処理を行った後に、リーダ制御部310との通信が可能になる(図6A(a)、図6A(b))。
以下、リーダ制御部310とコントローラ部300の通信初期化処理について、図7、図8を用いて説明する。
図7は、リーダ制御部310におけるコントローラ部300との通信初期化処理を例示するフローチャートである。
図8は、コントローラ部300におけるリーダ制御部310との通信初期化処理を例示するフローチャートである。
次に、S202において、リーダ用CPU801は、通信準備完了通知ライン357bの状態を見て、コントローラ部300が通信可能状態であるか否かを確認する。そして、まだコントローラ部300が通信可能状態でないと判定した場合(S202でNOの場合)、リーダ用CPU801は、上記S202の確認を繰り返す。
S203において、リーダ用CPU801は、コントローラ部300から通信ライン354を介し「構成情報要求」コマンドを受信したか否かを確認する。そして、まだ「構成情報要求」コマンドを受信完了していないと判定した場合(S203でNOの場合)、リーダ用CPU801は、上記S203の確認を繰り返す。
S204において、リーダ用CPU801は、コントローラ部300へ通信ライン354を介し「構成情報」データを送信する。
次に、S302において、CPU901は、通信準備完了通知ライン357aの状態を見て、リーダ制御部310が通信可能状態であるか否かを確認する。そして、まだリーダ制御部310が通信可能状態でないと判定した場合(S302でNoの場合)、CPU901は、上記S302の確認を繰り返す。
S303において、CPU901は、リーダ制御部310へ通信ライン354を介し「構成情報要求」コマンドを送信する。
S305において、CPU901は、リーダ制御部310へ通信ライン354を介し「構成情報受取完了」コマンドを送信し、本フローチャートの処理を終了する(S306)。
図6A(a)、図6A(b)に示したように、電源ONの場合には、通信処理化処理においてリーダ用CPU801の待ち時間が生じている。また、図6B(c)、図6B(d)に示したように、スリープ復帰の場合には、通信初期化処理においてCPU901の待ち時間が生じている。これは、「電源ON」の場合には、コントローラ部300は「スリープ復帰」の場合よりも、リーダ制御部310との通信が可能になるまで時間を要するためである。
以下、図9、図10を用いて、リーダ制御部310の起動処理における制御について説明する。
図9は、実施例1におけるリーダ制御部310の起動処理の実行及び並行して行うリーダ制御部310の制御プログラムのROM802からRAM803への転送の流れを示す図である。
図10は、実施例1におけるリーダ制御部310の起動処理を例示するフローチャートである。
図9(b)は、動作開始要因が「スリープ復帰」であった場合に対応する図である。
図9(a)、図9(b)ともに、図の上段は、リーダ用CPU801が行うリーダ制御部310の起動処理の実行を表している。また、図9(a)、図9(b)ともに、上段下部に、実行される処理がリーダ制御部310の制御プログラムのうち、どの部分によるものかを「初期プログラム」、「OS」等のように、制御プログラムの名称で示している。
次に、S402において、リーダ用CPU801は、リマップすることで、リーダ制御部310のプログラムの読み出し先をROM802からRAM803へ切り替える。以下、リーダ用CPU801は、RAM803へ転送されたプログラムを読み出して処理を行うこととなる。
次に、S404において、リーダ用CPU801は、リーダ制御部310の制御プログラムのうち、OSの転送を転送制御部840へ指示する。該転送指示が完了し、DMA転送が開始されれば、リーダ用CPU801は、S405に処理を進める。
S407において、リーダ用CPU801は、光学モータ制御処理プログラムの転送を転送制御部840に指示する。該転送指示が完了し、DMA転送が開始されれば、リーダ用CPU801は、S408に処理を進める。
S410において、リーダ用CPU801は、通信処理プログラムの転送を転送制御部840に指示する。該転送指示が完了し、DMA転送が開始されれば、リーダ用CPU801は、S411に処理を進める。
S413において、リーダ用CPU801は、その他制御プログラムの転送を転送制御部840に指示する。該転送指示が完了し、DMA転送が開始されれば、リーダ用CPU801は、S414に処理を進める。
S416において、リーダ用CPU801は、リーダ制御部310の制御プログラムの全ての転送が完了したと判断し、転送制御部840の設定をクリアする。
S420において、リーダ用CPU801は、上記S404で指示したOSのDMA転送が完了しているか否かを、転送制御部840の状態を確認することで判定する。そして、まだOSのDMA転送が完了していないと判定した場合(S420でNOの場合)、リーダ用CPU801は、OSのDMA転送が完了するまで上記S420の確認を繰り返す。
S421において、リーダ用CPU801は、通信処理プログラムの転送を転送制御部840に指示する。該転送指示が完了し、DMA転送が開始されれば、リーダ用CPU801は、S422に処理を進める。
S424において、リーダ用CPU801は、光学モータ制御処理プログラムの転送を転送制御部840に指示する。該転送指示が完了し、DMA転送が開始されれば、リーダ用CPU801は、S425に処理を進める。
S427において、リーダ用CPU801は、その他制御プログラムの転送を転送制御部840に指示する。該転送指示が完了し、DMA転送が開始されれば、リーダ用CPU801は、S428に処理を進める。
S415以降は、リーダ用CPU801は、動作開始要因が「電源ON」であった場合と同じ処理を行い(S415〜S417)、本フローチャートのリーダ制御部の起動処理を終了する(S418)。
リーダ制御部310の起動処理は、実施例1における、リーダ制御部310の制御プログラムの転送、動作開始要因の判定、OSの起動、コントローラ部300との通信初期化を含む。これらについては、実施例1と同じ処理であるため説明を省略する。
画像処理部833は、例えば、ASIC(application specific integrated circuit)で構成される。原稿読み取り時、画像読取センサ208によって読み取られた原稿の画像データは、画像処理部833において画像処理が施され、画像メモリ832に格納される。画像処理とは、例えば、原稿台ガラス209や流し読みガラス201にゴミが付着していた場合に、読み取られた画像データのゴミ部分を、その周囲にある原稿の画像データから補正する処理が挙げられる。また、シェーディング白板210にゴミが付着していた場合、シェーディングデータ生成のために読み取ったシェーディング白板210の画像データのゴミ部分を補正する処理が挙げられる。そのため、画像処理部833の初期設定は、シェーディングデータ生成のためのシェーディング白板210の読み取り処理の前に行う必要がある。
図11A、図11Bは、実施例2におけるリーダ制御部310とコントローラ部300の通信初期化処理の流れを表す図である。
図11B(c)、図11B(d)は、「スリープ復帰」の場合のリーダ制御部310とコントローラ部300の通信初期化処理について、その前後の処理も含め、処理の流れの一例を表している。
図12は、本実施例における、リーダ制御部310の起動処理の実行及び並行して行うリーダ制御部310の制御プログラムの転送の、流れを示した図である。
図13は、本実施例における、リーダ制御部310の起動処理の制御フローチャートである。
図12(b)は、動作開始要因が「スリープ復帰」であった場合に対応する図である。
図12(a)、図12(b)ともに、図の上段は、リーダ用CPU801が行うリーダ制御部310の起動処理の実行を表している。また、図12(a)、図12(b)ともに、上段下部に、実行される処理がリーダ制御部310の制御プログラムのうち、どの部分によるものかを、「初期プログラム」、「OS」等のように、制御プログラムの名称で示している。
S510において、リーダ用CPU801は、残りの制御プログラム、すなわち光学モータ制御処理プログラム及びその他制御プログラムの転送を転送制御部840に指示する。該転送指示が完了し、DMA転送が開始されれば、リーダ用CPU801は、S511に処理を進める。
次に、S512において、リーダ用CPU801は、通信処理プログラムを読み込み、該通信処理プログラムを実行し、コントローラ部300との通信初期化処理を行う。S512の後、リーダ用CPU801は、S513に処理を進める。
次に、S526において、リーダ用CPU801は、初期プログラムを読み込み、該初期プログラムを実行し、画像処理部833の初期設定処理を行う。S526の後、リーダ用CPU801は、S513に処理を進める。
以上の制御により、実施例2によれば、実施例1と同様の効果を奏する。
また、上記各実施例では、画像読取装置の起動制御を例に説明したが、本発明の起動制御は、画像読取装置の起動制御に限定されるものではなく、各種電子機器の起動制御にも適用可能である。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
200 リーダ
300 コントローラ
310 リーダ制御部
801 リーダ用CPU
802,902 ROM
803,903 RAM
840 転送制御部
Claims (8)
- 情報処理装置であって、
コントローラと通信可能に接続されたプロセッサーと、
制御プログラムを格納する不揮発性メモリと、
前記不揮発性メモリより読み出し速度が速い揮発性メモリとを、有し、
前記不揮発性メモリには、第1プログラム、第2プログラム及び第3プログラムが格納されており、
前記プロセッサーは、
前記コントローラに電力が供給されている状態から前記情報処理装置が起ち上げられる第1起動処理モードにおいて、
前記不揮発性メモリから前記第1プログラムを前記揮発性メモリに転送し、
前記揮発性メモリに格納された前記第1プログラムに基づき、前記不揮発性メモリから前記第2プログラムを前記揮発性メモリに転送し、
前記揮発性メモリに格納された前記第2プログラムに基づく第1処理の実行と、前記不揮発性メモリから前記揮発性メモリへの前記第3プログラムの転送とを並行して実行し、
前記コントローラに電力が供給されていない状態から前記情報処理装置が起ち上げられる第2起動処理モードにおいて、
前記不揮発性メモリから前記第1プログラムを前記揮発性メモリに転送し、
前記揮発性メモリに格納された前記第1プログラムに基づき、前記不揮発性メモリから前記第3プログラムを前記揮発性メモリに転送し、
前記揮発性メモリに格納された前記第3プログラムに基づく第2処理の実行と、前記不揮発性メモリから前記揮発性メモリへの前記第2プログラムの転送とを並行して実行する、
ことを特徴とする情報処理装置。 - 転送制御部をさらに有し、
前記プロセッサーは、
前記転送制御部を使用せずに、前記第1プログラムを前記不揮発性メモリから前記揮発性メモリに転送し、
前記転送制御部を用いて、前記第2プログラム及び前記第3プログラムを前記不揮発性メモリから前記揮発性メモリに転送する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記第2プログラムは、前記コントローラとの通信を制御するためのプログラムであることを特徴とする請求項2に記載の情報処理装置。
- 前記第1プログラムは、初期プログラムであることを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。
- 前記第1プログラムは、リアルタイムオペレーティングシステムであることを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。
- 前記情報処理装置は,スリープモードを有し、
前記スリープモードから復帰する場合に、前記第1起動処理モードを実行し、
電源が投入された場合に、前記第2起動処理モードを実行する、
ことを特徴とする請求項1〜5の何れか1項に記載の情報処理装置。 - コントローラと通信可能に接続されたプロセッサーと、制御プログラムを格納する不揮発性メモリと、前記不揮発性メモリより読み出し速度が速い揮発性メモリとを有し、前記不揮発性メモリには、第1プログラム、第2プログラム及び第3プログラムが格納されている情報処理装置の制御方法であって、
前記プロセッサーは、
前記コントローラに電力が供給されている状態から前記情報処理装置が起ち上げられる第1起動処理モードにおいて、
前記不揮発性メモリから前記第1プログラムを前記揮発性メモリに転送し、前記揮発性メモリに格納された前記第1プログラムに基づき、前記不揮発性メモリから前記第2プログラムを前記揮発性メモリに転送する第1転送工程と、
前記揮発性メモリに格納された前記第2プログラムに基づく第1処理の実行と、前記不揮発性メモリから前記揮発性メモリへの前記第3プログラムの転送とを並行して実行する第1並行処理工程とを実行し、
前記コントローラに電力が供給されていない状態から前記情報処理装置が起ち上げられる第2起動処理モードにおいて、
前記不揮発性メモリから前記第1プログラムを前記揮発性メモリに転送し、前記揮発性メモリに格納された前記第1プログラムに基づき、前記不揮発性メモリから前記第3プログラムを前記揮発性メモリに転送する第2転送工程と、
前記揮発性メモリに格納された前記第3プログラムに基づく第2処理の実行と、前記不揮発性メモリから前記揮発性メモリへの前記第2プログラムの転送とを並行して実行する第2並行処理工程とを実行する
ことを特徴とする情報処理装置の制御方法。 - 請求項7に記載の制御方法をコンピュータにより実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016241828A JP6482519B2 (ja) | 2016-12-14 | 2016-12-14 | 情報処理装置、情報処理装置の制御方法及びプログラム |
US15/822,750 US10341500B2 (en) | 2016-12-14 | 2017-11-27 | Information processing apparatus and image reading apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016241828A JP6482519B2 (ja) | 2016-12-14 | 2016-12-14 | 情報処理装置、情報処理装置の制御方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018097629A JP2018097629A (ja) | 2018-06-21 |
JP6482519B2 true JP6482519B2 (ja) | 2019-03-13 |
Family
ID=62489933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016241828A Expired - Fee Related JP6482519B2 (ja) | 2016-12-14 | 2016-12-14 | 情報処理装置、情報処理装置の制御方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10341500B2 (ja) |
JP (1) | JP6482519B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019068218A (ja) * | 2017-09-29 | 2019-04-25 | キヤノン株式会社 | 画像読取装置およびその制御方法 |
JP6615302B1 (ja) * | 2018-11-06 | 2019-12-04 | 三菱電機株式会社 | 電子制御装置 |
JP7347157B2 (ja) * | 2019-11-22 | 2023-09-20 | 富士通株式会社 | 情報処理システム、ストレージ制御プログラム、及び、ストレージ制御装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2695300B2 (ja) * | 1991-04-26 | 1997-12-24 | シャープ株式会社 | 携帯情報端末機 |
JP3430191B2 (ja) * | 1996-05-28 | 2003-07-28 | アルプス電気株式会社 | キーボード |
JP4111649B2 (ja) * | 2000-01-26 | 2008-07-02 | 富士フイルム株式会社 | デジタルカメラ |
US7266254B2 (en) * | 2002-02-13 | 2007-09-04 | Canon Kabushiki Kaisha | Data processing apparatus, image processing apparatus, and method therefor |
US7457943B2 (en) * | 2003-06-12 | 2008-11-25 | Fuji Xerox Co., Ltd. | Controller, image processing apparatus, and method of controlling execution of program |
JP2008065434A (ja) * | 2006-09-05 | 2008-03-21 | Matsushita Electric Ind Co Ltd | プログラム起動制御装置 |
JP2008126453A (ja) * | 2006-11-17 | 2008-06-05 | Ricoh Co Ltd | 画像処理方法、プログラム、記憶媒体、画像処理装置、画像形成装置 |
JP5836207B2 (ja) * | 2011-07-25 | 2015-12-24 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
JP2013097715A (ja) | 2011-11-04 | 2013-05-20 | Nikon Corp | 電子機器およびプログラム |
JP2013141751A (ja) * | 2012-01-09 | 2013-07-22 | Konica Minolta Inc | 画像形成装置 |
JP5484541B2 (ja) * | 2012-10-09 | 2014-05-07 | キヤノン株式会社 | 画像処理装置、画像処理装置の起動方法、及びプログラム |
JP6061632B2 (ja) * | 2012-11-13 | 2017-01-18 | キヤノン株式会社 | 情報処理装置 |
JP6269106B2 (ja) * | 2014-01-29 | 2018-01-31 | 株式会社リコー | 電子装置 |
JP6465555B2 (ja) * | 2014-03-25 | 2019-02-06 | キヤノン株式会社 | 撮像装置、電子機器、カメラシステム、制御方法、およびプログラム |
-
2016
- 2016-12-14 JP JP2016241828A patent/JP6482519B2/ja not_active Expired - Fee Related
-
2017
- 2017-11-27 US US15/822,750 patent/US10341500B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US10341500B2 (en) | 2019-07-02 |
JP2018097629A (ja) | 2018-06-21 |
US20180167519A1 (en) | 2018-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4569522B2 (ja) | 画像形成システム | |
JP6482519B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
US9415959B2 (en) | Image forming apparatus and image forming method | |
CN105100530B (zh) | 图像形成装置及其控制方法 | |
JP5836207B2 (ja) | 画像形成装置 | |
JP2007293702A (ja) | 画像形成システム | |
JP2013111831A5 (ja) | 印刷制御装置、その制御方法、及びプログラム | |
US10859958B1 (en) | Image forming apparatus that transfers data from volatile cache memory to non-volatile storage based on power supply state and control method thereof | |
JP2013218371A (ja) | 情報処理装置及び情報処理装置におけるデータ記憶処理方法 | |
JP2008300922A (ja) | 画像処理装置、画像処理装置の制御方法、制御プログラム及び記録媒体 | |
KR101596095B1 (ko) | 인쇄 장치 및 기록 매체 | |
JP5701043B2 (ja) | 情報処理装置、情報処理装置の制御方法、及び、プログラム | |
JP5889833B2 (ja) | 画像形成装置及びその起動制御方法 | |
US9336463B2 (en) | Image forming apparatus capable of changing partitions of storage unit, and control method and storage medium therefor | |
US20090122345A1 (en) | Image forming apparatus | |
JP2008216527A (ja) | 画像形成装置、制御方法およびプログラム | |
JP5103350B2 (ja) | 画像形成装置 | |
JP2004194254A (ja) | 情報処理装置 | |
JP2016161580A (ja) | 画像形成装置及び画像形成システム | |
JP2009223384A (ja) | 情報処理装置 | |
JP2011113042A (ja) | 画像形成装置 | |
US9386177B2 (en) | Information processing apparatus and original reading apparatus | |
JP2007276401A (ja) | 画像形成システム | |
JP2022096897A (ja) | 電子機器および電子機器におけるログ保存方法 | |
JP7119744B2 (ja) | 画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181016 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181217 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190212 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6482519 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |