JP2004272913A - 2つの命令スタックを使用する命令アーキテクチャ - Google Patents

2つの命令スタックを使用する命令アーキテクチャ Download PDF

Info

Publication number
JP2004272913A
JP2004272913A JP2004064925A JP2004064925A JP2004272913A JP 2004272913 A JP2004272913 A JP 2004272913A JP 2004064925 A JP2004064925 A JP 2004064925A JP 2004064925 A JP2004064925 A JP 2004064925A JP 2004272913 A JP2004272913 A JP 2004272913A
Authority
JP
Japan
Prior art keywords
instruction
stacks
various embodiments
integrated circuit
stack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004064925A
Other languages
English (en)
Inventor
Glenn M Smith
グレン・エム・スミス
Walter D Clark
ウォルター・ディ・クラーク
William S Eaton
ウィリアム・エス・イートン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2004272913A publication Critical patent/JP2004272913A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
    • B41J2/01Ink jet
    • B41J2/015Ink jet characterised by the jet generation process
    • B41J2/04Ink jet characterised by the jet generation process generating single droplets or particles on demand
    • B41J2/045Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
    • B41J2/04501Control methods or devices therefor, e.g. driver circuits, control circuits
    • B41J2/04541Specific driving circuit
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
    • B41J2/01Ink jet
    • B41J2/015Ink jet characterised by the jet generation process
    • B41J2/04Ink jet characterised by the jet generation process generating single droplets or particles on demand
    • B41J2/045Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
    • B41J2/04501Control methods or devices therefor, e.g. driver circuits, control circuits
    • B41J2/0455Details of switching sections of circuit, e.g. transistors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
    • B41J2/01Ink jet
    • B41J2/015Ink jet characterised by the jet generation process
    • B41J2/04Ink jet characterised by the jet generation process generating single droplets or particles on demand
    • B41J2/045Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
    • B41J2/04501Control methods or devices therefor, e.g. driver circuits, control circuits
    • B41J2/04586Control methods or devices therefor, e.g. driver circuits, control circuits controlling heads of a type not covered by groups B41J2/04575 - B41J2/04585, or of an undefined type

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

【課題】2つの命令スタックを使用する命令アーキテクチャの技法を提供する。
【解決手段】本発明は、複数のタイムセンシティブなプロセスに対して単一のシリアルバスインターフェースの使用を可能にする。本発明は、グラント信号線およびリクエスト信号線を介してアービタに接続される3つのプログラマブルコマンドエリア、すなわちファームウェアプログラマブル命令スタックを利用する。この命令スタックは、8個以上の命令用の空間を有する。コマンドエリアの少なくとも2つは、ループ機能または遅延機能を有する。第3のコマンドエリアは、例えばFIFO命令キューのような命令キューである。この第3のコマンドエリアは、最初の2つの命令スタックと同様の命令スタックを含む。
【選択図】図3

Description

