(57)【特許請求の範囲】
【請求項１】
主端末装置と、主端末装置ヘのデータ送信の順序を決定する優先順位が定められている複数の副端末装置とを、１本の通信ラインで共通に接続し、通信ラインは待機状態では予め定める第１の電位であり、各端末装置は、第１の電位とそれよりも低い予め定める第２の電位とを所定のタイミングで切換えることによってデータを作成して送信し、各副端末装置は、主端末装置からの要求データに応答し、要求データに対する応答データを優先順位に従って順番に送信するデータ通信装置において、
各副端末装置は、
通信ラインが前記第２の電位になるとリセットされ、通信ラインが待機状態である期間を計時する計時手段と、
前記計時手段による計時期間が予め定める待機期間を超えたことを検知する第１の検知手段と、
前記第１の検知手段による検知回数を計数し、要求データを受信するまで検知回数を積算し、要求データを受信するとリセットする計数手段とを備え、
前記計数手段によって積算される計数値が予め定める基準値と一致し、かつ前記第１の検知手段によって待機期間を超えたことが検知されたときに、応答データを送信して通信処理を終了し、
副端末装置に設定される前記基準値は、前記優先順位に対応して選ばれることを特徴とするデータ通信装置。
【請求項２】
前記副端末装置は、前記計時手段による計時期間が前記待機期間よりも長い第２の待機期間を超えたことを検知する第２の検知手段を備え、
前記第２の検知手段の出力に応答して、前記計数手段の計数値に１加算することを特徴とする請求項１記載のデータ通信装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、車両に搭載された複数のＥＣＵ（Electronic Control Unit）間のデータ通信に好適に実施されるデータ通信装置に関する。
【０００２】
【従来の技術】
図１は、本発明の前提となるデータ通信装置１の全体的構成を示すブロック図である。データ通信装置１は、１つのマスタ端末装置Ｍと、複数のスレーブ端末装置Ｓ１〜Ｓｎ（総称するときは参照符Ｓを用いる）とを含んで構成される。端末装置Ｍ，Ｓは、通信ラインＫによって接続されている。データ通信装置１は、ＩＳＯ９１４１（国際標準規格）に準拠した通信方式が実施される。この通信方式は、いわゆるマスタスレーブ方式であり、マスタ端末装置Ｍから複数のスレーブ端末装置Ｓに対して要求データを送信し、各スレーブ端末装置Ｓは要求データを受信し、それぞれのスレーブ端末装置Ｓがマスタ端末装置Ｍに応答データを送信する方式である。スレーブ端末装置Ｓ１〜Ｓｎには、予め優先順次が定められており、優先順位の上位のスレーブ端末装置から順番にマスタ端末装置Ｍに対して応答データを送信する。ここでは、参照符Ｓの添字１〜ｎが優先順位を表すものとする。
【０００３】
端末装置Ｍ，Ｓは、待機状態では予め定める第１の電位（ハイレベル）に設定されている通信ラインＫを、前記第１の電位より低い予め定める第２の電位（ローレベル）に引下げる手段を有し、これら２つのレベルを所定のタイミングで切換えることによってビットデータを作成し、データを送信する。予め定める数のビットデータによってバイトデータが構成され、さらに予め定める数のバイトデータによってメッセージデータが構成される。このメッセージデータが前記要求データおよび応答データに相当する。
【０００４】
図１３は、図１に示すデータ通信装置１において実行される従来の通信手順を説明するためのタイムチャートである。マスタ端末装置Ｍからの要求データを受信してから、各スレーブ端末装置Ｓ１〜Ｓｎは、それぞれの優先順位に応じて予め定められたタイミングパラメータＴ１〜Ｔｎだけ経過した後に応答データを送信するように構成されている。要求データと応答データとの間は、および応答データ同士の間は、予め定める期間Ｔ０だけ間隔をあける必要がある。
【０００５】
したがって、スレーブ端末装置Ｓ１が要求データを受信してから応答データを送信するまでの期間を規定するタイミングパラメータＴ１は、期間Ｔ０に等しく、またはそれよりも大きく選ばれる。スレーブ端末装置Ｓ２が要求データを受信してから応答データを送信するまでの期間を規定するタイミングパラメータＴ２は、前記タイミングパラメータＴ１と、スレーブ端末装置Ｓ１が応答データを送信する際に必要とする期間と、前記予め定める期間Ｔ０との総和に等しく、あるいはそれよりも大きく選ばれる。他のスレーブ端末装置Ｓ３〜Ｓｎについても同様にしてタイミングパラメータＴ３〜Ｔｎが決定される。
【０００６】
【発明が解決しようとする課題】
上述の通信手順が実行されるデータ通信装置１では、スレーブ端末装置Ｓがマスタ端末装置Ｍに送信する応答データのデータ量が制限されてしまう。すなわち、送信するデータ量が多く、応答データの送信期間が長くなると、期間Ｔ０を確保することができなくなり、通信エラーが発生するおそれがある。また、次のスレーブ端末装置の応答期間に重なってしまい、データが破壊されてしまうおそれがある。
【０００７】
また、前記タイミングパラメータＴ１〜Ｔｎは、車両に搭載するＥＣＵの数および種類に応じて設定しなければならない。したがって、車両に搭載するＥＣＵの数や種類は、車種によって異なるため、同一機能のＥＣＵであっても、異なる車種であれば異なるパラメータを設定する必要があり、設定作業が面倒である。
【０００８】
本発明の目的は、応答データの通信タイミングを正確に制御することができ、データ通信を円滑に行うことができるデータ通信装置を提供することである。
【０００９】
【課題を解決するための手段】
本発明は、主端末装置と、主端末装置ヘのデータ送信の順序を決定する優先順位が定められている複数の副端末装置とを、１本の通信ラインで共通に接続し、通信ラインは待機状態では予め定める第１の電位であり、各端末装置は、第１の電位とそれよりも低い予め定める第２の電位とを所定のタイミングで切換えることによってデータを作成して送信し、各副端末装置は、主端末装置からの要求データに応答し、要求データに対する応答データを優先順位に従って順番に送信するデータ通信装置において、
各副端末装置は、
通信ラインが前記第２の電位になるとリセットされ、通信ラインが待機状態である期間を計時する計時手段と、
前記計時手段による計時期間が予め定める待機期間を超えたことを検知する第１の検知手段と、
前記第１の検知手段による検知回数を計数し、要求データを受信するまで検知回数を積算し、要求データを受信するとリセットする計数手段とを備え、
前記計数手段によって積算される計数値が予め定める基準値と一致し、かつ前記第１の検知手段によって待機期間を超えたことが検知されたときに、応答データを送信して通信処理を終了し、
副端末装置に設定される前記基準値は、前記優先順位に対応して選ばれることを特徴とするデータ通信装置である。
また本発明は、前記副端末装置は、前記計時手段による計時期間が前記待機期間よりも長い第２の待機期間を超えたことを検知する第２の検知手段を備え、
前記第２の検知手段の出力に応答して、前記計数手段の計数値に１加算することを特徴とする。
【００１０】
【作用】
本発明に従えば、主端末装置から要求データが送信され、副端末装置によって受信されると、計数手段は計数値をリセットする。また要求データの受信終了時から計時手段によって、通信ラインが待機状態である期間、すなわちデータ送信が行われていない期間の計時が開始される。計時手段による計時期間が予め定める待機期間を超えると、基準値として「０」が設定されている優先順位が最上位の副端末装置は応答データを送信して通信処理を終了する。これによって第１の検知手段から検知信号が出力され、計数手段の計数値は「１」になる。各副端末装置には、優先順位に対応して基準値が設定されており、最上位のものから「０」、「１」、「２」、…のように選ばれている。この応答データが送信されたことによって計時手段はリセットされ、応答データの送信終了時から再び計時手段による計時動作が開始され、通信ラインが待機状態である期間が計時される。予め定める待機期間を超えると、基準値として「１」が設定されている副端末装置が応答データを送信する。計数手段の計数値は「２」になる。以下、このように、基準値が計数手段の計数値に一致する副端末装置が応答して、優先順位が最下位の副端末装置が応答データを送信するまで繰返される。したがって各副端末装置は、主端末装置からの要求データを受信してから、予め定める待機期間だけ間隔をあけて優先順位の高いものから順番に応答データを送信してゆく。ただし、繰返しの途中でも、主端末装置からの要求データが受信されれば、計数手段の計数値がリセットされるので、優先順位が最上位の副端末装置から順番に応答データを送信するように変更することができる。このように、副端末装置が応答データを送信するタイミングを正確に制御することができる。
【００１１】
また好ましくは、第２の検知手段によって、計時期間が待機期間よりも長い第２の待機期間を超えたことが検知されると、副端末装置は計数手段の計数値に１加算する。すなわち、計数値と基準値とが一致した副端末装置が応答データを送信せずに、待機状態が第２の待機期間を超えると、副端末装置の計数手段の計数値が１加算する。これによって本来応答データを送信すべき副端末装置より１つ下位の副端末装置において、計数値と基準値とが一致して応答データが送信される。副端末装置が正常に動作していれば、たとえば計数手段の計数値が「０」であれば優先順位が最上位の副端末装置は応答データを送信し、これによって計時手段はリセットされるが、何らかの異常が発生して副端末装置が応答データを送信できなければ計時手段がリセットされず、また計数値もたとえば「０」のまま継続し、どの副端末装置も応答データを送信できなくなる。そこで、計時期間が待機期間よりも長い第２の待機期間を超えたことが検知されると、各副端末装置は計数手段の計数値に１加算する。これによって、疑似的に優先順位が繰上がることになり、計数値と基準値とが一致した副端末装置は応答データを送信する。下位の端末装置についても同様である。このように、異常などが発生して応答データを送信しない副端末装置を飛ばして、それ以降の副端末装置が順番に応答データを送信してゆく。これによって、データ送信を確実に行うことができ、データ送信が行われない空白期間が長期間継続することによって通信が強制的に終了してしまうといった事態が防がれ、データ通信の信頼性が向上する。
【００１２】
また本発明に従えば、主端末装置から要求データが送信され、副端末装置によって受信されると、要求データの受信終了時から計時手段によって、通信ラインが待機状態である期間、すなわちデータ送信が行われていない期間の計時が開始される。計時手段による計時時間が予め定める待機期間を超えると、第１の検出手段から検知信号が出力され、この出力に応答して副端末装置は応答データを送信して通信処理を終了する。前記待機期間は、副端末装置毎に異なり、優先順位が低いほど長い期間に選ばれる。したがって、待機期間が最も短く設定されている優先順位が最上位の副端末装置が、要求データの受信終了後最初に応答データを送信して通信処理を終了する。応答データが送信されたことによって、計時手段はリセットされ、応答データの送信終了時から再び計時手段によって計時動作が開始される。この計時動作では計時期間が、優先順位が第２位の副端末装置に予め定める待機期間を超えたときに、応答データが送信される。このようにして上位から下位へと順番に副端末装置が応答データを送信してゆく。これによって、副端末装置が応答データを送信するタイミングを正確に制御することができる。
【００１３】
さらに好ましくは、副端末装置に設定される待機期間は、優先順位が１つ異なる装置間での差がそれぞれ等しくなるように選ばれる。前記第２の検知手段によって計時期間が所定の基準期間を超えたことが検知されると、第１の検知手段に設定されている待機期間が、前記差の分だけ短くされる。前記所定の基準期間は、優先順位が最上位の端末装置に設定されている待機期間に等しく選ばれる。したがって、待機期間が最も短く設定されている優先順位が最上位の副端末装置がもつ第１の検知手段が検知信号を出力したとき、下位の副端末装置では第２の検知手段からの検知信号が出力され、この検知信号に応答して第１の検知手段に設定される待機期間を前記差の分だけ短くする。これによって優先順位が第２位の副端末装置がもつ第１の検知手段に設定される待機期間は、最上位の副端末装置に設定される待機期間と等しくなる。最上位の副端末装置が応答データを送信し終えた後に、計時手段によって計時動作が開始されると、この計時動作においては第２位の副端末装置が最上位の副端末装置と同じ待機期間を検知した時点で応答データを送信する。このように、上位の副端末装置が応答データを送信する度に、下位の副端末装置では前記所定の差の分だけ第１の検知手段に設定される待機期間が短くされる。したがって応答データを等間隔で送信することができるので、上述した応答データ間の間隔が下位にゆくに従って長くなる場合に比べて、データ送信に要する期間を短縮することができる。
【００１４】
また本発明に従えば、主端末装置から要求データが送信され、副端末装置によって受信されると、要求データの受信終了時から計時手段よって、通信ラインが待機状態である期間、すなわちデータ送信が行われていない期間の計時が開始される。計時手段による計時期間が予め定める待機期間と一致すると、副端末装置は応答データを送信して通信処理を終了する。前記待機期間は、副端末装置毎に異なる値に選ばれ、かつ優先順位が低いほど長い期間に選ばれている。副端末装置は、予め定められている待機期間と一致した時点で応答データが送信可能であれば応答データを送信して通信処理を終了するが、応答データの送信準備等ができておらず、送信が不可能であれば送信を行わない。応答データが送信されないので計時手段はリセットされず、下位の副端末装置において予め定められている待機期間と一致したことが検出され、当該副端末装置がデータ送信可能であれば応答データを送信して通信処理を終了する。この下位の副端末装置からの応答データの送信によって計時手段はリセットされ、応答データの送信終了時から再び計時手段による計時動作が行われる。この計時動作において、まず最初に待機期間と一致したことを検出するのは、上記応答データを送信しなかった上位の副端末装置であり、この時点でデータ送信が可能であれば応答データを送信する。このように上位の副端末装置が何らかの事情で応答データを送信できない場合は、下位の副端末装置が先に応答データを送信する。これによって、異常等が発生した副端末装置を飛ばして応答データを送信することができ、いわゆるマスタスレーブ方式でのデータ通信を確実かつ円滑に行うことができる。
【００１５】
【実施例】
図１は、本発明の前提となるデータ通信装置１の全体的構成を示すブロック図である。データ通信装置１は、１つのマスタ端末装置Ｍと、複数のスレーブ端末装置Ｓ１〜Ｓｎ（総称するときは参照符Ｓを用いる）とを含んで構成される。端末装置Ｍ，Ｓは、通信ラインＫによって接続されている。データ通信装置１は、ＩＳＯ９１４１に準拠した通信方式が実施される。この通信方式は、いわゆるマスタスレーブ方式であり、マスタ端末装置Ｍから複数のスレーブ端末装置Ｓに対して要求データを送信し、各スレーブ端末装置Ｓは要求データを受信し、それぞれのスレーブ端末装置Ｓがマスタ端末装置Ｍに応答データを送信する方式である。スレーブ端末装置Ｓ１〜Ｓｎには、予め優先順位が定められており、優先順位の上位のスレーブ端末装置から順番にマスタ端末装置Ｍに対して応答データを送信する。ここでは、参照符Ｓの添字１〜ｎが優先順位を表すものとする。
【００１６】
端末装置Ｍ，Ｓは、待機状態では予め定める第１の電位（ハイレベル）に設定されている通信ラインＫを、前記第１の電位より低い予め定める第２の電位（ローレベル）に引下げる手段を有し、これら２つのレベルを所定のタイミングで切換えることによってビットデータを作成し、データを送信する。予め定める数のビットデータによってバイトデータが構成され、さらに予め定める数のバイトデータによってメッセージデータが構成される。このメッセージデータが前記要求データおよび応答データに相当する。
【００１７】
図２は、端末装置Ｓの構成を示すブロック図である。なお、端末装置Ｍを基本的には端末装置Ｓと同様の構成であるが、図２に示すように、マスタ端末装置Ｍのバッテリ電位＋Ｂを抵抗Ｒ１を介して通信ラインＬに与える構成が設けられている点が、スレーブ端末装置Ｓと異なる点である。
【００１８】
端末装置Ｓは、データの送信および受信、各種演算、各種制御を実行する制御回路２を含む。制御回路２は、マイクロコンピュータなどで実現され、シリアルデータ入力端子Ｓｉｎ、シリアルデータ出力端子Ｓｏｕｔを備える。端末装置Ｓは接続端子３を備え、接続端子３には通信ラインＫが接続される。接続端子３には、出力バッファ５を介してシリアルデータ出力端子Ｓｏｕｔが接続され、さらに入力バッファ６を介してシリアルデータ入力端子Ｓｉｎが接続される。通信ラインＫは、マスタ端末装置Ｍによって予め定める第１の電位に設定されている。
【００１９】
制御回路２は、シリアルデータ出力端子Ｓｏｕｔからデータを出力し、出力バッファ５によって通信ラインＫを予め定める第２のレベル（ローレベル、通常はグランド電位に選ばれる）に選択的に引下げることで送信データを作成し、マスタ端末装置Ｍに応答データを送信する。マスタ端末装置Ｍから送信された要求データは、入力バッファ６を介してシリアルデータ入力端子Ｓｉｎに与えられ、制御回路２は当該要求データを解析し、対応する応答データを送信する。
【００２０】
図３は、スレーブ端末装置Ｓの通信処理を説明するフローチャートである。図３に示す通信処理は、予め定める期間、たとえば１ｍｓ毎に繰返して実行される。
【００２１】
ステップａ１では、通信フラグがオンであるかどうかが判断される。通信フラグとは、後述するようにマスタ端末装置からの要求データが送信された時点でオンとされ、スレーブ端末装置Ｓが応答データを送信した時点でオフとされるフラグである。通信フラグがオンであればステップａ２に進み、通信フラグがオフであれば後述するステップａ１１に進む。
【００２２】
ステップａ２では、バスアイドル回数カウンタ（以下、「回数カウンタ」という）の計数値ｃｉｄｌとスレーブ端末装置に予め定められている基準値ｘとが一致するかどうかを判断する。一致していなければステップａ３に進み、一致していれば後述するステップａ８に進む。
【００２３】
ステップａ３では、通信ラインＫがバスアイドルであるかどうかが判断される。バスアイドルとは、通信ラインＫに要求データまたは応答データが送信されていない状態であり、すなわち通信ラインＫが前記予め定める第１の電位（ハイレベル）であるかどうかに基づいて判断される。バスアイドルであればステップａ４に進み、バスアイドル時間カウンタ（以下、「時間カウンタ」という）の計数値ｔｉｄｌに１が加算され、処理を終了する。バスアイドルでなければステップａ５に進む。
【００２４】
ステップａ５では、時間カウンタの計数値ｔｉｄｌがタイムパラメータの下限値Ｔｓを超えているかどうかが判断される。判断が否定であればステップａ６に進み、時間カウンタの計数値ｔｉｄｌを０にリセットして処理を終了する。パラメータＴｓとは、メッセージデータ同士の間、すなわち要求データと応答データとの間、および応答データ同士の間に最低限確保しなければならない期間であり、上記ＩＳＯ９１４１によって予め定められている。時間カウンタの計数値ｔｉｄｌがパラメータＴｓ以下である場合とは、具体的にはメッセージデータを構成するバイトデータ間、あるいはバイトデータを構成するビットデータにおけるハイレベル期間である。
【００２５】
ステップａ５での判断が肯定であれば、ステップａ７に進み、回数カウンタの計数値ｃｉｄｌに１を加算し、ステップａ６にて時間カウンタｔｉｄｌの計数値を０にリセットして処理を終了する。
【００２６】
ステップａ２において判断が肯定であれば、ステップａ８において、時間カウンタの計数値ｔｉｄｌが予め定める待機期間Ｔを超えたかどうかが判断される。待機期間Ｔは、前記下限値Ｔｓよりも大きい値に選ばれ、さらにＩＳＯ９１４１によって定められる上限値よりも小さい値に選ばれる。判断が肯定であればステップａ９に進み、応答データを送信し、ステップａ１０において通信フラグをオフとして通信処理を終了し、ステップａ３に進む。またステップａ８において判断が否定である場合もステップａ３に進む。
【００２７】
ステップａ１において通信フラグがオフであればステップａ１１において、マスタ端末装置Ｍからの要求データを受信したかどうかを判断する。要求データを受信した場合はステップａ１２に進み、通信フラグをオンとし、ステップａ１３において回数カウンタの計数値ｃｉｄｌを０にリセットしステップａ３に進む。またステップａ１１において判断が否定である場合もステップａ３に進む。
【００２８】
図４は、図３に示すフローチャートに従って行われる通信処理を示すタイムチャートである。マスタ端末装置Ｍから要求データが送信され、スレーブ端末装置Ｓによって受信されると、回数カウンタがリセットされ、また要求データの受信終了時から時間カウンタによって通信ラインＫがアイドル状態である期間、すなわちデータ送信が行われていない期間の計時が開始される。
【００２９】
時間カウンタによる計時時間が予め定める待機期間Ｔを超えると、優先順位が最上位であるスレーブ端末装置Ｓ１は応答データを送信して通信処理を終了する。これによって、回数カウンタの計数値は「１」になる。各スレーブ端末装置には優先順位に対応した基準値が設定されており、最上位のものから「０」、「１」、「２」、…のように選ばれている。
【００３０】
この応答データが送信されたことによって時間カウンタはリセットされ、応答データの送信終了時から再び時間カウンタによる計時動作が開始され、通信ラインＫがアイドル状態である期間が計時され、予め定める待機期間Ｔを超えると、回数カウンタの計数値は「１」になり、基準値として「１」が設定されているスレーブ端末装置Ｓ２が応答データを送信する。以下、このような動作が最下位のスレーブ端末装置Ｓｎまで繰返し実行される。
【００３１】
したがって、各スレーブ端末装置Ｓはマスタ端末装置Ｍからの要求データを受信してから予め定める待機期間Ｔだけ間隔をあけて優先順位の高い端末装置から順番に応答データを送信してゆく。このように、各スレーブ端末装置Ｓが応答データを送信するタイミングを正確に制御することができる。
【００３２】
図５は、スレーブ端末装置Ｓの行う他の通信処理を説明するフローチャートである。図５は、前述の図３のフローチャートと類似しており、同一ステップには同じステップ番号を付して説明を省略する。この通信処理においては、ステップａ１４〜ａ１６が付加されたことが特徴である。この処理も、周期的に、たとえば１ｍｓｅｃごとに繰返し実行される。
【００３３】
ステップａ２における判断が否定である場合、ステップａ８における判断が否定である場合、およびステップａ１０の処理が終了した後に、ステップａ１４に進む。ステップａ１４では、時間カウンタの計数値ｔｉｄｌが予め定める第２の待機期間Ｔ２を超えたかどうかを判断する。判断が肯定であればステップａ１５に進み、回数カウンタの計数値ｃｉｄｌに１を加算し、ステップａ１６では時間カウンタの計数値ｔｉｄｌを予め定める第１の待機期間Ｔ１に設定し、ステップａ３に進む。ステップａ１４における判断が否定であればステップａ３に進む。
【００３４】
ステップａ５においてバスアイドル期間がデータ間に確保すべき下限値Ｔｓを超えたと判断されると、ステップａ７において回数カウンタは１だけカウントアップする。予め設定された基準値と回数カウンタの計数値ｃｉｄｌとが一致しているスレーブ端末装置Ｓに何ら異常がなければ、ステップａ２，ａ８，ａ９，ａ１０の順で処理が実行され通信処理は終了する。これによって時間カウンタはリセットされる。
【００３５】
しかし何らかの異常が発生し送信できなければ時間カウンタが計時動作を継続するだけであり、どのスレーブ端末装置Ｓも応答データを送信しないことになり、通信中にあるにも拘わらずバスアイドル期間が長期間になったことによってマスタ端末装置Ｍは強制的に通信処理を終了してしまう。そこでステップａ１４において予め定める第２の待機期間を超えた時点で回数カウンタを１加算し、また時間カウンタを予め定める第１の待機期間Ｔ１に設定する。これによって次の処理においてエラー等が発生し応答データ送信しなかったスレーブ端末装置の下位のスレーブ端末装置Ｓにおいてステップａ２，ａ８，ａ９，ａ１０の処理が行われ、応答データが送信される。
【００３６】
このように、回数カウンタの計数値を強制的に１だけ加算することによって疑似的にスレーブ端末装置Ｓの優先順位が上昇したことになり、異常が発生し応答データを送信できなかった端末装置Ｓを飛ばしてそれ以下のスレーブ端末装置から応答データを送信させることができる。これにより、異常等が発生し通信中であるにも拘わらずバスアイドル期間が長期間継続されることによって強制的に受信処理が終了されることはなく、円滑かつ確実にマスタ端末装置Ｍとスレーブ端末装置Ｓとの間の受信処理を行うことができる。
【００３７】
図６は、図５に示すフローチャートに従って行われる通信処理を説明するタイムチャートである。マスタ端末装置Ｍから要求データが送信され、スレーブ端末装置Ｓによって受信されると、回数カウンタがリセットされ、また要求データの受信終了時から時間カウンタによって通信ラインＫが待機状態である期間、すなわちバスアイドル期間が計時される。
【００３８】
時間カウンタによる計時時間が予め定める第１の待機期間Ｔ１を超えると、優先順位が最上位のスレーブ端末装置Ｓ１は応答データを送信して通信処理を終了する。これによって、回数カウンタの計数値は「１」になる。スレーブ端末装置Ｓには、優先順位に対応した基準値が予め設定されており、最上位のものから「０」、「１」、…のように順次番号に選ばれている。
【００３９】
この応答データが送信されたことによって、時間カウンタがリセットされ、応答データの送信終了時から再び計時手段による計時動作が開始され、バスアイドル期間が計時される。予め定める第１の待機期間Ｔ１を超えると、回数カウンタの計数値は「１」となるが、スレーブ端末装置Ｓ２が何らかの異常によって応答データを送信しなければ時間カウンタはリセットされず、計時動作を続行する。その後予め定める第２の待機期間を超えると、スレーブ端末装置Ｓ３以降では、回数カウンタの計数値を１加算する。これによって疑似的に優先順位が上昇したことになり、スレーブ端末装置Ｓ３は、基準値「２」と計数値「２」とが一致し、応答データを送信する。
【００４０】
このように、異常などが発生し応答データを送信できないスレーブ端末装置を飛ばしてそれ以降のスレーブ端末装置が順番に応答データを送信してゆく。これによって、データ送信を確実かつ円滑に行うことができ、データ通信の信頼性が向上する。
【００４１】
図７は、第３実施例を説明するフローチャートである。本実施例では、スレーブ端末装置Ｓに設定されている待機期間Ｔａ１〜Ｔａｎは、それぞれ異なる値に選ばれ、かつ優先順位の高いものほど短い期間に選ばれている。このフローチャートに示される処理も、たとえば１ｍｓｅｃごとに繰返し実行される。
【００４２】
ステップｂ１では、通信フラグに基づいて通信が終了したかどうかが判断される。通信が終了していなければステップｂ２に進み、終了していればステップｂ８に進む。
【００４３】
ステップｂ２では、通信ラインＫがバスアイドル状態であるかどうかが判断される。バスアイドルでなければステップｂ３に進み、時間カウンタの計数値ｔｉｄｌが０にリセットされる。バスアイドルであればステップｂ４に進み、時間カウンタの計数値ｔｉｄｌに１が加算されステップｂ５に進む。
【００４４】
ステップｂ５では、時間カウンタの計数値ｔｉｄｌがスレーブ端末装置Ｓｉ（ｉ＝１〜ｎ）に設定されている待機期間Ｔａｉを超えたかどうかが判断される。判断が肯定であればステップｂ６に進み応答データを送信し、ステップｂ７で通信フラグをオフとし、処理を終了する。ステップｂ５における判断が否定であれば処理を終了する。
【００４５】
ステップｂ１において通信が終了していればステップｂ８に進み、マスタ端末装置Ｍからの要求データを受信したかどうかが判断される。要求データが受信されるとステップｂ９に進み、通信フラグをオンにして処理を終了する。要求データを受信していなければ処理を終了する。
【００４６】
図８は、第３実施例に従って実行される通信処理を説明するタイムチャートである。マスタ端末装置Ｍから要求データが送信され、スレーブ端末装置によって受信されると、要求データの受信終了時から時間カウンタによってバスアイドル期間が計時される。バスアイドル期間が予め定める待機期間Ｔａ１（＝２４ｍＳ）を超えると、優先順位が第１位のスレーブ端末装置Ｓ１は応答データを送信して通信処理を終了する。
【００４７】
この応答データが送信されたことによって時間カウンタはリセットされる。時間カウンタは、スレーブ端末装置Ｓ１の応答データの送信が終了した時点からバスアイドル期間の計時を開始する。バスアイドル期間が予め定める待機期間Ｔａ２（＝２８ｍＳ）を超えると、優先順位が第２位のスレーブ端末装置Ｓ２が応答データを送信し、通信処理を終了する。同様にスレーブ端末装置Ｓ２の応答データの送信終了時から予め定める待機期間Ｔａ３（＝３２ｍｓ）経過した時点でスレーブ端末装置Ｓ３は応答データを送信する。
【００４８】
このように、各スレーブ端末装置に設定される待機期間は優先順位の高いものほど短く選ばれているので、優先順位の上位の端末装置から順番に待機期間が経過したことを検知し、応答データを送信する。これによって、スレーブ端末装置Ｓが応答データを送信するタイミングを正確に制御することができる。
【００４９】
図９は、第４実施例を説明するためのフローチャートである。本実施例では、前述の第３実施例と同様に、スレーブ端末装置Ｓに設定されている待機期間Ｔｒｓｐ１〜Ｔｒｓｐｎは、それぞれ異なる値に選ばれており、かつ優先順位の高いものほど短い期間に選ばれている。この処理も、たとえば１ｍｓｅｃごとに繰返し実行される。
【００５０】
ステップｃ１では、通信フラグに基づいて通信中であるか否かが判断される。通信中であればステップｃ２に進み、通信中でなければステップｃ６に進む。
【００５１】
ステップｃ２では、時間カウンタの計数値ｔｉｄｌが予め定める待機期間Ｔｒｓｐｉと一致したかどうかが判断される。判断が肯定であればステップｃ３に進み、判断が否定であれば処理を終了する。
【００５２】
ステップｃ３では、受信した要求データに対応する応答データを送信できるかどうかすなわち、応答データが用意できてるかどうかを判断する。送信可能であればステップｃ４に進み、送信不可能であれば処理を終了する。
【００５３】
ステップｃ４では応答データを送信し、ステップｃ５で通信フラグをオフにして通信処理を終了する。
【００５４】
ステップｃ１において通信が終了していればステップｃ６において、マスタ端末装置Ｍからの要求データが受信されたかどうかが判断される。要求データを受信した場合はステップｃ７において通信フラグをオンにし処理を終了する。要求データを受信していなければ処理を終了する。
【００５５】
図１０は、第４実施例に従って行われる通信処理を説明するタイムチャートである。図１０（１）に示すように、スレーブ端末装置Ｓ１において、予め定められる待機期間Ｔｒｓｐ１が経過する前に要求データに対する応答処理が完了し、応答データの準備ができていれば、前記待機期間Ｔｒｓｐ１が経過した時点で応答データを送信し、以下同様にスレーブ端末装置Ｓ２，Ｓ３，…の順で応答データを送信する。
【００５６】
しかしながら、図１０（２）に示すように、待機期間Ｔｒｓｐ１が経過した時点においてもスレーブ端末装置Ｓ１が要求データに対する応答処理が完了していなければ、前述したように時間カウンタは計時動作を続行し、待機期間Ｔｒｓｐ２を超えた時点で優先順位が第２位のスレーブ端末装置Ｓ２が応答データを送信する。
【００５７】
この応答データの送信によって時間カウンタをリセットされ、再びバスアイドル期間を計時する。スレーブ端末装置Ｓ２が応答データを終了した時点から待機期間Ｔｒｓｐ１を経過するまでにスレーブ端末装置Ｓ１において応答処理が完了していれば、応答データ送信終了時から待機期間Ｔｒｓｐ１が経過した時点でスレーブ端末装置Ｓ１が応答データを送信し、その後待機期間Ｔｒｓｐ３が経過した時点でスレーブ端末装置Ｓ３が応答データを送信する。
【００５８】
このように、スレーブ端末装置に設定されている待機期間に達した時点において当該端末装置が要求データに対する応答処理を完了していない場合は送信処理を行わず、当該端末装置よりも優先順位が下位のスレーブ端末装置が応答データを送信する。これによって、より柔軟性をもたせた形でいわゆるマスタスレーブ方式のデータ通信を行うことができ、データ通信における信頼性が向上する。
【００５９】
図１１は、第５実施例を説明するフローチャートである。本実施例では、スレーブ端末装置Ｓ１〜Ｓｎにそれぞれ設定されている待機期間Ｔ１〜Ｔｎの間に、Ｔｉ＋１−Ｔｉ＝ΔＴ（定数）の関係が成立するように選ばれている。この処理も、たとえば１ｍｓｅｃごとに繰返し実行される。
【００６０】
ステップｄ１では、通信フラグに基づいて通信中であるかどうかが判断される。通信中であればステップｄ２に進み、通信中でなければ後述するステップｄ１０に進む。
【００６１】
ステップｄ２では、通信ラインＫがバスアイドルであるかどうかが判断される。バスアイドルであればステップｄ３に進み、バスアイドルでなければステップｄ７に進む。
【００６２】
ステップｄ３では時間カウンタの計数値ｔｉｄｌが１加算されステップｄ４に進む。ステップｄ４では、時間カウンタの計数値ｔｉｄｌが端末装置に設定されている待機期間Ｔｉを超えたかどうかが判断される。判断が肯定であればステップｄ５に進み応答データを送信し、ステップｄ６において通信フラグをオフとして通信処理を終了し、処理を終了する。ステップｄ４における判断が否定であれば処理を終了する。
【００６３】
ステップｄ２においてバスアイドルでなければステップｄ７において、時間カウンタの計数値ｔｉｄｌが予め定められる基準期間Ｔ−εを超えたかどうかが判断される。基準期間は、優先順位が最上位であるスレーブ端末装置Ｓ１に設定されている待機期間Ｔ１に等しく選ばれる。待機期間Ｔ１を超えていなければステップｄ８において時間カウンタの計数値ｔｉｄｌを０にセットし、ステップｄ４に進む。待機期間Ｔ１を超えていればステップｄ９に進み、待機期間Ｔｉから前記差ΔＴを減算する。この処理によって、優先順位が上位の端末装置において応答処理が終了する度に下位の端末装置における待機期間がΔＴずつ短く設定されてゆく。したがって、各スレーブ端末装置は待機期間Ｔ１が経過した時点で応答データを送信する。
【００６４】
ステップｄ１において通信処理が終了したと判断された場合はステップｄ１０に進み、マスタ端末装置Ｍからの要求データが受信されたかどうかが判断される。要求データを受信した場合はステップｄ１１において通信フラグをオンとし、処理を終了する。要求データを受信していなければ処理を終了する。
【００６５】
図１２は、第５実施例に従って行われる通信処理を説明するタイムチャートである。前述したように優先順位が上位のスレーブ端末装置における応答処理が終了した時点で下位のスレーブ端末装置においては待機期間をΔＴだけ短くしてゆく。したがって図１２に示すように、マスタ端末装置Ｍからの要求データの送信が終了した時刻から待機期間Ｔ１が経過した時点でスレーブ端末装置Ｓ１が応答データを送信し、当該応答データの送信終了時から待機期間Ｔ１が経過した時点でスレーブ端末装置Ｓ２が応答データを送信し、さらに当該応答データの送信終了時から待機期間Ｔ１が経過した時点でスレーブ端末装置Ｓ３は応答データを送信する。以下スレーブ端末装置Ｓ４〜Ｓｎにおいても、同様に上位の端末装置Ｓが応答データを終了した時刻から待機期間Ｔ１が経過した時点で応答データを送信する。本実施例においても、前述した実施例と同様にスレーブ端末装置Ｓの通信タイミングを正確に制御することができる。
【００６６】
【発明の効果】
以上のように本発明によれば、副端末装置は上位の副端末装置が応答データの送信を終了してから予め定められる待機期間が経過してから応答データを送信することができ、通信タイミングを正確に制御できる。これによって通信エラーの発生が防止される。また応答データのデータ量に制限がなく、データが重なり合って破壊されることがない。
【００６７】
また本発明によれば、副端末装置に何らかの異常が発生して応答データを送信しなかった場合であっても、それよりも優先順位が下位の副端末装置が先に応答データを送信することができ、データ送信が行われない空白期間が継続して通信が強制的に終了してしまうようなことがなく、データ通信の信頼性が向上する。
【図面の簡単な説明】
【図１】本発明の前提となるデータ通信装置１の構成を示すブロック図である。
【図２】図１に示すスレーブ端末装置Ｓの概略的構成を示すブロック図である。
【図３】本発明の第１実施例を説明するフローチャートである。
【図４】第１実施例に従って行われる通信処理を説明するタイムチャートである。
【図５】本発明の第２実施例を説明するフローチャートである。
【図６】第２実施例に従って行われる通信手順を説明するタイムチャートである。
【図７】本発明の第３実施例を説明するフローチャートである。
【図８】第３実施例に従って行われる通信手順を説明するタイムチャートである。
【図９】本発明の第４実施例を説明するフローチャートである。
【図１０】第４実施例に従って行われる通信手順を説明するタイムチャートである。
【図１１】本発明の第５実施例を説明するフローチャートである。
【図１２】第５実施例に従って行われる通信手順を説明するタイムチャートである。
【図１３】従来技術を説明するタイムチャートである。
【符号の説明】
１  データ通信装置
２  処理回路
３  接続端子
５  出力バッファ
６  入力バッファ
Ｓ  スレーブ端末装置
Ｍ  マスタ端末装置
Ｓｉｎ  シリアルデータ入力端子
Ｓｏｕｔ  シリアルデータ出力端子
Ｋ  通信ライン
Ｔ  タイミングパラメータ
【図１】
0003844257.tif 000002
【図２】
0003844257.tif 000003
【図３】
0003844257.tif 000004
【図４】
0003844257.tif 000005
【図５】
0003844257.tif 000006
【図６】
0003844257.tif 000007
【図７】
0003844257.tif 000008
【図８】
0003844257.tif 000009
【図９】
0003844257.tif 000010
【図１０】
0003844257.tif 000011
【図１１】
0003844257.tif 000012
【図１２】
0003844257.tif 000013
【図１３】
0003844257.tif 000014