(57)【特許請求の範囲】
【請求項１】
シリアルでデータを送るエンコーダのデータをＡＢ等複数相のパルス列に変換するデータ変換回路であって、該データ変換回路は、伝送制御部と、シリアル／パラレル変換部と、カウンターと、第１の演算論理回路（ＡＬＵ）と、該第１ＡＬＵの出力を保持する第１のＤ型フリップフロップ（ＤＦＦ）と、該１ＤＦＦの出力が入力されるＤＤＡ（デジタル微分解析機）と、を備えてなり、前記ＤＤＡは第２の演算論理回路（ＡＬＵ）と第２Ｄ型フリップフロップ（ＤＦＦ）とデコーダで構成され、前記第２ＡＬＵではバス上のデータと前記第１ＤＦＦ回路の出力を加算して、前記第２ＤＦＦへ出力し、前記第２ＤＦＦでは前記第２ＡＬＵの出力を受けて内部クロック信号ＣＰに従いバス上に出力し、前記デコーダでは前記第２ＡＬＵで発生するキャリー信号Ｃと前記第１ＤＦＦ回路からの正負判別用のデータＭＳＢを入力してエンコーダの回転方向に対応するパルス列を前記カウンターに出力するものであるデータ変換回路において、
前記第１ＡＬＵと前記ＤＤＡとの間に第１のＤ型フリップフロップ（ＤＦＦ）回路が挿入され、
前記エンコーダのデータが前記伝送制御部へ入力され、前記伝送制御部ではＣＲＣ演算結果が正常な時は読込まれたデータを前記シリアル／パラレル変換部へ入力してパラレルデータに変換すると同時にサンプリング・クロックを前記第１ＤＦＦ回路へ送出し、
一方、前記シリアル／パラレル変換部からのパラレルデータと前記カウンターのカウント数とが前記第１ＡＬＵに入力され、前記第１ＡＬＵでは前記パラレルデータから前記カウンターのカウント数を減算した差分データを前記第１ＤＦＦ回路へ出力し、
前記第１ＤＦＦ回路では、前記サンプリング・クロックが出力されているときは前記第１ＡＬＵからの前記差分データを出力し、前記サンプリング・クロックが出力されない場合には保持している前回のパルスを出力することを特徴とするデータ変換回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サーボドライブ・システムにおけるシリアルでデータを送るシリアルエンコーダのデータをパルス列に変換する回路に関する。
【０００２】
【従来の技術】
従来のサーボドライブ・システムにおけるシリアルエンコーダのパルス列変換方式については、アブソリュート・エンコーダから出力された絶対位置データをインクリメンタル・パルス列に変換して使用するためのデータ変換回路が、特開昭６３−１７９２１３号公報に開示されている。
図３はその従来のデータ変換回路のブロック図である。図３において、アブソリュート・エンコーダの回転開始と共に絶対位置データがシフトレジスタ１０へ入力し、この直列データはクロックＣＬＫの一定周期Ｔ毎に並列変換されてＡＬＵ（演算論理回路）３０へ入力する。可逆カウンタ２０は入力パルス信号をアップ又はダウンカウントする。ＡＬＵ３０はシフレジスタ１０からの入力と可逆カウンタ２０の出力を入力し、前者のデータから後者のカウント数を減算して差分データとして出力する。
ＡＬＵ４０はバス７上のデータとＡＬＵ３０の出力を加算して、Ｄ型フリップフロップ（ＤＦＦ）５０はＡＬＵ４０の出力を受けて内部クロック信号ＣＰに従いバス７上に出力する。デコーダ６０はＡＬＵ４０で発生するキャリー信号Ｃと、ＡＬＵ３０からの正負判別用のデータＭＳＢを入力して、内部クロックＣＰに従い、
▲１▼  ＭＳＢ：０の時には、エンコーダの正回転方向に対応するパルス列＋ＦＢを、
▲２▼  ＭＳＢ：１の時は、エンコーダの負方向回転に対応する−ＦＢを出力し、それぞれ可逆カウンタ２０の端子ＵＰ、ＤＯＷＮに入力させることによって、可逆カウンタ２０のカウント値は常にエンコーダの出力する絶対位置データに追従する。したがって、デコーダから出力するパルス列＋ＦＢ、−ＦＢは、エンコーダの絶対位置データから変換された通常のインクリメンタル・フィードバックパルス信号として、サーボ・ドライブシステム、プグラマブル・コントローラシステム等で使用できる。
上の図３に示した回路の構成は、ＤＤＡ方式（デジタル・データの補間回路方式）と呼ばれる周知の回路であって、ＡＬＵ２０の差分データを、ＡＬＵ４０とＤ−ＦＦ５０とデコーダ６０とで構成する積分回路で積分してＣＰによるパルス列に変換するものであ。
また、このＤＤＡ方式以外に、周知のＢＲＭ方式（バイナリー・レート、マルチプライヤー）によっても積分回路を構成することができる。この場合も同じように、可逆カウンタと双方向ＢＲＭ回路、Ｄ−ＦＦ回路、デマルチプレクサ等による構成で、アップパルス、ダウンパルスを作成することで実現できる。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来例においては、差分データを基にパルス列変換を行うものであり、例えば、図２に示すサンプリング・クロックの説明図のように、エンコーダの位置情報Ｓ（ＮＯ１、２、３、４、５・・・）は単位時間に受信して、カウンタのカウント値Ｃとの差、（Ｓ−Ｃ）を演算して積分演算を行い出力パルスを作成しているので、もしも伝送エラーが発生すると、図２のエンコーダ位置情報Ｓ−ＮＯ４のように、入力データが入力しないために差分データは“０”になり、出力は停止して、その後で点線部で示すように倍の周波数のパルスを出力するという事態が発生する。
このように、単純に従来のＤＤＡ方式を実施すると、シリアルエンコーダから送られたデータがＨＤＬＣにおけるＣＲＣの演算エラー等が発生した時に、エンコーダデータが更新されず最悪の場合パルスが停止してしまい、サーボドライブ・システム全体が制御不能に陥る危険があった。
そこで、本発明は、サーボドライブ・システムにおけるシリアルエンコーダの送出データをパルス列に変換する回路において、伝送異常が発生しても出力パルスの変動が無いデータ変換回路を提供することを目的としている。
【０００４】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載のデータ変換回路の発明によると、シリアルでデータを送るエンコーダのデータをＡＢ等複数相のパルス列に変換するデータ変換回路であって、該データ変換回路は、伝送制御部と、シリアル／パラレル変換部と、カウンターと、第１の演算論理回路（ＡＬＵ）と、該第１ＡＬＵの出力を保持する第１のＤ型フリップフロップ（ＤＦＦ）と、該１ＤＦＦの出力が入力されるＤＤＡ（デジタル微分解析機）と、を備えてなり、前記ＤＤＡは第２の演算論理回路（ＡＬＵ）と第２Ｄ型フリップフロップ（ＤＦＦ）とデコーダで構成され、前記第２ＡＬＵではバス上のデータと前記第１ＤＦＦ回路の出力を加算して、前記第２ＤＦＦへ出力し、前記第２ＤＦＦでは前記第２ＡＬＵの出力を受けて内部クロック信号ＣＰに従いバス上に出力し、前記デコーダでは前記第２ＡＬＵで発生するキャリー信号Ｃと前記第１ＤＦＦ回路からの正負判別用のデータＭＳＢを入力してエンコーダの回転方向に対応するパルス列を前記カウンターに出力するものであるデータ変換回路において、前記第１ＡＬＵと前記ＤＤＡとの間に第１のＤ型フリップフロップ（ＤＦＦ）回路が挿入され、前記エンコーダのデータが前記伝送制御部へ入力され、前記伝送制御部ではＣＲＣ演算結果が正常な時は読込まれたデータを前記シリアル／パラレル変換部へ入力してパラレルデータに変換すると同時にサンプリング・クロックを前記第１ＤＦＦ回路へ送出し、一方、前記シリアル／パラレル変換部からのパラレルデータと前記カウンターのカウント数とが前記第１ＡＬＵに入力され、前記第１ＡＬＵでは前記パラレルデータから前記カウンターのカウント数を減算した差分データを前記第１ＤＦＦ回路へ出力し、前記第１ＤＦＦ回路では、前記サンプリング・クロックが出力されているときは前記第１ＡＬＵからの前記差分データを出力し、前記サンプリング・クロックが出力されない場合には保持している前回のパルスを出力することを特徴としている。
上記のような構成とすることにより、伝送エラーが発生した時は前回と同じデータを加算できるようにすることで、出力パルスの変動を防止できる。
【０００５】
【発明の実施の形態】
以下、本発明の実施の形態について図を参照して説明する。
図１は本発明の実施の形態に係るデータ変換回路のブロック図であり、図２は図１に示すサンプリングクロックの説明図である。
図１において、１は差分データのＡＬＵ３０の出力側とデータ加算ＡＬＵ４０の入力側との間に接続される本発明に用いられるＤ型フリップフロップ（ＤＦＦ）１である。
シリアルエンコーダのデータはＨＤＬＣ方式の伝送制御部３へ入力され、ＣＲＣ演算結果が正常な時は読込まれたデータはシフトクロックでシリアル／パラレル変換部４へ入力してパラレルデータに変換され、シフトクロックに基づくサンプリング・クロックをインバータ２を介してＤＦＦ１−１へ送出する。ＥＸＯＲ（排他的論理和）回路５はＡ相、Ｂ相パルスの作成回路である。図３に示した従来回路と同一回路には同一符号が付されている。すなわち、２０は可逆カウンタで、入力パルス信号をアップ又はダウンカウントする。３０はＡＬＵ（演算論理回路）で、シリアル／パラレル変換部４からの入力Ｓと可逆カウンタ２０の出力Ｃを入力し、前者のデータから後者のカウント数を減算して差分データとして本発明に用いられるＤ型フリップフロップ（ＤＦＦ）１へ出力する。４０はＡＬＵ（演算論理回路）で、バス７上のデータとＤ型フリップフロップ１の出力を加算して、Ｄ型フリップフロップ（ＤＦＦ）５０へ出力する。Ｄ型フリップフロップ（ＤＦＦ）５０はＡＬＵ４０の出力を受けて内部クロック信号ＣＰに従いバス７上に出力する。デコーダ６０はＡＬＵ４０で発生するキャリー信号Ｃと、Ｄ型フリップフロップ１からの正負判別用のデータＭＳＢを入力して、内部クロックＣＰに従い、
▲１▼  ＭＳＢ：０の時には、エンコーダの正回転方向に対応するパルス列＋ＦＢを、
▲２▼  ＭＳＢ：１の時は、エンコーダの負方向回転に対応する−ＦＢを出力し、それぞれ可逆カウンタ２０の端子ＵＰ、ＤＯＷＮに入力させることによって、可逆カウンタ２０のカウント値は常にエンコーダの出力する絶対位置データに追従する。したがって、デコーダから出力するパルス列＋ＦＢ、−ＦＢは、エンコーダの絶対位置データから変換された通常のインクリメンタル・フィードバックパルス信号として、サーボ・ドライブシステム、プグラマブル・コントローラシステム等で使用できる。
つぎに動作について説明する。
データの伝送をＨＤＬＣで行う伝送制御部３はシリアルエンコーダのデータを読み込み、シフトクロックでシリアル／パラレル変換部４を送ると同時に、ＣＲＣの演算結果が正常な時は、サンプリング・クロックをインバータ２を介してＤＦＦ１−１へ送出する。サンプリング・クロックはＣＲＣの演算結果にエラーがあれば送出されない。
シリアル／パラレル変換されたパラレルデータＳからアップダウンカウンタ２０のカウント数ＣをＡＬＵ３０で減算する。減算した差分データは、図２の水平Ｔ軸の目盛に示すサンプリング・クロックが入力中で、クロックの下降エッジでラッチされて正常に動作しているＤＦＦ１−１を介して、加算ＡＬＵ４０へ入力しＤＦＦ２−５０の出力と加算される。デコーダ６０はＭＳＢとキャリーを入力して、パルス列を出力する。アップダウンカウンタ２０では入力するパルス列をカウントして、カウンタ２０のＬＳＢと次のビットよりＥＸＯＲ回路５で、シリアルエンコーダの入力データに追従するＡ、Ｂ相２相のパルス列を出力する。
一方、伝送エラーの発生時は、ＣＲＣの演算エラーが発生するとサンプリング・クロックは伝送制御部３から出力されないので、図２のエンコーダ一位置情報Ｓ−Ｎ０４の時のように欠落となって、ＤＦＦ１−１は前回のデータを保持したままとなり、ＤＦＦ１−１からは保持している前回のデータが後段へ出力され、前回と同じパルスが加算回路へ出力されるので、エンコーダの入力データが１時停止しても、図２に点線部分で示した従来例でのＤＦＦ１−１が無い時のパルスの跳躍、停止といった危険現象は防止され、連続性が維持される。
この場合の出力パルス数は、伝送が正常に復した時に変換部４のシフトレジスタのデータと比較され、正常演算へ収斂するので問題はない。
なお、本実施の形態ではここまで、ＤＤＡ方式の回路例について説明したが、同様な構成によってＢＲＭ方式の回路でも実現可能であることは勿論である。
【０００６】
【発明の効果】
以上説明したように、本発明によれば、エンコーダのデータがＣＲＣ等の伝送エラーが発生した時には、伝送データが正常な場合のみ出力されるサンプリング・クロックによって動作するＤＦＦ回路から、保持する前回のパルスを出力するように構成したので、データの伝送異常が発生しても出力パルスの変動は無く、サーボドライブ・システム全体に悪影響を及ぼさないデータ変換回路を供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るデータ変換回路のブロック図である。
【図２】図１に示すサンプリング・クロックの説明図である。
【図３】従来のデータ変換回路のブロック図である。
【符号の説明】
１、５０  Ｄ型フリップフロップ（ＤＦＦ）
２  インバータ
３  伝送制御部
４  シリアル／パラレル変換部
５  ＥＸＯＲ（排他的論理和）回路
７  バス
１０  シフトレジスタ
２０  可逆カウンタ
３０、４０  ＡＬＵ（演算論理回路）
６０  デコーダ
【図１】
0003994231.tif 000002
【図２】
0003994231.tif 000003
【図３】
0003994231.tif 000004