本発明は、命令アーキテクチャに関する。
例えば、インクジェットプリンタ、レーザプリンタなどの印刷装置は、制御信号、コマンド、および/またはコンピュータ読み取り可能命令セットに従って動作し、印刷媒体へのインクの転送を行う。印刷媒体には、多くの形態があり、特に、原稿用紙、写真用紙、カードストック、レターヘッド、封筒、名刺、および透明シートが含まれ得る。印刷装置の動作は、1つまたは複数のコントローラによって管理される。コントローラとしては、例えばケーブル接続といった適切なインターフェースによって接続されたマイクロプロセッサ制御のプリント回路基板および1つまたは複数の特定用途向け集積回路(ASICまたはチップセット)がある。インクジェットプリンタでは、コントローラが、1つまたは複数のインクジェットペンを保持するキャリッジの印刷媒体の両端にわたった移動を調節する。このコントローラは、さらに、印刷媒体へのインクのタイミングおよび噴射を調節する。例えば、インクの飛行時間およびインク滴の衝撃といった印刷プロセスに関連した測定機能を実行するさまざまなコントローラまたはチップセットが、設計されている。このような測定の結果、印刷装置は、キャリッジエンコーダ、用紙エンコーダなどのハードウェアと通信して、ペン速度、用紙速度、プリントヘッドの温度、および他の印刷特性のキャリブレーションを行うことができる。
多くの環境では、複数のタイムセンシティブなプロセスが存在する。インクジェットプリンタの分野では、ほぼ同時に行わなければならない多数のプロセスがある。例えば、ほぼ同時に行わなければならない2つの特定のプロセスには、モータおよび測定のルーチンの制御が含まれる。すなわち、用紙またはキャリッジを移動させるモータのサーボ制御、および、1つまたは複数の測定センサからの複数の測定サンプルの収集は、ほぼ同じモータの位置で行わなければならない。これらの機能の双方を実行するために、アナログICとの通信が行われる。場合によっては、コマンドエリアが2つのほぼ同時の測定値を取得するまで、測定コマンドは、コマンドエリアの他の使用(例えば命令ルーチン、データレジスタ、およびインターフェースの使用)をロックアウトする。インターフェースは、実際のアナログからデジタルへのデータ変換の時間の間、アイドル状態にある。単一のアナログICが双方の機能に使用されている場合、このデータ変換を行う時間はあまりにも長いので、双方の機能が共有しなければならないインターフェースの使用からサーボルーチンをロックアウトすることはできない。
この問題を解決するこれまでの取り組みには、2つの別々のアナログASIC(application specific integrated circuits、特定用途向けIC)を使用することが含まれていた。これら2つのASICは、それぞれがタイムセンシティブなプロセスを行うそれ自身の専用インターフェースを有する。過去において、別々のICを使用することには、他の利点があったが、それらの利点は、ある一定のインクジェットペンアーキテクチャでは、もはや存在しない。複数のICで実施することの不利な点は、コストがかかるということである。すなわち、2つのアナログASICを使用すると、スペース(real estate)およびチップ数のコストが追加されると共に、余分なインターフェース回路およびASICのピン数の形のコストが生み出される。
本発明は、2つの命令スタックを使用する命令アーキテクチャの技法を提供する。
さまざまな実施形態は、複数のタイムセンシティブなプロセスに対して単一のシリアルバスインターフェースの使用を可能にする。さまざまな実施形態が、グラント(grant)信号線およびリクエスト信号線を介してアービタ(arbiter、調停器)に接続される3つのプログラマブルコマンドエリア、すなわちファームウェアプログラマブル命令スタックを利用する。さまざまな実施形態において、この命令スタックは、8個以上の命令(コマンド)用の空間を有する。さまざまな実施形態において、コマンドエリアの少なくとも2つは、ループ機能または遅延機能を有する。さまざまな実施形態において、第3のコマンドエリアは、例えば先入れ先出し(FIFO)命令キューのような命令キューである。さまざまな実施形態において、この第3のコマンドエリアは、最初の2つの命令スタックと同様の命令スタックを含む。
さまざまな実施形態において、1つまたは複数のファームウェアプログラマブル命令スタックがコマンドエリアを共有する必要がないように、種々のファームウェアプロセスまたはファームウェアルーチン、例えば記述、消去、書き換えなどが行われるルーチンを、それらのファームウェアプログラマブル命令スタックに対して専用にプログラミングすることができる。このようにして、コマンドエリアの衝突を少なくすることができる。さまざまな実施形態において、命令またはコマンドは、各命令スタックに割り当てられた優先順位に基づいて、単一のシリアルバスにより送信することができる。優先順位、すなわちタイムセンシティブ性に基づく調整により、インターフェースの問題を改善でき、1つまたは複数の命令スタックのそれぞれに対してプログラミングされたルーチンによって実行可能なさまざまなプロセスの遅延を低減できる。
本発明のさまざまな実施形態は、1つまたは複数の装置、装置タイプ、およびネットワーク化環境を含むシステム環境で実行することができる。
図1は、本発明の実施形態を実施するように動作できるか、または、本発明の実施形態を含むことができる印刷装置の実施形態を示している。図1の実施形態は、インクジェットプリンタ110を示している。このインクジェットプリンタ110は、オフィス環境または家庭環境において、事業報告、通信文書、デスクトップパブリッシング、映像などに使用することができる。しかしながら、本発明は、そのように限定されるものではなく、本発明のさまざまな実施形態を実施するレーザジェットプリンタまたは他のプリンタを含むことができる。図1の実施形態において、プリンタ110は、筐体112と、1つまたは複数の印刷媒体をプリンタ110に供給する印刷媒体処理システム114とを備える。印刷媒体としては、例えば、一枚の用紙、名刺、封筒、または高品質写真用紙がある。印刷媒体は、画像の受像に適した任意のタイプの素材を含むことができる。このような画像の受像に適した素材としては、例えば、紙カードストック、透明シートなどがある。図1の実施形態において、印刷媒体処理システム114は、フィードトレイ116と、出力トレイ118と、一連のローラ(図示せず)とを備える。この一連のローラは、フィードトレイ116から、図1に120および122として示す1つまたは複数のインクジェットカートリッジからのインクを受け取る位置へ何枚もの印刷媒体を送り出す。図1の実施形態において、インクジェットカートリッジ120は、マルチカラーインクカートリッジであり、インクジェットカートリッジ122は、ブラックインクカートリッジである。
図1の実施形態に示すように、インクカートリッジ120および122は、キャリッジ124によって搬送される。キャリッジ124は、駆動ベルト/プーリおよびモータ機構により、ガイド棒126に沿って駆動することができる。他の印刷装置、例えばレーザ写真システムまたは液体電子写真(liquid electro photography)システムでは、インクカートリッジは、ドライトナーまたは液体トナーに取り替えることができる。同様に、実際のカートリッジタイプおよびモータ制御機構は、印刷装置ごとに変化し得る。しかしながら、本発明のさまざまな実施形態は、これらの印刷装置に含めることができ、また、これらの印刷装置で実施することができる。
図1の実施形態では、カートリッジ120および122は、プリンタコントローラ130から導体ストリップ128を介して受信される命令に従って、インク液滴を1枚の用紙または他の印刷媒体に選択的に付着させる。プリンタコントローラ130は、筐体112内に位置することができる。コントローラ130は、印刷ドライバから印刷命令の組を受信する。印刷ドライバは、ネットワークを介して印刷装置110に接続されるコンピュータ装置内に存在することができる。コンピュータ装置としては、例えばデスクトップ、ラップトップなどがある。また、スタンドアロン印刷装置、フォトプリンタ、キオスク、またはスタンドアロン電気器具の場合のように、印刷ドライバは、印刷装置110自体にも存在することができる。以下にさらに詳細に解説するように、ディスプレイを印刷装置110に関連付けて、オペレータに視覚情報を表示することができる。
図2は、従来の印刷装置環境に既存のアーキテクチャを示すシステムの実施形態である。図2の実施形態では、印刷装置202は、インターフェース203を介してホストコンピュータ204(例えば、特に、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、および/またはサーバ)にネットワーク接続されたものとして示されている。コンピュータ204は、ディスプレイ206を備えることができる。図2の実施形態は、印刷装置202が、少なくとも1つの特定用途向け集積回路(ASIC)210を含むことを示している。ASIC210は、211として示す1つまたは複数のプロセッサを含むことができる。図2に示すように、ASIC210は、212−1、212−2として示す1つまたは複数のアナログASICと連係して、さまざまな機能を実行することができる。
例えば、ASIC210は、プリントヘッドの噴射および制御に適用可能なルーチンを含むことができる。ASIC210は、アナログASIC212−1と通信して、測定ルーチンを実行することができる。アナログASIC212−1からの測定ルーチンは、1つまたは複数のインクリザーバ221−1、221−2、…、221−Nに関連したセンサ222−1、222−2、…、222−Nと連係して、それらのインクリザーバの液位を求めることができる。また、ASIC210は、アナログ/デジタルASIC212−1と通信して、1つまたは複数のプリントヘッド231−1、231−2、…、231−Nの噴射を制御することもできる。
ASIC210は、印刷装置の媒体タイプの検出に適用可能な媒体検知ルーチンを含むことができる。例えば、ASIC210は、アナログASIC212−1と通信して、回路260を駆動することができる。回路260は、センサ261と共に測定ルーチンを実行して、媒体タイプを検出するように動作することができる。すなわち、センサ261は、現在の媒体に対して鏡面測定および拡散測定を行うことができる。
また、ASIC210は、印刷装置の用紙サーボ制御に適用可能な用紙サーボルーチンも含むことができる。例えば、ASIC210は、アナログASIC212−2と通信して、モータエンコーダ240を読み出すことができる。測定ルーチンは、このモータエンコーダに関連したレジスタ、センサ、およびカウンタ241と連係して、速度および方向を含む用紙の移動の追尾および制御を行うことができる。
さらに、ASIC210は、印刷装置のキャリッジサーボ制御に適用可能なキャリッジサーボルーチンを含むことができる。例えば、ASIC210は、アナログASIC212−2と通信して、キャリッジエンコーダ250の例えば電源の「オン」および「オフ」を制御することができる。キャリッジエンコーダ250の回路は、デジタルセンサ251からの出力を、ASIC210に関連したレジスタおよびカウンタに供給して、速度および方向を含むキャリッジの移動の追尾および制御を行うことができる。
上述した命令および測定ルーチンは、印刷装置に関連したメモリ214および/またはファームウェア216から上述したASIC210に供給することができる。
この明細書では、導電性パス、インターフェース、および/または接続には、例えば、配線された電気リンク、無線周波リンク、赤外線リンク、光リンクなどの信号媒体の任意の1つまたは組み合わせたものが含まれるものと意図される。
メモリ214には、印刷装置の全体にわたって分散した1つまたは複数のコンピュータ読み取り可能媒体が含まれ得る。この1つまたは複数のコンピュータ読み取り可能メモリには、例えば、DRAMおよびDDRAMといった大きな固定メモリ媒体、光磁気読み取り媒体、例えばフラッシュメモリといったNVメモリ、多くの小さなメモリ媒体ロケーションが含まれ得る。同様に、ファームウェア216には、印刷装置の全体にわたって分散した1つまたは複数のコンピュータ読み取り可能媒体が含まれ得る。この媒体には、特に、さまざまな種類のROM、PROM、EPROM、EEPROM、およびフラッシュメモリが含まれる。
説明したように、上述したASIC210は、測定命令ルーチンおよび制御命令ルーチンを含むことができる。このような測定ルーチンおよび制御ルーチンには、特に、モータ制御命令、プリントヘッド温度測定命令、プリントヘッド噴射命令、およびキャリブレーション測定命令が含まれるが、これらに限定されるものではない。
要約すると、プリンタは、複数のアナログASIC、例えばASIC212−1および212−2を有して、さまざまな機能を実行することができる。これらの機能の中には、新しいプリントヘッドファミリの追加機能のため、新しいプラットフォームに置き換わったものがある。残りの機能の中には、アナログIC、例えばアナログIC212−1、212−2と、デジタルIC、例えばデジタルIC210との間のインターフェースを使用する必要があるタイムセンシティブなプロセス間の衝突を除いて、単一のアナログICで実施できるものがある。アナログASICの中には、同じインターフェースに複数のICを接続できる高速広帯域のレジスタベースのシリアルインターフェースを使用するものがある。このようなレジスタベースのシリアルインターフェースを使用する方法は、ファームウェアプログラマブル命令スタックのコマンドエリアにコマンドを書き込むものである。遅延コマンドおよびループコマンドが、この命令スタック構造の一部として実施される。命令スタックが一旦書き込まれると、GO信号が発行され、スタックは、ループコマンドを含むすべてのコマンドが完了するまで実行される。
従来の命令スタック構造/アーキテクチャには、所与のデジタルIC、例えばデジタルIC210に1つのスタックしかなかった。これは、たとえ、レジスタベースのシリアルインターフェースの帯域幅により、他のプロセスがそのインターフェースを使用できる場合であっても、タイムセンシティブなプロセスが、他のプロセスをロックアウトすることを意味する。ロックアウトが行われるのは、別のシステムプロセスがそのインターフェースを使用するには、命令スタックをクリアして書き換えなければならないという理由によるものである。元のプロセスが、主プロセッサ、例えばプロセッサ211を取り戻して、命令スタックを書き換えるまでには、かなりの時間が経過している。
図3は、本発明の教示による命令アーキテクチャ300の実施形態を示している。図3の実施形態に示すように、第1の集積回路(第1のIC)302は、シリアルインターフェース306を介して第2の集積回路(第2のIC)304と連係される。さまざまな実施形態において、第1の集積回路302は、特定用途向け集積回路(第1のASIC)とすることができ、第2の集積回路304は、第2の特定用途向け集積回路(第2のASIC)とすることができる。さまざまな実施形態において、第1の集積回路302には、すべてのデジタル集積回路またはASICが含まれる。図3の実施形態に示すように、第2の集積回路304は、アナログ/デジタル(A/D)変換器305を含む。多数のタイプの多種多様なアナログ・デジタル変換器(ADC)およびデジタル・アナログ変換器(DAC)が、本発明のさまざまな実施形態の実施に適するように、図3に示すA/D変換器305を構成することができる。
さまざまな実施形態において、シリアルインターフェース306には、レジスタベースのシリアルインターフェースが含まれる。さまざまな実施形態において、シリアルインターフェース306は、複数の集積回路に接続するように動作できる。さまざまな実施形態において、シリアルインターフェースには、12メガヘルツ以上の周波数で動作できる高速シリアルインターフェースが含まれる。図3の実施形態では、シリアルインターフェース306の全体にわたったデータ転送をクロック制御する(clocking)クロック307が、シリアルインターフェース306に関連付けられて示されている。図3の実施形態に示すように、1つまたは複数のデータレジスタ309も、シリアルインターフェース306に関連付けることができる。
図3の実施形態では、第1の集積回路302は、308および310として示される少なくとも2つの命令スタックを含む。図3の実施形態では、第1の命令スタック308および第2の命令スタック310が示されている。しかしながら、本発明の実施形態では、第1の集積回路302の命令スタックは2つの命令スタックに限定されない。さまざまな実施形態において、少なくとも2つの命令スタック、例えば命令スタック308および310には、ファームウェアプログラマブル命令スタックが含まれる。すなわち、少なくとも2つの命令スタック308および310は、第1の集積回路302に動作可能に接続される、ファームウェア320によりプログラミング可能なコマンドエリアを含み、それによって、多数のコマンドおよび/またはルーチンを含む。さまざまな実施形態において、少なくとも2つの命令スタック308および310のコマンドエリアは、それぞれ、少なくとも8個のコマンドを保持する空間を含む。
さまざまな実施形態において、少なくとも2つの命令スタック308および310は、図3に信号線314−1および314−2として示すタイマまたは割り込み信号線から作動するように構成される。したがって、少なくとも2つの命令スタック308および310は、1つまたは複数のトリガ源によってトリガ可能に構成される。さまざまな実施形態において、1つまたは複数のトリガ源には、特に、用紙タイマ、用紙エンコーダ割り込み、用紙噴射割り込み、および1つまたは複数のキャリッジエンコーダパルスから発生する信号が含まれるが、これらは一例であって、限定的ではない。
図3の実施形態は、さらに、少なくとも2つの命令スタック308および310に接続されたアービタ312を示している。図3の実施形態に示すように、少なくとも2つの命令スタック308および310は、グラント信号線およびリクエスト信号線、例えば信号線G1、R1;G2、R2を介してアービタ312に接続される。当業者は、グラント信号線およびリクエスト信号線を使用してアービタ312と連係できるようにする方法について理解している。
図3の実施形態では、第1の集積回路302は、命令キュー315をさらに含む。さまざまな実施形態において、命令キューには、先入れ先出し(FIFO)キューが含まれる。図3の実施形態に示すように、命令キューも、信号線G3およびR3として示すグラント信号線およびリクエスト信号線を介してアービタ312に接続することができる。
さまざまな実施形態において、アービタ312は、少なくとも2つの命令スタック308および310のうち第1の命令スタック308に第1優先順位を提供するように動作できる。アービタは、命令キュー315と、少なくとも2つの命令スタック308および310のうち第2の命令スタック310とに第2優先順位を提供するように動作できる。
さまざまな実施形態において、少なくとも2つの命令スタック308および310の少なくとも1つは、ループ機能、遅延機能、読み出しレジスタ機能、書き込みレジスタ機能、および読み出しレジスタ/メモリ書き込み機能(例えば、第1の集積回路302に動作可能に接続されたメモリ318)からなる群から選択される1つまたは複数の機能を含む。
図3の実施形態では、少なくとも2つの命令スタック308および310、アービタ312、および命令キュー315を、それらのそれぞれのグラント信号線およびリクエスト信号線、例えば信号線G1、R1;G2、R2;G3、R3と共に、第1の集積回路302の第1のハードウェアセット316の一部として含めることができる。第1のハードウェアセット316は、1つまたは複数のレジスタ319に加えて、他のハードウェアコンポーネント/機能321を含むことができる。さまざまな実施形態において、これらの他のハードウェアコンポーネント/機能には、画像パイプライン、および/または、インクノズルの噴射を制御する回路ブロックが含まれ得るが、これらは一例であって、限定的ではない。本発明は、そのように限定されるものではない。
図3の実施形態に示すように、第1の集積回路は、1つまたは複数のプロセッサ322を含む。これらのプロセッサ322は、本発明のさまざまな実施形態の実施に適するように、コンピュータ実行可能命令のさまざまな組で動作できる。第1の集積回路302の1つまたは複数のプロセッサ322は、メモリ318およびファームウェア320に動作可能に接続される。メモリ318およびファームウェア320は、第1の集積回路302上に位置するか、または、第1の集積回路302から離れて位置する。メモリ318には、任意の個数のさまざまなメモリタイプが含まれ得る。特に、例えば、ダイナミックランダムアクセスメモリ(DRAM)、ダブルデータレート同期DRAM(DDRAM(double data rate synchronous DRAM))が含まれ得る。同様に、ファームウェア320には、特に、ROM、PROM、EPROM、およびEEPROMが含まれ得る。
図3の実施形態に示すように、A/D変換器305を有する第2の集積回路304は、本明細書で同じものについてすでに説明したように、多数の接続信号線324−1、324−2、…、324−Nを備える。これらの接続信号線は、第2の集積回路304と他の電子回路との間でデータ、情報、および命令を伝送するのに使用できる。当業者は、第2の集積回路を動作可能に接続できるさまざまなタイプの他の電子回路について十分理解している。さまざまな実施形態において、一例であって、限定的ではないが、これらの多数の接続信号線には、制御信号線および検知信号線が含まれ得る。また、これらの多数の接続信号線には、少なくとも1つの接続信号線ペア、例えば接続信号線ペア324−1が含まれ得る。この接続信号線ペアは、用紙エンコーダ(図示せず)の制御および検知を行うのに使用できる。これらは、一例であって、限定的ではない。同様に、図3の実施形態に示すように、多数の制御信号線および検知信号線には、少なくとも1つの接続信号線、例えば接続信号線324−2が含まれ得る。同じものについて上述したように、この接続信号線は、少なくとも2つの命令スタック308および310の少なくとも1つへの割り込み信号線として機能するように使用できる。しかしながら、本発明は、そのように限定されるものではない。
本発明のさまざまな実施形態において、上述した命令アーキテクチャ300には、プリンタ命令アーキテクチャが含まれる。しかしながら、本発明は、プリンタ命令アーキテクチャに限定されるものではない。すなわち、さまざまな実施形態の範囲は、第1のASIC上の少なくとも2つのファームウェアプログラマブル命令スタックと、シリアルインターフェースによって第1のASICに接続された第2のASICと、第1のASICと第2のASICとの間で命令を調停する手段とを有し、それによって、複数のファームウェアプログラマブル命令スタックが、タイムセンシティブな形式でシリアルインターフェースを使用して第2のASICにアクセスできる、あらゆる動作環境を含むように意図される。
さまざまな実施形態において、少なくとも2つの命令スタック308および310の少なくとも1つ、すなわち第1の命令スタック(例えば命令スタック308)は、モータサーボ制御の計算用のデータを収集するように動作できる。さまざまな実施形態において、少なくとも2つの命令スタック308および310のうち第1の命令スタック308は、印刷装置に関連したモータサーボ制御用のデータを収集するように動作できる。ただし、これは、一例であって、限定的ではない。さまざまな実施形態において、モータサーボ制御用のデータを収集するように動作できる、少なくとも2つの命令スタック308および310の第1の命令スタック308には、アービタ312によってシリアルインターフェース306にアクセスするための第1優先順位が専用に与えられる。ただし、これは、一例であって、限定的ではない。
さまざまな実施形態において、少なくとも2つの命令スタック308および310のうち第2の命令スタック、例えば命令スタック310は、測定ルーチン用のコマンドを受信するように動作できる。さまざまな実施形態において、少なくとも2つの命令スタック308および310のうち第2の命令スタック310は、印刷装置に関連した測定ルーチン用のコマンドを受信するように動作できる。ただし、これは一例であって、限定的ではない。さまざまな実施形態において、測定ルーチン用のコマンドを受信するように動作可能な、少なくとも2つの命令スタック308および310のうち第2の命令スタック310は、特に、キャリッジサーボ測定ルーチン、サービスステーションサーボ測定ルーチン、用紙タイプ(例えば媒体センサ)測定ルーチン、インク位置測定ルーチン(本明細書では、時にSPOT測定ルーチンと呼ばれる)、インクカートリッジ温度測定ルーチン、およびインク液位測定ルーチン(例えば、インクカートリッジリザーバの液位を測定する)からなる群から選択される測定ルーチンを含む。ただし、これは一例であって、限定的ではない。しかしながら、本発明は、そのように限定されるものではない。さまざまな実施形態において、測定ルーチン用のコマンドを受信するように動作可能な、少なくとも2つの命令スタック308および310のうち第2の命令スタック310には、アービタ312によってシリアルインターフェース306にアクセスするための第2優先順位が提供される。
さまざまな実施形態において、命令キュー315は、コマンド命令を受信するように動作できる。さまざまな実施形態において、命令キュー315は、印刷装置に関連したモータ速度命令コマンドおよびモータ方向命令コマンドを、第1の集積回路302に位置する1つまたは複数のプロセッサ322から受信するように動作できる。しかしながら、本発明は、そのように限定されるものではない。さまざまな実施形態において、モータ速度命令コマンドおよびモータ方向命令コマンドは、位相データおよびパルス幅変調(PWM)データを含むことができる。これらのデータは、A/D変換器305を有する第2の集積回路304に書き込まれて、モータの調整を行うように意図される。さまざまな実施形態において、命令キューには、アービタ312によってシリアルインターフェース306にアクセスするための第2優先順位が提供される。さまざまな実施形態において、命令キューは、シリアルインターフェース306にアクセスするための第2優先順位を、少なくとも2つの命令スタック308および310のうち第2の命令スタック310と共有する。
さまざまな実施形態において、PWMデータおよび位相データは、16ビット未満とすることができ、したがって、1回のシリアルインターフェースのトランザクションに収めることができる。ただし、これは、一例であって、限定的ではない。命令キュー315は、シリアルインターフェースが、同時に発生したトランザクションによってビジー状態に保持されると予想される間、シリアルデータを保持するのに十分な大きさ、例えば十分な深さを有する。さまざまな実施形態において、命令キュー315は、8個以上のコマンド命令を保持するのに十分な大きさを少なくとも有する。1つまたは複数のプロセッサ322は、コマンド命令データを命令キュー315にロードして、その後、別のタスクを続けることができる。命令キュー315は、いっぱいにならず、かつ、待機状態を作らないように構成かつ/または設計できる。
さまざまな実施形態、例えば図3に示すような実施形態において、第1のASIC302の少なくとも2つのファームウェアプログラマブル命令スタック308および310、ならびに命令キュー315は、印刷装置用に提供される。さまざまな実施形態において、レジスタベースのシリアルインターフェース306は、第1のASIC302を第2のASIC304に接続する。第2のASIC304は、アナログ/デジタル(A/D)変換器305を含む。複数のファームウェアプログラマブル命令スタックが、タイムセンシティブなルーチンに従って第2のASIC304にアクセスできるように、第1のASIC302と第2のASIC304との間には、レジスタベースのシリアルインターフェース306を使用して命令を調停する手段が設けられる。上述したように、印刷装置は、1つまたは複数のトリガ源を含み、これらのトリガ源は、少なくとも2つのファームウェアプログラマブル命令スタック、例えば、命令スタック308および310に接続される。
さまざまな実施形態において、第1のASIC302と第2のASIC304との間で命令を調停する手段には、少なくとも2つのファームウェアプログラマブル命令スタック、例えば命令スタック308および310に専用命令ルーチンを設けることが含まれる。これらの専用命令ルーチンは、データ値を読み出し、測定ルーチンを管理するように動作できる。さまざまな実施形態において、命令を調停する手段には、アービタ312が含まれる。アービタ312は、少なくとも2つのファームウェアプログラマブル命令スタックのうち第1の命令スタック、例えば命令スタック308に第1優先順位を与えるように構成される。アービタ312は、命令キュー315と、1つまたは複数の追加されたファームウェアプログラマブル命令スタック、例えば命令スタック310との間で第2優先順位を共有するように構成される。さまざまな実施形態において、共有された第2優先順位には、命令キュー315と、1つまたは複数の追加されたファームウェアプログラマブル命令スタック、例えば命令スタック310との間で、シリアルインターフェース306へのアクセスを交互に行うことが含まれ得る。
さまざまな実施形態において、読み出された測定データが、少なくとも2つのファームウェアプログラマブル命令スタック308および310の1つまたは複数ですべて揃うと、第1のASIC302と第2のASIC304との間で命令を調停する手段は、1つまたは複数のプロセッサ、例えばプロセッサ322を要求するように動作できるコンピュータ実行可能命令の組を含む。さまざまな実施形態において、このコンピュータ実行可能命令の組は、読み出された測定データに対する1つまたは複数のプロセッサ322による計算を表す命令コマンドを命令キュー315へ供給するように動作できる。この命令コマンドには、印刷装置の用紙モータの速度および方向を変更する命令コマンドのようなタイムセンシティブな命令コマンドが含まれ得る。しかしながら、本発明は、そのように限定されるものではない。さまざまな実施形態において、コンピュータ実行可能命令の組は、レジスタベースのシリアルインターフェース306へのアクセスの許可および/または調節を行うように動作できる。また、さまざまな実施形態において、コンピュータ実行可能命令の組は、第1のASIC302の命令スタックおよび/または命令キューと、第2のASICのA/D変換器との間で、他の情報の中でも特に、測定命令(例えば命令スタックからの)と、測定データ(例えばA/D変換器からの)と、1つまたは複数のプロセッサからの命令コマンドとを供給するように動作できる。すなわち、コンピュータ実行可能命令の1つまたは複数の組は、レジスタベースのシリアルインターフェース306へのアクセスの許可および/または調節を行うことができる。
このように、コンピュータ実行可能命令の1つまたは複数の組は、少なくとも2つのファームウェアプログラマブル命令スタック、例えば命令スタック308および310から第2のASIC304へ、レジスタベースのシリアルインターフェース306を使用して測定命令を供給する。また、さまざまな実施形態において、コンピュータ実行可能命令の1つまたは複数の組は、第2のASIC304から、少なくとも2つのファームウェアプログラマブル命令スタックに位置し、かつ/または、当該スタックに関連した1つまたは複数のレジスタ、例えばレジスタ321に、受信された測定データを供給するように動作できる。
さまざまな実施形態において、図4の実施形態を参照して次に説明されるように、命令キュー315の代わりに、1つまたは複数の追加された命令スタックを代用することができる。この場合、1つまたは複数のプロセッサ322によって計算されたサーボデータが、1つまたは複数の追加された命令スタックに書き込まれる時に、第1の集積回路302の結果レジスタを保存する対処が追加されるが、この対処は、ファームウェアおよび/または第1の集積回路302の設計によって行われる。
図4は、本発明の教示による別の命令アーキテクチャの実施形態を示している。図4の実施形態に示すように、第1の集積回路(第1のIC)402は、シリアルインターフェース406を介して第2の集積回路(第2のIC)404と連係される。図3の実施形態と同様に、第1の集積回路402は、特定用途向け集積回路(第1のASIC)とすることができ、第2の集積回路404は、第2の特定用途向け集積回路(第2のASIC)とすることができる。さまざまな実施形態において、第1の集積回路402には、すべてのデジタル集積回路またはASICが含まれる。図4の実施形態に示すように、第2の集積回路404は、同じものについて本明細書ですでに説明したように、アナログ/デジタル(A/D)変換器405を含む。
シリアルインターフェース406には、レジスタベースのシリアルインターフェースが含まれる。さまざまな実施形態において、シリアルインターフェース406は、複数の集積回路に接続するように動作できる。図3の実施形態と同様に、シリアルインターフェースには、12メガヘルツ以上の周波数で動作できる高速シリアルインターフェースが含まれ得る。図4の実施形態では、シリアルインターフェース406の全体にわたったデータ転送をクロック制御するクロック407が、シリアルインターフェース406に関連付けられて示されている。図4の実施形態では、1つまたは複数のデータレジスタ409も、シリアルインターフェース406に関連付けることができる。
図4の実施形態では、第1の集積回路402は、408−1、408−2、…、408−Nとして示される少なくとも3つの命令スタックを含む。しかしながら、命令スタックの個数は、そのように限定されるものではない。図4の実施形態では、少なくとも3つの命令スタック408−1、408−2、…、408−Nには、ファームウェアプログラマブル命令スタックが含まれる。すなわち、少なくとも3つの命令スタック408−1、408−2、…、408−Nは、第1の集積回路402に動作可能に接続される、ファームウェア420によりプログラミング可能なコマンドエリアを含み、それによって、多数のコマンドおよび/またはルーチンを含む。さまざまな実施形態において、少なくとも3つの命令スタック408−1、408−2、…、408−Nのコマンドエリアは、それぞれ、少なくとも8個のコマンドを保持する空間を含む。
少なくとも3つの命令スタック408−1、408−2、…、408−Nの1つまたは複数のものは、図4に信号線414−1および414−2として示すタイマまたは割り込み信号線から作動するように構成され得る。したがって、少なくとも3つの命令スタック408−1、408−2、…、408−Nの1つまたは複数のものは、1つまたは複数のトリガ源によってトリガ可能に構成される。さまざまな実施形態において、1つまたは複数のトリガ源には、特に、用紙タイマ、用紙エンコーダ割り込み、用紙噴射割り込み、および1つまたは複数のキャリッジエンコーダパルスから発生する信号が含まれるが、これらは一例であって、限定的ではない。
図4の実施形態は、さらに、少なくとも3つの命令スタック408−1、408−2、…、408−Nに接続されたアービタ412を示している。図4の実施形態に示すように、少なくとも3つの命令スタック408−1、408−2、…、408−Nは、グラント信号線およびリクエスト信号線、例えば信号線G1、R1;G2、R2;G3、R3を介してアービタ412に接続される。当業者は、グラント信号線およびリクエスト信号線を使用して少なくとも3つの命令スタック408−1、408−2、…、408−Nをアービタ412と連係できるようにする方法について理解している。
アービタ412は、少なくとも3つの命令スタック408−1、408−2、…、408−Nのうち第1の命令スタック、例えば命令スタック408−1に第1優先順位を提供するように動作できる。アービタ412は、少なくとも3つの命令スタックのうち他の命令スタック、例えば命令スタック408−2、…、408−Nに第2優先順位を提供するように動作できる。さまざまな実施形態において、少なくとも3つの命令スタックのうち他の命令スタック、例えば命令スタック408−2、…、408−Nに第2優先順位を提供することには、少なくとも3つの命令スタックのうち他の命令スタック、例えば命令スタック408−2、…、408−N間で、シリアルインターフェース406へのアクセスを交互に行うことが含まれ得る。
さまざまな実施形態において、少なくとも3つの命令スタック408−1、408−2、…、408−Nの1つまたは複数のものは、ループ機能、遅延機能、読み出しレジスタ機能、書き込みレジスタ機能、および読み出しレジスタ/メモリ書き込み機能(例えば、第1の集積回路402に動作可能に接続されたメモリ418)からなる群から選択される1つまたは複数の機能を含む。
図4の実施形態では、少なくとも3つの命令スタック408−1、408−2、…、408−Nおよびアービタ412を、それらのそれぞれのグラント信号線およびリクエスト信号線、例えば信号線G1、R1;G2、R2;G3、R3と共に、第1の集積回路402の第1のハードウェアセット416の一部として含めることができる。第1のハードウェアセット416は、1つまたは複数のレジスタ419に加えて、他のハードウェアコンポーネント/機能421を含むことができる。さまざまな実施形態において、これらの他のハードウェアコンポーネント/機能には、画像パイプライン、および/または、インクノズルの噴射を制御する回路ブロックが含まれ得るが、これらは一例であって、限定的ではない。
図4の実施形態に示すように、第1の集積回路は、1つまたは複数のプロセッサ422を含む。これらのプロセッサ422は、本発明のさまざまな実施形態の実施に適したコンピュータ実行可能命令のさまざまな組で動作できる。第1の集積回路402の1つまたは複数のプロセッサ422は、第1の集積回路402から離れて位置するメモリ418およびファームウェア420に動作可能に接続される。上述したように、メモリ418には、任意の個数のさまざまなメモリタイプが含まれ得る。メモリタイプとしては、特に、例えば、ダイナミックランダムアクセスメモリ(DRAM)、ダブルデータレート同期DRAM(DDRAM)が含まれ得る。同様に、ファームウェア420には、特に、ROM、PROM、EPROM、およびEEPROMが含まれ得る。
図4の実施形態に示すように、A/D変換器405を有する第2の集積回路404は、複数の接続信号線424−1、424−2、…、424−Nを備える。これらの接続信号線は、第2の集積回路404と他の電子回路との間でデータ、情報、および命令を伝送するのに使用できる。当業者は、第2の集積回路を動作可能に接続できるさまざまなタイプの他の電子回路について理解している。さまざまな実施形態において、これらの複数の接続信号線には、制御信号線および検知信号線が含まれ得る。また、これらの複数の接続信号線には、少なくとも1つの接続ペア、例えば接続ペア424−1が含まれ得る。この接続ペアは、用紙エンコーダ(図示せず)の制御および検知を行うのに使用できる。これらは、一例であって、限定的ではない。同様に、図4の実施形態に示すように、複数の制御信号線および検知信号線には、少なくとも1つの接続、例えば接続424−2が含まれ得る。同じものについて上述したように、この接続は、少なくとも3つの命令スタック408−1、408−2、…、408−Nの少なくとも1つへの割り込み信号線として機能するように使用できる。この少なくとも1つの接続、例えば接続424−2は、用紙エンコーダ割り込み信号線として機能することができるが、これは一例であって、限定的ではない。本発明は、そのように限定されるものではない。
本発明のさまざまな実施形態において、上述した命令アーキテクチャ400には、プリンタ命令アーキテクチャが含まれる。しかしながら、さまざまな実施形態の範囲は、第1のASIC上の少なくとも2つのファームウェアプログラマブル命令スタックと、シリアルインターフェースによって第1のASICに接続された第2のASICと、第1のASICと第2のASICとの間で命令を調停する手段とを有し、それによって、複数のファームウェアプログラマブル命令スタックが、タイムセンシティブな形式でシリアルインターフェースを使用して第2のASICにアクセスできる、あらゆる動作環境を含むように意図される。
少なくとも3つの命令スタック408−1、408−2、…、408−Nの少なくとも1つ、すなわち第1の命令スタック(例えば命令スタック408−1)は、モータサーボ制御の計算用のデータを収集するように動作できる。さまざまな実施形態において、少なくとも3つの命令スタック408−1、408−2、…、408−Nのうち第1の命令スタック408−1は、印刷装置用の用紙モータサーボ命令スタックとして使用される。用紙モータサーボ命令スタック408−1は、割り込み信号線414−1によるタイマ、例えば用紙タイマによってトリガすることができる。この実施形態では、印刷装置に関連した用紙モータサーボ命令ルーチンのタイムセンシティブな性質のため、用紙モータサーボ命令スタック408−1には、アービタ412によってシリアルインターフェース406にアクセスするための第1優先順位が専用に与えられる。ただし、これは、一例であって、限定的ではない。
さまざまな実施形態において、少なくとも3つの命令スタック408−1、408−2、…、408−Nのうち第2の命令スタック、例えば命令スタック408−2は、印刷装置に関連したインク位置測定ルーチン用のコマンドを受信するように動作できる。本明細書で使用されるように、インク位置測定ルーチンは、時に、SPOT測定ルーチンと呼ばれ、第2の命令スタック408−2は、時に、SPOT命令スタックと呼ばれる。しかしながら、本発明は、そのように限定されるものではない。また、さまざまな実施形態において、少なくとも3つの命令スタック408−1、408−2、…、408−Nのうち第2の命令スタック408−2は、他の測定ルーチン用のコマンドを受信するように動作できる。他の測定ルーチンの例には、特に、用紙タイプ(例えば媒体センサ)測定ルーチン、インクカートリッジ温度測定ルーチン、およびインク液位測定ルーチン(例えば、インクカートリッジリザーバの液位を測定する)からなる群から選択される測定ルーチンが含まれるが、これらは、一例であって、限定的ではない。SPOT命令スタックは、1つまたは複数のタイマおよび/または割り込み信号によってトリガすることができる。さまざまな実施形態において、SPOT命令スタックは、第2の集積回路404から割り込み信号線424−1により受信可能な用紙エンコーダ割り込み信号によってトリガすることができる。さまざまな実施形態において、SPOT命令スタックは、キャリッジエンコーダパルスから生成可能な、デジタルセンサ415からの1つまたは複数の信号によってトリガすることができる。
さまざまな実施形態において、少なくとも3つの命令スタック408−1、408−2、…、408−Nの第2のうち命令スタック408−2には、これらの測定ルーチンのタイムセンシティブな性質に対応するために、アービタ412によってシリアルインターフェース406にアクセスするための第2優先順位が提供される。
図4の実施形態に示すように、少なくとも3つの命令スタック408−1、408−2、…、408−Nのうち第3の命令スタック、例えば命令スタック408−Nは、機能および/またはコマンド命令を受信するように動作できる。少なくとも3つの命令スタック408−1、408−2、…、408−Nのうち第3の命令スタック、例えば命令スタック408−Nは、印刷装置に関連したすべてのサーボルーチンについて、モータ速度命令コマンドおよびモータ方向命令コマンドを、第1の集積回路402に位置する1つまたは複数のプロセッサ422から受信するように動作できる。上述したように、モータ速度命令コマンドおよびモータ方向命令コマンドは、位相データおよびパルス幅変調(PWM)データを含むことができる。これらのデータは、第2の集積回路404に書き込まれて、モータの調整を行うように意図される。さまざまな実施形態において、少なくとも3つの命令スタック408−1、408−2、…、408−Nのうち第3の命令スタック、例えば命令スタック408−Nには、アービタ412によってシリアルインターフェース406にアクセスするための第2優先順位が提供される。さまざまな実施形態において、少なくとも3つの命令スタック408−1、408−2、…、408−Nのうち第3の命令スタック、例えば命令スタック408−Nは、シリアルインターフェース406にアクセスするための第2優先順位を、少なくとも3つの命令スタックのうち他の命令スタック、例えば命令スタック408−2と共有する。
さまざまな実施形態において、PWMデータおよび位相データは、16ビット未満とすることができ、したがって、1回のシリアルインターフェースのトランザクションに収めることができる。ただし、これは、一例であって、限定的ではない。図4の実施形態では、1つまたは複数のプロセッサ422によって計算されたサーボデータが、第3の命令スタック408−Nに書き込まれる時に、第3の命令スタック408−Nを使用していたかもしれない他のルーチンに関連した結果レジスタを保存する対処が追加されるが、この対処は、ファームウェアおよび/または第1の集積回路402の設計によって行われる。
図4に示す命令アーキテクチャは、印刷装置命令アーキテクチャとして使用することができる。これらの実施形態では、少なくとも3つの命令スタック408−1、408−2、…、408−Nは、第1のASIC402に設けられる。さまざまな実施形態において、少なくとも3つの命令スタック408−1、408−2、…、408−Nの1つ、例えば命令スタック408−1は、用紙サーボルーチンに専用化することができ、また、少なくとも3つの命令スタック408−1、408−2、…、408−Nの別の1つ、例えば命令スタック408−2は、SPOTルーチンに専用化することができる。さまざまな実施形態において、少なくとも3つの命令スタック408−1、408−2、…、408−Nは、12メガヘルツ(MHz)以上の周波数で動作できる。
タイムセンシティブなコマンドおよび測定命令ルーチンに対応する、シリアルインターフェース406へのアクセス方法として、3つのアクセス方法が提供される。ただし、これは、一例であって、限定的ではない。用紙モータ制御およびSPOT測定ルーチンは、タイムセンシティブなコマンドおよび測定命令ルーチンである。さまざまな実施形態において、SPOT命令スタック、例えば命令スタック408−2は、ASIC404からの用紙エンコーダ割り込み、例えば割り込み信号線424−2からトリガすることができる。さらに、SPOT命令スタック、例えば命令スタック408−2は、デジタルセンサ415からの1つまたは複数の信号によってトリガすることができる。この1つまたは複数の信号は、キャリッジエンコーダパルスから発生し、割り込み信号線414−2により与えられる。用紙命令スタック、例えば命令スタック408−1は、割り込み信号線414−1による用紙タイマからトリガすることができる。シリアルインターフェース406のトランザクションの3つのトリガ源は、グラント信号線およびリクエスト信号線、例えば信号線G1、R1;G2、R2;G3、R3を使用して、一定の優先順位のアービタ412によって管理される。
さまざまな実施形態において、用紙サーボは、次のものを読み出せる必要がある。
1)A/D(アナログ/デジタル)値:8ビット
2)PENC(用紙エンコーダ)値:2ビット
3)デジタル位置データ:10〜12ビット
4)現在の直交状態の高い交点の値および低い交点の値:16ビット
各読み出しは、アナログASIC、例えば第2の集積回路404の一意のレジスタロケーションから行うことができる。いくつかの実施形態では、A/D値およびPENC値を単一のレジスタに結合することができる。したがって、上記4つの値を読み出すには、少なくとも3回のシリアルインターフェース406の読み出しが使用される。本明細書で使用されるように、シリアルインターフェースの読み出しは、16ビットのデータを有するものと解釈される。しかしながら、本発明は、そのように限定されるものではない。意味のある結果を生成するためには、4つの値を同期される必要がある。したがって、アナログASIC、例えばASIC404は、シリアルインターフェース406の3つのすべての読み出しが完了するまで、適切なレジスタのいずれの更新も遅らせるように構成され、かつ、そのような方法が、ASIC404に提供される。したがって、さまざまな実施形態では、データのタイムセンシティブ性を考慮して、データが必要とされる時、および、データが受信される時に関する待ち時間の問題が対処される。本発明のさまざまな実施形態が存在しない場合、プロセスがロックアウトされる不適切な遅延が生じる可能性があり、また、例えば位置エラーといったエラーの発生の機会が増大する可能性がある。さまざまな実施形態により、複数のトランザクションは、何ら付加的な遅延が生じることなく、単一のシリアルインターフェース406上に自動的に発生するように構成することができる。
さまざまな実施形態において、印刷装置環境の例えば用紙タイマといったタイマが作動すると、複数の専用命令スタックが使用されて、シリアルインターフェース406の連続的な読み出しを実行することができる。データが準備されていると、命令スタックは、CPU、例えばCPU422に割り込み行う。データを読み出して、データを処理した後、用紙サーボルーチンは、モータの調整を行うために、位相値およびPWM値をアナログASICに書き込むことができる。ただし、これは、一例であって、限定的ではない。PWMデータおよび位相データは、約16ビット以下であり、したがって、1回のシリアルインターフェース406のトランザクションに収めることができる。さまざまな実施形態において、PWMデータおよび位相データを保持するのに十分な深さの命令キューが設けられる。さまざまな実施形態において、PWMデータおよび位相データを保持する命令スタックが設けられる。
図5〜図9は、本発明のさまざまな方法の実施形態を示すブロック図である。これらの方法は、ソフトウェア、アプリケーションモジュール、および/または、本明細書もしくはそれ以外のものに示すシステムおよび装置で動作可能な他のコンピュータ実行可能命令によって実行することができる。このようなソフトウェア、アプリケーションモジュール、および/またはコンピュータ実行可能命令は、上述したようなシステムの全体にわたって、例えば分散コンピュータ環境における1つの位置またはいくつかの位置、さらには多くの位置に存在することができる。しかしながら、本発明は、どの特定の動作環境に限定されるものでもなく、どの特定のタイプのコンピュータ読み出し可能命令に限定されるものでもない。明示的に述べない限り、以下に記載する方法は、特定の順序またはシーケンスに制約されるものではない。さらに、そのように記載された方法の中には、同時に発生し得るか、または、実行され得るものがある。
図5は、2つの命令スタックを使用して命令を管理する方法の実施形態を示している。図5の実施形態に示すように、この方法は、ブロック510で、ファームウェアによってプログラミング可能であり、かつ、第1の集積回路(IC)のアービタに接続される第1の命令スタックおよび第2の命令スタックを設けることを含む。ブロック520で、図5の方法の実施形態は、第1のトリガ源から第1の命令スタックにトリガすることを含む。ブロック530で、この方法は、第2のトリガ源から第2の命令スタックをトリガすることを含む。ブロック540で、この方法は、アービタによって提供される優先順位に基づいて、シリアルバスにより、第1の命令スタックおよび第2の命令スタックを第2のICのアナログ/デジタル(A/D)変換器と連係することを含む。
図6は、2つの命令スタックおよび1つの命令キューを使用して命令を管理する方法の実施形態を示している。図6の実施形態のブロック610に示すように、この方法は、少なくとも2つのファームウェアプログラマルブルスタック、および、第1の集積回路のアービタに接続される命令キューを設けることを含む。ブロック620に示すように、この方法は、第1の命令ルーチンを有する第1のファームウェアプログラマブルスタックをプログラミングすることを含む。ブロック630に示すように、この方法は、第2の命令ルーチンを有する第2のファームウェアプログラマブルスタックをプログラミングすることをさらに含む。
ブロック640に示すように、この方法は、第1のファームウェアプログラマブルスタックからの第1の命令ルーチンに与えられた第1優先順位、および、第2の命令ルーチンと命令キューからの命令とに共有される第2優先順位により、シリアルバスを通じて第2の集積回路へ命令を調停することをさらに含む。
図7は、プリンタのアーキテクチャを管理する方法の実施形態を示している。図7の実施形態のブロック710に示すように、この方法は、第1のファームウェアプログラマブルコンポーネント、第2のファームウェアプログラマブルコンポーネント、および第3のファームウェアプログラマブルコンポーネントを印刷装置の単一の集積回路に設けることを含む。ブロック720に示すように、この方法は、第1のファームウェアプログラマブルコンポーネントに対してサーボ制御ルーチンをプログラミングすることを含む。ブロック730に示すように、この方法は、第2のファームウェアプログラマブルコンポーネントに対して測定検出ルーチンをプログラミングすることを含む。ブロック740に示すように、この方法は、第3のファームウェアプログラマブルコンポーネントに対して方向制御値および速度制御値を提供することを含む。ブロック750に示すように、この方法は、第1のファームウェアプログラマブルコンポーネントからの命令に与えられた優先順位により、第1の集積回路から第2の集積回路へレジスタベースのシリアルバスを通じて命令を調停することをさらに含む。
図8は、シリアルインターフェースにより命令を管理する方法の実施形態を示している。図8の実施形態のブロック810に示すように、この方法は、単一の集積回路(IC)の少なくとも2つの命令スタックをデータ値の読み出しおよび測定ルーチンの管理に専用化することを含む。ブロック820に示すように、この方法は、少なくとも2つの命令スタックの1つに与えられた優先順位により、単一のICと別のICのアナログ/デジタル(A/D)変換器との間で、単一のレジスタベースのシリアルインターフェースによってデータおよび命令を調停することを含む。
図9は、シリアルインターフェースにより命令を管理する方法の実施形態を示している。図9の実施形態のブロック910に示すように、この方法は、第1の集積回路(IC)の少なくとも2つの命令スタックを使用して、読み出されたデータ値を処理するさまざまな測定ルーチンを実行することを含む。ブロック920に示すように、この方法は、第1のICと第2のICのアナログ/デジタル(A/D)変換器との間で、シリアルインターフェースを通じて、少なくとも2つの命令スタックのうち第1の命令スタックの測定ルーチンに与えられた第1優先順位により、さまざまな測定ルーチンに関連したデータおよび命令の転送を調停することを含む。ブロック930に示すように、この方法は、読み出された測定データが、少なくとも2つの命令スタックの1つまたは複数ですべて揃うと、プロセッサを要求することを含む。ブロック940に示すように、この方法は、プロセッサを使用して、読み出された測定データに対して計算を実行することを含む。ブロック950に示すように、この方法は、第1のICの命令キューにコマンド命令を書き込むことをさらに含む。
本明細書では、特定の実施形態を例示して説明してきたが、当業者には、同じ技法を達成するよう意図された任意の機構を、示した特定の実施形態に代用できることが分かる。この開示は、本発明のさまざまな実施形態のありとあらゆる適合または変形をカバーするように意図される。上記説明は、例示で行われており、限定的に行われていないことを理解すべきである。上記実施形態および本明細書では特に説明していない他の実施形態を組み合わせたものは、上記説明を見直すことにより当業者には明らかである。本発明のさまざまな実施形態の範囲は、上記構造および方法が使用される他のあらゆる応用を含む。したがって、本発明のさまざまな実施形態の範囲は、特許請求の範囲を、このような特許請求の範囲が権利を有する均等物の全範囲と共に参照することにより判断されるべきである。
本発明の実施形態を実施するように動作できるか、または、本発明の実施形態を含むことができる印刷装置の一実施形態を示す図である。 従来の印刷装置環境に既存のアーキテクチャを示すシステムの図である。 命令アーキテクチャの実施形態を示す図である。 別の命令アーキテクチャの実施形態を示す図である。 2つの命令スタックを使用して命令を管理する方法の実施形態を示す図である。 プリンタアーキテクチャを管理する方法の実施形態を示す図である。 プリンタアーキテクチャを管理する方法の実施形態を示す図である。 コントローラと連係する方法の実施形態を示す図である。 コントローラと連係する方法の実施形態を示す図である。
符号の説明
300 命令アーキテクチャ
302 第1の集積回路
304 第2の集積回路
306 シリアルインタフェース
308 第1の命令スタック
310 第2の命令スタック
312 アービタ
315 命令キュー

