(57)【要約】      （修正有）【課題】ＣＰＵクロックの不正操作やＣＰＵの実装ミスにより、意図しない動作クロックになったときに起動不可にできるようにする。【解決手段】プログラム起動時に実行しているＣＰＵの動作クロックを確認し（７０１）、装置を識別するシリアルＩＤを取得し（７０２）、これらを比較する（７０３）。判定（７０４）の結果、予め決められたＣＰＵクロックとシリアルＩＤの組み合わせに適合する場合には起動を続行する（７０５）が、適合しない場合はエラーコードを表示し（７１１）、起動しないようにする（７１２）。【選択図】図７
2007079817.tif 000002
【特許請求の範囲】
【請求項１】
指定のプログラムを実行するCPUと、
システムのベースクロックを生成するクロックジェネレータと、
基準となる入力クロック信号の周波数と出力クロック信号の周波数の位相差を一定にするPLLと、
入力クロック信号から前記入力クロック信号の整数倍の周波数の出力クロック信号を生成する逓倍回路と、
製品を識別するためのシリアルIDとを備え、
前記CPUの動作クロックを求める手段と、
前記CPU動作クロックの値と前記シリアルIDの値を比較する手段と、
前記比較によりプログラムを実行している前記CPUと前記シリアルIDの組合せが正常か否かを判断する手段と、
を持つことを特徴とする画像入出力装置。
【請求項２】
請求項１の画像入出力装置において、前記比較によりプログラムを実行している前記CPUと前記シリアルIDの組合せが正常ではないと判断した場合に、前記プログラムの実行を終了させることを特徴とする画像入出力装置制御方法。
【請求項３】
請求項１の画像入出力装置において、前記比較によりプログラムを実行している前記CPUと前記シリアルIDの組合せが正常ではないと判断した場合に、任意のエラーコードを出力することを特徴とする画像入出力装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵおよび内部デバイスをもつ集積回路と製品を識別するためのシリアルＩＤとをもち、組合せのミスや不正なクロックアップに対処するための制御方法に関する。
【背景技術】
【０００２】
一般的に、ＣＰＵで歩留まりにより設計上の最大許容周波数が期待できないものは、最大許容周波数を下げて動作させることがある。すなわち設計および物理的な構成が同じＣＰＵでも、動作周波数の異なるものが存在する。
【０００３】
従来例としては、例えば特許文献１と特許文献２をあげることが出来る。
【特許文献１】特開２００３−２９６６８０号公報
【特許文献２】特開平０９−０８１５３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のように外観が同じで動作周波数の異なるＣＰＵが存在するとき、本来は動作周波数の高いＣＰＵを用いるところに動作周波数の低いＣＰＵを用いても、パフォーマンスが異なること以外は通常は問題なく動作する。しかし前述のように、設計通りのパフォーマンスが発揮されないため、品質問題に繋がる恐れがある。
【０００５】
また、不正クロックアップにより最大許容周波数を超えた値を設定してＣＰＵを動作させたなどに、予期しない動作を引き起こす可能性も考えられる。
【課題を解決するための手段】
【０００６】
上記課題を解決するため本発明の請求項１の画像入出力装置は、指定のプログラムを実行するCPUと、システムのベースクロックを生成するクロックジェネレータと、基準となる入力クロック信号の周波数と出力クロック信号の周波数の位相差を一定にするPLLと、入力クロック信号から前記入力クロック信号の整数倍の周波数の出力クロック信号を生成する逓倍回路と、製品を識別するためのシリアルIDとを備え、前記CPUの動作クロックを求める手段と、前記CPU動作クロックの値と前記シリアルIDの値を比較する手段と、前記比較によりプログラムを実行している前記CPUと前記シリアルIDの組合せが正常か否かを判断する手段とを持つことを特徴とする。
【０００７】
また、本発明の請求項２の画像入出力装置制御方法では、請求項１の画像入出力装置において、前記比較によりプログラムを実行している前記CPUと前記シリアルIDの組合せが正常ではないと判断した場合に、前記プログラムの実行を終了させることを特徴とする。
【０００８】
また、本発明の請求項３の画像入出力装置制御方法では、請求項１の画像入出力装置において、前記比較によりプログラムを実行している前記CPUと前記シリアルIDの組合せが正常ではないと判断した場合に、任意のエラーコードを出力することを特徴とする。
【発明の効果】
【０００９】
以上の説明にあるように、本発明によれば、実装ミスによるＣＰＵの取り違えやＣＰＵのクロックの不正操作によりＣＰＵのクロックが意図しない値になったときに、起動せずにエラーコードなどを表示し、装置の品質を保つ。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて詳説する。
【００１１】
図１は本発明に係る電子部品としてのコントローラ部が搭載された画像入出力装置（データ処理装置）の一実施の形態を示すブロック構成図であって、該画像入出力装置１は、LAN（Local Area Network）400にてのホストコンピュータ（本実施の形態では第一、第二のホストコンピュータ3,4）に接続されている。
【００１２】
即ち、上記画像入出力システム（装置）1は、画像データの読取処理を行うリーダ部2と、画像データの出力処理を行うプリンタ部6と、画像データの入出力操作を行うキーボード、及び画像データや各種機能の表示などを行う液晶パネルを備えた操作部7と、制御プログラムや画像データ等が予め書き込まれたハードディスクドライブ8と、ファクシミリの入出力処理を行うFAX部90とを装着し、これら各構成要素に接続されて該構成要素に接続されて該構成要素を制御する単一の電子部品からなるコントローラ部110とから構成されている。
【００１３】
さらにリーダ部2は原稿用紙を搬送する原稿給紙ユニット（部）10と、原稿画像を光学的に読み取って電気信号としての画像データに変換するスキャナ部11とを有し、プリンタ部6は記録用紙を収容する複数段の給紙カセットを備えた給紙ユニット（部）12と画像データを記録用紙に転写、定着するマーキングユニット(部)13と印字された記録用紙にソート処理やステイプル処理を施して、外部に排出する排紙ユニット（部）14とを有している。
【００１４】
図２はモノクロＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：マルチファンクション周辺機器）の構成である。
【００１５】
モノクロＭＦＰは、スキャナ部201、レーザ露光部202、感光ドラム203、作像部204、定着部205、給紙／搬送部206及び、これらを制御する不図示のプリンタ制御部から構成される。
【００１６】
スキャナ部201は、原稿台に置かれた原稿に対して、照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する工程である。
【００１７】
レーザ露光部202は、前記画像データに応じて変調されたレーザ光などの光線を等角速度で回転する回転多面鏡（ポリゴンミラー210）に入射させ、反射走査光として感光ドラム203に照射する。
【００１８】
作像部204は、感光ドラム203を回転駆動し、帯電器によって帯電させ、前記レーザ露光部202によって感光ドラム203上に形成された潜像に対し、トナーによって現像化し、そのトナー像をシートに転写し、その際に転写されずに感光ドラム上に残った微小トナーを回収する、一連の電子写真プロセスを実行する。
【００１９】
定着部205は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、前記作像部205によってトナー像が転写されたシート上のトナーを、熱と圧力によって溶解、定着させる。
【００２０】
給紙／搬送部206は、シートカセットやペーパーデッキに代表されるシート収納庫を一つ以上持っており、前記プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートの中から一枚分離し、作像部204・定着部205へ搬送する。シートの両面に画像形成する場合は、定着部205を通過したシートを再度作像部へ搬送する搬送経路を通るように制御する。
【００２１】
プリンタ制御部は、ＭＦＰ全体を制御するＭＦＰ制御部と通信して、その指示に応じて制御を実行すると共に、前述のスキャナ201、レーザ露光202、作像204、定着205、給紙／搬送206の各部の状態を管理しながら、全体が調和を保って円滑に動作できるよう指示を行う。
【００２２】
図３はコントローラ部110の詳細を示すブロック図である。
【００２３】
すなわち、メインコントローラ32は、ＣＰＵ33とバスコントローラ34と後述する各種コントローラ回路を含む機能ブロックとを内蔵すると共に、ＲＯＭＩ／Ｆ35を介してＲＯＭ36と接続され、ＤＲＡＭＩ／Ｆ37を介してＤＲＡＭ38と接続され、コーデックＩ／Ｆ39を介してコーデック40と接続され、また、ネットワークＩ／Ｆ41を介してネットワークコントローラ42と接続されている。
【００２４】
ＲＯＭ36は、メインコントローラ32のＣＰＵ33で実行される各種制御プログラムや演算データが格納されている。ＤＲＡＭ38は、ＣＰＵ33が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック40はＤＲＡＭ38に蓄積されたラスターイメージデータをＭＨ／ＭＲ／ＭＭＲ／ＪＢＩＧなどの周知の圧縮方式で圧縮し、また圧縮されたデータをラスターイメージに伸長する。また、コーデック40にはＳＲＡＭ43が接続されており、該ＳＲＡＭ43は前記コーデック40の一時的な作業領域として使用される。
【００２５】
ネットワークコントローラ42は、ネットワークコネクタ44を介してＬＡＮ2との間で所定の制御動作を行う。
【００２６】
また、前記メインコントローラ32はスキャナバス45を介してスキャナＩ／Ｆ46に接続され、プリンタバス47を介してプリンタＩ／Ｆ48に接続され、さらにＰＣＩバス等の汎用高速バス49を介して拡張ボードを接続するための拡張コネクタ50及び入出力制御部（Ｉ／Ｏ制御部）51に接続されている。
【００２７】
Ｉ／Ｏ制御部51はリーダ部2やプリンタ部6との間で制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ52が2チャンネル装備されており、該シリアル通信コントローラ52はＩ／Ｏバス53を介してスキャナＩ／Ｆ46及びプリンタＩ／Ｆ48に接続されている。
【００２８】
スキャナＩ／Ｆ48は、第一の調歩同期シリアルＩ／Ｆ54及び第一のビデオＩ／Ｆ55を介してスキャナコネクタ56に接続され、さらに該スキャナコネクタ56はリーダ部2のスキャナユニット11に接続されている。そして、スキャナＩ／Ｆ46はスキャナ部11から受信した画像データに対し所望の2値化処理や、主走査方向及び／又は副走査方向の変倍処理を行い、またスキャナ部11から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス45を介してメインコントローラ32に転送する。
【００２９】
また、プリンタＩ／Ｆ48は、第２の調歩同期シリアルＩ／Ｆ57及び第2のビデオＩ／Ｆ58を介してプリンタコネクタ59に接続され、さらに該プリンタコネクタ59はプリンタ部６のマーキングユニット13に接続されている。そして、プリンタI/F48はメインコントローラ32から出力された画像データにスムージング処理を施して該画像データをマーキングユニット13に出力し、さらにマーキングユニット13から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス47に出力する。
【００３０】
そして、ＣＰＵ33は、ＲＯＭ36からＲＯＭＩ／Ｆ35を介して読み込まれた制御プログラムに基づいて動作し、例えば、第1及び第2のホストコンピュータ3、4から受信したＰＤＬ（ページ記述言語）データを解釈し、ラスターイメージデータに展開処理を行う。
【００３１】
また、バスコントローラ34は、スキャナＩ／Ｆ46プリンタＩ／Ｆ48、その他拡張コネクタ50等に接続された外部機器から入出力されるデータ転送を制御するものであり、バス競合時のアービトレーション（調停）やＤＭＡデータ転送の制御を行う。即ち、例えば、上述したＤＲＡＭ38とコーデック40との間のデータ転送や、スキャナ部５からＤＲＡＭ38へのデータ転送、ＤＲＡＭ38からマーキングユニット13へのデータ転送等は、バスコントローラ34によって制御され、ＤＭＡ転送される。
【００３２】
また、Ｉ／Ｏ制御部51は、ＬＣＤコントローラ60などを介してパネルＩ／Ｆ62に接続されている。また、前記Ｉ／Ｏ制御部51は不揮発性メモリとしてのＥＥＰＲＯＭに接続され、またＥ−ＩＤＥコネクタ63を介してハードディスクドライブ8に接続され、さらに、機器内で管理する日付と時刻を更新／保存するリアルタイムクロックモジュール64に接続されている。尚、リアルタイムクロックモジュール64はバックアップ用電池65に接続されて該バックアップ用電池65によりバックアップされている。
【００３３】
図４はメインコントローラ32の内部詳細を示すブロック構成図である。
【００３４】
バスコントローラ34は、4×4の64ビットクロスバススイッチで構成され、64ビットのプロセッサバス（Pバス）67を介してCPU33に接続され、またメモリ専用のローカルバス（Mバス）を介してキャッシュメモリを備えたメモリコントローラ69に接続されている。尚、メモリコントローラ69はROM36やDRAM38などのメモリ類と接続され、これらのメモリ類の動作を制御する。
【００３５】
さらに、該バスコントローラ34はグラフィックスバス（Gバス）70を介してGバスアービタ71及びスキャン・プリンタコントローラ72と接続され、また入出力バス（Bバス）73を介して、Bバスアービター74、Gバスアービタ71、インタラプトコントローラ、及び各種機能ブロック（電力管理ユニット76、UARTなどのシリアルI/Fコントローラ77、USB(Universal Serial Bus)コントローラ78、IEEE1284等のパラレルI/Fコントローラ79、LANコントローラ80汎用入出力コントローラ81、Bバス73と外部バスであるPCIバスとの間でI/F動作を司るPCIバスI/F82、及びスキャナ・プリンタコントローラ72）と接続されている。
【００３６】
Bバスアービタ74はBバス73を協調制御するアービトレーションであり、Bバス73のバス使用要求を受け付け、調停の後、使用許可が選択された一つのマスタに与えられ、これにより同時に2つ以上のマスタがバスアクセスを行うのを禁止している。尚、アービトレーション方式は3段階の優先権を有し、それぞれの優先権に複数のマスタが割り当てられる。
【００３７】
インタラプトコントローラ75は、上述した各機能ブロック及びコントローラユニット110の外部からインタラプトを集積し、CPU33がサポートするコントローラ類72、77−82及びノンマスカブルインタラプト（ＮＭＩ）に再配分する。
【００３８】
電力管理ユニット76は機能ブロック毎に電力を管理し、さらに1チップで構成されている電子部品としてコントローラユニット110の消費電力量の監視を行う。すなわち、コントローラユニット110は、CPU33を内蔵した大規模なASIC（特定用途向けIC）で構成されており、このため全ての機能ブロックが同時に動作すると大量の熱を発生して、コントローラ部110自体が破壊されてしまうおそれがある。
そこで、このような事態を防止するために各に機能ブロック毎に消費電力を管理し、各機能ブロックの消費電力量はパワーマネージメントレベルとして電力管理ユニット76に集積される。そして、該電力管理ユニット76では各機能ブロックの消費電力量を合計し、該消費電力量が限界消費電力を超えないように各機能ブロックの消費電力量を一括して、監視する。
【００３９】
Gバスアービタ71は中央アービトレーション方式によりGバス70を協調制御しており、各バスマスタに対して専用の要求信号と許可信号とを有する。尚、バスマスタへの優先権の付与方式として、全てのバスマスタを同じ優先権として、公平にバス権を付与する公平アービトレーションモードといずれか一つのバスマスタに対して優先的にバスを使用させる優先アービトレーションモードのいずれかを指定することができる。
【００４０】
シリアルＩＤ31は、製品ごとに一意に決まる登録番号である。同じコントローラボード使用する場合でも、エンジンや仕向けの違いによって異なるシリアルＩＤを登録することで、実行するプログラムが製品の違いを認識することができる。
【００４１】
図５に本件を実施するにあたってのメインコントローラ内の動作クロック設定に関するデバイスを示す。
【００４２】
水晶発信器501は、水晶のもつ性質によって極めて安定な周波数をもつ信号を発信する。クロックジェネレータ502は、水晶発信器で得られる信号から電気的な信号を出力する回路であり、様々な信号処理の基準となるタイミング信号を生成する。コントローラ全体の基準となる周波数（ベースクロック）とは、この信号のことである。なおクロックジェネレータ502から発信される周波数は、基準となる周波数のほかに基準の二分の一の周波数や四分の一の周波数も出力される。
【００４３】
逓倍回路503は、クロックジェネレータ502から得られるベースクロックから整数倍の周波数を持つクロック信号を生成する回路である。逓倍回路503はＤＩＰスイッチ504と接続しており、ＤＩＰスイッチ504の状態から逓倍回路503でベースクロックを何倍にするかを設定する。
【００４４】
ＰＬＬ505は、クロックジェネレータ502から得られるベースクロックと逓倍回路503から得られるクロック信号との位相差が一定になるように、フィードバック制御を行い発信する発信回路である。ＰＬＬから出力されるクロックは、ベースクロック（外部クロック）×逓倍率で計算でき、これがＣＰＵに入力される内部クロックとなる。またＰＬＬから出力は、逓倍回路で整数倍した周波数やベースクロックの周波数など複数あり、他のデバイスにも供給される。
【００４５】
ＣＰＵ33は、前記の通りROMから読み込んだプログラムを実行するが、実行時の動作クロックはＰＬＬ505から得られるクロック信号を使用する。
【００４６】
シリアルＩＤ基盤31は、前記の通り製品ごとに一意に決まる登録番号が保存されている。メインコントローラチップ32とはバスブリッジなどを介して任意のバスで接続されている。
【００４７】
図６はシリアルＩＤとＤＩＰスイッチとの起動する組合せを示す表である。Machine-Aという機種に対しては「３３」というシリアルIDが規定され、シリアルID基盤31に登録されており、製品仕様でＤＩＰスイッチは「００１」の時に起動するよう規定されていることを意味する。ＤＩＰスイッチの設定値が分かると逓倍率が分かり、さらにベースクロックは一定であるためにＣＰＵの動作周波数が決定できる。Machine-B、Machine-C についても同様である。なおMachine-A行の括弧内の値は、ＤＩＰスイッチが「００１」のときは逓倍率が2.0であることを示している。
【００４８】
図９はシリアルＩＤとＣＰＵ周波数との起動する組合せを示す表である。Machine-Aという機種に対しては「３３」というシリアルIDが規定され、シリアルID基盤31に登録されており、ＣＰＵの周波数をＤＩＰスイッチの設定値ではなくプログラムの実行ステップから求めた場合にこの表を使用する。ＣＰＵの周波数は、周波数計算用のアセンブリコードとその実行時間を測定する外部タイマー（図示せず）から、単位時間内のアセンブリコード実行ステップ数から求めることができる。
【００４９】
図７はシリアルＩＤとＣＰＵ動作クロックから起動チェックを行う際のフローを示す。
【００５０】
プログラム起動後、ＣＰＵの動作クロックを確認（701）する。この方法は、前述の通りクロックジェネレータ502と逓倍回路503に付随するＤＩＰスイッチ504の設定値を取得するか、もしくは周波数計算用のアセンブリコードとその実行時間を測定する外部タイマー（図示せず）から取得することから求められる。次にシリアルＩＤ31の値を取得（702）する。確認したＣＰＵ動作クロックとシリアルＩＤの値から図６もしくは図９の対応表に従って比較する。このとき、ＣＰＵ動作クロックは一定の上限・下限値を設定してその範囲内なら起動ＯＫと判断してもよい。ＣＰＵ動作クロックとシリアルＩＤが意図している組合せと判断できたら（704）、起動確認ステータスフラグをＯＫにして、そのまま次の処理を実行する。意図している組合せと判断できない場合は、起動確認ステータスフラグをＮＧとしエラーコード（711）を表示し、画像入出力装置が装置としての機能を実行できない状態にする（712）。
【００５１】
図８はエラーコードの表示例を示す。
【００５２】
ユーザインターフェースとしてパネルＩ／Ｆ82およびＬＣＤコントローラ80を持つ場合は、パネルＩ／Ｆにエラーが発生したことが分かる記述と、エラーの詳細を示すエラーコードを表示する。
【図面の簡単な説明】
【００５３】
【図１】画像入出力システムのブロック構成図。
【図２】画像入出力装置の断面図。
【図３】コントローラ部のブロック構成図。
【図４】メインコントローラの詳細を示すブロック構成図。
【図５】メインコントローラ内の動作クロック設定図。
【図６】シリアルIDとDIPスイッチの適合表。
【図７】シリアルIDとＣＰＵ動作クロックの適合フロー。
【図８】エラーコード表示例。
【図９】シリアルIDとＣＰＵ周波数の適合表。
【図１】
2007079817.tif 000003
【図２】
2007079817.tif 000004
【図３】
2007079817.tif 000005
【図４】
2007079817.tif 000006
【図５】
2007079817.tif 000007
【図６】
2007079817.tif 000008
【図７】
2007079817.tif 000009
【図８】
2007079817.tif 000010
【図９】
2007079817.tif 000011