JPH08212284A - 駆動制御回路 - Google Patents

駆動制御回路

Info

Publication number
JPH08212284A
JPH08212284A JP7283476A JP28347695A JPH08212284A JP H08212284 A JPH08212284 A JP H08212284A JP 7283476 A JP7283476 A JP 7283476A JP 28347695 A JP28347695 A JP 28347695A JP H08212284 A JPH08212284 A JP H08212284A
Authority
JP
Japan
Prior art keywords
signal
scan
scanning
drive signal
generating
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.)
Pending
Application number
JP7283476A
Other languages
English (en)
Inventor
Debuookisu Pooru
デヴォーキス ポール
Baakan Edowaado
バーカン エドワード
Chiyaritsuku Harorudo
チャリック ハロルド
Jiiberu Jieemusu
ジーベル ジェームス
Osutaaueru Sutefuan
オスターウェル ステファン
Kuumaa Sandeiipu
クーマー サンディープ
Barire Jiyon
バリレ ジョン
Aaru Poroniiuitsukuzu Pooru
アール ポロニィウィックズ ポール
Dei Biiuzo Ansonii
ディ ビィウゾ アンソニー
Emu Chiyuu Suchiibun
エム チュー スチーブン
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.)
Olympus Corp
Original Assignee
Olympus Optical Co Ltd
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
Priority claimed from US08/332,581 external-priority patent/US5561283A/en
Application filed by Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP7283476A priority Critical patent/JPH08212284A/ja
Publication of JPH08212284A publication Critical patent/JPH08212284A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 パルス幅変調調整器はまた、コイルを駆動す
るための早く、かつ効果的な作動を提供する。 【解決手段】 目標物がバーコード記号であるかを決定
し、もしそうなら、その記号が1次元か2次元かを決定
する。2次元記号に対して、スキャナはその記号に走査
パターンを合わせ、そして、その走査パターンを、その
記号の先頭エッジと底部エッジまでだけで、それを超え
ない範囲で、広げる。またスキャナは、走査要素を駆動
し、走査要素からフィードバック信号をピックアップす
るためのコイルを用いるマイクロプロセッサ制御走査エ
ンジンを持つ。走査エンジンはまた、目標物を横切って
歳差運動するパターンを生成するように設計することが
でき、その走査エンジンへの強力なインタフェースは、
解読処理と、その走査エンジンとは効果的にしかも独立
して働く制御ロジックを可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にバーコー
ド記号もしくは同様の記号を読み取るための走査システ
ムの設計に関するもので、特に自動的に1次元および2
次元の両方のバーコード記号の走査に関するものであ
る。
【0002】
【従来の技術】多くの従来の光学走査システムは1次元
か、2次元バーコード記号の何れか一つを読むことがで
きる。バーコード記号は、可変幅のスペースによって分
離されている一連の可変幅のバーを有する記号のコード
化されたパターンである。1次元バーコードの一例は、
商品と他の情報を識別するため一般的に使用されるUPC/
EANコードがある。2次元若しくは多重化されたバーコ
ードの一例は、参照として米国特許第5,159,639
号明細書に記述されているPDF417バーコードであ
る。
【0003】種々の走査システムあるいは、スキャナ
は、走査システムが反射光を受光できるようにバーコー
ド記号から反射させる光ビームを生成する。本システム
は、その反射光を電気信号に変換し、バーコード記号に
埋めこまれた情報を取り出すべくその電気信号を解読す
る。一般的なタイプの走査システムが米国特許第4,2
51,798号明細書、同第4,360,798号、同第
4,369,361号、同第4,387,297号、同第
4,409,470号、同第4,460,120号、に記載
されている。
【0004】1次元、2次元記号が現在使用されている
が、もし単一走査システムがテキストのような他のマー
キングからバーコード記号を単に識別できるだけでな
く、その記号が1次元か2次元かも解読(デコード)で
きるなら一層シンプルで効果的になる。この操作はバー
コード記号がスキャナの走査パターンに対して斜めに走
査されるような時、特に重要となる。
【0005】そのような走査システムの更なる問題点
は、2次元バーコード記号を解読しようとするときに発
生する。これらの記号は全てが同じ高さを持ってはいな
いので、走査システムがその走査パターンを完全な2次
元記号をカバーするよう広げなければならない。いくつ
かの従来システムはこれを実行し、ときどき記号の外の
エリアにはみ出してしまう。そのような大きなパターン
は走査装置(スキャナ)の精度には影響しないとはい
え、無駄である。バーコード記号の外にはみ出した走査
パターンの一部分は利用されないし、これらの範囲を走
査することで走査作業が遅くなる。加えて、大きすぎる
走査パターンを強要することは、2次元バーコード記号
のデコード精度を減少させる。
【0006】これらの問題を解決するためのシステムを
構築することは、困難であるばかりでなく、追加される
事項によって複雑となる。スキャナは作業上からも経済
的理由からもこれ以上大きくすべきではない。従って、
強力な、しかも柔軟性のある走査デバイスはコンパクト
でなければならない。もう一つの点は、速度である。向
上された効率と柔軟性のために必要な追加の処理によっ
て、速度を犠牲にするものであってはならない。それ故
その処理は、速く、効率的に実行しなければならない。
【0007】もう一つの点は、異なるスキャナサブシス
テム等が一層強力となるようお互い効果的に通信(連
携)することを確実にするニーズである。走査システム
は、典型的には、異なるサブシステムを有し、例えば、
走査エンジン、光学センサ、その解読器(デーコーダ)
などである。これらの異なったサブシステム間のインタ
フェースは、要求される処理パワーをサポートしなけれ
ばならないし、他のシステムを再設計することなしに走
査システムの一部分を改善できる必要がある。
【0008】これらすべての特徴を持つスキャナを得る
ことは、本当に非常に難しい。しかしながら、バーコー
ドの急激な使用増加は、走査システムが増しつつある柔
軟性と、強力さ、効率を要求する。それゆえ、本発明の
目的は、1次元、2次元バーコードの間を識別するスキ
ャナの可能性と、はじめスキャナと連携がなかったとし
ても自動的にしかも適切に解読する可能性を提供するこ
とである。
【0009】本発明のもう一つの目的は、走査パターン
が走査線の位置を変更処理できることを保証することで
ある。本発明のもう一つの目的は、走査パターンの高さ
を自動的に調節し、走査パターンがバーコード記号の外
側に広がることなしに完全に記号をカバーできるように
することである。
【0010】本発明の更にもう一つの目的は、速く、し
かも1次元及び2次元バーコードの双方の走査パターン
を生成するコンパクトな走査エンジンを提供することに
ある。本発明のもう一つの目的は、それ自体異なった特
徴を持つ走査要素等に適応可能な走査エンジンを提供す
ることにある。
【0011】本発明の更にもう一つの目的は、強力で柔
軟なインタフェース上でスキャナの他の部分と連携する
強力で柔軟性のある走査エンジンを提供することにあ
る。
【0012】
【課題を解決する手段】これらの目的を達成するため、
本発明は検出した目標がバーコード記号か否か、もしそ
うなら、その記号は1次元か2次元のコードかどうかを
決定をするため光学的反射を試験するためのシステムを
提供する。その記号が2次元コードであるとき、本発明
はその記号にあった2次元走査パターンを整え、そのパ
ターンをその記号の先頭エッジ及び底部エッジまで広げ
る。
【0013】さらに、本発明は、マイクロプロセッサで
制御された走査エンジンを提供する。このエンジンは、
走査要素を駆動したり、この走査要素の動きを示すフィ
ードバック記号をピックアップしたりするためのコイル
を用いている。走査エンジンは、またシステムの品質を
下げないため異なる回路技術を用いており、解読したり
スキャナの論理を制御したりするための強力なインタフ
ェースを持つ。走査エンジンは、他に起こるかもしれな
いいかなるギャップをも避けるためにバーコード記号の
異なる部分で走査線を動かす2次元走査パターンを確実
なものとすることができる。
【0014】特に、本発明による所望の磁界を作るた
め、コイルを駆動する制御回路は、前記コイルに接続さ
れ、アナログ駆動信号によってコイルを通して流れる所
望の電流を生じるパルス幅変調調整器と、前記パルス幅
変調調整器に接続され、ディジタル駆動信号からアナロ
グ駆動信号を生成するディジタル/アナログ変換器と、
前記ディジタル/アナログ変換器に接続され、前記ディ
ジタル駆動信号を生成するためのコントローラとを有す
ることに特徴がある。
【0015】本発明によるコイルの駆動方法は、アナロ
グ駆動信号によってコイルを通して流す所望の電流信号
を生じるステップと、ディジタル駆動信号から前記アナ
ログ駆動信号を生成するステップと、前記ディジタル駆
動信号を生成するステップと、を有することに特徴があ
る。本発明による所望の走査パターンを生成する走査要
素を駆動するための制御回路は、前記走査要素の動きを
制御するための磁界を発生させるコイルと、前記コイル
に接続され、アナログ駆動信号によって前記コイルを通
して流れる所望の電流を生じるためのパルス幅変調調整
器と、前記パルス幅変調回路に接続され、ディジタル駆
動信号から前記アナログ駆動信号を生成するディジタル
/アナログ変換器と、前記ディジタル/アナログ変換器
に接続され、前記ディジタル駆動信号を生成するための
コントローラと、を有することに特徴がある。
【0016】本発明によるコイルによって作られる磁界
を通して走査要素を制御するステップを有する該走査要
素を駆動するための方法は、アナログ駆動信号によって
前記コイルを通して流れる所望の電流信号を生成するス
テップと、ディジタル駆動信号から前記アナログ駆動信
号を作成するステップと、前記ディジタル駆動信号を生
成するステップと、を有することに特徴がある。
【0017】本発明による物体の光学的走査を制御する
ための制御システムは、物体に対して光ビームを相対的
に動かす走査要素と、外部コマンドを受け取り、該外部
コマンドから内部制御信号を生成し、メッセージを形成
するプロセッサと、前記内部走査制御信号に応答して予
め決められたパターンで前記光ビームを動かすようにす
る前記走査要素に電圧を加えるための走査要素駆動手段
と、を有する走査制御部と、該走査制御部に接続され、
前記走査要素に向けて前記光ビームを差し向ける光ビー
ムスキャナと、前記物体から反射した光ビームの1部を
受け、受光した反射光ビームを示す電気信号を生成する
ように設けられた検出器と、前記電気信号を受け、前記
外部コマンドを形成し、前記メッセージを受け取る、た
めの中央制御手段と、を有する検出部と、前記検出器部
と前記走査制御部との間に設けられ、定義フォーマット
のコマンドを前記検出部から前記走査制御部へ転送し、
前記定義フオーマットのメッセージを前記走査制御部か
ら前記検出部へ転送するためのインタフェースチャンネ
ルと、を設けたことに特徴がある。
【0018】本発明による2次元パターンを横切って光
ビームを走査するスキャナは、前記光ビームを生成する
ための光源と、前記2次元パターン内に光ビームを動か
すための走査要素と、前記走査要素が、X軸駆動信号に
応答して第1の周波数で第1の方向に光ビームを動かせ
るようにしたX軸駆動手段と、前記走査要素が、Y軸駆
動信号に応答して第2の周波数で前記第1の方向とは互
いに直角となるような第2の方向に光ビームを動かせる
ようにしたY軸駆動手段と、互いに整数倍の関係に無い
第1と第2の周波数で、X軸駆動信号とY軸信号を生成
することにより、前記2次元パターンをに歳差運動セス
させる走査制御回路と、を設けたことに特徴がある。
【0019】本発明による定義された境界を持つバーコ
ード記号を読むためのバーコードリーダは、予め決めら
れたパターンで目標物に光ビームを指向するための光ビ
ームスキャナと、目標物からの反射された光ビームの一
部を受け、受光した反射光ビームを示す電気信号を生成
する検出器と、前記目標物がバーコード記号であるか否
かを決定するための識別手段と、前記電気信号に応答
し、前記目標物がバーコード記号であるならば、その目
標物の境界まで予め決まったパターンの形状を適合させ
るように前記スキャナを制御するためのフィードバック
手段と、を設けたことに特徴がある。
【0020】
【発明の実施の形態】以下、本発明の一実施の形態を、
図面により詳細に説明する。本発明の好ましい装置に関
する下記の記載は、可能な装置のすべてを記載したもの
ではない。記載中、異なった図面で同様の参照番号は、
指示していないが同様部分を参照するものである。
【0021】A.概要 文脈や特定の指示が他を示さない限り、「記号」、「バ
ーコード」なる語は、この明細書中では広く解されねば
ならない。例えば、これらの語は、相互にバーとスペー
スを有するパターンであって、種々の幅のバーやスペー
スであり、特に記載しない限り、1次元あるいは2次元
のグラフィックパターンや他の多くのパターンをカバー
するものである。
【0022】本発明は自動的に目標物の走査を始め、終
了することが出来る走査システムについて記述する。こ
の自動能力を持つ幾つかの走査システムが目標物の走査
を始めるため手動式トリガーを使用する。そのような記
述が米国特許第4,387,297号明細書にある。そ
のトリガーが多くの出願では重要であるけれども、幾つ
かの出願は他の技術によっている、そして本発明はその
ような技術を包含する。 図1に、本発明の原則に従っ
て構成されえるバーコードスキャナ100の高度に単純
化された具体例を示す。図1は手持ち式スキャナ100
を示すけれども、本発明はスキャナがこの形であること
を要請するものではない。例えば、スキャナはデスクト
ップのワークステーションを含むことが出来るし、ある
いは固定アーキテクチャーの他のタイプを持つことが出
来る。スキャナ100はまたポータブルコンピュータタ
ーミナルのように機能することもでき、またキーボード
148やディスプレイ149を含む。そのような記述が
米国特許第4,409,470号明細書にある。
【0023】図1の手持ち式スキャナ100は米国特許
第4,760,248号明細書あるいは同第4,89
6,026号に一般的に記述されている。また、スキャ
ナ100は、シンボル・テクノロジイズ社から製品型番
LS8100あるいはLS2000として商業的に適用
しているバーコードリーダに似たデザインを持ってい
る。
【0024】使用者は、スキャナ100を物理的に接触
することなくバーコード記号170に向ける。典型的に
は、スキャナ100を、バーコード記号を読みとるため
それから数インチ離れて操作する。スキャナ100を構
成するため、当業技術者は米国特許第4,387,297
号、同第4,409,470号、同第4,760,248
号、同第4,896,026号、同第4,387,298
号、これらは全て本件中に参照することができる。クレ
ームされた本発明の理解の手助けとして、スキャナ10
0の多くの特徴が以下の記述される。
【0025】スキャナ100は、好ましくはピストル型
ハンドル153を持つハウジング155のガン型がよ
い。使用者がスキャナ100を記号170に向けたい
時、使用者は、ハンドル153上の駆動可能なトリガー
154により、光ビーム151と、それに伴う検知回路
をアクティブにする。好ましくは、軽量のプラスチック
でできたハウジング155は、レーザ光源146(これ
はレーザダイオードもしくは他の光源である)、レンズ
157、部分的銀メッキのミラー147、検出器15
8、振動ミラー159、モータ160、電源(バッテ
リ)162、信号処理及び制御回路165からなる。回
路165はプリント回路基板161上のCPU140お
よび解読する制御電気回路142を含む。
【0026】使用者がスキャナ100をトリガー154
を引いて操作すると、光源146が光ビーム151をレ
ンズ157の光軸に沿って発生する。レンズ157は、
すべての具体化において必要とするものではないが、単
レンズか複数レンズシステムである。レンズ157を通
過した後、光ビーム151は部分的銀メッキミラー14
7と、必要であれば他のレンズあるいはビーム成形構造
を通過する。ビーム151はそれから走査モータ160
で駆動される振動ミラー159にあたり、共にビーム1
51を走査パターンへ差し向ける。好ましくは、モータ
160は使用者がトリガー154を引いたとき始動す
る。
【0027】光ビーム151が不可視であれば、光学シ
ステムは光ビーム151とほぼ平行に使用者がスキャナ
154を狙いを付けるための光ビームを含めることもで
きる。狙いをつける光は光ビーム151に固定されてい
るか若しくは追従するかする可視光ビームである。ミラ
ー159は光ビーム151を光透過性の窓156を通過
して差し向け、直線ラスタ走査パターンのようなあらか
じめ決まったパターンのバーコード記号170を横切
る。図2は、よく知られた直線ラスタスキャナのパター
ンを示す図である。2次元走査パターンは水平又はX方
向の1次元、直線走査駆動を垂直若しくはY方向におい
て置き換えることによって作り出す。米国特許4,38
7,297号は図2において走査パターンを生成する技
術について説明している。
【0028】記号170は標準UPC/EANコードの
ような1次元バーコードか、米国特許第5,159,63
9号で記載されているPDF417のような2次元バー
コードであってもよい。上記に追加して、記号170
は、解読される他のいかなる情報を乗せることのできる
記号であれば足りる。光ビーム152は記号170から
反射されたビーム151からの光である。ビーム152
はビーム151に平行か若しくは全く同一の通路に沿っ
てスキャナ100に戻ってくる。ビーム152はミラー
159で反射され部分的銀メッキミラー147に突き当
たる。ミラー147は、反射光ビーム152を電気信号
に変換する光検出器158に向けてビーム152のいく
らかを反射する。
【0029】それから電気信号は単一の信号処理・制御
回路165に入り、バーコードによって示される情報を
引き出すべく処理され、解読される。信号処理・制御回
路165は、又モータ160の動きを制御して走査パタ
ーンを調整しまた他の制御を提供する。 B.適応走査 I.バーコード記号の識別 本発明のスキャナは、2つの事項について言及する。第
1は、走査される目標物がバーコードであることを認識
することである。第2は、バーコードのタイプを特定す
ることである。
【0030】走査目標物がバーコードであることを確信
づける目的は、明らかです。バーコードのタイプを特定
する目的は、検知を改善するため走査パターンを調整す
ることにある。両方の目的を達成するため、本発明によ
るシステムは、目標物からの一部から反射された光ビー
ムをサンプルし、分析する。システムは、第1に、目標
物がバーコード記号であるか否かの決定をする。もしそ
うなら、システムは次にバーコード記号が1次元か2次
元かを決定する。記号が1次元であれば、システムは走
査から受けた信号を解読(デコード)する。バーコード
が2次元の場合は、システムは走査パターンが正しい向
きを定められているかを確認した後、走査パターンを広
げて全コードを覆うようにする。
【0031】図3は、バーコードを発見し、識別し、解
読するための好ましい手続きを示すフローチャート30
0である。最初に、スキャナ100は狭い(例えば、小
さい垂直置換で)走査パターンを生成し(ステップ30
5)、それから第1回の走査をする(ステップ31
0)。本実施の形態においては、使用者はトリガー15
4を押すことにより走査動作を始める。トリガーを押す
動作によりスキャナ100に使用者が容易に目標物に向
かって狙いを付けられるような狭い走査パターンを発生
させる。
【0032】図4(A)〜図4(D)は目標物と、ラス
タ走査パターンの一連の図を示す。図4(A)はスキャ
ナ100が既に狭い走査パターン410を生成している
時の第1回目の操作の非常に単純化した例であるが、使
用者はパターン410を目標のバーコード記号420上
に位置させていない。図4(B)は動作の次のステップ
で、使用者が適正に、狭い走査パターン410を2次元
バーコード420(若しくは1次元バーコード430)
上に位置させたときである。もちろん、図4(B)は目
標物としてバーコードを仮定している。また、目標物
は、システムが最初の走査モード(ステップ310)だ
けですむような他のマークであってもよい。
【0033】いったん走査パターンが適正に目標物上に
位置されると、スキャナ100は走査目標物がバーコー
ド記号であることを確認する(ステップ320)。この
決定をするための幾つかの従来技術がある。これらの技
術はバーコードを識別するために排他的方法ではない
し、それら技術は相互に排他的でもない。一つ若しくは
それ以上の技術が一緒に使用可能である。
【0034】第1の技術は、反射光がバーコード記号か
ら期待される特性を持つかどうかを決定する異なった光
反射の領域の空間的変化を分析することを含む。信号処
理・制御回路165が、典型的には、これらの分析を行
うためにプログラムされる。第2の技術は低光反射部分
の長さと高光反射部分の長さを比較する。もしそれらの
長さの比率がプリセット範囲内であれば、システムはバ
ーコードを見つけたと決める。
【0035】第3の技術は与えられた時間範囲で、異な
る光反射の部分間の移行の数をカウントする。そのカウ
ントは、反射された光を、ある1つの一般的なバーコー
ド記号とか、バーコード記号の種類とか、特定のバーコ
ード記号とかのようなあらかじめ決められたパターンと
して特徴付けられる。第4の技術は1回の走査から生成
される電気信号と1回あるいはそれ以上のサブ走査の電
気信号とを比較する。もし一連の走査が同一若しくはほ
とんど同一の信号を取り出すなら、システムはそれは一
定幅のバーとスペースを持ったバーコードであると結論
付ける。この技術の変化は、幾つかの走査を比較して一
連の走査が異なっているかどうか、同様の組分けを持つ
かどうかを決定する。もしそうなら、目標物はたぶん2
次元バーコードである。
【0036】第5の技術は、走査を解読することであ
る。解読が成功しない場合は、システムは目標物が認識
できるバーコードでないと結論づける。もし目標物がバ
ーコード記号でないならば、システムは第1回の走査モ
ードにとどまる(ステップ310)。その時点で、使用
者はスキャナ100を目標物がスキャナ100の作動範
囲外にある場合があるので、カウントする目標物により
近づけたりあるいは離れさせたりして動かす。使用者は
また新しい目標物を探すこともできる。
【0037】目標物がバーコード記号である場合は(ス
テップ320)、スキャナ100はバーコードが1次元
か2次元かを決定しようとする(ステップ330)。こ
の決定には同様に幾つかの方法がある。その一つの方法
は、一行を解読してみる、そして解読された情報に基づ
いて結論する。他の方法は、例えば解読を試みるといっ
た、感知した領域が1次元もしくは2次元バーコードか
らなのかを決定する知的感知アルゴリズムを使用するも
のである。
【0038】さらに、フローチャート300は、目標物
がバーコードであるかどうかの決定と、バーコードのタ
イプの決定とが分けて示されているが、その動作を分け
る必要はない。例えば、両方の決定を同じ動作中にやっ
てもよい。バーコードのタイプを決定した後、スキャナ
は、バーコードを解読するため異なったルートを進む。
もし記号が1次元バーコードであれば、走査は実質的に
完了する。スキャナ100は、その走査パターンの高さ
や巾を変えることなくそのコードの解読をはじめる(ス
テップ340)。もしスキャナ100が成功すれば(ス
テップ345)、続く処理のため解読されたデータ出力
を送り出す。そうでなければ、スキャナ100は、その
記号の解読が成功するまで追加の走査を行う(ステップ
310)を行う(ステップ345)。余りに多くの回数
が解読不成功であったり、通過に時間がかかるようだと
スキャナ100をストップさせるようにプログラムする
こともできる。
【0039】記号が、2次元バーコードである場合は
(ステップ330)、さらに走査が必要である。まず、
スキャナ100は、走査パターンがバーコードと正しい
位置にあるかを確かめにばならない(ステップ35
5)。位置関係は、1次元バーコードでは問題でなかっ
た。図5に、1次元バーコードを走査線の方向に対して
斜めに横断するラスタ走査パターンを描いている。パタ
ーンの走査線は、1本あるいはそれ以上の走査線で同じ
連続バーとスペースで横切れればよいから、1次元バー
コードの垂直バーに対して直角である必要はない。
【0040】2次元バーコードの状況は、一層困難で
す。図6(A),6(B),6(C),6(D)は2次
元バーコード600をその走査パターンに関して、もと
もと斜めに横断しているラスタ走査パターンを表す図で
ある。図6(A)は、2次元バーコード600に関して
斜めか、あるいは配置ミスかされている初めてのラスタ
走査パターンの非常に簡略な概略図が含まれる。スキャ
ナ100は好ましくは、走査線がいつ列を横切るかを認
識することによりこの状態を見極める。例えば、PDF
417コードは異なった列には異なったコードを用いる
(実際には、繰り返す3種類の異なったコードがあ
る)。走査線を解読中にそのコードが変化する時、スキ
ャナ100は一直線上に合わされていないことを検出す
る。
【0041】斜めに走査される2次元バーコードを読み
取るには、スキャナ100はいくつかの異なる技術を使
用できる、例えば、参照として含まれる米国特許出願番
号第317,433号に記載されている。一旦、スキャ
ナ100がスキャナパターンが配置ミスであると判断す
ると図6(B)で示すように、再び方向を新しくしはじ
める。
【0042】さらに分析して記号600がまだ走査パタ
ーンに対して斜めであることを表したなら、本システム
は、走査パターンをそれが最後に図6(C)に示すよう
に、記号600と一直線となるまで方向を再設定する。
新しい方向付けが完成すると、図6(D)に示すよう
に、充分に一直線上に合致し、高さ調節された走査パタ
ーンを用いることによって全バーコードが読取れるよう
になる。
【0043】走査パターンをバーコード記号に一直線に
合わせた後、スキャナ100は走査パターンの高さを増
加させる全ラスタモードに入る(ステップ360)。こ
れは、全記号を解読するためにされる。「全ラスタモー
ド」なる語は、ミラー159、およびモータ160を制
御する処理により、ラスタ走査パターンの高さと、幅を
変化させることを意味する。全ラスタモードの間、図4
(C)、4(D)で示すようにステージ毎にそのパター
ン高さ、幅を増加させる。
【0044】図4(C)は、全ラスタモード間中のスキ
ナ100の動作の中間ステージを示す簡単な概略図であ
る。走査パターン412の高さが増すにつれて、スキャ
ナ100は、パターンを解読するためにそのパターンに
よってカバーされるバーコード列を読取リ、そのパター
ン高さの増加を停止する時を決定する。これは、全記号
が読取れるまで続く。
【0045】図4(D)は動作の最終的なステージの非
常に簡単な概略図である。この時点で、走査パターン4
13は全バーコード420およびエリア外側をカバーす
る。全ラスタモードでの走査中は、パターン高さは増す
が、バーコード記号を掃引する走査線の数は変わらな
い。代わりに、走査パターンの高さと幅が増し、隣接す
る走査線間の角度も図4(B)〜4(D)に示すように
増す。レーザ走査パターンの最も効果的な調整は、各々
の走査線が2次元記号の一列を正確に交差する時になさ
れる。
【0046】一旦、パターンのサイズがセットされると
(そして、望ましくはサイズが増加している)、スキャ
ナ100は2次元記号を解読する(ステップ370)。
もしスキャナ100が記号の解読に成功したならば、解
読されたデータを送って、そして走査ビームを狭くする
か又はそれをオフにする(ステップ390)。もし、ス
キャナ100が解読が不成功ならば、スキャナ100は
解読が成功するまで、あるいは予め設定した回数が経過
するまで、走査を続ける。予め設定した時間として典型
的には、3秒のオーダーであり、これは記号を見つけ解
読をうまくやれるオペレータのための充分な時間とみな
される。
【0047】2.走査高さ調整 前記の動作の一つの欠点は、全ラスタモードにおいて、
パターンが時々目標バーコードよりも更に多くをカバー
してしまうことです。例えば、図4(D)、図6(D)
には、2次元記号の先頭エッジおよび底部エッジを越え
たいくつかの走査線が示されている。この不必要な走査
は全走査手続を遅くする。この問題を解決するため本発
明は、本走査パターンによってカバーされるバーコード
記号のエリアを制限し、かつそのエリアを囲むことによ
り、記号を越えて与えられたパターンが広がる量を最少
にし、動作時間を少なくする。
【0048】このゴールを達成するために少なくとも2
つの技術がある。第1の技術(テクニック)は、そのコ
ードの列に記号サイズの情報を埋めこんだPDF417
コードのようなコードとして働く。第2の技術は、コー
ドの他のタイプとして働く。 a.PDF417モード PDF417コードのようなコードに対して、第2のス
テージの初めての走査パターンから得られる情報はシス
テムによって記号の上下の列の数を決定することができ
る。このことによってシステムは適当な新パターンを見
つけだせ、新しいパターンに到達するため走査角度を開
口する割合を制御し、スキャナに適正な制御信号を送る
ことができる。
【0049】図7は本発明によるラスタパターン制御を
示す高レベルダイアグラムである。制御回路165の一
部であるラスタパターン制御プロセッサ700は、これ
も回路165の一部である走査エンジン710を、側面
図で示している記号720を読むため、制御する。記号
720から離れた位置dにある(図示せず)走査エンジ
ン710は、垂直角度zに開いた初期ラスタ走査パター
ンを発する。
【0050】ラスタ制御プロセッサ700は角度Zでの
走査の結果を解読して、最初の走査パターンが2次元記
号のf列を横断することを決定する。もし走査パターン
が中心に置かれるならば、そのパターンの中間列上を横
切る列の数はyでf/2に等しい。次に、ラスタ制御プロ
セッサ700は記号720の最初の走査によって得られ
る情報を解読して、全記号720の最大列数Yの1/2
を決定する。もしバーコードがPDF417で符号化さ
れているなら、各々の列の最初の2列は、全記号の高さ
に関する情報を含む。
【0051】この情報から、プロセッサ700は、記号
720の上下のエリアを読むことなしに完全記号720
を読むために必要とされる走査角度Zを決定することが
できる。これは、次に述べるとおりである。 d=y/(tan(z)); Z=tan−1(Y/d)あるいはtan−1((Y/
y)*tan(z)) この値Zから、プロセッサ700は角度Zに対し走査角
度の開口率Rを決定する。その開口率Rは、プロセッサ
700が該パターンを広げ、広げた開口率がこの走査と
適応するよう、記号720を適正に解読するために重要
である。例えば、記号720が大きければ、その開口率
を低くしなければならない。y方向展開の開口率を制御
するためのもうひとつの理由は、スキャナが広がるよう
に解読することにある。
【0052】走査パターンが全ラスタモードで展開され
る時、走査されたデータは、スキャナが既に該バーコー
ドのセンターエリアでは読み込んでいるので、該パター
ンのトップおよび底部で(のデータが)最も役に立つ。
y方向展開の開口率を決定するため、プロセッサ700
は最初に a=Z−z で角度差を見つける。そしてラスタ制御プロセッサ70
0は、下記のとおり、開口率Rを決定する。 R=a/(r*Y), ここでrは走査エンジンが一列を読取る時間である。
【0053】制御プロセッサ700は、最大走査角度
Z、開口率Rで開くよう指示する命令を走査エンジン7
10に送る。このやり取りの望ましい実行は、下記の
「走査エンジンインタフェース」の項で説明する。この
命令に応答して、走査エンジン710は、走査パターン
が記号720の列を、その記号の上下のエリアを含まな
いように、全て包含する角度Zに開く。これで、走査時
間を節約する。
【0054】走査を加速するこの手続きは、最初の走査
パターンが記号に関して斜め走査する時でも適応され
る、そしてそれは典型的である。図8は明快さのため省
略された部分とともに記号800の概要の正面図を示
す。図8において、最初の走査線810は記号800の
列820に対しある角度で、斜めにそれている。斜め走
査角度がないときのその最大走査角度Zおよび開口率R
を決定する式は、また、斜め走査角度の影響が相殺する
ので斜め角度のあるときにも働く。ノンゼロ斜め走査角
度は、cosのファクタによる中間列mの上を最初に走
査した列の数であるyを増すけれども、列Yの最大の数
は、その同じファクタによって減少する。これらの2つ
の影響は、相殺する。
【0055】図7についての手続きは、使用者が走査線
をおおよそ該バーコードの垂直中間ポイントに位置させ
ていることを仮定する。もし使用者が正確にその走査線
を中間ポイントに位置させないならば、プロセッサ70
0はPDF417コードの情報からこれを知ることにな
る。各列のコードには、プロセッサ700が適当に訂正
ができるため使用可能な列番号の情報が含まれる。
【0056】b.代替モード もし2次元バーコード記号が図7、図8に記載された手
続きができる情報を埋め込んでいない場合は、本発明は
図9に示す異なる手続きを見て、そして、図10に示さ
れた走査システム1000を使用する。図10は、全ラ
スタモードでのスキャナ1010の制御を描写する。
【0057】図9のフローチャート900は、走査を解
読することによって始まる(ステップ910)。これ
は、スキャナ1010がラスタパターンのバーコード記
号を横切り、その記号からの反射光を受けることによっ
てなされる。その反射光から、スキャナ1010はその
バーの幅とスペースパターンを表す電気信号を作り出
す。
【0058】実際には、スキャナ1010は、2つのタ
イプの信号を送出する。すなわち、走査の開始(SO
S)信号と、バー・スペースパターン(DBP)信号で
ある。SOS信号は、各々の走査開始のレベルを変化さ
せる方形波形であリ、ある一方向での走査の論理0と他
の方向での走査の論理1である。DBP信号は、論理1
と論理0パルスからなるディジタル波形で、その間隔
は、走査によるバーコードのバー幅とスペースパターン
を表す。
【0059】次に、走査された信号は条件付けられてい
る(ステップ920)。図10は、実際に、2つのより
小さいステップで起こるステップを示す。最初に、スキ
ャナインタフェース1020は、各バーおよびスペース
が現れる間の時間のパルス数をカウントして各パルスの
持続を測定する。スキャナインタフェース1020は、
バーおよびスペースのそれらの値(DBPカウント数)
を記録し、各走査のDBPカウントをグループ分けする
ためにSOS信号を用いる。スキャナインタフェース1
020は、これらのグループ分けされたカウントを解読
器(走査制御部)1030に送る。
【0060】次に、この条件付信号は、それらがバーコ
ード情報であるか、あるいは他のタイプの情報であるか
を決定するため分析される(ステップ930)。図10
にて示す具体例では、解読器(走査制御部)1030は
DBPカウントを見ることによってこの決定をしてい
る。例えば、大きいDBPカウントは、バーコード信号
のバーかスペースであるには余りにも大きい空白か黒の
スペースを示す。代わりに、解読器(走査制御部)10
30は、一つの走査記号中の要素の数が、その記号中で
走査によって決定される要素の数と余りにもかけ離れて
いることに気付くことができる。他の同様な技術が可能
である。例えば、何等の特性を認識することが解読器
(走査制御部)1030できないことにより現在やった
走査はバーコードを交差していないことを示しうる。
【0061】その条件付信号がバーコードパターンを表
すならば(ステップ940)、走査パターンを増加し
(ステップ950)、その処理を繰り返す。もしそうで
ないならば、そのパターンはその前の値に減らされ(ス
テップ960)、ラスタモードを終了する(ステップ9
70)。図10で、解読器(走査制御部)1030はス
キャナ1010がそのラスタパターンを大きくするのか
減ずるのかどうかを決定する。ラスタパターンのサイズ
を変化させるために、解読器(走査制御部)1030
は、ディジタル制御信号を各々のスキャナ1010に対
し、X,Y駆動信号を供給するべくD/Aコンバータ1
040、1050へ送る。
【0062】D/Aコンバータ1040、1050に電
圧変化を単にさせる変わりに、システム1000は、ス
キャナラスタパターンの動作をよりよく制御できるよう
に、より洗練された制御技術を用いることができる。こ
れらの幾つかは、下記の「走査制御」の項に記載する。
しかしながら、注意の記載がある。ラスタパターンを制
御するどんな技術も、スキャナの機械的特性に束縛さら
れたパラメータを持つべきである。これらのパラメータ
によってラスタパターンサイズのよりスムーズな変化が
でき、変化の適当な割合は、スキャナ1010が解読器
(走査制御部)1030から受けた電圧変化をスムーズ
に応答できるようにする。適正な割合とスムーズな変化
は使用者を悩ませるフリッカーを排除できる。
【0063】走査長と調節率とは、バーコードデータが
有効に解読された前後の走査データ中の空白スペースの
量に依存する。解読器(走査制御部)1030は、何等
のデータも解読できなくなってからの走査数をカウント
することによりy方向にバーコード記号のエッジを何本
のラスタが越えたかを決定することができる。例えば、
大きい空白スペースが、大きいDBPカウントを観察す
ることによって検知することができる。そして、スキャ
ナ1010は上記に記載したような、受取ったデータ値
に基づいて調整をする。
【0064】走査パターンのサイズは、スキャナとバー
コードとの距離の変化に適応することができるけれど
も、そのサイズの変化はあまりに早く起こってはならな
い。y方向伸長の率はラベルの列の数とラベルの高さに
依存するべきである。記号を早くかつ正確に読取るため
スキャナの精確な範囲と位置をスキャナオペレータに教
えようとしてフィードバック信号1060(可聴の「警
告音」若しくは指示器)は、記号が範囲内で検出された
とき使用することができる。図10は、解読器(走査制
御部)1030に接続されたこのフィードバック信号1
060を示す。一つの実施の形態として、LEDが調整
不足のときゆっくりと点滅し、そして、調整の改善に比
例して速くなる。
【0065】3.バーコード検出と識別回路 図3フローチャート300の重要なステップの一つは走
査された目標物がバーコードであるかどうかを決定する
ことである。この決定をするには、幾つかの方法がある
が図11はそのための回路1100を示す。この回路
は、また米国特許出願番号第506、674号に開示さ
れている。
【0066】回路1100は、信号1105を増幅器/
ディジタイザ1116から受け、その信号はインバータ
1131の入力に入る。インバータ1131の出力はダ
イオード1132のアノードに接続し、ダイオード11
32のカソードは抵抗1121とコンデンサ1134の
並列回路と直列につながる抵抗1120によって形成さ
れるRC回路に接続する。ダイオード1132はインバ
ータ1131の出力の中にコンデンサ1134が放電す
ることを防ぐ。
【0067】抵抗1121とコンデンサ1134は、ま
たアース電位とオープンコレクタ出力比較器1137の
入力1135との間に接続する。比較器1137の第2
の入力1138はスレッショールド・レベルである。そ
のスレッショールド・レベルは、また供給電圧Vおよび
グラウンドの間の抵抗1123および1124の直列接
続によって形成された分圧器の中間接点の電位である。
【0068】比較器1137の出力は、目標がバーコー
ドであることを示す「レーザ駆動」信号1141であ
る。比較器1137の出力はまた、分圧器の中間接点1
150へフィードバックされ、値R3を持つ抵抗112
5を介して入力1138にフィードバックされ、このフ
ィードバックにより比較動作にヒステリシス効果が得ら
れる。
【0069】図11に示すように、抵抗1120はR
1、抵抗1121はR2、抵抗1123はR4、抵抗1
124はR5、コンデンサ1134はCの値を持つ。R
2はR1よりはるかに大きい値である。回路1100
は、実際は、信号1105の様々な部分の長さを調べ
る。その信号が低い時は、バーの存在を示し、インバー
タ1131の出力は高く、コンデンサ1134を、(こ
れはR2がR1より非常に大きいためである)ほぼR1
*Cの時定数で充電する。
【0070】スペースに対しては、信号1105は高
く、そのため増幅器1131の出力は低い。これは、ダ
イオード1132が抵抗1120を介して放電を防ぐの
で、抵抗1121を介してコンデンサ1134は放電す
る。時定数R2*Cは、時定数R1*Cより非常に大き
いので、回路は、バーの影響をキャンセルするためによ
り長いスペースを必要とする。
【0071】回路1100は典型的な密度を有するバー
コードから幾つかのバーと、スペースを試験した後、コ
ンデンサ1134に、比較器1137のスレッショール
ドレベルを越える電圧を見つけた。これは、レーザイネ
ーブル(起動)信号1141を活性化する。この起動
は、また、比較器1137のオープンコレクタ出力を低
く駆動し、入力のスレッショールド電位を下げる。この
動作により、バー、スペース、および静止ゾーンによる
コンデンサ1134上の小さい電圧変化を防ぐようにヒ
ステリシスを起こす。
【0072】増幅器/ディジタイザ1116が長い黒バ
ーを表わす検知信号を生成した場合、回路1100がト
リガーしたかのようになる。しかしながら、これは問題
ない。好ましい実施形態であって、増幅/ディジタイザ
1116は長い信号を発生させないようにハイパスフイ
ルタとして機能するからである。例えば、増幅器/ディ
ジタイザ回路1116は黒バーに対して既知の間隔の短
いパルスのみを生成することができ、したがって、長い
黒バーに対する信号は、より短いものと同じである。
【0073】回路1100は、柔軟性があるので、他の
目的のためにCPU140(図1)によって実行される
ソフトウェアとともに、使用できる。例えば、回路11
00はテキストや他のグラフイックと、バーコードを識
別するのを助けることができる。そうするために、回路
1100とCPU140は異なる幅を持つテキストと比
較してバーコードの均一の幅を採択する。この特性のた
めに、バーコード・パターンの異なる断面を通過する異
なる走査は、同様の結果を生む。一方、テキストの異な
る部分を通過する異なる走査は、異なる結果を生む。互
いに十分に近接した間隔の走査ラインでは、2次元バー
コードにおけるバーとスペースの幅は均一であるので、
2次元バーコードをグラフィックと識別するために使用
される。ラスタ走査パターンは、その走査を垂直に自動
的に動かすことによって、この技術をうまく扱う。この
ことは、連続した走査ラインが走査パターンの平行スラ
イスを交差することを保証する。
【0074】更に、ある種の作動パラメータを、例えば
水平、および垂直走査角度を、走査が決定されたバーコ
ードのタイプに応じて、制御することによってより高い
精度が得られるだろう。これは、単一システムが1次元
や2次元バーコードの両方を解読するのに有効である。
本発明による走査は、ラスタタイプの走査に限定される
ものではない。X軸とY軸の個々の制御は、所望のあら
ゆる型の走査パターンを提供することが出来る。例え
ば、X軸制御のみを使えば、記号(シンボル)上の直線
走査ラインが発生する。ある一定の速度でX軸、Y軸制
御を駆動することにより、一組の一般的な平行走査ライ
ンを有するラスタタイプ・パターンを作る。シヌソイド
の変化率でX軸、Y軸を駆動することにより全方向のリ
サージュ・タイプを生成する。
【0075】走査制御に関する情報が、1990年5月
8日に出願され,参照として本件に含まれている米国特
許出願番号第520,464号と共に、米国特許第4,3
87,297号明細書に示されている。図11の回路を
用いる最後の長所として、他の走査源を用いることなく
信号処理ができる。この技術は、CPU140が実行し
なければならない処理の量を減らし、そしてバーコード
記号を読み込む時のシステムの待ち時間を減らす。
【0076】C.走査制御 1.走査要素の制御 図12は、柔軟で、効率的な本発明による走査エンジン
1200の詳細を示す。走査エンジン1200は、本明
細書で記載するスキャナのサブシステムとともにあるい
は、他の異なるサブシステムで使用することができる。
【0077】図12で示すように、走査エンジン120
0は三つの主な構成要素からなり、コントローラ121
0、D/Aコンバータ1220、PWM調整器1230
からなる。PWM調整器1230は、走査要素(図示せ
ず)を駆動するモータコイル1240を制御し、増幅器
1250を介してコントローラ1210にフィードバッ
クを提供する。
【0078】コントローラ1210は、望ましくはマイ
クロチップ・テクノロジー社製作のPIC16C71で
あるが、D/Aコンバータ1220にディジタル駆動信
号1215を形成して、送る。ディジタル駆動信号12
15は、実際は、コイル1240を駆動する信号の電圧
値に相当する一連の7ビットのディジタル番号である。
下記に更に詳しく述べるように、ディジタル駆動信号1
215は、望ましくは、2つの正弦波の合計で、一つは
水平もしくはX軸偏向を駆動するため、もう一つは垂直
もしくはY軸偏向を駆動するためである。
【0079】D/Aコンバータ1220は、アナログ線
形制御電圧信号1225をディジタル駆動信号1215
から生成し、PWM調整器1230への入力としてアナ
ログ駆動信号1225を供給する。D/Aコンバータ1
220は、このようなコンバータは非常にコンパクトに
作られるので、概念的には、ラダータイプのコンバータ
のように見える。しかしながら他のコンバータの設計で
も同様に働く。
【0080】PWM調整器1230は、比較器1231
を含むが、アナログ駆動信号1225から電流駆動信号
1235を作り、そしてこの電流駆動信号1235をコ
イル1240を通して送る。電流駆動信号1235の形
はアナログ電圧駆動信号1225の形に似ており、ある
意味で、PWM調整器1230は電圧/電流変換器とし
て働く。
【0081】コイル1240は、電流駆動信号1235
に比例した磁界を作る。その磁界は、RASE(共鳴非
対称走査要素)に水平に振動を起こさせ、RASEのマ
イラ支持に垂直の振動を起こさせる。このように、RA
SEとその支持は、図1の走査ミラー159と同様にふ
るまう。RASEとその支持は、参照として米国特許第
5,280,165号明細書に記載されている。
【0082】RASEは、駆動磁界が停止した後でさ
え、振動を続けることができる高いQを持っている。好
ましいやり方は、コイル1240の活性駆動を定期的に
止めることによってこの特徴を利用する。しかし、RA
SEは振動を続け、コイル1240は、動いているRA
SEの増幅と位相に関する情報をピックアップする受動
検知要素として働く。
【0083】増幅器1250は、バッファとして接続さ
れており、コイル1240からの信号を増幅、位相フィ
ードバック信号1255に変換し、これはコントローラ
1210への入力となる。コントローラ1210は、フ
ィードバック信号1255を用いて駆動コイル1240
が適正に駆動しているかどうかを確認する。温度センサ
1260は、第2の入力である温度信号1265をコン
トローラ1210へ供給する。信号1265は走査エン
ジン1200に近い室温を表す。
【0084】センサ1260は、2つの理由から室温を
測定する。一つは、温度による変化を考慮してエンジン
1200を調整することであり、他の目的は、もし室温
が安全作動範囲を越えた場合に走査を止めるためコント
ローラ1210を警戒させることである。コントローラ
1210への第3の入力は、2つのワイヤ(クロックパ
ルスデータである)のシリアルZIFインタフェース1
270である。更に詳細な説明は以下の章である「走査
エンジンインタフェース」で述べるが、このインタフェ
ースは、コントローラ1210がスキャナの残りからの
命令を受け、またそのスキャナへ情報を送ることを可能
にする。
【0085】コントローラ1210への他の残りの入力
は、外部クロック1280である。クロック1280
は、コントローラ1210の好ましい具体例によって望
まれる周波数で信号を生成する。ZIFインタフェース
1270と、ディジタル駆動信号1215に加えて、コ
ントローラ1210はまた2つの他の信号を送出す。一
つは、電流駆動信号1230の生成をストップさせるよ
うにPWM調整器1230へ教えるための「可聴」信号
1234である。それゆえ、ピックアップ装置内のコイ
ル1240を反転させる。
【0086】コントローラ1210によって送られる第
2の信号は、走査開始あるいはSOS信号1290であ
る。上に述べたように、SOS信号はRASEがいつど
の方向に水平に駆動されているかを示す。好ましい実施
形態では、コントローラ1210はマイクロプロセッサ
1211と、ROM1213と、A/Dコンバータ12
14を含む。マイクロプロセッサ1211は算術論理ユ
ニットと内部メモリを含む。ROM1212、好ましく
はプログラム可能であるもの、はマイクロプロセッサ1
211の動作を制御するデータ・テーブルと、ルーチン
を提供する。タイマ1213はマイクロプロセッサ12
11がリアルタイム動作を制御するために用いる割り込
みタイマである。A/Dコンバータ1214はアナログ
温度、振幅、位相情報をマイクロプロセッサ1211の
ためのディジタル・フォーマットに変換する。
【0087】そのノーマルモードでの作動中は、コント
ローラ1210は、2つの正弦波の合計を表す7ビット
のディジタル駆動信号1215を作る。一つはおよそ2
90Hzであり、他の一つは、およそ15Hzである。
290Hz信号はRASEのX軸偏向を駆動するために
使用される、15Hz信号はマイラ支持のY軸偏向を駆
動するために使用される。
【0088】コントローラ1210は必要に応じて、デ
ィジタル駆動信号1215を変化させることができる。
たとえば、コントローラ1210は何時もフィードバッ
ク信号1255を、ディジタル駆動信号1215の振幅
あるいは周波数が変化したかどうかを決めるため、モニ
ターしている。それに加えて、コントローラ1210は
他の装置に適応するため異なる波形、あるいは、異なる
周波数での信号を作り出すことができる。
【0089】D/Aコンバータ1220は、連続的に、
ディジタル駆動信号1215をアナログ駆動信号122
5に変換する。アナログ駆動信号は、走査エンジン12
00が正確により高い周波数で作動することができよう
にする。なぜかを理解するには、PWM調整器1230
の理解が必要である。PWM調整器1230はアナログ
駆動信号1225を比較器1231への非反転入力で受
け、そして電流フィードバック信号1232を比較器1
231への反転入力として受ける。電流センサ1242
は電流駆動信号1235に対応する電圧信号として電流
フィードバック信号1232を作る。この様なPWM調
整器1230の構成では、比較器1230に電流駆動信
号1235をトラックアナログ駆動信号1225にする
のを強制する。
【0090】PWM調整器1230の設計は、従来の電
圧駆動回路より2つの利点を有する。第1は、電圧ドラ
イバーは、コイルのバックエンドに反作用する非常に大
きな電圧供給を要求する。PWM調整器1230は、そ
れが電流ドライバーであるためではない。第2に電圧ド
ライバーが、コイル1240を通してコイルの共振周波
数でない信号を強制することによってRASEの高Qを
減らすことができることである。調整器1230の好ま
しい実施形態では、フィードバック構成要素はRASE
が共振周波数で駆動されるということを確認するので、
RASEのQを減らさない。
【0091】図13はPWM比較器1230の好ましい
構成をより詳細に示す。アナログ駆動信号1225はV
0で示すように、抵抗1301を経由して作動比較器1
231の非反転入力に入力される。比較器1231の反
転入力は参照電圧Vrefに抵抗1310を経由して接
続する。オープンコレクタ・比較器1231は、抵抗1
320を介して制御電圧Vccにプルアップされてお
り、インバータ1330が反転されたPWM信号をつく
るのにもちいるPWM信号を作り出す。PWM信号は、
スイッチ1340を制御し、反転PWM信号はスイッチ
1345を制御する。スイッチ1340、1345は1
/2Hブリッジを作るコイル1240の反対側に接続す
る。
【0092】図14は、スイッチ1340、1345が
望ましくは、それぞれトランジスタ1440、1455
であることを示す。トランジスタ1440,1455は
2つの状態、すなわち飽和状態かもしくは不伝導状態で
ある。一つであることからスイッチとして働く。トラン
ジスタをこのように用いてrds(ドレインからソース
間抵抗)損失を減らし、そしてさらに線形ドライブのア
クテイブ領域でトランジスタを用いること以上に効率的
である。図13、14のPWM調整器は線形ドライブの
ほぼ2倍の効率がある。さらに、このPWM調整器は、
100MHz以上のスイッチ頻度を作り出し、それによ
ってモータコイル中のスイッチ頻度電流構成要素を最少
にする。
【0093】スイッチ1340、1345はコイル12
40を横切る高周波数のPWMパルス列を作るため、ス
イッチを交互にオン、オフする。コイル1240のイン
ダクタンスは、このパルス列を統合して、そのパルス列
の直流構成要素に比例したピースワイズの線形電流を作
る。この時間変化する電流は、アナログ信号1225の
合計された正弦波形に近づく。
【0094】図13はより好ましい実施形態を示す。コ
イル1240は2つの直列接続部分で分裂しており、1
347、1348は電流検知抵抗Rs1242によって
切り離されている。Rs1242の一端は、抵抗130
2を通して増幅器1231の非反転入力に接続し、検知
抵抗1242の他端は抵抗1312を通して増幅器12
31の反転入力に接続する。抵抗の大きさは、コイル1
240、iLを通る電流がほぼ(Vo−Vref)/R
sに等しいように選ばれる。
【0095】コイル1240は、電流駆動信号1235
である290Hzおよび15Hzの正弦波の加算と同じ
形の磁界を生成する。RASEは、機械的に、磁気信号
のより低い周波数部分をフィルタリングし、マイラ支持
は、機械的に、より高い周波数の部分をフィルタリング
する。図15(A)は、RASEとそのマイラ支持が機
械的フィルタリングをデモンストレーションする周波数
応答を示す。明らかなように、マイラ支持は、より低い
周波数信号にのみ応答し、RASEは280Hzのまわ
りの狭いバンドの信号にのみ応答するであろう。
【0096】図15(B)は、共振周波数が280Hz
であるRASEの高いQ(約500)を示す。その大き
さと、位相の値は、周波数の作用として著しく異なる。
RASEをそのような高Qで駆動することは慎重なフィ
ードバック監視を必要とする。マイクロプロセッサ12
11が、ディジタルかされたフィードバック信号の最大
振幅および位相(又は周波数)情報から引き出すことに
よってそのような監視を実行する。フィードバック監視
のための好ましい方法は、ディジタル駆動信号1215
と同じ関連位相で、取り出す定期的な測定値を含む。よ
り好ましい実施では、マイクロプロセッサ1211は、
X軸駆動の各19・1/2サイクルに1回、フィードバッ
ク測定値を取リ、ゼロクロスで開始して、最大振幅また
はクオータサイクル点で終わる測定を行う。もし測定値
が意図した値と異なる時は、コントローラ1210はR
ASEと位相が外れており、マイクロプロセッサ121
1はこの状態を修正するため周波数を変化させる。
【0097】信号1215の振幅および周波数値を修正
するために、マイクロプロセッサ1211は工場での校
正している間に幾つかの値を用いる。これは、ROM1
212にベースライン値を入れる好ましい時である。も
ちろん、校正用としてROM中に記憶された値は、いつ
も正確であるということではないかもしれない。温度、
RASEあるいは他の要素の変化で、マイクロプロセッ
サ1211が駆動信号1215のために異なる値を作る
ことを必要とするかもしれない。これが、マイクロプロ
セッサ1211がフィードバックに基づく調整をする理
由である。調整をするため、マイクロプロセッサ121
1はROM1212からX軸偏向のための振幅値の2つ
のセットと、一つの周波数(あるいは正弦波周期)設定
を得る。より望ましい実施形態では、Y軸調整がなく
て、X軸のための一組の振幅値がある。しかし、Y軸偏
向を修正するため、ROM1212は、振幅値の付加セ
ットを含むことができる。
【0098】X軸偏向のために、ROM1212は最大
偏向と粗い振幅調整値を表すベースライン値を含む。粗
調整値は、対応するベースライン値の5%である。好ま
しい実施形態では、高周波数もしくはX軸信号のための
各々のセット値は16エントリを持っており、低周波数
もしくはY軸信号のための各々のセット値は26エント
リを持つ。望ましい実施形態では、その値は、正弦波の
連続した値を表す。
【0099】その周波数値は、マイクロプロセッサ12
11がディジタル駆動信号1215のために新しい値を
どのくらい頻繁に送り出すかを示す。例えば、300H
z正弦波のために、マイクロプロセッサ1211は1/
300Hzあるいは3.33ms毎に完全なセット値を
送り出さねばならないだろう。もし完全なセットが16
の値を含むならば、マイクロプロセッサ1211は3.
33ms/16毎にあるいは208μs新しい値を供給
する必要があろう。好ましくは、割り込みタイマ121
3は、望ましい周波数でディジタル駆動信号1215を
生成するに必要な値をセットする。
【0100】マイクロプロセッサ1211は、割り込み
タイマ1213に新しい値をロードすることによって周
波数調整をする。振幅調整は、非常に複雑ということで
もない。マイクロプロセッサ1211はベースラインか
ら粗調整値を用いた値を差し引いて、細密調整技術を用
いることによって信号1215のための新しい値を作
る。
【0101】図16は粗調整がどのようにして行われる
か実例で説明する。トレース1610は幾つかのベース
ライン振幅値を含み、トレース1620は、ベースライ
ン値から差し引かれるべき幾つかの粗調整値を含む。例
えば、ベースラインより15%低い振幅信号を作るため
に、トレース1630に示すように、マイクロプロセッ
サ1211は、ベースライン値から粗調整値(各々は、
対応するベースライン値の5%)を3回引き算する。
【0102】図17は望ましい実施によって、如何に細
密調整がなされるかを示す。細密調整はまた、繰り返し
の減算を必要とするが、ベースライン値の%を用いる変
わりに、マイクロプロセッサ1211は固定オフセット
を用いる。オフセットは、ベースライン値が正である時
は、正であり、ベースライン値が負である時は負であ
り、ベースライン値がゼロの時はゼロとなる。細密調整
はトレース1710をトレース1720に変換する。細
密調整は、正弦波形をわずかに歪める傾向があるが、目
立つほどの影響ではない。
【0103】さらに、校正中は、マイクロプロセッサ1
211は、室温信号1265をその温度に応じてRAS
Eの周波数を調節するために用いる。図18は、RAS
Eにおける摂氏温度と、共振周波数との典型的な関係を
示す。RASEがそのような高いQを有しているので、
適当な温度補正を確実にすることは重要である。好まし
い実施形態では、マイクロプロセッサ1211は、割り
込みタイマ1213が割り込み信号を作る時はいつで
も、新しい電圧値を決定することによって、先に述べた
ようなより高い周波数正弦波の値を形成する。マイクロ
プロセッサ1211は、より低い周波数正弦波の新しい
値をより高い周波数信号に関する新しい値の幾つかの所
定の番号を得た後に、ROM1212にアクセスするこ
とによって形成する。例えば、26の値を持つテーブル
から15Hz信号を作るため、マイクロプロセッサ12
11は、300Hzのより高い周波数信号の0.75サ
イクル毎のより低い周波数信号に関する新しい値を引き
出す。
【0104】図19は、16値をもつ300Hzの高周
波数正弦波および、高周波数正弦波の0.75サイクル
毎の(あるいは12値毎)新しい値の低周波数正弦波の
形を示す。上に説明したように、16値を持つ300H
zについて、マイクロプロセッサ1211は208μs
毎に割り込みを受ける。図19は、またSOS信号とデ
ィジタル駆動信号1215間の関係を示す。従って、S
OS信号のレベルは、駆動信号1215の極性と、走査
方向を示す。
【0105】走査エンジン1200のキー構成要素の基
本的理解は、走査エンジン1200の全動作の概観を可
能にする。図20はモーター制御に必要な走査を示すフ
ロー系統図2000を含む まず、その手続きは、最初またはリセットの幾つかのソ
ート後に始まる(ステップ2010)。次に、マイクロ
プロセッサ1211は処理するどんなコマンドがあるか
直列インタフェース1270からの入力ポートを読む
(ステップ2015)。最初のコマンドは、幾つかの初
期値のセットであろう。
【0106】マイクロプロセッサ1211はそれから温
度を測定する(ステップ2020)。もし温度が余りに
熱いとコントローラ1200は、スキャナをシャットダ
ウンするためレーザオフ信号を送る。さもなければ、手
続きは続行され、マイクロプロセッサ1211はX軸の
ための周波数(すなわち、周期)をセットする(ステッ
プ2025)。
【0107】次に、X軸走査は、最大入力または「キッ
ク」をあたえることによって始まる(ステツプ203
0)。マイクロプロセッサ1211は、それからX軸に
関する最大振幅を測定する(ステップ2035)。「キ
ック」は、最大X軸振幅がベースライン値に到達するま
で続く。そのポイントで、Y軸信号偏向がスタートする
(ステップ2040)。
【0108】次に、マイクロプロセッサ1211は次の
コマンドを得るため再びコントロールポート(制御ポー
ト)を読む(ステップ2045)。もしそのコマンド
が、XまたはY振幅を修正することであれば、その修正
がなされ(ステップ2050)、そしてコントロールポ
ートは、他のコマンドのため再び問い合わされる(ステ
ップ2045)。
【0109】もしコマンドがこの記号2次元であること
を示すならば、マイクロプロセッサ1211は、走査パ
ターンの高さを増すために、Y軸を開く(ステップ20
55)。そうした後、マイクロプロセッサ1211は、
走査パターンにおいて変化を反映させるために、Xある
いはY振幅を修正する(ステップ2060)。次に、マ
イクロプロセッサ1211は他のコマンドのためにコン
トロール・ポートを読む(ステツプ2065)。
【0110】もしコマンドが走査パターンが再び修正を
必要とすることを示したならば、マイクロプロセッサ1
211は、応答する(ステップ2060)。そして、次
のコマンドのためのコントロール・ポートを読む(ステ
ップ2065)。この時点において、もしくはコントロ
ール・ポートのより早い読み取り期間の間(ステップ2
045)に、コントローラ1210は、走査エンジン1
200をチェックするため解読を指示するコマンドを受
けることができる。応答して、マイクロプロセッサ12
11は、RASE(ステップ2070)にブレーキをか
け、次のオペレーションを待つ。望ましくは、マイクロ
プロセッサ1211は、RASEにブレーキをかけ、そ
の駆動を位相で180度異にして駆動する。
【0111】図21は適当なラスタ走査をなすためのス
テップを示すフローチャート2100を含む。スタート
(ステップ2110)の後、マイクロプロセッサ121
1は、合計された正弦波信号をD/Aコンバータ122
0に送る(ステップ2115)。これで、走査を開始
し、あるいは続行する。次に、マイクロプロセッサ12
11は、コントロールポートからのコマンドに応答して
振幅あるいは周波数値を変更する必要があるかどうかに
ついて決定する(ステップ2120)。そうであれば、
マイクロプロセッサ1211は、周波数、X軸振幅、あ
るいは、Y軸振幅に関する該当レジスターを修正する
(ステツプ2125)。レジスタを修正した後、あるい
は何等の変化要求がないならば、マイクロプロセッサ1
211は、X軸に関する次のベースライン値を読み出
し、対応する粗と、細密調整値(集合的にX)を得る
(ステップ2135)。
【0112】そして、XI調整値がXベースライン値か
ら貯えられた値「Xcntr」と等しくなるまでの回
数、繰り返し引き算するループが始まる(ステップ21
45)。Xcntrは、どのくらいベースライン値が修
正を必要とするかを示す。次に、マイクロプロセッサ1
211は、Y軸値に関して同様のオペレーションセット
を実行する。上に説明したように、この操作は、望まし
い実施例では、X−軸正弦波の.75サイクル毎に起こ
る。X軸ループと同様に、マイクロプロセッサ1211
は、Y軸(ステップ2150)に関するベースライン値
と、対応するY−細密および粗調整値Yを読み出す(ス
テップ2155)。次に、マイクロプロセッサはY調整
値(ステップ2160)をベースラインY値からXcn
trと同様に貯えられた値「ycntr」に等しい回数
だけ引き算する(ステップ2165)。
【0113】調整されたXおよびY値を決定した後、マ
イクロプロセッサ1211は一緒にそれらの値を加える
(ステップ2170)。そしてタイマ割り込みを待つ
(ステップ2175)。割り込みが発生する時、マイク
ロプロセッサ1211は、X軸周波数コントロールレジ
スタ中にタイマ値を再度ロードする。タイマ値は、好ま
しくは粗の値が全てか2つのサンプルポイント間で用い
られている粗周波数調整であってもよいし、小さい周波
数調整をするため2つのサンプルポイント間で用いられ
る値である細密周波数値であってもよい(ステップ21
80)。そうして、全ステップは、D/Aコンバータ1
220に送り出される調整されたX軸およびY軸振幅の
合計とともに繰り返す(ステップ2115)。
【0114】本発明の理解を完成するために、望ましい
実施における、ROM中に貯えられた特定の変数を知る
ことは有益である。工場での初めのプログラミングに間
に、専門家(技術者)は、最大Y振幅値変数として30
の値を割り当てる。走査エンジン1200の中のマイク
ロプロセッサ1211は、粗調整および細密調整をその
値から決定する。
【0115】専門家は、ROM1212の校正用テーブ
ル中に以下の8ビットワードを入れる。 Ymax:最大Y振幅(最大走査パターン高さ) Ymin:最小Y振幅(最小走査パターン高さ) Xドライブ:粗および細密調整値を作るためのスタート
アップ時に用いられるX振幅設定 Fcrs:粗周波数値(調整ポイントを除く全てのサン
プル点間の距離) FFine:細密周波数値(調整ポイント間で用いられ
る) 位相:x軸周波数コントロールに関する位相基準値(位
相測定のために最大値を見つけ出すために使用される
値) Fback:フィードバック信号を調べる時、使う振幅
基準 Kcount:キックを適用するためのX−軸サイクル
の数 これは、各々のスキャナ向けで変化するコントローラ1
200のプログラム・スペースの唯一の節である。RO
M中の校正表のエリアは、再プログラムをサポートする
に十分大きい。望ましくは、各々のスキャナの校正表は
最高4回までプログラムできる。古い表の値を消すに
は、マイクロプロセッサ1211はNOP指示(001
6)で、それらの値を持つ表空間を上書きする。それ
は、新しい校正表を新しく以前に予約されたROM12
12のメモリ位置に書き込む。そして、マイクロプロセ
ッサ1211は校正表にアクセスし、NOP指示をスキ
ップし、新しい表が入っているのを見つけるまでプログ
ラムカウンタを増す。
【0116】通常、専門家の必要な事は、モータがサー
ビス期間に置き代わったり、あるいは工場の調整オペレ
ータがモータ配置エラーを修正するような時、校正表を
再度プログラムすることだけである。工場では、走査エ
ンジンは自動的にモータを校正表値を作り出すように配
置された固定配置の状態に置かれている。リセットの
後、マイクロコントローラ1211は、ROM1212
からマイクロプロセッサ1211中のRAMの中に校正
表をロードする。下記の節で表題「走査エンジン・イン
タフェース」で説明するように、RAMロケーションは
走査パターン変化の「動作中に」効果のある校正モード
を用いることによって修正することができる。しかし、
ほとんどの場合、走査エンジンインタフェースは、特定
の振幅の解読器と、OPENYのようなコマンドを通し
た開口率を持つことによって動的走査パターンの変化を
可能にする。しかし、普通に生成さられたコマンドは、
校正値を変化させることはないし、校正モードの役割も
ない。制御変数マイクロプロセッサ1211の中で走査
エンジン1200が生成するコマンドは、ベースライン
値を処理するために使用する。
【0117】前述の記載から明らかなように、走査エン
ジン1200の設計は、その走査動作を強力にし、効果
あるものとする。走査エンジン1200のもう一つの利
点は、それが極わずかの空間しか必要としないことであ
る。図22(A)は、レーザ2210、RASEミラー
2220、マイラー組み立て2225、モータコイル1
240を含む好ましいアッセンブリの斜視図を示す。
【0118】図22(B)は、図22(A)の下から見
た異なった斜視図を示し、下側にレーザ2210とコイ
ル1240を装着したプリント回路基板(PCB)を駆
動する走査エンジンとともに、再びレーザ2210を示
してある。走査エンジン駆動PCB2250は、最も大
きな要素としてコントローラ1210を持つ図12で示
される電子部品を含む。
【0119】図22(C)は、検知器2220とそのP
CB2260の関係を示す。デコーダ回路は、望ましく
はスキャナの他の部位である異なったPCB上に実装さ
れる。 2.歳差運動 容易には明らかでないが、好ましい実施例の他の特徴
は、15Hzのより低い周波数を選ぶことの理由であ
る。結局、図15(A)は、幾つかの異なる周波数が適
切なレスポンスを供給することを示唆する。15Hzを
選ぶ理由が290HzのX軸走査周波数が15Hzの整
数倍でないということである。実際の比率は約19.5
である。
【0120】X軸走査周波数がY軸走査周波数の整数倍
でないとき、その走査パターンは、歳差運動、もしくは
転がり運動の傾向を帯びる、なぜなら、2つの軸に沿っ
た運動が同時には始まらないからである。そのような歳
差運動が不利であることを見つけるかもしれないが、実
際にはバーコード記号の異なる部分を走査するには役立
つことができる。
【0121】例えば、バーコードが読取るのが困難であ
る幾つかの部分を持っていたり、あるいは、列が密接に
パックされているような場合である。その場合は、走査
パターンの歳差運動は連続した走査がホン記号の異なる
部分を横切ることを確認し、より正確な読み取りを提供
できることができる。図23(A)〜図23(C)は、
歳差運動中の連続した走査パターンを示す。このパター
ンが示すように、その走査は、そのパターンを通して異
なるパスを横切ることにより、よりよく全面のカバーを
成す。
【0122】より好ましい実施では、その歳差運動は、
その比率がX軸とY軸周波数の割合に依存するのである
が、各々のスキャナにおいて設計される。ROM121
2の適正なプログラミングは、校正中のように、変化さ
せたリ、あるいは、歳差運動を排除さえできる。 3.走査エンジン・インタフェース 先の議論が示唆しているように、走査エンジン1200
は、スキャナ100の他の部分と通じ合わなければなら
ない。図24は、走査エンジンと1200デコーダ24
10、ディジタイザ2420と、光検出器2430との
間のインタフェースを示すブロック図である。図24に
おいて、光検出器2430は反射された光を受け、受光
した光のレベルを反映した電気信号を出力する。ディジ
タイザ2420は、その電気信号から上記に検討された
DBP信号を作る。
【0123】解読器2410は、バーコードデータを解
読すると共に、スキャナ100の動作を制御する両方の
ための回路を表す。図24で示すように、解読器241
0は、走査エンジン1200からSOS信号1290を
受け、ZIF直列インタフェース1270を介してマイ
クロプロセッサ1211とコマンドとデータを交換す
る。解読器2410はまた、DBPデータをディジタイ
ザ2420から受け、そして解読器2410へ高品質結
果を確実にするため自動利得制御信号(AGC)をフィ
ードバックする。
【0124】図24において示された大部分の信号およ
びインタフェースが、上述されたとおりである。述べて
いない重要な一つは、ZIF直列インタフェース127
0である。本インタフェースは、非常に強力である、な
ぜなら、それは、走査エンジン1200がスキャナ10
0の残りとともに働き、先に記述した箇条した利点を生
むからでである。
【0125】図25に、ZIFインタフェース1270
上で交換されるコマンドとメッセージのより好ましいフ
ォーマットを示す。コマンドとメッセージは8ビットバ
イト2500で送られる。各々のバイトは、ニブル25
10とニブル2520のような2つの4ビットニブルか
らなる。ニブル2510は、望ましくは、コマンドとメ
ッセージ識別子を運び、そしてニブル2520は、その
コマンドのメッセージによって要求される何らかのデー
タを転送する。
【0126】図26は、好ましい実施例において走査エ
ンジン1200及び解読器2410の間でZIF直列イ
ンタフェース1270上で交換されるコマンドとメッセ
ージのリストである。解読器2410から走査エンジン
1200への8つのコマンドと、走査エンジン1200
から解読器2410への5つのメッセージがある。その
校正コマンドは、走査エンジン1200を校正するため
に、主に工場で使用される。好ましい実施形態において
は、マイクロプロセッサ1211は、SOS信号129
0がロー(低値)であれば、校正コマンドに応答するだ
けである。そうでなければ、マイクロプロセッサ121
1はこのコマンドを無視する。
【0127】校正の特定の意図は、マイクロプロセッサ
1211にあるRAMを変化させたりあるいは読んだり
することである。校正は、後にフィードバックして調整
する走査要素のパラメータの最初の近似値を提供する。
校正コマンドにおけるニブル2520は、RAMモード
が読み(0001)か、書き込み(0000)か、終了
(0010)かを示すことができる。もし走査エンジン
がすでに校正モードであれば、読みとり、書き込み、終
了といった付加モードは、SOS信号1290をホール
ドする事なしにセットされることが可能である。
【0128】RAMアドレスの内容を変化させるため
に、解読器2410は、走査エンジン1200を書き込
みRAM校正モードとし、そしてそれを望まれるRAM
アドレス(1バイト)に送る。応答して、走査エンジン
1200は解読器2410へそのアドレスをエコーし、
そして解読器はそのエコーが正しいかどうかをチェック
する。次に、解読器2410は、RAMアドレスのため
データを送り、そして走査エンジン1200は解読器2
410がチェックするためのデータをエコーする。
【0129】RAMロケーションを読むため、解読器2
410は走査エンジン1200を読みとりRAM校正モ
ードになり、そして所望のRAM(1バイト)アドレス
を送る。応答して、走査エンジン1200はその指示さ
れたRAMアドレスからのデータを送り返す。これらの
2つのメカニズムは、解読器2410が走査エンジン1
200を動的に変化させることができるようにする。例
えば、これは解読器2410が、走査中どうやってX軸
とY軸振幅を変化させることができるかを示す。
【0130】AIM SLABコマンドは、ねらいを付
けたりまたは最初の取得したりするため、走査エンジン
が走査要素を予め定義したパターン中に置くことを指示
する。しかし、このコマンドはレーザを制御するもので
はない。AIM DOTコマンドは、太陽光のなかで、
ねらいを付けた点のために、走査エンジンが走査要素を
予め定義されたパターン中に置くことを指示する。この
コマンドもまたレーザを制御しない。
【0131】SET Y ANGLEコマンドは、走査
エンジン1200に、後に述べるOPEN Yコマンド
に応答してY方向に開く最大角度を指示する。このコマ
ンドは、ニブル2520中に16の可能な角度のうちの
一つを特定するデータを持つ。OPEN Yコマンド
は、走査エンジンが16の可能な比率の一つでYラスタ
パターンを開くよう指示する。その比率はニブル252
0にエンコードされる。そのOPEN YコマンドがS
ET Y AHBLEコマンドなしに送られるならば、
走査エンジン1200は最大角度をデフォルト値として
選ぶだろう。もし他の角度が必要であれば、OPEN
Yコマンドは、直ちにSET Y ANGLEコマンド
に従うべきである。
【0132】CLOSE Yコマンドは、走査エンジン
1200がYラスタパターンを閉じるよう指示する。そ
の比率はニブル2520にエンコードされ、そして16
の可能な値の一つを持ちうる。BRAKEコマンドは、
走査エンジン1200にX運動、Y運動、あるいはその
両方に制動をかけるように指示する。ニブル2520内
のパラメータはどちらの運動が制動をかけられるべきで
あるかを示す。
【0133】STATUS REQUESTコマンド
は、走査エンジン1200から状態を求める。スキャナ
は走査要素やレーザの現在の状態で応答する。OPEN
Y DONEメッセージは走査エンジン1200が最
大プログラムY開口に到達してしまったことをしめす状
態メッセージである。このメッセージはOPEN Yコ
マンドに従うのみである。
【0134】CLOSE Y DONEメッセージは、
走査エンジン1200がY方向のラスタをクローズする
のを終了する時に送られる状態メッセージである。それ
は、CLOSE Yコマンドに従うのみである。STA
TUSメッセージは、STATUSコマンドに対する走
査エンジン1200の応答である。それはレーザおよび
ニブル2520中の走査要素の状態を示す。
【0135】RESET DONEメッセージは、うま
くパワーアップするに従って送られ、そして走査エンジ
ン1200がZIP直列インタフェース1270上のコ
マンドを今受けとれるということを示す。ニブル252
0は、マイクロプロセッサ1211で実行される走査エ
ンジンソフトウエアのバージョン番号を含む。 4.簡略化された走査高さ制御 上述した本発明のある種の態様では、走査エンジン12
00のような走査エンジンの使用を必要としない。例え
ば、走査高さにおける変化は、走査エンジン1200の
自在性と強靭さを失うが、もっと簡単な回路で達成する
ことができる。図27は、回路2700の一方式を示
す。
【0136】回路2700は、感知されたバーコードが
2次元バーコードであることを示す入力信号2710と
して受け取る。信号2710は、振幅制御回路2720
が制御信号Vcを感知された記号が2次元バーコードで
符号化されているとき走査パターンの高さを増すように
しむける。図28は、時間の関数としてVcを示す。V
cは時間Toでより大きなパターンで走査が開始される
まで最初の振幅V1を維持する。その時間から、Vcは
時間T1(パターンがその最大高さに広がってしまった
時である)まで直線的に上がる。その時、VcはV2に
ある。
【0137】回路2700において、乗算器2740
は、VをY軸発振器2730からの信号と混合する。そ
してY軸駆動手段(ドライバー)2750は、その混合
された信号をRASEのためのマイラーマウントのよう
にY軸走査要素2760を制御するため使用する。それ
ゆえ、回路2700は、すべてのモードで働く。スキャ
ナ100が走査しない時、あるいはそれが1次元バーコ
ードを走査している時には、Vcは最初の値V1のまま
である。スキャナ100が2次元バーコードを走査して
いる時、回路2700は、より大きいパターンを作るた
めVcを増す。
【0138】図29は、Vcを生成するための振幅制御
回路の好ましい実施例を示す。信号2710は、値C1
である充電コンデンサ2920に並列接続されたアナロ
グスイッチ2910にクロスして接続される。コンデン
サ2920とスイッチ2910の両方の一端は、作動増
幅器2930の逆相端子と、可変抵抗2940の一端に
接続する。抵抗2940の他端はグラウンドにつなが
る。抵抗2940の値は、R8である。コンデンサ29
20とスイッチ2910の他端は、抵抗2950を通し
て作動増幅器2930の出力に接続する。抵抗2950
の値は、R9である。
【0139】オペアンプ2930の非反転入力は、値が
それぞれR6,R7である抵抗2960と抵抗2965
によって作られる分圧器の接点に接続する。抵抗296
0はまた供給電圧Vccに接続し、抵抗2965はまた
グラウンドにつながる。スイッチ2910、コンデンサ
2920、抵抗2950の接点は、またツェナーダイオ
ード2970と接続され、出力電圧信号Voを作る。ツ
ェナーダイオード2970はブレークダウン電圧Vを持
ち、グラウンドにも接続する。抵抗2950の値、R9
はツェナーダイオード2970中の電流を安全レベルに
制限するように選ばれる。
【0140】電圧V0の出力は、電位差計2980の終
端にあらわれ、その値は、R10である。電位差計29
80の他端はグランドにあり、そして制御電圧Vは、電
位差計2980のワイパーアームにあらわれる。スキャ
ナが2次元バーコードを走査していないときは、信号2
710は低値で、スイッチ2910は閉じている。これ
は、コンデンサ2920を放電しV0をVJに等しくさ
せる。そして順次Vcを定値にセットする。
【0141】2次元バーコードを走査するときは、信号
2710は高値で、スイッチ2910は開である。これ
で、コンデンサ2920をVJ,R8,C1でセットさ
れた割合で充電する。回路2720はそれから積分器と
して働き、電圧V0がツエナーダイオード2970のブ
レークダウン電圧Vzにまで直線的に成長させる。その
V0点でそれ以上上昇することはない。制御電圧Vcが
後に続く。電圧V0は、スイッチ2910が閉じ、コン
デンサ2920を急速に放電し、V0をVjに減少させ
るまで、電圧Vzのままである。
【0142】VI 結論 本発明の先に述べた具体例と実施は、示された詳細の発
明に限定されることを意味するものではない。それより
むしろ、種々の変形と構造上の変形が、本発明の精神か
ら離れないで作られる。
【図面の簡単な説明】
【図1】図1は、本発明に従ってレーザ走査システムの
一具体例の概略構成図である。
【図2】図2は、従来のラスタ走査パターンの図であ
る。
【図3】図3は、本発明によるバーコードを感知し、特
定し、解読する好ましい手続きのフローチャートであ
る。
【図4】図4(A)−4(D)は、ラスタ走査光ビーム
とバーコードの例である。
【図5】図5は、走査パターンを斜めに走査するよう1
次元バーコードを横断するラスタ走査パターンを示す。
【図6】図6(A)−6(D)は、最初に走査パターン
を斜めに走査するよう2次元バーコードを横断するラス
タ走査パターンの例である。
【図7】図7は、本発明によるラスタパターン制御を示
す高水準ダイアグラムである。
【図8】図8は、走査パターンを斜めに走査する記号の
概要を示す正面図である。
【図9】図9は、2次元記号の全ラスタ走査をみたすた
めの手続きの流れ図である。
【図10】図10は、全ラスタモードでのスキャナの制
御を示す走査システムのブロック図である。
【図11】図11は、走査目標物がバーコードであるか
どうかを決定する回路図である。
【図12】図12は、走査エンジンのブロック図であ
る。
【図13】図13は、図12の走査エンジンに用いられ
たPWM調整器の好ましい構成を示す図である。
【図14】図14は、図13のPWM調整器で使用のス
イッチを示す図である。
【図15】図15(A)は本発明において使用可能なR
ASE、マイラーサポートの周波数応答の図であり、図
15(B)はRASEに関して大きさ及び位相の変化を
周波数の関数として示す図である。
【図16】図16は、きめの粗い振幅調整を示す2つの
正弦波の図である。
【図17】図17は、きめの細かい振幅調整を示す2つ
のトレースの図である。
【図18】図18は、温度でRASEの共振周波数の変
化を示すグラフである。
【図19】図19は、図12で示されるディジタル駆動
信号のための正弦波の合成方法を説明する図である。
【図20】図20は、図12における走査エンジンのモ
ータ制御のための動作フローチャートである。
【図21】図21は、ラスタ走査をするための手続きの
フローチャートである。
【図22】図22(A)−22(C)は、図12におい
て走査エンジンの好ましい組立を示す異なった透視図で
ある。
【図23】図23(A)−23(C)は、走査パターン
とそれの走査している図である。
【図24】図24は、図12における走査エンジンと他
のサブシステムとのインタフェースを示すブロック図で
ある。
【図25】図25は、図12で示される走査エンジンで
交換されるコマンドとメッセージのための好ましいフォ
ーマットを示す図である。
【図26】図26は、図25のフォーマットを用いて交
換されるコマンドとメッセージのリストである。
【図27】図27は、ラスタ走査パターンの高さを変化
させるための回路のブロック図である。
【図28】図28は、時間関数として図27の信号の一
つの変化を示す。
【図29】図29は、図27に用いた振幅制御回路のブ
ロック図を示す。
【符号の説明】
700 ラスタ制御プロセッサ 710 走査エンジン 1010 スキャナ 1020 スキャナインタフェース 1030 解読器 1040 D/Aコンバータ 1050 D/Aコンバータ 1060 フィードバック信号
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハロルド チャリック アメリカ合衆国 ニューヨーク州 11733 イースト セトウケット アベイ レー ン 31 (72)発明者 ジェームス ジーベル アメリカ合衆国 ニューヨーク州 11803 イースト ノースポート ウイリアムズ ストリート 22 (72)発明者 ステファン オスターウェル アメリカ合衆国 ニューヨーク州 11731 プレインビュー ウィットロック スト リート 25 (72)発明者 サンディープ クーマー アメリカ合衆国 ニューヨーク州 11733 イースト セトウケット バニー レイ ン 32 (72)発明者 ジョン バリレ アメリカ合衆国 ニューヨーク州 11741 ホルブルック サウス ロバーツ スト リート 275 (72)発明者 ポール アール ポロニィウィックズ アメリカ合衆国 ニューヨーク州 11733 イースト セトウケット バッキンガム メドウ ロード 2 (72)発明者 アンソニー ディ ビィウゾ アメリカ合衆国 ニューヨーク州 11720 サウス セトウケット ベルウッド ア ベニュー 24 (72)発明者 スチーブン エム チュー アメリカ合衆国 ニューヨーク州 11731 イースト ノースポート クレイ ピッ ツ ロード 340

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 所望の磁界を作るため、コイルを駆動す
    る制御回路であって、 前記コイルに接続され、アナロ
    グ駆動信号によってコイルを通して流れる所望の電流を
    生じるパルス幅変調調整器と、 前記パルス幅変調調整器に接続され、ディジタル駆動信
    号からアナログ駆動信号を生成するディジタル/アナロ
    グ変換器と、 前記ディジタル/アナログ変換器に接続され、前記ディ
    ジタル駆動信号を生成するためのコントローラとを有す
    ることを特徴とする駆動制御回路。
  2. 【請求項2】 コイルの駆動方法において、 アナログ駆動信号によってコイルを通して流す所望の電
    流信号を生じるステップと、 ディジタル駆動信号から前記アナログ駆動信号を生成す
    るステップと、 前記ディジタル駆動信号を生成するステップと、を有す
    ることを特徴とするコイル駆動方法。
  3. 【請求項3】 所望の走査パターンを生成する走査要素
    を駆動するための制御回路であって、 前記走査要素の動きを制御するための磁界を発生させる
    コイルと、 前記コイルに接続され、アナログ駆動信号によって前記
    コイルを通して流れる所望の電流を生じるためのパルス
    幅変調調整器と、 前記パルス幅変調回路に接続され、ディジタル駆動信号
    から前記アナログ駆動信号を生成するディジタル/アナ
    ログ変換器と、 前記ディジタル/アナログ変換器に接続され、前記ディ
    ジタル駆動信号を生成するためのコントローラと、 を有することを特徴とする駆動制御回路。
  4. 【請求項4】 コイルによって作られる磁界を通して走
    査要素を制御するステップを有し、該走査要素を駆動す
    るための方法であって、 アナログ駆動信号によって前記コイルを通して流れる所
    望の電流信号を生成するステップと、 ディジタル駆動信号から前記アナログ駆動信号を作成す
    るステップと、 前記ディジタル駆動信号を生成するステップと、 を有することを特徴とする駆動方法。
  5. 【請求項5】 物体の光学的走査を制御するための制御
    システムにおいて、 物体に対して光ビームを相対的に動かす走査要素と、 外部コマンドを受け取り、該外部コマンドから内部制御
    信号を生成し、メッセージを形成するプロセッサと、 前記内部走査制御信号に応答して予め決められたパター
    ンで前記光ビームを動かすようにする前記走査要素に電
    圧を加えるための走査要素駆動手段と、を有する走査制
    御部と、 該走査制御部に接続され、 前記走査要素に向けて前記光ビームを差し向ける光ビー
    ムスキャナと、 前記物体から反射した光ビームの1部を受け、受光した
    反射光ビームを示す電気信号を生成するように設けられ
    た検出器と、 前記電気信号を受け、前記外部コマンドを形成し、前記
    メッセージを受け取る、ための中央制御手段と、を有す
    る検出部と、 前記検出器部と前記走査制御部との間に設けられ、定義
    フォーマットのコマンドを前記検出部から前記走査制御
    部へ転送し、前記定義フオーマットのメッセージを前記
    走査制御部から前記検出部へ転送するためのインタフェ
    ースチャンネルと、を設けたことを特徴とする制御シス
    テム。
  6. 【請求項6】 2次元パターンを横切って光ビームを走
    査するスキャナーにおいて、 前記光ビームを生成するための光源と、 前記2次元パターン内に光ビームを動かすための走査要
    素と、 前記走査要素が、X軸駆動信号に応答して第1の周波数
    で第1の方向に光ビームを動かせるようにしたX軸駆動
    手段と、 前記走査要素が、Y軸駆動信号に応答して第2の周波数
    で前記第1の方向とは互いに直角となるような第2の方
    向に光ビームを動かせるようにしたY軸駆動手段と、 互いに整数倍の関係に無い第1と第2の周波数で、X軸
    駆動信号とY軸信号を生成することにより、前記2次元
    パターンをに歳差運動セスさせる走査制御回路と、 を設けたことを特徴とするスキャナ。
  7. 【請求項7】 定義された境界を持つバーコード記号を
    読むためのバーコードリーダにおいて、 予め決められたパターンで目標物に光ビームを指向する
    ための光ビームスキャナと、 目標物からの反射された光ビームの一部を受け、受光し
    た反射光ビームを示す電気信号を生成する検出器と、 前記目標物がバーコード記号であるか否かを決定するた
    めの識別手段と、 前記電気信号に応答し、前記目標物がバーコード記号で
    あるならば、その目標物の境界まで予め決まったパター
    ンの形状を適合させるように前記スキャナを制御するた
    めのフィードバック手段と、 を設けたことを特徴とするバーコードリーダ。
