(57)【要約】【課題】プリントコントローラに搭載される揮発性メモリと不揮発性メモリのデータバスを共用できない場合でも、プリントコントローラに搭載されるＡＳＩＣのピン数を削減するための技術を提供する。【解決手段】プリンタコントローラ１００は、不揮発性メモリ１０３と、印刷データをパルス幅変調して印刷エンジン３００に供給するＰＷＭ（パルス幅変調回路）１０４と、を制御する。プリンタコントローラ１００は、不揮発性メモリ１０３及びＰＷＭ１０４に共通に接続される外部バス４００を有する。プリンタコントローラ１００は、外部バス４００を、不揮発性メモリ１０３へのデータの書き込み、不揮発メモリ１０３からのデータの読み込み、及び、ＰＷＭ１０４への印刷データの送出、のいずれに用いるかを切り替えることができる。【選択図】図１
2008217648.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリと、印刷データをパルス幅変調して印刷エンジンに供給するパルス幅変調回路と、を制御するプリンタコントローラであって、
前記不揮発性メモリ及び前記パルス幅変調回路に共通に接続されるバスと、
前記バスを、前記不揮発性メモリへのデータの書き込み、前記不揮発メモリからのデータの読み込み、及び、前記パルス幅変調回路への印刷データの送出、のいずれに用いるかを切り替える切り替え回路と、
前記切り替え回路の切り替え動作を制御する制御装置と、
を有する、ことを特徴とするプリンタコントローラ。
【請求項２】
請求項１に記載のプリンタコントローラであって、
前記切り替え回路は、
前記バスを、前記不揮発性メモリへのデータの書き込み、及び、前記パルス幅変調回路への印刷データの送出、のいずれに用いるかを選択する第１の回路と、
前記バスを、前記選択、及び、前記不揮発メモリからのデータの読み込み、のいずれに用いるかを選択する第２の回路と、
を有する、ことを特徴とするプリンタコントローラ。
【請求項３】
請求項２に記載のプリンタコントローラであって、
前記制御装置は、
前記第１の回路に第１の制御信号を供給していずれに用いるかの選択をさせ、及び、前記第２の回路に第２の制御信号を供給して、いずれに用いるかの選択をさせる、ことで前記切り替え動作を制御する、
ことを特徴とするプリンタコントローラ。
【請求項４】
請求項１乃至３のいずれか１項に記載のプリンタコントローラであって、
前記制御装置は、
前記切り替え回路が前記バスを前記不揮発性メモリへのデータの書き込みに用いるように切り替えたとき、前記印刷エンジンの動作を休止させる制御信号を該印刷エンジンに供給し、
前記切り替え回路が前記バスを前記不揮発性メモリからのデータの読み込みに用いるように切り替えたとき、前記不揮発性メモリにデータの読み込みを行うことを通知する信号を供給し、
前記切り替え回路が前記バスを前記パルス幅変調回路への印刷データの送出に用いるように切り替えたとき、前記不揮発性メモリへの書き込み処理を不許可にさせる制御信号を該不揮発性メモリに供給する、
ことを特徴とするプリンタコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントコントローラに係り、特に、搭載されるＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）のピン数を削減するための技術に関する。
【背景技術】
【０００２】
一般的に、レーザープリンタのプリントコントローラは、電源が投入されたとき、外部にある不揮発性メモリから、印刷制御を行うためのプログラムを、外部にある揮発性のメモリにロードして、動作を開始する。その後、プリントコントローラは、ホストＰＣ（パーソナルコンピュータ）から印刷対象の画像データを受信したとき、これに基づき印刷データを生成する。プリントコントローラは、生成した印刷データを、出力バスを介して、印刷エンジンに送信する。
【０００３】
このとき、印刷エンジンは、印刷データを１ビットのシリアルデータで受け付けて、印刷処理を実行する。しかしながら、カラーレーザープリンタでは、高解像度を実現するため、ＡＳＩＣの外部にパルス幅変調回路（以下、ＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）と呼ぶ）を設け、ＡＳＩＣは、印刷データを８ビットのパラレルデータでＰＷＭに送信する。この場合、ＰＷＭは、送信されたパラレルデータを１ビットのシリアルデータにパルス幅変換して、これを印刷エンジンに送信する。
【０００４】
上記のようなプリントコントローラに搭載されるＡＳＩＣのピン数は多くなり、コストがかかるといった問題がある。そこで、ＡＳＩＣのピン数を削減するために、プログラムを格納している不揮発性メモリと、プログラムを展開する揮発性メモリのデータバスを共用させることが多くなってきている。例えば、特許文献１には、プリントコントローラにおいて、不揮発性メモリであるＲＯＭと、揮発性メモリであるＲＡＭのデータバスを共用させる技術について記載されている。
【０００５】
【特許文献１】特開２００３−１９６１５３号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、近年、プリントコントローラに搭載される揮発性メモリには、高速動作するＤＤＲやＤＤＲ２等が用いられるようになってきている。このような揮発性メモリは、ＲＯＭのような不揮発性メモリとは動作電圧が異なるため、データバスを共用化させにくい。
【０００７】
本発明は、プリントコントローラに搭載される揮発性メモリと不揮発性メモリのデータバスを共用できない場合でも、プリントコントローラに搭載されるＡＳＩＣのピン数を削減するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明では、不揮発性メモリと、印刷データをパルス幅変調して印刷エンジンに供給するパルス幅変調回路と、を制御するプリンタコントローラが、前記不揮発性メモリ及び前記パルス幅変調回路に共通に接続されるバスと、前記バスを、前記不揮発性メモリへのデータの書き込み、前記不揮発メモリからのデータの読み込み、及び、前記パルス幅変調回路への印刷データの送出、のいずれに用いるかを切り替える切り替え回路と、前記切り替え回路の切り替え動作を制御する制御装置と、を有する、ことを特徴とする。
【発明の効果】
【０００９】
本発明のプリントコントローラによれば、搭載される揮発性メモリと不揮発性メモリのデータバスを共用できない場合でも、搭載されるＡＳＩＣのピン数を削減する。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の最良の実施の形態を、図面を参照して説明する。
【００１１】
本発明の実施形態に適用されるプリントコントローラ１００のハードウェア構成の一例を、図１のブロック図に示す。プリントコントローラ１００には、図示するように、ホストＰＣ２００と印刷エンジン３００が接続される。プリントコントローラ１００は、ホストＰＣ２００から送られてきた画像データに基づいて、印刷データを生成する。プリントコントローラ１００は、生成した印刷データを、印刷エンジン３００に送信する。印刷エンジン３００は、受け付けた印刷データを印刷する。
【００１２】
ホストＰＣ２００は、パーソナルコンピュータ等の一般的な情報処理装置である。ホストＰＣ２００は、プリントコントローラ１００に接続される。ホストＰＣ２００は、例えば、生成した印刷対象の画像データに、印刷を指示するコマンドを付加して、ＡＳＩＣ１０１に送信する。
【００１３】
プリントコントローラ１００は、ＡＳＩＣ１０１と、揮発性メモリ１０２と、不揮発性メモリ１０３と、ＰＷＭ１０４と、ＣＰＵ１０５と、電源１０６と、を有する。なお、ＣＰＵ１０５とＡＳＩＣ１０１をまとめて、プリントコントローラ１００の制御装置と呼んでもよい。
【００１４】
電源１０６は、プリントコントローラ１００全体の駆動源となる装置である。例えば、電源１０６は、プリントコントローラ１００内の各部に、電源電圧を供給する。なお、電源１０６は、後述する揮発性メモリ１０２と不揮発性メモリ１０３に、異なる電源電圧を供給するようにしてもよい。
【００１５】
不揮発性メモリ１０３は、フラッシュメモリ等のような読み書き可能な不揮発性の記憶装置である。不揮発性メモリ１０３は、後述するＰＷＭ１０４と共用の外部バス４００を介して、ＡＳＩＣ１０１に接続される。また、不揮発性メモリ１０３には、プリントコントローラ１００を初期化するための初期プログラム、印刷エンジン３００に印刷させるための印刷データを生成する印刷データ生成プログラム、等が予め格納されている。また、初期プログラム以外のプログラムは、圧縮されて不揮発性メモリ１０３に格納されている。
【００１６】
不揮発性メモリ１０３は、外部バス４００を介して、ＡＳＩＣ１０１からデータの読み出しを開始する信号が供給されると、リードイネーブル信号を有効にして、ＡＳＩＣ１０１からの読み出しを許可する。また、不揮発性メモリ１０３は、外部バス４００を介して、ＡＳＩＣ１０１から送信された印刷データを書き込まないようにするために、ライトイネーブル信号を無効にして、ＡＳＩＣ１０１からのデータの書き込みを不許可にすることができる。これにより、外部バス４００を介して、ＡＳＩＣ１０１からＰＷＭ１０４へ送信された印刷データは、不揮発性メモリ１０３に書き込まれない。
【００１７】
揮発性メモリ１０２は、ＣＰＵ１０５が実行するプログラムを展開するための揮発性の記憶装置である。揮発性メモリ１０２は、揮発性メモリ専用のバスにより、ＡＳＩＣ１０１に接続される。揮発性メモリ１０２は、例えば、ＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ＳＤＲＡＭ）、ＤＤＲ２  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ２  ＳＤＲＡＭ）、等のメモリである。
【００１８】
ＰＷＭ１０４は、不揮発性メモリ１０３と共用の外部バス４００を介して、ＡＳＩＣ１０１に接続される。また、ＰＷＭ１０４には、印刷エンジン３００が接続される。ＰＷＭ１０４は、ＡＳＩＣ１０１から送信された印刷データを、印刷エンジン３００が印刷可能なデータに変換するパルス幅変調回路である。例えば、ＰＷＭ１０４は、８ビットのパラレルデータ（印刷データ）が送られてきたとき、このデータを１ビットのシリアルデータに変換して、順次、印刷エンジン３００に送信する。なお、本発明では、ＡＳＩＣ１０１から送信される印刷データは、８ビットに限定されず、例えば、４色分のパラレルデータ（８ビット×４色）であってもよい。
【００１９】
ＣＰＵ１０５は、プリントコントローラ１００全体の制御を行う。ＣＰＵ１０５は、ＣＰＵ専用のバスにより、ＡＳＩＣ１０１に接続される。ＣＰＵ１０５は、例えば、電源１０６から電源電圧が供給されたときに、不揮発性メモリ１０３に格納されている初期プログラムをＡＳＩＣ１０１を介してロードする。また、ＣＰＵ１０５は、不揮発性メモリ１０３に圧縮されて格納されている各種プログラムを、ＡＳＩＣ１０１を介して、揮発性メモリ１０２に展開する。さらに、ＣＰＵ１０５は、ホストＰＣ２００からの指示を受け付けて、ＡＳＩＣ１０１に生成させた印刷データをＰＷＭ１０４に送信する。このとき、プリントコントローラ１００では、ＡＳＩＣ１０１から不揮発性メモリ１０３へのアクセス時と、ＡＳＩＣ１０１からＰＷＭ１０４への印刷データ出力時に、共用の外部バス４００が利用される。ＣＰＵ１０５は、ＡＳＩＣ１０１から不揮発性メモリ１０３へのアクセス時には、外部バス４００を不揮発性メモリ専用のバスに切り替え、ＡＳＩＣ１０１からＰＷＭ１０４への印刷データ出力時には、外部バス４００を印刷データ出力専用バスに切り替える制御を、ＡＳＩＣ１０１に行わせる。
【００２０】
ＡＳＩＣ１０１は、印刷対象の画像データに対する画像処理、外部バス４００の切り替え制御、等を行うための集積回路である。ＡＳＩＣ１０１は、ＣＰＵ制御回路１１０と、揮発性メモリ制御回路１１１と、不揮発性メモリ制御回路１１２と、画像処理回路１１３と、バス切り替え回路１１４と、Ｉ／Ｆ制御回路１１５と、を有する。ＣＰＵ制御回路１１０、揮発性メモリ制御回路１１１、不揮発性メモリ制御回路１１２、画像処理回路１１３、Ｉ／Ｆ制御回路１１５は、内部バス４０１を介して相互に接続される。
【００２１】
ＣＰＵ制御回路１１０には、ＣＰＵ専用のバスによりＣＰＵ１０５が接続される。ＣＰＵ制御回路１１０は、ＣＰＵ１０５から供給された信号を、ＡＳＩＣ１０１内の各部を制御するための信号に変換する。また、ＣＰＵ制御回路１１０は、ＡＳＩＣ１０１内の各部から供給された信号を、ＣＰＵ１０５が処理可能な信号に変換する。例えば、ＣＰＵ制御回路１１０は、ＣＰＵ１０５から供給された指示信号に基づき、揮発性メモリ１０２に展開されたプログラムを揮発性メモリ１０２からロードするための制御信号を、揮発性メモリ制御回路１１１に供給する。また、例えば、ＣＰＵ制御回路１１０は、ＣＰＵ１０５から供給された指示信号に基づき、外部バス４００の切り替えを制御するための信号を、バス切り替え回路１１４に供給する。
【００２２】
また、ＣＰＵ制御回路１１０は、印刷エンジン３００が印刷を完了したことを示す信号を、専用の配線（図１の波線）を介して、受け付けるようにしてもよい。さらに、ＣＰＵ制御回路１１０は、印刷エンジン３００の動作を休止（サスペンド）させる信号を、専用の配線（図１の波線）を介して、印刷エンジン３００に供給することができる。
【００２３】
揮発性メモリ制御回路１１１には、揮発性メモリ専用のバスにより揮発性メモリ１０２が接続される。揮発性メモリ制御回路１１１は、揮発性メモリ１０２を制御する回路である。例えば、揮発性メモリ制御回路１１１は、ＣＰＵ制御回路１１０からの制御信号に基づき、揮発性メモリ１０２上の所定のアドレスに格納されているプログラムを、ＣＰＵ制御回路１１０に読み出す。また、揮発性メモリ制御回路１１１は、ＣＰＵ制御回路１１０からの制御信号に基づき、ＲＯＭ１０３に格納されている初期プログラムを、不揮発性メモリ１０３から不揮発性メモリ制御回路１１２を介して取得し、これを揮発性メモリ１０２上の所定のアドレスに格納する。
【００２４】
不揮発性メモリ制御回路１１２には、バス切り替え回路１１４、外部バス４００を介して、不揮発性メモリ１０３が接続される。不揮発性メモリ制御回路１１１は、不揮発性メモリ１０３を制御する回路である。例えば、不揮発性メモリ制御回路１１１は、ＣＰＵ制御回路１１０からの制御信号に基づき、不揮発性メモリ１０３上の所定のアドレスに格納されている初期プログラムを、ＣＰＵ制御回路１１０に読み出す。また、不揮発性メモリ制御回路１１１は、ＣＰＵ制御回路１１０からの制御信号に基づき、不揮発性メモリ１０３上の所定のアドレスに、データを格納する。
【００２５】
画像処理回路１１３は、印刷エンジン３００が印刷可能な印刷データを生成する回路である。画像処理回路１１３は、例えば、ホストＰＣ２００が生成した画像データから、印刷データを生成する。画像処理回路１１３は、生成した印刷データを、バス切り替え回路１１４、外部バス４００を介して、８ビット単位でパラレルにＰＷＭ１０４に送信する。
【００２６】
Ｉ／Ｆ制御回路１１５は、ホストＰＣ２００等の外部機器とデータの送受信を行う。Ｉ／Ｆ制御回路１１５には、例えば、ホストＰＣ２００がＵＳＢ接続する。
【００２７】
バス切り替え回路１１４は、外部バス４００の切り替えを制御する回路である。例えば、バス切り替え回路１１４は、ＣＰＵ制御回路１１０から供給される制御信号に基づき、外部バス４００を不揮発性メモリ専用のバスや印刷データ出力専用のバスに切り替える制御を行う。
【００２８】
次に、バス切り替え回路１１４内部のハードウェア構成の一例を、図２に示す。バス切り替え回路１１４は、図示するように、Ｉ／Ｏバッファ回路１２０と、セレクタ１３０と、ＡＮＤ回路１４０と、切り替え信号生成回路１５０と、を有する。
【００２９】
Ｉ／Ｏバッファ回路１２０は、ＡＳＩＣ１０１と、不揮発性メモリ１０３又はＰＷＭ１０４と、の間におけるデータの入出力を制御する回路である。Ｉ／Ｏバッファ回路１２０は、バッファ回路１２１と、トライステートバッファ回路１２２と、を有する。例えば、不揮発性メモリ１０３から読み出されたリードデータは、バッファ回路１２１を介して、不揮発性メモリ制御回路１１２に供給される。また、不揮発性メモリ制御回路１１２から供給されたライトデータや、画像処理回路１１２から供給された印刷データは、セレクタ１３０、トライステートバッファ回路１２２を介して、不揮発性メモリ１０３又はＰＷＭ１０４に出力される。このような制御は、後述するＡＮＤ回路１４０からトライステートバッファ回路１２２に供給される外部バス制御信号に基づいて行われる。ここで、外部バス制御信号は、図３に示すように、有効（例えば、電圧が５［Ｖ］）又は無効（例えば、電圧が０［Ｖ］）を示す信号である。例えば、外部バス制御信号が有効のとき（図３に示すＴ０〜Ｔ１、Ｔ２〜Ｔ３の期間）は、トライステートバッファ回路１２２は、ハイ・インピーダンス状態になるため、リードデータが、バッファ回路１２１を介して、不揮発性メモリ１０３から不揮発性メモリ制御回路１１２に読み出される。一方、外部バス制御信号が無効のとき（図３に示すＴ１〜Ｔ２、Ｔ３以降の期間）は、セレクタ１３０から入力されたデータ（ライトデータ又は印刷データ）が、トライステートバッファ回路１２２を介して、不揮発性メモリ１０３又はＰＷＭ１０４に出力される。
【００３０】
ここで、外部バス制御信号は、ＡＮＤ回路１４０が、切り替え信号生成回路１５０から供給された切り替え信号と、不揮発性メモリ制御回路１１２から供給された不揮発性メモリバス制御信号の論理積演算を行うことで得られる。
【００３１】
不揮発性メモリバス制御信号は、図３に示すように、有効（例えば、電圧が５［Ｖ］）又は無効（例えば、電圧が０［Ｖ］）を示す信号である。例えば、不揮発性メモリ制御回路１１２は、不揮発性メモリ１０３にライトデータを出力するとき（図３に示すＴ１〜Ｔ２の期間）に、無効を示す不揮発性メモリバス制御信号をＡＮＤ回路１４０に供給する。
【００３２】
切り替え信号は、図３に示すように、有効（例えば、電圧が５［Ｖ］）又は無効（例えば、電圧が０［Ｖ］）を示す信号である。例えば、切り替え信号生成回路１５０は、ＣＰＵ制御回路１１０からの指示信号に基づいて、有効か無効である切り替え信号を、セレクタ１３０及びＡＮＤ回路１４０に供給する。
【００３３】
セレクタ１３０は、切り替え信号生成回路１５０から供給された切り替え信号に基づいて、不揮発性メモリ制御回路１１２からのライトデータをトライステートバッファ回路１２２に出力するか、画像処理回路１１３からの印刷データを出力するか選択する。このとき、例えば、セレクタ１３０に供給される切り替え信号が有効のとき（図３に示すＴ０〜Ｔ３の期間）に、セレクタ１３０は、不揮発性メモリ制御回路１１２からのライトデータをトライステートバッファ回路１２２に出力する。一方、セレクタ１３０に供給される切り替え信号が無効のとき（図３に示すＴ３以降の期間）、セレクタ１３０は、画像処理回路１１３からの印刷データをトライステートバッファ回路１２２に出力する。
【００３４】
以上のような構成により、バス切り替え回路１１４は、外部バス４００を不揮発性メモリ専用のバスや印刷データ出力専用のバスに切り替える制御を行うことができる。
【００３５】
次に、図３のタイミングチャートを参照して、バス切り替え回路１１４が行う切り替え制御を、時系列に従って説明する。
【００３６】
まず、Ｔ０〜Ｔ１の期間において、切り替え信号生成回路１５０が出力する切り替え信号、及び、不揮発性メモリ制御回路１１２が出力する不揮発性メモリバス制御信号がともに有効のとき、ＡＮＤ回路１４０で生成される外部バス制御信号は有効となる。このとき、トライステートバッファ回路１２２は、ハイ・インピーダンス状態となり、不揮発性メモリ１０３からリードデータが、不揮発性メモリ制御回路１１２に読み出される。仮に、このとき、不揮発性メモリ制御回路１１２からライトデータが出力されていたり、画像処理回路１１３から印刷データが出力されていたとしても、これらデータはＡＳＩＣ１０１の外部に出力されない。従って、外部バス４００は、不揮発性メモリ１０３からのデータ読み出し専用のバスに切り替えられていることになる。
【００３７】
Ｔ１の時点で、不揮発性メモリ制御回路１１２が出力する不揮発性メモリバス制御信号が無効に切り替わると、ＡＮＤ回路１４０で生成される外部バス制御信号は無効に切り替わる。これにより、トライステートバッファ回路１２２は、入力されたデータをそのまま出力するバッファ回路となる。また、切り替え信号生成回路１５０が出力する切り替え信号は有効のままであるため、セレクタ１３０は、不揮発性メモリ制御回路１１２から供給されているライトデータを出力する。従って、Ｔ１〜Ｔ２の期間において、不揮発性メモリ制御回路１１２から出力されたライトデータは、不揮発性メモリ１０３に書き込まれる。仮に、このとき、画像処理回路１１３から印刷データが出力されていたとしても、印刷データはＡＳＩＣ１０１の外部に出力されない。また、不揮発性メモリ１０３からリードデータが読み出されることもない。従って、外部バス４００は、不揮発性メモリ１０３へのデータ書き込み専用のバスに切り替えられていることになる。
【００３８】
Ｔ２〜Ｔ３の期間においては、Ｔ０〜Ｔ１の期間と同様に、外部バス４００は、不揮発性メモリからのデータ読み出し専用のバスに切り替えられる。
【００３９】
Ｔ３の時点で、切り替え信号生成回路１５０が生成する切り替え信号が有効から無効に切り替わると、ＡＮＤ回路１４０で生成される外部バス制御信号は無効に切り替わる。これにより、トライステートバッファ回路１２２は、入力されたデータをそのまま出力するバッファ回路となる。また、セレクタ１３０は、画像処理回路１１３から供給されている印刷データを出力する。従って、Ｔ３以降の期間において、画像処理回路１１３からから出力された印刷データは、ＰＷＭ１０４に供給される。仮に、このとき、不揮発性メモリ制御回路１１２からライトデータが出力されていたとしても、ライトデータはＡＳＩＣ１０１の外部に出力されない。従って、外部バス４００は、印刷データ出力専用のバスに切り替えられていることになる。
【００４０】
図１に戻って、印刷エンジン３００は、ＰＷＭ１０４から入力された１ビットのシリアルデータ（印刷データ）に基づいて印刷用紙に印刷を行う。印刷エンジン３００は、例えば、レーザプリンタであれば、レーザ照射機構、感光体ドラム、紙送り機構等により構成される。また、印刷エンジン３００は、ＰＷＭ１０４から入力された印刷データに基づく印刷処理を終了したときに、印刷処理を終了したことを示す信号を、専用の配線（図１の波線）を介して、ＣＰＵ制御回路１１０に供給するようにしてもよい。また、印刷エンジン３００は、ＣＰＵ制御回路１１０から、専用の配線（図１の波線）を介して、動作を休止（サスペンド）させる信号が供給されたとき、印刷処理の動作を休止させる。例えば、印刷エンジン３００が休止しているときに、ＰＷＭ１０４から印刷データが供給されても、印刷エンジン３００はこれを印刷しない。
【００４１】
以上のような構成により、プリントコントローラ１００に搭載される不揮発性メモリ１０３のデータバスと、ＰＷＭ１０４のデータバスを共用化することができる。これにより、プリントコントローラに搭載されるＡＳＩＣ１０１のピン数を削減することができる。
【００４２】
図４は、プリントコントローラ１００で行われる外部バス４００の切り替え処理を説明するためのフローチャートである。
【００４３】
プリントコントローラ１００のＣＰＵ１０５に電源１０６から電源電圧が供給されたときに、ＣＰＵ１０５は、切り替え処理を開始する。
【００４４】
まず、ＣＰＵ１０５は、不揮発性メモリ１０３に格納されている初期プログラムをロードする（ステップＳ１０１）。このとき、ＣＰＵ１０５は、読み出した初期プログラムを実行することで、プリントコントローラ１００のシステムを起動する。具体的には、ＣＰＵ１０５は、ＣＰＵ制御回路１１０を介して、バス切り替え回路１１４に、外部バス４００を不揮発性メモリ１０３からのデータ読み出し専用のバスに切り替える指示信号を供給する。このとき、例えば、ＣＰＵ１０５は、バス切り替え回路１１４の切り替え信号生成回路１５０に、有効信号を出力させる指示信号を供給する。これとともに、ＣＰＵ１０５は、不揮発性メモリ制御回路１１２に、有効である不揮発性メモリバス制御信号を、バス切り替え回路１１４のＡＮＤ回路１４０に出力させる指示信号を供給する。また、このとき、ＣＰＵ１０５は、バス切り替え回路１１４、外部バス４００を介して、リードイネーブル信号を有効にする指示信号を不揮発性メモリ１０３に供給する。なお、この指示信号は、ＰＷＭ１０４にも供給されるが、ＰＷＭ１０４は、リードイネーブル信号を有効にする機構を有さないため、この指示信号を受け付けない。その後、ＣＰＵ１０５は、不揮発性メモリ１０３にアクセスして、初期プログラムが格納されている不揮発性メモリ１０３上のアドレス等を、外部バス４００を介してＣＰＵ１０５内部のレジスタ等に読み出して、初期プログラムを実行する。
【００４５】
次に、ＣＰＵ１０５は、ステップＳ１０１でロードした初期プログラムに従って、不揮発性メモリ１０３に圧縮されている各種プログラム（印刷データ生成プログラム等の、プリントコントローラ１００を制御するためのプログラムを含む）を、外部バス４００を介して、揮発性メモリ１０２に展開する（ステップＳ１０２）。
【００４６】
このとき、プリントコントローラ１００にホストＰＣ２００から、印刷対象の画像データが供給されると、ＣＰＵ１０５は、外部バス４００を、印刷データ出力専用のバスに切り替える（ステップＳ１０３）。具体的には、ホストＰＣ２００から、印刷対象の画像データが、Ｉ／Ｆ制御回路１１５に供給されたとき、Ｉ／Ｆ制御回路１１５は、ホストＰＣから画像データが供給されたことを、ＣＰＵ１０５に通知する。このとき、ホストＰＣ２００から供給された画像データは、揮発性メモリ１０２等に格納される。また、ＣＰＵ１０５は、ＣＰＵ制御回路１１０を介して、バス切り替え回路１１４に、外部バス４００を印刷データ出力専用のバスに切り替える指示信号を供給する。例えば、ＣＰＵ１０５は、バス切り替え回路１１４の切り替え信号生成回路１５０に、無効信号を出力させる指示信号を供給する。また、このとき、ＣＰＵ１０５は、バス切り替え回路１１４、外部バス４００を介して、不揮発性メモリ１０３のライトイネーブル信号を無効にする指示信号を不揮発性メモリ１０３に供給する。
【００４７】
ＣＰＵ１０５は、ステップＳ１０２で揮発性メモリ１０２に展開した画像処理用のプログラムに従って、画像処理回路１１３に、揮発性メモリ１０２に格納した画像データに対する画像処理を行わせる（ステップＳ１０４）。具体的には、ＣＰＵ１０５は、揮発性メモリ１０２に格納した画像データを、揮発性メモリ制御回路１１１を介して、画像処理回路１１３に供給する。このとき、画像処理回路１１３は、供給された画像データから、印刷エンジン３００が印刷可能な印刷データを生成する。続いて、画像処理回路１１３は、生成した印刷データを、外部バス４００、ＰＷＭ１０４を介して、印刷エンジン３００に供給する。
【００４８】
そして、ＣＰＵ１０５は、印刷エンジン３００から、印刷終了の通知を受けたときに、切り替え処理を終了する。
【００４９】
以上の切り替え処理により、プリントコントローラ１００は、外部バス４００を介して、不揮発性メモリ１０３からプログラムを読み出し、同一の外部バス４００を介して、印刷データを印刷エンジン３００に供給することができる。また、プリンタコントローラ１００において、不揮発性メモリ１０３へのアクセスは、基本的には電源投入時にのみ行われ、ＰＷＭ１０４へ印刷データを供給するのは、印刷エンジン３００が印刷を実行する期間だけである。従って、不揮発性メモリ１０３へのアクセスと、印刷データの供給と、が同時になることは稀である。
【００５０】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
例えば、上述した切り替え処理中に、不揮発性メモリ１０３へのアクセスが要求された場合、印刷データの出力を停止して、外部バス４００を不揮発性メモリ１０３専用のバスに切り替えるようにしてもよい。
【００５１】
図５は、上述した切り替え処理中に、不揮発性メモリ１０３へのアクセスが要求された場合に、印刷データの出力を停止して、外部バス４００を不揮発性メモリ１０３専用のバスに切り替える処理を説明するためのフローチャートである。
【００５２】
ＣＰＵ１０５は、不揮発性メモリ１０３へのアクセスが要求されるまで待機している（ステップＳ２０１；Ｎｏ）。ここで、不揮発性メモリ１０３へのアクセス要求は、例えば、ＣＰＵ１０５にエラーが生じた場合や、プリントコントローラ１００のシステムをリセットした場合や、ＮＭＩ（Ｎｏｎ−Ｍａｓｋａｂｌｅ  Ｉｎｔｅｒｒｕｐｔ）が生じた場合に、発生する。また、ユーザにより、不揮発性メモリ１０３に対してデータの読み書きを指示された場合にも、不揮発性メモリ１０３へのアクセス要求は発生する。
【００５３】
不揮発性メモリ１０３へのアクセスが要求されると（ステップＳ２０１；Ｙｅｓ）、ＣＰＵ１０５は、印刷データの出力を停止する（ステップＳ２０２）。具体的には、ＣＰＵ１０５は、不揮発性メモリ１０３へのアクセスを要求する信号を受け付けた（或いは、生成した）ときに、画像処理回路１１３に、印刷データのＰＷＭ１０４への供給を停止させる。
【００５４】
続いて、ＣＰＵ１０５は、外部バス４００を、不揮発性メモリ１０３専用のバスに切り替える（ステップＳ２０３）。具体的には、ＣＰＵ１０５は、ＣＰＵ制御回路１１０を介して、バス切り替え回路１１４に、外部バス４００を不揮発性メモリ１０３専用のバスに切り替える指示信号を供給する。このとき、例えば、ＣＰＵ１０５は、バス切り替え回路１１４の切り替え信号生成回路１５０に、有効信号を出力させる指示信号を供給する。また、データの読み出し（リードデータ）か書き込みか（ライトデータ）に応じて、ＣＰＵ１０５は、不揮発性メモリ制御回路１１２に、有効又は無効を示す不揮発性メモリバス制御信号を、バス切り替え回路１１４のＡＮＤ回路１４０に出力させる指示信号を供給する。また、例えば、不揮発性メモリ１０３へのアクセス要求が、書き込み処理であった場合、ＣＰＵ１０５は、ＣＰＵ制御回路１１０を介して、印刷エンジン３００の動作を休止（サスペンド）させる信号を、印刷エンジン３００に供給する。これにより、不揮発性メモリ１０３へのライトデータが、外部バス４００を介してＰＷＭ１０４にも送信されるが、印刷エンジン３００は、休止（サスペンド）状態であるため、印刷処理は行われない。
【００５５】
その後、ＣＰＵ１０５は、図５に示す処理を終了する。
【００５６】
また、上述した切り替え処理中に、不揮発性メモリ１０３へのアクセスが要求された場合、印刷データの印刷が終了するまで待機した後、外部バス４００を不揮発性メモリ１０３専用のバスに切り替えるようにしてもよい。
【００５７】
図６は、上記切り替え処理中に、不揮発性メモリ１０３へのアクセスが要求された場合に、印刷データの印刷が終了するまで待機した後、外部バス４００を不揮発性メモリ１０３専用のバスに切り替える処理を説明するためのフローチャートである。
【００５８】
ＣＰＵ１０５は、不揮発性メモリ１０３へのアクセスが要求されるまで待機している（ステップＳ３０１；Ｎｏ）。不揮発性メモリ１０３へのアクセスが要求されると（ステップＳ３０１；Ｙｅｓ）、ＣＰＵ１０５は、印刷処理が終了するまで待機する（ステップＳ３０２；Ｎｏ）。具体的には、ＣＰＵ１０５は、印刷エンジン３００からＣＰＵ制御回路１１０に、印刷処理を終了したことが通知されたか否かにより判別する。
【００５９】
ＣＰＵ１０５は、印刷処理が終了したと判別した場合（ステップＳ３０２；Ｙｅｓ）、外部バス４００を、不揮発性メモリ１０３専用のバスに切り替える（ステップＳ３０３）。具体的には、ＣＰＵ１０５は、ＣＰＵ制御回路１１０を介して、バス切り替え回路１１４に、外部バス４００を不揮発性メモリ専用のバスに切り替える指示信号を供給する。このとき、例えば、ＣＰＵ１０５は、バス切り替え回路１１４の切り替え信号生成回路１５０に、有効信号を出力させる指示信号を供給する。また、データの読み出し（リードデータ）か書き込みか（ライトデータ）に応じて、ＣＰＵ１０５は、不揮発性メモリ制御回路１１２に、有効又は無効を示す不揮発性メモリバス制御信号を、バス切り替え回路１１４のＡＮＤ回路１４０に出力させる指示信号を供給する。また、例えば、不揮発性メモリ１０３へのアクセス要求が、書き込み処理であった場合、ＣＰＵ１０５は、ＣＰＵ制御回路１１０を介して、印刷エンジン３００の動作を休止（サスペンド）させる信号を、印刷エンジン３００に供給する。これにより、不揮発性メモリ１０３へのライトデータが、外部バス４００を介してＰＷＭ１０４にも送信されるが、印刷エンジン３００は、休止（サスペンド）状態であるため、印刷処理は行われない。
【００６０】
その後、ＣＰＵ１０５は、図６に示す処理を終了する。
【００６１】
さらに、上記実施形態では、プリンタコントローラ１００とホストＰＣ２００とはＵＳＢ接続される。しかしながら、本発明は、これに限定されず、ネットワーク接続等でもよい。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施形態に係るプリンタコントローラのハードウェア構成図である。
【図２】バス切り替え回路のハードウェア構成図である。
【図３】バス切り替え回路を制御する制御信号と、各バスを伝送されるデータのタイミング図である。
【図４】バス切り替え処理を説明するためのフローチャートである。
【図５】印刷データの出力を停止してバスを切り替える処理を説明するためのフローチャートである。
【図６】印刷データの印刷終了を待機してバスを切り替える処理を説明するためのフローチャートである。
【符号の説明】
【００６３】
１００…プリントコントローラ、１０１…ＡＳＩＣ、１０２…揮発性メモリ、１０３…不揮発性メモリ、１０４…ＰＷＭ、１０５…ＣＰＵ、１０６…電源、１１０…ＣＰＵ制御回路、１１１…揮発性メモリ制御回路、１１２…不揮発性メモリ制御回路、１１３…画像処理回路、１１４…バス切り替え回路、１１５…Ｉ／Ｆ制御回路、１２０…Ｉ／Ｏバッファ回路、１２１…バッファ回路、１２２…トライステートバッファ回路、１３０…セレクタ、１４０…ＡＮＤ回路、１５０…切り替え信号生成回路、２００…ホストＰＣ、３００…印刷エンジン、４００…外部バス、４０１…内部バス。
【図１】
2008217648.tif 000003
【図２】
2008217648.tif 000004
【図３】
2008217648.tif 000005
【図４】
2008217648.tif 000006
【図５】
2008217648.tif 000007
【図６】
2008217648.tif 000008