(57)【特許請求の範囲】
【請求項１】
プログラマブルロジックデバイスの端子の状態を定義するための情報であって、前記端子を入力端子及び出力端子のうちいずれの端子とするかを表す端子種別を示し、且つ、前記端子種別が前記入力端子である前記端子をプルアップさせるかプルダウンさせるかを表す端子設定を示す状態定義情報、及び、前記プログラマブルロジックデバイスの内部の論理回路を表す論理回路情報からなる、前記プログラマブルロジックデバイスを駆動させるための回路データが予め記憶された第１記憶部と、
前記第１記憶部に記憶されている前記回路データを読み込んで、前記端子を当該回路データに含まれる前記状態定義情報で示される状態とするとともに、前記回路データに含まれる前記論理回路情報で表される論理回路を構成して、前記構成した論理回路に基づく動作を開始することにより、プルアップされた前記入力端子をハイレベルにし、プルダウンされた前記入力端子をローレベルにし、前記出力端子を前記構成した論理回路の初期状態に応じた電圧レベルにするプログラマブルロジックデバイスと、
前記プログラマブルロジックデバイスに駆動電力を供給する電力供給部と、
前記端子に接続され、当該端子の状態を、当該端子がハイレベルであるかローレベルであるかによって検出する端子状態検出部と、
前記プログラマブルロジックデバイスにより前記回路データが読み込まれた直後に前記端子がとるべき状態として、前記端子の電圧レベルがハイレベルであるかローレベルであるかを示した状態情報が予め記憶された第２記憶部と、
前記電力供給部による前記駆動電力の供給が開始された後、予め設定された期間内に、前記端子状態検出部により検出された端子の状態が、前記第２記憶部に予め記憶されている状態情報で示された状態と異なるか否かを判断し、前記端子状態検出部により検出された端子の状態が、前記第２記憶部に予め記憶されている状態情報で示された状態と異なるときには、前記第１記憶部に記憶されている回路データの不正書き換えを検出する制御部と、
を備えることを特徴とする不正書き換え検出回路。
【請求項２】
前記制御部は、
前記回路データの不正書き換えを検出したときには、前記プログラマブルロジックデバイスが前記第１記憶部に記憶されている回路データに基づいて駆動することを停止させる駆動停止処理を実行する
ことを特徴とする請求項１に記載の不正書き換え検出回路。
【請求項３】
前記制御部は、
前記駆動停止処理として、前記電力供給部による前記プログラマブルロジックデバイスへの駆動電力の供給を中止する
ことを特徴とする請求項２に記載の不正書き換え検出回路。
【請求項４】
前記プログラマブルロジックデバイスは、リセット信号を受け付けるリセット端子をさらに備え、前記リセット端子が受け付けるリセット信号がアサートされたときにリセットされる構成とされており、
前記不正書き換え検出回路は、前記リセット端子に前記リセット信号を出力するリセット信号出力部をさらに備え、
前記制御部は、前記駆動停止処理として、前記リセット信号をアサートする
ことを特徴とする請求項２に記載の不正書き換え検出回路。
【請求項５】
前記プログラマブルロジックデバイス、前記第１記憶部、前記電力供給部、前記端子状態検出部、前記第２記憶部、及び、前記制御部は、基板上に配置されており、
前記プログラマブルロジックデバイスの駆動電力を当該プログラマブルロジックデバイスに供給するための電力ラインが、前記基板の表面に露出することなく内層に配置されている
ことを特徴とする請求項１乃至請求項３のいずれか一項に記載の不正書き換え検出回路。
【請求項６】
前記プログラマブルロジックデバイス、前記第１記憶部、前記電力供給部、前記端子状態検出部、前記第２記憶部、前記制御部、及び、前記リセット信号出力部は、基板上に配置されており、
前記リセット信号を前記リセット端子に出力するためのリセット信号ラインが、前記基板の表面に露出することなく内層に配置されている
ことを特徴とする請求項４に記載の不正書き換え検出回路。
【請求項７】
請求項１乃至請求項６のいずれか一項に記載の不正書き換え検出回路と、
原稿の画像を表す画像データに画像処理を施す画像処理部と、
前記画像データを記録紙上に形成する画像形成部と、
を備えており、
前記画像処理部は、前記プログラマブルロジックデバイスで構成されている
ことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積及び画像形成装置に関するものである。
【背景技術】
【０００２】
集積回路の１つにＦＰＧＡ（Field Programmable Gate Array）などのプログラマブルロジックデバイスが存在する。この種のプログラマブルロジックデバイスには、ユーザが所望の機能を実行させることができるため、予め実行できる機能が決まっているＡＳＩＣ（Application Specific Integrated Circuit）に代わって、近時、急速に普及してきている。
【０００３】
この種のプログラマブルロジックデバイスの一例が特許文献１に記載されている。特許文献１に記載の半導体装置は、システムＬＳＩに接続されている。半導体装置には、ＦＰＧＡが配置されており、当該ＦＰＧＡには、当該ＦＰＧＡが、システムＬＳＩが接続可能なＮＡＮＤインタフェース回路として機能するための回路データが予め記憶された不揮発性メモリが接続されている。
【０００４】
この半導体装置では、不揮発性メモリに記憶された回路データがＦＰＧＡに送られる。すると、ＦＰＧＡは、その内部にシステムＬＳＩが接続可能なＮＡＮＤインタフェース回路を形成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２６５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、プログラマブルロジックデバイスが機能を実行するための回路データは不揮発性メモリなどの記憶部に予め記憶されているため、記憶部に記憶されている回路データを書き換えることにより、第三者が、容易に、プログラマブルロジックデバイスの機能を別の機能に変更することができる。
【０００７】
そのため、プログラマブルロジックデバイスが、ユーザの予期しない処理を行うおそれがある。例えば、ＦＰＧＡに、或る機能のチップが接続されている場合に、当該ＦＰＧＡがチップの解析を行う機能を実行するための回路データに書き換えられた場合、当該ＦＰＧＡは、チップの解析を行う処理を実行する。
【０００８】
そのため、プログラマブルロジックデバイスが機能を実行するための回路データが第三者により書き換えられたことを適切に判断して、当該プログラマブルロジックデバイスが、ユーザの予期しない処理を行わないように措置することが望まれる。
【０００９】
ところで、記憶部はプログラマブルロジックデバイスに接続され、ＣＰＵなどの制御部（特許文献１ではシステムＬＳＩ）には接続されていないから、プログラマブルロジックデバイスに、記憶部の読み出し回路を構成しない限り、制御部が、プログラマブルロジックデバイスに接続されている記憶部にアクセスすることができない。
【００１０】
また、プログラマブルロジックデバイスに記憶部の読み出し回路を構成して、制御部が記憶部の回路データを読み出して回路データを精査することも考えられるが、この場合、バージョンアップなどで回路データを正規に更新した場合でも、書き換えを検出してしまう。
【００１１】
そのため、プログラマブルロジックデバイスが通電されて、記憶部に記憶されている回路データに基づいた回路が構成された後、プログラマブルロジックデバイスが実際に動作したときに、制御部が当該プログラマブルロジックデバイスの動作を確認して初めて回路データが不正に書き換えられたことを検出することとなる。
【００１２】
この場合、書き換えられた回路データに基づいた機能が長時間実行されると、プログラマブルロジックデバイスを組み込んだ機器の動作の安定を図る上で不都合である。
【００１３】
本発明は、上記問題を解決するために提案されるものであり、プログラマブルロジックデバイスが駆動するための回路データを記憶した記憶部をアクセスせず、且つ、回路データの不正書き換えを検出するために必要なプログラマブルロジックデバイスの通電時間を短縮して、回路データの不正書き換えを検出することができる不正書き換え検出回路及び画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の一局面に係る不正書き換え検出回路は、プログラマブルロジックデバイスの端子の状態を定義するための情報であって、前記端子を入力端子及び出力端子のうちいずれの端子とするかを表す端子種別を示し、且つ、前記端子種別が前記入力端子である前記端子をプルアップさせるかプルダウンさせるかを表す端子設定を示す状態定義情報、及び、前記プログラマブルロジックデバイスの内部の論理回路を表す論理回路情報からなる、前記プログラマブルロジックデバイスを駆動させるための回路データが予め記憶された第１記憶部と、前記第１記憶部に記憶されている前記回路データを読み込んで、前記端子を当該回路データに含まれる前記状態定義情報で示される状態とするとともに、前記回路データに含まれる前記論理回路情報で表される論理回路を構成して、前記構成した論理回路に基づく動作を開始することにより、プルアップされた前記入力端子をハイレベルにし、プルダウンされた前記入力端子をローレベルにし、前記出力端子を前記構成した論理回路の初期状態に応じた電圧レベルにするプログラマブルロジックデバイスと、前記プログラマブルロジックデバイスに駆動電力を供給する電力供給部と、前記端子に接続され、当該端子の状態を、当該端子がハイレベルであるかローレベルであるかによって検出する端子状態検出部と、前記プログラマブルロジックデバイスにより前記回路データが読み込まれた直後に前記端子がとるべき状態として、前記端子の電圧レベルがハイレベルであるかローレベルであるかを示した状態情報が予め記憶された第２記憶部と、前記電力供給部による前記駆動電力の供給が開始された後、予め設定された期間内に、前記端子状態検出部により検出された端子の状態が、前記第２記憶部に予め記憶されている状態情報で示された状態と異なるか否かを判断し、前記端子状態検出部により検出された端子の状態が、前記第２記憶部に予め記憶されている状態情報で示された状態と異なるときには、前記第１記憶部に記憶されている回路データの不正書き換えを検出する制御部と、を備えることを特徴とする（請求項１）。
【００１５】
この構成によれば、第１記憶部に記憶されている、プログラマブルロジックデバイスの端子の状態を定義するための状態定義情報と、プログラマブルロジックデバイスの内部の論理回路を表す情報とからなる回路データの不正書き換えがあったことを以下のように判断する。
【００１６】
すなわち、この構成によれば、プログラマブルロジックデバイスへの駆動電力の供給が開始されてから予め設定された期間内に、端子状態検出部により検出された、プログラマブルロジックデバイスの端子の状態と、第２記憶部に予め記憶された状態情報で示された、プログラマブルロジックデバイスにより回路データが読み込まれた直後に端子がとるべき状態とが異なるか否かを、制御部により判断する。
【００１７】
この判断の結果、端子状態検出部により検出された端子の状態が、第２記憶部に予め記憶された状態情報で示された状態と異なるときに、制御部は、第１記憶部に記憶されている回路データの不正書き換えを検出する。
【００１８】
これにより、プログラマブルロジックデバイスに駆動電力の供給が開始されてから予め設定された期間内に、当該プログラマブルロジックデバイスの端子の状態を確認して、回路データの不正書き換えを検出することができる。
【００１９】
そのため、プログラマブルロジックデバイスが駆動するための回路データを記憶した記憶部をアクセスせず、且つ、回路データの不正書き換えを検出するために必要なプログラマブルロジックデバイスの通電時間を短縮して、回路データの不正書き換えを検出することができる。
【００２０】
また、端子の状態を検出して、回路データの不正書き換えの有無を判断することができるため、不正書き換えの有無を判断するための専用の端子を必要としない。そのため、汎用のプログラマブルロジックデバイスに接続された記憶部に記憶されている回路データの書き換えの有無を判断することができる。
【００２１】
上記構成において、前記制御部は、前記回路データの不正書き換えを検出したときには、前記プログラマブルロジックデバイスが前記第１記憶部に記憶されている回路データに基づいて駆動することを停止させる駆動停止処理を実行することが好ましい（請求項２）。
【００２２】
この構成によれば、不正書き換えがあったときには、プログラマブルロジックデバイスが第１記憶部に記憶されている回路データに基づいて駆動することが停止する。これにより、回路データの不正な書き換えがあったときに、プログラマブルロジックデバイスがユーザの予期しない処理を開始したとしても、当該プログラマロジックデバイスがユーザの予期しない処理を行う時間を、最小限に抑制することができる。
【００２３】
上記構成において、前記制御部は、前記駆動停止処理として、前記電力供給部による前記プログラマブルロジックデバイスの駆動電力の供給を中止することが好ましい（請求項３）。
【００２４】
この構成によれば、不正書き換えがあったときには、プログラマブルロジックデバイスの駆動電力の供給を中止する。これにより、プログラマブルロジックデバイスが第１記憶部に記憶されている回路データに基づいて駆動することを停止させることができる。
【００２５】
上記構成において、前記プログラマブルロジックデバイスは、リセット信号を受け付けるリセット端子をさらに備え、前記リセット端子が受け付けるリセット信号がアサートされたときにリセットされる構成とされており、前記不正書き換え検出回路は、前記リセット端子に前記リセット信号を出力するリセット信号出力部をさらに備え、前記制御部は、前記駆動停止処理として、前記リセット信号をアサートすることが好ましい（請求項４）。
【００２６】
この構成によれば、不正書き換えがあったときには、プログラマブルロジックデバイスがリセットされて、当該プログラマブルロジックデバイスが内部にロードした回路データがクリアされる。
【００２７】
これにより、プログラマブルロジックデバイスが第１記憶部に記憶されている回路データに基づいて駆動することを停止させることができる。
【００２８】
上記構成において、前記プログラマブルロジックデバイス、前記第１記憶部、前記電力供給部、前記端子状態検出部、前記第２記憶部、及び、前記制御部は、基板上に配置されており、前記プログラマブルロジックデバイスの駆動電力を当該プログラマブルロジックデバイスに供給するための電力ラインが、前記基板の表面に露出することなく内層に配置されていることが好ましい（請求項５）。
【００２９】
この構成によれば、プログラマブルロジックデバイスの駆動電力をプログラマブルロジックデバイスに供給するための電力ラインが、基板の表面に露出することなく内層に配置されている。
【００３０】
これにより、第三者が電力ラインを視認しにくくなるため、第三者が、プログラマブルロジックデバイスの駆動停止処理が行われないように電力ラインを切断することを防止することができる。
【００３１】
上記構成において、前記プログラマブルロジックデバイス、前記第１記憶部、前記電力供給部、前記端子状態検出部、前記第２記憶部、前記制御部、及び、前記リセット信号出力部は、基板上に配置されており、前記リセット信号を前記リセット端子に出力するためのリセット信号ラインが、前記基板の表面に露出することなく内層に配置されていることが好ましい（請求項６）。
【００３２】
この構成によれば、リセット信号をリセット端子に出力するためのリセット信号ラインが、基板の内層に配置されている。
【００３３】
これにより、第三者がリセット信号ラインを視認しにくくなるため、第三者が、プログラマブルロジックデバイスの駆動停止処理が行われないようにリセット信号ラインを細工すること（例えばリセット信号ラインを切断すること）が困難となる。
【００３４】
また、本発明の他の局面に係る画像形成装置は、請求項１乃至請求項６のいずれか一項に記載の不正書き換え検出回路と、原稿の画像を表す画像データに画像処理を施す画像処理部と、前記画像データを記録紙上に形成する画像形成部と、を備えており、前記画像処理部は、前記プログラマブルロジックデバイスで構成されていることを特徴とする
（請求項７）。
【００３５】
この構成によれば、請求項１乃至請求項６のいずれか一項の効果を奏する画像形成装置を提供することができる。
【発明の効果】
【００３６】
本発明によれば、プログラマブルロジックデバイスに駆動電力の供給が開始されてから予め設定された期間内に、当該プログラマブルロジックデバイスの端子の状態を確認して、回路データの不正書き換えを検出することができる。
【００３７】
そのため、プログラマブルロジックデバイスが駆動するための回路データを記憶した記憶部をアクセスせず、且つ、回路データの不正書き換えを検出するために必要なプログラマブルロジックデバイスの通電時間を短縮して、回路データの不正書き換えを検出することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係る画像形成装置の概略断面図である。
【図２】図１に示す画像形成装置の概略構成の一例を示した機能ブロック図である。
【図３】本発明の一実施形態に係る不正書き換え検出回路の概略構成の一例を示した機能ブロック図である。
【図４】図３に示す不正書き換え検出回路の断面を示し、電力ラインの配置を説明するための図である。
【図５】図３に示す不正書き換え検出回路の断面を示し、リセット信号ラインの配置を説明するための図である。
【図６】制御モジュールの動作の一例を示したフローチャートである。
【発明を実施するための形態】
【００３９】
以下、本発明に係る不正書き換え検出回路及び画像形成装置の一実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
【００４０】
図１は、本発明の一実施形態に係る画像形成装置の概略断面図である。図１に示されるように、画像形成装置Ａは、画像読取部２００と装置本体３とを備える。画像読取部２００は、原稿給紙部２１０と、スキャナ部２２０と、ＣＩＳ２３１と、ユーザインタフェース部Ｉと、後述する反転機構を備えてなる。
【００４１】
原稿給紙部２１０は、ＡＤＦ（Ａｕｔｏｍａｔｉｃ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ）を備え、原稿トレイ２１１、ピックアップローラ２１２、プラテン２１３、排紙ローラ２１４及び排紙トレイ２１５を有する。原稿トレイ２１１には、読取対象とされる原稿が載置される。原稿トレイ２１１に載置された原稿は、１枚ずつピックアップローラ２１２によって取り込まれ、間隙を介して順次プラテン２１３へ搬送される。プラテン２１３を経由した原稿は、排紙ローラ２１４によって排紙トレイ２１５へ順次排出される。
【００４２】
前記プラテン２１３の周面に対向する位置のうち、原稿の搬送方向において読取位置Ｐより手前の予め定められた位置には、用紙を検出する図略のタイミングセンサが設置されており、該タイミングセンサの出力要求に基づき、前記読取位置Ｐへの原稿の搬送タイミングが図られる。前記タイミングセンサは、例えばフォトインタラプタにより構成される。
【００４３】
スキャナ部２２０は、原稿の画像を光学的に読み取って画像データを生成するものである。スキャナ部２２０は、ガラス２２１、光源２２２、第１ミラー２２３、第２ミラー２２４、第３ミラー２２５、第１キャリッジ２２６、第２キャリッジ２２７、結像レンズ２２８、ＣＣＤ（Ｃｈａｒｇｅｄ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）２２９を備える。
【００４４】
このスキャナ部２２０は、光源２２２として冷陰極蛍光管等の白色蛍光ランプが用いられ、前記第１ミラー２２３、第２ミラー２２４、第３ミラー２２５、第１キャリッジ２２６、第２キャリッジ２２７及び結像レンズ２２８により、原稿からの光をＣＣＤ２２９に導く。スキャナ部２２０は、光源２２２として冷陰極蛍光管等の白色蛍光ランプを用いて構成されていることから、光源として３色ＬＥＤ等が用いられる後述のＣＩＳ２３１よりも色再現性に優れる。
【００４５】
ガラス２２１には、前記原稿給紙部２１０によらない原稿読取時に、ユーザの手動により原稿が載置される。光源２２２及び第１ミラー２２３は第１キャリッジ２２６によって支持され、第２ミラー２２４及び第３ミラー２２５は第２キャリッジ２２７によって支持されている。
【００４６】
画像読取部２００の原稿読取方式として、ガラス２２１上に載置された原稿をスキャナ部２２０が読み取るフラットベッド読取モードと、原稿を原稿給紙部２１０（ＡＤＦ）によって取り込み、その搬送途中で原稿を読み取るＡＤＦ読取モードがある。
【００４７】
フラットベッド読取モードでは、光源２２２がガラス２２１上に載置された原稿を照射し、主走査方向１ライン分の反射光が第１ミラー２２３、第２ミラー２２４、第３ミラー２２５の順に反射して、結像レンズ２２８に入射する。結像レンズ２２８に入射した光はＣＣＤ２２９の受光面で結像される。
【００４８】
ＣＣＤ２２９は一次元のイメージセンサであり、１ライン分の原稿の画像データを重複して処理する。第１キャリッジ２２６及び第２キャリッジ２２７は、主走査方向と直交する方向（副走査方向、矢印Ｙ方向）に移動可能に構成されており、１ライン分の読み取りが終了すると、副走査方向に第１キャリッジ２２６及び第２キャリッジ２２７が移動し、次のラインの読み取りが行われる。
【００４９】
ＡＤＦ読取モードでは、原稿給紙部２１０が原稿トレイ２１１に載置された原稿をピックアップローラ２１２によって１枚ずつ取り込む。このとき、第１キャリッジ２２６及び第２キャリッジ２２７は、読取窓２３０の下方に位置する予め定められた読取位置Ｐに配置される。
【００５０】
原稿給紙部２１０による原稿搬送で、原稿がプラテン２１３から排紙トレイ２１５への搬送経路に設けられた読取窓２３０上を通過するとき、光源２２２が原稿を照射し、主走査１ライン分の反射光が第１ミラー２２３、第２ミラー２２４、第３ミラー２２５の順に反射して、結像レンズ２２８に入射する。結像レンズ２２８に入射した光はＣＣＤ２２９の受光面で結像される。続いて原稿は原稿給紙部２１０によって搬送され、次のラインが読み取られる。
【００５１】
更に、原稿給紙部２１０は、切換ガイド２１６、反転ローラ２１７及び反転搬送路２１８を備えた原稿反転機構を有する。この原稿反転機構が、１回目のＡＤＦ読み取りによって表面が読み取られた原稿を表裏反転させて読取窓２３０に再搬送することで、再度ＣＣＤ２２９によって裏面の読み取りが行われる。
【００５２】
この原稿反転機構は、両面読み取り時にのみ動作し、片面読み取り時は動作しない。片面読み取り時及び両面読み取り時において裏面の読み取り後、切換ガイド２１６は上側に切り替えられ、プラテン２１３を経た原稿は、排紙ローラ２１４によって排紙トレイ２１５に排紙される。
【００５３】
両面読み取り時における表面読み取り後、切換ガイド２１６は下側に切り替えられ、プラテン２１３を経た原稿は反転ローラ２１７によって反転搬送路２１８へ搬送される。その後、切換ガイド２１６は上側へ切り替わり、反転ローラ２１７が逆回転して原稿をプラテン２１３へ再給紙する。以下、原稿反転機構を用いて原稿の両面を読み取らせるモードを両面反転読取モードと表記する。
【００５４】
更に、本実施形態の画像読取部２００は、ＡＤＦ読取モード時において、前述したように原稿の搬送途中でＣＣＤ２２９（スキャナ部２２０）によって原稿の表面の読み取りを行わせると略重複して（略並行して）、ＣＩＳ２３１によって原稿の裏面の読み取りを行わせることが可能である。この場合、原稿トレイ２１１から原稿給紙部２１０により搬送された原稿は、読取窓２３０上を通過するときにＣＣＤ２２９によって表面が読み取られ、更にＣＩＳ２３１の配置箇所を通過する際に裏面が読み取られる。なお、ＣＩＳ２３１では、光源としてＲＧＢの３色ＬＥＤ等が用いられる。
【００５５】
このようにＣＣＤ２２９とＣＩＳ２３１を用いることで、原稿給紙部２１０による原稿トレイ２１１から排紙トレイ２１５までの一回の原稿搬送操作（ワンパス）によって原稿の表裏両面の読み取りが可能となる。以下、このようにＣＣＤ２２９とＣＩＳ２３１を用いて原稿の両面を読み取らせるモードを両面同時読取モードと表記する。
【００５６】
この両面反転読取モード及び両面同時読取モードは、ＡＤＦ読取モードを用いて原稿の両面読み取りを行う際の読取モードとして備えられている。両面反転読取モードは、両面の印刷画像の画質を揃えたい場合に利用される一方、両面同時読取モードは、両面の印刷画像の画質に差があっても、読取時間の短縮化を優先させたい場合に利用される。なお、本実施形態における画像形成装置Ａは、両面同時読取モードに初期設定されており、前記読取モードのモード設定操作が何も行われないまま画像形成指示が入力された場合には、両面同時読取モードで原稿の画像読取動作が行われるようになっている。
【００５７】
画像処理装置Ａは、装置本体３と、装置本体３の左方に配設されたスタックトレイ６とを有している。装置本体３は、複数の給紙カセット４６１と、給紙カセット４６１から記録紙を１枚ずつ繰り出して画像形成部４０へ搬送する給紙ローラ４６２と、給紙カセット４６１から搬送されてきた記録紙に画像を形成する画像形成部４０とを備える。また、装置本体３は、給紙トレイ４７１と該給紙トレイ４７１に載置された原稿を１枚ずつ画像形成部４０に向けて繰り出す繰り出しローラ４７２とを備える。
【００５８】
画像形成部４０は、感光体ドラム４３の表面から残留電荷を除電する除電装置４２１と、除電後の感光体ドラム４３の表面を帯電させる帯電装置４２２と、スキャナ部２２０で取得された画像データに基づいてレーザ光を出力して感光体ドラム４３の表面を露光し、当該感光体ドラム４３の表面に静電潜像を形成する露光装置４２３と、前記静電潜像に基づいて感光体ドラム４３上に、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）及びブラック（Ｋ）の各色のトナー像を形成する現像装置４４Ｋ，４４Ｙ，４４Ｍ，４４Ｃと、感光体ドラム４３に形成された各色のトナー画像が転写されて重ね合わせされる転写ドラム４９と、転写ドラム４９上のトナー像を用紙に転写させる転写装置４１と、トナー像が転写された用紙を加熱してトナー像を用紙に定着させる定着装置４５とを備えている。
【００５９】
なお、シアン、マゼンタ、イエロー及びブラックの各色に対するトナーの供給は、図略のトナーカートリッジから行われる。また、画像形成部４０を通過した記録紙をスタックトレイ６又は排出トレイ４８まで搬送する搬送ローラ４６３，４６４等が設けられている。
【００６０】
記録紙の両面に画像を形成する場合は、画像形成部４０で記録紙の一方の面に画像を形成した後、この記録紙を排出トレイ４８側の搬送ローラ４６３にニップされた状態とする。この状態で搬送ローラ４６３を反転させて記録紙をスイッチバックさせ、記録紙を用紙搬送路Ｌに送って画像形成部４０の上流域に再度搬送し、画像形成部４０により他方の面に画像を形成した後、記録紙をスタックトレイ６又は排出トレイ４８に排出する。
【００６１】
また、装置本体３の前方には、タッチパネルなどで構成された表示部１０６、及び、各種の操作ボタンを有する操作部１０５が組み込まれたユーザインタフェース部Ｉが、装置本体３の前方に露出するように設けられている。
【００６２】
図２は、図１に示す画像形成装置の概略構成の一例を示した機能ブロック図である。図２に示すように、画像形成装置Ａは、ユーザインタフェース部Ｉ、ＣＰＵ（制御部）１０などを備えて構成されている制御モジュール１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０１、ＲＡＭ（Ｒａｍｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２、画像読取部２００、画像形成部４０、画像データに対して所定の画像処理を施す画像処理部１００、ＬＡＮなどの通信ネットワークに接続するためのネットワークインタフェース１０３、及び、公衆回線を通じたファクシミリ通信を行うためのＦＡＸ通信部１０４を備える。
【００６３】
この画像形成装置Ａにおいて、ＲＯＭ１０１及びＲＡＭ１０２には、この画像形成装置Ａが動作するために必要な各種のデータが記憶されている。
【００６４】
また、この画像形成装置Ａでは、操作部１０５、表示部１０６、画像処理部１００、ネットワークインタフェース１０３、及び、ＦＡＸ通信部１０４は、それぞれ、プログラマブルロジックデバイスの１つであるＦＰＧＡ（Field Programmable Gate Array）を用いて構成されている。
【００６５】
この画像形成装置Ａでは、操作部１０５、表示部１０６、画像読取部２００、画像形成部４０、画像処理部１００、ネットワークインタフェース１０３、及び、ＦＡＸ通信部１０４は、それぞれ、ＦＰＧＡ２として本発明の一実施形態に係る不正書き換え検出回路に組み込まれている。
【００６６】
図３は、本発明の一実施形態に係る不正書き換え検出回路の概略構成の一例を示した機能ブロック図である。
【００６７】
図３に示す不正書き換え検出回路Ｃは、基板Ｂ上に、制御モジュール１、ＦＰＧＡ２、及びＥＥＰＲＯＭ（第１記憶部）４が配置されて構成されている。
【００６８】
ＦＰＧＡ２は、各端子Ｔを入力端子、出力端子、及び、入出力端子のうち、いずれの端子として用いるかを設定可能に構成されている。また、ＦＰＧＡ２は、入力端子、及び、入力状態とされている入出力端子について、プルアップ及びプルダウンのいずれかを設定可能に構成されている。このような設定は後述する回路データにより設定されている。
【００６９】
ＥＥＰＲＯＭ４は、端子Ｔの状態を定義するための状態定義情報と、ＦＰＧＡ２の内部の論理回路を表す論理回路情報とからなる回路データが記憶されている。このＥＥＰＲＯＭ４は、ＦＰＧＡ２に接続されており、ＥＥＰＲＯＭ４に記憶されている回路データがＦＰＧＡ２によって読み込まれる。
【００７０】
ＦＰＧＡ２は、ＥＥＰＲＯＭ４から読み込んだ回路データに基づいて駆動する。この回路データは、状態定義情報において、各端子Ｔについて、ＦＰＧＡ２によって回路データが読み込まれた後に端子Ｔがとるべき状態を示している。
【００７１】
例えば、状態定義情報は、各端子Ｔについて、入力端子、出力端子、及び入出力端子のうち、いずれの端子とするかを表す端子種別を示している。また、状態定義情報は、端子種別が入力端子である端子Ｔ、及び、端子種別が入出力端子である端子Ｔについて、端子Ｔをプルアップさせるか、プルダウンさせるかを表す端子設定を示している。
【００７２】
ＦＰＧＡ２は、以上の回路データを読み込んで、各端子Ｔを、状態定義情報で示される状態とするとともに、回路情報で表される論理回路を構成する。すると、ＦＰＧＡ２において、構成された回路に基づく動作が開始される。そうすると、当該回路の初期状態に応じた信号が出力端子から出力されることになる。
【００７３】
制御モジュール１は、ＣＰＵ１０の他に、電力供給部１１、端子状態検出部１２、リセット信号出力部１３、及び、ＥＥＰＲＯＭ（第２記憶部）１４が配置されている。制御モジュール１において、電力供給部１１、端子状態検出部１２、リセット信号出力部１３，及び、ＥＥＰＲＯＭ１４は、それぞれ、ＣＰＵ１０に接続されており、ＣＰＵ１０により制御される。
【００７４】
尚、本実施形態では、電力供給部１１、端子状態検出部１２、リセット信号出力部１３、及び、ＥＥＰＲＯＭ１４は、制御モジュール１に組み込まれている。しかしながら、本発明ではこの例には限られず、制御モジュール１とは独立して配置されていてもよい。
【００７５】
電力供給部１１は、給電端子Ｔ１を備えており、給電端子Ｔ１には、ＦＰＧＡ２の受電端子Ｔ３が接続されている。電力供給部１１は、電力ラインＬ２を通じて、ＦＰＧＡ２が駆動するための駆動電力を、給電端子Ｔ１から受電端子Ｔ２に向けて供給する。これにより、ＦＰＧＡ２は、駆動電力を受電する。
【００７６】
ＥＥＰＲＯＭ１４は、ＣＰＵ１０が、後述する不正書き換え判断処理を行うために、ＦＰＧＡ２によってＥＥＰＲＯＭ４に記憶されている回路データが読み込まれた直後に各端子Ｔがとるべき状態を示した状態情報を記憶している。
【００７７】
例えば、状態情報は、入力端子、出力端子、及び、入出力端子のいずれかとして設定されている各端子Ｔについて、端子Ｔの電圧レベルがハイレベルであるかローレベルであるかを示している。
【００７８】
端子状態検出部１２は、ＣＰＵ１０とＦＰＧＡ２とに接続されており、ＣＰＵ１０によりＦＰＧＡ２に向けて出力された信号、及び、ＦＰＧＡ２によりＣＰＵ１０に向けて出力された信号を中継する。
【００７９】
また、端子状態検出部１２は、ＦＰＧＡ２の複数の端子Ｔに信号線Ｌ１を通じて接続されており、ＥＥＰＲＯＭ４に記憶されている回路データをＦＰＧＡ２が読み込んだ直後の各端子Ｔの状態を検出する。
【００８０】
端子状態検出部１２は、各端子Ｔの状態を、例えば、以下のように判断する。すなわち、端子状態検出部１２は、各信号線Ｌ１について、信号線Ｌ１の電圧レベルがハイレベルであるかローレベルであるかを検出する。
【００８１】
そして、端子状態検出部１２は、電圧レベルがハイレベルの信号線Ｌ１が接続されている端子Ｔの電圧レベルがハイレベルであることを検出し、電圧レベルがローレベルの信号線Ｌ１に接続されている端子Ｔの電圧レベルがローレベルであることを検出する。
【００８２】
ＣＰＵ１０は、端子状態検出部１２により検出された各端子Ｔの状態によって、回路データの不正な書き換えがあったか否かを検出する。すなわち、ＣＰＵ１０は、各端子Ｔについて端子状態検出部１２により検出された状態が、ＥＥＰＲＯＭ１４に当該端子Ｔについて記憶されている状態と異なるか否かを判断し、異なる場合には、ＥＥＰＲＯＭ４に記憶されている回路データの不正書き換えがあったことを検出する。
【００８３】
リセット信号出力部１３は、リセット信号出力端子Ｔ２を備えており、リセット信号出力端子Ｔ２には、ＦＰＧＡ２のリセット信号入力端子（リセット端子）Ｔ４が接続されている。リセット信号出力部１３は、リセット信号ラインＬ３を通じて、ＦＰＧＡ２をリセットするためのリセット信号を、リセット信号出力端子Ｔ２からリセット信号入力端子Ｔ４に向けて供給する。
【００８４】
リセット信号出力部１３は、ＦＰＧＡ２をリセットする際には、リセット信号を、当該リセット信号が、ハイレベルからローレベル、或いは、ローレベルからハイレベルに切り替わるようにアサートする。ＦＰＧＡ２は、リセット信号入力端子Ｔ４に入力されるリセット信号がアサートされたときにはリセットされて、内部にロードした回路データをクリアする。
【００８５】
図４は、図３に示す不正書き換え検出回路の断面を示し、電力ラインＬ２の配置を説明するための図である。図５は、図３に示す不正書き換え検出回路の断面を示し、リセット信号ラインＬ３の配置を説明するための図である。
【００８６】
図４に示すように、制御モジュール１とＦＰＧＡ２とは、例えば、ＢＧＡ（Ball grid array）パッケージのようなリードレスなパッケージとされている。電力供給部１１は、このようなパッケージに設けられており、当該パッケージの下部に給電端子Ｔ１及び受電端子Ｔ３が配置されている。給電端子Ｔ１と受電端子Ｔ３との間には、基板Ｂの表面に露出せず内層のみに位置する給電ラインＬ２が配置されている。
【００８７】
また、図５に示すように、リードレスなパッケージには、リセット信号出力部１３が設けられており、当該パッケージの下部にリセット信号出力端子Ｔ２及びリセット信号入力端子Ｔ４が配置されている。リセット信号出力端子Ｔ２とリセット信号入力端子Ｔ４との間には、基板Ｂの表面に露出せず内層のみに位置するリセット信号ラインＬ３が配置されている。
【００８８】
以上により、第三者が、電力ラインＬ２やリセット信号ラインＬ３を視認しにくくなり、電力ラインＬ２やリセット信号ラインＬ３が第三者により細工されて、後述する駆動停止処理が阻害されることを防止することができる。
【００８９】
尚、後述する駆動停止処理が阻害されることを防止する観点では、電力供給部１１とＣＰＵ１０との間の制御ラインＬ４や、リセット信号出力部１３とＣＰＵ１０との間の制御ラインＬ５を、基板Ｂの内層に配置してもよい。
【００９０】
以下、不正書き換え判断処理、及び、駆動停止処理を含めた制御モジュール１の動作について説明する。図６は、制御モジュール１の動作の一例を示したフローチャートである。
【００９１】
制御モジュール１は、電力供給部１１により、ＦＰＧＡ２に対する駆動電力の供給を開始する（ステップＳ１）。これにより、ＦＰＧＡ２は、ＥＥＰＲＯＭ４に記憶されている回路データを読み出して当該回路データに基づいた駆動を開始する。
【００９２】
すると、プルアップされた入力端子はハイレベルとなり、プルダウンされた入力端子はローレベルとなり、出力端子は回路の初期状態に応じた信号レベルとなる結果、ＦＰＧＡ２の各端子Ｔでは、電圧レベルがハイレベル及びローレベルのいずれかの状態となる。
【００９３】
ついで、制御モジュール１は、端子状態検出部１２により、ＦＰＧＡ２の各端子Ｔについて、端子Ｔの状態を検出する（ステップＳ２）。端子Ｔの状態の検出手法は、例えば、先述した手法が挙げられる。
【００９４】
ついで、制御モジュール１は、ＣＰＵ１０により、端子状態検出部１２により検出された端子Ｔの状態が、予めＥＥＰＲＯＭ１４に記憶されている端子Ｔの状態と一致するか否かを、各端子Ｔについて判断する（ステップＳ３；不正書き換え判断処理）。
【００９５】
ステップＳ３において、いずれか１つの端子Ｔについて、端子状態検出部１２により検出された端子Ｔの状態が、予めＥＥＰＲＯＭ１４に記憶されている端子Ｔの状態と一致しないときには（ステップＳ４のＮＯ）、ＣＰＵ１０に対して、回路データの不正な書き換えがあったと判断させて、駆動停止処理を行わせる（ステップＳ５）。
【００９６】
一方、ステップＳ３において、全ての端子Ｔについて一致するときには（ステップＳ３のＹＥＳ）、制御モジュール１は駆動停止処理を行わない。そのため、ＦＰＧＡ２は、回路データに基づく駆動を継続し、その結果、回路データに基づく動作を実際に開始する。
【００９７】
ＣＰＵ１０による駆動停止処理（ステップＳ５）は、例えば、以下の処理である。すなわち、ＣＰＵ１０は、制御ラインＬ４を通じて電力供給部１１に、ＦＰＧＡ２に対する駆動電力の供給を中止することを要求する制御信号を出力して、電力供給部１１によるＦＰＧＡ２に対する駆動電力の供給を中止させる。これにより、ＦＰＧＡ２の駆動が中止される。
【００９８】
或いは、ＣＰＵ１０は、制御ラインＬ５を通じてリセット信号出力部１３に、ＦＰＧＡ２に出力されるリセット信号をアサートすることを要求する制御信号を出力して、リセット信号をアサートする。これにより、ＦＰＧＡ２にロードされている回路データがクリアされるため、ＦＰＧＡ２の駆動が中止される。
【００９９】
以上のように、不正書き換え検出回路Ｃによれば、ＦＰＧＡ２により回路データが読み込まれ、各端子Ｔの状態が、状態定義情報或いは回路の初期状態に応じた信号レベルに応じてハイレベル或いはローレベルとなったときに、回路データの不正書き換えの有無を判断する。
【０１００】
そのため、ＦＰＧＡ２への駆動電力の供給が開始された後、ＦＰＧＡ２に構成された回路の状態が初期状態から他の状態に変化するまでの間に、回路データの不正書き換えの有無を検出することができる。
【０１０１】
これにより、ＦＰＧＡ２が駆動するための回路データを記憶したＥＥＰＲＯＭ４をアクセスせず、且つ、回路データの不正書き換えを検出するために必要なＦＰＧＡ２の通電時間を短縮して、回路データの不正書き換えを検出することができる。
【０１０２】
また、不正書き換え検出回路Ｃによれば、回路データの不正な書き換えがあったと判断されたときには駆動停止処理が行われるため、回路データの不正な書き換えがあったときに、ＦＰＧＡ２に構成された回路の状態が初期状態から他の状態に変化するまでの間に、ＦＰＧＡの駆動を停止させることができる。
【０１０３】
そのため、回路データが書き換えられて、ＦＰＧＡ２が、ユーザの予期しない処理を開始したとしても、その処理の実行時間を極力抑制することができる。
【符号の説明】
【０１０４】
Ａ    画像形成装置
Ｂ    基板
Ｃ    不正書き換え検出回路
２    ＦＰＧＡ
４、１４    ＥＥＰＲＯＭ
１０    ＣＰＵ
１１    電力供給部
１２    端子状態検出部
１３    リセット信号出力部
Ｌ２    電力ライン
Ｌ３    リセット信号ライン
Ｔ    端子
【図１】
0005514609.tif 000002
【図２】
0005514609.tif 000003
【図３】
0005514609.tif 000004
【図４】
0005514609.tif 000005
【図５】
0005514609.tif 000006
【図６】
0005514609.tif 000007