JP7283476A 1994-10-31 1995-10-31 駆動制御回路 Pending JPH08212284A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7283476A JPH08212284A (ja) 1994-10-31 1995-10-31 駆動制御回路

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/332,581 US5561283A (en) 1988-10-21 1994-10-31 Laser scanning system and scanning method for reading bar codes
US08/332581 1994-10-31
JP7283476A JPH08212284A (ja) 1994-10-31 1995-10-31 駆動制御回路

Publications (1)

Publication Number Publication Date
JPH08212284A true JPH08212284A (ja) 1996-08-20

Family

ID=36406229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7283476A Pending JPH08212284A (ja) 1994-10-31 1995-10-31 駆動制御回路

Country Status (1)

Country Link
JP (1) JPH08212284A (ja)

Similar Documents

Publication Publication Date Title
CA2161357C (en) Laser scanning system and scanning method for scanning bar codes
US6348773B1 (en) Laser scanner for controlling the optical scanning of bar codes
US5115121A (en) Variable-sweep bar code reader
US6328212B1 (en) System for reading data on different planes of focus based on reflected light
US5280163A (en) Drive circuit for resonant motors
EP0469305B1 (en) Light emitting diode scanner
JP4842255B2 (ja) 印の電気光学的読取り用複数走査線パターン発生のための同期・共振ドライブ
US6015090A (en) Hand mountable adaptive barcode scanner
ATE205948T1 (de) Anpassbarer strichkodeleser
JPH06187481A (ja) バーコードを読み取る方法
EP1924950B1 (en) Scan engine with dual chip architecture for use in electro-optical readers
US5136147A (en) Light emitting diode scanner
US8861059B2 (en) Method and apparatus for controlling mirror motion in light scanning arrangements
US5828050A (en) Light emitting laser diode scanner
JPH08212284A (ja) 駆動制御回路
EP0997836B1 (en) Laser beam scan type barcode reader and program recording mediums
CA2579505C (en) Laser scanning system and scanning method for scanning bar codes
DE50109541D1 (de) Vorrichtung und Verfahren zur Erkennung von Codes
US5614705A (en) Device for optically reading out information by use of laser beam
KR960003056B1 (ko) 바코드를 판독하기 위한 라스터 주사시스템과 주사장치 및 주사방법
JPH06111046A (ja) バーコード読み取り装置
GB2278217A (en) Bar code scanner
JPH0816704A (ja) 情報読取装置における走査駆動機構の制動装置
JPH0498381A (ja) 記号読取装置
JPH08329184A (ja) バーコード記号読み取り装置