(57)【特許請求の範囲】
【請求項１】
レーザー（２９）と、該レーザーにより発射された光を導くと共にある表面から反射して戻る光を受信する、スピナー（３３）を有する光学組立体（３２）と、該光学組立体を回転させる、該スピナーに装着されたモーターと、を含むバーコードスキャナ（１０）であって、
該スピナーが予定の角位置にあるときに該レーザーから光を受信して反射するように配置された同期ラベル（４１０）と、スキャン時におけるモーター（３０）の角位置を決定する角位置検出器にして、ビデオデータを受信するように動作すると共に該同期ラベル（４１０）から光を受信したときのモーターの角位置を決定するように作動し、特定時刻におけるモーター（３０）の角位置を決定し、また該バーコードスキャナ（１０）動作中の該スピナーの角位置を決定することにより、さらに該同期ラベルから光を受信したときのモーター（３０）の角位置から該特定時刻におけるモーター（３０）の角度オフセットを決定すると共に該同期ラベル（４１０）から光を受信したときはスピナー（３３）の既知角位置に該角度オフセットを加算することにより、バーコードスキャナ（１０）の動作期間中の該スピナー（３３）の角位置を決定するように動作する角位置検出器と、
スキャンすべき物品上のバーコードラベルをスキャンすべくスキャナが動作している期間中は同期ラベル（４１）の感知を防止するためのフィルタ回路網（３２０）にして、始動の際とスキャナ（１０）の初期化の際のみに該同期ラベル（４１０）の感知を許すフィルタ回路網と、
を含むことを特徴とするバーコードスキャナの位置情報の決定装置。
【請求項２】
該モーター（３０）に連動するパルス発生デバイスにして該モーター（３０）の回転角を示す等間隔で所定数のパルスを、該モーター（３０）の一回転ごとに発生するパルス発生デバイスを含むことを特徴とする請求項１に記載のバーコードスキャナの位置情報の決定装置。
【請求項３】
該角位置検出器が、該パルス発生デバイスにより発生されたパルスを検出するためのパルス検出器を含むことを特徴とする請求項２に記載のバーコードスキャナの位置情報の決定装置。
【請求項４】
該パルス発生器により発生したパルスを計数するパルスカウンタと、該パルスカウンタが維持しているパルス計数を該モーター（３０）の回転角に変換する変換器と、を含むことを特徴とする請求項３に記載のバーコードスキャナの位置情報の決定装置。
【請求項５】
該角位置検出器がさらにバーコードスキャナの時間を維持するためのタイマ（１３０）を含むことを特徴とする請求項４に記載のバーコードスキャナの位置情報の決定装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般にレーザーバーコードスキャナの改良に関する。特に本発明はバーコードスキャナ内の回転光学組立体の角位置を同期する方法及び装置、並びにバーコードラベル及びロケーション情報を定める方法及び装置に関する。
【０００２】
【従来の技術】
バーコードスキャナは通常、モーターとパターンミラーを使用して光ビームでラベル表面をスキャン（走査）し、反射光を測定する。光ビームはレーザー（通常はレーザーダイオード）及び関連の光学装置により発生される。反射された光は入射光の光路を戻り、光検出器上に収束される。光ダイオードは反射光のエネルギーを電気信号に変換する。この電気信号は通常、アナログ電子装置デジタル信号に変換されてからさらにデジタル電子装置で処理され、プロセッサ及び関連のファームウェアにより処理される。
【０００３】
プロセッサは、レーザービームもしくは光ビームの領域内を通過したものが何であろうともそれに関するラベルデータの流れを受信する。データには完全なデータもあれば一部的データもある。プロセッサは、通常ファームウェア内に格納されているプログラムの制御の下に部分的データすなわちバーコード片（「パーシャルズ」という）を統合し、同一物品の重複した読取りを無視し、他のタスクを行うように意図されている。受信した情報がいろいろの理由で不明瞭であることがあり、あるいは解釈困難であることがある。例えば、スキャン領域内に数宇種類の物品があることがあり、また一度に数個の同一物品が存在することもある。通常、ファームウェアはいくつかの同一物品の読取りを良好に行うため、読取りの間に比較的長い遅延を設けることにより重複読取り問題を回避している。これはスキャンオペレーションのスループットを減少させ、それゆえ現在は不可欠であるとはいえ望ましくない解決法である。
【０００４】
もっと良い解決策はプロセッサにラベルのロケーションあるいはパーシャルズのロケーションに関する知識を与えることであろう。これによってプロセッサが例えば二つの復元したラベルが同一物品上にあるか異なる物品上にあるかを決定することが可能となる。またかかる知識によってより優れたパーシャルズの再構築が可能になろう。というのは、プロセッサは復元されたパーシャルズが互いに隣接するものであるか否かが判るからである。したがって本発明は、ラベルがスキャンされる際のバーコードラベルのロケーション情報を決定する方法及び装置を与えることを課題とする。以下に論じるように、そのような情報を収集する上で多数の問題がその解決を妨げている。
【０００５】
ある光学機械的設計にかかる特定のスキャナが発生するスキャンパターン特性は、レーザー源及びスピナーモーターの位置及び方向、スキャニングスピナー及び使用する種々のパターンミラーの位置と方向によって定まる。これらのエレメントに関する知識が与えられれば、スキャンしたレーザービームの位置と方向はスピナーの回転角の関数として計算することができるので、例えばレーザービームとスキャン窓（もしくはスキャン領域の入口）との交差点のｘ，ｙ，ｚ座標、及びレーザービームベクトルの方向余弦で表すことができる。したがって、スピナーの回転角が判ると、直接的計算をするかあるいは好適な参照表（Lookup table）を使用するかのいずれかの方法によりスキャナファームウェアが当該レーザーの発生原点及びスキャン領域内の方向を決定することができる。一例を挙げると、ＮＣＲ７８７５はトップ-ダウンスキャン領域に対して４０本の異なるスキャンラインを備えたバイオプティカル（bi-optical）光学スキャナであるが、これに用いる参照表が本明細書の末尾の表１に示してある。二行からなる各組の数値はそれぞれ、４０本の異なるスキャンライン各々の始点及び終点に対する発生原点と方向を示す値を、スピナー回転角の関数として与える。中間値は線形挿間により計算することができる。
【０００６】
スピナ回転角は時間に関連づけなければならない。通常、スピナーモーターは比較的一定の速さで作動する。さらに、モーター位置は、モーター位置基準データを得るべくホール効果の出力や他のモーター軸位置センサその他の追跡機構をモニター（監視）することにより、追跡することができる。この追跡を行うことによってスキャナがスピナーモーターの回転子の極の回転位置を追跡することができる。残念ながら、これらの極を機械的にスピナー自体の位置に関連づけることは困難である。スピナーはモーターの極に対して既知の位置に固定することができるが、小さな半径が関与するので、小さな位置決めエラーが大きな角度エラーを招来しうる。
【０００７】
【発明が解決しようとする課題】
それゆえ、本技術分野で求められているのは、バーコードスキャナに使用するスピナーの初期位置をモーターの極位置に同期させると共にスピナーの初期値に関する知識をモーター極の回転角の知識に連合させ、ある特定時刻におけるスピナの回転角を決定することができるバーコードスキャナである。本発明はこの要請に応えるものである。
【０００８】
【課題を解決するための手段】
本発明は第一の局面で、
レーザーと、
該レーザーにより発射された光を導くと共にある表面から反射して戻る光を受信する、スピナーを有する光学組立体と、
該光学組立体を回転させる、該スピナーに装着されたモーターと、
を含むバーコードスキャナであって、
該スピナーが予定の角位置にあるときに該レーザーから光を受信して反射するように配置された同期ラベルと、
スキャン時におけるモーターの角位置を決定する角位置検出器にして、
ビデオデータを受信するように動作すると共に該同期ラベルから光を受信したときのモーターの角位置を決定するように作動し、
特定時刻におけるモーターの角位置を決定することにより、また該バーコードスキャナ動作中の該スピナーの角位置を決定することにより、さらに該同期ラベルから光を受信したときのモーターの角位置から該特定時刻におけるモーターの角度オフセットを決定することにより、さらにまた該同期ラベルから光を受信したときはスピナーの既知角位置に該角度オフセットを加算することにより、バーコードスキャナの動作期間中の該スピナーの角位置を決定するように動作する、角位置検出器と
を含むことを特徴とするバーコードスキャナを与える。
【０００９】
本スキャナはレーザースキャン期間中、バーコードから反射される光を発生するためのレーザーを含む。この光はモーターで駆動される回転部分（すなわちスピナー）を含む光学組立体を介して発信される。光が入射する方向及び位置はスピナーの角位置に依存する。モーターに連動して、モーターの位置を表すパルスを生成するためのホール効果デバイスその他のデバイスがある。モーターがある基準位置にあることを示すパルスを使用して経過時間の時間計数に同期させることができ、その時間スタンプがプロセッサに与えられ、プロセッサがこれを解釈し、注目している事象（通常はバーコードのスキャン。以下、注目事象という）の発生時におけるモーターの角位置が決定される。
【００１０】
本バーコードスキャナはさらに、位置基準決定機構を含む。この機構は、スキャナに精確に装着された同期ラベルを含む。スピナーが回転するに伴い、この同期ラベルには一回転ごとにある特定の既知スキャンラインが当たる。スキャナが始動すると、マイクロプロセッサが同期ラベルを探し、同時にモーターパルスを読み取る。モーターパルスを同期させた後の経過時間を同期ラベルの検出に同期させることにより、バーコードスキャナは同期ラベルを基にしたスピナーの偏向角を追跡することができ、それによってスキャナ作動中のスピナーの精確な角位置を与えることができる。
【００１２】
【発明の実施の形態】
添付の図面を参照して以下に本発明を説明する。
【００１３】
図１は本発明の原理に基づくバーコードスキャナ１０を示す図である。バーコードスキャナ１０はアプリケーションに特化した集積回路（Application Specific Integrated Circuit, 以下「ＡＳＩＣ」という）１２を含む。ＡＳＩＣ１２はマスター制御回路１５、第一ビデオ回路１７、及び図２及び図３に関連して以下にさらに詳細に述べる第二ビデオ回路１９を含む。ここに例示するバーコードスキャナ１０はまた、質量の変化する物体（可変重量物）２１のような物体を載せて重量を計量できる計量組立体１６を含む。計量器組立体１６は重量情報をＡＳＩＣ１２に与える。
【００１４】
バーコードスキャナ１０はまた、計量表示兼通信回路１８、第一周辺通信回路２０、第二周辺通信回路２２、計量器-ホスト端末間通信回路２４、及びスキャナ／計量器-ホスト端末回路２６を含むことが望ましい。これらの回路１８-２６は各々、当該回路１８-２６から出る信号を初めラインコンディショナ２８を通してからＡＳＩＣ１２へ与える。ＡＳＩＣ１２はまたレーザー２９にレーザー制御信号を与えると共にモーター３０に命令を与える。モーター３０はモーター軸３０ａを含み、この軸には光学組立体３２が装着される。光学組立体３２はスピナー３３上で回転しうる連動ミラーその他の光学コンポーネント（詳細に図示してなし）を適宜含むことができる。ＡＳＩＣ１２空の信号に応答してモーターが回転するに伴い、スピナー３３がモーター３０により回転される。レーザー２９から光が発射されると、その光は光学組立体３２により光学バスケットに反射され、バーコードラベル３４がスキャナの視界内にあるときは光が必ずバーコードラベル３４に当たるように光学バスケットが光を指向する。本発明はＮＣＲ７８７５型バイオプティックスキャナに使用することができる。
【００１５】
光はバーコードラベル３４に当たると光学組立体３２に反射し戻され、光学組立体３２により集光され、アナログビデオ前処理回路５２に送られる。アナログビデオ前処理回路５２はＡＳＩＣ１２に信号ＶＩＤＥＯ０及びＶＩＤＥＯ１を与える。
【００１６】
また、バーコードスキャナ１０はマイクロプロセッサ４２を含む。中断信号、処理信号、ユニバーサル非同期受信／送信（Universal Asynchronous Receive/Transmitter, 以下「ＵＡＲＴ」という）信号その他の入出力（Ｉ／Ｏ）信号がＡＳＩＣ１２及びマイクロプロセッサ４２間で交信される。バーコードスキャナ１０はさらに入力／出力パッケージ４０を含む。このパッケージは正面スイッチ、光検出器及び発光ダイオード（ＬＥＤ）を含む。マイクロプロセッサ４２は、入力／出力パッケージ４０からスイッチ位置信号を受信することにより、正面パネルスイッチで設定できる。このマイクロプロセッサ４２は入力／出力パッケージ４０に発光ダイオード状態信号を送信することにより入力／出力パッケージ４０上の発光ダイオードの状態を設定する。
【００１７】
また、バーコードスキャナ１０は例えば音声出力回路４８、スピーカー５０、自動体積調節回路３６、及びマイクロホン３８などを含んだ音声発生機能を含むことが望ましい。また、バーコードスキャナ１０はＲＡＭ及びＲＯＭメモリ４４、４６を含む。
【００１８】
データバスが、ＡＳＩＣ１２、マイクロプロセッサ４２，ＲＡＭメモリ４４、ＲＯＭメモリ４６、及び音声出力回路４８を繋ぐ。ＡＳＩＣ１２、マイクロプロセッサ４２、ＲＡＭメモリ４４、及びＲＯＭメモリ４６の間にはアドレスバス兼制御バスもつながれる。
【００１９】
オペレーターと会話しオペレーターにフィードバックを与えるため、バーコード１０は音を発生すると共に音声を発生する。音声出力回路４８はＡＳＩＣ１２及びマイクロプロセッサ４２から何の音声をいつ発生するかの指令を受け、音声を発生するためＲＡＭ４４及びＲＯＭ４６のデータにアクセスする。音声はスピーカー５０へ送られる。
【００２０】
モーター３０はスピナ３３を駆動する。このモーターはホール効果デバイスを含むことが望ましい。このデバイスはモーターが一回転するごとに所定数のパルスを発生する。これらのパルスはモーターパルス信号の形でＡＳＩＣ１２及びマイクロプロセッサ４２に送信される。モーター３０は一旦正常な動作速度に達すると比較的一定の速さで回転するので、ＡＳＩＣ１２及びマイクロプロセッサ４２はモーターパルス信号を使って経過時間の正確な計数を開始することができる。
【００２１】
モーターパルス信号はプロセッサ４２に内蔵されたタイマーを同期するのにも使用される。このモーターパルス信号は、ある特定時点におけるモーター３０の角度を表す。バーコードスキャナ１０のオペレーションを開始する前の適当な時刻に、モーターの一回転あたりのパルス数とスキャンのための回転の開始の基準として使用するパルス縁の極性とに関する情報を用いてプロセッサ４２をプログラムする。ＡＳＩＣ１２は以下にさらに詳細に説明するようにこの情報を使用してモーター３０の回転角を決定する。
【００２２】
図２はＡＳＩＣ１２に含まれるマスター制御回路１５をさらに詳細に示す。マスター制御回路１５は復号兼選択制御回路１０２、先頭縁検出回路１０４、及び後部縁検出回路１０６を含む。マスター制御回路１５はまた、プレスケールレジスタ１０８、モーターコンフィギュレーションレジスタ１１０、マルチプレクサ１１２、モーター速度レジスタ１１４、レーザーオフレジスタ１１６、及びレーザー制御回路１１８を含む。これらの回路は復号兼選択制御回路１０２及びデータバス４３に接続される。
【００２３】
ＡＳＩＣ１２の通常のオペレーションではマスタ制御回路１５が、アドレス、制御信号及び入力されたデータをマイクロプロセッサ４２から受信する。復号兼選択制御回路１０２はマイクロプロセッサ４２から受信したアドレス信号及び制御信号に呼応して、プレスケールレジスタ１０８、モーターコンフィギュレーションレジスタ１１０、モーター速度レジスタ１１４、レーザーオフレジスタ１１６及びレーザー制御回路１１８の一つを選択する。マイクロプロセッサ４２により、データはデータバス４３上に同時的に載せられ、そのデータは上記選択されたデバイスに負荷される。
【００２４】
モーター制御回路１５はまた、１４ビット時間スタンプ値（time stamp value）を発生する時間スタンプクロック（time stamp clock）１３０を含む。この時間スタンプクロック１３０はクロックプレスケーラ（clock prescaler）１２０により制御される。このクロックプレスケーラは一定のクロック入力を受信する。クロックプレスケーラが出力を発生する速度は、プレスケーラレジスタ１０８内に格納されている値（プレスケール値）によって制御される。プレスケール値は、モーター３０が予定の最小速度で回転するときの完全な一回転分の時間よりも時間スタンプ値のビット０-９の最大値の方が僅かに大きくなるように、設定される。これについては以下にさらに詳細に説明する。クロックプレスケーラは時間スタンプカウンタ１３０にクロック入力を与え、その結果、クロックプレスケーラが増数するごとに時間スタンプカウンタ１３０のクロックが作動される。時間スタンプカウンタ１３０は信号ＴＳを発生する。この信号はモーター速度比較器１２６のＡ入力に与えられる。モーター速度比較器１２６はＡ＞Ｂ比較器であり、そのＢ入力としてモーター速度レジスタ１１４から、モーター３０の第一予定最小可能速度を示すデータを受信する。モーターが上記最小許容速度未満の速度で回転すると、ＴＳ値がモーター速度レジスタに格納されている値を超える。それゆえ比較器１２６のＡ入力がＢ入力を超える。このとき比較器１２６はマイクロプロセッサ４２に対し中断信号を発生する。マイクロプロセッサ４２はこの信号に呼応できる。
【００２５】
信号ＴＳはまたＡ＜Ｂ比較器であるレーザー比較器１２８のＡ入力としても与えられる。この比較器はそのＢ入力としてレーザーオフレジスタ１１６から、モーター３０に対する第二予定最小許容速度を表すデータを受信する。この予定最小速度はレーザー２９が動作しうる速度である。レーザー比較器１２８の出力はアンドゲート１３４に与えられる。このアンドゲート１３４はレーザー制御回路１１８の出力を入力される。アンドゲート１３４はレーザー２９をオンまたはオフに制御するレーザーオン信号を与える。したがってレーザー２９はレーザー制御回路１１８がレーザー２９をオン状態にする命令を出しているときのみ、かつモーター３０の速度が第二予定最小速度を超えていることをＴＳ値が示しているときのみ、動作することができる。モーター３０の速度が低すぎるときは、レーザー比較器１２８のＡ入力がＢ入力を超え、レーザー比較器１２８の出力が「低」となり、アンドゲート１３４が「低」となり、レーザーオン信号が同様に「低」となり、レーザー２９がオフ状態にされる。
【００２６】
モーターコンフィギュレーションレジスタ１１０は一回転あたりのパルス数と同期をオンにする信号縁（同期オン縁）の極性を表すデータとを格納する。同期オン縁情報はマルチプレクサ１１２に与えられる。このマルチプレクサは検出器１０４または１０６から出される正しい縁検出信号を時間スタンプカウンタ１３０に多重する（加える）。パルス比較器１２２は一回転あたりのパルス数を受信して、クロックモーターパルスカウンタ１２４及び時間スタンプカウンタ１３０にリセット入力を与え、さらにモーター回転カウンタ１３２にクロック入力を与える。
【００２７】
モーター３０が回転するに伴い、モーターパルス信号がＡＳＩＣ１２に送られる。ＡＳＩＣ１２はそれを先頭縁検出器１０４及び後部縁検出器１０６により受信する。先頭縁検出器１０４及び後部縁検出器１０６の出力はマルチプレクサ１１２に印加される。次いでマルチプレクサ１１２はその出力をクロックモーターパルスカウンタ１２４に与える。クロックモーターパルスカウンタ１２４はマルチプレクサ１１２から入力された信号を計数し、その計数値をパルス比較器１２２に与える。また、上述したようにパルス比較器１２２はモーターコンフィギュレーションレジスタ１１０から完全な一回転あたりのパルス数を表す入力信号を受ける。モーターパルスカウンタ１２４により発生された計数値がモーターコンフィギュレーションレジスタ１１０内に格納されている値に等しいとき、パルス比較器１２２はパルスを発生する。このパルスは時間スタンプカウンタ１３０及びモーターパルスカウンタ１２４をリセットし、モーター回転カウンタ１３２のクロックを増数する。モーター回転カウンタ１３２は計数値ＭＲを与える。この計数値は時間スタンプカウンタから来る信号ＴＳと結合して時間スタンプ計数を生じる。この時間スタンプ計数の使用法は、後で図３に関連して述べる。
【００２８】
図３は第一ビデオ回路１７のさらに詳細な図である。第一ビデオ回路１７は第二ビデオ回路１９と同一で、これと平行して動作する。説明の重複を避けるため、第二ビデオ回路１９については説明しない。
【００２９】
第一ビデオ回路１７は、間隔カウンタ３０２、縁検出器３０４、オープンフィルタリミットレジスタ回路（open filter limit register circuit）３０６及びプレバッファ３０８を含む。プレバッファ３０８はさらにフラッグプレバッファ（flag prebuffer）３０８ａ及び間隔プレバッファシフトレジスタ（intervals prebuffer shift register）３０８ｂを含む。さらに、第一ビデオ回路１７は時間スタンププレバッファシフトレジスタ（time stamp prebuffer shift register）３１０、比較器３１２、間隔和（interval sum）回路３１４、ＦＩＦＯ制御回路３１６、マルチプレクサ３１８、ＵＰＣフィルタ３２０、及び間隔ＦＩＦＯ回路３２２を含む。
【００３０】
第一ビデオ回路１７はビデオ入力信号を受信する。この信号は縁検出器３０４へ送られる。縁検出器３０４はフラッグプレバッファシフトレジスタ３０８ａと時間スタンププレバッファシフトレジスタ３１０とに与えられるシフトクロック出力を発生する。このシフトクロック出力はリセット入力として間隔カウンタ３０２にも与えられる。信号縁検出器３０４は、間隔カウンタ３０２をビデオ遷移信号受信時に開始させる。この遷移信号は当該間隔の大きさとビデオ極性とを表す１２ビットの信号ＩＮＴである。信号ＩＮＴはビデオ信号の次の遷移時に間隔プレバッファシフトレジスタにシフト入力される。この信号は間隔カウンタ３０２もリセットし、次の間隔のタイミングを開始させる。これらの間隔は、スキャンしたバーコードを構成するバー及び空隙の時間間隔すなわち実効幅を表す。
【００３１】
同時に、１０ビット時間スタンプを表す時間スタンプ信号及びモーター回転カウンタ１３２の４桁下位有効ビットが時間スタンププレバッファシフトレジスタ３１０中にシフト入力される。このようにして各ビデオ間隔の継続時間、極性、及びモーター位置に対する時間関係が各ビデオ遷移ごとに捕捉される。
【００３２】
上記のビデオ間隔はまた間隔和回路３１４及びフィルタ回路３２０にも送られる。これらの回路は当該ビデオデータの流れが有効なバーコードデータであることを表す所定のタイミング関係に合致するか否かを決定する。例えば、ビデオデータの開始及び終了時の間の時間間隔が長すぎるときは、データはバーコードの有効なスキャンにより発生したものではないので拒絶される。同様にして、バーコードの開始文字とストップ文字（start and stop character）との間の時間が短すぎるときは、そのスキャンも同様に拒絶される。正当なバーコードデータの開始及び終了は、フラッグプレバッファシフトレジスタ３０８ａ内にフラッグビットを設定することによりマークする。次いでこれらのフラッグビットは、プレバッファシフトレジスタ３０８ｂに格納されている、対応する間隔データワードに追加される。これらのフラッグはＦＩＦＯ制御回路３１６が間隔ＦＩＦＯ３２２中にいずれの間隔を書込むべきかを決定するのに使用する。ＦＩＦＯ３２２はマイクロプロセッサ４２に与える間隔データを緩衝する。ブロック間隔の開始が間隔ＦＩＦＯ３２２中に書き込まれるとき、それに対応する時間スタンプ値もまた、間隔データワードに先立って間隔ＦＩＦＯ３２２中に書き込まれる。これは時間スタンププレバッファシフトレジスタ３１０から送られる時間スタンプ信号及びプレバッファ３０８の出力をマルチプレクサ３１８に送ることにより行われる。マルチプレクサ３１８はＦＩＦＯ制御回路３１６の制御の下に動作し、 時間スタンプもしくは間隔データのいずれを選択的に比較器３１２中に書き込むか制御する。 時間スタンプ値は比較器回路３１２にも送られ、そこでこの信号はオープンフィルタリミットレジスタ回路３０６の諸レジスタの内容と比較される。
【００３３】
オープンフィルタリミットレジスタ回路３０６は、時間スタンププレバッファから受信した時間スタンプ値と比較すべくマイクロプロセッサ４２が時間値を負荷できるオープンフィルタリミットレジスタを四組含む。マイクロプロセッサ４２は間隔ＦＩＦＯ３２２から読み込んだ間隔データを解析し、バーコードデータを適切に復号するにはデジタルフィルタセット３２０により許容されるよりも多くの間隔が必要であるか否かを決定することができる。次いで、マイクロプロセッサ４２は隣接するレーザースキャンビームの時間値を計算し、これらの限界値をオープンフィルタリミットレジスタ回路３０６の一つ以上のオープンフィルタリミットレジスタに負荷する。オープンフィルタリミットレジスタ３０６内のこれらレジスタの内容は比較器回路３１２に与えられ、時間スタンプ信号と比較される。この時間スタンプ信号がオープンフィルタリミットレジスタ回路３０６から受信した時間限界値内にあるときは、比較器３１２はオープンフィルタ信号をＦＩＦＯ制御回路３１６に送り、このオープンフィルタ信号が与えられている間中、 ＦＩＦＯ制御回路３１６に、ＦＩＦＯ制御回路３１６の内部ＦＩＦＯ３２２にそれ以降のすべての間隔を書き込ませる。この信号はフラッグプレバッファ３０８ａから送られる開始もしくは終了フラッグ信号を無効にする。
【００３４】
図１に示すようにＡＳＩＣ１２は第二のビデオブロック１９を含む。この回路は第一ビデオブロック１７と平行して動作する。有利な点として、ビデオ回路１７及び１９に与えられる信号ＶＩＤＥＯ０及びＶＩＤＥＯ１はアナログビデオプレプロセッサ５２内で異なるフィルタ及び閾値を使ってフィルター処理し、閾値処理しておくことができる。受信されるこれらビデオ信号は、したがって異なる構成をもつアナログ回路網を使って捕捉することができる。第一ビデオブロック１７及び第二ビデオブロック１９で使用されるフィルタリング及び採用される処理を適切に選択することにより、バーコード３４から反射されるレーザー信号を広範に利用することができる。
【００３５】
スピナー３３の初期位置を確立するため、本発明のバーコードスキャナ１０はスピナー３３の初期回転角を確立する。この初期回転角はＲＡＭ４４内に格納される。マイクロプロセッサ４１がモーター３０の回転角を表すデータを受信すると、このデータを追跡して初期位置からのスピナーのオフセット角が決定される。このオフセット角からスピナーの回転角が計算される。次にスピナー３３の回転角を使用して直接計算により、あるいは好適には本明細書の末尾の表１に示すような参照表を使用して、スピナー３３からくる光の発生原点及び方向を計算することができる。
【００３６】
図４はバーコードスキャナ１０の断面図である。バーコードスキャナ１０はNCR７８７５型スキャナのようなトップ-ダウン読取りが可能なバイオプティック型（bi-optic）スキャナであることが望ましい。バーコードスキャナ１０は実質上鉛直な開口４０４及び実質上水平な開口４０６を備えたハウジング４０２を含む。スキャナ１０は鉛直な開口４０４から一列のスキャンラインを発射する。そのうちの一本のライン４０８に焦点をあてて議論する。説明の簡単のため、残りのラインは図示しない。スキャンライン４０８が水平な開口４０６に入射し、バーコードスキャナ１０の床４１２上に配置された同期ラベル４１０に当たる。ラベル４１０は密閉されたスキャナ１０の内部にあって環境から保護されており、磨耗しない。さらに、物品が鉛直及び水平開口４０４、４０６のスキャン領域内にあってレーザー２９及び同期ラベル４１０間の視線を通過すると、物品がこの視線を遮断する。このように、同期ラベル４１０は正常のスキャン操作には干渉しない。
【００３７】
同期ラベル４１０は開始文字、ｍｏｄ１０３、及びストップ文字を含む１２８コードフラグメントからなることが望ましい。上述したように、通常のオペレーションでは同期ラベル４１０のスキャンのような短いスキャンはフィルター３２０が拒絶し、それゆえ必要な処理を低減する。しかし同期ラベル４１０から来るデータの受信・処理を許容するため、フィルタ３２０を開くようにマイクロプロセッサ４２をプログラムすることができる。このプログラムはスキャナ１０の始動時及び同期が必要となった時点、もしくは望ましくなった他の時点で始動させる。
【００３８】
モーター３０の始動時、フィルタ３２０が開かれ、マイクロプロセッサ４２は同期ラベル４１０及びモーターパルスを探す。この情報とモーター速度とから、マイクロプロセッサ４２は上記パルスと同期ラベル４１０との間のオフセット（ずれ）を計算する。次にフィルター３２０が閉じられる。同期ラベルはオフセットがスピナのゼロ回転角を基にした既知オフセット値（ＮＣＲ7875バイオプティックスキャナの場合はラベルの中央線に対して約13.2度）になったときに起きるので、スピナー３３のゼロ回転角は特定のユニットのモーターパルス基準位置に相関させることができる。モーター３０が再始動されるときはいつでも、種々のオフセットがマイクロプロセッサ４２により計算される。したがってモーター-スピナーユニットのスキャンフィールドが変わっても同期は失われない。
【００３９】
通常のオペレーションではマイクロプロセッサ４２はバーコードデータの発生を追跡し、その発生時刻をスピナー３３のゼロ回転角に相関させる。この情報と参照表とからラベルを交差した時点のレーザービームの発生原点及び方向が計算できる。
【００４０】
図５はバーコードスキャナの光学組立体の初期値を同期する方法５００を示す流れ図である。この光学組立体はレーザーからスキャンフィールド上に光を指向するとともにスキャンフィールドから反射されて戻った光を指向する回転部すなわちスピナーを含む。ステップ５０２で、バーコードスキャナが始動され、初期化が始まる。ステップ５０４で、通常のスキャナオペレーションでは拒絶される初期化データの受信を許すため、フィルタが開かれる。ステップ５０６で、スピナモーター及びレーザーに電力が印加される。モーターは、規則的間隔でパルスを発生する関連のパルス発生デバイスを有する。これらのパルスはモーターが実質上一定の速度で回転しているときは等間隔のモーター回転位置で発生する。ステップ５０８で、これらのパルスがモニターされ、計数される。ステップ５１０で、レーザーから光が発射され、スピナによって指向される。ステップ５１２で光は同期ラベル上を通過し、スピナーに反射し戻され、スピナーにより再指向される。スキャナは反射光を同期ラベルから来たものと同定する。ステップ５１４で、モーターの回転位置が初期化される。同期ラベルにはスピナーが既知方向にあるときのスキャン光が当たるので、スピナの初期角位置が精確に判る。ステップ５１６で、モーターから送られたパルスがモニターされ、計数され、モーターの角位置が継続的に更新される。更新されたモーターの角位置はスピナの初期位置に対して決定され、スピナの位置に関する精確な情報を与える。このステップで時間も継続的に更新される。
【００４１】
ステップ５１８で、スキャンその他の注目事象が起き、ステップ５２０で時間及びモーター角位置が捕捉される。ステップ５２２で、モーター角位置が、スピナが初期角位置にあるときのモーター角位置と比較される。この場合、注目事象発生時の精確なスピナ角位置を与えるための基準としてスピナの初期角位置を使用している。ステップ５１８-５２２は、スキャナが突然に作動停止した等の異常がステップ５２４で検出されるまで、反復される。この代わりとして、予定の間隔で再同期化を行うことができる。
【００４２】
下記の表1のような参照表を適宜採用することができる。
【００４３】
【表１】
0004350825.tif 000002
【効果】
以上に説明したように、本発明はバーコードスキャナのスピナの初期位置をモーターの回転位置に同期させるとともに、そのスピナの初期回転位置とモーターの回転角とを関係づけることにより、任意時刻におけるスピナの回転角を決定できる。そのため、スピナ・モーターの回転位置を追跡でき、スキャンレーザービームの発生原点及び方向を特定することができる。したがってスキャンするバーコードの時間的及び空間的位置を特定でき、複数のバーコードが同時にスキャンフィールド内にあるときでもそれらを判別することができ、ひいてはバーコード読取りの精度を著しく高めることができる。
【図面の簡単な説明】
【図１】本発明に基づくミラー角の同期を利用するするバーコードスキャナを示す図である。
【図２】本発明に基づきバーコードスキャナを制御し、タイミングデータ及びミラー角データを取得し、初期ミラー角を同期するための、制御兼データ取得回路を示す図である。
【図３】本発明に基づきバーコードスキャナ内のミラー角を得るとともにミラーの初期値を同期するのに使用する、ビデオ回路を示す図である。
【図４】本発明に基づき初期ミラー位置を得るため同期ラベルとミラー位置を更新するためのモーターパルスとを使用するバーコードスキャナの図である。
【図５】本発明に基づきバーコードスキャナ内の初期ミラー位置を同期させる方法を示す流れ図である。
【符号の説明】
１０        バーコードスキャナ
１２        アプリケーションに特化した集積回路（ＡＳＩＣ）
２８        ラインコンディショナ
３４        バーコードラベル
４０        入力／出力パッケージ
４２        マイクロプロセッサ
４８        音声出力回路
５０        スピーカー
１１２      マルチプレクサ
１３４      アンドゲート
３１６      ＦＩＦＯ制御回路
３１８      マルチプレクサ
３２０      ＵＰＣ・フィルタ
３２２      間隔ＦＩＦＯ回路
４０２      ハウジング
４０４      鉛直な開口
４０６      水平な開口
４０８      スキャンライン
４１０      同期ラベル
４１２      床
【図１】
0004350825.tif 000003
【図２】
0004350825.tif 000004
【図３】
0004350825.tif 000005
【図４】
0004350825.tif 000006
【図５】
0004350825.tif 000007