(57)【要約】【課題】ＣＰＵ（ソフトウェア）によるインターフェイス初期化を必要とせずに、システムの起動後、直ちにカード型メモリへのアクセスを可能とするカード型メモリのインターフェイス回路を提供すること。【解決手段】セクタ単位でのアクセスが必要で、かつ着脱可能に設けられたＳＤカードのインターフェースであるＳＤカードインターフェイス１９は、ＳＤコントローラを初期化する機能と、ＳＤカード７を初期化する機能と、ＳＤカード７のステータスの取得を行う機能とを備えている。【選択図】　　　図１
2004133881.tif 000002
【特許請求の範囲】
【請求項１】
特定のサイズ単位でのアクセスが必要で、かつ着脱可能に設けられたカード型メモリのインターフェイス回路において、
前記カード型メモリに対してデータのリード／ライトを行うインターフェイスコントローラを初期化する初期化手段と、
前記カード型メモリを初期化するカード型メモリ初期化手段と、
前記カード型メモリのステータスの取得を行うステータス取得手段と、
を備えたことを特徴とするカード型メモリのインターフェイス回路。
【請求項２】
ＣＰＵから前記カード型メモリに対して擬似的なランダムアクセスを行うためのアクセス回路を備えたことを特徴とする請求項１に記載のカード型メモリのインターフェイス回路。
【請求項３】
前記アクセス回路は、
前記カード型メモリからリードした１セクタ分のデータを格納するバッファを有し、前記ＣＰＵからの前記カード型メモリのリードアクセスに対して、そのリードアクセスが前記バッファに格納されているセクタ内のデータである場合には、前記バッファから対応するデータを前記ＣＰＵに送信し、そのリードアクセスが前記バッファに格納されているセクタ内のデータでない場合には、前記インターフェイスコントローラを介して対応するセクタを前記カード型メモリから読み出して前記バッファに格納した後、前記バッファに格納したセクタ内の対応するデータを前記ＣＰＵに送信することを特徴とする請求項２に記載のカード型メモリのインターフェイス回路。
【請求項４】
前記カード型メモリに対してＤＭＡ転送を行うためのＤＭＡ回路と、
前記アクセス回路と前記ＤＭＡ回路との選択・切替えを行う切替回路と、
を備えたことを特徴とする請求項１〜請求項３のいずれか１つに記載のカード型メモリのインターフェイス回路。
【請求項５】
前記カード型メモリとの通信時にエラーが発生した場合に、通信速度を段階的に低速に変更して通信を行うことを特徴とする請求項１〜請求項４のいずれか１つに記載の記載のカード型メモリのインターフェイス回路。
【請求項６】
前記カード型メモリ初期化手段は、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリかＩＯ機能を有しないカード型メモリかを判定する判定手段を含むことを特徴とする請求項１〜請求項５のいずれか１つに記載のカード型メモリのインターフェイス回路。
【請求項７】
前記カード型メモリ初期化手段は、前記判定手段で、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリであると判定された場合に、前記カード型メモリのインターフェイス回路を停止させることを特徴とする請求項６に記載のカード型メモリのインターフェイス回路。
【請求項８】
前記アクセス回路は、前記判定手段で、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリであると判定された場合には、前記ＩＯ機能を有するカード型メモリのＩＯ機能を利用して外部装置のデータにアクセスし、または、当該ＩＯ機能を有するカード型メモリのメモリ領域に格納されたデータにアクセスすることを特徴とする請求項７に記載のカード型メモリのインターフェイス回路。
【請求項９】
前記カード型メモリは、ＳＤカードであることを特徴とする請求項１〜請求項８のいずれか１つに記載のカード型メモリのインターフェイス回路。
【請求項１０】
前記Ｉ／Ｏ機能を有するカード型メモリは、ＳＤＩＯカードであり、前記Ｉ／Ｏ機能を有しないカード型メモリは、ＳＤメモリカードであることを特徴とする請求項６〜請求項８のいずれか１つに記載のカード型メモリのインターフェイス回路。
【請求項１１】
画像入出力機能、画像処理機能、およびデータ通信等の複数のアプリケーション機能を有し、各アプリケーション機能がメモリ、ハードディスク等を共有資源として利用可能に構成されたＡＳＩＣにおいて、
請求項１〜請求項１０のいずれか１つに記載のカード型メモリのインターフェイス回路を搭載したことを特徴とするＡＳＩＣ。
【請求項１２】
請求項１１に記載のＡＳＩＣを搭載した画像形成装置において、
前記カード型メモリに格納されているプログラムをダウンロード可能に構成したことを特徴とする画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カード型メモリのインターフェイス回路、その回路を搭載したＡＳＩＣ、およびそのＡＳＩＣを搭載した画像形成装置に関し、詳細には、特定のサイズ単位でのアクセスが必要で、かつ着脱可能に設けられたカード型メモリのインターフェイス回路、その回路を搭載したＡＳＩＣ、およびそのＡＳＩＣを搭載した画像形成装置に関する。
【０００２】
【従来の技術】
プリンタ、コピー機、ＭＦＰ（マルチファンクションペリフェラル）等の画像形成装置では、ソフトウェアを書き換える場合に、メモリカードやネットワーク等のホストインターフェイスからソフトウエアをダウンロードしてその書き換えを行っている。画像形成装置のフィールドサポート等におけるメンテナンスやソフトウェアのアップデートの場合に、ユーザーのシステム環境を使用できない場合があるため、ホストインターフェイスを利用できない場合がある。このため、画像形成装置では、確実にソフトウエアのダウンロード等を行うために、メモリカードインターフェイスを搭載しているものが多い。
【０００３】
メモリカードに対するアクセスは、ＲＡＭに対するアクセスと同様に行うことができるため、ＣＰＵ（ソフトウエア）によるインターフェイスの初期化などの処理は必要なく、また、メモリカード上でプログラムを実行することも可能である。メモリカードに関する従来技術としては、例えば、特許文献１や特許文献２が公知である。しかるに、メモリカードは、その容量が４メガバイト程度と小さく、さらに、最近ではその入手が困難になってきている。そこで、メモリカードの代替として、ＳＤカードが注目されている。
【０００４】
かかるＳＤカード（ＳＤメモリカード）は、フロッピー（Ｒ）ディスクのような携帯可能なメディアとして注目されており、カードサイズに比べて記録容量が大きいため、画像データや音声データの記録・再生用に採用され始めている。
【０００５】
ＳＤカードは、ＲＡＭ（ランダム・アクセス・メモリ）とは異なり、ディスクメディアと同様に、ＭＢＲ（マスタ・ブート・レコード）、パーティションテーブル、ＦＡＴ、およびデータエリアから構成され、特定のサイズ（セクタ）単位でのアクセスが必要となる着脱可能なカード型のメモリである。
【０００６】
しかしながら、ＳＤカードのインターフェイスであるＳＤカードインターフェイスは、メモリカードインターフェイスとは異なり、インターフェイスコントローラとＳＤカードに対して初期化が必要となる。また、ＳＤカードは、その容量によってデータ読み出し位置のオフセットが変わるため、システムがＳＤカードを使用する場合、インターフェイス回路を経由してカードの情報を読み取り、ＣＰＵがオフセット値を算出して記憶する必要がある。
【０００７】
また、ＳＤカードに対するアクセスはセクタ単位で行われるため、ＣＰＵが１バイトのデータを読み出す場合でも、５１２バイトといったセクタサイズ分のデータを読み出さなくてはならない。このため、ＣＰＵがＳＤカードに記憶されたプログラムを実行する場合は、プログラム全体をセクタ単位で読み出してＲＡＭ上にコピーし、ＲＡＭ上で実行する必要性がある。この結果、ＢＩＯＳと呼ばれる制御用プログラムが呼び出されるまではＳＤカードを使用することができないといった制約が発生する。
【０００８】
さらに、ＳＤカードとインターフェイス回路間で通信エラーが発生した場合は、ＣＰＵがその通信速度を変更して、再度通信を試みる必要がある。
【０００９】
ところで、近年、ＳＤカードも多様化しており、Ｉ／Ｏ機能を備えたＳＤＩＯカード（カード型Ｉ／Ｏ）が注目されている。このＳＤＩＯカードは、ＳＤメモリカードにＢｌｕｅｔｏｏｔｈ、無線ＬＡＮ、およびＧＰＳ等のＩ／Ｏ機能を搭載したカード型のメモリである。
【００１０】
ＳＤＩＯカードのインターフェイスは、ＳＤメモリカードと互換性を保つように、ＳＤメモリカードと同等であるが、ＳＤＩＯカードはＳＤメモリカードと初期化手順が異なる。そのため、インターフェイス回路が、ＳＤメモリカードのコマンドプロトコルのみを認識可能で、ＳＤＩＯカードのコマンドプロトコルを認識できない場合には、例えば、ＳＤＩＯカードが挿入された場合、インターフェイス回路の初期化手段に異常が発生し、システム全体に支障をきたす場合がある。また、ＳＤＩＯカードはＳＤメモリカードではカードインターフェイスが同等なため、画像形成装置のフィールドサポート等におけるメンテナンスやソフトウェアのアップデートの場合に、誤ってＳＤＩＯカードを挿入した場合、システム異常の原因となる。
【００１１】
また、近年、画像形成装置の規模が大きくなり、それに対するソフトウェアの規模も大きくなってきており、ソフトウェアを格納するメモリ容量も必然的に大きい容量が必要となる。そのため、大容量のソフトウエアは、ＳＤメモリカードを介して画像形成装置にインストールすることができない。
【００１２】
【特許文献１】
特開平１０−１６１８５７号公報
【特許文献２】
特開平１１−２４２５９６号公報
【００１３】
【発明が解決しようとする課題】
本発明は、上記に鑑みてなされたものであり、ＣＰＵ（ソフトウェア）によるインターフェイス初期化を必要とせずに、システムの起動後、直ちにカード型メモリへのアクセスを可能とするカード型メモリのインターフェイス回路、その回路を搭載したＡＳＩＣ、およびそのＡＳＩＣを搭載した画像形成装置を提供することを目的とする。
【００１４】
また、本発明は、上記に鑑みてなされたものであり、カード型メモリに格納されたプログラムを実行する際に、ＲＡＭ等に一旦コピーすることなく、直接、カード型メモリ上でプログラムの実行を可能とするカード型メモリのインターフェイス回路、その回路を搭載したＡＳＩＣ、およびそのＡＳＩＣを搭載した画像形成装置を提供することを目的とする。
【００１５】
また、本発明は、上記に鑑みてなされたものであり、ＳＤカードとインターフェイス回路間で通信エラーが発生した場合に、ソフトウェアやハードウェアの修正によることなく、データ転送エラーによる動作停止を防ぐことが可能なカード型メモリのインターフェイス回路、その回路を搭載したＡＳＩＣ、およびそのＡＳＩＣを搭載した画像形成装置を提供することを目的とする。
【００１６】
また、本発明は、上記に鑑みてなされたものであり、Ｉ／Ｏ機能を有するカード型メモリが挿入された場合に、システムの異常が発生することを回避することが可能なカード型メモリのインターフェイス回路、その回路を搭載したＡＳＩＣ、およびそのＡＳＩＣを搭載した画像形成装置を提供することを目的とする。
【００１７】
また、本発明は、上記に鑑みてなされたものであり、大容量のソフトウエアを外部の装置からカード型メモリを介してダウンロードすることが可能なカード型メモリのインターフェイス回路、その回路を搭載したＡＳＩＣ、およびそのＡＳＩＣを搭載した画像形成装置を提供することを目的とする。
【００１８】
【課題を解決するための手段】
上記課題を解決するために、請求項１にかかる発明は、特定のサイズ単位でのアクセスが必要で、かつ着脱可能に設けられたカード型メモリのインターフェイス回路において、前記カード型メモリに対してデータのリード／ライトを行うインターフェイスコントローラを初期化する初期化手段と、前記カード型メモリを初期化するカード型メモリ初期化手段と、前記カード型メモリのステータスの取得を行うステータス取得手段と、を備えたことを特徴とする。
【００１９】
上記発明によれば、カード型メモリのインターフェイス回路は、カード型メモリに対してデータのリード／ライトを行うインターフェイスコントローラおよびカード型メモリを初期化するとともに、カード型メモリのステータスを取得する。
【００２０】
また、請求項２にかかる発明は、請求項１にかかる発明において、ＣＰＵから前記カード型メモリに対して擬似的なランダムアクセスを行うためのアクセス回路を備えたことを特徴とする。
【００２１】
上記発明によれば、ＣＰＵはカード型メモリに対してアクセス回路を介して擬似的なランダムアクセスを行うことを可能とする。
【００２２】
また、請求項３にかかる発明は、請求項２にかかる発明において、前記アクセス回路は、前記カード型メモリからリードした１セクタ分のデータを格納するバッファを有し、前記ＣＰＵからの前記カード型メモリのリードアクセスに対して、そのリードアクセスが前記バッファに格納されているセクタ内のデータである場合には、前記バッファから対応するデータを前記ＣＰＵに送信し、そのリードアクセスが前記バッファに格納されているセクタ内のデータでない場合には、前記インターフェイスコントローラを介して対応するセクタを前記カード型メモリから読み出して前記バッファに格納した後、前記バッファに格納したセクタ内の対応するデータを前記ＣＰＵに送信することを特徴とする。
【００２３】
上記発明によれば、アクセス回路は、カード型メモリからリードした１セクタ分のデータを格納するバッファを有し、前記ＣＰＵからの前記カード型メモリのリードアクセスに対して、そのリードアクセスが前記バッファに格納されているセクタ内のデータである場合には、前記バッファから対応するデータを前記ＣＰＵに送信し、そのリードアクセスが前記バッファに格納されているセクタ内のデータでない場合には、前記インターフェイスコントローラを介して対応するセクタを前記カード型メモリから読み出して前記バッファに格納した後、前記バッファに格納したセクタ内の対応するデータを前記ＣＰＵに送信する。
【００２４】
また、請求項４にかかる発明は、請求項１〜請求項３のいずれか１つにかかる発明において、前記カード型メモリに対してＤＭＡ転送を行うためのＤＭＡ回路と、前記アクセス回路と前記ＤＭＡ回路との選択・切替えを行う切替回路と、を備えたことを特徴とする。
【００２５】
上記発明によれば、カード型メモリに対してＤＭＡ転送を行うためのＤＭＡ回路を備え、切替回路はアクセス回路とＤＭＡ回路との選択・切替えを行う。
【００２６】
また、請求項５にかかる発明は、請求項１〜請求項４のいずれか１つにかかる発明において、前記カード型メモリとの通信時にエラーが発生した場合に、通信速度を段階的に低速に変更して通信を行うことを特徴とする。
【００２７】
上記発明によれば、カード型メモリとの通信時にエラーが発生した場合に、通信速度を段階的に低速に変更して通信を行う。
【００２８】
また、請求項６にかかる発明は、請求項１〜請求項５のいずれか１つにかかる発明において、前記カード型メモリ初期化手段は、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリかＩＯ機能を有しないカード型メモリかを判定する判定手段を含むことを特徴とする。
【００２９】
上記発明によれば、判定手段は、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリかＩＯ機能を有しないカード型メモリかを判定する。
【００３０】
また、請求項７にかかる発明は、請求項６にかかる発明において、前記カード型メモリ初期化手段は、前記判定手段で、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリであると判定された場合に、前記カード型メモリのインターフェイス回路を停止させることを特徴とする。
【００３１】
上記発明によれば、カード型メモリ初期化手段は、前記判定手段で、挿着されたたカード型メモリが、ＩＯ機能を有するカード型メモリであると判定された場合に、前記カード型メモリのインターフェイス回路を停止させる。
【００３２】
また、請求項８にかかる発明は、請求項７にかかる発明において、前記アクセス回路は、前記判定手段で、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリであると判定された場合には、前記ＩＯ機能を有するカード型メモリのＩＯ機能を利用して外部装置のデータにアクセスし、または、当該ＩＯ機能を有するカード型メモリのメモリ領域に格納されたデータにアクセスすることを特徴とする。
【００３３】
上記発明によれば、アクセス回路は、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリであると判定された場合には、前記ＩＯ機能を有するカード型メモリのＩＯ機能を利用して外部サーバーのデータにアクセスし、または、当該ＩＯ機能を有するカード型メモリのメモリ領域に格納されたデータにアクセスする。
【００３４】
また、請求項９にかかる発明は、請求項１〜請求項８のいずれか１つにかかる発明において、前記カード型メモリは、ＳＤカードであることを特徴とする。
【００３５】
上記発明によれば、カード型メモリとしてＳＤカードを使用する。
【００３６】
また、請求項１０にかかる発明は、請求項６〜請求項８のいずれか１つにかかる発明において、前記Ｉ／Ｏ機能を有するカード型メモリは、ＳＤＩＯカードであり、前記Ｉ／Ｏ機能を有しないカード型メモリは、ＳＤメモリカードであることを特徴とする。
【００３７】
上記発明によれば、Ｉ／Ｏ機能を有するカード型メモリとしてＳＤＩＯカードを使用し、Ｉ／Ｏ機能を有しないカード型メモリとしてＳＤメモリカードを使用する。
【００３８】
また、請求項１１にかかる発明は、請求項１〜請求項１０のいずれか１つにかかる発明において、画像入出力機能、画像処理機能、およびデータ通信等の複数のアプリケーション機能を有し、各アプリケーション機能がメモリ、ハードディスク等を共有資源として利用可能に構成されたＡＳＩＣにおいて、請求項１〜請求項１０のいずれか１つに記載のカード型メモリのインターフェイス回路を搭載したことを特徴とする。
【００３９】
上記発明によれば、ＡＳＩＣに請求項１〜請求項１０のいずれか１つに記載のカード型メモリのインターフェイス回路を搭載する。
【００４０】
また、請求項１２にかかる発明は、請求項１１にかかる発明において、前記カード型メモリに格納されているプログラムをダウンロード可能に構成したことを特徴とする。
【００４１】
上記発明によれば、画像形成装置に請求項１１に記載のＡＳＩＣを搭載し、カード型メモリに格納されているプログラムをダウンロード可能に構成する。
【００４２】
【発明の実施の形態】
以下、図面を参照して、本発明にかかるカード型メモリのインターフェイス回路、その回路を搭載したＡＳＩＣ、およびそのＡＳＩＣを搭載した画像形成装置を適用した画像形成装置の好適な実施の形態を、（実施の形態１）、（実施の形態２）、（実施の形態３）、（実施の形態４）、（実施の形態５）の順に詳細に説明する。なお、本明細書において、ＳＤカード（カード型メモリの一例）とは、ＳＤメモリカード（Ｉ／Ｏ機能を有しないカード型メモリの一例）、ＳＤＩＯカード（Ｉ／Ｏ機能を有するカード型メモリの一例）を総称したものをいう。
【００４３】
（実施の形態１）
実施の形態１にかかる画像形成装置を、［画像形成装置の構成］、［ＳＤカードインターフェイスの構成］、［ＳＤカードの初期化処理］、［ＳＤカードに対するリードアクセス］、［ＳＤカードの通信速度の変更処理］の順に詳細に説明する。以下、特定のサイズ単位でのアクセスが必要で、かつ着脱可能に設けられたカード型メモリとして、ＳＤカードを例示して説明する。
【００４４】
［画像形成装置の構成］
図１は、本発明にかかるＳＤカードインターフェイスを内蔵したＡＳＩＣを備えた画像形成装置の概略のハードウエア構成を示す図である。同図において、１は、画像入出力機能、画像処理機能、およびデータ通信等の複数のアプリケーション機能を有し、各アプリケーション機能がメモリ、ハードディスク等を共有資源として利用可能に設計されたＡＳＩＣ、２は、画像形成装置の全体の制御を行うＣＰＵ、３は、ランダムアクセスが可能なメモリ、４は、画像データやプログラムを格納するためのＨＤＤ、５は、ＰＨＹデバイス（ネットワークデバイス）、６は、ＰＨＹデバイス（ＵＳＢデバイス）、７はＳＤカード、８は画像データを紙に印字するためのプリンタエンジンを示している。
【００４５】
上記ＡＳＩＣ１は、接続されるデバイスの接続や調停等を行うメモリ・アービタ１１と、メモリ・アービタ１１に接続されＨＤＤ４のＤＭＡ制御を行うＤＭＡコントローラ１２、メモリ・アービタ１１に接続されＰＨＹデバイス５のＤＭＡ制御を行うＤＭＡコントローラ１３と、メモリ・アービタ１１に接続されＰＨＹデバイス５のＤＭＡ制御を行うＤＭＡコントローラ１４、メモリ・アービタ１１に接続されＳＤカード７のＤＭＡ制御を行うＤＭＡコントローラ１５と、ＤＭＡコントローラ１２に接続されＨＤＤ４のインターフェイスであるＨＤＤインターフェイス１６と、ＤＭＡコントローラ１３に接続されＰＨＹデバイス（ネットワークデバイス）５のインターフェイスであるＮｅｔｗｏｒｋインターフェイス１７と、ＤＭＡコントローラ１４に接続されＰＨＹデバイス６のインターフェイスであるＵＳＢインターフェィス１８と、ＤＭＡコントローラ１５に接続されＳＤカード７のインターフェースであるＳＤカードインターフェイス１９と、ＣＰＵインターフェイス２０と、ＩＥＥＥ１２８４インターフェイス２１と、プリンタエンジン８のインターフェースであるプリンタエンジンインターフェイス２２と、メモリ３に対してデータのリード／ライトを行うメモリコントローラ２３とを備えている。
【００４６】
上記構成では、ＳＤカードインターフェイス１９は、ＤＭＡコントローラ１５を介してメモリ・アービタ１１に接続され、また、ランダムアクセス用のメモリコントローラ２３に直接接続されている。かかる構成により、ＳＤカード７と、メモリ３、ＨＤＤ４、ＰＨＹデバイス（ネットワークデバイス）５、ＰＨＹデバイス（ＵＳＢデバイス）６間でのデータ転送が可能となる。例えば、ＳＤカード７に格納されているプログラムを、メモリ３、ＨＤＤ４、ＰＨＹデバイス（ネットワークデバイス）５、ＰＨＹデバイス（ＵＳＢデバイス）６に転送（ダウンロード）することができる。
【００４７】
［ＳＤカードインターフェイスの構成］
図２は、図１のＳＤカードインターフェイス１９の構成例を示す図である。ＳＤカードインターフェイス１９は、ＳＤカードコントローラ３０、マルチプレクサ３１、ＤＭＡインターフェイス３２、ＲＡＭアクセスインターフェイス３３と、制御回路３４とを備えている。
【００４８】
ＳＤカードコントローラ３０は、ＳＤカードの規格に従ってＳＤカード７に対してデータのリード／ライトをセクタ単位で行う。制御回路３４は、ＣＰＵ２からの制御コマンドをＳＤカードコントローラ３０に与えたり、マルチプレクサ３１を制御して、ＤＭＡインターフェイス３２またはＲＡＭアクセスインターフェイス３３の接続を切替え、ＳＤカード７に対してＤＭＡ転送／ランダムアクセスの切替を行う回路ブロックである。
【００４９】
ＤＭＡインターフェイス３２は、マルチプレクサ３１を介してＳＤカードコントローラ３０に接続されるとともに、図４のＤＭＡコントローラ１５に接続され、両者のインターフェイスの整合を取ってＤＭＡ転送を可能とする回路ブロックである。
【００５０】
ＲＡＭアクセスインターフェイス３３は、ＣＰＵ２がＳＤカード７に対して擬似的なランダムアクセスを行うための回路であり、マルチプレクサ３１を介してＳＤカードコントローラ３０に接続されるとともに、メモリコントローラ２３に接続されており、これらのインターフェイスの整合を取る回路ブロックである。また、ＲＡＭアクセスインターフェイス３３は、ＳＤカードコントローラ３０を初期化する。このように、ハードウエアでＳＤカードコントローラ３０の初期化を行うことにより、ＣＰＵ２によるＳＤカードコントローラ３０の初期化が不要となる。また、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７を初期化する。このように、ハードウエアでＳＤカード７の初期化を行うことにより、ＣＰＵ２によるＳＤカード７の初期化が不要となる。
【００５１】
ＲＡＭアクセスインターフェイス３３は、５１２バイトのＲＡＭ（バッファ）３３ａを備えており、このＲＡＭ３３ａにＳＤカード７の１セクタ分のデータを格納可能となっている。ＲＡＭアクセスインターフェイス３３は、最初のＣＰＵ２からのＳＤカード７のアドレスを指定したリードアクセスに対しては、、指定されたアドレスのセクタを設定して、ＳＤカードコントローラ３０を介してＳＤカードから設定したセクタ内のデータをリードしてＲＡＭ３３ａに格納し、指定されたアドレスに対応するデータをＣＰＵ２に転送する。この後、ＲＡＭアクセスインターフェイス３３は、ＣＰＵ２からのリードアクセスがこのＲＡＭ３３ａに格納されている同一セクタ範囲内のデータである場合には、ＳＤカード７からのデータ読み出しを経ることなく、ＲＡＭ３３ａからデータを読み出す。このようにして、ＣＰＵ２によるＳＤカード７のセクタの設定を不要として、ＣＰＵ２からはそのアドレスを指定するだけで、ＳＤカード７に対するアクセスが可能となり、擬似的なランダムアクセスが可能となる。すなわち、ＣＰＵ２からＳＤカード７を意識することなくＳＤカード内の任意のアドレスのデータを読み出すことが可能になる。また、ＲＡＭアクセスインターフェイス３３にＲＡＭ（バッファ）３３ａを設け、セクタ単位でデータのリードをしているため、ＳＤカード７へのアクセスを最小限に抑えることが可能となる。
【００５２】
［ＳＤカードの初期化処理］
図３は、ＳＤカードインターフェイス１９によるＳＤカード７の初期化手順を説明するためのフローチャートを示している。図３を参照して、ＳＤカードインターフェイス１９によるＳＤカード７の初期化手順を説明する。ＳＤカードインターフェイス１９によるＳＤカード７の初期化は、電源投入時、ソフトウェアのアップデート時や自己診断プログラムの実行時等のサービスエンジニア等による特定の作業の実行時に実行される。このように、ＳＤカードインターフェイス１９によるハードウェアでのＳＤカード７の初期化処理の使用目的を限定することで、エラーの発生を抑えることにしている。ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の初期化の前にＳＤカードコントローラ３０の初期化を行う。図３に示す処理はＳＤカードインターフェイス１９のシーケンス処理で行われる。
【００５３】
図３において、まず、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７が初期化済みであるか否かを判断し（ステップＳ１）、初期化済みでない場合には、ＳＤカードインターフェイス１９のリセットを解除する（ステップＳ２）。そして、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の挿入を確認し（ステップＳ３）、ＳＤカード７が装着されいるか否かの判断を行い（ステップＳ４）、ＳＤカード７が装着されていない場合には、ステップＳ１に戻る一方、ＳＤカード７が装着されている場合には、ＳＤクロックを設定する（ステップＳ５）。
【００５４】
つぎに、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の初期化を行ない（ステップＳ６）、その動作電圧を設定する（ステップＳ７）。この後、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のカードＩＤ、カードアドレス、およびカードサイズを取得する（ステップＳ８〜ステップＳ１０）。
【００５５】
ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のブロック長を設定した後（ステップＳ１１）、データバス幅を設定する（ステップＳ１２）。この後、ＲＡＭアクセスインターフェイス３３は、ＳＤカード９のカードステータスを取得する（ステップＳ１３）。そして、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７から取得したこれらの情報に基づいて、データ読出位置のオフセット値を算出して記憶する。この後、ＲＡＭアクセスインターフェイス３３は、初期化済みフラグをセットする（ステップＳ１４）。
【００５６】
他方、ＲＡＭアクセスインターフェイス３３は、カード未挿入や適用外のカード挿入によるエラーが発生した場合には、カード未挿入フラグをセットした後（ステップＳ１５）、ステップＳ１４に移行する。なお、カード未挿入の場合、一定時間の間はカード挿入の確認を継続することにしても良い。
【００５７】
［ＳＤカードに対するリードアクセス］
図４は、ＳＤカード７のリードアクセスフローの一例を説明するためのフローチャートである。図４を参照して、ＳＤカード７のリードアクセスフローを説明する。ＳＤカード７のリードアクセスは、図３のＳＤカード７の初期化処理が終了するまでは、起動しない仕組みとなっている。図４に示す処理はＳＤカードインターフェイス１９のシーケンス処理で行われる。
【００５８】
図４において、まず、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７が初期化済みであるか否かを判断し（ステップＳ２１）、ＳＤカード７が初期化済みである場合には、ＳＤカード７が挿入されているか否かを判断する（ステップＳ２２）。この判断の結果、ＲＡＭアクセスインターフェイス３３は、ＳＤカードを認識できなかった場合は、処理を終了する。他方、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７を認識した場合には、ＣＰＵ２からアクセス要求があるか否かを判断する（ステップＳ２３）。この判断の結果、ＲＡＭアクセスインターフェイス３３は、ＣＰＵ２からのアクセス要求がある場合には、このアクセス要求はリード要求であるか否かを判断する（ステップＳ２４）。この判断の結果、ＲＡＭアクセスインターフェイス３３は、リード要求がない場合には、ＣＰＵ２に対してエラー応答を行った後（ステップＳ３０）、ステップＳ２３に移行する。
【００５９】
他方、ステップＳ２４において、リード要求がある場合には、ＲＡＭアクセスインターフェイス３３は、ＲＡＭ３３ａに格納したセクタのデータと同一セクタ領域であるか否かを判断する（ステップＳ２５）。この判断の結果、ＲＡＭアクセスインターフェイス３３は、同一セクタ領域である場合には、ステップＳ２９に移行する一方、同一セクタ領域でない場合には、セクタリードコマンドをＳＤカードコントローラ３０に発行する（ステップＳ２６）。これに応じて、ＳＤカードコントローラ３０は、指定されたセクタのデータをリードする。ＲＡＭアクセスインターフェイス３３は、セクタリードが終了したか否かを判断し（ステップＳ２７）、セクタリードが終了した場合には、ＲＡＭ（バッファメモリ）３３ａに１セクタ分のデータをコピーする（ステップＳ２８）。そして、ＲＡＭアクセスインターフェイス３３は、ＣＰＵ２に対して、リードデータの応答を行った後（ステップＳ２９）、ステップＳ２３に戻る。
【００６０】
なお、図４では、リードアクセスについて説明したが、ライトアクセスの場合には、ＲＡＭアクセスインターフェイス３３は、ＣＰＵ２からライト要求があったアドレスを含むセクタをＳＤカード７からリードしてＲＡＭ３３ａに格納し、該当する個所のデータを書き換え、再度、ＳＤカード７の該当するセクタにライトすれば良い。
【００６１】
［ＳＤカードの初期化処理時のクロックの自動修正処理］
ＳＤカード７とＡＳＩＣ１間は、１ビット〜４ビット幅での通信となる。通信を行う場合に、電磁ノイズによるデータ化けや波形の乱れなどの影響を受けることがある。ＳＤカード７におけるデータ転送の最高周波数は２５ＭＨｚであるが、通信エラーが起こるような環境においては、この周波数を落とすことで回避できる場合がある。図５は、図３のＳＤカードの初期化処理において、通信エラーのステータスが報告された場合に、ＳＤクロックを段階的に遅くして、再度初期化を実施し、ＡＳＩＣ１が対応している最低速までこれを繰り返す処理を加えた場合のフローチャートを示している。この処理は、ＳＤカード７へのアクセス処理をハードウェア化することのリスクを、最小限に抑えることを目的としている。図５を参照して、ＳＤカードの初期化処理時のクロックの自動修正処理を説明する。
【００６２】
図５において、まず、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７が初期化済みであるか否かを判断し（ステップＳ４１）、初期化済みでない場合には、ＳＤカードインターフェイス１９のリセットを解除する（ステップＳ４２）。そして、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の挿入を確認し（ステップＳ４３）、ＳＤカード７が装着されいるか否かの判断を行い（ステップＳ４４）、ＳＤカード７が装着されていない場合には、ステップＳ４１に戻る一方、ＳＤカード７が装着されている場合には、ＳＤクロックを設定する（ステップＳ４５）。
【００６３】
つぎに、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の初期化を行ない（ステップＳ４６）、その動作電圧を設定する（ステップＳ４７）。この後、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のカードＩＤ、カードアドレス、およびカードサイズを取得する（ステップＳ４８〜ステップＳ５０）。
【００６４】
ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のブロック長を設定した後（ステップＳ５１）、データバス幅を設定する（ステップＳ５２）。つづいて、ＲＡＭアクセスインターフェイス３３は、ＳＤカード９のカードステータスを取得する（ステップＳ５３）。そして、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７から取得したこれらの情報に基づいて、データ読出位置のオフセット値を算出して記憶する。この後、ＲＡＭアクセスインターフェイス３３は、初期化済みフラグをセットする（ステップＳ５４）。
【００６５】
他方、通信エラーのステータスが報告された場合には、ＲＡＭアクセスインターフェイス３３は、ＳＤクロックが最低速のクロックであるか否かを判断する（ステップＳ５５）。この判断の結果、ＳＤクロックが最低速のクロックでない場合には、ＳＤクロックを一段階遅いクロックに再設定した後（ステップＳ５７）、ステップＳ４６に移行して、再度初期化を実行する。他方、ＳＤクロックが最低速のクロックである場合には、ＲＡＭアクセスインターフェイス３３は、カード未挿入フラグをセットした後（ステップＳ５６）、ステップＳ５４に移行する。
【００６６】
以上説明したように、実施の形態１によれば、ＲＡＭアクセスインターフェイス３３は、ＳＤカードコントローラ３０およびＳＤカード７を初期化するとともに、ＳＤカード７のステータスを取得することとしたので、ＣＰＵによるＳＤカードコントローラ３０およびＳＤカード７の初期化が不要となり、システムの起動後、直ちにＳＤカード７へのアクセスが可能となる。
【００６７】
また、本実施の形態１によれば、ＣＰＵ２からＳＤカード７に対して擬似的なランダムアクセスを行うためのＲＡＭアクセスインターフェイス３３を備えたこととしたので、メモリ３にＳＤカード７のデータをコピーしなくても直接、ＳＤカード７上でプログラムを実行することが可能となる。
【００６８】
また、本実施の形態１によれば、ＲＡＭアクセスインターフェイス３３とＤＭＡインターフェイス３２を切り替えて使用可能としたので、ＳＤカード７のストレージ用途とＲＡＭ用との共存／選択が同一システム内で可能となる。
【００６９】
また、本実施の形態１によれば、ＳＤカードインターフェイス１９は、ＳＤカードとの通信時にエラーが発生した場合に、通信速度を段階的に低速に変更して通信を行うこととしたので、ＣＰＵやハードウェアで修正することなく、データ転送エラーによる動作停止を防ぐことが可能となる。
【００７０】
また、本実施の形態１によれば、ＳＤカード７からプログラムをダウンロード可能としたので、システム起動時におけるプログラムのアップデートや追加アプリケーションのダウンロード、システムデバッグプログラムの実行を行うことができ、また、従来は複数枚のメモリカードで構成されていたプログラムを１枚のＳＤカードで済ますことができ、フィールドサポートの効率を向上させることが可能となる。
【００７１】
（実施の形態２）
実施の形態２にかかる画像形成装置を図６および図７を参照して説明する。実施の形態２において、［画像形成装置の構成］および［ＳＤカードインターフェイスの構成］は、実施の形態１（図１，図２）と同様である。ただし、図２のＳＤカードコントローラ３０は、ＳＤメモリカードのコマンドプロトコルのみを認識できるコントローラであるものとする（ＳＤＩＯカードのコマンドプロトコルを認識できない）。
【００７２】
上述したように、ＳＤＩＯカードが挿入された場合、カード型メモリ初期化手段にて異常が発生し、システム全体に支障が生じる場合がある。また、ＳＤＩＯカードは、ＳＤメモリカードではカードインターフェイスが同等であるため、画像形成装置のフィールドサポート等におけるメンテナンスやソフトウェアのアップデートの場合に、誤ってＳＤＩＯカードを挿入した場合、システム異常の原因となる。そこで、実施の形態２では、誤ってＳＤＩＯメモリが挿入された場合にシステム異常を回避する構成を説明する。
【００７３】
［ＳＤカードの初期化処理］
実施の形態２の［ＳＤカードの初期化処理］を上記図２、図６および図７を参照して説明する。図６は、図２のＳＤカードインターフェイス１９によるＳＤカード７の初期化手順を説明するためのフローチャート、図７は、図６のＳＤカードの判定処理を具体的な処理内容を説明するためのフローチャートを示している。
【００７４】
ＳＤカードインターフェイス１９によるＳＤカード７の初期化は、電源投入時、ソフトウェアのアップデート時や自己診断プログラムの実行時等のサービスエンジニア等による特定の作業時に実行される。このように、ＳＤカードインターフェイス１９によるハードウェアでのＳＤカード７の初期化処理の使用目的を限定することでエラーの発生を抑えていることにしている。ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の初期化の前にＳＤカードコントローラ３０の初期化を行う。図６に示す処理はＳＤカードインターフェイス１９のシーケンス処理で行われる。
【００７５】
また、図示していないが、図６の処理（ステップＳ２０６〜Ｓ２１３）では、ＳＤカード７にコマンドを発行する構成になっており、各ステップで発行するコマンドの種類は異なる。また、コマンドを発行した際は、ＳＤカード７がコマンドを受信したことを示す応答「コマンドレスポンス」がＳＤカード７からＳＤカードコントローラ３０へ返ってくる構成となっている。
【００７６】
図６において、まず、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７が初期化済みであるか否か判定し（ステップＳ２０１）、初期化済みでない場合には、ＳＤカードインターフェイス１９をリセットする（ステップＳ２０２）。そして、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の挿入を確認し（ステップＳ２０３）、ＳＤカード７が装着されているか否かの判断を行い（ステップＳ２０４）、ＳＤカード７が装着されていない場合には、ステップＳ２０１に戻る一方、ＳＤカード７が装着されている場合には、ＳＤクロックを設定する（ステップＳ２０５）。
【００７７】
次に、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の初期化を行い（ステップＳ２０６）、ＳＤカードの判定を行う（ステップＳ２０７）。具体的には、図７に示すように、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７に対してＳＤメモリ用電圧設定コマンドを発行する（ステップＳ２５１）。ここで、挿入されているＳＤカード７がＳＤメモリカードである場合、コマンドレスポンスがＲＡＭアクセスインターフェイス３３に返ってくる。他方、挿入されているＳＤカード７がＳＤＩＯカードである場合には、コマンドレスポンスの応答はない。ＲＡＭアクセスインターフェイス３３は、コマンドレスポンスの応答があるか否かを判断し（ステップＳ２５２）、コマンドレスポンス応答がある場合には（ステップＳ２５２の「Ｙ」）、ステップＳ２０８に移行する一方、コマンドレスポンス応答がない場合には（ステップＳ２５２の「Ｎ」）、挿入カードがＳＤカードでない（ＳＤＩＯカードである）と判断して、エラー発生とする。
【００７８】
図６において、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のカードＩＤ、カードアドレス、およびカードサイズを取得する（ステップＳ２０８〜ステップＳ２１０）。ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のブロック長を設定した後（ステップＳ２１１）、データバス幅を設定する（ステップＳ２１２）。この後、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のカードステータスを取得する（ステップＳ２１３）。そして、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７から取得したこれらの情報に基づいて、データ位置のオフセット値を算出して記憶する。つぎに、ＲＡＭアクセスインターフェイス３３は、初期化済みフラグをセットする（ステップＳ２１４）。
【００７９】
他方、ＲＡＭアクセスインターフェイス３３は、カード未挿入や適応外のカード挿入によるエラーが発生した場合には、カード未挿入フラグをセットした後（ステップＳ２１５）、ステップＳ２１４に移行する。なお、カード未挿入の場合、一定時間の間はカード挿入の確認を継続することにしても良い。
【００８０】
以上説明したように、実施の形態２によれば、ＳＤカードの初期化処理において、ＳＤカードコントローラ３０がＳＤメモリカードのコマンドしか認識できない場合には、ＲＡＭアクセスインターフェイス３３は、ＳＤメモリ用電圧設定コマンドのレスポンス応答を監視して、ＳＤカードがＳＤメモリカードかＳＤＩＯカードかの判定を行うこととしたので、ＳＤメモリカードとＳＤＩＯカードの判別を自動的に行うことが可能となる。
【００８１】
また、その判定結果がＳＤＩＯメモリである場合には、カード未挿入フラグをセットして、ＳＤカードインターフェイス１９の動作を停止させることとしたので、ＳＤＩＯメモリが挿入された時のシステム異常を回避することが可能となる。
【００８２】
なお、実施の形態２の［ＳＤカードに対するリードアクセス］は、実施の形態１と同様であるので、その説明は省略する。
【００８３】
（実施の形態３）
実施の形態３にかかる画像形成装置を図８および図９を参照して説明する。実施の形態３において、［画像形成装置の構成］および［ＳＤカードインターフェイスの構成］は、実施の形態１と同様である。ただし、図２のＳＤカードコントローラ３０は、ＳＤメモリカードおよびＳＤＩＯカードのコマンドプロトコルを認識できるコントローラであるものとする。
【００８４】
［ＳＤカードの初期化処理］
実施の形態３のＳＤカード７の初期化処理を上記図２、図８および図９を参照して説明する。図８は、図２のＳＤカードインターフェイス１９によるＳＤカード７の初期化手順を説明するためのフローチャート、図９は、図８のＳＤカードの判定処理を具体的に処理内容を説明するためのフローチャートを示している。
【００８５】
ＳＤカードインターフェイス１９によるＳＤカード７の初期化は、電源投入時、ソフトウェアのアップデート時や自己診断プログラムの実行時等のサービスエンジニア等による特定の作業時に実行される。このように、ＳＤカードインターフェイス１９によるハードウェアでのＳＤカード７の初期化処理の使用目的を限定することでエラーの発生を抑えていることにしている。ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の初期化の前にＳＤカードコントローラ３０の初期化を行う。図４に示す処理はＳＤカードインターフェイス１９のシーケンス処理で行われる。また、図示していないが、図８の処理ステップ（Ｓ３０６〜Ｓ３１３）には、ＳＤカードにコマンドを発行する構成になっており、各ステップで発行するコマンドの種類は異なる。また、コマンドを発行した際は、ＳＤカードがコマンドを受信したことを示す応答「コマンドレスポンス」がＳＤカード７からＳＤカードコントローラ３０へ返ってくる構成となっている。
【００８６】
図８において、まず、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７が初期化済みであるか否か判定し（ステップＳ３０１）、初期化済みでない場合には、ＳＤカードインターフェイス１９をリセットする（ステップＳ３０２）。そして、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の挿入を確認し（ステップＳ３０３）、ＳＤカード７が装着されているか否かの判断を行い（ステップＳ３０４）、ＳＤカード７が装着されていない場合には、ステップＳ３０１に戻る一方、ＳＤカード７が装着されている場合には、ＳＤクロックを設定する（ステップＳ３２０）。
【００８７】
次に、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の初期化を行った後（ステップＳ３０６）、ＳＤカードの判定を行う（ステップＳ３０７）。ＳＤカードの判定を図９を参照して詳細に説明する。図９において、まず、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７に対してＳＤＩＯ用動作電圧設定コマンドを発行する（ステップＳ３４１）。ここで、挿入されているＳＤカード７がＳＤメモリカードである場合、コマンドレスポンスがＲＡＭアクセスインターフェイスに返ってくる。他方、挿入されているＳＤカード７がＳＤＩＯカードである場合、コマンドレスポンスの応答はない。ＲＡＭアクセスインターフェイス３３は、コマンドレスポンス応答があるか否かを判断し（ステップＳ３４２）、コマンドレスポンス応答がある場合には（ステップＳ３４２の「Ｙ」）、挿入されているカードがＳＩＤＯカードであると判断して、Ｅｒｒｏｒ発生とし、コマンドレスポンス応答がない場合には（ステップＳ３４２の「Ｎ」）、ステップＳ３４３に移行する。
【００８８】
ステップＳ３４３では、ＲＡＭアクセスインターフェイス３３は、ＳＤメモリ用動作電圧設定コマンドを発行する。ここで、ステップＳ３４３の時点で挿入されているカードはＳＤメモリカードと判定できているので、通常であれば、コマンドレスポンスの応答は返ってくるが、ＳＤメモリカードに不具合がある場合は、コマンドレスポンスの応答はない。ＲＡＭアクセスインターフェイス３３は、コマンドレスポンス応答があるか否かを判断し（ステップＳ３３４）、コマンドレスポンス応答がある場合には（ステップＳ３３４の「Ｙ」）、図８のステップＳ３０８に移行する一方、コマンドレスポンス応答がない場合には（ステップＳ３３４の「Ｎ」）、ＳＤメモリカードに不具合があると判断して、Ｅｒｒｏｒ発生とする。
【００８９】
そして、図８において、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のカードＩＤ、カードアドレス、およびカードサイズを取得する（ステップＳ３０８〜ステップＳ３１０）。ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のブロック長を設定した後（ステップＳ３１１）、データバス幅を設定する（ステップＳ３１２）。この後、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のカードステータスを取得する（ステップＳ３１３）。そして、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７から取得したこれらの情報に基づいて、データ位置のオフセット値を算出して記憶する。この後、ＲＡＭアクセスインターフェイス３３は、初期化済みフラグをセットする（ステップＳ３１４）。
【００９０】
他方、ＲＡＭアクセスインターフェイス３３は、カード未挿入や適応外のカード挿入によるエラーが発生した場合には、カード未挿入フラグをセットした後（ステップＳ３１５）、ステップＳ３２９に移行する。なお、カード未挿入の場合、一定時間の間はカード挿入の確認を継続することにしても良い。
【００９１】
以上説明したように、実施の形態３のＳＤカードの初期化処理によれば、ＳＤカードコントローラ３０が、ＳＤＩＯカードのコマンドを認識できる場合、最初にＳＤＩＯ用の動作電圧設定コマンドを設定することによってＳＤカードの判定をおこなうこととしたので、ＳＤメモリカードとＳＤＩＯカードの判別を自動的に行うことが可能となる。
【００９２】
また、その判定結果がＳＤＩＯメモリである場合には、カード未挿入フラグをセットして、ＳＤカードインターフェイス１９の動作を停止させることとしたので、ＳＤＩＯメモリが挿入された時のシステム異常を回避することが可能となる。
【００９３】
（実施の形態４）
実施の形態４にかかる画像形成装置を図１０を参照して説明する。実施の形態４において、［画像形成装置の構成］および［ＳＤカードインターフェイスの構成］は、実施の形態１と同様である。ただし、図２のＳＤカードコントローラ３０は、ＳＤメモリカードおよびＳＤＩＯカードのコマンドプロトコルを認識できるコントローラであるものとする。
【００９４】
上述したように、近年、画像形成装置の規模が大きくなり、それに対するソフトウェアの規模も大きくなってきており、ソフトウェアを格納するメモリ容量も必然的に大きい容量が必要となってきている。実施の形態４では、Ｉ／Ｏ機能を搭載したＳＤＩＯメモリを利用し、外部アクセスサーバーから必要なソフトウェアをダウンロードする構成を説明する。
【００９５】
ＳＤＩＯメモリは、フラッシュメモリ等からなる大容量のメモリ領域と、Ｉ／Ｏ機能を利用して外部のサーバー等（外部装置）からダウンロードしたデータを一時的に格納するバッファ用のＩ／Ｏ領域とを備えている。このメモリ領域には、プログラム等が記憶され、メモリ領域に格納されたプログラム等を画像形成装置にインストールする場合に使用される。他方、Ｉ／Ｏ領域は、画像形成装置で、外部のサーバ等からプログラム等をダウンロードする場合に、ＳＤＩＯメモリのＩ／Ｏ機能を利用して、外部のサーバー等からダウンロードしたプログラムを一時的に格納する領域で、この領域に格納されたデータを、画像形成装置でリードする。画像形成装置が、外部のサーバからプログラムをダウンロードする場合は、ＣＰＵ２が、ＳＤカードインターフェイス１９を介して、ＳＤＩＯメモリのＩ／Ｏ機能を利用して、外部のサーバー等と接続して、プログラムのダウンロードを行う。
【００９６】
［ＳＤカードの初期化処理］
実施の形態４のＳＤカード７の初期化処理を上記図２、図１０および図１１を参照して説明する。図１０は、図２のＳＤカードインターフェイス１９によるＳＤカード７の初期化手順を説明するためのフローチャート、図１１は、図１０のＳＤカードの判定処理の具体的な処理内容を説明するためのフローチャートを示している。
【００９７】
ＳＤカードインターフェイス１９によるＳＤカード７の初期化は、電源投入時、ソフトウェアのアップデート時や自己診断プログラムの実行時等のサービスエンジニア等による特定の作業時に実行される。このように、ＳＤカードインターフェイス１９によるハードウェアでのＳＤカード７の初期化処理の使用目的を限定することでエラーの発生を抑えていることにしている。ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の初期化の前にＳＤカードコントローラ３０の初期化を行う。
【００９８】
図１０に示す処理はＳＤカードインターフェイス１９のシーケンス処理で行われる。また、図示していないが、図１０の処理ステップ（Ｓ４０６〜Ｓ４１３）では、ＳＤカード７にコマンドを発行する構成になっており、各ステップで発行するコマンドの種類は異なる。また、コマンドを発行した際は、ＳＤカード７がコマンドを受信したことを示す応答「コマンドレスポンス」がＳＤカード７からＳＤカードコントローラ３０へ返ってくる構成となっている。
【００９９】
図１０において、まず、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７が初期化済みであるか否か判定し（ステップＳ４０１）、初期化済みでない場合には、ＳＤカードインターフェイス１９のリセットをする（ステップＳ４０２）。そして、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の挿入を確認し（ステップＳ４０３）、ＳＤカード７が装着されているか否かの判断を行い（ステップＳ４０４）、ＳＤカード７が装着されていない場合には、ステップＳ４０１に戻る一方、ＳＤカード７が装着されている場合には、ＳＤクロックを設定する（ステップＳ４０５）。次に、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７の初期化を行い（ステップＳ４０６）、ＳＤカードの判定を行う（ステップＳ４０７）。
【０１００】
このＳＤカードの判定処理を図１１を参照して詳細に説明する。図１１において、まず、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７に対してＳＤメモリ動作電圧設定コマンドを発行する（ステップＳ４１７）。ここで、挿入されているＳＤカード７がＳＤメモリカードである場合、コマンドレスポンスがＲＡＭアクセスインターフェイスに返ってくる。他方、挿入されているＳＤカード７がＳＤＩＯカードである場合、コマンドレスポンスの応答はない。
【０１０１】
ＲＡＭアクセスインターフェイス３３は、コマンドレスポンス応答があるか否かを判断し（ステップＳ４１８）、コマンドレスポンス応答がある場合には（ステップＳ４１８の「Ｙ」）、挿入されているＳＤカード７がＳＤメモリカードであると判断して、図３のステップＳ８〜Ｓ１５と同様な処理を行う。
【０１０２】
他方、コマンドレスポンス応答がない場合には（ステップＳ４１８の「Ｎ」）、ＲＡＭアクセスインターフェイス３３は、ＳＤＩＯ動作電圧設定コマンドを発行する（ステップＳ４１９）。ここで、ステップＳ４１９の時点で挿入されているカードはＳＤＩＯメモリカードと判定できているので、通常であれば、コマンドレスポンスの応答は返ってくるが、ＳＤＩＯカードに不具合がある場合は、コマンドレスポンスの応答はない。ＲＡＭアクセスインターフェイス３３は、コマンドレスポンス応答があるか否かを判断し（ステップＳ４２０）、コマンドレスポンス応答がある場合には（ステップＳ４２０の「Ｙ」）、図１０のステップＳ４０８に移行する一方、コマンドレスポンス応答がない場合には（ステップＳ４２０の「Ｎ」）、ＳＤＩＯカードに不具合があると判断して、Ｅｒｒｏｒ発生とする。
【０１０３】
ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のカードＩＤ、カードアドレス、およびカードサイズを取得する（ステップＳ４０８〜ステップＳ４１０）。ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のブロック長を設定した後（ステップＳ４１１）、データバス幅を設定する（ステップＳ４１２）。この後、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７のカードステータスを取得する（ステップＳ４１３）。そして、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７から取得したこれらの情報に基づいて、データ位置のオフセット値を算出して記憶する。この後、ＲＡＭアクセスインターフェイス３３は、外部と通信するためのＩ／Ｏモードを設定する（ステップＳ４１４）。そして、ＲＡＭアクセスインターフェイス３３は、初期化済みフラグをセットする（ステップＳ４１５）。
【０１０４】
他方、ＲＡＭアクセスインターフェイス３３は、カード未挿入や適応外のカード挿入によるエラーが発生した場合には、カード未挿入フラグをセットした後（ステップＳ４１６）、ステップＳ４１４に移行する。なお、カード未挿入の場合、一定時間の間はカード挿入の確認を継続することにしても良い。
【０１０５】
［ＳＤカードに対するリードアクセス］
図１２は、ＳＤカードのリードアクセスフローの一例を説明するためのフローチャートである。図１２を参照して、ＳＤＩＯカードのリードアクセスフローを説明する。ＳＤメモリカードのリードアクセスフローは図５と同様である。
【０１０６】
ＳＤカード７のリードアクセスは、図１０のＳＤカード７の初期化処理が終了するまでは起動構成となっている。図１２に示す処理はＳＤカードインターフェイス１９のシーケンス処理となっている。
【０１０７】
図１２において、まず、ＲＡＭアクセスインターフィス３３はＳＤＩＯカードが初期化済みであるか否かを判断して（ステップＳ４２１）、ＳＤＩＯカードが初期化済である場合には、ＳＤＩＯカードが挿入されているか否かを判断する（ステップＳ４２２）。この判断の結果、ＲＡＭアクセスインターフェイス３３は、ＳＤＩＯカードを認識できなかった場合は、処理を終了する。他方、ＲＡＭアクセスインターフェイス３３は、ＳＤＩＯカードを認識した場合には、ＣＰＵ２からアクセス要求があるか否かを判断する（ステップＳ４２３）。この判断の結果、ＲＡＭアクセスインターフェイス３３は、ＣＰＵ２からのアクセス要求がある場合には、このアクセス要求はリード要求であるか否かを判断する（ステップＳ４２４）。この判定の結果、ＲＡＭアクセスインターフェイス３３は、リード要求でない場合には、ＣＰＵ２に対してエラー応答を行なった後（ステップＳ４３１）、ステップ４２３に移行する。
【０１０８】
他方、ステップＳ２４において、リード要求がある場合には、ＲＡＭアクセスインターフェイス３３は、ＲＡＭ３３ａに格納したセクタのデータと同一のセクタ領域であるか否かを判定する（ステップＳ４２５）。同一セクタ領域である場合には、ステップＳ４３０に移行する一方、同一セクタ領域でない場合には、ＳＤＩＯカードにアクセスしたい領域が、メモリ領域かＩ／Ｏ領域かを判定する（ステップＳ４２６）。メモリ領域である場合には、ＲＡＭアクセスインターフェイス３３は、メモリ用セクタリードコマンドをＳＤカードコントローラ３０に発行する（ステップＳ４２７）。これに応じて、ＳＤカードコントローラ３０は、指定されたセクタのデータをＳＤＩＯカードのメモリ領域からリードする。ＲＡＭアクセスインターフェイス３３は、セクタリードが終了したか否かを判断し（ステップＳ４２８）、セクタリードが終了した場合には、ＲＡＭ（バッファメモリ）３３ａに１セクタ分のデータをコピーする（ステップＳ４２９）。
【０１０９】
一方、Ｉ／Ｏ領域である場合には、ＲＡＭアクセスインターフェイス３３は、Ｉ／Ｏ用セクタリードコマンドをＳＤカードコントローラ３０に発行する（ステップＳ４３２）。これに応じて、ＳＤカードコントローラ３０は、指定されたセクタのデータをＳＤカード７のＩ／Ｏ領域からリードする。ＲＡＭアクセスインターフェイス３３は、セクタリードが終了したか否かを判断し（ステップＳ４２８）、セクタリードが終了した場合には、ＲＡＭ（バッファメモリ）３３ａに１セクタ分のデータをコピーする（ステップＳ４２９）。
【０１１０】
そして、ＲＡＭアクセスインターフェイス３３は、ＣＰＵ２に対して、リードデータの応答を行なった後（ステップＳ４３０）、ステップ４２３に戻る。
【０１１１】
以上説明したように、実施の形態４によれば、ＳＤＩＤカードのメモリ領域の容量を越えた領域にアクセス領域がある場合には、Ｉ／Ｏ機能を利用して外部とアクセスしてデータアクセスを行うことが可能となる。
【０１１２】
（実施の形態５）
実施の形態５にかかる画像形成装置を図１３を参照して説明する。実施の形態５において、［画像形成装置の構成］および［ＳＤカードインターフェイスの構成］は、実施の形態１と同様である。ただし、図２のＳＤカードコントローラ３０は、ＳＤメモリカードおよびＳＤＩＯカードのコマンドプロトコルを認識できるコントローラであるものとする。［ＳＤカード７の初期化処理］は、実施の形態５（図１０）と同様であるのでその説明は省略する。
【０１１３】
［ＳＤカードに対するリードアクセス］
図１３は、ＳＤＩＯカードのリードアクセスフローの一例を説明するためのフローチャートである。図１３を参照して、ＳＤＩＯカードのリードアクセスフローを説明する。ＳＤＩＯカードのリードアクセスは、図１０の初期化処理が終了するまでは起動しない構成となっている。図１３に示す処理はＳＤカードインターフェイス１９のシーケンス処理となっている。
【０１１４】
図１３において、まず、ＲＡＭアクセスインターフィス３３はＳＤカード７が初期化済みであるか否かを判断して（ステップＳ５２１）、ＳＤカードが初期化済である場合には、ＳＤカード７が挿入されているか否かを判断する（ステップＳ５２２）。この判断の結果、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７を認識できなかった場合は、処理を終了する。他方、ＲＡＭアクセスインターフェイス３３は、ＳＤカード７を認識した場合には、ＣＰＵ２からアクセス要求があるか否かを判断する（ステップＳ５２３）。この判断の結果、ＲＡＭアクセスインターフェイス３３は、ＣＰＵ２からのアクセス要求がある場合には、このアクセス要求はリード要求であるか否かを判断する（ステップＳ５２４）。この判定結果、ＲＡＭアクセスインターフェイス３３は、リード要求でない場合には、ＣＰＵ２に対してエラー応答を行なった後（ステップＳ５３０）、ステップ５２３に移行する。
【０１１５】
他方、ステップＳ５２４において、リード要求がある場合には、ＲＡＭアクセスインターフェイス３３は、ＲＡＭ３３ａに格納したセクタのデータと同一のセクタ領域であるかを判定する（ステップＳ５２５）。同一セクタ領域である場合には、ステップＳ５２６に移行する一方、同一セクタ領域でない場合には、ＲＡＭアクセスインターフェイス３３は、Ｉ／Ｏ用リードコマンドをＳＤカードコントローラ３０に発行する（ステップＳ５２６）。これに応じて、ＳＤカードコントローラ３０は、指定されたセクタのデータをリードする。ＲＡＭアクセスインターフェイス３３は、セクタリードが終了したか否かを判断し（ステップＳ５２７）、セクタリードが終了した場合には、ＲＡＭ（バッファメモリ）３３ａに１セクタ分のデータをコピーする（ステップＳ５２８）。そして、ＲＡＭアクセスインターフェイス３３は、ＣＰＵ２に対して、リードデータの応答を行なった後（ステップＳ５２９）、ステップ５２３に戻る。
【０１１６】
実施の形態５によれば、ＳＤＩＯメモリのＩ／Ｏ機能を利用して外部とアクセスしてデータアクセスを行うことより、ＳＤＩＯメモリのメモリ容量を気にせずにデータアクセスを行うことが可能となる。
【０１１７】
なお、本発明は、上記した実施の形態に限定されるものではなく、発明の要旨を変更しない範囲で適宜変形可能である。例えば、上記した実施の形態では、カード型メモリとしてＳＤカードを例示して説明したが、本発明はこれに限られるものではなく、特定のサイズ単位でのアクセスが必要で、かつ着脱可能に設けられた他のカード型のメモリにも適用可能であり、例えば、マルチメディアカードにも適用可能である。
【０１１８】
【発明の効果】
以上説明したように、請求項１にかかるカード型メモリのインターフェイス回路によれば、特定のサイズ単位でのアクセスが必要で、かつ着脱可能に設けられたカード型メモリのインターフェイス回路において、前記カード型メモリに対してデータのリード／ライトを行うインターフェイスコントローラを初期化する初期化手段と、前記カード型メモリを初期化するカード型メモリ初期化手段と、前記カード型メモリのステータスの取得を行うステータス取得手段と、を備えているので、ＣＰＵ（ソフトウェア）によるインターフェイスの初期化を必要とせずに、システムの起動後、直ちにカード型メモリへのアクセスが可能となる。
【０１１９】
また、請求項２にかかるカード型メモリのインターフェイス回路は、請求項１にかかる発明において、ＣＰＵから前記カード型メモリに対して擬似的なランダムアクセスを行うためのアクセス回路を備えているので、請求項１にかかる発明の効果に加えて、カード型メモリに格納されたプログラムを実行する際に、ＲＡＭ等に一旦コピーすることなく、直接、カード型メモリ上でプログラムの実行が可能となる。
【０１２０】
また、請求項３にかかるカード型メモリのインターフェイス回路によれば、請求項２にかかる発明において、前記アクセス回路は、前記カード型メモリからリードした１セクタ分のデータを格納するバッファを有し、前記ＣＰＵからの前記カード型メモリのリードアクセスに対して、そのリードアクセスが前記バッファに格納されているセクタ内のデータである場合には、前記バッファから対応するデータを前記ＣＰＵに送信し、そのリードアクセスが前記バッファに格納されているセクタ内のデータでない場合には、前記インターフェイスコントローラを介して対応するセクタを前記カード型メモリから読み出して前記バッファに格納した後、前記バッファに格納したセクタ内の対応するデータを前記ＣＰＵに送信するので、請求項２にかかる発明の効果に加えて、カード型メモリへのアクセス回数を低減することが可能となる。
【０１２１】
また、請求項４にかかるカード型メモリのインターフェイス回路によれば、請求項１〜請求項３のいずれか１つにかかる発明において、前記カード型メモリに対してＤＭＡ転送を行うためのＤＭＡ回路と、前記アクセス回路と前記ＤＭＡ回路との選択・切替えを行う切替回路と、を備えたこととしたので、請求項１〜請求項３のいずれか１つにかかる発明の効果に加えて、カード型メモリのストレージ用途とＲＡＭ用との共存／選択が同一システム内で可能となる。
【０１２２】
また、請求項５にかかるカード型メモリのインターフェイス回路によれば、請求項１〜請求項４のいずれか１つにかかる発明において、前記カード型メモリとの通信時にエラーが発生した場合に、通信速度を段階的に低速に変更して通信を行うこととしたので、請求項１〜請求項４のいずれか１つにかかる発明の効果に加えて、ＣＰＵやハードウェアで修正することなく、データ転送エラーによる動作停止を防ぐことが可能となる。
【０１２３】
また、請求項６にかかるカード型メモリのインターフェイス回路によれば、請求項１〜５のいずれか１つにかかる発明において、前記カード型メモリ初期化手段は、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリかＩＯ機能を有しないカード型メモリかを判定する判定手段を含むこととしたので、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリかＩＯ機能を有しないカード型メモリかを判定することが可能となる。
【０１２４】
また、請求項７にかかるカード型メモリのインターフェイス回路によれば、請求項６にかかる発明において、前記カード型メモリ初期化手段は、前記判定手段で、挿着されたたカード型メモリが、ＩＯ機能を有するカード型メモリであると判定された場合に、前記カード型メモリのインターフェイス回路を停止させることとしたので、カード型メモリのインターフェイス回路が、Ｉ／Ｏ機能を有するカード型メモリに対応していない場合において、Ｉ／Ｏ機能を有するカード型メモリが挿入された場合に、システムの異常が発生することを回避することが可能となる。
【０１２５】
また、請求項８にかかるカード型メモリのインターフェイス回路によれば、請求項７にかかる発明において、前記アクセス回路は、前記判定手段で、挿着されたカード型メモリが、ＩＯ機能を有するカード型メモリであると判定された場合には、前記ＩＯ機能を有するカード型メモリのＩＯ機能を利用して外部サーバーのデータにアクセスし、または、当該ＩＯ機能を有するカード型メモリのメモリ領域に格納されたデータにアクセスすることとしたので、大容量のソフトウエアを外部の装置からカード型メモリを介してダウンロードすることが可能となる。
【０１２６】
また、請求項９にかかるカード型メモリのインターフェイス回路によれば、請求項１〜請求項８のいずれか１つにかかる発明において、前記カード型メモリは、ＳＤカードであることとしたので、請求項１〜請求項５のいずれか１つにかかる発明の効果に加えて、ＳＤカードに適用可能となる。
【０１２７】
また、請求項１０にかかるカード型メモリのインターフェイス回路によれば、請求項９にかかる発明において、前記Ｉ／Ｏ機能を有するカード型メモリは、ＳＤＩＯカードであり、前記Ｉ／Ｏ機能を有しないカード型メモリは、ＳＤメモリカードであることとしたので、ＳＤメモリカード、ＳＤＩＯカードに適用することが可能となる。
【０１２８】
また、請求項１１にかかるＡＳＩＣによれば、画像入出力機能、画像処理機能、およびデータ通信等の複数のアプリケーション機能を有し、各アプリケーション機能がメモリ、ハードディスク等を共有資源として利用可能に構成されたＡＳＩＣにおいて、請求項１〜請求項１０のいずれか１つに記載のカード型メモリのインターフェイス回路を搭載したこととしたので、ＣＰＵ（ソフトウェア）によるインターフェイスの初期化を必要とせずに、システムの起動後、直ちにカード型メモリへのアクセスが可能となる。
【０１２９】
また、請求項１２にかかる画像形成装置によれば、請求項１１に記載のＡＳＩＣを搭載した画像形成装置において、前記カード型メモリに格納されているプログラムをダウンロード可能に構成したので、カード型メモリからからプログラムをダウンロードすることが可能となる。
【図面の簡単な説明】
【図１】本発明にかかるＳＤカードインターフェイスを内蔵したＡＳＩＣを備えた画像形成装置の概略のハードウエア構成を示す図である。
【図２】図１のＳＤカードインターフェイスの構成例を示す図である。
【図３】ＳＤカードインターフェイスによるＳＤカードの初期化手順を説明するためのフローチャートである。
【図４】ＳＤカードのリードアクセスフローの一例を説明するためのフローチャートである。
【図５】ＳＤカードインターフェイスによるＳＤカードの初期化処理時のクロックの自動修正処理を説明するためのフローチャートである。
【図６】実施の形態２において、ＳＤカードインターフェイスによるＳＤカードの初期化手順を説明するためのフローチャートである。
【図７】実施の形態２において、図６のＳＤカードの判定処理を説明するためのフローチャートである。
【図８】実施の形態３において、ＳＤカードインターフェイスによるＳＤカードの初期化手順を説明するためのフローチャートである。
【図９】実施の形態３において、図８のＳＤカードの判定処理を説明するためのフローチャートである。
【図１０】実施の形態４において、ＳＤカードインターフェイスによるＳＤカードの初期化手順を説明するためのフローチャートである。
【図１１】実施の形態４において、図１０のＳＤカードの判定処理を説明するためのフローチャートである。
【図１２】実施の形態４において、ＳＤカードのリードアクセスフローの一例を説明するためのフローチャートである。
【図１３】実施の形態５において、ＳＤカードのリードアクセスフローの一例を説明するためのフローチャートである。
【符号の説明】
１　　ＡＳＩＣ
２　　ＣＰＵ
３　　メモリ
４　　ＨＤＤ
５　　ＰＨＹデバイス（ネットワークデバイス）
６　　ＰＨＹデバイス（ＵＳＢデバイス）
７　　ＳＤカード
８　　プリンタエンジン
１１　メモリ・アービタ
１２　ＤＭＡコントローラ
１３　ＤＭＡコントローラ
１４　ＤＭＡコントローラ
１５　ＤＭＡコントローラ
１６　ＨＤＤインターフェイス
１７　Ｎｅｔｗｏｒｋインターフェイス
１８　ＵＳＢインターフェィス
１９　ＳＤカードインターフェイス
２０　ＣＰＵインターフェイス
２１　ＩＥＥＥ１２８４インターフェイス
２２　プリンタエンジンインターフェイス
２３　メモリコントローラ
３０　ＳＤカードインターフェイス
３１　マルチプレクサ
３２　ＤＭＡインターフェイス
３３　ＲＡＭアクセスインターフェイス
３４　制御回路
【図１】
2004133881.tif 000003
【図２】
2004133881.tif 000004
【図３】
2004133881.tif 000005
【図４】
2004133881.tif 000006
【図５】
2004133881.tif 000007
【図６】
2004133881.tif 000008
【図７】
2004133881.tif 000009
【図８】
2004133881.tif 000010
【図９】
2004133881.tif 000011
【図１０】
2004133881.tif 000012
【図１１】
2004133881.tif 000013
【図１２】
2004133881.tif 000014
【図１３】
2004133881.tif 000015