(57)【要約】  【課題】  プログラマブル回路をプログラムする（プログラムデータを書き込む）ためのＲＯＭ（シリアルインターフェイスＲＯＭ）が不要となるデータ処理装置を提供する。  【解決手段】  画像処理装置はＣＰＵ１、プログラムメモリ２、ＲＡＭ３、データ変換手段４、画像入力手段５、第１画像処理部６、論理固定手段７、第２画像処理部８、画像メモリ９を備える。プログラムメモリ２はプログラムデータ（ファイルデータ）を記憶する記憶部として機能し、データ変換手段４はファイルデータ（プログラムデータ）のデータ形式を書き込み形式プログラムデータに変換する。書き込み制御部としてのＣＰＵ１により、書き込み形式プログラムデータがプログラマブル回路としての第１画像処理部６へ書き込まれる。【選択図】        図１
2005115699.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータ処理を行うデータ処理部をプログラム可能なプログラマブル回路により構成するデータ処理装置において、
前記プログラマブル回路をデータ処理部として構成するためのプログラムデータを記憶する記憶部と、
前記プログラムデータを前記プログラマブル回路へ書き込むための書き込み形式プログラムデータに変換するデータ変換手段と、
前記書き込み形式プログラムデータを前記プログラマブル回路へ書き込む書き込み制御部と
を備えることを特徴とするデータ処理装置。
【請求項２】
前記書き込み形式プログラムデータを前記プログラマブル回路へ書き込むときに、ユーザモード時に出力端子として設定される前記プログラマブル回路の出力端子の電位を確定する論理固定手段を備えることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記データ変換手段は、前記記憶部に格納する前記プログラムデータを圧縮する機能と、前記記憶部から読み出した圧縮状態のプログラムデータを伸張する機能とを有することを特徴とする請求項１又は２記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理を行うデータ処理部をプログラム可能なプログラマブル回路により構成するデータ処理装置に関する。
【背景技術】
【０００２】
データ処理装置（例えば画像処理装置）において、仕様変更の多いデータ処理部（画像処理部）をプログラム可能なプログラマブル回路（例えば、フィールド・プログラマブル・ゲートアレイ（以下、ＦＰＧＡ））により構成する場合が多くなっている。ＦＰＧＡは、内部にプログラム可能な論理回路（プログラマブル回路）を多数有するゲートアレイである。プログラマブル回路としては一般にＳＲＡＭを用いることが多く、ＳＲＡＭにプログラムを書き込み、そのプログラム（プログラムデータ）に従って、予め用意されている種々の論理ゲート等を結線することにより回路機能を確定している。プログラマブル回路を揮発性のメモリであるＳＲＡＭ構成とすることから、電源投入の都度プログラムデータを書き込んで論理回路を再構築する必要がある。
【０００３】
ＦＰＧＡに所望の論理回路を書き込んでデータ処理部を構成するためには、論理回路を構成するための論理回路書き込み用のプログラムデータ（ファイルデータ）を記憶するシリアルインターフェイスＲＯＭ（リードオンリ−メモリ。読み出し専用メモリ）をＦＰＧＡの外部に設け、電源投入と同時にシリアルインターフェイスＲＯＭからＦＰＧＡにファイルデータを書き込むこと（コンフィギュレーション）が必要になる。つまり、ＡＳＩＣ（特定用途向け専用ＩＣ）、ＧＡ（ゲートアレイ）に比較して高価なＦＰＧＡに加えて、仕様変更の都度、記憶内容を変更したシリアルインターフェイスＲＯＭを準備することが必要になり、更にコストの増大を招いていた。
【０００４】
ＦＰＧＡの論理回路を構成するためのプログラムデータを記憶した（シリアルインターフェイス）ＲＯＭを用いてＦＰＧＡにプログラムデータ（ファイルデータ）を書き込む（ロードする）従来の例は、例えば特許文献１に記載されている。
【特許文献１】特開２００１−１８６０１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したとおり、従来のデータ処理装置においては、プログラム可能なプログラマブル回路を用いてデータ処理部を構成する場合、プログラム用のＲＯＭが別途必要になるという問題があった。
【０００６】
本発明は、かかる事情に鑑みてなされたものであり、プログラマブル回路をプログラムする（プログラムデータを書き込む）ためのＲＯＭ（シリアルインターフェイスＲＯＭ）が不要となるデータ処理装置を提供することを目的とする。
【０００７】
本発明はまた、プログラマブル回路をプログラムする（プログラムデータ（ファイルデータ）を書き込む）ときに、プログラマブル回路の所定の端子（ユーザモード時に出力端子として設定される出力端子）の電位を固定（確定）することにより、プログラムデータ書き込み時での周辺回路の誤動作、破壊を防止するデータ処理装置を提供することを目的とする。
【０００８】
本発明はまた、データ変換手段にプログラムデータを圧縮する機能と伸張する機能を持たせることにより、プログラムメモリへ格納するプログラムデータ量を低減することが可能なデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１発明に係るデータ処理装置は、所定のデータ処理を行うデータ処理部をプログラム可能なプログラマブル回路により構成するデータ処理装置において、前記プログラマブル回路をデータ処理部として構成するためのプログラムデータを記憶する記憶部と、前記プログラムデータを前記プログラマブル回路へ書き込むための書き込み形式プログラムデータに変換するデータ変換手段と、前記書き込み形式プログラムデータを前記プログラマブル回路へ書き込む書き込み制御部とを備えることを特徴とする。
【００１０】
第１発明にあっては、プログラマブル回路をデータ処理部として構成するためのプログラムデータをプログラマブル回路へ書き込むための書き込み形式プログラムデータに変換するデータ変換手段を設ける。また、データ変換手段により変換された書き込み形式プログラムデータをプログラマブル回路へ書き込む書き込み制御部を備えるデータ処理装置としたので、プログラムデータを書き込むためのＲＯＭ（シリアルインターフェイスＲＯＭ）を別途設ける必要がないデータ処理装置となる。
【００１１】
第２発明に係るデータ処理装置は、第１発明に係るデータ処理装置において、前記書き込み形式プログラムデータを前記プログラマブル回路へ書き込むときに、ユーザモード時に出力端子として設定される前記プログラマブル回路の出力端子の電位を確定する論理固定手段を備えることを特徴とする。
【００１２】
第２発明にあっては、プログラマブル回路の出力端子の電位を確定（固定）するので、従来ハイインピーダンスとなって不定であった出力端子を一定のインピーダンスに抑制でき、また端子電位も一定範囲内に抑制できるので、データ書き込み時、周辺回路の誤動作、静電破壊を防止するデータ処理装置となる。
【００１３】
第３発明に係るデータ処理装置は、第１発明又は第２発明に係るデータ処理装置において、前記データ変換手段は、前記記憶部に格納する前記プログラムデータを圧縮する機能と、前記記憶部から読み出した圧縮状態のプログラムデータを伸張する機能とを有することを特徴とする。
【００１４】
第３発明にあっては、プログラムデータを圧縮又は伸張する機能を有するデータ変換手段を備えるので、プログラムデータを圧縮して記憶部に記憶し、また圧縮されたプログラムデータを伸張してプログラマブル回路へ書き込むので、プログラムデータに対応して記憶部で必要となるメモリ容量を抑制したデータ処理装置となる。また、プログラムデータの大容量化に対応するデータ処理装置となる。
【発明の効果】
【００１５】
本発明によれば、プログラムデータ（ファイルデータ）を書き込む（コンフィギュレーション）ときに必要なプログラム書き込み用のＲＯＭ（シリアルインターフェイスＲＯＭ）が不要となり、例えば、ＣＰＵ（中央演算処理装置）にシステムバスを介して接続されたシステム用メモリにプログラムデータを格納しておくことで、プログラマブル回路への書き込みを実現できる。従って、特に、ＦＰＧＡが複数個実装されるようなデータ処理装置（データ処理システム）では実装構造を簡略化でき、実装コスト、製品コストを大きく低減することができる。
【００１６】
本発明によれば、プログラマブル回路のコンフィギュレーションをするときに、ユーザモード時に出力端子として設定されるプログラマブル回路の出力端子の電位を確定（固定）することにより、コンフィギュレーション時の周辺回路の誤動作、破壊を防止することができるデータ処理装置を実現できる。
【００１７】
本発明によれば、データ変換部は圧縮伸張機能を有することから、記憶部に格納するプログラムデータ量を低減することができるので、プログラマブル回路をプログラムするためのプログラムデータが大容量になった場合においても、対応する事が可能となり、同一機能であればメモリ容量の低減ができ、また同一のメモリ容量の場合にはコンフィギュレーション可能なプログラマブル回路の規模を大きくすることができ、結果的に全体としてコストの低減及び動作の安定性が確保できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明をその実施の形態を示す図面に基づいて説明する。
【００１９】
図１は本発明の実施の形態に係るデータ処理装置の概略ブロック図である。本発明に係るデータ処理装置は具体的には例えば画像処理装置として構成される。画像処理装置はＣＰＵ１、プログラムメモリ２、ＲＡＭ３、データ変換手段４、画像入力手段５、第１画像処理部６、論理固定手段７、第２画像処理部８、画像メモリ９などを備え、それぞれはバス（システムバス）１０を介して所定の信号の送受を行い画像処理装置（例えば、スキャナ、複写機）として動作する。また、第１画像処理部６とデータ変換手段４とを直接的に接続するシリアルバス１１を備えている。
【００２０】
ＣＰＵ１は、中央演算処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、バス１０を介して他の部分を制御することによりデータ処理装置全体の動作を制御するものである。ＣＰＵ１は、後述する書き込み形式プログラムデータをプログラマブル回路である第１画像処理部６に書き込むための書き込み制御部として機能する。プログラムメモリ２は、例えば不揮発性メモリであるＦＬＡＳＨメモリにより構成され、画像処理装置が動作するのに必要な制御プログラムや、制御データが記憶されているものであり、本実施の形態では、プログラムデータ（ファイルデータ）を記憶する記憶部としても機能する。プログラムデータ（ファイルデータ）とは、ＰＯＦ（プログラマブル・オブジェクト・ファイル）ともいわれ、プログラマブル回路（論理回路）をデータ処理部として構成するための書き込み用プログラムをいう。ＲＡＭ３は、画像処理装置の動作時に一時的に発生するデータを一時的に記憶する一時記憶装置である。
【００２１】
画像入力手段５は、例えばスキャナ（画像読み取り手段）であり、光電変換素子と信号転送を行うＣＣＤ（電荷結合装置）により構成される固体撮像装置及び固体撮像装置からのアナログ画像信号をデジタル画像信号に変換するＡＤコンバータなどで構成され、ＣＰＵ１による制御に従って、デジタル画像信号を生成し、デジタル画像信号を第１画像処理部６へ出力するものである。
【００２２】
第１画像処理部６及び第２画像処理部８は画像入力手段５から出力されたデジタル画像信号に対して、例えばシェーディング補正、平滑化処理、エッジ強調、拡大／縮小の処理、階調処理などのいわゆる画像処理を行うものである。第１画像処理部６は、仕様変更が生じやすい部分を構成するプログラマブル回路であり、ここではフィールド・プログラマブル・ゲートアレイ（以下、ＦＰＧＡ）を用いて構成されている。第１画像処理部６をＦＰＧＡで構成することにより、ハードウエアを変更せずに仕様の変更に容易に対応することが可能となる。つまり、ＦＰＧＡを構成するＳＲＡＭにプログラム（ファイルデータ）を書き込み、そのプログラム（プログラムデータ）に従って、予め用意されている種々の論理ゲート等を結線することにより所望の回路機能（第１画像処理部６）を確定している。
【００２３】
第２画像処理部８は、第１画像処理部６に比較して仕様変更のほとんどない生じない部分を構成するものであり、例えばＡＳＩＣ（特定用途向けＩＣ）を用いて構成されている。また、第２画像処理部８は本実施の形態では本質的な意味を持たないので、以下の説明では適宜省略することがある。
【００２４】
第１画像処理部６及び第２画像処理部８の間には後述する論理固定手段７が接続されている。なお、第１画像処理部６と第２画像処理部８を共にＦＰＧＡにより構成して一体化することも可能であるが、その場合には第２画像処理部８の出力側に論理固定手段７を接続すれば良い。
【００２５】
第１画像処理部６及び第２画像処理部８により所定の画像処理（データ処理）をされたデジタル画像信号は画像メモリ９に一時的に記憶される。つまり、画像メモリ９は画像入力手段５で得られた画像データに所定の画像処理を施した画像データをデジタル画像信号として記憶するものである。画像メモリ９に記憶されたデジタル画像信号は、必要に応じて図示しない出力手段（例えばプリンタ回路、通信手段）を介して出力することができる。画像メモリ９は通常ＤＲＡＭで構成される。
【００２６】
データ変換手段４はファイルデータ（プログラムデータ）をプログラマブル回路（ＦＰＧＡ）としての第１画像処理部６に書き込むために、ファイルデータ（プログラムデータ）のデータ形式をプログラマブル回路へ書き込むための書き込み形式プログラムデータに変換するものである。ＦＰＧＡで構成される第１画像処理部６を画像処理部（データ処理部）として機能させるためには、画像処理装置の電源を投入する都度、ファイルデータをＦＰＧＡに書き込む（コンフィギュレーションをする）必要がある。このとき、プログラムメモリ２に記憶されているファイルデータは通常パラレル信号形式であり、ＦＰＧＡに書き込む信号はシリアル信号形式であるから、信号形式が異なるので正常に動作させるにはパラレル・シリアル変換（ハンドシェイク可能なクロック同期転送による変換）をして信号形式を一致させる必要がある。つまり、データ変換手段４はＣＰＵ１の制御に従って、パラレル・シリアル変換を制御する機能を有する。なお、データ形式の変換の種類はパラレル・シリアル変換に限らず、その他の変換形式の場合（例えばＪＴＡＧ規格）でも同様に適用可能であることは言うまでもない。また、データ変換手段４は、プログラムデータを圧縮又は伸張する機能を有することにより、記憶部としてのプログラムメモリ２の記憶容量に応じた容量のプログラムデータとすることができる。すなわち、データ変換手段４の圧縮／伸張機能を利用することにより、プログラムデータを圧縮した状態でプログラムメモリ２に格納し、コンフィギュレーションをするときには、プログラムメモリ２から読み出した圧縮状態のプログラムデータを伸張すると共にパラレル・シリアル変換し、変換後のプログラムデータを第１画像処理部６にロードすることができる。
【００２７】
画像処理装置の電源が投入されると、ＣＰＵ１によりプログラムメモリ２から読み出されたファイルデータは、データ変換手段４に入力されてデータ形式を変換され、第１画像処理部６へ入力されてＦＰＧＡのコンフィギュレーション（プログラムデータの書き込みによる論理回路の構成）を行う。コンフィギュレーション及びイニシャライズをする場合に、ユーザモード（通常の画像処理装置として動作するモード）時に第１画像処理部６の出力端子となる端子（プログラマブル回路（ＦＰＧＡ）の出力端子）はハイインピーダンス状態となることから、周辺回路の誤動作、破壊の原因となる。そこで、本実施の形態では、第１画像処理部６の出力端子（コンフィギュレーションで使用する出力端子、又は、システムバス１０に接続されている端子以外の出力端子）に論理固定手段７を接続することにより、コンフィギュレーション及びイニシャライズをする場合に、予め第１画像処理部６の所定の出力端子の電位をハイ、又はローのいずれかの論理状態に固定する。例えば、論理固定手段７は、所定の出力端子にプルアップ抵抗、又はプルダウン抵抗を接続することにより構成する。第１画像処理部６の出力端子の電位を固定することにより周辺回路の誤動作、破壊を防止することができる。なお、出力端子以外の端子においても必要に応じて電位を固定し得ることはいうまでもない。
【００２８】
システムバス１０に接続されたプログラムメモリ２にコンフィギュレーションをするためのファイルデータを記憶し、ＣＰＵ１の制御に従って、データ変換手段４を介して第１画像処理部６としてのＦＰＧＡへファイルデータを書き込むことにより、ＦＰＧＡへのプログラム書き込み用のシリアルインターフェイスＲＯＭを不要とすることができる。特に、ＦＰＧＡを複数個用いて画像処理装置を構成する場合には、ＦＰＧＡの個数に応じたシリアルインターフェイスＲＯＭを不要にすることができるので、構成部品を低減した画像処理装置を実現でき、信頼性の向上、実装コストの低減を図ることができる。
【００２９】
図２は本発明の実施の形態に係るデータ処理装置でのコンフィギュレーションの概略フローチャートである。
【００３０】
ステップ１（Ｓ１）：まず、ＣＰＵ１は記憶部としてのプログラムメモリ２からファイルデータ（プログラムデータ）を読み出し、読み出したファイルデータをバス１０を介してデータ変換部４へ入力（転送）する。
【００３１】
ステップ２（Ｓ２）：パラレル形式のファイルデータを入力されたデータ変換部４はファイルデータのデータ形式を第１画像処理部６への書き込みができるデータ形式であるシリアル形式に変換する。データ形式の変換は上述したパラレル・シリアル変換が一般的であるが、特にこの変換形式に限るものではない。このとき、データ変換部４に入力されたファイルデータが圧縮データである場合、データ変換部４は伸張処理を行った後にデータ形式の変換処理を行う。
【００３２】
ステップ３（Ｓ３）：第１画像処理部６への書き込みをする前に、論理固定手段７を用いてＦＰＧＡ（フィールド・プログラマブル・ゲートアレイ）の出力端子の電位を固定する。論理固定手段７はＣＰＵ１により適宜制御される形態にしても良いし、ＣＰＵ１によらず、適宜の切り換え手段を設けて、電位を固定するようにしても良い。図ではバス１０を介してＣＰＵ１からの制御を受ける場合を示す。
【００３３】
ステップ４（Ｓ４）：第１画像処理部６として機能することになるＦＰＧＡ（フィールド・プログラマブル・ゲートアレイ）へ、シリアルバス１１を介して、データ変換手段４によりデータ形式を変換されたファイルデータを書き込むことにより、コンフィギュレーションを実行する。この際の書き込み制御はＣＰＵ１が書き込み制御部として機能することにより行われる。
【００３４】
ステップ５（Ｓ５）：ＣＰＵ１は適宜ファイルデータの書き込み状況を確認し終了したか否かを判断する。ファイルデータの書き込みが終了すれば（Ｓ５：ＹＥＳ）、コンフィギュレーションは終了する。ファイルデータの書き込みが終了していない場合（Ｓ５：ＮＯ）には、ステップ４へ戻り書き込みを継続する。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施の形態に係るデータ処理装置の概略ブロック図である。
【図２】本発明の実施の形態に係るデータ処理装置でのコンフィギュレーションの概略フローチャートである。
【符号の説明】
【００３６】
１  ＣＰＵ（書き込み制御部）
２  プログラムメモリ（記憶部）
３  ＲＡＭ
４  データ変換手段
５  画像入力手段
６  第１画像処理部（データ処理部）
７  論理固定手段
８  第２画像処理部
９  画像メモリ
１０  バス
【図１】
2005115699.tif 000003
【図２】
2005115699.tif 000004