JP4056832B2 - データ通信方法 - Google Patents
データ通信方法 Download PDFInfo
- Publication number
- JP4056832B2 JP4056832B2 JP2002259042A JP2002259042A JP4056832B2 JP 4056832 B2 JP4056832 B2 JP 4056832B2 JP 2002259042 A JP2002259042 A JP 2002259042A JP 2002259042 A JP2002259042 A JP 2002259042A JP 4056832 B2 JP4056832 B2 JP 4056832B2
- Authority
- JP
- Japan
- Prior art keywords
- master
- communication
- data
- slave
- level
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Information Transfer Systems (AREA)
Description
【発明の属する技術分野】
本発明は、マスタからスレーブの方向とスレーブからマスタの方向とに分けた制御ラインで、共通のデータラインを介して行うデータ通信を制御するデータ通信方法に関する。
【0002】
【従来の技術】
従来から、複数のプロセッサ、ユニット、機器などの通信ノード間で共通のデータバスを介してデータを通信するデータ通信の方式には、大別してマルチマスタ方式とマスタ−スレーブ方式とがある。図9は、(a)でマルチマスタ方式の例を示し、(b)でマスタ−スレーブ方式の例を示す。
【0003】
図9(a)に示すマルチマスタ方式は、複数の通信ノード1A〜1F間が共通のバス2で相互接続され、通信に参加するすべての通信ノード1A〜1Fがマスタとなり、バス2の管理権を得て、他の通信ノードに対するデータの送信を行い得る。ただし、いずれかの通信ノード1A〜1Bがマスタになってしまうと、他の通信ノードはスレーブとなる。つまり、データの送信に関しては早いもの勝ちとなる。よって、どの通信ノード1A〜1F間でも通信が可能であるけれども、全く同時に送信しようとしたときは、何らかの調停が必要である。
【0004】
特開平6−12366号公報には、システムバス割当て回路によってシステムバスの使用権の調停を行い、複数のプロセッサ間相互でデータ転送を行うバス使用権調停制御システムについての先行技術が開示されている。システムバス割当て回路は、どのプロセッサがシステムバスの使用権の要求を行うことが可能であるかを示す情報を任意に設定可能な機能を備えていて、設定されたプロセッサ番号を順次システムバス上に送出し、そのプロセッサ番号に対応するプロセッサがバス使用権獲得要求を行えば、そのプロセッサから他のプロセッサに対するデータ送信が可能になる。
【0005】
図9(b)に示すマスタ−スレーブ方式は、マスタとなる通信ノード1Aが固定で、通信はマスタとスレーブとなる通信ノード1B〜1Fとの間で行う。マスタとなる通信ノード1Aが固定されているので、バスの管理権に関する調停は不要であり、構成は簡単になる。通信の管理は、マスタとなる通信ノード1Aのみが行うので、スレーブとなる通信ノード1B〜1F間の通信を行うことができず、一旦マスタとなる通信ノード1Aとの間で通信を行い、さらにマスタとなる通信ノード1Aが他の通信ノードに対する通信を行うようにする必要がある。
【0006】
特開平6−266658号公報には、マスタとして指定されるプロセッサから他のプロセッサに同期信号とステータス信号を供給して、データ通信を行うプロセッサを指定し、指定されたプロセッサは同期信号にタイミングを合わせてデータを送信するマルチプロセッサ用バスシステムの先行技術が開示されている。
【0007】
図10はマスタ−スレーブ方式でデータ通信を行うための基本的な構成を示し、図11はデータ通信システムの概要を示す。図10に示すように、バス2を介して相互に接続されている2つの通信ノードの一方がマスタ3となり、他方がスレーブ4となる。バス2には、双方向性のデータライン5と制御ライン6とが含まれる。図11(a)はデータの送受にデータライン5を使用するシステムを示し、図11(b)はデータの送受にデータライン5および制御ライン6の両方を使用するシステムを示す。
【0008】
データ通信では、バイト単位のデータをある程度の数まとめて、フレームとして送信する。このとき、受信側では、データを確実に受信することができたか否かを確認するために、受信側は送信側からのデータを正常に受信しているか否かを1バイト単位で確認し、正常に受信していれば応答信号を受信側から返答する。これには、データライン5を使用して予め定められる伝送制御用の肯定応答信号であるACK信号として応答したり、制御ライン5を使用してANS信号として応答することが考えられている。
【0009】
図11(a)に示すシステムでは、エラー検出時にはACKを返さないで、たとえば予め定める伝送制御用の否定応答信号であるNAKを返答する等で、エラー検出を伝えることができる。また、受信処理に時間がかかるようなときは、次のデータ送信を待つポーズの要求を行うこともある。データライン5を利用して返答を行うときは、ACKやNAKとは異なるポーズ要求も、それぞれ特定の応答コードで区別して行うことができる。
【0010】
図11(b)に示すシステムでは、データライン5を介する正常なデータの受信毎に、制御ライン6を介してANSを返し、エラー時にはANSを返さないことで、エラー検出を伝えることができる。また、ポーズの要求も、制御ライン6やクロックラインのレベルを一定に保つことや、次のデータ受信が可能になるまでANSの返答を遅れさせることで可能となる。
【0011】
一方、1バイト毎に応答を返さずに、フレームでまとめてACKを返す方法も考えられる。しかし、この方法では、途中でエラーを検出しても、それをデータライン5上のACK等では伝えることができないので、制御ライン6のレベルを変えて伝えることになるけれども、そうすると、ポーズ要求の信号と重複してしまう。
【0012】
バイト単位のデータを、ある程度の数まとめてフレームとして送信するデータ通信では、データ量が大きい場合には複数のフレームに分けて伝送する必要がある。これを複数フレーム通信と呼ぶ。複数フレーム通信をマスタ−スレーブの通信方式において実現する場合には、スレーブ4からの通信時はバス使用権要求だけでは、そのスレーブ4が単フレーム通信をしようとしているのか、複数フレーム通信しようとしているのか判別ができない。また、図9(b)に示すように複数のスレーブとなる通信ノード1B〜1Fからバス使用権要求が出されると、どのスレーブがバス2を使用して先にデータを送信することができるかは、マスタとなる通信ノード1Aがスレーブとなる各通信ノード1B〜1Fのうちの一つに対してENQ信号で問い合せを行う順序による。
【0013】
すなわち、図12に示すように、スレーブ4はマスタ3に対してデータライン5に所定のタイミングtでバス2の使用権を要求することはできるけれども、マスタ3はどのスレーブ4かやどのような通信形態かは不明なまま、バス2の使用権を認めるか否かの判断を行う必要がある。
【0014】
【特許文献1】
特開平6−12366号公報
【特許文献2】
特開平6−266658号公報
【0015】
【発明が解決しようとする課題】
図11(a)に示すように、データライン5でデータと応答との送受信を行うシステムでは、前述のように、フレーム送信中のエラー検出の通知は制御ライン6を介して行うようにすることができるけれども、制御ライン6を介して送ることができる情報量は少ないので、ポーズの要求を送信することはできない。またマスタ3に対してスレーブ4がバス使用権要求などを行う際にも、マスタ3には充分な情報を得ることができない。
【0016】
本発明の目的は、簡単な構成でデータ通信とその応答を複数種類使い分けて行うことができるデータ通信方法を提供することである。
【0023】
【課題を解決するための手段】
本発明は、共通のデータラインを介するデータの転送を制御する制御ラインを、マスタからスレーブの方向と、スレーブからマスタの方向とに分けて設けておき、マスタとスレーブとの間でデータ通信を行うデータ通信方法であって、
マスタまたはスレーブの一方から他方へのデータ送信中に、該他方が該一方の方向への制御ラインの信号レベルを、予め定める時間だけ論理的に反転するように変化させると、該一方からのデータ送信を一時的に停止させるポーズ要求となり、
該他方が該信号レベルを論理的に反転させる時間が該予め定める時間を超えると、該一方からのデータ送信の終了要求となることを特徴とするデータ通信方法である。
【0024】
本発明に従えば、データ通信は、マスタとスレーブとに共通なデータラインを介して行う。データの転送を制御するために、マスタからスレーブの方向と、スレーブからマスタの方向とに分けて制御ラインを設けておく。たとえばマスタからスレーブへのデータ送信中に、スレーブがスレーブからマスタの方向への制御ラインの信号レベルを、予め定める時間だけ論理的に反転するように変化させると、マスタからのデータ送信を一時的に停止させるポーズ要求となり、スレーブが信号レベルを論理的に反転させる時間が予め定める時間を超えると、マスタからのデータ送信の終了要求となるので、1本の制御ラインで、ポーズ要求と通信終了要求を兼用させることができる。マスタがマスタからスレーブの方向への制御ラインを兼用させて、スレーブからマスタへのデータ通信についても同様に制御することができる。
【0031】
【発明の実施の形態】
図1は、本発明の実施の一形態としてのデータ通信システム10の概略的な構成を示す。データ通信システム10は、マスタ11となる通信ノードと、スレーブ12,13,…となる通信ノードとを、共通のバス20で相互に接続して形成される。バス20は、データバス21と、マスタ11からスレーブ12,13,…の方向への制御バス22と、スレーブ12,13,…からマスタ11の方向への制御バス23とを含む。マスタ11は、選択手段31と制御手段32とタイマ33とを含む。マスタ11は、送信手段34および受信手段35も含む。各スレーブ12,13,…は、応答手段41と送信手段42と受信手段43とを含む。
【0032】
マスタ11と複数のスレーブ12,13,…との間で、データ通信を共通のデータラインであるデータバス21を介して行うデータ通信システム10は、データの転送を制御する制御ライン22,23を、マスタ11からスレーブ12,13,…の方向と、スレーブ12,13,…からマスタ11の方向とに分けて設けておく。
【0033】
マスタ11の選択手段31は、スレーブ12,13,…間でデータ通信を行うスレーブ12,13,…の一方をサブマスタとして選択する。タイマ33は、サブマスタがデータ通信を行うことが可能な時間を規制する。制御手段32は、選択手段31によってサブマスタの選択が開始されると、マスタ11からスレーブ12,13,…の方向への制御ラインである制御バス22の信号レベルを予め定める論理値に対応するように変化させ、スレーブ12,13,…からマスタ11の方向への制御ラインである制御バス23を介して、予め定める信号レベルの変化で、選択されたスレーブ12,13,…からデータ通信の終了通知を受信するとき、またはタイマ33による時間規制が有効になるとき、マスタ11からスレーブ12,13,…の方向への制御バス22の信号レベルの変化を停止するように制御する。
【0034】
各スレーブ12,13,…の応答手段41は、マスタ11の選択手段31によって選択されるとき、他のスレーブ12,13,…に対して送信するデータがあれば、スレーブ12,13,…からマスタ11の方向への制御バス23の信号レベルを予め定められるように変化させる。送信手段42は、応答手段41による信号レベルの変化の後で、共通のデータバス21を使用し、他のスレーブ12,13,…に対するデータを送信する。受信手段43は、他のスレーブ12,13,…がサブマスタとして選択された後で、そのサブマスタから送信されるデータを受信する。各スレーブ12,13,…の応答手段41は、他のスレーブ12,13,…へのデータの送信が終了すると、マスタ11の制御手段32に対して、スレーブ12,13,…からマスタ11の方向への制御バス23の信号レベルの予め定めた変化で、データ通信の終了通知を行うので、バス20の使用権をサブマスタからマスタに引き渡すことができる。
【0035】
図2は、図1の制御バス22,23上の信号による状態遷移を示す。以下の説明では、マスタ11からスレーブ12,13,…の方向への制御バス22をMCL(Master Control Line )、スレーブ12,13,…からマスタ11の方向への制御バス23をSCL(Slave Control Line)として示す。各制御バス22,23は、通常5Vや1Vなど、一定の電圧レベルとなるHレベルにプルアップされており、0V付近のLレベルまでプルダウンされるとアクティブになる。なお、本実施形態でのデータ通信では、HレベルやLレベルの区別は便宜的なものであり、HとLとを逆に取扱うようにすることもできる。また、電圧レベルで信号を表すばかりではなく、電流レベルで信号を表すこともできる。
【0036】
一般的な状態遷移として、次の▲1▼〜▲4▼のケースを想定することができる。
▲1▼マスタ→スレーブ通信時に、ポーズ要求が入る場合は、b(全ての通信待ち)→e(通信中)→f(ポーズ中、スレーブ間通信終了)→e(通信中)→a(単フレーム通信待ち)→b(全ての通信待ち)の状態遷移となる。スレーブ12,13,…は、受信中に何らかの理由で送信データを待って欲しい場合に、「f」の状態で、SCLをたとえば2m秒の所定時間以内の範囲でLレベルにすることによって、マスタ11からの送信の一時停止を要求することができる。また、通信断の要求時には、SCLを所定時間以上Lレベルにし、e→f→h→aの経路を通るようにする。所定時間は、タイマ33によって計時する。
【0037】
▲2▼スレーブ→マスタ通信時に、ポーズ要求が入る場合は、b(全ての通信待ち)→c(スレーブ通信要求)→d(相手確認)→e(通信中)→g(ポーズ)→e(通信中)→a(単フレーム通信待ち)→b(全ての通信待ち)の状態遷移となる。マスタ11は、受信中に何らかの理由で送信データを待って欲しい場合は、「g」の状態でMCLを2m秒の所定時間以内の範囲でHレベルにすることによって、スレーブ12,13,…からの送信の一時停止を要求することができる。また、通信断の要求時には、MCLを所定時間以上Hレベルにして、e→g→aの経路を通るようにする。
【0038】
▲3▼マスタ→スレーブの複数フレーム通信中に、スレーブ→マスタの単フレーム通信を割込ませる場合は、単フレームを送信しようとするスレーブ12,13,…は、「a」の状態のときにSCLをLレベルにする。また、複数フレームを送信するスレーブ12,13,…は、2フレーム目以降の送信時には、「a」の状態でSCLをLレベルにしてはならない。
【0039】
▲4▼スレーブ間通信では、「f」の状態で、SCLを所定時間Lレベルとするパルスをポーズ要求信号として使用しない。通信中のSCLのLレベルのパルスは、スレーブ間通信終了パルスとして使用する。
【0040】
図3は、図1のデータ通信システム10でのデータ通信の手順を示す。ステップs0から手順を開始する。このときは、MCL=H、SCL=Hで、図2では「b」の「全ての通信待ち」の状態に相当する。ステップs1では、MCL=Hが2m秒経過するのを待つ。ステップs2では、マスタ11に単フレームの送信データが有るか否かを判断する。単フレーム送信データが有ると判断されるときは、ステップs3で、MCLをLレベルに変化させる。SCLには変化がなく、Hレベルであり、図2の「e」の状態に移行して、データ通信が開始される。ステップs4では、MCL=Lを続け、通信中となる。ステップs5では、通信が終了しているか否かを判断する。終了ではないと判断するときは、ステップs6でSCLがLレベルとなっているか否かを判断する。Lレベルになっていないと判断するときは、ステップs4に戻る。ステップs6でSCLがLレベルになっていると判断するときは、図2の「f」の状態に移行し、ステップs7でSCLのLレベル期間が2m秒の所定時間以上となっているか否かを判断する。所定異時間以内と判断するときは、ステップs4に戻り、図2の「e」状態に戻る。
【0041】
ステップs7でSCLのL期間が2m秒以上と判断するときは、ステップs8でMCLをHレベルに変え、図2の「h」として示す「回復中」の状態へ移行する。MCL=H、SCL=Lからステップs9では、SCLをHレベルに変え、図2の「a」から「b」に移行して、ステップs10でタイムアウトによる通信の異常終了から回復して、次のデータ通信を待つ。ステップs5で通信終了と判断するときは、ステップs11でMCLをHレベルに変化させ、図2のe→a→bの経路を通って、ステップs12で正常終了となり、全ての信号待ちの状態に回復する。
【0042】
ステップs2でマスタ11に単フレームの送信データが有ると判断しないときは、ステップs13でSCL=Lか否かを判断する。SCL=Lではないと判断するときは、ステップs14でMCL=Hが3m秒以上経過するのを待つ。ステップs14でMCL=Hが3m秒経過していないと判断するときは、ステップs2に戻る。ステップs14でMCL=Hが3m秒以上経過していると判断するときは、ステップs15でマスタ11に複数フレーム送信データが有るか否かを判断する。複数フレーム送信データ有りと判断するときは、ステップs3に移行して、通信を開始する。以下、ステップs3からステップs12までの手順で、送信停止要求が可能な状態で、複数フレームのデータ通信が行われる。
【0043】
ステップs15でマスタ11に複数フレームの送信データが無いと判断するときは、ステップs16でSCL=Lであるか否かを判断する。SCL=Lでないときは、ステップs2に戻る。ステップs16でSCL=Lとなるときは、いずれかのスレーブ12,13,…から、図2の「c」で示す「スレーブ通信要求」があると判断される。MCL=Hなので、MCLもLレベルに変え、図2の「d」状態となって、ステップs17で通信を開始する。次にステップs18では、SCLをHレベルに変え、図2の「e」に示す通信中の状態となり、マスタ11はスレーブ12,13,…に対してポーリングでスレーブ間通信の要求があれば受入れ可能となる。ステップs13でSCL=Lと判断するときも、ステップs17以下で通信が開始される。したがって、ステップs2でマスタ11に単フレーム送信有りと判断しなければ、マスタ11も複数フレームの送信データが有っても、スレーブ12,13,…からの単フレーム送信が優先されることになる。ステップs2の判断で、マスタ11による単フレーム送信は、さらに優先されることはもちろんである。
【0044】
ステップs19では、スレーブ間通信の要求が有るか否かを判断する。要求が有れば、ステップs20でタイマ33にタイムアウト時間がセットされ、ステップs21でSCLがHに変えられ、図2の「e」で示す通信中の状態となる。ステップs22では、通信終了を示すSCL=Lとなっているか否かを判断する。SCL=Lでないと判断するときは、ステップs23でタイマ33の計時時間に基づいてタイムアウトか否かを判断する。タイムアウトでないと判断するときは、ステップs22に戻る。ステップs23でタイムアウトと判断するときは、ステップs24でMCLをHレベルに変え、図2のe→g→a→bの経路を通って、ステップs25で異常終了からの回復として、全ての通信待ちの状態となる。
【0045】
ステップs22でSCL=Lと判断するときは、図2の「f」で示すスレーブ間通信終了と解釈され、ステップs26でSCLをHレベルに変えて、ステップs27では図2の「h」で示す回復中の状態に移行する。次に、SCL=Hとして、図2のh→a→bの経路を通り、ステップs28で正常終了からの回復として、全ての通信待ち状態となる。
【0046】
ステップs19でスレーブ間通信が無いと判断するときは、ステップs29でMCL=L、SCL=Hの状態を続け、図2の「e」で示す通信中の状態を続ける。次にステップs30で、通信終了か否かを判断する。通信終了でないと判断するときは、ステップs31でMCL=Hであるか否かを判断する。MCL=Hでは無いと判断するときは、ステップs29に戻る。ステップs31でMCL=Hであると判断するときは、図2の「g」の状態であり、ステップs32で、MCL=Hである期間が2m秒以上となっているか否かを判断する。H期間が2m秒以上でなければ、ステップs29に戻る。ステップs32でH期間が2m秒以上と判断するときは、図2の「a」の状態であり、さらに「b」の状態に移行して、ステップs33で異常終了から回復し、全ての通信待ち状態となる。ステップs30で通信終了と判断するときは、ステップs34でMCLをHレベルに変え、図2のg→a→bの経路を通って、ステップs35で正常終了から回復し、全ての通信待ち状態となる。
【0047】
図4は、前述の▲1▼で示すマスタ→スレーブ通信で、ポーズ要求がある場合を示す。MDT,SDTは、マスタ11およびスレーブ12,13,…からデータバス21にそれぞれ送出するデータを示す。マスタ11は、時刻t10にMCLをHレベルからLレベルに立ち下げてデータ通信を開始する。MDTのヘッダでデータバス21の使用権を要求し、送信先のスレーブ12,13,…の指定も行う。各スレーブ12,13,…は、ヘッダを受信したら、SCL端子をバス使用権要求のために使用することを停止する。また既にSCLをLにしているときには、一旦保留にして、Hレベルに変え、マスタ11の使用権の解除後に、改めてLレベルに戻す。
【0048】
マスタ11は、使用権を獲得すると、次にデータのフレーム数などを含むデータ長のデータ送信を行い、以下順次フレーム単位でのデータ送信を続ける。データの送信途中に、SCLに立ち下がりのレベル変化を検出すると、次のデータは送信せず、タイマ33を起動し、L期間が所定時間以内であれば、ポーズ要求と判断して、引き続きデータ送信を行う。受信側として指定されるスレーブ12,13,…は、マスタ11からのデータを受信し、受信間隔を空けたい場合には、SCLを所定時間内の範囲でLレベルにしてポーズ要求を行う。たとえば時刻t11で所定時間以内の時間t1でSCLをLレベルとすると、図2の「f」状態として、ポーズ要求を行うことができる。また全データ受信後にエラーが無ければ、 時刻t12でSDTとしてACKを送信する。なお、エラー検出時には、SCLを所定時間以上Lレベルにして、通信断の要求を行う。マスタ11は、SDTとしてACKを受信すると、時刻t13でMCLをHレベルに戻し、図2の「b」状態で、全ての通信待ちとなる。
【0049】
図5は、前述の▲2▼で示すスレーブ→マスタ通信で、ポーズ要求がある場合を示す。マスタ11がMCLをHレベルにしている間の時刻t20に、一つのスレーブ13がSCLをHレベルからLレベルに立ち下げると、マスタ11は、時刻t21にMCLをHレベルからLレベルに立ち下げて、時刻t22,t23でスレーブ12,13,…をそれぞれ指定するアドレスで予め定める伝送制御用の問合せ信号であるENQを送信する。マスタ11は、ENQを送信後、指定したスレーブ12,13,…からNAKを受信するか、または所定時間経過しても応答がない場合は、スレーブ12,13,…を指定するアドレスを変更してENQを送信する。時刻t24で、スレーブ13からデータ通信のヘッドが応答として返されれば、受信を続ける。
【0050】
時刻t20でSCLをLに立ち下げたスレーブ13は、自局宛のENQである場合は時刻t24でSCLをHレベルに戻し、データを所定間隔で送信する。データの送信途中に、たとえば時刻t25でMCLに立ち上がりを検出すると、次のデータは送信せず、タイマ33を起動して、H期間が所定時間以内であれば、図2の「g」で示すポーズとして、引き続きデータの送信を行う。すなわち、マスタ11は、スレーブ13からのデータを受信し、受信間隔を空けたい場合には、時刻t25dでMCLを所定時間以内の範囲でLレベルにしてポーズを要求することができる。全データを受信して、エラーが無ければ、時刻t26でACKを送信し、時刻t27でMCLをHレベルに戻す。なお、エラー検出時には、SCLを所定時間以上Lレベルにして、図2の「f」状態で、通信断の要求を行う。
【0051】
図6は、前述の▲3▼で示す複数フレーム通信時の他通信の割込みがある場合を示す。時刻t30で、マスタ11がMCLをHレベルからLレベルに立ち下げて、複数フレーム通信を開始する。マスタ11は、宛先のスレーブ12,13,…を指定して、ENQ以下、No.1のフレームデータを送信し、宛先のスレーブ12,13,…からACKを受信すると、時刻t31でMCLをLレベルからHレベルに立ち上げる。複数フレーム通信時の送信フレーム間隔は、MCLの立ち上げから3m秒以上経過後とする。時刻t31でMCL立ち上げの後、2m秒経過し、その後1m秒経過するまでの時刻t32にいずれかのスレーブ12,13,…がSCLをHレベルからLレベルに立ち下げると、スレーブ→マスタ間で、単フレームの割込み通信の要求が行われる。この単フレーム通信待ちの状態は、図2の「a」に対応する。
【0052】
マスタ11は、ENQを送信し、割込み受付を知らせる。割込みを要求したスレーブ12,13,…は、時刻t33でSCLをLレベルからHレベルに立ち上げ、スレーブ→マスタの通信を行い、エラーがなければACKを返す。通信終了後、マスタ11は、時刻t34でMCLをLレベルからHレベルに立ち上げ、2〜3m秒経過後の時刻t35までに、SCLがHレベルからLレベルに立ち下げられなければ、No.2フレームデータの通信を行う。以下、時刻t36でMCLをLレベルからHレベルに立ち上げた後、フレームデータの送信毎に、単フレームデータの割込み要求をチェックすることを繰返す。したがって、スレーブ12,13,…側が単フレーム通信を割込ませるには、マスタ11によるMCL立ち上げ後、2m秒〜3m秒以内の所定時間である送信フレーム間隔内のチェック時間範囲で、SCLをHレベルからLレベルに立ち下げるようにすればよい。
【0053】
図7は、前述の▲4▼で示すスレーブ→スレーブでのスレーブ間通信が行われる場合を示す。MCLがHレベルのうちに、時刻t40で送信スレーブがSCLをHレベルからLレベルに立ち下げると、図2のb→cの状態遷移でスレーブ通信要求が行われる。マスタ11は、MCLをHレベルからLレベルに立ち下げて、登録済のアドレスでスレーブ12,13,…の1つを宛先としてENQを送信する。マスタ11は、ENQを送信後、NAKを受信、あるいは所定時間経過しても応答がない場合は、登録済の別のアドレスに変更してENQを送信する。宛先のスレーブ12,13,…が時刻t42でSCLをLレベルからHレベルに立ち上げ、ヘッダを応答として返信するのをマスタ11が受信すると、マスタ11は受信を続ける。スレーブ12,13,…から返信されたヘッダがスレーブ間通信の要求であれば、時刻t43以降、マスタ11は通信を放棄する。ただし、マスタ11は、MCLをLレベルのままとし、所定時間を計時するようにタイマ33を起動する。また、マスタ11は、SLCにスレーブ間通信終了を示すLレベルのパルスが発生しないか監視する。
【0054】
スレーブ間通信は、送信スレーブとなるスレーブ12,13,…の1つが、ENQが自局宛で、自局がSCLをLレベルにしている場合に、時刻t42でSCLをLレベルからHレベルに戻し、フレームにまとめたデータを所定時間間隔で送信して開始される。送信スレーブは、ヘッダと、データ長とをそれぞれ示すフレームに続いて、データ長に対応するデータを、データ0から最終までの複数フレームに分割して順次送信する。送信スレーブによって指定される受信スレーブは、送信スレーブからのデータを受信する。受信スレーブは、最終のフレームの受信後、エラーがなく、正常にデータが受信されていることを確認すると、ACKを返答する。
【0055】
送信スレーブは、受信スレーブからのACKを受信すると、時刻t44でSCLにスレーブ間通信終了パルスを送信する。スレーブ間通信終了パルスは、図2の「f」状態で規定される。マスタ11は、MCLがLレベルである間にSCLのスレーブ間通信終了パルスを受信すると、ACKを送信スレーブに送信した後、時刻t45でMCLをLレベルからHレベルに立ち上げ、MCLをHレベルに戻す。万一、スレーブ間通信終了パルスをタイマ33で計時する所定時間内に受信することができない場合、マスタ11は通信にエラーが発生したと判断し、MCLをLレベルからHレベルに立ち上げて、MCLをHレベルに戻す。
【0056】
図8は、本発明の実施の他の形態であるデータ通信システムとしての車載用電子機器50のシステム構成を示す。車載用電子機器50は、乗用車などの自動車の車両に搭載されるナビゲーション装置51、CD(Compact Disk)再生用のCDデッキ52、MD(Mini Disk )再生用のMDデッキ53、カセットテープ再生用のカセットデッキ54、および放送受信用のチューナ55などを含む。これらの車載用電子機器50間でバス60を介して、データ通信を行う際に、ナビゲーション装置50がマスタとなり、他の機器はスレーブとなる。マスタとスレーブとの間には、データバス61が共用され、マスタからスレーブの方向への制御バス62と、スレーブからマスタの方向への制御バス63とが設けられる。各機器は、必ずしも運転席近傍に設置する必要はなく、特に記録媒体を挿入したり排出したりする操作が不要なチューナ55などは、アンテナの近傍などに設置することができる。データ通信自体は、図1の実施形態と同様に行うことができる。
【0057】
車両では、特に運転者が操作可能な範囲で、車載用電子機器50の搭載スペースは限られている。このため、多くの構成機器に対して、それぞれ操作パネルを設けることは困難である。マスタとなるナビゲーション装置51で、他の機器に対する操作入力も受付け、必要に応じてデータ通信を行って、操作対象となる機器に伝達するようにすれば、車内スペースを有効に使用することができる。本実施形態では、スレーブ間通信や割込み通信も可能であるので、マスタがナビゲーション装置51に固定されていても、各機器の相互間でのデータ通信なども簡単に行うことができ、車載用電子機器50全体を一体的に動作させることができる。
【0058】
なお、以上の説明では、単一のマスタと複数のスレーブとでデータ通信システムを構成しているけれども、図10に示すように、単一のスレーブであっても、本発明による▲1▼のマスタ→スレーブ通信と▲2▼のスレーブ→マスタ通信とを行うことは可能である。
【0062】
【発明の効果】
本発明によれば、マスタとスレーブとに共通なデータラインを介して行うデータの転送を制御するために、マスタからスレーブの方向と、スレーブからマスタの方向とに分けて制御ラインを設けておく。データ送信中に、制御ラインの信号レベルを、予め定める時間だけ論理的に反転するように変化させると、データ送信を一時的に停止させるポーズ要求となり、スレーブが信号レベルを論理的に反転させる時間が予め定める時間を超えると、データ送信の終了要求となるので、1本の制御ラインで、ポーズ要求と通信終了要求とを兼用させることができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態としてのデータ通信システム10の概略的なシステム構成を示すブロック図である。
【図2】図1の実施形態で、制御バス22,23の信号の組合せに基づく状態遷移図である。
【図3】図1の実施形態で、データ通信を行う手順を示すフローチャートである。
【図4】図1の実施形態で、マスタ→スレーブ通信を行う場合のタイムチャートである。
【図5】図1の実施形態で、スレーブ→マスタ通信を行う場合のタイムチャートである。
【図6】図1の実施形態で、複数フレーム通信中に単フレーム通信を割込ませる場合のタイムチャートである。
【図7】図1の実施形態で、スレーブ間通信を行う場合のタイムチャートである。
【図8】本発明の実施の他の形態であるデータ通信システムとしての車載用電子機器50の概略的なシステム構成を示すブロック図である。
【図9】従来からのマルチマスタ方式およびマスタ−スレーブ方式のデータ通信システムの概略的なシステム構成をそれぞれ示すブロック図である。
【図10】従来からのマスタ−スレーブ方式の基本的なシステム構成を示すブロック図である。
【図11】図10のマスタ−スレーブ方式でデータ通信を行う場合を示すタイムチャートである。
【図12】従来からのマスタ−スレーブ方式で、スレーブ側からのバス使用権要求を示すタイムチャートである。
【符号の説明】
10 データ通信システム
11 マスタ
12,13,… スレーブ
20,60 バス
21,61 データバス
22,23,62,63 制御バス
31 選択手段
32 制御手段
33 タイマ
34,42 送信手段
35,43 受信手段
41 応答手段
Claims (1)
- 共通のデータラインを介するデータの転送を制御する制御ラインを、マスタからスレーブの方向と、スレーブからマスタの方向とに分けて設けておき、マスタとスレーブとの間でデータ通信を行うデータ通信方法であって、
マスタまたはスレーブの一方から他方へのデータ送信中に、該他方が該一方の方向への制御ラインの信号レベルを、予め定める時間だけ論理的に反転するように変化させると、該一方からのデータ送信を一時的に停止させるポーズ要求となり、
該他方が該信号レベルを論理的に反転させる時間が該予め定める時間を超えると、該一方からのデータ送信の終了要求となることを特徴とするデータ通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002259042A JP4056832B2 (ja) | 2002-09-04 | 2002-09-04 | データ通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002259042A JP4056832B2 (ja) | 2002-09-04 | 2002-09-04 | データ通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004104163A JP2004104163A (ja) | 2004-04-02 |
JP4056832B2 true JP4056832B2 (ja) | 2008-03-05 |
Family
ID=32260194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002259042A Expired - Fee Related JP4056832B2 (ja) | 2002-09-04 | 2002-09-04 | データ通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4056832B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5243218B2 (ja) * | 2008-12-15 | 2013-07-24 | 日本電信電話株式会社 | データ伝達方法およびシステム |
JP5375230B2 (ja) * | 2009-03-17 | 2013-12-25 | 株式会社Jvcケンウッド | 通信システム、及び通信方法 |
US9892077B2 (en) * | 2013-10-07 | 2018-02-13 | Qualcomm Incorporated | Camera control interface slave device to slave device communication |
CN113094321B (zh) * | 2021-04-30 | 2022-04-26 | 中煤科工集团重庆研究院有限公司 | 一种基于群呼和时隙分配的rs485总线通信方法 |
CN115085758A (zh) * | 2022-06-10 | 2022-09-20 | 贵州电网有限责任公司 | 一种双收发器多模式rs-485通信主机及工作方法 |
CN116367354B (zh) * | 2023-02-16 | 2024-03-26 | 北京卫信杰科技发展有限公司 | 一种高精度时统与通信组网系统 |
-
2002
- 2002-09-04 JP JP2002259042A patent/JP4056832B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004104163A (ja) | 2004-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010327B2 (en) | I3C point to point | |
JP6954422B2 (ja) | 並行処理装置、並行処理方法及び並行処理システム | |
JP4944042B2 (ja) | Soc相互接続において転送待ち時間を低減するための方法および装置 | |
US20050102456A1 (en) | Command transmission method and command transmission apparatus in pipeline bus system | |
US20170177531A1 (en) | Bus serialization for devices without multi-device support | |
CN112639753B (zh) | 聚合带内中断 | |
US20200089632A1 (en) | Urgent in-band interrupts on an i3c bus | |
US8521932B2 (en) | Arbitrator and arbitrating method applied to system management bus system | |
JP4056832B2 (ja) | データ通信方法 | |
JPS5857770B2 (ja) | 情報転送制御方式 | |
US6810454B2 (en) | Information processing apparatus having a bus using the protocol of the acknowledge type in the source clock synchronous system | |
US10545886B2 (en) | Clock line driving for single-cycle data over clock signaling and pre-emption request in a multi-drop bus | |
US20080244129A1 (en) | Master device of two-wire bus providing release function for clock line and method thereof | |
US20170371830A1 (en) | Accelerated i3c master stop | |
CN116566761B (zh) | Spi双主机共享仲裁系统及方法 | |
US11520729B2 (en) | I2C bus architecture using shared clock and dedicated data lines | |
US20210141757A1 (en) | Adaptive address arbitration optimization on an i3c bus | |
JP4458873B2 (ja) | シリアルデータ転送方法とその装置 | |
CN117407343B (zh) | 集成电路总线透传模式下时钟延展的处理方法及装置 | |
CN115065572B (zh) | 一种面向车载电子系统的can fd控制器 | |
CN111984576B (zh) | 数据通信系统以及方法 | |
US20220066955A1 (en) | Group slave identifier time-multiplexed acknowledgment for system power management interface | |
JP3182246B2 (ja) | 多重伝送システム | |
JP3947223B2 (ja) | 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置 | |
JP3356129B2 (ja) | 通信機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050902 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070925 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071126 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071212 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |