(57)【特許請求の範囲】
【請求項１】
画像データをプリンタへ転送するプリンタコントローラであって、
リアルタイム機能が付加された汎用ＯＳ（Operating System）を実行する制御手段と、
前記制御手段によって実行される前記汎用ＯＳの前記リアルタイム機能により制御されるタスクであって、所定量の画像データを前記プリンタへ出力するデータ出力手段と、
前記プリンタの、プリント処理に関する周期データを取得する周期データ取得手段と、
前記制御手段によって実行される前記汎用ＯＳの前記リアルタイム機能により制御されるタスクであって、前記データ出力手段の起動周期を、前記周期データ取得手段で取得した周期データに基づいて設定するデータ出力周期設定手段とを備える、プリンタコントローラ。
【請求項２】
画像データの解像度を認識する画像データ解像度認識手段をさらに備え、
前記周期データ取得手段は、前記画像データ解像度認識手段で認識された画像データ解像度に応じたプリント処理に関する周期データを取得する、請求項１に記載のプリンタコントローラ。
【請求項３】
前記プリンタはレーザビーム方式のプリンタであり、前記周期データ取得手段で取得する周期データは、前記レーザビーム方式のプリンタのレーザビームの書込みにおける水平同期信号の周期である、請求項１または２に記載のプリンタコントローラ。
【請求項４】
前記周期データ取得手段は、前記制御手段によって実行される前記汎用ＯＳのリアルタイム機能によりリアルタイム制御されるタスクであって、前記プリンタから前記周期データを取得する、請求項１〜３のいずれかに記載のプリンタコントローラ。
【請求項５】
画像データをプリンタへ転送するプリンタコントローラの行なう転送方法であって、
前記プリンタコントローラはリアルタイム機能が付加された汎用ＯＳを実行する制御手段を備えて、
前記プリンタの、プリント処理に関する周期データを取得する周期データ取得ステップと、
前記制御手段によって実行される前記汎用ＯＳの前記リアルタイム機能で制御されて、前記画像データを出力する周期を、前記周期データ取得ステップで取得した周期データに基づいて設定するデータ出力周期設定ステップと、
前記制御手段によって実行される前記汎用ＯＳの前記リアルタイム機能で制御されて、前記画像データを前記データ出力周期設定ステップで設定された周期で前記プリンタへ出力するデータ出力ステップとを備える、データ転送方法。
【請求項６】
リアルタイム機能が付加された汎用ＯＳのプログラムであり、コンピュータを画像データをプリンタへ転送するプリンタコントローラとして機能させるプログラムであって、
前記プログラムは前記プリンタコントローラに、
前記汎用ＯＳの前記リアルタイム機能により制御されるタスクであって、所定量の画像データを前記プリンタへ出力するデータ出力工程と、
前記プリンタの、プリント処理に関する周期データを取得する周期データ取得工程と、
前記汎用ＯＳの前記リアルタイム機能により制御されるタスクであって、前記データ出力工程の起動周期を、前記周期データ取得工程で取得した周期データに基づいて設定するデータ出力周期設定工程とを実行させる、データ転送プログラム。
【請求項７】
請求項６に記載のデータ転送プログラムを記録した、コンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はプリンタコントローラ、データ転送方法、データ転送プログラム、および該プログラムを記録した記録媒体に関し、特に、効率的な画像データ転送を行なうことのできるプリンタコントローラ、データ転送方法、データ転送プログラム、および該プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
近年の、プリンタなどのプリント装置およびＭＦＰ（Multi Function Peripherals）のコントローラにおいて、ネットワーク機能の強化に伴なうオンラインメンテナンスなどの様々なアプリケーション機能の充実、および複雑な機能を高速処理するための高度なリアルタイム制御が要求されている。
【０００３】
このような状況において、コントローラのＯＳ（Operating System）として、ネットワーク機能、およびアプリケーション機能を充実させる場合には、利用可能なアプリケーションが豊富であり、ネットワーク機能が充実しているＬｉｎｕｘ等の汎用ＯＳが適している。しかしながら、汎用ＯＳはリアルタイム制御機能を有していないため高速処理には適していない。
【０００４】
また、高度なリアルタイム制御を重視する場合には、必要な処理時間の予測を行なう機能や、複数の処理要求が同時に発生した場合でも、目的の時間内に処理を完了させるための機構を備えているＩＴＲＯＮ（Industrial The Real-time Operating system Nucleus）等のリアルタイムＯＳが適している。しかしながら現状のリアルタイムＯＳにおいてはアプリケーションが豊富でないため、新たにアプリケーション自体を開発しなければアプリケーション機能の充実を図ることができない。
【０００５】
これらの問題を解決するために、汎用ＯＳであるＬｉｎｕｘにリアルタイム機能を付加し、上述の両方の場合において求められる機能を同時に満たす方法（以降ＲＴ−Ｌｉｎｕｘと記載する）が提案されている。具体的には、Ｌｉｎｕｘカーネルにリアルタイム機能を有するリアルタイムカーネルを追加することによって実現されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述のＲＴ−ＬｉｎｕｘをＯＳとして画像データの転送を行なうコントローラに用いる場合には、次のような問題がある。
【０００７】
すなわち、ＲＴ−Ｌｉｎｕｘではリアルタイムカーネルの機能により所定周期でプリンタにデータを転送することが保証されるが、その周期と、例えばレーザプリンタにおける感光体への書込みの水平同期信号の周期とが一致しない場合がある。また、同一のプリンタであっても、プリントジョブの解像度により水平同期信号の周期は様々である。
【０００８】
ＲＴ−Ｌｉｎｕｘを用いたシステムにおいては、コントローラは、所定周期の周期起動タスクにより、プリンタからデータ転送要求があるかないかを確認し、データ転送要求がある場合には、データを送るように動作する。しかしながら、データ転送周期とプリンタの水平同期信号の周期とが一致していないと、周期起動タスクによりデータ転送要求確認直後にプリンタからデータ転送要求があった場合など、次のデータ転送要求確認までデータ転送が遅れることになり、効率的なデータ転送を実行することができないという問題があった。
【０００９】
そこでこの発明においては、効率的なデータ転送を実現するプリンタコントローラ、データ転送方法、データ転送プログラム、および該プログラムを記録した記録媒体を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明のある局面に従うと、プリンタコントローラは、画像データをプリンタへ転送するプリンタコントローラであって、リアルタイム機能が付加された汎用ＯＳ（Operating System）を実行する制御手段と、制御手段によって実行される汎用ＯＳのリアルタイム機能により制御されるタスクであって、所定量の画像データをプリンタへ出力するデータ出力手段と、プリンタの、プリント処理に関する周期データを取得する周期データ取得手段と、制御手段によって実行される汎用ＯＳのリアルタイム機能により制御されるタスクであって、データ出力手段の起動周期を、周期データ取得手段で取得した周期データに基づいて設定するデータ出力周期設定手段とを備える。
【００１１】
また、プリンタコントローラは、画像データの解像度を認識する画像データ解像度認識手段をさらに備え、周期データ取得手段は、画像データ解像度認識手段で認識された画像データ解像度に応じたプリント処理に関する周期データを取得することが望ましい。
【００１２】
プリンタはレーザビーム方式のプリンタであり、上述の周期データ取得手段で取得する周期データは、レーザビーム方式のプリンタのレーザビームの書込みにおける水平同期信号の周期であることが望ましい。
好ましくは、周期データ取得手段は、制御手段によって実行される汎用ＯＳのリアルタイム機能によりリアルタイム制御されるタスクであって、プリンタから周期データを取得する。
【００１３】
本発明の他の局面に従うと、データ転送方法は、画像データをプリンタへ転送するプリンタコントローラの行なう転送方法であって、プリンタコントローラはリアルタイム機能が付加された汎用ＯＳを実行する制御手段を備えて、プリンタの、プリント処理に関する周期データを取得する周期データ取得ステップと、制御手段によって実行される汎用ＯＳのリアルタイム機能で制御されて、画像データを出力する周期を、周期データ取得ステップで取得した周期データに基づいて設定するデータ出力周期設定ステップと、制御手段によって実行される汎用ＯＳのリアルタイム機能で制御されて、画像データをデータ出力周期設定ステップで設定された周期でプリンタへ出力するデータ出力ステップとを備える。
【００１４】
本発明の他の局面に従うと、データ転送プログラムは、リアルタイム機能が付加された汎用ＯＳのプログラムであり、コンピュータを画像データをプリンタへ転送するプリンタコントローラとして機能させるプログラムであって、プリンタコントローラに、汎用ＯＳのリアルタイム機能により制御されるタスクであって、所定量の画像データをプリンタへ出力するデータ出力工程と、プリンタの、プリント処理に関する周期データを取得する周期データ取得工程と、汎用ＯＳのリアルタイム機能により制御されるタスクであって、データ出力工程の起動周期を、周期データ取得工程で取得した周期データに基づいて設定するデータ出力周期設定工程とを実行させる。
【００１５】
本発明の他の局面に従うと、コンピュータ読取可能な記録媒体は、上述のデータ転送プログラムを記録する。
【００１６】
【発明の実施の形態】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００１７】
図１は、本実施の形態におけるプリントシステム１の構成を示すブロック図である。
【００１８】
図１を参照して、本実施の形態におけるプリントシステム１は、プリンタコントローラ１０と、プリンタ２０とからなる。
【００１９】
プリンタコントローラ１０は、外部のホストコンピュータ等から受信するプリントジョブに基づいて、画像データ（ビットマップデータ）を生成する。
【００２０】
プリンタコントローラ１０は、プリンタコントローラ１０全体の制御を行なうＣＰＵ（Central Processing Unit）１１と、各種プログラムやパラメータを格納するためのＲＯＭ１２と、作業領域として一時的にプログラムやデータを記憶するためのＲＡＭ１３と、外部のホストコンピュータとの間で行なわれるプリントデータの送受信を行なう通信Ｉ／Ｆ（インタフェース）１４と、大容量の記憶装置であるＨＤＤ１５と、プリントシステム１の状態の表示やプリント指示の入力等を行なう操作部１６と、ＩＥＥＥ１３９４シリアルバスのインタフェースとその制御部分とから構成され、プリンタ２０との間でＩＥＥＥ１３９４シリアルバスを介して画像データなどを送信する画像出力部１７とを備える。
【００２１】
ＨＤＤ１５には、外部のホストコンピュータ等から受信したプリントジョブにおけるＰＤＬ（Page Description Language；ページ記述言語）などのプリント制御データを解釈し、内部処理可能な形式のデータである中間レコードに変換するプログラムと、生成した中間レコードに基づき画像データを生成するプログラムとが記録されている。これらのプログラムが実行されることで、プリントジョブから画像データが生成される。
【００２２】
プリンタ２０は、プリンタコントローラ１０からの指示に基づき、プリンタコントローラ１０で生成された画像データをプリント出力する。
【００２３】
プリンタ２０は、プリンタ２０全体の制御を行なうＣＰＵ２１と、各種プログラムやパラメータを格納するためのＲＯＭ２２と、作業領域として一時的にプログラムやデータを記憶するためのＲＡＭ２３と、レーザビーム方法によるプリントを行なうエンジン部２５と、ＩＥＥＥ１３９４シリアルバスのインタフェースとその制御部分とから構成され、プリンタコントローラ１０との間でＩＥＥＥ１３９４シリアルバスを介して画像データなどを受信する画像入力部２４とを備える。なお、エンジン部２５は、ポリゴンミラーの回転制御を行なうスキャナ制御部２６と、感光体ドラムへの帯電、現像バイアスおよび転写ローラへの転写バイアスの電圧印加などの高電圧制御を行なう高圧制御部２７と、レーザビームの変調制御を行なうレーザ制御部２８と、用紙等の記録媒体の搬送制御を行なう搬送制御部２９とを含む。
【００２４】
このような構成のプリントシステム１において、プリンタコントローラ１０とプリンタ２０とはＩＥＥＥ１３９４シリアルバスを用いて接続され、一定の帯域を保証するアイソクロナス転送モードが適用されている。
【００２５】
次に、プリントシステム１におけるプリント処理について説明する。
図２は、プリンタコントローラ１０におけるプリント処理を示すフローチャートである。図２のフローチャートに示される処理のプログラムは、ＨＤＤ１５等の記憶装置に記憶されており、ＣＰＵ１１により実行される。
【００２６】
図２を参照して、まず、通信Ｉ／Ｆ１４を介して、外部のホストコンピュータ等からプリントジョブを受信したか否かを判断する（Ｓ１０１）。プリントジョブを受信した場合（Ｓ１０１でＹｅｓ）、プリントジョブからＰＤＬで記述されているプリント制御情報を取得する（Ｓ１０２）。
【００２７】
次にインタープリタを使用してそのＰＤＬを解釈し（Ｓ１０３）、中間レコードを作成する（Ｓ１０４）。ステップＳ１０３，Ｓ１０４で、１ページ分の中間レコードの生成が終了したか否かを判断する（Ｓ１０５）。
【００２８】
１ページ分の中間レコードの生成が終了すると（ステップＳ１０５でＹｅｓ）、その生成された中間レコードをページキューに登録する（Ｓ１０６）。
【００２９】
次に、ページキューから１ページ分の中間レコードを取出し、取出ポインタを１つインクリメントする（Ｓ１０７）。
【００３０】
ステップＳ１０７で取出された中間レコードを、プリンタ２０に出力可能な画像データへ変換する（Ｓ１０８）。
【００３１】
ステップＳ１０８で変換して得られた画像データを、ＩＥＥＥ１３９４シリアルバスを介して、画像出力部１７からプリンタ２０へ送信する（Ｓ１０９）。
【００３２】
プリントジョブが終了するまで（ステップＳ１１０でＹｅｓ）、ステップＳ１０２〜Ｓ１０９に示される一連の処理を繰返し、ステップＳ１０１で受信した全てのプリントジョブの画像データをプリンタ２０へ送信する。
【００３３】
以上が、プリンタコントローラ１０における処理の流れである。
一方、プリンタ２０では、プリンタコントローラ１０からのプリント要求信号を画像入力部２４で受信すると、搬送制御部２９に給紙指示信号を出力して給紙の開始を指示する。また同時に、スキャナ制御部２６に走査準備を指示する。さらに高圧制御部２７を介して感光体ドラムへの帯電、現像バイアスなどを設定し、プリントの準備を行なう。次に、レーザ制御部２８は、後に説明を行なう垂直同期信号に同期して、プリンタコントローラ１０から画像入力部２４を介して入力された画像データに基づいて、レーザビームの変調を行なう。これによって感光体ドラム上に静電潜像が形成される。
【００３４】
次に、プリントシステム１によりプリントが行なわれる際の各種信号のタイミングについて説明を行なう。図３は、１ページ分のプリントを行なう場合のプリンタ２０の動作に関する各種信号のタイミングを示した図である。
【００３５】
図３を参照して、Ｌ６およびＬ７は１ページ分の縦横の用紙幅を示しており、これらの用紙幅からＬ３、Ｌ４、およびＬ１、Ｌ２を除いた領域が印字可能領域となっている。／ＶＳＹＮＣ信号は１ページ分のプリントを開始するための垂直走査方向（副走査方向）の同期信号であり、／ＶＳＲＥＱ信号は、／ＶＳＹＮＣ信号を要求する信号である。また、／ＨＳＹＮＣ信号は、１ライン毎のプリントを開始するための水平走査方向（主走査方向）の同期信号であり、／ＶＩＤＥＯ信号は、実際にプリンタ２０がプリントを行なうか否かを示す画像データである。たとえばモノクロプリンタの場合、／ＶＩＤＥＯ信号の有効状態で黒、／ＶＩＤＥＯ信号の無効状態で白となる。
【００３６】
プリンタ２０は、画像データに基づいてプリントする際、直ちに給紙できる状態であれば給紙を開始し、所定時間後に／ＶＳＹＮＣ信号を要求する／ＶＳＲＥＱ信号を有効にする。プリンタコントローラ１０は、／ＶＳＲＥＱ信号が有効であるとき／ＶＳＹＮＣ信号を有効にし、所定時間後に／ＨＳＹＮＣ信号に同期して１ライン分ずつ画像データを出力する。
【００３７】
／ＨＳＹＮＣ信号の周期（ｔ１０）はプリンタ２０のプロセス速度に対応しており、個々のプリンタの性能により規定される。画像データは、この周期（ｔ１０）に応じて、一定速度でプリンタ２０に供給される。なお、／ＨＳＹＮＣ信号の周期（ｔ１０）は、エンジンの出力速度が高く、解像度（画像記録密度）が高いほど短くなる。
【００３８】
通常、／ＨＳＹＮＣ信号の周期（ｔ１０）とＩＥＥＥ１３９４のアイソクロナス転送周期（１２５μ秒）とは一致しないが、プリンタ２０にバッファメモリを持たせることによりこの周期の違いを緩衝することが可能となる。
【００３９】
図４に、本実施の形態における、プリンタコントローラ１０のファームウェア構成の具体例を示す。本実施の形態では、汎用ＯＳであるＬｉｎｕｘにリアルタイム処理機能を付加したＲＴ−Ｌｉｎｕｘを、プリンタコントローラ１０のＯＳとして採用している。
【００４０】
図４を参照して、プリンタコントローラ１０のファームウェアは、カーネルとして、Ｌｉｎｕｘカーネル１１０とリアルタイムカーネル１２０とを備える。
【００４１】
Ｌｉｎｕｘカーネル１１０は、リアルタイム性を要求されない通常のＬｉｎｕｘアプリケーションを実行制御するためのカーネルであり、リアルタイムカーネル１２０の最も優先順位の低いタスクとして実行される。ここでは、Ｌｉｎｕｘカーネル１１０での非リアルタイムの制御単位をプロセスとする。
【００４２】
リアルタイムカーネル１２０は、外部ハードウェアの同期制御などのリアルタイム性を要求される制御を行なうためのカーネルである。ここでは、リアルタイムカーネル１２０でのリアルタイムの制御単位をタスクとする。
【００４３】
また図４を参照して、Ｌｉｎｕｘカーネル１１０が非リアルタイム制御を行なうプロセスとして、ＰＤＬ解析制御プロセス１１１と、ジョブ制御プロセス１１２と、操作部制御プロセス１１３と、データフロー制御プロセス１１４と、ＨＴＴＰサーバ制御プロセス１１５と、ｆｔｐサーバ制御プロセス１１６と、ｔｅｌｎｅｔサーバ制御プロセス１１７と、非リアルタイム全体制御プロセス１１８とがある。
【００４４】
これら各プロセスの概要を説明する。
ＰＤＬ解析制御プロセス１１１は、ＰＤＬの解析を行ない、中間レコードを作成する。
【００４５】
ジョブ制御プロセス１１２は、プリントジョブを含む、各種アプリケーションのジョブの制御を行なう。
【００４６】
操作部制御プロセス１１３は、プリンタコントローラ１０の操作部１６から入力された各種データの制御を行なう。
【００４７】
データフロー制御プロセス１１４は、ＰＤＬ解析制御プロセス１１１において作成された中間レコードをリアルタイムカーネル１２０へ渡す。
【００４８】
ＨＴＴＰサーバ制御プロセス１１５、ｆｔｐサーバ制御プロセス１１６およびｔｅｌｎｅｔサーバ制御プロセス１１７は、インターネット機能を制御する。
【００４９】
非リアルタイム全体制御プロセス１１８は、非リアルタイム制御全体に関わる管理および制御を行なう。
【００５０】
上述の各プロセス１１１〜１１７は、リアルタイム性を要求されないアプリケーションのプロセスであるため、均等に行なわれる。
【００５１】
またさらに図４を参照して、リアルタイムカーネル１２０がリアルタイム制御を行なうタスクとして、リアルタイムタイマ制御タスク１２１と、データフロー制御タスク１２２と、給紙制御タスク１２３と、画像生成制御タスク１２４と、画像出力制御タスク１２５と、エンジン通信制御タスク１２６と、リアルタイム全体制御タスク１２７とがある。
【００５２】
これら各タスクの概要を説明する。
リアルタイムタイマ制御タスク１２１は、ミリ秒範囲の一定周期で実行される処理の制御を行なう。また、他のタスクで周期的な処理の必要が生じた場合、リアルタイムタイマ制御タスク１２１はその処理を依頼される。
【００５３】
データフロー制御タスク１２２は、非リアルタイムプロセスとのデータ送受信制御を行なう。
【００５４】
給紙制御タスク１２３は、記録用紙の給紙処理の制御を行なう。
画像生成制御タスク１２４は、中間レコードを画像データに変換するための制御を行なう。
【００５５】
画像出力制御タスク１２５は、プリンタ２０の／ＨＳＹＮＣ信号に同期して、１ライン分ずつ画像データを同期パケットとして転送するための制御を行なう。
【００５６】
エンジン通信制御タスク１２６は、プリンタ２０の／ＨＳＹＮＣ信号の周期を取得するための非同期通信モードの制御を行なう。
【００５７】
リアルタイム全体制御タスク１２７は、リアルタイム制御全体に関わる管理およびリアルタイムタスク間の同期制御を行なう。すなわち、上記の各タスク１２１〜１２６の実行タイミングは、リアルタイム全体制御タスク１２７によって決定される。
【００５８】
次に、図４に示されたプロセスとタスクと図２に示されたフローチャートとの関係について、概略を説明する。
【００５９】
図２のステップＳ１０１で受信されたプリントジョブは、ＰＤＬ解析制御プロセス１１１により、ステップＳ１０３，Ｓ１０４が実行され、ＰＤＬの解釈および中間レコードの作成が行なわれる。
【００６０】
作成された中間レコードは、データフロー制御プロセス１１４からデータフロー制御タスク１２２へ渡され、リアルタイム制御の対象となる。
【００６１】
次に中間レコードに対して、画像生成制御タスク１２４および画像出力制御タスク１２５により、ステップＳ１０８およびＳ１０９が実行され、画像データへの展開およびプリンタ２０への出力が並行して行なわれる。
【００６２】
図５は、リアルタイム全体制御タスク１２７において行なわれる処理を示すフローチャートである。
【００６３】
リアルタイム全体制御タスク１２７は、画像出力部１７から画像データをプリンタ２０に送信を始めるのに先立って、図２のステップＳ１０９の中で実行される処理である。
【００６４】
図５を参照して、まず、ＰＤＬ解析制御プロセス１１１で、非リアルタイムプロセスとして解析されていた当該プリントジョブのプリント制御情報を取得する（Ｓ２０１）。
【００６５】
ステップＳ２０１で取得したプリント制御情報より、プリントジョブに指定された解像度が読出される（Ｓ２０２）。
【００６６】
ステップＳ２０２で読出されたプリントジョブの指定解像度と、現在プリンタ２０に設定されている解像度とが比較される（Ｓ２０３）。
【００６７】
ステップＳ２０３で比較された結果、当該プリントジョブの指定解像度と、現在設定されているプリンタ２０の解像度とが一致していた場合（Ｓ２０３でＹｅｓ）、現在プリンタ２０に設定されている／ＨＳＹＮＣ信号の周期データを取得する（Ｓ２０４）。
【００６８】
ステップＳ２０３で比較された結果、当該プリントジョブの指定解像度と、現在設定されているプリンタ２０の解像度とが一致していなかった場合（Ｓ２０３でＮｏ）、当該プリントジョブに指定された解像度に対応するプリンタ２０の／ＨＳＹＮＣ信号の周期データを取得する（Ｓ２０５）。プリンタ２０の／ＨＳＹＮＣ信号の周期データは、エンジン通信制御タスク１２６で、ＩＥＥＥ１３９４非同期転送制御を行ない、取得される。
【００６９】
ステップＳ２０４またはＳ２０５で取得されたプリンタ２０の／ＨＳＹＮＣ信号の周期データに基づいて、画像出力制御タスク１２５の起動周期パラメータを設定する（Ｓ２０６）。
【００７０】
ステップＳ２０６で設定された起動周期パラメータに基づいて画像出力制御タスク１２５が起動し（Ｓ２０７）、画像データが、／ＨＳＹＮＣ信号の周期にあわせてプリンタ２０に転送される。
【００７１】
本実施の形態においては、プリンタコントローラ１０からプリンタ２０に、画像データがＩＥＥＥ１３９４シリアルバスを介してアイソクロナス転送される。
【００７２】
上述のリアルタイム全体制御タスク１２７において、ステップＳ２０６でプリントジョブに指定された解像度に対応するプリンタ２０の／ＨＳＹＮＣ信号の周期に基づいた周期パラメータを設定することで、プリンタコントローラ１０の画像出力制御タスク１２５の起動周期を、当該プリントジョブに対して最適に設定することができる。これによって、個々のプリンタ２０の／ＨＳＹＮＣ信号の周期に基づいた、プリンタコントローラ１０の画像出力制御タスク１２５の起動周期が決定される。決定された起動周期に基づいて画像データが転送されることで、最適なプリント処理を実現することができる。すなわち、プリントシステム１内でのオーバーヘッドを無くし、効率的なデータ転送を実現することができる。
【００７３】
なお上述のプリントシステム１のプリンタコントローラ１０のＯＳとして、汎用ＯＳのＬｉｎｕｘにリアルタイム性を付加したＲＴ−Ｌｉｎｕｘが用いられいている場合について説明を行なったが、汎用ＯＳはＬｉｎｕｘに限定されるものではない。
【００７４】
また、プリンタコントローラ１０とプリンタ２０との通信はＩＥＥＥ１３９４シリアルバスを用いたアイソクロナス転送モードにおける通信を行なっているが、その他のアイソクロナス転送を行なうシリアルバスを用いた通信であっても構わない。
【００７５】
さらに、上述のプリントシステム１のプリンタコントローラ１０で行なわれるデータ転送方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータ読取り可能なプログラムである。
【００７６】
プログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ、ＲＯＭ、ＲＡＭおよびメモリカードなどの記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００７７】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。
【００７８】
なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００７９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】  本実施の形態におけるプリントシステム１の構成を示すブロック図である。
【図２】  プリンタコントローラ１０におけるプリント処理を示すフローチャートである。
【図３】  １ページ分のプリントを行なう場合のプリンタ２０の動作に関する各種信号のタイミングを示した図である。
【図４】  本実施の形態における、プリンタコントローラ１０のファームウェア構成の具体例を示す図である。
【図５】  リアルタイム全体制御タスク１２７において行なわれる処理を示すフローチャートである。
【符号の説明】
１  プリントシステム、１０  プリンタコントローラ、１１  プリンタコントローラのＣＰＵ、１２  プリンタコントローラのＲＯＭ、１３  プリンタコントローラのＲＡＭ、１４  通信Ｉ／Ｆ、１５  ＨＤＤ、１６  操作部、１７  画像出力部、２０  プリンタ、２１  プリンタのＣＰＵ、２２  プリンタのＲＯＭ、２３  プリンタのＲＡＭ、２４  画像入力部、２５  エンジン部、２６  スキャナ制御部、２７  高圧制御部、２８  レーザ制御部、２９  搬送制御部、１１０Ｌｉｎｕｘカーネル、１１１  ＰＤＬ解析制御プロセス、１１２  ジョブ制御プロセス、１１３  操作部制御プロセス、１１４  データフロー制御プロセス、１１５  ＨＴＴＰサーバ制御プロセス、１１６  ｆｔｐサーバ制御プロセス、１１７  ｔｅｌｎｅｔサーバ制御プロセス、１１８  非リアルタイム全体制御プロセス、１２０  リアルタイムカーネル、１２１  リアルタイムタイマ制御タスク、１２２  データフロー制御タスク、１２３  給紙制御タスク、１２４  画像生成制御タスク、１２５  画像出力制御タスク、１２６  エンジン通信制御タスク、１２７  リアルタイム全体制御タスク。
【図１】
0004082016.tif 000002
【図２】
0004082016.tif 000003
【図３】
0004082016.tif 000004
【図４】
0004082016.tif 000005
【図５】
0004082016.tif 000006