(57)【要約】【課題】画像形成装置のコントローラ部とエンジン部との間のシリアル通信におけるデータ転送時間を短縮する。【解決手段】不揮発性メモリを備え、画像形成を行うエンジン部３２０と、エンジン部３２０へビデオインターフェース３４０を介して画像データを送信するコントローラ部３１０とで構成される画像形成装置において、コントローラ部３１０からエンジン部３２０へデータを転送して不揮発性メモリを書き換える際に、シリアル通信を制御する所定の制御信号によりデータ転送の同期を取り、同期して転送されたデータで不揮発性メモリを書き換える。【選択図】      図３
2004237667.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリを備え、画像形成を行うエンジン部と、前記エンジン部へシリアル通信により画像データを送信するコントローラ部とで構成される画像形成装置におけるデータ転送方法であって、
前記コントローラ部からエンジン部へデータを転送して前記不揮発性メモリを書き換える際に、前記シリアル通信の所定の制御信号によりデータ転送の同期を取る工程と、
同期して転送されたデータで前記不揮発性メモリを書き換える工程とを有することを特徴とするデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シリアル通信によりデータの転送を行い、不揮発性メモリに格納されたデータを転送されたデータで書き換える技術に関する。
【０００２】
【従来の技術】
近年、記録媒体としてＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＥＰＲＯＭ（ＥｌｅｃｔｒｉｃａｌＰｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に代わる不揮発性メモリのフラッシュＲＯＭが使用されるようになってきた。このフラッシュＲＯＭは、不揮発性メモリでありながら、電気的に消去及び書き込みが可能であるため、ＲＯＭやＥＰＲＯＭと異なり、素子を交換することなく、書き込まれているデータの書き換えが可能である。この書換方法としては、フラッシュライタを接続し、フラッシュＲＯＭを書き換える方法と、専用の書換プログラムによって書き換える方法とが一般的である。
【０００３】
通常の印刷装置を一例として、専用のフラッシュＲＯＭ書換プログラムによる書換方法について説明する。通常の印刷装置は、画像情報をビットマップデータに変換するビデオコントローラと、その画素データに基づいて画像を形成し記録媒体上に転写定着するプリンタエンジンとから構成されている。ここで、ビデオコントローラとプリンタエンジンとの間のインターフェースの一例を以下に説明する。
【０００４】
図１は、印刷装置におけるビデオコントローラ１０とプリンタエンジン２０とを接続するインターフェース（以下、ビデオインターフェース）を示すブロック図である。また、図２はビデオインターフェースの信号の一覧を示す図である。図２において、“出力”はプリンタエンジン２０よりビデオコントローラ１０への出力を示し、“入力”はビデオコントローラ１０よりプリンタエンジン２０への入力を示す。
【０００５】
尚、プリンタエンジン２０は、それを制御するエンジンコントローラ（ＣＰＵ３０、ＲＡＭ３１、フラッシュＲＯＭ３２）を含み、ビデオコントローラ１０との信号の交換やプリンタエンジン２０の制御はこのエンジンコントローラにより行われる。
【０００６】
図２に示すビーム検知（／ＢＤ）信号は、プリンタエンジン２０の主走査方向の水平同期信号であり、ビデオコントローラ１０は、／ＢＤ信号の立ち下がりに同期して主走査１ライン分のビデオ（／ＶＤＯ）信号を送出する。
【０００７】
レディ（／ＲＤＹ）信号は、プリンタエンジン２０がビデオコントローラ１０からプリント開始指令（／ＰＲＮＴ信号が「真」）によりプリント動作が可能になったことを示す信号である。この／ＲＤＹ信号が「真」になる条件としては、定着ユニット内の加熱ローラの温度が適正（トナー像の紙への定着に十分な温度）、記録紙がジャム状態でない、ポリゴンミラーが既定回転数で正常に回転している、／ＢＤ信号が既定周期で正常に出力されているなどがある。
【０００８】
トップオブページ（／ＴＯＰ）信号は、プリンタエンジン２０における副走査方向の印刷同期信号であり、ビデオコントローラ１０はこの／ＴＯＰ信号の立ち下がりに同期して副走査方向の画像書き出し位置を設定する。この例では、給紙センサによって記録紙の先端を検知した後、この記録紙が転写ローラに到達するまでの時間と、レーザ光により感光体上に形成された潜像が感光体ドラムの回転により転写ローラに到達するまでの時間とが等しくなるように給紙センサを配置している。このため、プリンタエンジン２０は給紙センサからの給紙センサ信号（ＰＦＳＮＳ）が「真」になったのを検知すると、直ちに／ＴＯＰ信号を１秒間、「真」にしている。
【０００９】
ステータス（／ＳＴＳ）信号は、プリンタエンジン２０がビデオコントローラ１０に送信する１６ビット単位のシリアル情報であり、この信号はステータスと呼ばれる。
【００１０】
コンディションチェンジレポート（／ＣＣＲＴ）信号は、予め指定されているプリンタ内部のステータスが変化したことをビデオコントローラ１０に通知する信号である。
【００１１】
プリント（／ＰＲＮＴ）信号は、ビデオコントローラ１０がプリンタエンジン２０に対してプリント動作の開始を指令する信号である。但し、連続プリントの場合は、プリント動作の継続を意味することになる。
【００１２】
コントローラパワーレディ（／ＣＰＲＤＹ）信号は、ビデオコントローラ１０に電源が供給され、ビデオコントローラ１０のイニシャライズが完了し、プリンタエンジン２０との間でコマンドとステータスの通信が可能になったことを示す信号である。
【００１３】
ビデオ（／ＶＤＯ）信号は、プリンタエンジン２０が印刷すべき画像信号を示している。この画像信号は、ビデオコントローラ１０がホストコンピュータより受け取った画像コードデータをドットデータに変換して送出した信号である。
【００１４】
コマンド（／ＣＭＤ）信号は、ビデオコントローラ１０よりプリンタエンジン２０に送信される１６ビット単位のシリアル情報であり、コマンドと呼ばれる。
【００１５】
クロック（／ＳＣＬＫ）信号は、／ＣＭＤ信号及び／ＳＴＳ信号の送信を行う場合の、シリアルデータの同期クロックである。
【００１６】
リセット（／ＲＥＳＥＴ）信号は、ビデオコントローラ１０からプリンタエンジン２０へプリンタの初期化を要求する信号である。この信号が既定時間以上、ＬＯＷレベルであれば、プリンタエンジン２０はエンジンを初期化する。
【００１７】
次に、上述のシリアル通信により送受信される、ビデオコントローラ１０からプリンタエンジン２０へのコマンド及びプリンタエンジン２０からビデオコントローラ１０へのステータスについて説明する。
【００１８】
まず、シリアル通信により送受信される１６ビットデータは、ＭＳＢを送受信データの最上位ビットとし、そのＭＳＢから１５番目のビットを送受信データの最下位ビットとし、ＬＳＢを奇数パリティビットとして定義する。
【００１９】
上述したデータ形式で、１ワード（１６ビット）のコマンドが／ＳＣＬＫ信号に同期してビデオコントローラ１０からプリンタエンジン２０ヘ与えられると、プリンタエンジン２０は１ワードのステータスをビデオコントローラ１０へ返送する。このコマンドには、プリンタエンジン２０のステータス（状態）を調べるためのステータス要求コマンドと、プリンタエンジン２０へ何らかの動作を行うように指令する実行コマンドとが含まれている。
【００２０】
フラッシュＲＯＭを書き換える動作では、上記／ＣＭＤ信号、／ＳＴＳ信号、／ＳＣＬＫを使用し、シリアル通信によりビデオコントローラ１０からプリンタエンジン２０のＲＡＭ３１に書き換えを行うデータを転送し、プリンタエンジン２０のＣＰＵ３０が書換プログラムに従って、フラッシュＲＯＭ３２のデータをＲＡＭ３１のデータで書き換える方法が一般的である。
【００２１】
【発明が解決しようとする課題】
しかしながら、上記従来例では、フラッシュＲＯＭ３２を書き換えるときに、プリンタエンジン２０に搭載されるフラッシュＲＯＭ３２は通常の画像形成動作を行うプログラムが消去されていること、書き換えを行うフラッシュＲＯＭ上のプログラムは書き換え時に実行できないため、書き換えを行うためのプログラムは書き換えを行わないＲＯＭ上にあるプログラムを実行する、或いは書換プログラムをＲＡＭ３１上に展開し、ＲＡＭ３１上でプログラムを実行し、フラッシュＲＯＭを書き換える方法を取る必要がある。
【００２２】
一般的に、プリンタエンジン２０に搭載されるＲＡＭ３１の容量はＲＯＭ容量に比べて少ないため、一度に全ての書換プログラムをＲＡＭ３１にダウンロードして書き換えることはできず、プログラムをＲＡＭ３１上にダウンロードしながらプログラムを書き換えていくという動作が必要になる。そのため、通常の画像形成動作とは異なる特殊な動作を行う必要がある。
【００２３】
また、フラッシュＲＯＭ３２の書き換えにかかる時間は、書き換えに用いられるデータをプリンタエンジン２０のＲＡＭ３１に転送する時間と、プログラムによる書き換え時間であり、一般的に書き換えに用いるデータをプリンタエンジン２０へ転送する時間が多くを占めている。
【００２４】
本発明は、上記課題を解決するためになされたもので、画像形成装置のコントローラ部とエンジン部との間のシリアル通信におけるデータ転送時間を短縮することを目的とする。
【００２５】
【課題を解決するための手段】
上記目的を達成するために、本発明は、不揮発性メモリを備え、画像形成を行うエンジン部と、前記エンジン部へシリアル通信により画像データを送信するコントローラ部とで構成される画像形成装置におけるデータ転送方法であって、前記コントローラ部からエンジン部へデータを転送して前記不揮発性メモリを書き換える際に、前記シリアル通信の所定の制御信号によりデータ転送の同期を取る工程と、同期して転送されたデータで前記不揮発性メモリを書き換える工程とを有することを特徴とする。
【００２６】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００２７】
本実施形態に記載されている構成要素の大きさ、配置、処理のフローチャート等は、特に特定的な記載がない限り、本発明の範囲をそれらのみに限定する主旨のものではない。
【００２８】
尚、本実施形態では、画像形成装置として印刷装置を例に説明するが、本発明はこれだけに限らず、コントローラ部とエンジン部との間でシリアル通信によりデータ転送を行う複写機やファクシミリ装置などに適用しても良い。
【００２９】
図３は、本実施形態における印刷装置の構成を示すブロック図である。図３に示すように、印刷装置はコントローラ部３１０とエンジン部３２０とを有する。コントローラ部３１０において、ＣＰＵ３０１はＲＯＭ３０３に格納されている制御プログラムを実行し、外部装置（ホストコンピュータ等）との外部インターフェース３３０を介して外部装置からページ記述言語（ＰＤＬ）等で記述された画像情報（コードデータ）を受信する。受信された画像情報は画像処理部３０４へと入力される。画像処理部３０４では、その画像情報をＲＡＭ３０５に格納し、画像情報の解析を行う。一方、ＲＡＭ３０２は、ＣＰＵ３０１が処理を実行時に使用するワークエリアやレジスタなどが定義されているメモリである。また、ＲＯＭ３０６には画像情報の値に対応したフォントデータが格納されている。
【００３０】
画像処理部３０４は、対応するフォントデータをＲＯＭ３０６から読み出し、受信した画像情報をエンジン部３２０で印字されるドットのビデオデータに変換し、フレームメモリ３０７に格納する。このフレームメモリ３０７に１ページ分のビデオデータが格納されると、ＣＰＵ３０１はビデオインターフェース３４０を介してエンジン部３２０に印字指令を送出すると共にエンジン部３２０からの主走査及び副走査同期信号に同期してフレームメモリ３０７に格納されたビデオデータをエンジン部３２０に送出する。
【００３１】
一方、エンジン部３２０は、図１に示したプリンタエンジンと同様に、内部にＣＰＵ或いはマイクロプロセッサ（ＭＰＵ）、ＲＡＭ、フラッシュＲＯＭなどで構成された制御部３２１を含み、マイクロプロセッサがフラッシュＲＯＭに格納されたエンジン部の制御プログラムに従って画像形成プロセスを制御するものである。また、フラッシュＲＯＭに書き込まれている制御プログラムは、エンジン部３２０の制御に変更が発生した場合、その制御プログラムの変更が行われる。このフラッシュＲＯＭの書き換えについては更に後述する。
【００３２】
尚、本実施形態における印刷装置のコントローラ部３１０とエンジン部３２０とを接続するビデオインターフェース３４０は、図１に示したインターフェースと同様であり、またコントローラ部３１０とエンジン部３２０との間で授受される信号も図２に示したものと同様であり、その説明は省略する。
【００３３】
図４は、本実施形態における印刷装置の構造を示す断面図である。尚、図３と同一の機能を有するものは同じ符号を付けている。また、印刷装置本体４００として、本実施形態ではレーザビームプリンタの場合を示している。
【００３４】
図４において、４０１は光学ユニットであり、ビデオインターフェース３４０を介して送出されたビデオデータに従ってレーザ光を変調する。４０２は折返しミラーであり、光学ユニット４０１から照射されたレーザ光を反射する。４０３は感光体ドラムであり、折返しミラー４０２で反射されたレーザ光が回転多面鏡（図示せず）によって走査され、感光体ドラム４０３上に静電画像を形成する。４０４は帯電器であり、感光体ドラム４０３を一様に帯電させる。４０５は現像器であり、感光体ドラム４０３上の静電画像をトナー像に現像する。
【００３５】
４０６は転写帯電器であり、感光体ドラム４０３上のトナー像を記録紙に転写する。４０７はクリーナであり、転写後に感光体ドラム４０３上に残留しているトナーを回収する。４０９ａは上段給紙ローラであり、４０８ａの上段カセットに収容された記録紙を給紙する。４０９ｂは下段給紙ローラであり、４０８ｂの下段用紙カセットに収容された記録紙を給紙する。４１０は給紙搬送ローラであり、給紙された記録紙を転写位置まで搬送する。４１１はＴＯＰセンサであり、給紙された記録紙の有無を検知する。４１２は定着器であり、記録紙に転写されたトナー像を加熱加圧することで、記録紙に定着させる。４１３は排紙センサであり、定着器４１２から排紙された用紙の有無を検知する。４１４は配置トレイであり、排出される記録用紙を受ける。
【００３６】
［第１の実施形態］
ここで、上述の印刷装置のコントローラ部３１０とエンジン部３２０とを接続するビデオインターフェース３４０を経由し、エンジン部３２０内のフラッシュＲＯＭに格納されている制御プログラムのコード（以下、プログラムコード）を書き換える手順について説明する。
【００３７】
図５は、エンジン部３２０内のフラッシュＲＯＭに格納されているプログラムコードを書き換える動作を示すフローチャートである。まず、ステップＳ５０１において、コントローラ部３１０の外部インターフェース３３０を介してホストコンピュータから或いはコントローラ部３１０の操作パネル（図示せず）から、エンジン部３２０のプログラムコードを書き換える指示があると、コントローラ部３１０のＣＰＵ３０１は、エンジン部３２０の制御部３２１にビデオインターフェース３４０を介してプログラムコードの書き換えモードを指定するコマンドを送出する。
【００３８】
次に、ステップＳ５０２において、エンジン部３２０の制御部３２１からプログラムコードの書き換えモードに移行した旨のステータスを受信すると、ＣＰＵ３０１は制御部３２１に対して実際にプログラムコードを書き換えるフラッシュＲＯＭの書込み開始アドレスを指定するコマンドを送出する。そして、ステップＳ５０３において、コントローラ部３１０のＣＰＵ３０１はホストコンピュータから送信されたプログラムコードのデータを、エンジン部３２０の制御部３２１に対してシリアル通信によるコマンドとして送信する。
【００３９】
尚、プログラムコードのデータは、フラッシュＲＯＭ内のプログラムコードのデータ１つに対して１つのアドレスを指定して送信されるのではなく、上述したステップＳ５０２で指定したアドレスを先頭として、予め決められたデータ数分が送信されるものとする。
【００４０】
次に、ステップＳ５０４では、予め決められた所定のデータ数分を送信したか否かを判定する。その結果、予め決められた所定のデータ数分を送信していない場合はステップＳ５０３に戻り、プログラムコードのデータを送信し、その後、予め決められた所定のデータ数分のデータを送信するまで上述の動作を繰り返す。そして、予め決められた所定のデータ数分を送信したと判定した場合は、このプログラムコードのデータ送信を完了する。
【００４１】
尚、上述のデータ送信は、シリアル通信路（ビデオインターフェース３４０）を介して行われ、そのシリアル通信の同期を取る信号として、／ＣＣＲＴ信号を用いる。この／ＣＣＲＴ信号は、通常の画像形成動作時はエンジン部３２０内部の状態が変化したことをエンジン部３２０の制御部３２１がコントローラ部３１０に通知するための信号である。具体的には、コントローラ部３１０がデータ送信時に、／ＣＣＲＴ信号がオフ（ＨＩＧＨレベル）であれば、エンジン部３２０がデータを受信できない状態にあると判断してデータ送信を行わず、またオン（ＬＯＷレベル）であればエンジン部３２０がデータを受信できる状態にあると判断してデータ送信を行うように制御することで、シリアル通信の同期を取るものである。
【００４２】
次に、上述した図５のステップＳ５０３及びＳ５０４でコントローラ部３１０とエンジン部３２０とがシリアル通信により同期を取りながら、コントローラ部３１０がフラッシュＲＯＭのプログラムコードの書込みデータをコマンドとして送信し、エンジン部３２０の制御部３２１が受信したデータでフラッシュＲＯＭのプログラムコードを書き換える動作について説明する。
【００４３】
まず、コントローラ部３１０のＣＰＵ３０１が上述した図５に示したステップＳ５０１でプログラムコード書き換えモードを指定し、続くステップＳ５０２でプログラムコード書込み開始アドレスを指定した後、プログラムコードのデータを送信するステップＳ５０３及びＳ５０４の詳細な処理について説明する。尚、上述の／ＣＣＲＴ信号によるデータ送信時の同期制御については、上述した通りであり、ここでは省略する。
【００４４】
図６は、第１の実施形態におけるコントローラ部３１０でのデータ送信処理を示すフローチャートである。まず、ステップＳ６０１において、コントローラ部３１０のＣＰＵ３０１はエンジン部３２０の制御部３２１にフラッシュＲＯＭを消去するコマンドを送信する。そして、ステップＳ６０２において、エンジン部３２０の制御部３２１から消去するコマンドに対するステータスを受け取る。
【００４５】
次に、ステップＳ６０３において、ＣＰＵ３０１はフラッシュＲＯＭを書き換えるプログラムコードのデータをコマンドとして送信し、続くステップＳ６０４において、制御部３２１からコマンドに対するステータスを受信する。そして、ステップＳ６０５〜Ｓ６０８において、受信したステータスに記録されたエラー発生情報によりエラーリカバリー処理を行う。
【００４６】
ステップＳ６０５で、転送エラー情報を受信した場合にはステップＳ６０６へ進み、コマンドの再送処理を行う。この時、転送エラー情報を受信した回数が、所定のリトライ回数を超えない場合はステップＳ６０３に戻り、コマンドの再送を行い、リトライ回数が所定の回数を超えた場合はこの処理を終了する。
【００４７】
また、ステップＳ６０７で、書込みエラー情報を受信した場合にはステップＳ６０８へ進み、所定のリトライ回数を超えない場合はステップＳ６０１に戻り、書込みデータを送信し直す処理を行い、所定のリトライ回数を超えた場合はこの処理を終了する。
【００４８】
そして、ステップＳ６０９において、予め決められた所定のデータ数分、書込みデータをコマンドとして送信したか否かを判断する。ここで、所定のデータ数分、送信していなければステップＳ６０３に戻り、全てのデータを送信するまで上述した処理を繰り返す。
【００４９】
次に、エンジン部３２０の制御部３２１において、コントローラ部３１０からシリアル通信により送られてくるフラッシュＲＯＭのプログラムコードをＲＡＭに格納することなく、コントローラ部３１０とシリアル通信の同期を取りながら書き換える処理について説明する。
【００５０】
尚、この処理は、上述の図６に示したコントローラ部３１０のデータ送信処理に対応するエンジン部３２０の制御部３２１が実行するフラッシュＲＯＭの書き換え処理である。また、上述した／ＣＣＲＴ信号は、初期状態ではオン（ＬＯＷレベル）で、コントローラ部３１０からプログラムコード書き換えモードを指定するコマンドを受信すると、上述した同期処理を行いながらアドレス、データの受信を制御するものである。
【００５１】
図７は、エンジン部３２０でのフラッシュＲＯＭの書き換え処理を示すフローチャートである。まず、ステップＳ７０１において、エンジン部３２０の制御部３２１はコントローラ部３１０からシリアル通信でコマンドとして送られてきたプログラムコードのデータを受信する。次に、ステップＳ７０２において、上述した／ＣＣＲＴ信号をオフ（ＨＩＧＨレベル）にして、次のコマンドを受信する準備ができていないことを通知する。そして、ステップＳ７０３において、ステータスをコントローラ部３１０へ返信する。次に、ステップＳ７０４において、上述のステップＳ７０１で受信したコマンドに応じてプログラムコードデータの消去又は書き込み処理を実行する。
【００５２】
尚、第１の実施形態では、転送エラーや書き込みエラーなどのエラー発生情報をステータスに記録して返信するものである。
【００５３】
次に、ステップＳ７０５において、／ＣＣＲＴ信号をオン（ＬＯＷレベル）にして、次のシリアル通信のコマンドを受信する準備ができたことをコントローラ部３１０に通知する。そして、所定のデータ数分、書き換えデータを受信したか判定し、受信していなければステップＳ７０１に戻り、全てのデータを受信するまで上述した処理を繰り返す。
【００５４】
このように、／ＣＣＲＴ信号を同期制御に使用することにより、コントローラ部３１０はエンジン部３２０が確実に受信可能であることを判断することができ、次のシリアル通信までのウェイト時間を短縮することができる。
【００５５】
従って、フラッシュＲＯＭの制御プログラムのコードを転送する際の通信速度を向上させることが可能となる。
【００５６】
図８は、画像形成動作とフラッシュＲＯＭの書き換え動作とを示すタイミングチャートである。ここでは、２つの動作時におけるシリアル通信によるコマンド及びステータスの送受信と／ＣＣＲＴ信号とのタイミングチャートを示しており、コントローラ部３１０からのコマンドに対するエンジン部３２０のステータスが返信される構成である。
【００５７】
図８に示すように、通常の画像形成動作時では、エンジン部３２０の内部状態に変化が生じると、上述の／ＣＣＲＴ信号がオフ（ＨＩＧＨレベル）状態になり、／ＣＣＲＴ信号がオフの状態を受け取ったコントローラ部３１０はエンジン部３２０の状態を要求するコマンドを送信する。そして、エンジン部３１０の制御部３２１が要求されたコマンドに対する、エンジン部３２０の状態をステータスに記録して返信する。
【００５８】
一方、フラッシュＲＯＭ書込み動作時では、エンジン部３２０の制御部３２１は／ＣＣＲＴ信号をコントローラ部３１０からのシリアル通信のデータ受信準備完了通知信号として使用し、コントローラ部３１０は／ＣＣＲＴ信号がオフからオンになったタイミングでコマンドを送出し、エンジン部３２０では所定のプログラムコードデータをコマンドとして受信し、そのデータのフラッシュＲＯＭへの書き込みを実行する。
【００５９】
［第２の実施形態］
次に、図面を参照しながら本発明に係る第２の実施形態を詳細に説明する。
【００６０】
前述した第１の実施形態では、コントローラ部３１０はエンジン部３２０からのステータスにより、転送エラーや書き込みエラーなどのエラー発生情報を取得していたが、第２の実施形態では上述した／ＣＣＲＴ信号をエラー検知にも使用するものである。
【００６１】
尚、第２の実施形態における印刷装置の構成は、図３及び図４に示した第１の実施形態の構成と同様であり、その説明は省略する。
【００６２】
また、コントローラ部３１０とエンジン部３２０とを接続するビデオインターフェース３４０を経由し、エンジン部３２０内のフラッシュＲＯＭに格納されている制御プログラムのコード（以下、プログラムコード）を書き換える、図５に示したステップＳ５０１及びＳ５０２までの処理は第１の実施形態と同様であり、その説明は省略する。また、／ＣＣＲＴ信号をシリアル通信の同期を制御する信号として用いることは第１の実施形態と同様である。
【００６３】
ここでは、第２の実施形態の特徴である、コントローラ部３１０からエンジン部３２０へ送信したコマンドに対してエンジン部３２０がステータスを返送する代わりにシリアル通信の同期制御に用いる／ＣＣＲＴ信号を、更にエラー発生をコントローラ部３１０に通知するエラー発生情報として機能させる処理について説明する。
【００６４】
図９は、エンジン部３２０でのフラッシュＲＯＭの書き換え処理を示すフローチャートである。まず、ステップＳ９０１において、エンジン部３２０の制御部３２１はコントローラ部３１０からシリアル通信によりコマンドとして送られてきたプログラムコードのデータを受信する。そして、ステップＳ９０２において、上述した／ＣＣＲＴ信号をオフ（ＨＩＧＨレベル）にして、データを受信したこと、次のデータの受信準備ができていない状態であることをコントローラ部３１０に通知する。次に、ステップＳ９０３において、受信したコマンドにデータの誤りがあるか否かを通常のパリティチェックにより判定する。ここで、データの誤りがあればステップＳ９０４へ進み、コントローラ部３１０が通信エラーと検知する時間の間待ち、時間が経過すると、ステップＳ９０７へ進む。
【００６５】
また、上述のステップＳ９０３において、受信したコマンドにデータの誤りがなければステップＳ９０５へ進み、上述のステップＳ９０１で受信したコマンドに応じてプログラムコードデータの消去又は書き込み処理を実行する。そして、ステップＳ９０６において、上述のステップＳ９０５で消去又は書き込みエラーなどが発生したか否かを判定し、エラーが発生していれば、ステップＳ９０９へ進み、コントローラ部３１０がエラー発生と検知する時間待ち、時間が経過するとステップＳ９０７へ進む。また、エラーが発生していなければステップＳ９０７へ進み、／ＣＣＲＴ信号をオン（ＬＯＷレベル）にして、次のコマンドを受信する準備ができたことをコントローラ部３１０に通知する。そして、ステップＳ９０８において、所定のデータ数分、書き換えデータを受信したか判定し、受信していなければステップＳ９０１に戻り、全てのデータを受信するまで上述した処理を繰り返す。
【００６６】
このように、／ＣＣＲＴ信号をシリアル通信の同期信号に用いることにより、コントローラ部３１０のコマンドに対してエンジン部３２０がステータスを返信する処理を省くことができるため、通常のシリアル通信のみによるデータ転送に比較して、データ通信量を削減し高速にデータを転送することができる。
【００６７】
次に、コントローラ部３１０からエンジン部３２０へフラッシュＲＯＭの書き換えデータを送信時に、エンジン部３２０で発生したエラーを／ＣＣＲＴ信号を用いて検知する処理について説明する。第２の実施形態では、フラッシュＲＯＭ書換えモードにおいて、コントローラ部３１０はエンジン部３２０でプログラムを書き換える処理が正常に行われているか否かを／ＣＣＲＴ信号が変化する時間をモニタすることにより検知するものである。
【００６８】
図１０は、コントローラ部３１０によるエラー検知処理を示すフローチャートである。まず、ステップＳ１００１において、コントローラ部のＣＰＵ３０１はコマンドをエンジン部３２０の制御部３２１へ送信する。そして、ステップＳ１００２及びＳ１００３において、エンジン部３２０の制御部３２１からの／ＣＣＲＴ信号が規定時間１以内にオン（ＬＯＷレベル）になるのを待つ。尚、規定時間１とは、エンジン部３２０でフラッシュＲＯＭの消去／書込みにかかる時間が個々のフラッシュＲＯＭにより規定されていることから、データの送受信に必要な時間と、フラッシュＲＯＭの消去／書換えの場合はフラッシュＲＯＭの消去／書換え動作にかかる最低の時間とを合計した時間である。
【００６９】
ここで、規定時間１以内にエンジン部３２０の制御部３２１が／ＣＣＲＴ信号をオンにすると、コントローラ部３１０はコマンド送信にデータ誤りが発生したと判断し、ステップＳ１００１に戻り、同じコマンドを再送信する。また、ステップＳ１００３において、／ＣＣＲＴ信号が規定時間１を超過してもオンにならなければステップＳ１００４へ進み、続くステップＳ１００５と共に／ＣＣＲＴ信号が／ＣＣＲＴ信号の変化をモニタする最大の待ち時間である規定時間２以内にオンになるのを待つ。ここで、／ＣＣＲＴ信号が規定時間２を超過してもオンにならなければ、エンジン部３２０の制御が正しく行われていないと判断し、この処理を終了する。
【００７０】
また、ステップＳ１００５において、／ＣＣＲＴ信号が規定時間２以内にオンになればステップＳ１００６へ進み、データの送受信に必要な時間とフラッシュＲＯＭの消去／書換え動作にかかる最大の時間とを合計した時間である規定時間３以内かをチェックする。ここで、規定時間３を超過していれば、フラッシュＲＯＭの消去／書込み動作の場合はフラッシュＲＯＭの消去／書込みに失敗した、制御コマンド、データ、アドレスの受取り動作の場合は、コマンド送信にデータ誤りが発生したと判断し、ステップＳ１００１に戻り、同じコマンドを再送信する。また、規定時間３以内であれば、データ転送及びコマンドの処理が正常に終了したと判断し、ステップＳ１００７へ進み、全てのコマンドを送信したかチェックし、全てのコマンドを送信し終わっていなければステップＳ１００１に戻り、次のコマンドを送信する、上述した処理を繰り返す。
【００７１】
このように、コントローラ部３１０は／ＣＣＲＴ信号によりエンジン部３２０で発生したデータ通信エラーやデータ処理エラーを検知することができる。
【００７２】
尚、／ＣＣＲＴ信号によってコントローラ部３１０がモニタする規定時間は、フラッシュＲＯＭに書き込むデータサイズ、消去を行うブロックサイズ、書換えデータの転送中かどうかにより、それぞれモニタする時間を変更しても良いことは言うまでもない。
【００７３】
図１１は、第２の実施形態におけるエンジン部３２０のフラッシュＲＯＭを書換える場合のコントローラ部３１０とエンジン部３２０のシリアル通信のタイミングチャートである。
【００７４】
以上説明したように、実施形態によれば、コントローラ部３１０からエンジン部３２０にプログラムコードデータを転送し、エンジン部３１０の制御部３２１のフラッシュＲＯＭ（不揮発性メモリ）の書き換えを行うような場合、シリアル通信における書き換えデータの転送に関する処理を簡略化し、不揮発性メモリの書き換えを高速に実行することができる。
【００７５】
［他の実施形態］
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００７６】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００７７】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００７８】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８０】
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
【発明の効果】
以上説明したように、本発明によれば、画像形成装置のコントローラ部とエンジン部との間のシリアル通信におけるデータ転送時間を短縮することができる。
【図面の簡単な説明】
【図１】印刷装置におけるビデオコントローラ１０とプリンタエンジン２０とを接続するインターフェースを示すブロック図である。
【図２】ビデオインターフェースの信号の一覧を示す図である。
【図３】本実施形態における印刷装置の構成を示すブロック図である。
【図４】本実施形態における印刷装置の構造を示す断面図である。
【図５】エンジン部３２０内のフラッシュＲＯＭに格納されているプログラムコードを書き換える動作を示すフローチャートである。
【図６】第１の実施形態におけるコントローラ部３１０でのデータ送信処理を示すフローチャートである。
【図７】エンジン部３２０でのフラッシュＲＯＭの書き換え処理を示すフローチャートである。
【図８】画像形成動作とフラッシュＲＯＭの書き換え動作とを示すタイミングチャートである。
【図９】第２の実施形態におけるエンジン部３２０でのフラッシュＲＯＭの書換処理を示すフローチャートである。
【図１０】コントローラ部３１０によるエラー検知処理を示すフローチャートである。
【図１１】第２の実施形態におけるエンジン部３２０のフラッシュＲＯＭを書換える場合のコントローラ部３１０とエンジン部３２０のシリアル通信のタイミングチャートである。
【符号の説明】
３０１  ＣＰＵ
３０２  ＲＡＭ
３０３  ＲＯＭ
３０４  画像処理部
３０５  ＲＡＭ
３０６  ＲＯＭ
３０７  フレームメモリ
３１０  コントローラ部
３２０  エンジン部
３２１  制御部
３３０  外部インターフェース（Ｉ／Ｆ）
３４０  ビデオインターフェース（Ｉ／Ｆ）
【図１】
2004237667.tif 000003
【図２】
2004237667.tif 000004
【図３】
2004237667.tif 000005
【図４】
2004237667.tif 000006
【図５】
2004237667.tif 000007
【図６】
2004237667.tif 000008
【図７】
2004237667.tif 000009
【図８】
2004237667.tif 000010
【図９】
2004237667.tif 000011
【図１０】
2004237667.tif 000012
【図１１】
2004237667.tif 000013