"メモリへのリードまたはライト動作を直接行うためのリードライト兼用のDMAコントローラと、データの暗号化または復号を行うための暗号器と、前記メモリからの転送データまたは外部記憶メディアからの転送データを一時保存するためのSRAMと、前記暗号器と前記SRAMとの間のデータ授受を行うためのメモリ制御モジュールと、前記外部記憶メディアと前記SRAMとの間のデータ授受を行うためのインターフェース制御モジュールと、前記暗号器に対するテストモードを設定するモード選択部と、テストモード中の前記DMAコントローラの動作を制御するDMAコントローラ制御部と、テストモード中の前記暗号器の動作を制御する暗号器制御部とを有し、テストモード時に前記暗号器を通して前記メモリと前記SRAMとの間でテストデータの読み取り、書き込みを往復で行うように前記DMAコントローラの転送方向を切り替え制御して前記暗号器の暗号化、復号に関するテストを行わせるテスト回路と、を備えることを特徴とするインターフェース回路。前記暗号器制御部は、テストモード中の暗号化テスト時には、前記メモリから読み取られるテストデータは暗号化して前記SRAMに書き込ませ、該SRAMから読み取られる暗号化されたテストデータはスルーして前記メモリに書き戻させるように前記暗号器を制御することを特徴とする請求項1に記載のインターフェース回路。前記暗号器制御部は、テストモード中の復号テスト時には、前記メモリから読み取られる暗号化されたテストデータはスルーして前記SRAMに書き込ませ、該SRAMから読み取られる暗号化されたテストデータは復号して前記メモリに書き戻させるように前記暗号器を制御することを特徴とする請求項1に記載のインターフェース回路。前記テスト回路は、テストモード時にデータの読み取りアドレスを保持する読み取りアドレス保持部と、テストモード時にデータの書き込みアドレスを保持する書き込みアドレス保持部と、テストモード時に転送すべきデータサイズを設定するテストデータサイズ保持部と、テストモード時に前記メモリへの書き戻しを行ったサイズを保持する書き込みデータカウンタと、テストモード時に該書き込みカウンタがテストデータサイズと同じになると完了をソフトウェアに通知する完了通知部と、を備えることを特徴とする請求項1~3のいずれか1つに記載のインターフェース回路。前記完了通知部は、完了通知を割り込みで発生させることを特徴とする請求項4に記載のインターフェース回路。前記完了通知部は、完了通知をレジスタで通知することを特徴とする請求項4に記載のインターフェース回路。前記読み取りアドレス保持部と前記書き込みアドレス保持部を1つのアドレス保持部で構成し、前記メモリ上の入力データへ出力データを上書きすることを特徴とする請求項4に記載のインターフェース回路。前記読み取りアドレス保持部と前記書き込みアドレス保持部を1つのアドレス保持部で構成し、前記メモリ上の入力データの位置からテストデータサイズ分アドレスが進んだ位置へ出力データを出力することを特徴とする請求項4に記載のインターフェース回路。前記完了通知部は、一度のリードライト動作毎に出力完了通知を行い、データ転送を一時中断するように動作制御することを特徴とする請求項4に記載のインターフェース回路。前記DMAコントローラを備え、外部記憶メディアが接続される請求項1~9のいずれか1つに記載のインターフェース回路と、ソフトウェアに従い当該装置の全体制御を司る動作制御を行うCPUと、各種データを記憶し前記CPUまたは前記DMAコントローラからアクセス可能なメモリと、原稿画像を読み取るスキャナと、画像データに従い印刷出力するプロッタと、を備えることを特徴とする画像形成装置。暗号器を有するLSIでは、暗号器の正当性を確保するために、起動時に暗号器の動作確認テストを実施しなければならない。この場合、暗号器を利用し外部記憶メディアへ一度出力を行い、それを再度メモリへ読み込み、用意した期待値と一致するか否かを比較する方法がとられる。外部記憶メディアは、駆動系が安定動作するまで待つ必要があるものがあり、また、動作前に初期化を行う必要があるものもある。これらの処理には比較的時間がかかることは周知の事実である。よって、起動時にこの処理を行うと、機器をユーザが利用するまでの時間起動時間が大幅に長くなってしまい、ユーザの利便性を著しく損なうものとなる。本発明は、上記に鑑みてなされたものであって、外部記憶メディアの状態にかかわらず暗号器の正当性の確認を行うことができるインターフェース回路および画像形成装置を提供することを目的とする。上述した課題を解決し、目的を達成するために、本発明は、メモリへのリードまたはライト動作を直接行うためのリードライト兼用のDMAコントローラと、データの暗号化または復号を行うための暗号器と、前記メモリからの転送データまたは外部記憶メディアからの転送データを一時保存するためのSRAMと、前記暗号器と前記SRAMとの間のデータ授受を行うためのメモリ制御モジュールと、前記外部記憶メディアと前記SRAMとの間のデータ授受を行うためのインターフェース制御モジュールと、前記暗号器に対するテストモードを設定するモード選択部と、テストモード中の前記DMAコントローラの動作を制御するDMAコントローラ制御部と、テストモード中の前記暗号器の動作を制御する暗号器制御部とを有し、テストモード時に前記暗号器を通して前記メモリと前記SRAMとの間でテストデータの読み取り、書き込みを往復で行うように前記DMAコントローラの転送方向を切り替え制御して前記暗号器の暗号化、復号に関するテストを行わせるテスト回路と、を備えることを特徴とする。また、本発明は、前記DMAコントローラを備え、外部記憶メディアが接続される上記発明のいずれか一に記載のインターフェース回路と、ソフトウェアに従い当該装置の全体制御を司る動作制御を行うCPUと、各種データを記憶し前記CPUまたは前記DMAコントローラからアクセス可能なメモリと、原稿画像を読み取るスキャナと、画像データに従い印刷出力するプロッタと、を備えることを特徴とする。本発明によれば、外部記憶メディアの状態にかかわらず暗号器の正当性の確認を行うことができるインターフェース回路および画像形成装置を提供することができる。以下に、本発明にかかるインターフェース回路および画像形成装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。図1は、本実施の形態の画像形成装置の構成例を示す概略ブロック図である。本実施の形態の画像形成装置は、ソフトウェアに従い当該画像形成装置の全体の制御を司るように動作制御するCPU1を備えている。また、CPU1や後述のDMAコントローラからアクセス可能で各種データを記憶するメモリ2の他、スキャナ3、プロッタ4、外部記憶メディア5、FAX6、ネットワーク7等の複数の画像処理アルゴリズムモジュールを備えている。スキャナ3は、原稿画像を読み取るデバイスである。プロッタ4は、画像データを印刷出力するデバイスである。FAX6は、接続されたファクシミリ回線網に従いファクシミリ通信を行うためのデバイスである。ネットワーク7は、パソコン等の機器との間データの授受を行うためのLANLocalAreaNetwork等の通信回線網である。CPU1は、アクセス制御を行うCPUI/Fインターフェース11を介してデータバス19に接続されている。同様に、メモリ2、スキャナ3、プロッタ4、外部記憶メディア5、FAX6、ネットワーク7は、各々、アクセス制御を行うメモリI/F12、スキャナ入力部13、プロッタ出力部14、外部メディアIF15、FAXI/F16、ネットワークI/F17を介してデータバス19に接続されている。これらのCPUI/F11等のアクセス制御部は、ASICApplicationSpecificIC10構成とされている。ASIC10中には、画像データの向きを回転させる回転器18も内蔵されている。図2は、外部メディアIF15の構成例を示す概略ブロック図である。外部メディアIF15は、USBメモリのような外部記憶メディア5へのアクセス制御を行うもので、本実施の形態のインターフェース回路を構成する。本実施の形態の外部メディアIF15は、SRAMStaticRAM151と、リードライト兼用のDMAコントローラ152と、暗号器153と、IF制御部160とから構成されている。SRAM151は、メモリ2から読み込み、外部記憶メディア5へ転送する際に一時バッファとして利用されるメモリである。これは、外部記憶メディア5へのデータ転送は、一般的に、ある一定量のデータを連続して送る必要があるからである。DMAコントローラ152は、メモリ2へのデータリードまたはデータライトを、CPU1を介さずに直接行うためのものである。通常、外部記憶メディア5はリード動作、ライト動作を排他で行う。そこで、回路規模を小さくするために、通常は、リードライト兼用のDMAコントローラ152を利用する。暗号器153は、DMAコントローラ152により読み込まれたデータの暗号化を行ったり、外部記憶メディア5から読み込まれた暗号化データを復号してDMAコントローラ152に渡したりするデータ暗号化復号を行う機能部である。IF制御部160は、外部記憶メディア5へアクセスを行うためのインターフェースを制御するブロックである。図3は、IF制御部160の構成例を示す概略ブロック図である。本実施の形態のIF制御部160は、メモリ制御モジュール161、IF制御モジュール162に加えて、テスト回路170を含む構成とされている。メモリ制御モジュール161は、暗号器153とのインターフェースを行う機能部である。すなわち、メモリ制御モジュール161は、暗号器153を制御してDMAコントローラ152からデータを取得しSRAM151へ格納する、または、SRAM151からデータを取得し暗号器153を制御してDMAコントローラ152へデータを格納する機能を有する。IF制御モジュール162は、外部記憶メディア5とのインターフェースを行う機能部である。すなわち、IF制御モジュール162は、SRAM151からデータを取得して外部記憶メディア5へ転送する、または、外部記憶メディア5からデータを取得してSRAM151へ格納する機能を有する。テスト回路170は、モード選択部171、IF動作制御部172、暗号器制御部173、DMAコントローラ制御部174、読み取りアドレス保持部175、書き込みアドレス保持部176、テストデータサイズ保持部177、データカウンタ178および完了通知部179を有する。モード選択部171は、暗号器テストを行うか否かを選択するスイッチの役割をなす。モードとしては、通常転送モードと暗号器テストモードとを選択できる。通常転送モードは、テストを行わず通常の転送を行うモードである。暗号器テストモードは、暗号器153の動作を確認するときに選択するモードである。IF動作制御部172は、モード選択により暗号器テストモードが選択されると、IF制御モジュール162を停止し、メモリ制御モジュール161を後述する制御フローに従い動作させる機能を果たす。暗号器制御部173は、暗号器153の動作モードを選択する機能部である。暗号器153は、暗号化復号スルーの3つの動作モードを有する。暗号器制御部173は、これらのモードを後述する制御フローに従い制御する。DMAコントローラ制御部174は、リードライト兼用のDMAコントローラ152の転送方向を制御する機能部である。完了通知部179は、テスト回路170の動作が完了したことをソフトウェアに通知する機能部である。読み取りアドレス保持部175は、ソフトウェアから設定され、テストデータがあるアドレスを保持する。書き込みアドレス保持部176は、ソフトウェアから設定され、テスト結果を書き込むアドレスを保持する。テストデータサイズ保持部177は、ソフトウェアから設定され、テストデータのサイズを保持する。書き込みデータカウンタ178は、書き込み終わったデータ数を保持する。書き込みデータカウンタ178のカウント値とテストデータサイズの保持値とが同じになったときが、書き込み終了の条件となる。図4は、CPU1により実行されるソフトウェアの制御を示す概略フローチャートである。ソフトウェアは、まず、テスト用の入力データと期待値データ暗号化結果とをメモリ2上に用意するステップS1,S2。また、出力データを置くための出力先メモリ領域を確保するステップS3。さらに、テスト回路170の動作モードを暗号器テストモードに設定するステップS4。そして、メモリ2上に用意したテスト用入力データの最初のアドレスを読み込みアドレス保持部175に設定するステップS5。同様に、メモリ2上に確保した出力データの出力先の最初のアドレスを書き込みアドレス保持部176に設定するステップS6。さらに、メモリ2上に用意したテスト用入力データのデータサイズをテストデータサイズ保持部177に設定するステップS7。これらの設定が完了した後、テスト回路170を起動させるステップS8。その後、テスト回路170からテスト完了通知を受けるとステップS9、出力データと期待値データとの比較を行いステップS10、不一致の場合にはステップS11:Yes、所定のエラー処理を行い、出力データと期待値データとが一致した場合にはステップS11:No、暗号器153が正常に動作していると判断できるため、テストを終了する。図5は、テスト回路170が暗号器153の暗号化機能をテストする場合の動作制御例を示す概略フローチャートである。テスト回路170は、起動されると、モードが暗号化テストモードであるか否かを判定するステップS101。暗号化テストモードでない場合にはステップS101:No、暗号化確認テストを行わずに処理を終了する。暗号化テストモードに設定されている場合にはステップS101:Yes、暗号化テストを実行する。暗号化テストは、以下の手順で実行される。まず、入力データを読み込み、暗号化して、SRAM151へ保存する動作を行う。DMAコントローラ制御部174は、DMAコントローラ152にメモリリードの設定を行いステップS103、SRAM151に保持できるデータサイズ分の転送が行われるようにDMAコントローラ152に転送サイズを設定するステップS104。また、同時に、読み取りアドレス保持部175に保持されているアドレスを読み取り開始アドレスとしてDMAコントローラ152に通知する。ついで、暗号器制御部173により、暗号器153を暗号化モードに設定するステップ105。また、IF動作制御部172により、IF制御モジュール162がSRAM151からデータを読み込まないように動作を停止させるステップS106とともに、メモリ制御モジュール161がメモリリード動作を行うように設定するステップS107。ついで、DMAコントローラ制御部174により、DMAコントローラ152を起動するステップS108。DMAコントローラ152は、設定された読み取り開始アドレスから設定されたデータサイズ分のデータをメモリ2から読み込み、暗号器153へ転送するステップS109,S110。暗号器153は、受け取ったデータを暗号化してメモリ制御モジュール161に転送するステップS111。メモリ制御モジュール161は、暗号器153から転送された暗号化データをSRAM151へ書き込むステップS112。転送が完了すると、テスト回路170は、読み取りアドレスについても、転送したデータサイズ分のアドレスを加算するステップS113。次に、SRAM151に書き込まれた暗号化データをメモリ2へ書き戻す。まず、DMAコントローラ制御部174は、DMAコントローラ152をメモリライトに設定しステップS121、SRAM151に保持されたデータ分の転送が行われるように転送サイズの設定を行うステップS122。また、同時に、書き込みアドレス保持部176に保持されているアドレスを書き込み開始アドレスとしてDMAコントローラ152へ通知する。また、暗号器制御部173により、暗号器153をスルーモードに設定するステップS123。また、IF動作制御部172により、IF制御モジュール162がSRAM151へデータを書き込まないように動作を停止させるステップS124とともに、メモリ制御モジュール161がメモリライト動作を行うように設定するステップS125。そして、DMAコントローラ制御部174によりDMAコントローラ152を起動するステップS126。まず、メモリ制御モジュール161はSRAM151からデータを読み込み、暗号器153へ転送するステップS127,S128。暗号器153は、受け取ったデータをそのままDMAコントローラ152へ転送スルーするステップS129。DMAコントローラ152は、設定された書き込み開始アドレスから設定されたデータ分のデータをメモリ2へ書き込むステップS130。転送が完了すると、データカウンタ178は、書き込みデータサイズ分だけ加算するステップS131とともに、テスト回路170は、書き込みアドレスについても、転送したデータサイズ分のアドレスを加算するステップS132。以上のような、メモリ2からの読み込みとメモリ2への書き込み動作を、テストデータサイズ保持部177に保持された値と、データカウンタ178の値とが同じになるまで繰り返すステップS102。全てのデータ転送が完了すると、テスト回路170は、完了通知部179によりソフトウェアに対して完了を通知するステップS133。図6は、テスト回路170が暗号器153の復号機能をテストする場合の動作制御例を示す概略フローチャートである。入力データが暗号化データ、期待値データが復号結果に置き換わる以外は、図5に示したフローチャートの場合と同様である。まず、テスト回路170は、起動されると、モードが復号テストモードであるか否かを判定するステップS151。復号テストモードでない場合にはステップS151:No、復号確認テストを行わずに処理を終了する。復号テストモードに設定されている場合にはステップS151:Yes、復号テストを実行する。復号テストは、以下の手順で実行される。まず、暗号化された入力データを読み込み、暗号化されたデータをそのままSRAM151へ保存する動作を行う。DMAコントローラ制御部174は、DMAコントローラ152にメモリリードの設定を行いステップS153、SRAM151に保持できるデータサイズ分の転送が行われるようにDMAコントローラ152に転送サイズを設定するステップS154。また、同時に、読み取りアドレス保持部175に保持されているアドレスを読み取り開始アドレスとしてDMAコントローラ152に通知する。ついで、暗号器制御部173により、暗号器153をスルーモードに設定するステップ155。また、IF動作制御部172により、IF制御モジュール162がSRAM151からデータを読み込まないように動作を停止させるステップS156とともに、メモリ制御モジュール161がメモリリード動作を行うように設定するステップS157。ついで、DMAコントローラ制御部174により、DMAコントローラ152を起動するステップS158。DMAコントローラ152は、設定された読み取り開始アドレスから設定されたデータサイズ分のデータをメモリ2から読み込み、暗号器153へ転送するステップS159,S160。暗号器153は、受け取ったデータをスルーしてそのままメモリ制御モジュール161に転送するステップS161。メモリ制御モジュール161は、暗号器153からそのまま転送された暗号化データをSRAM151へ書き込むステップS162。転送が完了すると、テスト回路170は、読み取りアドレスについても、転送したデータサイズ分のアドレスを加算するステップS113。次に、SRAM151に書き込まれた暗号化データを復号してメモリ2へ書き戻す。まず、DMAコントローラ制御部174は、DMAコントローラ152をメモリライトに設定しステップS171、SRAM151に保持されたデータ分の転送が行われるように転送サイズの設定を行うステップS172。また、同時に、書き込みアドレス保持部176に保持されているアドレスを書き込み開始アドレスとしてDMAコントローラ152へ通知する。また、暗号器制御部173により、暗号器153を復号モードに設定するステップS173。また、IF動作制御部172により、IF制御モジュール162がSRAM151へデータを書き込まないように動作を停止させるステップS174とともに、メモリ制御モジュール161がメモリライト動作を行うように設定するステップS175。そして、DMAコントローラ制御部174によりDMAコントローラ152を起動するステップS176。まず、メモリ制御モジュール161はSRAM151から暗号化データを読み込み、暗号器153へ転送するステップS177,S178。暗号器153は、受け取った暗号化データを復号してDMAコントローラ152へ転送するステップS179。DMAコントローラ152は、設定された書き込み開始アドレスから設定されたデータ分のデータをメモリ2へ書き込むステップS180。転送が完了すると、データカウンタ178は、書き込みデータサイズ分だけ加算するステップS181とともに、テスト回路170は、書き込みアドレスについても、転送したデータサイズ分のアドレスを加算するステップS182。以上のような、メモリ2からの読み込みとメモリ2への書き込み動作を、テストデータサイズ保持部177に保持された値と、データカウンタ178の値とが同じになるまで繰り返すステップS152。全てのデータ転送が完了すると、テスト回路170は、完了通知部179によりソフトウェアに対して完了を通知するステップS183。完了通知を割り込みで発生させることで、ソフトウェアは、テスト回路170を起動後、テスト完了の割り込みが発生するまで、他の処理を容易に行うことができる。なお、完了通知は、レジスタで通知するようにしてもよい。この場合、完了通知レジスタの初期化をテスト回路起動と同時に行う。上述したように、本実施の形態によれば、テストモード時に暗号器153を通してメモリ2とSRAM151との間でテストデータの読み取り、書き込みを往復で行うようにDMAコントローラ152の転送方向を切り替え制御して暗号器153の暗号化、復号に関するテストを行わせるテスト回路170を備え、DMAコントローラ152の転送方向を自動で切り替えながらメモリ2とSRAM151との間でテストデータを往復転送するようにしたので、外部記憶メディア5を使用しないため、外部記憶メディア5の状態にかかわらず暗号器153の正当性の確認を行うことができる。変形例1図7は、本実施の形態の変形例1の構成例を示す概略ブロック図である。本変形例のテスト回路180は、読み込みアドレス保持部175と書き込みアドレス保持部176とを1つのアドレス保持部181にまとめたものである。暗号器153による暗号化は、通常、データサイズが変わらないため、以下のような条件を追加することにより、ソフトウェアの設定を減らすことができる。一つ目は、ソフトウェアが入力データと出力先領域を連続して確保することを条件に、出力先アドレスをアドレス保持データサイズ保持とすることで計算させる方法である。すなわち、メモリ2上の入力データの位置からテストデータサイズ分だけアドレスが進んだ位置へ出力データを出力させるようにすればよい。二つ目は、入力データの読み込みに対して、結果の出力は必ず遅れるため、入力データのあった場所を出力先に指定する方法である。すなわち、メモリ2上の入力データへ出力データを上書きするようにすればよい。このようにすることで、出力先に確保するメモリ領域を削減できる。変形例2本実施の形態の変形例2は、1回のメモリリードメモリライト毎に出力完了通知を行うようにしたものである。図8は、変形例2においてテスト回路170が暗号器153の暗号化機能をテストする場合の動作制御例を示す概略フローチャートであり、図9は、変形例2において暗号器153の復号機能をテストする場合の動作制御例を示す概略フローチャートであり、図10は、変形例2においてCPU1により実行されるソフトウェアの制御を示す概略フローチャートである。まず、暗号化機能のテストにおいては、基本的に、図5の場合と同様であるが、メモリリード、メモリライトを行った後、ソフトウェアに対して出力完了の通知を行うステップS141。その後、ソフトウェアから転送継続通知を受けるとステップS142、転送を再開する。このとき、出力先アドレスは変更を行わない。また、復号機能のテストにおいては、基本的に、図6の場合と同様であるが、メモリリード、メモリライトを行った後、ソフトウェアに対して出力完了の通知を行うステップS191。その後、ソフトウェアから転送継続通知を受けるとステップS192、転送を再開する。このとき、出力先アドレスは変更を行わない。このようにすることで、出力先のメモリ確保量をテストデータサイズではなく、SRAM151のサイズ分確保すればよく、少ないメモリ領域でテストの実行を行える。ソフトウェア側の制御としては、図10に示すように、ハードウェア側から出力完了通知を確認するとステップS22、出力データと期待値データとを比較しステップS23、不一致か否かを判定するステップS24。不一致の場合にはステップS24:Yes、所定のエラー処理を行うステップS25。一方、一致する場合にはステップS24:No、転送継続をハードウェアに対して行うステップS26。このような動作制御を転送が完了するまでステップS21:Yes、繰り返す。"