Claims (6)

  1. 命令アーキテクチャであって、
    少なくとも2つの命令スタック、および前記少なくとも2つの命令スタックに接続されたアービタ、を備える第1の集積回路と、
    第2の集積回路と、
    前記第1の集積回路と前記第2の集積回路とを接続するシリアルインターフェースと、
    を有する命令アーキテクチャ。
  2. 前記少なくとも2つの命令スタックが、多数のコマンドを含むようにファームウェアによってプログラミング可能である、請求項1に記載の命令アーキテクチャ。
  3. 前記少なくとも2つの命令スタックが、1つまたは複数のトリガ源によってトリガできるように構成される、請求項1に記載の命令アーキテクチャ。
  4. 前記少なくとも2つの命令スタックが、ループ機能、遅延機能、読み出しレジスタ機能、書き込みレジスタ機能、および読み出しレジスタ/メモリ書き込み機能からなるグループから選択される1つまたは複数の機能を含む、請求項1に記載の命令アーキテクチャ。
  5. 前記第1の集積回路が、前記アービタに接続された命令キューをさらに含む、請求項1に記載の命令アーキテクチャ。
  6. 前記アービタが、前記少なくとも2つの命令スタックのうち第1の命令スタックに第1優先順位を提供するように動作可能であり、前記アービタが、前記命令キューと、前記少なくとも2つの命令スタックのうち第2の命令スタックとに第2優先順位を提供するように動作可能である、請求項5に記載の命令アーキテクチャ。
