(57)【要約】      （修正有）【課題】汎用ＯＳを用いて、リアルタイム処理を実行可能なプリンタを提供する。【解決手段】印字元データを記憶する第１記憶部と、第２記憶部と、所定の間隔で連続して第１割込信号を発生する第１割込信号発生部と、第１割込信号を複数回数入力する毎に第２割込信号を発生する第２割込信号発生部と、汎用オペレーティングシステム上で機能し、第２割込信号が入力される毎に、第１記憶部に記憶された印字元データから複数ライン分の印字データを取り込んで第２記憶部に記憶させる印字データ取込部と、汎用オペレーティングシステム上で機能し、第２割込信号が入力される毎に、複数ライン分の印字データにそれぞれ係る複数ライン分の印字パラメータデータを取り込んで第２記憶部に記憶させる印字パラメータ取込部と、発生した第１割込信号の入力に基づいて１ライン分の印字データと印字データに係るパラメータを読み出す読出し部と、印字制御部と、を備える。【選択図】図３
2020059248.tif 000002
【特許請求の範囲】
【請求項１】
印字元データを記憶する第１記憶部と、
第２記憶部と、
所定の間隔で連続して第１割込信号を発生する第１割込信号発生部と、
前記第１割込信号を入力し、前記第１割込信号を複数回数入力する毎に第２割込信号を発生する第２割込信号発生部と、
汎用オペレーティングシステム上で機能し、前記第２割込信号が入力される毎に、前記第１記憶部に記憶された前記印字元データから複数ライン分の印字データを取り込んで前記第２記憶部に記憶させる印字データ取込部と、
汎用オペレーティングシステム上で機能し、前記第２割込信号が入力される毎に、前記印字データ取込部が取込んだ前記複数ライン分の印字データにそれぞれ係る複数ライン分の印字パラメータデータを取り込んで前記第２記憶部に記憶させる印字パラメータ取込部と、
発生した前記第１割込信号の入力に基づいて前記第２記憶部から１ライン分の印字データと当該印字データに係るパラメータを読み出す読出し部と、
読み出した前記印字データを当該パラメータに従って１ライン分の印字を行う印字制御部と、
を備えたプリンタ。
【請求項２】
前記第２割込信号発生部は、前記印字データ取込部と前記印字パラメータ取込部を含む前記汎用オペレーティングシステム上で機能する制御部が、前記第２割込信号の入力による割込処理に要する最大の遅延時間以上の間隔で前記第２割込信号を発生する、
請求項１に記載のプリンタ。
【請求項３】
前記プリンタは、ラベルに文字や図形を印字するラベルプリンタであり、
前記第１記憶部は、情報処理装置から送信された印字コマンドに基づいて、前記汎用オペレーティングシステム上でビットマップに展開された前記ラベル１枚分の前記印字元データを記憶する、
請求項２に記載のプリンタ。
【請求項４】
前記第２記憶部は、前記印字データ取込部が取込んだ印字データを記憶する画像メモリと、前記印字パラメータ取込部が取込んだ印字パラメータデータを記憶するパラメータメモリとを含む、
請求項１乃至３のいずれか一に記載のプリンタ。
【請求項５】
前記読出し部は、前記画像メモリから印字データを読み出し、前記パラメータメモリから印字パラメータデータを読み出す、
請求項４に記載のプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プリンタに関する。
【背景技術】
【０００２】
例えば、商品や物品に貼付するラベルや、商品の情報を印字するレシート（以降総称して「用紙」という）に印字を行うプリンタでは、タイマ回路が所定時間間隔（例えば１ｍｓ）で発生する割込信号が入力されると、コントローラは、ハードウェア的に当該所定時間間隔毎に用紙を所定量搬送する駆動信号をモータに与えるとともに、当該所定時間間隔毎にメモリから１ライン分の印字データを取り出して、ヘッドを駆動して印字を行う。このような処理をリアルタイム処理という。
【０００３】
このようなプリンタの制御は、汎用オペレーションシステム（以降「汎用ＯＳ」という）とは異なり、動作する機能を特化したリアルタイムオペレーションシステム（以降「ＲＴＯＳ」という）で駆動される。ＲＴＯＳは、割込信号が入力されてから前記所定時間（例えば１ｍｓ）で応答が可能である。そのため、上記のような短い所定時間間隔で割込信号が入力されても、プリンタは応答して動作可能である。しかしながら、ＲＴＯＳは汎用性に欠ける。
【０００４】
一方、最近は、このようなプリンタの動作環境が変化して、プリンタをネットワークに接続したり、プリンタで画像認識や音声認識を行なったりする等の、プリンタにおいても高度な機能や幅広い機能が求められるようになってきた。これらの機能は、汎用ＯＳ上で動作するため、プリンタを汎用ＯＳで動作させる必要がある。
【０００５】
ところが、汎用ＯＳは、種々の業務を行うことから、割込みに対する応答性がＲＴＯＳほど早くないという特性を有する。そのため、プリンタに汎用ＯＳを搭載した場合には、割込信号に対する応答までに、上記所定時間より大きな時間間隔を要することがあり、リアルタイム処理を行えないことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、汎用ＯＳを用いて、リアルタイム処理を実行可能なプリンタを提供することである。
【課題を解決するための手段】
【０００７】
実施形態のプリンタは、印字元データを記憶する第１記憶部と、第２記憶部と、所定の間隔で連続して第１割込信号を発生する第１割込信号発生部と、前記第１割込信号を入力し、前記第１割込信号を複数回数入力する毎に第２割込信号を発生する第２割込信号発生部と、汎用オペレーティングシステム上で機能し、前記第２割込信号が入力される毎に、前記第１記憶部に記憶された前記印字元データから複数ライン分の印字データを取り込んで前記第２記憶部に記憶させる印字データ取込部と、汎用オペレーティングシステム上で機能し、前記第２割込信号が入力される毎に、前記印字データ取込部が取込んだ前記複数ライン分の印字データにそれぞれ係る複数ライン分の印字パラメータデータを取り込んで前記第２記憶部に記憶させる印字パラメータ取込部と、発生した前記第１割込信号の入力に基づいて前記第２記憶部から１ライン分の印字データと当該印字データに係るパラメータを読み出す読出し部と、読み出した前記印字データを当該パラメータに従って１ライン分の印字を行う印字制御部と、を備える。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係るプリンタシステムを示す概略図である。
【図２】図２は、プリンタのハードウェア構成を示すブロック図である。
【図３】図３は、プリンタの機能構成を示す機能ブロック図である。
【図４】図４は、プリンタの制御処理を示すフローチャートである。
【図５】図５は、第２割込信号が入力された際の、プリンタの制御処理を示すフローチャートである。
【図６】図６は、プリンタにおける第１割込信号が発生する間隔と第２割込信号が発生する間隔を示すタイミングチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、本実施形態に係るプリンタの一実施形態を詳細に説明する。なお、この実施形態によって発明は限定されるものではない。
【００１０】
図１は、実施形態に係るシステムを示す図である。本システムは、情報処理装置２とプリンタ１を有する。情報処理装置２は、例えば、ＰＣ（Personal  Computer）、携帯端末、情報端末、ハンディターミナル、ＰＯＳ（Point  of  Sales）端末である。情報処理装置２とプリンタ１は、例えば無線ＬＡＮ（Local  Area  Network）や近距離無線通信等の通信回線Ｌで接続され、無線による相互に情報の通信が可能である。なお、通信回線Ｌは、有線による通信回線であってもよい。
【００１１】
情報処理装置２は、例えば商品のコードを読み取る等して、ラベルに印字する商品の商品情報（商品名、価格、等）を通信回線Ｌを介してプリンタ１にも送信する。なお、情報処理装置２は、例えばラベルに印字する商品情報をコマンド形式で送信する。プリンタ１は、例えばラベルに文字や図形を印字して発行するラベルプリンタである。
【００１２】
プリンタ１は、ロール状の用紙に整列して略等間隔に貼付されたラベルを内部に収納する。プリンタ１は、通信回線Ｌを介して情報処理装置２から受信した例えば商品情報を受信する。プリンタ１は、受信した商品情報を、例えばサーマルヘッド２３（図２を参照）を用いて、１ラインずつラベルに印字を行う。
【００１３】
ここからは、プリンタ１のハードウェアについて説明する。図２は、プリンタ１のハードウェア構成を示すブロック図である。図２に示すように、プリンタ１は、ＣＰＵ（Central  Processing  Unit）１１、ＲＯＭ（Read  Only  Memory）１２、ＲＡＭ（Random  Access  Memory）１３等を備えている。ＣＰＵ１１は制御主体となる。ＲＯＭ１２は各種プログラムを記憶する。ＲＡＭ１３はプログラムや各種データを展開する。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３は、互いにバス１５を介して接続されている。ＣＰＵ１１とＲＯＭ１２とＲＡＭ１３が、制御部１００を構成する。すなわち、制御部１００は、ＣＰＵ１１がＲＯＭ１２に記憶されＲＡＭ１３に展開された制御プログラムに従って動作することによって、後述するプリンタ１に係る制御処理を実行する。
【００１４】
ＲＯＭ１２は、制御プログラム部１２１を備える。制御プログラム部１２１は、プリンタ１を制御するプログラムを記憶する。制御プログラム部１２１に記憶されているプログラムは、制御部１００を制御するための汎用ＯＳ（Operating  System）を含む。すなわち、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３は、汎用ＯＳに基づいて制御される。
【００１５】
ＲＡＭ１３は、各種データも記憶する。ＲＡＭ１３は、フレームメモリ１３１（第１記憶部）を備える。プリンタ１の制御部１００は、汎用ＯＳに従って、情報処理装置２から受信したコマンド形式の商品情報をビットマップ情報に展開したラベル１枚分の画像情報（印字元データ）を生成し、フレームメモリ１３１に記憶する。画像情報は、ラベルに印字される商品情報である。また、制御部１００は、汎用ＯＳに従って、情報処理装置２から受信した商品情報に基づいて、当該画像情報に係る印字パラメータデータ（通電時間やモータの回転周期等）を、フレームメモリ１３１に記憶する。
【００１６】
制御部１００は、バス１５およびコントローラ１６を介して、操作部２１、表示部２２、サーマルヘッド２３、搬送モータ２４、各種センサ２５、画像メモリ２７（第２記憶部）、パラメータメモリ２８（第２記憶部）、タイマ回路２９（第１割込信号発生部）と接続している。操作部２１は、プリンタ１を操作するためのキーボードである。表示部２２は、プリンタ１に係る情報を表示する。サーマルヘッド２３は、ライン状に配列された発熱素子に電圧を印加して発熱させて、ラベルに情報を印字する。搬送モータ２４は、例えばステッピングモータであり、搬送信号が入力される毎に所定量回転して、上記ライン状に配列された発熱素子の配列方向と直交する方向にラベルを搬送する。各種センサ２５は、例えばラベルの先頭位置やラベルの残量等を検出するためのセンサである。
【００１７】
画像メモリ２７は、フレームメモリ１３１に記憶されている画像情報のうち、複数ライン分（例えば１０ライン分）画像情報（すなわち印字データ）を記憶する。パラメータメモリ２８は、画像メモリ２７に記憶している各ライン分の印字データに対応した、各ラインにおけるパラメータデータを記憶する。例えば、画像メモリ２７に１０ライン分の印字データが記憶されている場合、パラメータメモリ２８は、それぞれのラインの印字データに対応付けられた１０ライン分の印字パラメータデータ（例えば、モータのパルス間隔や印字通電時間）を記憶する。タイマ回路２９は、現在の時刻を計時する回路である。タイマ回路２９は、所定間隔（例えば１ｍｓ）毎に、第１割込信号（トリガ信号）を発生する。タイマ回路２９は、発生させた第１割込信号をコントローラ１６に入力する。
【００１８】
ここで、コントローラ１６は、メモリコントローラ１６１（読出し部）、ＯＳ用割込発生器１６２（第２割込信号発生部）、制御回路１６３（印字制御部）を含む。タイマ回路２９から出力された第１割込信号は、メモリコントローラ１６１とＯＳ用割込発生器１６２と制御回路１６３に入力される。
【００１９】
メモリコントローラ１６１は、タイマ回路２９から第１割込信号が入力される毎（実施形態では１ｍｓ毎）に、画像メモリ２７に記憶されている印字データから１ライン分の印字データを読み出して制御回路１６３に出力する。また、メモリコントローラ１６１は、タイマ回路２９から第１割込信号が入力される毎に、パラメータメモリ２８に記憶されている印字パラメータデータ（この印字パラメータデータは、メモリコントローラ１６１が上記のように画像メモリ２７に記憶されている印字データ取り出した１ライン分の印字データに対応付けられたパラメータデータである）を読み出して制御回路１６３に出力する。
【００２０】
ＯＳ用割込発生器１６２は、タイマ回路２９から入力された第１割込信号をカウントし、タイマ回路２９から所定回数（例えば１０回）第１割込信号の入力をカウントした場合に、第２割込信号を発生する。ＯＳ用割込発生器１６２は、制御部１００（ＣＰＵ１１）に対して第２割込信号を出力する。実施形態では、ＯＳ用割込発生器１６２は第２割込信号を１０ｍｓ毎に発生させ、第２割込信号を１０ｍｓ毎に制御部１００に出力する。
【００２１】
制御回路１６３は、タイマ回路２９から第１割込信号が入力される毎に、画像メモリ２７から入力された印字データに基づいてサーマルヘッドを駆動して、ラベルに印字を行う。制御回路１６３は、タイマ回路２９から第１割込信号が入力される毎に、画像メモリ２７から入力された１ライン分の印字データに基づいて１ラインずつラベルに印字を行う。制御回路１６３は、タイマ回路２９から第１割込信号が入力される毎に、画像メモリ２７から入力された１ライン分の印字データを、パラメータメモリ２８から読み出した印字パラメータデータに従って、ラベルに印字を行う。なお、コントローラ１６（メモリコントローラ１６１、ＯＳ用割込発生器１６２、制御回路１６３を含む）、画像メモリ２７、パラメータメモリ２８、タイマ回路２９は、ハードウェア的に処理が実行されるＦＰＧＡ（file-programmable  gate  array  ）と呼ばれる一つの集積回路３１として構成される。コントローラ１６は、ハードウェアの処理として、画像メモリ２７、パラメータメモリ２８、タイマ回路２９を制御する。そのため、リアルタイム性に優れている。
【００２２】
また、制御部１００は、バス１５を介して、通信Ｉ／Ｆ（Interface）３０と接続している。通信Ｉ／Ｆ３０は通信回線Ｌを介して情報処理装置２と相互にデータ通信を行う。
【００２３】
ここからは、プリンタ１の機能構成について説明する。図３は、プリンタ１の機能構成を示す機能ブロック図である。制御部１００が、制御プログラム部１２１に記憶された汎用ＯＳで構成された制御プログラム等に従うことで、印字データ取込部１０１、印字パラメータ取込部１０２として機能する。すなわち、制御部１００は、汎用ＯＳ上で、印字データ取込部１０１と印字パラメータ取込部１０２として機能する。
【００２４】
印字データ取込部１０１は、ＯＳ用割込発生器１６２から第２割込信号が入力される毎に、フレームメモリ１３１に記憶されている画像情報から、複数ライン分（例えば１０ライン分）の印字データを取り込んで、画像メモリ２７に記憶する。印字データ取込部１０１が、フレームメモリ１３１から１０ライン分の印字データを取り込んで、画像メモリ２７に記憶するのに、例えば２ｍｓ程度の時間を要する。
【００２５】
印字パラメータ取込部１０２は、ＯＳ用割込発生器１６２から第２割込信号が入力される毎に、フレームメモリ１３１に記憶されている画像情報から、複数ライン分（例えば１０ライン分）の印字パラメータデータを取り込んで、パラメータメモリ２８に記憶する。印字パラメータ取込部１０２が、フレームメモリ１３１から１０ライン分の印字パラメータデータを取り込んで、パラメータメモリ２８に記憶するのに、例えば２ｍｓ程度の時間を要する。
【００２６】
メモリコントローラ１６１は、タイマ回路２９から第１割込信号が入力される毎に、画像メモリ２７に記憶している印字データとパラメータメモリ２８に記憶している印字パラメータデータを読み出して制御回路１６３に出力する。
【００２７】
具体的には、メモリコントローラ１６１は、画像メモリコントローラ１６１１とパラメータメモリコントローラ１６１２とを有する。画像メモリコントローラ１６１１は、タイマ回路２９から第１割込信号が入力される毎に、画像メモリ２７に記憶している１ライン分の印字データを読み出して制御回路１６３に出力する。読み出された印字データは、画像メモリ２７から削除される。
【００２８】
パラメータメモリコントローラ１６１２は、タイマ回路２９から第１割込信号が入力される毎に、パラメータメモリ２８に記憶している１ライン分の印字パラメータデータを読み出して制御回路１６３に出力する。読み出された印字パラメータデータは、パラメータメモリ２８から削除される。
【００２９】
制御回路１６３は、第１割込信号が入力されると、画像メモリ２７から入力された印字データとパラメータメモリ２８から入力された印字パラメータデータに基づいて、サーマルヘッド２３および搬送モータ２４を制御する。すなわち、制御回路１６３は、第１割込信号が入力されると、入力された印字データに基づいてサーマルヘッド２３を駆動して、１ライン分の印字を行う。また、制御回路１６３は、第１割込信号が入力されると、入力された印字パラメータデータに基づいて搬送モータ２４に１ライン分の搬送信号を出力する。搬送信号を入力した搬送モータ２４は所定量回転して、１ライン分ラベルを搬送する。
【００３０】
なお、コントローラ１６は、ハードウェアの処理として実行されるため、リアルタイム性に優れている。また、コントローラ１６による、操作部２１、表示部２２、サーマルヘッド２３、搬送モータ２４、画像メモリ２７、パラメータメモリ２８等の制御も、ハードウェアの処理として実行される。そのため、リアルタイム性に優れている。すなわち、メモリコントローラ１６１（画像メモリコントローラ１６１１）は、ハードウェアの処理として、第１割込信号が入力される毎に画像メモリ２７から１ライン分の印字データを読み出して制御回路１６３に出力する。また、メモリコントローラ１６１（パラメータメモリコントローラ１６１２）は、ハードウェアの処理として、第１割込信号が入力される毎にパラメータメモリ２８から１ライン分の印字パラメータデータを読み出して制御回路１６３に出力する。制御回路１６３は、ハードウェアの処理として、第１割込信号が入力される毎に入力された印字データに基づいてサーマルヘッドを駆動し、また、入力された印字パラメータデータに従って搬送モータを駆動する。すなわち、メモリコントローラ１６１、制御回路１６３、サーマルヘッド２３、搬送モータ２４は、ハードウェアの処理として実行される。そのため、リアルタイム性に優れている。また、ＯＳ用割込発生器１６２も、ハードウェアとして処理される。そのため、リアルタイム性に優れている。
【００３１】
このようなプリンタ１は、汎用ＯＳを搭載していても、第１割込信号が入力される毎に、メモリコントローラ１６１は、リアルタイムで（例えば１ｍｓ毎に）画像メモリ２７から１ライン分の印字データを読み出して制御回路１６３に出力する。また、メモリコントローラ１６１は、リアルタイムでパラメータメモリ２８から１ライン分の印字パラメータデータを読み出して制御回路１６３に出力する。制御回路１６３は入力された印字データと印字パラメータデータに基づいて、リアルタイムでラベルに印字処理を実行する。
【００３２】
ここからは、プリンタ１の制御について説明する。図４は、プリンタ１の制御処理を示すフローチャートである。図４に示すように、プリンタ１の制御部１００は、通信Ｉ／Ｆ３０に情報処理装置２から印字データ（印字コマンド）を受信したかを判断する（Ｓ１１）。情報処理装置２から印字データを受信したと判断した場合には（Ｓ１１のＹｅｓ）、制御部１００は、受信した印字データをビットマップに展開し画像情報である印字データおよび印字パラメータデータを生成する（Ｓ１２）。そして制御部１００は、生成した印字データおよび印字パラメータデータをフレームメモリ１３１に記憶する（Ｓ１３）。そして制御部１００は、Ｓ１１に戻る。
【００３３】
ここからは、プリンタ１の割込処理について説明する。図５は、ＯＳ用割込発生器１６２から入力された第２割込信号を制御部１００が感知した際の、プリンタ１の制御部１００が実行する割込処理を示すフローチャートである。図５に示すように、ＯＳ用割込発生器１６２から第２割込信号が入力された場合には、制御部１００は、フレームメモリ１３１に、所定ライン（例えば１０ライン）分以上の印字データと印字パラメータデータを記憶しているかを判断する（Ｓ２１）。所定ライン分以上の印字データと印字パラメータデータを記憶していると判断した場合には（Ｓ２１のＹｅｓ）、印字データ取込部１０１は、フレームメモリ１３１に記憶されている印字データから所定ライン分の印字データを読み込んで、画像メモリ２７に記憶する（Ｓ２２）。また、印字パラメータ取込部１０２は、フレームメモリ１３１に記憶されている印字パラメータデータから、印字データ取込部１０１が読み込んだ印字データに対応付けられている所定ライン分の印字パラメータデータを読み込んで、パラメータメモリ２８に記憶する（Ｓ２３）。そして制御部１００は、当該割込処理を終了する。なお、Ｓ２１において、フレームメモリ１３１に所定ライン分以上の印字データと印字パラメータデータを記憶していないと判断した場合には（Ｓ２１のＮｏ）、制御部１００は、当該割込処理を終了する。
【００３４】
ここからは、タイマ回路２９が発生させる第１割込信号の間隔とＯＳ用割込発生器１６２が発生させる第２割込信号の間隔との関係について説明する。図６は、プリンタ１における第１割込信号が発生する間隔と第２割込信号が発生する間隔を示すタイミングチャートである。図６に示すように、実施形態では、タイマ回路２９は、第１割込信号を１ｍｓ毎に発生する。すなわち、第１割込信号の発生間隔は１ｍｓであり、１０ｍｓで１０回の第１割込信号が発生する。グラフＡにおいて、第１割込信号（下向きの矢印）が１ｍｓ毎に発生している。
【００３５】
グラフＢは、制御回路１６３が搬送モータ２４に出力するモータパルスを示すグラフである。実施形態では、モータパルスは、１ｍｓ毎にハイレベル（例えば５Ｖ）とローレベル（例えば０Ｖ）を繰り返す信号である。
【００３６】
グラフＣは、第１割込信号が１０回発生した時間（１０ｍｓ）を示すグラフである。グラフＤは、第１割込信号が１０回発生した時間（１０ｍｓ）を示すグラフであって、グラフＣを図５の左右方向に縮めたグラフである。グラフＣおよびグラフＤにおいて、第２割込信号（上向きの矢印）が１０ｍｓ毎に発生している。
【００３７】
グラフＥは、汎用ＯＳ上で駆動する制御部１００が割込みを感知するのに必要な時間についてのグラフである。グラフＥにおいて、第２割込信号が発生してから制御部１００が第２割込信号を感知するまでの遅延時間の一例を示す。グラフＥにおいて、第２割込信号Ｐ１が入力されたタイミングでは、制御部１００は、第２割込信号Ｐ１が入力されてから１ｍｓ遅延して第２割込信号Ｐ１を感知している。
【００３８】
また、第２割込信号Ｐ２が入力されたタイミングでは、制御部１００は、第２割込信号Ｐ１を感知してから９ｍｓ経過してから第２割込信号Ｐ２を感知している。これは、制御部１００（印字データ取込部１０１と印字パラメータ取込部１０２）が、フレームメモリ１３１から複数ライン分の印字データと印字パラメータデータを取り込んで、画像メモリ２７とパラメータメモリ２８記憶するのに要する時間（２ｍｓ）と、制御部１００が、汎用ＯＳ上でその他の割込みに対する処理を行うのに要する時間（７ｍｓ）を要するためである。第２割込信号Ｐ１を感知してから第２割込信号Ｐ２を感知するまでの時間が、割込処理に要する遅延時間である。
【００３９】
また、第２割込信号Ｐ３が入力されたタイミングでは、制御部１００は、第２割込信号Ｐ２を感知してから５ｍｓ経過してから第２割込信号Ｐ３を感知している。これは、制御部１００（印字データ取込部１０１と印字パラメータ取込部１０２）が、フレームメモリ１３１から複数ライン分の印字データと印字パラメータデータを取り込んで、画像メモリ２７とパラメータメモリ２８に記憶するのに要する時間（２ｍｓ）と、制御部１００が、汎用ＯＳ上でその他の割込みに対する処理を行うのに要する時間（３ｍｓ）を要するためである。第２割込信号Ｐ２を感知してから第２割込信号Ｐ３を感知するまでの時間が、割込処理に要する遅延時間である。
【００４０】
このように、制御部１００は、汎用ＯＳ上で駆動する場合、他の処理との関係で、第２割込信号を感知してから次の第２割込信号を感知するまでに、相当の遅延時間を要する。すなわち、制御部１００は、汎用ＯＳ上で駆動する場合、第２割込信号を感知してから相当の時間を経過した後でないと、次の第２割込信号を感知することができない。そのため、制御部１００にとって、第２割込信号を感知してから、制御部１００が印字データと印字パラメータデータを取り込み、さらに他の割込み処理を実行するのに必要な最大の時間（すなわち、最大限の割込み処理に要する遅延時間）以上の時間を経てから、次の第２割込信号を発生するようにしたい。
【００４１】
すなわち、ＯＳ用割込発生器１６２は、制御部１００が最大限の割込み処理に要する遅延時間以上の時間間隔で第２割込信号を発生する。グラフＥにおいては、制御部１００が第２割込信号Ｐ１を感知してから次の第２割込信号Ｐ２を感知するまでの時間（９ｍｓ）が最大時間であるとすると、この最大時間（９ｍｓ）が割込処理に要する最大の遅延時間である。そのため、ＯＳ用割込発生器１６２は、最大時間以上の例えば１０ｍｓ毎に第２割込信号発生する。制御部１００は、割込処理に要する最大時間以上の間隔で第２割込信号を受信するため、汎用ＯＳの基で駆動する制御部１００であっても、制御部１００はすべての第２割込信号を正しく感知することができる。
【００４２】
なお、ＣＰＵ１１の性能やプリンタ１の使用環境によって最大の遅延時間は異なる。そのため、第２割込信号の割込み間隔はプリンタ１に使用されるＣＰＵ１１の性能やプリンタ１の使用環境に合わせて変更できることが望ましい。実施形態では、ＯＳ用割込発生器１６２は、入力される第１割込信号を数１０回カウントする毎に第２割込信号を発生させた。ＯＳ用割込発生器１６２が、第２割込信号を発生させるためにカウントする第１割込信号の数を可変、あるいは設定可能とする機能を備えることが望ましい。
【００４３】
また、ＯＳ用割込発生器１６２が第２割込信号を発生するのに必要な第１割込信号の数と、印字データ取込部１０１が一度の第２割込信号でフレームメモリ１３１から取込む複数ラインの印字データのライン数は、一致していることが望ましい。例えば、ＯＳ用割込発生器１６２が１０回の第１割込信号で１回の第２割込信号を発生する場合、印字データ取込部１０１は、フレームメモリ１３１から１０ライン分の印字データを取り込むことが望ましい。なお、印字データ取込部１０１が一度の第２割込信号でフレームメモリ１３１から取り込む複数ラインの印字データのライン数は、ＯＳ用割込発生器１６２が第２割込信号を発生するのに必要な第１割込信号の数以下であってもよい。なお、ＯＳ用割込発生器１６２が第２割込信号を発生するのに必要な第１割込信号の数と、印字パラメータ取込部１０２が一度の第２割込信号でフレームメモリ１３１から取り込む複数ラインの印字パラメータデータのライン数も、一致していることが望ましい。
【００４４】
このように、実施形態によれば、第１割込信号が複数回発生した場合に第２割込信号を発生させるようにし、汎用ＯＳで駆動する印字データ取込部１０１と印字パラメータ取込部１０２が、第２割込信号が発生する毎に複数ライン分の印字データと印字パラメータデータを取り込んで画像メモリ２７とパラメータメモリ２８に記憶するようにした。そして、メモリコントローラ１６１と制御回路１６３は、リアルタイム性に優れているハードウェアの処理に従って駆動し、第１割込信号が入力される毎に画像メモリ２７から１ライン分の印字データを読み出して印字処理を行う。また、メモリコントローラ１６１と制御回路１６３は、第１割込信号が入力される毎にパラメータメモリ２８から１ライン分の印字パラメータデータを読み出して当該印字処理の制御を行う。
【００４５】
そのため、プリンタ１は、汎用ＯＳを搭載した環境において、アルタイム処理を実行することが可能となる。
【００４６】
以上、本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００４７】
例えば、実施形態では、ラベルに情報を印字するラベルプリンタをプリンタ１の一例として説明した。しかしながらこれに限らず、プリンタ１は例えば長尺状の用紙に情報を印字したレシートを発行するレシートプリンタであってもよい。
【００４８】
また、タイマ回路２９は、第１割込信号として１ｍｓ毎に割込信号を発生し、ＯＳ用割込発生器１６２は、１０ｍｓ毎に第２割込信号を発生するようにした。しかしながら、これに限らず、第１割込信号および第２割込信号は、プリンタ１で使用されるＣＰＵ１１の性能や、プリンタ１が使用される環境に応じて、適切な時間毎に割込信号を発生させればよい。
【００４９】
また、実施形態では、コントローラ１６、操作部２１、表示部２２、サーマルヘッド２３、搬送モータ２４、画像メモリ２７、パラメータメモリ２８、タイマ２９、メモリコントローラ１６１、ＯＳ用割込信号発生器１６２、制御回路１６３の機能が、ハードウェアの処理として実行されることを説明した。しかしながらこれに限らず、これらの構成要素のうち、少なくともタイマ２９、メモリコントローラ１６１、ＯＳ用割込信号発生器１６２、制御回路１６３を、例えばアセンブリ言語等の低水準言上で機能させるようにしてもよい。この場合も、プリンタ１は、汎用ＯＳを搭載した環境において、アルタイム処理を実行することが可能となる。
【００５０】
なお、実施形態のプリンタ１で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（FD）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００５１】
また、実施形態のプリンタ１で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施形態のプリンタ１で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００５２】
また、実施形態のプリンタ１で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００５３】
１      プリンタ
１１    ＣＰＵ
１２    ＲＯＭ
１３    ＲＡＭ
１６    コントローラ
２７    画像メモリ
２８    パラメータメモリ
２９    タイマ回路
１００  制御部
１０１  印字データ取込部
１０２  印字パラメータ取込部
１２１  制御プログラム部
１３１  フレームメモリ
１６１  メモリコントローラ
１６２  ＯＳ用割込発生器
１６３  制御回路
１６１１  画像メモリコントローラ
１６１２  パラメータメモリコントローラ
【先行技術文献】
【特許文献】
【００５４】
【特許文献１】特開２０１４−１６６７２４号公報
【図１】
2020059248.tif 000003
【図２】
2020059248.tif 000004
【図３】
2020059248.tif 000005
【図４】
2020059248.tif 000006
【図５】
2020059248.tif 000007
【図６】
2020059248.tif 000008