(57)【要約】【課題】クロック信号線及びデータ信号線以外に信号線を増やすことなく、シリアル通信の同期を可能とする。【解決手段】クロック（ＣＬＫ）信号２０２及びコマンド（ＣＭＤ）信号２０３を供給する装置本体１００と、該装置本体にステータス（ＳＴＳ）信号２０４を供給する外部装置２０ｂとの間で、ＣＬＫ信号に同期してシリアル通信を行うときに、装置本体で、ＣＭＤ信号のレベルを変化させて通信の開始を通知し、外部装置では、ＣＭＤ信号から分岐したＣＭＤ割込み信号２０５のレベルの変化を検出して、通信の開始を判断する。【選択図】図２
2011187079.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号に同期してコマンド信号をスレーブ装置に送信するマスタ装置と、前記コマンド信号に応じて前記クロック信号に同期してステータス信号を前記マスタ装置に送信するスレーブ装置とを備えたシリアル通信システムであって、
前記マスタ装置と前記スレーブ装置は、前記クロック信号を送信するクロック信号線と、前記コマンド信号を送信するコマンド信号線と、前記ステータス信号を送信するステータス信号線と、によって接続され、
前記コマンド信号線から分岐され、前記コマンド信号の信号レベルの変化に応じて、前記マスタ装置からの前記スレーブ装置に通信開始を通知するためのコマンド割込み信号を送信するコマンド割込み信号線は、前記スレーブ装置の割込みポートに接続され、
前記スレーブ装置は、前記マスタ装置との通信を開始しておらず、前記割込みポートの設定を前記コマンド割込み信号を受信すると前記マスタ装置との通信が開始されたと認識する割込み許可としている際に前記コマンド割込み信号を受信すると、前記マスタ装置との通信を開始するとともに、前記割込みポートの設定を前記マスタ装置との通信が終了するまで前記コマンド割込み信号を受信しても前記マスタ装置との通信開始の通知と認識しない割込み禁止とすることを特徴とするシリアル通信システム。
【請求項２】
クロック信号に同期してコマンド信号をスレーブ装置に送信するマスタ装置と、前記コマンド信号に応じて前記クロック信号に同期してステータス信号を前記マスタ装置に送信するスレーブ装置とを備えたシリアル通信システムであって、
前記マスタ装置と前記スレーブ装置は、前記クロック信号を送信するクロック信号線と、前記コマンド信号を送信するコマンド信号線と、前記ステータス信号を送信するステータス信号線と、によって接続され、
前記クロック信号線から分岐され、前記クロック信号の信号レベルの変化に応じて、前記マスタ装置からの前記スレーブ装置に通信開始を通知するためのクロック割込み信号を送信するクロック割込み信号線は、前記スレーブ装置の割込みポートに接続され、
前記スレーブ装置は、前記マスタ装置との通信を開始しておらず、前記割込みポートの設定を前記クロック割込み信号を受信すると前記マスタ装置との通信が開始されたと認識する割込み許可としている際に前記クロック割込み信号を受信すると、前記マスタ装置との通信を開始するとともに、前記割込みポートの設定を前記マスタ装置との通信が終了するまで前記クロック割込み信号を受信しても前記マスタ装置との通信開始と認識しない割込み禁止とすることを特徴とするシリアル通信システム。
【請求項３】
前記スレーブ装置は、前記マスタ装置への前記ステータス信号の送信が完了しなかった場合に、前記ステータス信号の信号レベルを変化させることで、通信エラーが発生したことを前記マスタ装置に通知することを特徴とする請求項１又は２に記載のシリアル通信システム。
【請求項４】
前記マスタ装置は、前記スレーブ装置から前記通信エラーが発生したことを通知された場合に、前記コマンド信号によりリセットコマンドを前記スレーブ装置に送信し、前記通信エラーを解消することを特徴とする請求項３に記載のシリアル通信システム。
【請求項５】
クロック信号に同期してコマンド信号をスレーブ装置に送信するマスタ装置と、前記コマンド信号に応じて前記クロック信号に同期してステータス信号を前記マスタ装置に送信するスレーブ装置とを備え、
前記マスタ装置から前記コマンド信号が前記スレーブ装置に送信され、前記スレーブ装置から前記コマンド信号に応じた前記ステータス信号が前記マスタ装置に送信されることで通信を行うシリアル通信システムであって、
前記マスタ装置と前記スレーブ装置は、前記クロック信号を送信するクロック信号線と、前記コマンド信号を送信するコマンド信号線と、前記ステータス信号を送信するステータス信号線と、によって接続され、
前記コマンド信号線から分岐され、前記コマンド信号の信号レベルの変化に応じて、前記マスタ装置と前記スレーブ装置の通信開始を通知するためのコマンド割込み信号を送信するコマンド割込み信号線は、前記スレーブ装置の割込みポートに接続され、
前記通信を行う際に、前記通信が開始されておらず、前記割込みポートの設定を前記コマンド割込み信号を受信すると前記マスタ装置と前記スレーブ装置の通信が開始されたと認識する割込み許可としている際に前記コマンド割込み信号を受信すると、前記マスタ装置と前記スレーブ装置の通信を開始するとともに、前記割込みポートの設定を前記マスタ装置と前記スレーブ装置の通信が終了するまで前記コマンド割込み信号を受信しても前記マスタ装置と前記スレーブ装置の通信開始の通知と認識しない割込み禁止とすることを特徴とするシリアル通信システム。
【請求項６】
クロック信号に同期してコマンド信号をスレーブ装置に送信するマスタ装置と、前記コマンド信号に応じて前記クロック信号に同期してステータス信号を前記マスタ装置に送信するスレーブ装置とを備え、
前記マスタ装置から前記コマンド信号が前記スレーブ装置に送信され、前記スレーブ装置から前記コマンド信号に応じた前記ステータス信号が前記マスタ装置に送信されることで通信を行うシリアル通信システムであって、
前記マスタ装置と前記スレーブ装置は、前記クロック信号を送信するクロック信号線と、前記コマンド信号を送信するコマンド信号線と、前記ステータス信号を送信するステータス信号線と、によって接続され、
前記クロック信号線から分岐され、前記クロック信号の信号レベルの変化に応じて、前記マスタ装置と前記スレーブ装置の通信開始を通知するためのクロック割込み信号を送信するクロック割込み信号線は、前記スレーブ装置の割込みポートに接続され、
前記通信を行う際に、前記通信が開始されておらず、前記割込みポートの設定を前記クロック割込み信号を受信すると前記マスタ装置と前記スレーブ装置の通信が開始されたと認識する割込み許可としている際に前記クロック割込み信号を受信すると、前記マスタ装置と前記スレーブ装置の通信を開始するとともに、前記割込みポートの設定を前記マスタ装置と前記スレーブ装置の通信が終了するまで前記クロック割込み信号を受信しても前記マスタ装置と前記スレーブ装置の通信開始の通知と認識しない割込み禁止とすることを特徴とするシリアル通信システム。
【請求項７】
前記スレーブ装置は、前記マスタ装置への前記ステータス信号の送信が完了しなかった場合に、前記ステータス信号の信号レベルを変化させることで、通信エラーが発生したことを前記マスタ装置に通知することを特徴とする請求項５又は６に記載のシリアル通信システム。
【請求項８】
前記マスタ装置は、前記スレーブ装置から前記通信エラーが発生したことを通知された場合に、前記コマンド信号によりリセットコマンドを前記スレーブ装置に送信し、前記通信エラーを解消することを特徴とする請求項７に記載のシリアル通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信のシステム及び方法に関し、より詳細には、例えば、電子写真方式や静電記憶方式の複写機、プリンタなどの画像形成装置と、その画像形成装置に接続される外部装置との間のインタフェースに適用可能なシリアル通信のシステム及び方法に関する。
【背景技術】
【０００２】
従来、クロック同期シリアル通信は、例えば、特開平６−２４３０５２号公報（特許文献１）に記載されているように、クロック信号線とデータ信号線に加え、送信側と受信側のハンドシェイク、すなわち、同期通信行う場合、要求側が相手側に通信の開始について同意を求める要求信号を送信し、相手側がそれを認める認識信号を返答した時点で通信を開始する方式、のための信号線を設け、通信開始の同期をとる、あるいは、クロック信号にノイズが入るなどしてシリアル通信にエラーが発生した場合の通信のリカバリを行うように構成されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−２４３０５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の従来技術では、クロック同期シリアル通信に必須のデータ信号線とクロック信号線の他に、シリアル通信の開始を知らせるための信号線を設けておく必要があり、コスト面で不利となる。
【０００５】
これは、シリアル通信エラー発生時のリカバリについても同様であり、エラーの発生やリカバリ処理専用の信号線を設けるのはコスト面で不利となる。
【０００６】
本発明は、以上のような状況に鑑みてなされたものであり、クロック同期シリアル通信において、クロック信号線及びデータ信号線以外に信号線を増やすことなく、通信の同期が可能なシリアル通信のシステム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明の一態様としてのシリアル通信システムは、クロック信号に同期してコマンド信号をスレーブ装置に送信するマスタ装置と、前記コマンド信号に応じて前記クロック信号に同期してステータス信号を前記マスタ装置に送信するスレーブ装置とを備えたシリアル通信システムであって、前記マスタ装置と前記スレーブ装置は、前記クロック信号を送信するクロック信号線と、前記コマンド信号を送信するコマンド信号線と、前記ステータス信号を送信するステータス信号線と、によって接続され、前記コマンド信号線から分岐され、前記コマンド信号の信号レベルの変化に応じて、前記マスタ装置からの前記スレーブ装置に通信開始を通知するためのコマンド割込み信号を送信するコマンド割込み信号線は、前記スレーブ装置の割込みポートに接続され、前記スレーブ装置は、前記マスタ装置との通信を開始しておらず、前記割込みポートの設定を前記コマンド割込み信号を受信すると前記マスタ装置との通信が開始されたと認識する割込み許可としている際に前記コマンド割込み信号を受信すると、前記マスタ装置との通信を開始するとともに、前記割込みポートの設定を前記マスタ装置との通信が終了するまで前記コマンド割込み信号を受信しても前記マスタ装置との通信開始の通知と認識しない割込み禁止とすることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、マスタ装置とスレーブ装置との間でシリアル通信を行う際に、両者のタイミングを同期させるためのハンドシェイク信号を新たに設けることなしに、通信の開始タイミングを同期させることが可能となる。
【０００９】
従って、クロック信号線及びデータ信号線以外に信号線を増やすことなく、シリアル通信の同期が可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るカラーレーザープリンタの全体構成図である。
【図２】第１の実施の形態における装置本体と外部装置とのインタフェースを説明するブロック図である。
【図３】第１の実施の形態のシリアル通信方式のタイミングチャートである。
【図４】第１の実施の形態における装置本体での処理手順を示すフローチャートである。
【図５】第１の実施の形態における外部装置での処理手順を示すフローチャートである。
【図６】第３の実施の形態のシリアル通信方式における第１のタイミングチャートである。
【図７】第３の実施の形態のシリアル通信方式における第２のタイミングチャートである。
【図８】第３の実施の形態における装置本体での処理手順を示すフローチャートである。
【図９】第３の実施の形態における外部装置での処理手順を示すフローチャートである。
【図１０】第２の実施の形態における装置本体と外部装置とのインタフェースを説明するブロック図である。
【図１１】第２の実施の形態のシリアル通信方式のタイミングチャートである。
【図１２】第２の実施の形態における装置本体での処理手順を示すフローチャートである。
【図１３】第２の実施の形態における外部装置での処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、添付図面を参照して、本発明の好適な実施の形態を例示的に詳しく説明する。ただし、以下の実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００１２】
尚、以下で説明する実施の形態では、電子写真方式に従ってカラー画像を形成する画像形成装置を例に挙げて説明するが、本発明は、このような画像形成装置だけでなく、外部装置インタフェースを有する様々な装置に適用できる。
【００１３】
＜第１の実施形態＞
本発明に係る第１の実施の形態として、電子写真方式に従ってカラー画像を形成する画像形成装置であるカラーレーザープリンタを装置本体、オプションの給紙装置を外部装置として、レーザプリンタから給紙装置へのコマンド信号を、給紙装置内で分岐させ、給紙装置を制御するＣＰＵの割込みポートへ接続して、給紙装置がシリアル通信の開始を判断する方式を説明する。
【００１４】
始めに、本実施形態に係るカラーレーザープリンタの全体構成について説明する。
【００１５】
（全体構成）
図１は、本実施形態に係るカラーレーザープリンタの全体構成図である。図１に示すカラーレーザープリンタ１００は、画像形成に使用するトナーの色に応じて４個の像担持体である感光体ドラム１ａ〜１ｄを有している。それぞれの感光体ドラム１の周囲には回転方向に従って順に、感光体ドラム１表面を一様に帯電する帯電手段２ａ〜２ｄ、画像情報に基づいてレーザービームを照射し感光体ドラム１上に静電潜像を形成する露光手段３ａ〜３ｄ、静電潜像にトナーを付着させてトナー像として顕像化する現像手段４ａ〜４ｄ、感光体ドラム１上のトナー像をシートに転写させる転写部材５ａ〜５ｄ、転写後の感光体ドラム１表面に残留した転写後トナーを除去するクリーニング手段６ａ〜６ｄ等が配設されて、画像形成手段が構成されている。
【００１６】
ここで、感光体ドラム１と帯電手段２、現像手段４、クリーニング手段６は一体的にカートリッジ化され、プロセスカートリッジ７ａ〜７ｄを形成している。
【００１７】
給送部２０ａ又は２０ｂから給送されたシートは、搬送ベルトで構成した搬送手段９によって上記画像形成手段へ搬送され、各色のトナー像が順次転写されて多色画像が形成された後、定着手段１０で加熱定着されて排出ローラ対１１、１２によって排出部１３に排出、積載される。
【００１８】
（給送部）
本体の給送部２０ａから用紙を給紙して画像形成する場合には、カセットピックアップローラ２１ａによって一枚ずつシートが分離給送され、カセット搬送ローラ２２ａ、中間搬送ローラ２３を介してレジストローラ１５によって搬送手段９に搬送される。
【００１９】
２０ｂは、オプションの給紙装置であり、本発明の外部装置に相当する。給紙装置２０ｂから用紙を給紙して画像形成する場合には、給紙装置のピックアップローラ２１ｂによって一枚ずつシートが分離給送され、給紙装置の搬送ローラ２２ｂ、中間搬送ローラ２４、本体給送部の中間搬送ローラ２３を介してレジストローラ１５によって搬送手段９に搬送される。
【００２０】
（画像形成部）
像担持体としての感光体ドラム１は、アルミニウム製シリンダの外周面に有機光導電体層（ＯＰＣ）を塗布して構成したものである。感光体ドラム１はその両端部をフランジによって回転自在に支持しており、一方の端部に図示しない駆動モータから駆動力を伝達することにより、図に対して反時計回りに回転駆動される。
【００２１】
各帯電手段２は、ローラ状に形成された導電性のローラで、これを感光体ドラム１表面に当接させると共に、図示しない電源によって帯電バイアス電圧を印加することにより、感光体ドラム１の表面を一様に帯電させるものである。
【００２２】
露光手段３は、ポリゴンミラーを有し、このポリゴンミラーには図示しないレーザーダイオードから画像信号に対応する画像光が照射される。
【００２３】
現像手段４は、それぞれブラック、シアン、マゼンタ、イエローの各色のトナーを収納したトナー収納部４ａ１〜４ｄ１と、感光体表面に隣接し、図示しない駆動部により回転駆動されると共に、図示しない現像バイアス電源により現像バイアス電圧を印可することにより現像を行う現像ローラ４ａ２〜４ｄ２等から構成される。
【００２４】
また、後述する転写搬送ベルト９の内側には、４個の感光体ドラム１ａ〜１ｄに対向して、転写搬送ベルト９ａに当接する転写部材５ａ〜５ｄがそれぞれ併設されている。これら転写部材５ａ〜５ｄには、図示しない転写バイアス用電源が接続されており、転写部材５ａ〜５ｄから正極性の電荷が転写搬送ベルト９ａを介してシートに印加され、この電界により感光体ドラム１に接触中のシートに、感光体ドラム１上の負極性の各色トナー像が順次転写され、多色画像が形成される。
【００２５】
（シート搬送詳細）
給送部２０ａ又は給紙装置２０ｂより給送されたシートは、搬送手段９によって画像形成領域に搬送される。搬送手段９を構成する記録材担持体としての転写搬送ベルト９ａは、駆動ローラ９ｂと従動コロ９ｃ、９ｄの３本のローラで張架支持され、すべての感光体ドラム１ａ〜１ｄに対向して配設されている。転写搬送ベルト９ａは、感光体ドラム１に対向する外周面にシートを静電吸着して上記感光体ドラム１にシートを接触させるべく、駆動ローラ９ｂによって循環移動する。これによりシートは転写搬送ベルト９ａにより転写位置まで搬送され、感光体ドラム１上のトナー像が転写される。
【００２６】
また、転写搬送ベルト９ａの最上流位置には、該ベルト９ａと共にシートを挟持し、かつシートをベルト９ａに吸着させる吸着ローラ９ｅが配設されている。シートの搬送に際しては、この吸着ローラ９ｅに電圧を印加することで、対向している設置された従動コロ９ｃとの間に電界を形成し、転写搬送ベルト９ａ及びシートの間に誘電分極を発生させて両者に静電吸着力を生じさせるようになっている。
【００２７】
（定着部）
定着手段１０は、シート上に形成した画像に熱及び圧力を加えてトナー像を定着させるものであり、定着ベルト１０ａと弾性加圧ローラ１０ｂとを有している。弾性加圧ローラ１０ｂは定着ベルト１０ａを挟み、ベルトガイド部材１０ｃと所定の圧接力をもって所定幅の定着ニップ部を形成している。
【００２８】
定着ニップ部が所定の温度に立ち上がって温調された状態において、画像形成部から搬送された未定着トナー画像が形成されたシートが定着ニップ部の定着ベルト１０ａと弾性加圧ローラ１０ｂとの間に画像面が上向き、即ち定着ベルト面に対向して導入され、定着ニップ部において画像面が定着ベルト１０ａの外面に密着して定着ベルト１０ａと一緒に定着ニップ部を挟持搬送されていく。
【００２９】
この定着ニップ部を定着ベルト１０ａと一緒にシートが挟持搬送されていく過程において、定着ベルト１０ａで加熱され、シート上の未定着トナー画像が加熱定着される。
【００３０】
（通信インタフェース）
図２は、本実施の形態における装置本体と外部装置とのインタフェースを説明するブロック図である。
【００３１】
装置本体１００の制御ＣＰＵ２００と、外部装置２０ｂの制御ＣＰＵ２０１との間のインタフェース信号は、通信の同期を取るためのクロック信号２０２（以後「ＣＬＫ信号」と称する）、装置本体から外部装置へのデータ信号であるコマンド信号２０３（以後、「ＣＭＤ信号」と称する）、外部装置から装置本体へのデータ信号であるステータス信号２０４（以後、「ＳＴＳ信号」と称する）の３本で構成されている。
【００３２】
このように、本実施形態では、装置本体１００はクロック信号とデータ信号を供給するマスタ装置として働き、外部装置２０ｂは装置本体１００から供給されたクロック信号及びデータ信号に応じて動作し、データ信号としてステータス信号を出力するスレーブ装置として働く。
【００３３】
ＣＭＤ信号２０３は、外部装置内で分岐され、分岐されたＣＭＤ割込み信号２０５は、外部装置２０ｂの制御ＣＰＵ２０１の割込みポートに接続されている。ＣＭＤ割込み信号２０５が接続されている外部装置の制御ＣＰＵ２０１の割込みポートは、レベル割込みとなっており、信号がＬＯＷレベルとなると割込みが発生するように設定されている。
【００３４】
図３は本実施の形態のシリアル通信方式のタイミングチャート、図４は本実施の形態の装置本体の処理を示すフローチャート、図５は本実施の形態の外部装置の処理を示すフローチャートをそれぞれ示している。
【００３５】
図３のタイミングチャートを参照して、本実施の形態におけるシリアル通信の手順について説明する。図中、３０１は通信開始タイミング、３０２は通信終了タイミングをそれぞれ示しており、両者の間の期間を１回の通信サイクルとして通信を行う。
【００３６】
装置本体１００は、通信開始前にはＣＭＤ信号のレベルをＨＩＧＨレベルに保持し、通信開始時（３０１）に、ＬＯＷレベルにする（３０６）。
【００３７】
一方、外部装置２０ｂは、通信開始前には、ＣＭＤ割込み信号が接続されている割込みポートの設定を割込み許可にする（３１２）。この割込みポートは、レベル割込みとなっていて、信号がＬＯＷレベルとなると割込みが発生するように設定されているため、通信開始時に、装置本体がＣＭＤ信号（＝ＣＭＤ割込み信号）の信号レベルをＨＩＧＨからＬＯＷに変化させた時（３０６）に、外部装置２０ｂに割込みが発生することになる（以降、ＣＭＤ割込み信号による割込みを「ＣＭＤ割込み」と称する）。
【００３８】
外部装置２０ｂは、ＣＭＤ割込みが発生した時点で通信の開始を判断し、ＣＭＤ割込み信号２０５が接続されている割込みポートの設定を割込み禁止にして（３１３）、コマンド受信の準備を行う。
【００３９】
装置本体１００は、コマンド送信用のクロック（３０３）と、コマンド（３０７）を送信し、コマンド送信終了時に、ＣＭＤ信号のレベルをＨＩＧＨレベルにして（３０８）、次の通信開始（３０２）までその状態を保持する。装置本体は、ＣＭＤ信号のレベルをＨＩＧＨレベルにした後、ステータス受信用のクロック（３０４）を出力し、ステータス（３１１）を外部装置２０ｂから受信する。
【００４０】
外部装置２０ｂは、コマンド（３０７）を受信すると、受信したコマンドを解析し、装置本体に送信するステータスを準備する。その後、ステータス送信用のクロック（３０４）に同期してステータス（３１１）を送信し、ステータス送信終了と同時（３１４）に、ＣＭＤ割込み信号２０５が接続されている割込みポートの設定を割込み許可状態にして、次の通信開始に備える。
【００４１】
図４のフローチャートを参照して、装置本体での処理手順について説明する。
【００４２】
装置本体１００は、通信の開始時に、ＣＭＤ信号線の信号レベルをＨＩＧＨからＬＯＷにする（Ｓ４０１）。その後、コマンドデータ送信用のクロックを出力し、コマンドデータを送信する（Ｓ４０２）。コマンドデータ送信後、ＣＭＤ信号のレベルをＬＯＷからＨＩＧＨに戻し（Ｓ４０３）、ステータス受信用のクロックを出力して、ステータスを受信する（Ｓ４０４）。その後、次の通信開始タイミングまで待って（Ｓ４０５）、装置本体は上記の処理を繰り返す。
【００４３】
図５のフローチャートを参照して、外部装置２０ｂでの処理手順について説明する。
【００４４】
外部装置２０ｂは、通信開始前に、ＣＭＤ割込み信号２０５の割込み設定を割込み許可状態にする（Ｓ５０１）。ＣＭＤ割込み信号２０５が接続されている外部装置２０ｂの制御ＣＰＵ２０１の割込みポートは、レベル割込みとなっていて、信号がＬＯＷレベルとなると割込みが発生するため、装置本体がコマンド送信時にＣＭＤ信号のレベルをＨＩＧＨからＬＯＷに変化させた時（Ｓ４０１）に、ＣＭＤ割込みが発生する。外部装置２０ｂは、ＣＭＤ割込みが発生した（ＣＭＤ割込み信号の立下り）時点で、通信の開始を判断し（Ｓ５０２）、コマンド受信の準備を開始するとともに、ＣＭＤ割込み信号２０５が接続されている外部装置２０ｂの割込みポートを割込み禁止状態に設定する（Ｓ５０３）。その後、コマンドの受信を開始する（Ｓ５０４）。
【００４５】
外部装置２０ｂはコマンド受信を完了すると（Ｓ５０５）、受信したコマンドを解析し、ステータスを準備し（Ｓ５０６）。ステータス送信用のクロックに同期してステータスを送信する（Ｓ５０７）。
【００４６】
外部装置２０ｂは、ステータスの送信が終了すると（Ｓ５０８）、再度Ｓ５０１へ戻り、ＣＭＤ割込み信号２０５が接続されている外部装置２０ｂの制御ＣＰＵ２０１の割込みポートを割込み許可状態にし、次のコマンド送信に備え、以降の処理を繰り返す。
【００４７】
以上説明したように、本実施形態によれば、送信側と受信側のハンドシェイクのための信号線を設けずに、通信開始の同期を取ることが可能となる。
【００４８】
＜第２の実施の形態＞
以下、本発明に係る第２の実施形態について説明する。第２の実施形態も第１の実施形態と同様な画像形成装置と外部装置との間の通信に関するものであり、以下では上記第１の実施形態と同様な部分については説明を省略し、本実施形態の特徴的な部分を中心に説明する。
【００４９】
第１の実施の形態では、装置本体から外部装置へのＣＭＤ信号を、外部装置内で分岐させ、外部装置の制御ＣＰＵのポートへ接続して、外部装置がシリアル通信の開始を判断するものであった。
【００５０】
第２の実施の形態では、装置本体から外部装置へ供給するＣＬＫ信号を、外部装置内で分岐させ、外部装置の制御ＣＰＵのポートへ接続して、外部装置がシリアル通信の開始を判断する。すなわち、第１の実施形態とは、通信開始の判断基準となる信号が異なっている。
【００５１】
図１０は、本実施の形態における装置本体と外部装置とのインタフェースを説明するブロック図である。
【００５２】
装置本体１００の制御ＣＰＵ２００と、外部装置２０ｂの制御ＣＰＵ２０１のインタフェース信号は、ＣＬＫ信号２０２、ＣＭＤ信号２０３、ＳＴＳ信号２０４の３本で構成されている。
【００５３】
ＣＬＫ信号２０２は、外部装置内で分岐され、分岐されたＣＬＫ割込み信号１００５は、外部装置２０ｂの制御ＣＰＵ２０１の割込みポートに接続されている。ＣＬＫ割込み信号１００５が接続されている外部装置の制御ＣＰＵ２０１の割込みポートは、レベル割込みとなっており、信号がＬＯＷレベルとなると割込みが発生するように設定されている。
【００５４】
図１１は本実施の形態のシリアル通信方式のタイミングチャート、図１２は本実施の形態の装置本体の処理を示すフローチャート、図１３は本実施の形態の外部装置の処理を示すフローチャートをそれぞれ示している。
【００５５】
図１１のタイミングチャートを参照して、本実施の形態におけるシリアル通信の手順について説明する。図中、１１０１は通信開始タイミング、１１０２は通信終了タイミングをそれぞれ示しており、両者の間の期間を１回の通信サイクルとして通信を行う。
【００５６】
装置本体１００は、通信開始前には、ＣＬＫ信号のレベルをＬＯＷレベルに保持し、通信開始時（１１０１）に、ＨＩＧＨレベルにする（１１１５）。
【００５７】
一方、外部装置２０ｂは、通信開始前には、ＣＬＫ割込み信号１００１が接続されている割込みポートの設定を割込み許可にする（１１１２）。この割込みポートは、はレベル割込みとなっていて、信号がＨＩＧＨレベルとなると割込みが発生するように設定されているため、通信開始時に、装置本体がＣＬＫ信号（＝ＣＬＫ割込み信号）の信号レベルをＬＯＷからＨＩＧＨに変化させた時（１１１５）に、外部装置２０ｂに割込みが発生することになる（以降、ＣＬＫ割込み信号による割込みを「ＣＬＫ割込み」と称する）。
【００５８】
外部装置２０ｂは、ＣＬＫ割込みが発生した時点で、通信の開始を判断し、ＣＬＫ割込み信号１００１が接続されている割込みポートの設定を割込み禁止にして（１１１３）、コマンド受信の準備を行う。
【００５９】
装置本体１００は、コマンド送信用のクロック（１１０３）と、コマンド（１１０６）を送信する。その後、ステータス受信用のクロック（１１０４）とを出力して、ステータスを受信する（１１０９）。装置本体は、ステータス受信用のクロック（１１０４）を出力してから所定期間Ｔ３の経過後（１１１０）に、ＣＬＫ信号のレベルをＬＯＷレベルにして（１１０７）、次の通信開始（１１０２）までその状態を保持する。
【００６０】
外部装置２０ｂは、コマンド（１１０６）を受信すると、受信したコマンドを解析し、装置本体に送信するステータスを準備する。その後、ステータス送信用のクロック（１１０４）に同期してステータス（１１０９）を送信し、ステータス送信用クロックを受信してから所定期間Ｔ４の経過後（１１１１）に、ＣＬＫ割込み信号１００１が接続されている割込みポートの設定を割込み許可状態にして（１１１４）、次の通信開始に備える。なお、ｌここで、Ｔ３＜Ｔ４であるため、外部装置２０ｂが１１１４で割込み許可とした時点では、ＣＬＫ信号はＬＯＷレベルになっている。
【００６１】
図１２のフローチャートを参照して、装置本体の処理手順について説明する。
【００６２】
装置本体１００は、通信の開始時に、ＣＬＫ信号線の信号レベルをＬＯＷからＨＩＧＨにする（Ｓ１２０１）。その後、コマンドデータ送信用のクロックとコマンドデータを送信し（Ｓ１２０２）、その後、ステータス受信用のクロックを出力し、ステータスを受信する（Ｓ１２０３）。
【００６３】
その後、装置本体は、ステータス受信用のクロックを出力してから所定時間Ｔ３の経過後（１１１０）に、ＣＬＫ信号のレベルをＨＩＧＨからＬＯＷにする（Ｓ１２０４）。その後、次の通信開始タイミングまで待って（Ｓ１２０５）、装置本体は上記の処理を繰り返す。
【００６４】
図１３のフローチャートを参照して、外部装置２０ｂでの処理手順について説明する。
【００６５】
外部装置２０ｂは、通信開始前に、ＣＬＫ割込み信号１００１の割込み設定を割込み許可状態にする（Ｓ１３０１）。ＣＬＫ割込み信号１００１が接続されている外部装置２０ｂの制御ＣＰＵ２０１の割込みポートは、レベル割込みとなっていて、信号がＨＩＧＨレベルとなると割込みが発生するため、装置本体がコマンド送信時にＣＬＫ信号のレベルをＬＯＷからＨＩＧＨに変化させた時（Ｓ１２０１）に、ＣＬＫ割込みが発生する。外部装置２０ｂは、ＣＬＫ割込みが発生した（ＣＬＫ割込み信号の立上り）時点で、通信の開始を判断し（Ｓ１３０２）、コマンド受信の準備を開始するとともに、ＣＬＫ割込み信号１００１が接続されている外部装置２０ｂの割込みポートを割込み禁止状態に設定する（Ｓ１３０３）。その後、コマンドの受信を開始する（Ｓ１３０４）。
【００６６】
外部装置２０ｂはコマンド受信を完了すると（Ｓ１３０５）、受信したコマンドを解析し、ステータスを準備し（Ｓ１３０６）。ステータス送信用のクロックに同期してステータスを送信する（Ｓ１３０７）。
【００６７】
外部装置２０ｂは、ステータス送信用のクロックを受信してから所定時間Ｔ４の経過後（１１１１）に、ＣＬＫ割込み信号１００１が接続されている外部装置２０ｂの割込みポートを割込み許可状態にし、次のコマンド送信に備える。
【００６８】
以上説明したように、本実施形態によれば、送信側と受信側のハンドシェイクのための信号線を設けずに、通信開始の同期をとることが可能となる。
【００６９】
＜第３の実施の形態＞
以下、本発明に係る第３の実施形態について説明する。第３の実施形態も第１及び第２の実施形態と同様な画像形成装置と外部装置との間の通信に関するものであり、以下では上記第１及び第２の実施形態と同様な部分については説明を省略し、本実施形態の特徴的な部分を中心に説明する。
【００７０】
上記第１及び第２の実施の形態では、クロック同期シリアル通信に必要なデータ信号線とクロック信号線以外に信号線を増やすことなく、通信開始の同期をとることが可能とする方式について説明した。
【００７１】
第３の実施の形態では、クロック同期シリアル通信に必要なデータ信号線とクロック信号線以外に信号線を増やすことなく、通信エラー発生時のエラーリカバリを行う方式について説明する。ここでは、特に、装置本体から外部装置へのＣＭＤ信号を、外部装置内で分岐させ、外部装置の制御ＣＰＵのポートへ接続している第１の実施の形態の構成（図２）における方式について述べる。
【００７２】
具体的には、本実施形態ではＳＴＳ信号のレベルに意味を持せ、ＨＩＧＨレベルでは外部装置２０ｂが通信ＢＵＳＹ状態であること、ＬＯＷレベルでは外部装置２０ｂが通信可能であることを示すようにする。装置本体では、通信開始時にＳＴＳ信号のレベルを確認し、ＬＯＷの場合は通信を開始し、ＨＩＧＨの場合は通信の復帰処理を行う。
【００７３】
図６は、通信が正常に行われている場合のシリアル通信方式のタイミングチャート、図７は、通信エラー発生時のシリアル通信のタイミングチャートである。
【００７４】
まず、図６で本実施形態において通信が正常に実行された場合について説明し、図７で通信エラーが発生した場合について説明する。図中、６０１は通信開始タイミング、６０２は通信終了タイミングをそれぞれ示しており、両者の間の期間を１回の通信サイクルとして通信を行う。
【００７５】
装置本体１００は、通信開始前には、ＣＭＤ信号のレベルをＨＩＧＨレベルに保持している。装置本体は、通信開始時に、ＳＴＳ信号のレベルを確認する（６１１）。ＳＴＳ信号がＬＯＷである場合は、外部装置２０ｂが通信可能状態であると判断し、ＣＭＤ信号のレベルをＬＯＷレベルにする（６０６）。
【００７６】
外部装置２０ｂは、通信可能な状態の場合、ＳＴＳ信号をＬＯＷレベルに保持し（６１１）、ＣＭＤ割込み信号２０５が接続されている割込みポートの設定を割込み許可にする（６１７）。この割込みポートは、レベル割込みとなっていて、信号がＬＯＷレベルとなると割込みが発生するように設定されているため、通信開始時、装置本体がＣＭＤ信号（＝ＣＭＤ割込み信号２０５）の信号レベルをＨＩＧＨからＬＯＷに変化させた時（６０６）に、外部装置２０ｂに割込みが発生する。
【００７７】
外部装置２０ｂは、ＣＭＤ割込みを検出した時点で、通信の開始を判断し、ＣＭＤ割込み信号２０５が接続されている割込みポートの設定を割込み禁止にして（６１８）、コマンド受信の準備を行う。この時、ＳＴＳ信号のレベルをＨＩＧＨにして（６１２）、ＢＵＳＹ状態になったことを装置本体に通知する（６１５）。
【００７８】
装置本体１００は、コマンド送信用のクロック（６０３）を出力し、コマンド（６０７）を送信する。コマンドの送信が終了すると、ＣＭＤ信号のレベルをＨＩＧＨレベルにして（６０８）、次の通信開始（６０２）までその状態を保持する（６０９）。その後、装置本体は、ステータス受信用のクロック（６０４）を出力し、ステータス（６１３）を受信する。
【００７９】
外部装置２０ｂは、コマンド（６０７）を受信すると、受信したコマンドを解析し、装置本体に送信するステータスを準備する。その後、ステータス送信用のクロック（６０４）に同期してステータス（６１３）を送信する。
【００８０】
外部装置２０ｂは、ステータス送信終了と同時（６１４）に、ＳＴＳ信号をＬＯＷレベルにして、外部装置２０ｂがＢＵＳＹ状態から開放されたことを装置本体に通知し、ＣＭＤ割込み信号２０５が接続されている割込みポートの設定を割込み許可状態にして、次の通信開始に備える。
【００８１】
図７は、本実施形態において、外部装置２０ｂにステータス送信用のクロックが正常に送信されず（クロックが足りない）、通信エラーが発生した場合のシリアル通信方式のタイミングチャートである。図中、７０１は通信開始タイミング、７０２は通信終了タイミングをそれぞれ示しており、両者の間の記名を１サイクルとして通信を行う。
【００８２】
装置本体１００は、通信開始前には、ＣＭＤ信号のレベルをＨＩＧＨレベルに保持している。装置本体は、通信開始時に、ＳＴＳ信号のレベルを確認する（７０９）。ＳＴＳ信号がＬＯＷである場合は、外部装置２０ｂが通信可能状態であると判断し、ＣＭＤ信号のレベルをＬＯＷレベルにする（７０６）。
【００８３】
外部装置２０ｂは、通信可能な状態の場合、ＳＴＳ信号をＬＯＷレベルに保持し（７０９）、ＣＭＤ割込み信号２０５が接続されている割込みポートの設定を割込み許可にする（７１７）。この割込みポートは、レベル割込みとなっていて、信号がＬＯＷレベルとなると割込みが発生するように設定されているため、通信開始時、装置本体がＣＭＤ信号（＝ＣＭＤ割込み信号２０５）の信号レベルをＨＩＧＨからＬＯＷに変化させた時（７０６）に、外部装置２０ｂに割込みが発生する。
【００８４】
外部装置２０ｂは、ＣＭＤ割込みを検出した時点で、通信の開始を判断し、ＣＭＤ割込み信号２０５が接続されている割込みポートの設定を割込み禁止にして（７１８）、コマンド受信の準備を行う。この時、ＳＴＳ信号のレベルをＨＩＧＨにして（７１０）、ＢＵＳＹ状態になったことを装置本体に通知する（７１５）。
【００８５】
装置本体１００は、コマンド送信用のクロック（７０４）を出力し、コマンド（７０７）を送信する。コマンドの送信が終了すると、ＣＭＤ信号のレベルをＨＩＧＨレベルにする（７０８）。その後、装置本体は、ステータス受信用のクロック（７０８）を出力し、ステータス（７１１）を受信する。
【００８６】
外部装置２０ｂは、コマンド（７０７）を受信すると、受信したコマンドを解析し、装置本体に送信するステータスを準備する。その後、ステータス送信用のクロック（７０５）に同期してステータス（７１１）を送信する。
【００８７】
このとき、外部装置２０ｂは、ステータス送信用のクロックを受信してから所定時間Ｔ１の経過後（７１３）までに、ステータスの送信が終了しなかった場合には、通信エラーが発生したと判断し、ＳＴＳ信号のレベルをＨＩＧＨ（ＢＵＳＹ状態）にし、通信復帰処理のためのコマンドを受け付け可能とするために、ＣＭＤ割込み信号２０５が接続されている割込みポートの設定を割込み可能状態する（７１９）。
【００８８】
装置本体１００は、次の通信開始タイミング（７０２）で、ＳＴＳ信号のレベルを見て、通信可能か否かを判断する。従って、この時点では、Ｔ１＜Ｔ２であるため、外部装置２０ｂに通信エラーが発生したことを装置本体は認識している。
【００８９】
装置本体は、ＳＴＳ信号のレベルがＨＩＧＨの場合には、前回の通信でエラーが発生したと判断し、通信復帰処理のためのクロック（７２２）とコマンド（７２３）を送信する。
【００９０】
外部装置２０ｂは、７１９の割込み可能状態の時に、クロック（７２２）とコマンド（７２３）を受信すると、ＣＭＤ割込み信号２０５が接続されている割込みポートの設定を割込み禁止状態に設定する（７２０）。
【００９１】
外部装置２０ｂは、クロック（７２２）及びコマンド（７２３）の受信を完了し、コマンド（７２３）が通信復帰処理のためのもの（リセットコマンド）であると判断した時点で、ＣＭＤ割込み信号２０５が接続されている割込みポートの設定を割込み可能状態にし（７２１）、ＳＴＳ信号のレベルをＬＯＷ（ＢＵＳＹから通信可能）にして（７１２、７１６）、通信エラー状態から復帰して通信可能となる。
【００９２】
装置本体１００は、通信復帰処理の終了後（７０３）、ＳＴＳ信号のレベルを確認し、信号レベルがＬＯＷとなっていた場合に、外部装置２０ｂが通信可能状態に復帰したと判断し、通信を再開する。
【００９３】
図８のフローチャートを参照して、装置本体１００での処理手順について説明する。
【００９４】
装置本体１００は、通信開始時に、ＳＴＳ信号のレベルを確認し（Ｓ８０１）、信号レベルがＨＩＧＨである場合には、通信復帰処理を行う（Ｓ８０９）。
【００９５】
ＳＴＳ信号の通信レベルがＬＯＷである場合には、ＣＭＤ信号をＨＩＧＨレベルからＬＯＷレベルにし（Ｓ８０２）、コマンドデータ送信用のクロックを出力し、コマンドデータを送信する（Ｓ８０３）。コマンドデータ送信後、ＣＭＤ信号のレベルをＬＯＷからＨＩＧＨにし（Ｓ８０４）、ステータス受信用のクロックを出力し、ステータスを受信する（Ｓ８０５）。その後、次の通信開始タイミングまで待って（Ｓ８０５）、装置本体は上記の処理を繰り返す。
【００９６】
図９のフローチャートを参照して、外部装置２０ｂでの処理手順について説明する。
【００９７】
外部装置２０ｂは、通信可能な状態にある場合、ＳＴＳ信号のレベルをＬＯＷにし（Ｓ９０１）、ＣＭＤ割込み信号２０５の割込み設定を割込み許可状態にする（Ｓ９０２）。ＣＭＤ割込み信号２０５が接続されている外部装置２０ｂの割込みポートはレベル割込みとなっていて、信号がＬＯＷレベルとなると割込みが発生するため、装置本体がコマンド送信時にＣＭＤ信号のレベルをＨＩＧＨからＬＯＷに変化した（立下り）時（Ｓ８０２）に、ＣＭＤ割込みが発生する。外部装置２０ｂはＣＭＤ割込みが発生した時点で、通信の開始を判断し、コマンド受信の準備を開始するとともに、ＣＭＤ割込み信号２０５が接続されている外部装置２０ｂの割込みポートを割込み禁止状態に設定する（Ｓ９０４）。この時、ＳＴＳ信号のレベルをＨＩＧＨにして、ＢＵＳＹ状態になったことを装置本体に通知する（Ｓ９０５）。
【００９８】
外部装置２０ｂはコマンドの受信を開始し（Ｓ９０６）、受信を完了する（Ｓ９０７）と、受信したコマンドを解析し、ステータスを準備し（９０８）。ステータス送信用のクロックに同期してステータスの送信を開始する（Ｓ９０９）。
【００９９】
外部装置２０ｂは、ステータスの送信が完了する（Ｓ９１０）と、再度Ｓ９０１に戻り、次のコマンド受信に備える。
【０１００】
一方、Ｓ９１０でステータスの送信が終了していない場合、ステータス送信用のクロックを受信してから所定時間Ｔ１以上経過したか否かを判定し（Ｓ９１１）、Ｔ１を経過していない場合には、Ｓ９１０に戻りステータスの送信完了を判定する。Ｓ９１１でＴ１以上経過していると判定された場合には、ＣＭＤ割込み信号２０５が接続されている外部装置２０ｂの割込みポートを割込み許可状態にし（Ｓ９１２）、通信復帰処理のためのコマンド受信に備える。この状態で、装置本体から通信復帰処理のためのコマンド（リセットコマンド）を受信すると（Ｓ９１３）、ＣＭＤ割込み信号２０５が接続されている外部装置２０ｂの割込みポートを割込み禁止状態にして（Ｓ９１４）、通信復帰動作を行う（Ｓ９１５）。
【０１０１】
外部装置２０ｂは、通信復帰動作が正常に行われると、再度Ｓ９０１に戻り次のコマンド受信に備える。
【０１０２】
以上説明したように、本実施形態によれば、送信側と受信側のハンドシェイクのための信号線を設けずに、通信エラー発生時のエラーリカバリすることが可能となる。
【０１０３】
＜他の実施形態＞
以上説明した実施の形態は、あくまで例示であり、本発明の趣旨に基づいて当業者による様々な変更や変形が可能であり、これらの等価物も本発明の範囲に含まれるものと理解されたい。
【０１０４】
本発明は、上記の実施形態における装置本体と外部装置に対応する複数の機器から構成されるシステムに適用しても良いし、また、装置本体と外部装置とが一体的に構成された装置に適用しても良い。
【０１０５】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（本実施形態では図４、図５、図８、図９、図１２及び図１３に示すフローチャートに対応したプログラム）を、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【０１０６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１０７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１０８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１０９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのサイトに接続し、該サイトから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるサイトからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の範囲に含まれるものである。
【０１１０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してサイトから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１１１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１１２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図１】
2011187079.tif 000003
【図２】
2011187079.tif 000004
【図３】
2011187079.tif 000005
【図４】
2011187079.tif 000006
【図５】
2011187079.tif 000007
【図６】
2011187079.tif 000008
【図７】
2011187079.tif 000009
【図８】
2011187079.tif 000010
【図９】
2011187079.tif 000011
【図１０】
2011187079.tif 000012
【図１１】
2011187079.tif 000013
【図１２】
2011187079.tif 000014
【図１３】
2011187079.tif 000015