JP2004064925A 2003-03-11 2004-03-09 2つの命令スタックを使用する命令アーキテクチャ Withdrawn JP2004272913A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/385,838 US6877832B2 (en) 2003-03-11 2003-03-11 Instruction architecture using two instruction stacks

Publications (1)

Publication Number Publication Date
JP2004272913A true JP2004272913A (ja) 2004-09-30

Family

ID=32961573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004064925A Withdrawn JP2004272913A (ja) 2003-03-11 2004-03-09 2つの命令スタックを使用する命令アーキテクチャ

Country Status (2)

Country Link
US (1) US6877832B2 (ja)
JP (1) JP2004272913A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012230502A (ja) * 2011-04-25 2012-11-22 Canon Inc 情報処理装置、情報処理方法、およびプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100777450B1 (ko) * 2005-05-28 2007-11-21 삼성전자주식회사 엔코더 속도 보정 방법 및 장치
US7763572B2 (en) * 2007-01-11 2010-07-27 Halliburton Energy Services, Inc. Compositions comprising quaternary material and sorel cements
US7350575B1 (en) 2007-01-11 2008-04-01 Halliburton Energy Services, Inc. Methods of servicing a wellbore with compositions comprising Sorel cements and oil based fluids
US7431086B2 (en) * 2007-01-11 2008-10-07 Halliburton Energy Services, Inc. Methods of servicing a wellbore with compositions comprising quaternary material and sorel cements
US7893011B2 (en) * 2007-01-11 2011-02-22 Halliburton Energy Services Inc. Compositions comprising Sorel cements and oil based fluids

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828814A (en) * 1996-09-10 1998-10-27 Moore Business Forms, Inc. Reduced cost high resolution real time raster image processing system and method
US6361137B1 (en) 1998-09-28 2002-03-26 Hewlett-Packard Company Method and apparatus for compensating for variations in printhead-to-media spacing and printhead scanning velocity in an ink-jet hard copy apparatus
JP3344345B2 (ja) * 1998-12-15 2002-11-11 日本電気株式会社 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体
US6570604B2 (en) * 2001-04-16 2003-05-27 Lexmark International, Inc. Mode dependent time to begin printing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012230502A (ja) * 2011-04-25 2012-11-22 Canon Inc 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
US20040179048A1 (en) 2004-09-16
US6877832B2 (en) 2005-04-12

