(57)【特許請求の範囲】
【請求項１】
第１機能を実行するために第１動作シーケンスにより制御可能であるモータを有する装置で可聴音を発生する方法であって、
状態の報知として可聴音を発生すべき状態を検出する検出工程と、
前記検出工程で検出された前記状態の報知として可聴音を発生するように第２動作シーケンスに従って前記モータを回転させる工程とを有し、
前記第２動作シーケンスは、前記第１機能を実行させることなく可聴音を発生させるために、前記モータを第１方向に回転させた後に前記第１方向とは逆の第２方向に回転させ、前記第１方向及び第２方向の回転を所定の時間に亙って反復することを特徴とする方法。
【請求項２】
前記第１方向は順方向であることを特徴とする請求項１に記載の方法。
【請求項３】
前記第２方向は逆方向であることを特徴とする請求項１に記載の方法。
【請求項４】
前記モータは２相モータであり、且つ前記第１及び第２動作シーケンスは複数のステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記モータは当初の位置からｎステップ前記第１方向へ回転され、その後、前記モータを当初の位置に戻すためにｎステップ前記第２方向に回転されることを特徴とする請求項４に記載の方法。
【請求項６】
前記装置は画像記録装置であることを特徴とする請求項１に記載の方法。
【請求項７】
前記モータは記録媒体を搬送駆動する行送りモータであり、前記第１機能は、前記画像記録装置にセットされている記録媒体を搬送することであることを特徴とする請求項６に記載の方法。
【請求項８】
前記モータはキャリッジ制御モータであり、前記第１機能は前記画像記録装置のキャリッジを移動させることであることを特徴とする請求項６に記載の方法。
【請求項９】
前記モータは自動紙送りモータであり、前記第１機能は、前記画像記録装置内に記録媒体を送り込むことであることを特徴とする請求項６に記載の方法。
【請求項１０】
前記可聴音の音量は、前記第２動作シーケンスにより発生するトルクの量に従って変化することを特徴とする請求項１に記載の方法。
【請求項１１】
前記可聴音の持続時間は、少なくとも前記可聴音の所望の可聴周波数に基づいていることを特徴とする請求項１に記載の方法。
【請求項１２】
前記第２動作シーケンスが完了したとき、前記モータの回転位置は前記第１機能又は前記第２動作シーケンスのいずれかを実行するための回転位置に戻されることを特徴とする請求項１に記載の方法。
【請求項１３】
第１機能を実行するために第１動作シーケンスにより制御可能であるモータを有する装置であって、
請求項１から１２のいずれか１項に記載の方法を実行する手段を具備することを特徴とする装置。
【請求項１４】
第１の機能を実行するために第１の動作シーケンスにより制御可能であるモータを有する装置であって、
請求項１から１２のいずれか１項に記載の方法を実行するために実行可能であるプロセスステップを格納するプログラムメモリと、
前記プログラムメモリに格納されているプロセスステップを実行するプロセッサと、
を具備することを特徴とする装置。
【請求項１５】
コンピュータ読み取り可能な媒体に格納され、第１の機能を実行するために第１の動作シーケンスにより制御可能であるモータを有する装置で可聴音を発生するためのコンピュータ実行可能なプロセスステップにおいて、
請求項１から１２のいずれか１項に記載の方法を実行するために実行可能であるプロセスステップを含むことを特徴とするコンピュータ実行可能なプロセスステップ。
【請求項１６】
第１機能を実行するために第１動作シーケンスにより制御可能であるモータを有する装置であって、
状態の報知として可聴音を発生すべき状態を検出する検出手段と、
前記検出手段による検出結果に応じて、前記可聴音を発生するように第２動作シーケンスに従って前記モータを回転駆動するモータ駆動手段とを有し、
前記第２動作シーケンスでは、前記第１機能を実行させることなく可聴音を発生させるために、前記モータを第１方向に回転させた後に前記第１方向とは逆の第２方向に回転させ、前記第１方向及び第２方向の回転を所定の時間に亙って反復することを特徴とする装置。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、モータにより可聴音を発生する装置及びその方法に関する。特に、本発明は、装置においてモータを使用して１つ以上の可聴音を発生することに関し、そのような可聴音は通常のモータ動作とは異なるモータの動作中に発生され、装置の誤動作又はエラー、動作完了状態並びにその他の状態又は事象などの状態の報知のために使用されても良い。
【０００２】
【従来の技術】
現在、特定の事象の発生をユーザに報知するために可聴音を発する専用の構成要素を使用している装置が数多く存在している。例えば、インクジェットプリンタなどの装置は、プリントヘッドのクリーニング機能が起動されるとビープ音を発生する、あるいは用紙切れ、紙詰まりなどの様々に異なる種類のエラーを示す多様な連続ビープ音を発生するブザー要素を使用している。このような可聴音を発生するために使用される要素は、圧電アラーム装置又はブザーである。
【０００３】
【発明が解決しようとする課題】
それらのアラーム装置又はブザーは、装置のプリント回路基板に一体に組み込まれる別個の素子である。その中には特別に設計された駆動回路を必要とするものもあり、このような別個の素子や、場合によっては必要となる特別に設計された駆動回路が追加されるために、装置の価格は高くなる。更に、ブザー要素自体が誤動作を起こすことも考えられる。そのような場合にブザー要素を使用して誤動作を報知できるようにする機構は存在しない。少なくともこれらの理由により、従来は他の機能を実行している装置の構成要素を使用して、装置内部で可聴音を発生させて報知する能力を有することは有益であろう。そのようにすることにより、報知を行うことを唯一の目的とする追加要素を不要にし、且つ／又はそのような追加要素と関連する冗長性を提供することが可能である。
【０００４】
本発明は以上の問題に対処し、少なくとも１つのモータを有し、その少なくとも１つのモータを使用してある状態の発生を報知するように可聴音を発生する装置に関する。少なくとも１つのモータは、報知機能に加えて１つの機能を実行するのが好ましいが、それは不可欠ではない。少なくとも１つのモータにより実行される報知機能は、そのような報知の主要な発生源であっても良いが、主要な報知発生源のバックアップとしてそのような機能が実行されても良い。例えば、後者の場合、モータによる報知機能は、専用のアラーム装置が誤動作を起こした場合に使用されれば良い。
【０００５】
本発明に係るモータの動作が報知機能の唯一の供給源として働く場合、本発明によれば、報知機能を唯一の機能とする他の構成要素を不要にでき、これにより少なくとも装置の複雑さを軽減する機会を与えることができる。そのようにすることにより、装置ハードウェアの価格を低減し、且つその複雑さを軽減することが可能である。また本発明を報知要素のバックアップとして使用する場合には、別の報知発生源（例えば、圧電ブザー又はスピーカ）が誤動作を起こしたときでも報知を実行できれば良い。
【０００６】
従って本発明は、ある状態の発生を示すために使用される可聴音を発生するために、装置内部でモータを制御する方法及び装置に関する。
【０００７】
【課題を解決するための手段】
本発明の一態様に係る方法は以下のような工程を有する。即ち、
第１機能を実行するために第１動作シーケンスにより制御可能であるモータを有する装置で可聴音を発生する方法であって、
状態の報知として可聴音を発生すべき状態を検出する検出工程と、
前記検出工程で検出された前記状態の報知として可聴音を発生するように第２動作シーケンスに従って前記モータを回転させる工程とを有し、
前記第２動作シーケンスは、前記第１機能を実行させることなく可聴音を発生させるために、前記モータを第１方向に回転させた後に前記第１方向とは逆の第２方向に回転させ、前記第１方向及び第２方向の回転を所定の時間に亙って反復することを特徴とする。
【０００８】
以上、本発明の性質を即座に理解できるように簡単に本発明の概要を述べた。添付の図面と関連させて以下の好ましい実施の形態の詳細な説明を参照することにより、本発明をより完全に理解することができる。
【０００９】
【発明の実施の形態】
先に説明した通り、本発明は、ある状態の発生を示すために使用される可聴音を発生するために、装置内部でモータを制御することに関する。本発明の好ましい実施の形態では、この装置はインクジェットプリンタである。しかし、インクジェットプリンタと関連させて本発明を説明したとしても、例えば、他の種類のプリンタ並びにファクシミリ装置及び複写機などを含む（ただし、それらには限定されない）他の任意の数の装置でも本発明を実施できるであろうということを理解すべきである。
【００１０】
図１は、本実施の形態で使用される計算機器の外観を示す図である。
【００１１】
この計算機器１は、ホストプロセッサ２を含む。ホストプロセッサ２はパーソナルコンピュータ（以下、「ＰＣ」と略す）、好ましくはMicrosoft(r) Windows 95（登録商標）などのウィンドウイング環境を有するＩＢＭ ＰＣ互換機コンピュータである。計算機器１はカラーモニタなどから構成される表示部４と、テキストデータ及びユーザ指令を入力するためのキーボード５と、ポインティングデバイス６を具備する。このポインティングデバイス６は、表示部４に表示されるオブジェクトを指示し、操作するためのマウスであるのが好ましい。
【００１２】
計算機器１は、固定ディスク８などのコンピュータにより読み取り可能な媒体及びフロッピーディスクドライブ９を含む。固定ディスク８とフロッピーディスクドライバ９は、固定ディスク８に格納されているか、又は１枚以上のフロッピーディスクに格納され、フロッピーディスクドライブ９により読み取り可能であるデータ、アプリケーションプログラムなどの情報を計算機器１がアクセスできるようにするための手段を構成している。計算機器１がＣＤ−ＲＯＭに格納された情報をアクセスできるように、計算機器１に同様のＣＤ−ＲＯＭインターフェース（図示せず）を設けても良い。
【００１３】
固定ディスク８に格納されているようなアプリケーションプログラムは、ホストプロセッサ２にファイルを生成させ、それらのファイルを操作して、ディスク８に格納させ、それらのファイルのデータを表示部４を介してオペレータに提示させ、それらのファイルのデータをプリンタ１０を介して印刷させるメカニズムを提供する。ディスク８は先に述べた通り、Ｗｉｎｄｏｗｓ９５などのウィンドウイングオペレーティングシステムであるのが好ましいオペレーティングシステムを更に格納している。このディスク８には、複数のデバイスドライバも格納される。これらのデバイスドライバのうちの少なくとも１つは、プリンタ１０のファームウェアに対するソフトウェアインターフェースを提供するプリンタドライバである。ホストプロセッサ２とプリンタ１０との間でのデータ交換は、以下で更に詳細に説明される。
【００１４】
図２及び図３は、それぞれ、本実施の形態に係るプリンタ１０の正面斜視図と背面斜視図である。図２及び図３に示すように、プリンタ１０はハウジング１１と、アクセスドア１２と、自動紙送り装置１４と、自動紙送り調整装置１６と、媒体排出口２０と、排紙トレイ２１と、電源２７と、電源コードコネクタ２９と、パラレルポートコネクタ３０と、汎用シリアルバス（ＵＳＢ）コネクタ３３とを含む。
【００１５】
図４及び図５はそれぞれ、本実施の形態に係るプリンタ１０の背面切り欠き斜視図と正面切り欠き斜視図である。
【００１６】
図４において、プリンタ１０は、印刷動作中にプリンタ１０を通して記録媒体を送るために利用され、行送り（ラインフィード）シャフト３６を回転駆動する行送りモータ３４を含む。図５において、行送りモータ３４は、複数の行送りピンチローラ３６ａを含む行送りシャフト３６を行送り歯車列４０を介して回転駆動する。行送り歯車列４０の歯車列比は、記録媒体を行送りモータ３４のパルスごとに、設定された量だけ送り出すように設定されている。この比は、行送りモータ３４の１パルスごとに、記録媒体の１画素分の分解能に等しい量の記録媒体が行送りされるように設定されても良い。即ち、プリンタ１０のプリントアウトの１画素分の分解能が６００ｄｐｉ（ドット／インチ）である場合、行送りモータ３４の１パルスごとに、記録媒体が６００ｄｐｉだけ送り出されるように歯車列比を設定しても良い。あるいは、モータのパルスごとに、１対１の比ではなく、１画素分の分解能の一部に等しい量だけ行送りが実行されるように、この比を設定しても良い。行送りモータ３４は２００ステップ・２位相パルスモータであり、且つ回路基板３５から受信される信号指令に応答して制御されるのが好ましい。言うまでもなく、行送りモータ３４は、この２００ステップ・２位相パルスモータには限定されず、エンコーダを備える直流モータを含む（ただし、それには限定されない）他のどのような種類の行送りモータを採用しても良いであろう。
【００１７】
図６は、ホストプロセッサ２及びプリンタ１０の内部構造を示すブロック線図である。
【００１８】
図６において、ホストプロセッサ２はコンピュータバス７１にインターフェースするプログラム可能マクロプロセッサなどの中央処理装置７０を含む。このコンピュータバス７１には、表示部４にインターフェースするディスプレイインターフェース７２と、双方向通信回線７６を介してプリンタ１０にインターフェースするプリンタインターフェース７４と、フロッピーディスクドライブ９にインターフェースするフロッピーディスクインターフェース７７と、キーボード５にインターフェースするキーボードインターフェース７９と、ポインティングデバイス６にインターフェースするポインティングデバイス・インターフェース８０とが更に結合している。ディスク８はオペレーティングシステム８１を格納するオペレーティングシステム部と、アプリケーション８２を格納するアプリケーション部と、プリンタドライバ８４を格納するプリンタドライバ部とを含む。
【００１９】
ランダムアクセス・メインメモリ（以下、「ＲＡＭ」と略す）８６は、コンピュータバス７１にインターフェースし、ＣＰＵ７０がメモリの記憶内容をアクセスできるようになっている。詳細に言えば、ディスク８のアプリケーション部８２に格納されているアプリケーションプログラムと関連する命令シーケンスのような、格納されているアプリケーションプログラムの命令シーケンスを実行する場合、ＣＰＵ７０はそれらのアプリケーション命令シーケンスをディスク８（或いはネットワーク又はフロッピーディスク・インターフェース９を介してアクセスされる媒体などの他の記憶媒体）からランダムアクセスメモリ（以下、「ＲＡＭ」と略す）８６にロードし、それらの格納プログラム命令シーケンスをＲＡＭ８６から読み出して実行する。ＲＡＭ８６はプリンタドライバ８４により使用されるプリントデータバッファを構成している。ウィンドウイングオペレーティングシステムの下で利用可能である標準的なディスクスワッピング技法により、上述のプリントデータバッファを含めてメモリの各セグメントをディスク８との間でスワッピングできることも認識しておくべきである。ホストプロセッサ２の読み取り専用メモリ（以下、「ＲＯＭ」と略す）８７は、始動命令シーケンス又はキーボード５の動作に関わる基本入出力オペレーティングシステム（ＢＩＯＳ）などの不変の命令シーケンスを格納している。
【００２０】
図６に示すように、また先に述べたように、ディスク８はウィンドウイングオペレーティングシステムと、グラフィックスアプリケーションプログラム、ドローイングアプリケーションプログラム、デスクトップパブリッシングアプリケーションプログラムなどの様々なアプリケーションプログラムに対応するプログラム命令シーケンスを格納している。更に、ディスク８は、指定のアプリケーションプログラムの制御の下に表示部４に表示されるか、又はプリンタ１０により印刷されるようなカラー画像ファイルも格納している。ディスク８は、ディスプレイインターフェース７２にマルチレベルＲＧＢカラー一次値をどのように提供するかを制御するカラーモニタドライバをその他ドライバ部８９に格納している。プリンタドライバ８４は白黒印刷とカラー印刷の双方に関してプリンタ１０を制御し、プリンタ１０の構成に従ってプリントアウトのためにプリントデータを供給する。プリントデータはプリンタ１０へ転送され、プリンタドライバ８４の制御の下に回線７６に接続するプリンタインターフェース７４を介してホストプロセッサ２とプリンタ１０との間で制御信号が交換される。プリンタインターフェース７４と回線７６は、例えば、ＩＥＥＥ−１２８４パラレルポート及びケーブル、又は汎用シリアルバスポート及びケーブルであれば良い。ホストプロセッサ２に接続するネットワーク装置、ファクシミリ装置などの様々な装置に適切な信号を供給するために、その他のデバイスドライバもディスク８に格納されている。
【００２１】
通常、まず、ディスク８に格納されているアプリケーションプログラムとドライバを、それらのプログラム及びドライバが最初に格納されたコンピュータ読み取り可能な媒体からユーザの手でディスク８にインストールしなければならない。例えば、ユーザがプリンタドライバのコピーを格納しているフロッピーディスク、あるいはＣＤ−ＲＯＭなどの他のコンピュータ読み取り可能な媒体を購入するのが慣例になっている。そこで、ユーザはプリンタドライバをディスク８にコピーするための周知の技法によってプリンタドライバをディスク８にインストールすることになるであろう。同時に、ユーザはモデムインターフェース（図示せず）又はネットワーク（図示せず）を介して、ファイルサーバから又はコンピュータ化電子掲示板からダウンロードするなどの方法により、プリンタドライバをダウンロードすることも可能である。
【００２２】
再び図６を参照すると、プリンタ１０は、本質的にはコントローラ１００とプリントエンジン１０１の２つの部分を含む回路基板３５を含む。コントローラ１００は、プログラム可能タイマ及び割り込みコントローラを含む８ビット又は１６ビットマイクロプロセッサなどのＣＰＵ９１と、ＲＯＭ９２と、制御ロジック９４と、バス９７に接続するＩ／Ｏポートユニット９６とを含む。制御ロジック９４にはＲＡＭ９９も接続している。制御ロジック９４は、行送りモータ３４用、ＲＡＭ９９のプリント画像バッファ記憶用、熱パルス発生用及びヘッドデータ用に対応する複数のコントローラを含む。また制御ロジック９４は、プリントエンジン１０１のプリントヘッド５６ａ及び５６ｂのノズル用、キャリッジモータ３９用、ＡＳＦモータ４１用、行送りモータ３４用の制御信号、並びにプリントヘッド５６ａ及び５６ｂに対するプリントデータを提供する。ＥＥＰＲＯＭ１０２はＩ／Ｏポートユニット９６に接続され、プリンタ情報の不揮発性メモリを構成すると共に、プリンタ、ドライバ、プリントヘッド、カートリッジのインクの状態などを識別し、ホストプロセッサ２にプリンタ１０の動作パラメータを報知するために、ホストプロセッサ２のプリンタドライバ８４へ送信されるパラメータを格納している。
【００２３】
プリントエンジン１０１には、プリンタの状態を検出し、且つ印刷に影響を及ぼす温度や、他の量を測定するために、全体を図中符号１０３で示す複数のセンサが配置されている。例えば、温度センサ（例えば、低精度の温度計）を使用して周囲環境温度を測定しても良く、光センサ（例えば、自動整列センサ）は、自動整列（自動アライメント）のために印刷密度とドット位置を測定する。センサ１０３は、アクセスドア１２の開閉状態、記録媒体の有無などの他の状態を検出するためにプリントエンジン１０１にも配置されている。更に、プリントヘッド５６ａ及び５６ｂにも、Ｉ／Ｏポートユニット９６へ送信されるプリントヘッドの温度を測定するために、サーミスタを含むダイオードセンサが配置されている。
【００２４】
Ｉ／Ｏポートユニット９６は、電源ボタン２４及び再開ボタン２６などのスイッチ１０４からの入力も受信し、インジケータ２３を点灯させるためにＬＥＤ１０５に制御信号を供給すると共に、オプションとしてブザー１０６にも制御信号を供給し、行送りモータドライバ３４ａとキャリッジモータドライバ３９ａをそれぞれ介して行送りモータ３４とキャリッジモータ３９にも制御信号を供給する。
【００２５】
図６にはブザー１０６が示されているが、先に説明した通り、本実施の形態の構成は、ブザー１０６などの報知機構の代わりに使用されても良く、あるいはそれと組み合わせて使用されても良い。ブザー１０６は圧電ブザー又はスピーカなどであれば良い。様々な状態の報知は、本実施の形態では、単独で又はブザー１０６と組み合わせて実行できる。
【００２６】
対応して報知が行われるそのような状態の一例として、再開（レジューム）ボタン２６は、エラー状態が起こった後にオペレータが印刷を再開できるように制御を実行する。更に、再開ボタン２６を使用して他の機能を起動することも可能である。一例を挙げると、報知（例えば、１回のビープ音）が発生されるまで再開ボタン２６を押し続けることにより、プリントヘッドクリーニング機能を起動できる。また、用紙切れ、紙詰まり、プリンタ１０へのカートリッジの装着ミス、プロセス中のカートリッジの交換などの回復可能なエラーに対しても報知を行える。同様に、修理が必要なエラーなどの致命的なエラーを察知するか、又はそれに注意を喚起することも可能である。従来の報知音発生の場合と同様に、本実施の形態で発生される可聴音に基づいて、エラーの種類を区別することが可能である。この可聴音は連続する「ビープ音」であっても良いし、１回の持続する「ビープ音」であっても良い。更に、可聴音を識別するために音量を利用しても良い。
【００２７】
Ｉ／Ｏポートユニット９６はプリントエンジン１０１に結合している。プリントエンジン１０１においては、１対のプリントヘッド５６ａ及び５６ｂがＲＡＭ９９のプリントバッファからのプリントデータを使用して印刷しながら記録媒体に沿って走査することにより、記録媒体上に記録を実行する。制御信号をやり取りするため、及びプリントデータ及びプリントデータアドレスを受信するために、制御ロジック９４は、通信回線７６を介してホストプロセッサ２のプリンタインターフェース７４に結合している。ＲＯＭ９２はフォントデータ、プリンタ１０を制御するために使用されるプログラム命令シーケンス、及びプリンタ動作に必要な他の不変データを格納している。ＲＡＭ９９はプリントヘッド５６ａ及び５６ｂに対してプリンタドライバ８４により定義されるプリントバッファのプリントデータ及びプリンタ動作に関わる他の情報を格納している。
【００２８】
図６はプリンタ１０の個々の構成要素を互いに別個の異なる要素として示しているが、構成要素のいくつかを組み合わせるのが好ましい。例えば、プリンタ１０の機能の相互接続を簡単にするために、制御ロジック９４をＡＳＩＣでＩ／Ｏポート９６と組み合わせても良い。
【００２９】
図７は、ホストプロセッサ２とプリンタ１０とのインタラクションを示すハイレベル機能ブロック線図である。
【００３０】
図７に示すように、ディスク８のアプリケーション部８２に格納されている画像処理アプリケーションプログラム８２ａから印刷命令が発行されると、オペレーティングシステム８１は、プリンタドライバ８４に対してグラフィックスデバイスインターフェース呼び出しを発行する。プリンタドライバ８４は、印刷命令に対応するプリントデータを生成することによりこれに応答し、プリントデータをプリントデータストア１０７に格納する。プリントデータストア１０７はＲＡＭ８６又はディスク８に常駐していても良いし、或いはオペレーティングシステム８１のディスクスワッピング動作を経て当初はＲＡＭ８６に格納され、ディスク８に対してスワッピングされても良い。その後、プリンタドライバ８４はプリントデータストア１０７からプリントデータを獲得し、プリントデータをプリンタインターフェース７４を介して双方向通信回線７６へ送信し、更にプリンタ制御部１１０を介してプリントバッファ１０９へ送信する。プリントバッファ１０９はＲＡＭ９９に常駐しており、プリンタ制御部１１０は図６の制御ロジック９４及びＣＰＵ９１により実現されるファームウェアに常駐している。プリンタ制御部１１０は、ホストプロセッサ２から受信される指令に応答してプリントバッファ１０９のプリントデータを処理し、ＲＯＭ９２（図６を参照）に格納されている命令の制御の下に印刷タスクを実行して、記録媒体に画像を記録するために適切なプリントヘッド制御信号及びその他の信号をプリントエンジン１０１に供給する。
【００３１】
図８は、制御ロジック９４及びＩ／Ｏポートユニット９６の組み合わせ構成を示すブロック線図である。先に述べたように、Ｉ／Ｏポートユニット９６は制御ロジック９４内部に含まれていても良い。
【００３２】
図８では、内部バス１１２は、プリンタＣＰＵ９１と通信するためにプリンタバス９７に接続されている。バス１１２はホストコンピュータインターフェース１１３（破線で示す）に接続され、ホストコンピュータインターフェース１１３は双方向通信を実行するために双方向回線７６に接続されている。図８に示すように、双方向回線７６は、ＩＥＥＥ−１２８４回線又はＵＳＢ回線であれば良い。双方向通信回線７６は、ホストプロセッサ２のプリンタインターフェース７４にも結合している。ホストコンピュータインターフェース１１３は、ＩＥＥＥ−１２８４インターフェースとＵＳＢインターフェースの双方を含み、これらは共にプリントバッファ１０９（図７を参照）を含むＲＡＭ９９を制御するためにバス１１２と、ＤＲＡＭバスアービタ／コントローラ１１５とに接続されている。データ伸長器１１６は、処理時にプリントデータを伸長するために、バス１１２と、ＤＲＡＭバスアービタ／コントローラ１１５と、ホストコンピュータインターフェース１１３のＩＥＥＥ−１２８４インターフェース及びＵＳＢインターフェースの各々とに接続している。バス１１２には、図６の行送りモータドライバ３４ａに接続する行送りモータコントローラ１１７と、プリントヘッド５６ａ及び５６ｂの各々に逐次制御信号及びヘッドデータ信号を供給するイメージバッファコントローラ１１８と、プリントヘッド５６ａ及び５６ｂの各々にブロック制御信号及びアナログヒートパルスを供給する熱タイミング発生器１１９と、図６のキャリッジモータドライバ３９ａに接続するキャリッジモータコントローラ１２０と、図６のＡＳＦモータドライバ４１ａに接続するＡＳＦモータコントローラ１２５も結合している。更に、ＥＥＰＲＯＭ１０２及び自動整列センサ（図６のセンサ１０３の中に表されている）を制御するために、ＥＥＰＲＯＭコントローラ１２１ａと自動整列センサコントローラ１２１ｂがバス１１２に接続している。また、自動トリガコントローラ１２２がバス１１２に接続され、プリントヘッド５６ａ及び５６ｂのノズルの発射を制御するために、イメージバッファコントローラ１１８及び熱タイミング発生器１１９に信号を供給する。
【００３３】
制御ロジック９４はＣＰＵ９１で使用すべきホストプロセッサ２からの指令を受信し、且つホストコンピュータインターフェース１１３及び双方向通信回線７６を介して、プリンタ状態信号及びその他の応答信号をホストプロセッサ２へ送信するように動作する。ホストプロセッサ２から受信されるプリントデータとプリントデータに関わるプリントバッファメモリアドレスは、ＤＲＡＭバスアービタ／コントローラ１１５を介してＲＡＭ９９のプリントバッファ１０９へ送信され、プリントバッファ１０９からのアドレス指定プリントデータは、コントローラ１１５を介してプリントエンジン１０１へ転送されて、プリントヘッド５６ａ及び５６ｂにより印刷される。この点に関して、熱タイミング発生器１１９はプリントデータを印刷するために要求されるアナログヒートパルスを発生する。
【００３４】
図９は、プリンタ１０のメモリ構造を示す図である。
【００３５】
図９に示すように、ＥＥＰＲＯＭ１０２、ＲＡＭ９９、ＲＯＭ９２及び制御ロジック９４の一時記憶装置は単一のアドレス指定構成を有するメモリ構造を形成している。図９を参照すると、不揮発性メモリ部１２３として示されるＥＥＰＲＯＭ１０２は、ホストプロセッサ２により使用され、プリンタ及びプリントヘッド、プリントヘッド状態、プリントヘッド整列並びにその他のプリントヘッド特性を識別する１組のパラメータを格納している。ＥＥＰＲＯＭ１０２は、クリーニング時間、自動整列センサデータなどの、プリンタ１０により使用される別の１組のパラメータも格納している。メモリ部１２４として示されるＲＯＭ９２は、プリンタタスクのプログラムシーケンスや、ノズルヒートパルスの発生を制御するために使用されるプリントヘッド動作温度テーブルなどの、プリンタ動作に関わる不変の情報を格納している。ランダムアクセスメモリ部１２１は制御ロジック９４の一時動作情報を格納し、ＲＡＭ９９に対応するメモリ部１２６はプリンタタスク及びプリントバッファ１０９に関わる可変動作データの記憶部を含む。
【００３６】
次に図１０を参照して行送りモータ３４と関連させて本実施の形態を説明する。しかし、音を発生するには、装置内部のどのモータも使用できる。例えば、プリンタ１０の行送りモータ３４に加えて、ＡＳＦモータ４１及びキャリッジモータ３９も使用できるであろう。例えば、現在空いている（即ち、使用中でない）のはいずれのモータであるかということに基づいて、装置のモータのいずれか一方を選択的に使用することが可能である。従って、例えば、紙送りのために行送りモータ３４が現在使用中である場合には、ＡＳＦモータ４１又はキャリッジモータ３９を使用しても良いであろう。
【００３７】
先に述べた通り、行送りモータ３４は、自動フィーダ又は手操作フィーダのいずれかからプリンタを通して記録媒体を媒体排出口まで搬送するようにローラの回転を制御している。行送りモータ３４は物理的にプリンタの行送り機構と連動する。更に、行送りモータ３４は、プリントヘッド接続キャップに接続するプリントヘッドから余分のインクを吸引するように、インククリーニング機構の回転ポンプを駆動する。
【００３８】
プリンタを通過する記録媒体の送り出しを制御することに加えて、行送りモータ３４の位相制御を、現在の圧電ブザー又はその他の種類のブザーに代わって、或いはそれを補足して可聴音を発生させるように適合させることが可能である。行送りモータ３４などのモータの正規の動作においては、モータの加速をモータのトルク能力を整合させるように「漸次ランプアップ」がある。しかし、本願発明者により、「瞬時の」加速度が起こると、ステッパモータは制御を失い、「スリップ」することが観測されている。その結果、モータの正規動作中に通常発生するどの音とも異なる音、即ち、騒音（ノイズ）が発生する。本実施の形態は、このような瞬時加速を発生させることにより可聴音を発生させるような、モータの動作を制御するための動作シーケンスを規定する。モータを複数の動作に使用する場合（例えば、モータ３４を行送り動作と報知動作の双方に使用する場合）、可聴音を発生するモータの動作シーケンスは、行送り動作を実行するために使用される正規の動作シーケンスとは異なっており、報知機能の動作シーケンスはモータの正規の機能が影響を受けないような動作である。例えば、この報知機能の動作シーケンスでは、行送りモータ３４は報知機能のみを実行し、この報知機能により記録媒体を送り出すことはない。更に、正規動作中にモータが発生する音は、報知動作中に発生する音とは異なっている。
【００３９】
本実施の形態に係る報知機能の動作シーケンスでは、モータを振動させ、音を発生するのはこの振動による。本実施の形態に従って可聴音を発生するために制御されるモータは、「ｎ」モータステップに亙って第１の方向に移動、即ち、軸を中心として回転し、「ｍ」モータステップに亙って逆方向に回転する。尚、「ｍ」は「ｎ」と等しく、モータは報知動作の開始以前にモータが位置していた元の回転位置に戻るように制御される。
【００４０】
先に述べた通り、行送りモータ３４は物理的にプリンタの行送り機構と連動する。望ましくない機械的動作（例えば、行送りモータ３４の場合には記録媒体の位置の変化）をもたらし、モータが瞬時にパルス動作する結果として起こる行送り機構のそのような動きに起因する騒音を発生させるおそれのあるモータの回転を最小限に抑える、又はなくすために、モータ位相制御はモータを３６０位相度順方向へ回転、及び３６０位相度逆方向に回転させ、その後、必要に応じてこの順方向と逆方向の回転を繰り返すことから成る。図１２Ａは、モータを順方向及び逆方向に回転させるために実行されるモータ位相ステッピングシーケンスを示し、図１２Ｂは図１２Ａのステッピングシーケンスに対応するタイミングを示す。
【００４１】
図１２Ａを参照すると、モータ位相図１２００において、真向かいの位置は２つの位相位置を表す。例えば、位置「ＡＢ＝１１」と位置「ＡＢ＝００」の間に線が引かれている。図示の便宜上、モータは位置「ＡＢ＝１１」で停止する、即ち、この位置が元のスタート位置であると考える。１２０１は、報知動作における様々な時点でのモータ３４のようなモータの動作シーケンスを示す。図１２Ｂは、１２０１の位相制御例に対応するタイミング図である。１２０１における「モータステップ１」及び「時間０」のとき、モータは位置「ＡＢ＝１１」をとるように制御される。これが動作シーケンスのスタート位置である。そして「モータステップ２」、「時間１」のとき、モータの位置を変化させる、即ち、モータを「ＡＢ＝１１」から「ＡＢ＝０１」へ回転させるための命令がモータに供給される。この運動の方向は時計回り方向（即ち、「ＣＷ」）である。そしてモータは、「モータステップ３」から「モータステップ５」、「時間２」から「時間４」の間、それぞれ時計回り方向に回転し続ける。そして「時間５」、「モータステップ６」のとき、モータは位置を「ＡＢ＝１１」から「ＡＢ＝１０」に変える。その結果、方向の変化を予測して、最初に停止又は減速することなく回転方向を変える。モータを振動させて可聴音を発生させるのは、この方向転換によるものである。
【００４２】
更に１２０１において、「モータステップ１０」、「時間９」のときに再び回転方向を反転させることにより、モータは可聴音を発生し続ける。この時点で、モータは位置を「ＡＢ＝１１」から「ＡＢ＝０１」に変化させ、その回転方向を反時計回り方向から時計回り方向に変える。「モータステップ９」は、上述の「モータステップ１」に相当し、且つ可聴音を発生し続けるために何度でもこのシーケンスを繰り返すことができるのは明らかであろう。
【００４３】
しかし、音の発生を終了又は休止させても良い。図１２Ｃを参照すると、モータが「on_time」の間は音を発生し、「pause」又は「off_time」の間は音を発生しない動作シーケンスが示されている。図１２Ａの１２０２の例の場合、「モータステップ１」から「モータステップ８」は、先に１２０１を参照して説明したように「on_time」の間に実行される。そして「off_time」の間は、モータは１つの位置、好ましくはスタート位置で休止する。１２０２は、音発生における休止の例を示す。本実施の形態によれば、スタート地点で正規の（例えば、行送り）動作を再開できるように、モータはスタート位置に戻される。従って、図１２Ａの２相モータの例では、８ステップのシーケンスでモータは位置「ＡＢ＝０１」をとる。モータを元の位置に戻すために、「モータステップ９」、「時間８」でモータを再度反時計回りの位置にステップ動作させる。図１２Ａの１２０１のように、モータステップ１０で方向を変えるのではなく、１２０２では、所望の休止持続時間を実現するために、ある数のモータステップに亙って位置「ＡＢ＝１１」に留まるようにモータに命令することにより、動作シーケンスは「off_time」の間休止する。所望の休止持続時間が実現されたならば、「on_time」動作シーケンスを開始すれば良い（例えば、「モータステップ１」から「モータステップ８」）。
【００４４】
従って、１つの持続する音を発生するには、３６０位相度の順方向の運動、即ち、回転と、３６０位相度の逆方向の回転とを、その間に認知できるほどの間隔を挟まずに連続して繰り返すことになる。一連の連続するビープ音を発生するときには、先に説明したように、図１２Ｃに示す通り、モータ励起の「on_time」周期と「off_time」周期とを交互に繰り返す。
【００４５】
現時点では別の目的に使用されていないモータでも、本実施の形態に従って可聴音を発生するために使用できるであろう。例えば、先に示したように、行送りモータ３４が正規の用途（即ち、プリンタを通して記録媒体を送り出す）に使用されていなければ、いつでもアラームを発生するために使用されて良い。
【００４６】
モータ３４が現時点で紙送り機能のために使用されているか、又は音を発生するために使用されているかを示すために、「MotorUsedByBuzzerフラグ」と呼ばれるフラグがセットされる。図１１Ａに示すように、プリンタを通して紙を送り出しているとき、「MotorUsedByBuzzerフラグ」は、FALSEにセットされて、モータ３４が音の発生に使用されるのを阻止する。紙送りプロセスが完了したならば、この「MotorUsedByBuzzerフラグ」はTRUEにセットされ、そこで、モータ３４を音を発生するために使用できるようになる。「MotorUsedByBuzzerフラグ」がTRUEにセットされると、モータ３４の紙送り機能は阻止される。
【００４７】
図１１Ｂは、音を発生させるべき状態が、プリンタを通して紙を送っている間に起こった状況を示す。この場合は音発生機能は、紙送り機能が完了した後に開始される。図１１Ｂの例では、紙が送り出されているｔ0からｔ2の期間中、「MotorUsedByBuzzerフラグ」はFALSEにセットされている。時間ｔ1で、状態（例えば、回復可能なエラー）が起こり、その状態を報知するために音を発生させるべきである。しかし、時間ｔ1は紙が送り出されているｔ0からｔ2の期間に起こっている。時間ｔ2で、紙送り機能が完了したならば、「MotorUsedByBuzzerフラグ」がTRUEにセットされ、時間ｔ1で起こった状態を報知するために音が発生される。
【００４８】
音が発生されたならば、「MotorUsedByBuzzerフラグ」をFALSEにセットすることにより、紙送り機能を実行させても良い。例えば、時間ｔ3で、「MotorUsedByBuzzerフラグ」がFALSEにセットされ、紙送り機能が実行される。時間ｔ4で別のアラーム状態が起こった場合には、「MotorUsedByBuzzerフラグ」はTRUEにセットされ、紙送り機能が完了してから、時間ｔ5でアラームが発生される。適切な音が発生されれば、「MotorUsedByBuzzerフラグ」は時間ｔ6でFALSEにセットされる。
【００４９】
本実施の形態において、インクジェットプリンタのモータを使用して可聴音を発生することを更に詳細に示す図１０に、この「MotorUsedByBuzzerフラグ」の使用が説明されている。先に述べた通り、プリンタ内部のどのモータでも音を発生する目的で使用できる。事実、図１０は行送りモータ３４を使用しているが、プリンタのどのモータでも使用可能である。キャリッジモータ３９又は自動シートロードモータ４１などの他のモータを使用しても本発明を実施できるであろうことを理解すべきである。更に、図１０には示されていないが、１つのモータがその正規の機能を実行するために使用されている間に、その時点で正規の機能に使用されていない別のモータにより音を発生できるように、複数のモータを使用することも可能である。即ち、いずれかのモータが使用されていない場合に、アイドリング中のモータの１つを可聴音を発生するために使用するか否かに関して判定を行っても良い。
【００５０】
図１０は、プリンタにモータを使用して可聴音を発生するように指令するためにプリンタ内部で実行されるのが好ましいステップのシーケンスを示すフローチャートである。簡単に言えば、最初に、モータが別のタスクを実行するプロセスの途中にあるか否かを（即ち、「MotorUsedByBuzzerフラグ」により指示される通りに）判定する。そうでなければ、可聴音の発生にそのモータを利用することができる。そのモータが利用可能である場合、可聴音を発生するために、そのモータを制御するときに使用すべき制御ブロックを生成する。この制御ブロックはモータステップの数と、「on_time」期間及び「off_time」期間の双方についてステップごとに使用される時間の指示を含む。それらの制御ブロックは、各モータステップに対応するモータドライバＩＣ制御語を設定するためにＡＳＩＣに供給される。この制御語はモータのモータドライバＩＣに供給される。制御ブロックは、所望の音を発生するためにモータを駆動するように、所望の可聴周波数（DAF）に基づいてモータのドライバへ制御語が送信される速度を判定する。
【００５１】
制御ブロックで供給される情報、可聴周波数（DAF）及び音量情報に基づいて、モータにより可聴音が発生される。この情報を変化させることにより、音の持続時間、周波数及び音量の点で、異なる可聴音を発生することが可能である。これにより、様々に異なる状態に対して、様々に異なる音を発生させることができる。
【００５２】
図１０を参照すると、ステップＳ１で、「SetBuzzerCountWithVolume指令」はモータを使用して可聴音を発生するための手続きを開始する。この指令は、状態の報知として音が発生されるような状態の検出に応答して生成される。指令は、音を発生するときに使用される様々な値を指定するために使用される。この指令は、「on_time」、「off_time」、「DAF」、繰り返しカウント、及び指令の一部として値が提供される音量レベルパラメータを含む。「on_time」パラメータ及び「off_time」パラメータは持続時間を指定し、図１２Ｃに示す「on_time」期間及び「off_time」期間に相当する。前述のように、DAFは発生される音の所望の周波数を表す。繰り返しカウントパラメータは、on_time／off_timeの組が実行される回数であり、音量レベルパラメータは、発生される音の音量を示す。「on_time」、「off_time」及び「DAF」の各パラメータには、それらのパラメータに使用される尺度の単位の分解能を表す分解能も含まれている。例えば、「on_time」パラメータ値は、１秒の１／１００の単位で表現できるであろう。
【００５３】
図１４は、音、即ち、アラームが発生される状態の例と、それぞれに対応するパラメータ値とを示す。このリストはユーザ応答が可能である状態（即ち、回復可能なエラー）並びにエラー状態を含む。ユーザ応答とエラー状態とを識別するために、「on_time」パラメータ、「off_time」パラメータ、リピートカウントパラメータ及びDAFパラメータはそれら２つの状態カテゴリで異なっている。また、１つのカテゴリの中で、状態カテゴリ内の状態を更に識別するためにパラメータを変化させることも可能である。
【００５４】
更に例示すると、１４００で示す第１のカテゴリでは、１０４６Ｈｚ、１００％音量のDAFの場合で、１００ミリ秒の「on_time」持続時間（ＴＯＮ）が設定されている。リピートカウント（ＲＣ）は「１」に設定され、これは音発生が一度だけ実行されることを指示する。従って、モータ励起から次のモータ励起までの間隔の時間を指示するための「off_time」（ＴＯＦ）に割り当てられた値はない。１４０１で示す第２のカテゴリのうち、例えば１４０２で示す「FatalError」は「７」のリピートカウントを有する。モータ励起の期間、即ち、「on_time」は５０ミリ秒であり、「off_time」は２０ミリ秒の持続時間を有する。この「FatalError」状態のDAFは１２４４Ｈｚであり、音量は１００％である。
【００５５】
再び図１０を参照すると、ステップＳ２では、音を発生するために使用されるモータが、その時点で他の機能に使用されているか否かを「MotorUsedByBuzzerフラグ」に基づいて判定するための検査を実行する。例えば、行送りモータ３４の場合、行送りモータ３４がその時点で紙を送っているか否かについて判定を行う。行送りモータ３４が正規の機能実行に使用されていない場合はステップＳ３に進み、行送りモータ３４が音を発生するために使用されることを示すために、「MotorUsedByBuzzerフラグ」をTRUEにセットする。このように「MotorUsedByBuzzerフラグ」をTRUEにセットすることにより、行送りモータ３４の正規の機能の実行が阻止される。尚、ステップＳ２で、モータが音を発生する以外の機能に使用されていると判定された場合には、プロセスはモータが自由になるまでサイクル動作する。
【００５６】
DAFパラメータ値に最大値と最小値が関連し、且つ「on_time」パラメータ及び「off_time」パラメータの各々と最大値が関連しているのが好ましい。ステップＳ４及びＳ６では、DAFが、最大DAF値及び最小DAF値により設定される許容範囲内にあるか否かについて判定を実行する。範囲内になければ、DAFを許容範囲内に設定する。例えば、DAFパラメータが最大DAF値を越えている場合はステップＳ５に進み、DAFパラメータを最大DAF値に設定する。同様に、DAFパラメータが最小DAF値より小さい場合にはステップＳ７に進み、DAFパラメータ値を最小DAF値に設定する。
【００５７】
次にステップＳ８及びＳ１０では、「on_time」パラメータ値及び「off_time」パラメータ値（それぞれ「TON」及び「TOFF」と略す）が、それぞれ対応する最大閾値を越えないように保証するために、それらの値を検査する。ステップＳ８で「on_time」パラメータ値がその最大on_time閾値（例えば、「５１」）を越えている場合はステップＳ９に進み、「on_time」パラメータを閾値最大量（「５１」）にon_time分解能（例えば、０.０１秒）を乗算した値に設定する。またステップＳ１０で、「TOFF」が最大閾値を越えている場合はステップＳ１１に進み、最大off_time閾値量（例えば、「１６３８３」）にoff_time分解能（例えば、０.０１秒）を乗算した値に基づいて「off_time」パラメータを調整する。この様にしてステップＳ５、Ｓ７、Ｓ９及びＳ１１で判定される値は、それぞれ、公称DAF最大周波数（例えば、４０００Ｈｚ）、公称DAF最小周波数（例えば、１６Ｈｚ）、公称最大「on_time」（例えば、５１×０.０１秒）及び公称最大「off_time」（例えば、１６３８３×０.０１秒）を表す。
【００５８】
こうして次にステップＳ１２へ進み、モータステップ間の時間（秒単位）を判定する。先に述べた通り、ステップの数は、指定の所望の周波数内でモータがそのスタート位置に戻るように判定される。この例では、モータは順方向に４回、逆方向に４回の合わせて８ステップ回転される。このように、８又はその倍数の数のステップを使用することにより、このプロセスはモータのスタート位置より１ステップ隔たった位置で終わることになる。
【００５９】
ステップＳ１２からＳ１４では、「on_time」の間に実行されるべき、８の倍数であるステップの数を判定する。この値は「on_step_count」（又は「OnSC」）により表される。ステップごとの時間を表す変数「on_step_time」（又は「OnST」）は８ステップを使用してDAFに基づいて計算される。
【００６０】
更に特定して言えば、ステップＳ１２は、DAFと関連する総周期の１／８であるべき「OnST」を判定する。言い換えれば、「OnST」は、「１」をDAFで除算した数の１／８と等しい。ステップの数、即ち、「OnSC」は総「on_time」、「TON」（所望の分解能に変換されている）を「OnST」で除算した値となるように判定される。この「OnST」はステップＳ１３で判定される。
【００６１】
ステップＳ１４は、「on_time」中に「８」以上、「８」の倍数のモータステップが実行されることを保証する。先に述べた通り、これは「on_time」期間の終了時に、モータがその最初のスタート位置から１ステップ隔たった位置にあるように実行される。
【００６２】
ステップＳ１２及びＳ１３は、「on_time」パラメータ及び「DAF」パラメータを使用して「on_time」期間のモータと関連する情報を計算するが、ステップＳ１５及びＳ１６は、「off_time」と関連する情報を計算する。ステップＳ１５では、「off_time」の各ステップを０.０１秒の定数に設定する。ステップＳ１６では、「off_time」中のモータステップの数を「off_time」値と等しくなるように設定する。１モータステップの最小値は、当初のモータスタート位置に到達するように保証する。即ち、「on_time」持続時間が経過した後、モータがスタートしたのと同じ位置まで戻ったことを確認することが必要である。そこで、ステップＳ１７は、「OffSC」が少なくとも「１」に設定されていることを保証する。
【００６３】
先に述べた通り、ここで説明するようにモータを動作させることにより発生するトルクは、報知動作で使用される可聴音をモータにより発生させる。このモータにより発生される可聴音の音量を変化させるために、異なるレベルのトルクを使用しても良い。各々が「絶対」音量レベルに対応する４つのトルクレベル５０％、７０％、８５％及び１００％を使用するのが好ましい。ステップＳ１８、Ｓ２０及びＳ２２は、音量レベルパラメータがそれぞれ５０％、７０％又は８５％のいずれに設定されているかを判定するために音量レベルパラメータを検査する。音量レベルパラメータがそれら３つの値のいずれかに設定されていれば、絶対音量レベルはステップＳ１９、Ｓ２１又はＳ２３でそれぞれ対応するモータトルク値に設定される。
【００６４】
初期音量レベルが５０％、７０％又は８５％に等しくない場合には、ステップＳ２４で絶対音量を１００％のモータトルクに設定する。
【００６５】
音量を更に精密に制御するために、各絶対音量レベルは、音量レベルを更に精密に構成し、最終トルクレベルに直接影響する独自の一連の「相対」音量レベルを有する。絶対音量レベルごとに、０％から１００％までの範囲の１６の相対音量レベルがある。絶対音量レベルを確定したならば、ステップＳ２５で相対音量レベルを計算する。相対音量レベルは、最大周波数に１００％の現在設定を乗算した結果で、DAFを除算した値である。これを使用して、例えば、ある事象が起こる日時などの事象の状況に対応する異なる音量レベルを作成することができる（例えば、日中は１つの音量を使用し、夜間は別の音量にするなど）。次に、ステップＳ２６で絶対音量レベルと対応する相対音量レベルを加算することにより、音量制御を設定する。
【００６６】
モータに音を発生するように指令する前に、ステップＳ２７に示すようにリピートカウント値を検査するために変数「RepeatCount」の検査を実行する。ステップＳ２７の「RepeatCount」の値が「０」であれば、それ以上の音を発生すべきでない。処理はステップＳ３６へ進み、「MotorUsedByBuzzerフラグ」をモータが他の機能に自在に使用できること、即ち、プリンタを通して記録紙を送るために使用できることを指示するためにFALSEに設定する。
【００６７】
またステップＳ２７で、「RepeatCount」が０より大きい場合はステップＳ２８に進み、「RepeatCount」を１だけ減分する。ステップＳ２９は、可聴音発生（即ち、報知）動作シーケンスを開始するためにモータを位置決めする。まず、モータが最前の保持位置にあるように保証するためにモータを位置決めする。モータの位相は音発生（即ち、報知）動作以前に共に「OFF」されていることがありうる。ステップＳ２９で実行されるセットアップ動作は、モータのコイルを最前の保持位置まで再励磁することにより、報知動作シーケンスが開始される前に初期モータ状態を設定する。
【００６８】
ステップＳ３０、Ｓ３１及びＳ３２では、図１２Ｄに示すようなプリンタ１０のＤＲＡＭで「on_time」制御ブロック、「off_time」制御ブロック及び制御停止ブロックを構成する。先に指示した通り、プリンタ１０のＡＳＩＣはそれらの制御ブロックを使用して、図１２Ｅに示すようにモータドライバＩＣ制御語を設定する。
【００６９】
図１２Ｄを参照すると、「on_time」制御ブロックは、「on_time」期間に１つの制御語を作成するために使用される情報を含む。この「off_time」制御ブロックは、「off_time」期間に１つの制御語を作成するために使用される情報を含む。制御停止ブロックは、ＡＳＩＣが制御情報を求めてＤＲＡＭを読み取り続けないようにするための「情報の終わり」マーカとして機能する。
【００７０】
「on_time」制御ブロックは、「on_time」期間に実行されるべきモータステップの数（即ち、「on_step_count」）を識別する。ＡＳＩＣは各々のモータステップエントリを網羅し、エントリごとに１つの制御語を構成する。この「on_step_time」は、ＡＳＩＣにより１つの制御語をモータドライバＩＣへ送信するタイミングを判定するために使用される。前述のように、この「on_step_time」は、DAFに基づいて判定される。これにより、モータは、先に説明したように所望の音を発生するために、DAFにより確定された速度で駆動される。
【００７１】
同様に、ＡＳＩＣは「off_time」制御ブロックを使用して、「off_time」期間中に１つ以上の制御語を生成する。「off_step_count」は、ＡＳＩＣが制御語を構成するステップの数を識別する。ＡＳＩＣは「off_time」制御ブロックのモータステップエントリの各々を網羅し、エントリごとに１つの制御語を構成する。「off_step_time」は、ＡＳＩＣにより１つの制御語をモータドライバへ送信するタイミングを判定するために使用される。
【００７２】
図１２Ｅは、モータドライバＩＣ制御語フォーマットの一例を示す図である。モータドライバＩＣ制御語の実際のフォーマットが使用されるモータドライバＩＣチップによって異なることは自明であろう。この例では、位相ＡはコイルＡを流れる電流の方向を設定し、位相ＢはコイルＢを流れる電流の方向を設定する。フィールドＩＡ3からＩＡ0及びＩＢ3からＩＢ0は電流の大きさ（１６のレベルのうち１つ）をそれぞれ指定している。フィールド「decayＡ1」及び「decayＡ0」は、コイルＡの減衰の速度を設定し、「decayＢ1」及び「decayＢ0」は、コイルＢの減衰の速度を設定している。また、制御語は、トルクレベルＴ1及びＴ0を規定する。
【００７３】
ステップＳ３４では、「on_time」持続時間及び「off_time」持続時間が経過したか否かを判定する。経過していなければ、ステップＳ３５で、モータを音を発生するために使用する直前のモータ現在状態を適用する前に、時間が経過するまで待つ。これを実行することにより、モータは報知動作を開始する以前にあった位置に戻ることが保証される。即ち、モータを音の発生に使用しなくなったときにモータの位置が元の位置に戻るように、図１０のルーチンに入る直前にモータがあった位置までモータの状態をリセットする。そこで、処理はステップＳ２７へ続き、リピートカウント値に基づいて可聴音を発生し続けるか否かを判定する。
【００７４】
先に述べた通り、報知動作シーケンスで使用されるモータを他の１つ又は複数の機能を実行する目的で使用しても差し支えない。行送りモータ３４の場合、このモータは記録媒体を送り出すために使用されるが、これを報知を行うために使用しても良い。図１３Ａ及び図１３Ｂは、モータを音を発生するために使用する場合と、紙を送るために使用する場合におけるモータ位相の相違を示す。
【００７５】
報知動作シーケンスにおけるモータ位相を示す図１３Ａを参照すると、位相Ａ及びＢは、モータが「時間５」で方向を反転し、「時間９」で再び方向を反転するように設定されている。行送り動作におけるモータ位相を示す図１３Ｂでは、位相Ａ及びＢは、記録媒体を送り出すためにモータが動作中（即ち、行送り動作）一方向に回転するように設定されている。更に、図１３Ａに示すように、報知動作においては、行送りモータ３４が報知動作のみを実行し、行送りの変化を起こさないように、（例えば、「時間９」で）位相Ａ及びＢを元の状態に戻らせる。従って、これら２つの動作は排他的であり、そのため、報知動作は行送りモータ３４の行送り機能に全く影響を及ぼさずに報知の機能のみを実行するということができる。
【００７６】
本発明を特定の実施の形態に関して説明したが、本発明は上述の実施の形態に限定されず、当業者により本発明の趣旨から逸脱せずに様々な変更や変形を実施しうることを理解すべきである。
【００７７】
【発明の効果】
以上説明したように本発明によれば、報知機能を実行するだけの構成要素を不要にできるため、少なくとも装置の構成要素を減らすことができ装置のコストを低減できる。
【００７８】
また本発明によれば、別の報知源が誤動作を起こしたときにも、それをカバーできるという効果がある。
【図面の簡単な説明】
【図１】本実施の形態においてプリンタと関連して使用される計算機器の斜視図である。
【図２】図１に示すプリンタの正面斜視図である。
【図３】図１に示すプリンタの背面斜視図である。
【図４】図１に示すプリンタの背面切り欠き斜視図である。
【図５】図１に示すプリンタの正面切り欠き斜視図である。
【図６】図１に示すプリンタと計算機器（ホストプロセッサ）とのハードウェア構成を示すブロック図である。
【図７】本実施の形態のホストプロセッサ及びプリンタの機能ブロック図である。
【図８】図６の制御ロジック及びＩ／Ｏポートユニットの組み合わせ構成を示すブロック図である。
【図９】本実施の形態に係るプリンタのメモリ構造を示す図である。
【図１０Ａ】本実施の形態に係るプリンタにおけるモータを使用して可聴音を発生するための処理を示すフローチャートである。
【図１０Ｂ】本実施の形態に係るプリンタにおけるモータを使用して可聴音を発生するための処理を示すフローチャートである。
【図１１Ａ】本実施の形態に係るプリンタにおける行送りモータを使用して可聴音を発生する場合のタイミング例を説明する図である。
【図１１Ｂ】本実施の形態に係るプリンタにおける行送りモータを使用して可聴音を発生する場合、用紙送りによる待ち時間が発生する例を説明する図である。
【図１２Ａ】本実施の形態に係るモータ駆動の位相制御を示す図である。
【図１２Ｂ】図１２Ａのモータ位相制御に対応するタイミングを示す図である。
【図１２Ｃ】本実施の形態におけるモータ励起周期と、非モータ励起周期との交番を示す図である。
【図１２Ｄ】本実施の形態に係るモータドライバＩＣ制御語を設定するために使用されるモータ制御ブロックを示す図である。
【図１２Ｅ】本実施の形態に係るモータドライバＩＣ制御語を示す図である。
【図１３Ａ】本実施の形態に係る音発生中のモータ制御のタイミングを示す図である。
【図１３Ｂ】本実施の形態に係る正規にモータを使用する場合のモータ制御を示す図である。
【図１４】本実施の形態に係る音及び対応する各々の変数値を説明する図である。
【符号の説明】
２…ホストプロセッサ、４…表示部、５…キーボード、６…ポインティングデバイス、８…固定ディスク、９…フロッピーディスクドライブ、１０…プリンタ、３４…行送りモータ、３４ａ…行送りモータドライバ、３５…回路基板、３９…キャリッジモータ、３９ａ…キャリッジモータドライバ、４１…ＡＳＦモータ、４１ａ…ＡＳＦモータドライバ、５６ａ、５６ｂ…プリントヘッド、７０…中央処理装置（ＣＰＵ）、７１…コンピュータバス、７２…ディスプレイインターフェース、７４…プリンタインターフェース、７６…双方向通信回線、７７…フロッピーディスクインターフェース、７９…キーボードインターフェース、８０…ポインティングデバイス・インターフェース、８１…オペレーティングシステム、８２…アプリケーション、８４…プリンタドライバ、８６…ランダムアクセスメモリ（ＲＡＭ）、８７…読み取り専用メモリ（ＲＯＭ）、８９…その他ドライバ部、９１…ＣＰＵ、９２…ＲＯＭ、９４…制御ロジック、９６…Ｉ／Ｏポートユニット、９７…バス、９９…ＲＡＭ、１００…コントローラ、１０１…プリントエンジン、１０２…ＥＥＰＲＯＭ、１０３…センサ、１０３ａ…温度センサ、１０４…スイッチ、１０６…ブザー、１０７…プリントデータストア、１０９…プリントバッファ、１１０…プリンタ制御部
【図１】
0003728278.tif 000002
【図２】
0003728278.tif 000003
【図３】
0003728278.tif 000004
【図４】
0003728278.tif 000005
【図５】
0003728278.tif 000006
【図６】
0003728278.tif 000007
【図７】
0003728278.tif 000008
【図８】
0003728278.tif 000009
【図９】
0003728278.tif 000010
【図１０Ａ】
0003728278.tif 000011
【図１０Ｂ】
0003728278.tif 000012
【図１１Ａ】
0003728278.tif 000013
【図１１Ｂ】
0003728278.tif 000014
【図１２Ａ】
0003728278.tif 000015
【図１２Ｂ】
0003728278.tif 000016
【図１２Ｃ】
0003728278.tif 000017
【図１２Ｄ】
0003728278.tif 000018
【図１２Ｅ】
0003728278.tif 000019
【図１３Ａ】
0003728278.tif 000020
【図１３Ｂ】
0003728278.tif 000021
【図１４】
0003728278.tif 000022