Similar Documents

Publication Publication Date Title
JP4123739B2 (ja) 印刷記録材容器の識別システムおよび識別方法
US7844786B2 (en) Addressing and command protocols for non-volatile memories utilized in recording usage counts
JP4144240B2 (ja) 制御装置および制御方法
JP2004272913A (ja) 2つの命令スタックを使用する命令アーキテクチャ
JP3286111B2 (ja) 印刷装置および方法
US7106103B2 (en) Selectable integrated circuit interface
US6784909B2 (en) Auxiliary control device for managing printing in a thermal printer
US7280049B2 (en) Encoder runout error correction circuit
JP2008254247A (ja) 露光ヘッド制御装置及び画像形成装置
CN111183036A (zh) 用于可更换的打印机组件的集成电路设备
US20040218199A1 (en) Printer calibration system and method
JP5383441B2 (ja) 記録素子基板、記録素子基板を備えた記録ヘッド、記録装置
US8947719B2 (en) Method for controlling the speed of printing
JP5078540B2 (ja) 記録装置及びデータ転送方法
JP2020001384A (ja) 標準コンピュータインタフェースを備えたインクジェットプリントヘッド
US10596812B2 (en) Printing apparatus and control method thereof
EP0620535A1 (en) Line printer for high density printing
US8543717B2 (en) Retaining channel synchronization through use of alternate control characters
US6229593B1 (en) Exposure device
JP2849244B2 (ja) Ledヘッド及びledヘッド光量パラメータ読出し装置
JPH11179973A (ja) プリンタ装置
JP4872996B2 (ja) 印刷記録材容器の識別システムおよび識別方法
JP4240139B2 (ja) 印刷記録材容器セット
JPS59223072A (ja) 記録制御方式
JP2005275838A (ja) 画像印刷システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061006

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080529