JP2011151769A - データ通信システム及びデータ通信方法 - Google Patents

データ通信システム及びデータ通信方法 Download PDF

Info

Publication number
JP2011151769A
JP2011151769A JP2010140166A JP2010140166A JP2011151769A JP 2011151769 A JP2011151769 A JP 2011151769A JP 2010140166 A JP2010140166 A JP 2010140166A JP 2010140166 A JP2010140166 A JP 2010140166A JP 2011151769 A JP2011151769 A JP 2011151769A
Authority
JP
Japan
Prior art keywords
data
communication unit
data transmission
microcomputer
transmission
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.)
Withdrawn
Application number
JP2010140166A
Other languages
English (en)
Inventor
Takashi Miyake
隆 三宅
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.)
Alpine Electronics Inc
Original Assignee
Alpine Electronics Inc
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
Application filed by Alpine Electronics Inc filed Critical Alpine Electronics Inc
Priority to JP2010140166A priority Critical patent/JP2011151769A/ja
Publication of JP2011151769A publication Critical patent/JP2011151769A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

【目的】データが共通バス上で衝突するのを回避する「データ通信システム及びデータ通信方法」を提供することである。
【構成】共通バスを介して所定の通信ユニットから他の通信ユニットへデータを送信するデータ通信システムにおいて、各通信ユニットに優先順位を付し、何れかの通信ユニットがデータ送信中であるか否かを示す信号を各通信ユニット入力し、何れの通信ユニットもデータ送信中ない場合において、データ送信を希望する通信ユニットよりデータを送出し、各通信ユニットからのデータ送出が競合したとき、優先順位が最高の通信ユニットから送出されたデータを選択して前記共通バスに送出し、データを送出した通信ユニットにおいて、前記共通バスより取り込んだデータと送出したデータが同じであるかを調べ、同じ場合にはデータ送信が成功したと判定し、異なる場合には、データ送信が失敗したと判定する。
【選択図】図1

Description

本発明は各通信ユニットが共通バスを介してデータを他の通信ユニットに送信するデータ通信システム及びデータ通信方法に係り、特に、UART (Universal Asynchronous Receiver-Transmitter)などの非同期通信ユニットや3線式クロック同期通信ユニットから送出されるデータが共通バス上で衝突するのを完全に、かつ効率的に回避できるデータ通信システム及びデータ通信方法に関する。
共通バスを介してデータを送信するデータ通信システムでは、共通バスが空いていれば、通信ユニットは該共通バスを介してデータを他の通信ユニットに送信することができる。一方、共通バスを介して他の通信ユニットがデータを伝送していれば、データの衝突を避けるために該共通バスを介してデータを伝送することができず、共通バスが空くのを待つ必要がある。
バスの使用権割り当て方法としてアービットレーションによる方法が周知である。しかし、マイコンのUART等の非同期通信機能には該アービットレーション機能が搭載されておらず、この方法を使用してネットワークシステムを構築することはできない。非同期通信機能を使用したネットワークシステムに適用可能なバスの使用権の割り当て方法としては、送信権方式、ポーリング方式、データ破壊検出方式などがある。
送信権方式は、送信権をもらった通信ユニットが送信可能となり、送信完了後、次の送信ユニットに送信権を渡し、以後、順番に送信権を得た通信ユニットがデータを送信する方法である。
ポーリング方式は、1つのマスターユニットがスレーブユニット(通信ユニット)に対して順番にアクセスし、アクセスされたスレーブユニットが送信可能となる方法である。
データ破壊検出方式は、任意のタイミングで各通信ユニットがデータを共通バスを介して送信し、衝突が起きた場合にはデータが破壊されたことを検出して再送する方法であり、いわゆるCSMA/CD方式である。
しかし、送信権方式では、送信する必要のない場合でも、送信権を渡さなくてはならず無駄が多く、送信権が回ってくるまで送信ができず、レスポンスが悪いという問題がある。
また、ポーリング方式では、送信する必要のない場合でも、ポーリングしなければならず、無駄な通信が多く、ポーリングが回ってくるまで送信ができず、送信権方式と同様レスポンスが悪いという問題がある。
データ破壊検出方式では、複数ユニットが同時に送信すると、データが破壊されてしまい再送が必要となり、再送によって無駄な通信が多くなり、しかも、送信した複数ユニットが全てデータを再送するため、再度衝突する可能性が高い。
そこで、共通バス上におけるデータ衝突を減少する従来技術がある(特許文献1参照)。図14はかかる従来技術の説明図であり、3個の非同期局101〜103が共通バス(共通双方向通信バス)104にインターフェースを介して接続し、該共通バス104にデータを他局に向けて送出し、また、他局から送出されたデータを取り込むようになっている。
各非同期局101〜103は同一の構成を備え、UART(Universal Asynchronous Receiver-Transmitter)106〜108、プロセッサ109〜111、双方向インターフェース112〜114、及びNORゲート115〜117を備えている。各UARTは、データを送信するデータ送信ポートTD、データ受信ポートRD、データ送信時にビジー信号(“1”)を、コンテンションチャネルを介して出力する送信要求ポートRTS、他局のいずれかがビジー信号を出力しているか否かを示す信号が入力される送信可ポートCTSを備えている。各NORゲートには他局の送信要求ポートRTSの出力信号が入力し、NOR論理出力をUARTの送信可ポートCTSに入力するようになっている。
各局はデータ送信時にビジー信号(“1”)をコンテンションチャネル118〜120に送出するため、少なくとも1つの他局がビジー信号(“1”)を出力している場合には、送信可ポートCTSに“0”の信号が入力する。換言すれば、送信可ポートCTSに“0”の信号が入力している場合には、他局が共通バス104を介してデータを送信していると判断でき、逆に送信可ポートCTSに“1”の信号が入力している場合には、いずれの他局も共通バス104を介してデータを送信していないと判断できる。
そこで、データを送信したい局は、送信可ポートCTSに“1”の信号(送信可信号)が入力していることを確認し、ビジー信号(“1”)をコンテンションチャネル118〜120に送出した後、データを共通バス104に送出する。そして、データ送信完了後にビジー信号(“1”)の送出を停止する。これにより、各局の送信可ポートCTSには“1”の信号(送信可信号)が入力することになり、以後、データ送信したい他局はデータ送信が可能となる。これにより、ある局がデータ通信中に、他局は共通バスにデータを送出することがなくなり、データ衝突の可能性が減少する。
しかし、ある局がデータ通信中に、2つの他局が両方ともデータを送信したくなる場合があり、かかる場合、ある局のデータ通信が終了すると、2つの他局の送信可ポートCTSに同時に“1”の信号(送信可信号)が入力する。この結果、2つの他局が同時にビジー信号(“1”)をコンテンションチャネルに送出してデータを共通バス104に送出し、これによりデータの衝突が発生する。
従来技術は、かかるデータの衝突をさけるためにビジー信号(“1”)を送出した後、所定時間経過後に再度、送信可ポートCTSに“1”の信号(送信可信号)が入力しているかチェックし、“1”の場合に限り共通バス104にデータを送出し、”0”の場合には共通バス104へのデータ送出を中止する。この制御により、2つの他局は共通バスへのデータ送出を中止し、ビジー信号(“1”)の送出を停止する。しかし、かかる方法では、2つの他局は再度データの送信を試みることになるが、状況は同じであり、いつまでたってもデータ送信ができなくなる問題が生じる。又、何らかの打開策を講じてデータを送信可能なようにするとすれば、それなりのハードウェアや処理制御が必要となる問題がある。
以上より、UART (Universal Asynchronous Receiver-Transmitter)などの非同期通信ユニットから送出されるデータが共通バス上で衝突するのを回避できるデータ通信システム及びデータ通信方法が要望されている。
ところで、UARTの内蔵マイコンに設定できるボーレートやその精度はUARTにより異なる。このため、複数のUARTを使用する場合、使用する全てのマイコンが対応できるボーレートを選択する必要があり、実際の設計ではボーレートが低くなる問題がある。そこで、ボーレートについての制限が無く、実質的に通信スピードを上げやすいクロック同期3線式通信ユニットを採用してデータ通信システムを構築することが考えられている。
クロック同期3線式は、シリアルクロックSCKとデータ入力SI、データ出力SOの3本の通信ラインを使った通信であり、図15に示すように一般的に2つの通信ユニット(マイコン)201,202間での通信に使用されて図示する接続となる。ただし、3本の通信ラインのほかに制御用としてハンドシェークラインを追加することができる。マイコン201,202はそれぞれシリアルクロックSCKに同期してデータ送信及びデータ受信を行なうことができ、図16に示すようにシリアルクロックSCKの立下りに同期してデータ転送をすることができる。
すなわち、図15において、マイコン201はデータを送信する場合、シリアルクロックSCKを発生し、該クロックSCKの立下りに同期してデータ(DO7〜DO0)をマイコン202に転送し、マイコン202はシリアルクロックSCKを受信し、該クロックSCKの立上りに同期してデータ(DI7〜DI0)を取り込む。また、マイコン202はデータを送信する場合、クロック発生器を内蔵していれば、シリアルクロックSCKを発生し、該クロックSCKの立上りに同期してデータ(DO7〜DO0)をマイコン201に転送し、マイコン201はシリアルクロックSCKを受信し、該クロックSCKの立上りに同期してデータ(DI7〜DI0)を取り込む。
なお、マイコン202がクロック発生器を内蔵していない場合には、マイコン201がシリアルクロックSCKを発生してマイコン202に転送し、マイコン202は該シリアルクロックSCKの立下りに同期してデータ(DO7〜DO0)をマイコン201に転送し、マイコン201はシリアルクロックSCKの立上りに同期してデータ(DI7〜DI0)を取り込むこともできる。
かかる3線式クロック同期通信機能を備えた3つ以上の各マイコンが他のマイコンに対して任意のタイミングでデータ送信を行えるマルチマスターBUSを実現しようとすると以下の問題に遭遇する。第1の問題は、データ送信するマイコンがシリアルクロックを出すものとすれば、競合が発生すると各マイコンが出力するクロックがクロックライン上で衝突する。第2の問題は、クロックを出すマイコンを1つに固定すれば、いつクロックを出し、いつクロックを停止するかの制御が困難である。
図17は第1の問題点説明図であり、各マイコン301〜303は同一の構成を備え、データ出力端子DATAout、データ入力端子DATAin、クロック入出力端子SCKin/outを備え、各マイコンのデータ出力端子DATAoutから出力されるデータはデータ切換部304で選択されてデータラインDATA-lineを介して各マイコンのデータ入力端子DATAinに入力するようになっており、また、各マイコンのクロック入出力端子SCKin/outはクロックラインSCK-lineを介して他のマイコンにクロックを転送するようになっている。したがって、例えば、第1のマイコン301がデータを送信する場合、該マイコンより他のマイコンにクロックを送信することができ、また、データ切換部304によりデータをデータラインDATA-lineに送出し、該データラインDATA-lineを介して他のマイコンに送信することができ、何らの問題は生じない。しかし、例えば第1、第2の2つのマイコン301,302がデータを送信する場合(競合)、マイコン301,302は共にクロックをクロックラインSCK-line送信するため、クロックが衝突し、データ送信ができなくなる。
図18は第2の問題の説明図であり、図17と異なる点は、第1のマイコン301のみが、シリアルクロックSCKを出力するようになっている点である。この図18の構成においても、第1のマイコン301がデータを送信する場合、該マイコンより他のマイコンにクロックを送信することができ、また、データをデータ切換部304によりデータラインDATA-lineに送出し、該データラインDATA-lineを介して他のマイコンに送信することができ、何らの問題は生じない。しかし、例えば第2または第3のマイコン302,303がデータを送信する場合、第1のマイコン301は、いつクロックを出し、いつクロックを停止するかが判らずデータ送信ができなくなる。
以上より、3線式クロック同期通信ユニットから送出されるデータがデータライン上で衝突するのを回避し、データを正しく送信できるデータ通信システムが要望されている。
特開平7−154400号公報
本発明の目的は、データが共通バス上で衝突するのを完全にかつ効率的に回避し、データを正しく送信できるようにすることである。
本発明の目的は、データが衝突する可能性が生じたとき、優先順位の高い通信ユニットからのデータを優先的に共通バスに送出してデータの衝突を回避することである。
本発明の目的は、優先順位の低い通信ユニットが、自分のデータが送出されなかったことを認識できるようにすることである。
本発明の目的は、最優先のマイコンからのデータの送信が終了しても、次優先度の高いマイコンからの後半データが共通バス上に現われるなどの異常状態の発生を防止することである。
本発明の目的は、3線式クロック同期通信ユニットから送出されるデータがデータライン上で衝突するのを回避し、データを正しく送信できるデータ通信システムを提供することである。
本発明は、共通バスを介して何れの通信ユニットもデータ送信中でない場合において、該共通バスを介して所定の通信ユニットから他の通信ユニットへデータを送信するデータ通信システム及び該通信システムにおけるデータ通信方法である。
・データ通信方法
本発明のデータ通信方法は、前記各通信ユニットに優先順位を付するステップ、何れかの通信ユニットがデータ送信中であるか否かを示す信号を各通信ユニット入力するステップ、何れの通信ユニットもデータ送信中でない場合において、データ送信を希望する通信ユニットよりデータを送出するステップ、各通信ユニットからのデータ送出が競合したとき優先順位が最高の通信ユニットから送出されたデータを選択して前記共通バスに送出するステップ、データを送出した通信ユニットにおいて、前記共通バスより取り込んだデータと送出したデータが同じであるかを調べ、同じ場合にはデータ送信が成功したと判定し、異なる場合には、データ送信が失敗したと判定するステップを備えている。
上記のデータ通信方法において、各通信ユニットからのデータ送出が競合したとき、競合する通信ユニットの全てからのデータ送信が完了するまで、前記優先順位が最高の通信ユニットから送出されるデータを選択して前記共通バスに送出する状態を維持する。
・データ通信システム
本発明の第1のデータ通信システムは、何れかの通信ユニットがデータ送信中であるか否かを示す信号を各通信ユニットに入力するデータ送信中信号発生部、前記各通信ユニットに優先順位を付しておき、各通信ユニットからのデータ送出が競合したとき、優先順位が最高の通信ユニットから送出されたデータを選択して前記共通バスに送出するデータ選択送出部、各通信ユニットに設けられ、前記共通バスより取り込んだデータと送出したデータが同じであるかを調べ、同じ場合にはデータ送信が成功したと判定し、異なる場合には、データ送信が失敗したと判定する判定部、を備えている。
上記第1のデータ通信システムにおいて、前記データ送信中信号発生部は、各通信ユニットよりデータ送信中の有無を示す信号が入力され、何れかの通信ユニットがデータ送信中であるか否かを示す信号を生成して各通信ユニットに入力し、前記データ選択送出部は、各通信ユニットよりデータ送出に先だって出力されるデータ送出要求信号を入力され、該データ送出要求信号により各通信ユニットからのデータ送出が競合したか判断する。
上記第1のデータ通信システムにおいて、前記選択送出部は、各通信ユニットからのデータ送出が競合したとき、競合する通信ユニットの全てからのデータ送信が完了するまで、前記優先順位が最高の通信ユニットから送出されるデータを選択して前記共通バスに送出する状態を維持する。
本願発明の第2のデータ通信システムは、それぞれの通信ユニットが3線式クロック同期通信機能を備え、そのうち1つの通信ユニットがクロックをクロックラインに送出する機能を備え、何れの通信ユニットもデータラインを介してデータ送信中でない場合において、前記クロックラインに送出されたクロックに同期して通信ユニット間で前記データラインを介してデータを送受するデータ通信システムであり、前記データラインと、前記クロックラインと、データ送信に先立ってデータ送信中を示す第1のレベルに設定され、データ送信完了により第2のレベルに設定されるデータ送信中呈示ラインと、にそれぞれ接続される少なくとも3台の通信ユニット、各通信ユニットからのデータ送出が競合するとき、優先順位が最高の通信ユニットからの指示を選択し、該指示にしたがって前記データ送信中呈示ラインをデータ送信中であることを示す第1レベルに設定し、データ送信完了により第2のレベルに設定するデータ送信中設定部、各通信ユニットからのデータ送出が競合したとき、優先順位が最高の通信ユニットから送出されたデータを選択して前記データラインに送出するデータ選択送出部を備え、1)クロック発生機能を備えた通信ユニットは、前記データ送信中呈示ラインが前記第1のレベルに設定されるとクロックを前記クロックラインに送出し、該データ送信中呈示ラインが前記第2のレベルに設定されるとクロックの送出を停止し、2)データを送信する通信ユニットは、該クロックに同期してデータの送出を行い、3)データを送出した通信ユニットは前記データラインより取り込んだデータと送出したデータが同じであるかを調べ、同じ場合にはデータ送信が成功したと判定し、異なる場合には、データ送信が失敗したと判定し、データを送出しない通信ユニットは前記データラインより取り込んだデータが自分宛のデータであるか調べ、自分宛であれば取り込み、自分宛でなければ破棄する。
第2のデータ通信システムにおいて、前記データ送信中設定部および前記データ選択送出部は、各通信ユニットよりデータ送出に先だって出力されるデータ送出要求信号を入力され、該データ送出要求信号により各通信ユニットからのデータ送出が競合したか判断する。
本発明によれば、各通信ユニットに優先順位を付し、何れかの通信ユニットがデータ送信中であるか否かを示す信号を各通信ユニット入力し、何れの通信ユニットもデータ送信中でない場合において、データ送信を希望する通信ユニットよりデータを送出し、各通信ユニットからのデータ送出が競合したとき、優先順位が最高の通信ユニットから送出されたデータを選択して前記共通バスに送出するようにしたから、データが衝突する可能性が生じたとき、優先順位の高い通信ユニットからのデータを優先的に共通バスに送出することができ、これにより、データの衝突を確実に回避することができ、しかも、優先順位の高い通信ユニットのデータから順番に効率的に送信することが可能となる。
本発明によれば、データを送出した通信ユニットにおいて、前記共通バスより取り込んだデータと送出したデータが同じであるかを調べ、同じ場合にはデータ送信が成功したと判定し、異なる場合には、データ送信が失敗したと判定するようにしたから、自分が送出したデータが成功裡に送出されたか、送信が失敗したかを認識でき、失敗した場合には、再送により該データ送信することが可能となる。
本発明によれば、各通信ユニットからのデータ送出が競合したとき、競合する通信ユニットの全てからのデータ送信が完了するまで、前記優先順位が最高の通信ユニットから送出されるデータを選択して前記共通バスに送出する状態を維持するようにしたから、最優先のマイコンからのデータの送信が先に終了しても、次優先度の高いマイコンからの後半データが共通バス上に現われるなどの異常状態の発生を防止することができ、確実なデータ送信が可能になる。
本発明によれば、複数の3線式クロック同期通信ユニットからのデータ送出が競合するとき、優先順位が最高の通信ユニットからの指示を選択し、該指示にしたがってデータ送信中呈示ラインをデータ送信中を示す第1レベルに設定し、データ送信完了によりデータ非送信中を示す第2のレベルに設定し、かつ、優先順位が最高の通信ユニットから送出されたデータを選択してデータラインに送出するように構成したから、データ送出が競合する場合であっても、各通信ユニットから送出されるデータがデータライン上で衝突するのを回避することができ、データを正しく相手通信ユニットに送信することが可能となった。
本発明の通信システム構成図である。 切り換え回路の構成図である。 データ送信が競合しない場合の各部動作波形例である。 データ送信が競合する場合の各部動作波形例である。 マイコンのデータ通信処理フローである。 3線式クロック同期通信機能を内蔵したマイコン(3線式クロック同期通信ユニット)を用いて構成された本発明の通信システム構成図である。 切り替え回路の構成例である。 データのフレームフォーマット説明図である。 データ送信が競合しない場合におけるクロックマスターマイコンとデータ送信マイコンの各部動作波形例である。 各マイコンの動作説明図である。 データ送信が競合する場合の各部動作波形例である。 マイコンの動作説明図である。 マイコン62の送信するデータ長の方がマイコン61の送信するデータ長よりも長い場合における各部動作波形図である。 従来技術の説明図である。 クロック同期3線式の通信ユニット(マイコン)間の接続図である。 クロック同期3線式の通信ユニット間におけるシリアルクロックSCKを用いた同期データ転送方式説明図である。 クロック同期3線式の第1の問題点説明図である。 クロック同期3線式の第2の問題の説明図である。
I.第1実施例
(A)通信システム
図1はUARTなどの非同期通信機能を内蔵したマイコンを用いて構成された本発明の通信システム構成図であり、複数の、図では3個の通信機能を備えたマイコン11〜13が、対応するスイッチ31〜33を介して共通バス21に接続し、該共通バス21よりデータを他のマイコンに向けて送信し、他のマイコンから送信されたデータを取り込むようになっている。また、各マイコン11〜13はアンドゲート41、42を介してフレームライン(Frame-line)22と接続し、データ送信時に該フレームライン22にデータ送信中を示すフレーム信号を出力するようになっている。
各マイコン11〜13はUARTなどの非同期通信機能を内蔵し、同一の構成を備えている。すなわち、各マイコンは、データを共通バス21に送出するためのデータ出力端子UART TX、データを共通バス21より受信するデータ入力端子UART RX、データ送信時にデータ送信中を示すフレーム信号をフレームライン22に出力するフレームアウト端子Frame out、いずれかのマイコンがデータ送信中であるか否かを示すフレーム信号FRSをフレームライン22より取り込むフレームイン端子Frame in、データ送出に先だってデータ送出要求信号DTR1〜DTR3を出力するデータ送出要求端子OEを有している。
各マイコン11〜13は、共通バス21を介してデータ送信するとき、フレームアウト端子Frame outよりローレベル(=“0”)の信号を出力すると共に、データ送信が完了するまでローレベル(=“0”)に維持される。この結果、何れかのマイコン11〜13がデータ送信中は、アンドゲート42の出力であるフレーム信号FRSはローレベル(=“0”)になっている。従って、各マイコン11〜13はデータ送信に先立って、フレーム信号FRSがローレベルであるかチェックし、ローレベルの場合には他のマイコンがデータ通信中であると判断してデータの送信を差し控え、ハイレベルの場合には何れのマイコンもデータを通信していないと判断し、データ送出要求信号DTR1〜DTR3を出力して対応するスイッチの接点をa端子側に接続してデータの送信を行なう。
各マイコン11〜13には優先順位が付されており、マイコンからのデータ送出が競合したとき、共通バス上でデータ衝突が生じないように、優先順位の高いマイコンから送出されたデータのみが共通バス21に出現するようになっている。図では、マイコン11の優先順位が最も高く、ついで、マイコン12、マイコン13の順になっており、スイッチ31〜33は各マイコンからのデータ送出が競合したとき、優先順位が高いマイコンからのデータを選択して共通バス21に送出するように構成されている。
各スイッチ31〜33はマイコン11〜13に対応して設けられており、通常、可動接点はb端子側に接続されているが、対応するマイコン11〜13のデータ送出要求端子OEからローレベルのデータ送出要求信号DTR1〜DTR3が出力されると可動接点をa端子側に切り換え、対応するマイコン11〜13から送出されるデータを共通バス側に出力するようになっている。
また、各スイッチ31〜33は図示するように結線されているため、1)優先順位が最高のマイコン11がデータ送出要求信号DTR1を出力した場合には、スイッチ31により該マイコン11からのデータが選択されて共通バス21に送出され、2)マイコン11がデータ送出要求信号DTR1を出力せず、マイコン12がデータ送出要求信号DTR2を出力する場合には、スイッチ31、32により該マイコン12からのデータが選択されて共通バス21に送出され、3)マイコン13のみがデータ送出要求信号DTR3を出力する場合には、スイッチ31、32、33により該マイコン13からのデータが選択されて共通バス21に送出される。以上より、マイコン11〜13からのデータ送出が競合しても、スイッチ31〜33により優先順位が高いマイコンから送出されたデータのみが選択されて共通バス21に送出される。
なお、アンドゲート41,42及びフレームライン22は、データ送信中信号発生部51を形成し、スイッチ31〜33はデータ選択送出部52を形成する。
また、優先順位が最低のマイコン13に対応するスイッチ33は必ずしも必要でなく、マイコン13のデータ出力端子UART TXをスイッチ32のb端子に直接接続するようにしてもよい。さらに、スイッチ31〜33は、図2に示す切り替え回路35で置き換えることもできる。
図2において、切り換え回路35は、判定部35aとスイッチ35bを備え、判定部35aは各マイコン11〜13から出力される信号DTR1〜DTR3に基づいてどのマイコンからデータ送出要求が出されているか判断し、2以上のマイコンよりデータ送出要求が出されている場合、すなわち、データ送出が競合する場合には、優先度の高いマイコンから出力されたデータを選択するようスイッチ35bに指示し、1つのマイコンだけからデータ送出要求が出されている場合には、該マイコンから出力されたデータを選択するようスイッチ35bに指示する。スイッチ35bの入力端子には各マイコン11〜13のデータ出力端子UART TXから出力されるデータが入力されるようになっており、スイッチ35bは判定部35aから指示されたマイコンから出力されたデータを選択して共通バス(UART-line)21に送出する。
(B)競合しない場合のデータ送信
図3は他のマイコンとデータ送信が競合しない場合の各部動作波形例であり、所定のマイコン、例えばマイコン11がデータを、共通バス21を介して他のマイコン12,13に送信するものとする。
マイコン11は、データの送信直前に、フレームイン端子Frame inよりフレームライン22上のフレーム信号FRSを取り込み、該フレーム信号FRSがローレベルであるか、すなわち、他のマイコンがデータ通信中であるか否かを確認する。
フレーム信号FRSがハイレベルで、他のマイコンがデータ通信中でなければ、フレームアウト端子Frame outよりローレベルの信号を出力し、フレーム信号FRSをローレベルにする(時刻T1)。これにより、マイコン11がデータ送信を完了するまで他のマイコンはデータを送信することはない。
又、マイコン11はフレーム信号FRSをローレベルにすると同時にデータ送出要求端子OEからローレベルのデータ送出要求信号DTR1を出力する。これにより、スイッチ31は可動接点を端子a側に接続し、マイコン11のデータ出力端子UART TXを共通バス21に接続する。
以後、マイコン11はデータ出力端子UART TXより所定の時刻T2から時刻T3まで共通バス21にデータを送出する。そして、データ送出完了後の時刻T4において、フレームアウト端子Frame outよりハイレベルの信号を出力してフレーム信号FRSをハイレベルにすると共に、データ送出要求信号DTR1をハイレベルにしてデータの送信を完了する。なお、マイコン11は上記のデータ送出期間中、共通バス21に送出したデータをデータ入力端子UART RXより取り込み、データ送信完了後に、該データが送信したデータと同じであるか調べ、同じ場合にはデータ送信が成功したと判定し、異なる場合には、データ送信が失敗したと判定する。図3の実施例では、他のマイコンと競合しないものとしているから、共通バス21より取り込んだデータと送信したデータは同じになる。
(C)競合する場合のデータ送信
図4はデータ送信が競合する場合の各部動作波形例であり、マイコン11とマイコン12のデータ送信が競合する場合である。
例えば、マイコン13が共通バス21を介してデータ通信中に、マイコン11とマイコン12が共にデータを送信すべき状況になったものとする。かかる場合、マイコン13のデータ送信が完了してフレームライン22のフレーム信号FRSがハイレベルになると、マイコン11とマイコン12は時刻T1において同時にフレームアウト端子Frame outよりローレベルの信号を出力してフレーム信号FRSをローレベルにすると共に、端子REよりローレベルのデータ送出要求信号DTR1, DTR2を出力する。これにより、スイッチ31,32はそれぞれ可動接点を端子a側に接続するが、スイッチ31〜32の接続により、優先順位の高いマイコン11のデータ出力端子UART TXが共通バス21に接続し、優先順位の低いマイコン12のデータ出力端子UART TXは共通バス21に接続されない。
この結果、各マイコン11〜12は時刻T2においてデータの送出を開始しても、マイコン11から送出されたデータのみが共通バス21に送出されて伝送される。マイコン11からのデータ伝送は時刻T3において終了し、時刻T4においてフレームアウト端子Frame outよりハイレベルの信号を出力する。しかし、マイコン12はまだデータ送出中でありフレームアウト端子Frame outよりハイレベルの信号を出力していないため、フレーム信号FRSはローレベルになったままである。
フレーム信号FRSがローレベルの間は、マイコン11はデータ送出要求信号DTR1をハイレベルにしないため、スイッチ31は依然として、マイコン11のデータ出力端子UART TXを共通バス21に接続し、マイコン12のデータ出力端子UART TXを共通バス21に接続しない。この結果、共通バス21上のデータは時刻T3において途絶える。
以後、マイコン12はデータ送出を継続し、時刻T5においてデータ伝送が終了すると、時刻T6においてフレームアウト端子Frame outよりハイレベルの信号を出力する。この結果、フレーム信号FRSがハイレベルになるため、各マイコン11,12はデータ送出要求信号DTR1、DTR2をハイレベルにして、スイッチ31〜33を初期状態に戻してデータの送信を完了する。
以上、データ送信が競合する場合、優先順位の高いマイコンからのデータを優先的に共通バスに送出することができ、これにより、データの衝突を確実に回避することができ、しかも、優先順位の高いマイコンのデータから順番に効率的に送信することが可能となる。
また、データ送信が競合する場合、競合している全マイコン(図4の例ではマイコン11,12)がデータ送信を完了するまで、各マイコン11,12はデータ送出要求信号DTR1~DTR2をローレベルに維持する。このため、対応するスイッチ31,32は、全マイコンがデータ送信を完了するまで、可動接点の端子a側への接続を維持するから、最優先のマイコン11からのデータ送信が終了しても、次優先度の高いマイコン12からの後半データはスイッチ31に阻止されて共通バス21上に現われない。すなわち、最優先のマイコンからのデータの送信が先に終了しても、次優先度の高いマイコンからの後半データが共通バス上に現われるなどの異常状態の発生を防止することができる。
(D)マイコンンのデータ通信処理
図5はマイコンのデータ通信処理フローである。
各マイコンは、データの送信直前に、フレームイン端子Frame inよりフレームライン22上のフレーム信号FRSを取り込み、該フレーム信号FRSがローレベルであるか、すなわち、他のマイコンがデータ通信中であるか否かを確認する(ステップ101)。
フレーム信号FRSがハイレベルで、他のマイコンがデータ通信中でなければ、フレームアウト端子Frame outよりローレベルの信号を出力し、フレーム信号FRSをローレベルにする(ステップ102)。これにより、マイコンがデータ送信を完了するまで他のマイコンはデータを送信することがなくなる。
又、マイコンはフレーム信号FRSをローレベルにすると同時にデータ送出要求端子OEからローレベルのデータ送出要求信号DTR1〜DTR3を出力し、対応するスイッチの可動接点を端子a側に接続する(ステップ103)。
以後、マイコンはデータ出力端子UART TXよりデータの送出を開始し、データの送出を行なうと共に、共通バス21に送出されたデータを取り込む(ステップ104〜105)。全データの送信が完了すれば、送出したデータと共通バス21から取り込んだデータが同じであるかチェックし(ステップ106)、同じであれば、データ送信が成功したと判定し(ステップ107)、異なる場合には、データ送信が失敗したと判定する(ステップ108)。送出したデータと共通バス21から取り込んだデータが異なる場合とは、複数のマイコンからのデータ送出が競合し、優先順位の高いマイコンからのデータが選択され、優先順位の低いマイコンから送出されたデータが選択されずに共通バスに送出されない場合である。又、データ送出が失敗したマイコンは、再度データ送出を試みることになる。
以上、第1実施例によれば、データが共通バス上で衝突するのを回避することができる。すなわち、データが衝突する可能性が生じたとき、優先順位の高い通信ユニットからのデータを優先的に共通バスに送出してデータの衝突を回避でき、優先順位の低い通信ユニットは、自分のデータが送出されなかったことを認識でき、再送により送信することが可能になる。
又、第1実施例によれば、最優先のマイコンからのデータの送信が先に終了しても、次優先度のマイコンからのデータが共通バス上に現われるなどの異常状態の発生を防止することができる。
以上では非同期通信機能を備えたマイコンを通信ユニットの例として使用した場合について説明したが本発明はかかるマイコンに限るものではない。
II.第2実施例
(A)通信システム
(a)全体の構成
図6は3線式クロック同期通信機能を内蔵したマイコンを用いて構成された本発明の通信システム構成図であり、複数(図では3個)のマイコン61〜63が対応する第1のスイッチ71a〜73aを介してデータラインDATA-line 81に接続し、該データライン81よりデータを他のマイコンに向けて送信すると共に、該データライン81より他のマイコンから送信されたデータを取り込むようになっている。また、各マイコン61〜63は第2のスイッチ71b〜73bを介してフレームラインFrame-line(データ送信中呈示ライン)82と接続し、データを送信するマイコンは該フレームライン82をローレベルにすることにより、各マイコンは他のマイコンがデータ送信中であるかを判断できるようになっている。更に、1つのマイコンのみ(図ではマイコン61)がクロック出力用マイコンとなって他のマイコンからの要求によりシリアルクロック(以後単にクロックという) SCKをクロックラインSCK-line 83に出力し、他のマイコン62〜63は該クロックライン83からクロックSCKを取り込み、該クロックに合わせてデータをデータライン81に送出すると共に、該データラインからデータを受信できるようになっている。
各マイコン61〜63は3線式クロック同期通信機能を内蔵し、1つのマイコンのみ(図ではマイコン61)がクロックマスターマイコンとなってクロックSCKを発生する点を除けば、ほぼ同じ構成を備えている。すなわち、マイコン(クロックマスターマイコン)61はクロックSCKをクロックラインSCK-line 83に出力するクロック出力端子SCK outを備え、他のマイコン(クロックスレーブマイコン)62〜63はクロックライン83からクロックSCKを取り込むクロック入力端子SCK inを備えている。また、各マイコン61−63は、データをデータライン81に送出するためのデータ出力端子DATA out、データをデータライン81より取り込むデータ入力端子DATA in、データ送信時にデータ送信中を示すローレベルのフレーム信号FRSをフレームライン82に出力するフレームアウト端子Frame out、いずれかのマイコンがデータ送信中であるか否かをフレームライン22のレベルに基づいて検出するフレームイン端子Frame in、データ送出に先だってデータ送出要求信号DTR1〜DTR3を出力するデータ送出要求端子OEを有している。
クロックの出力開始タイミングは、フレームライン82にローレベルのフレーム信号FRSを出力して該フレームライン82をローレベルにすることにより、クロックマスターマイコン61に知らせる。また、クロックの出力停止タイミングは、フレームライン82をハイレベルにすることにより、クロックマスターマイコン61に知らせる。クロックマスターマイコン61はフレームラインがローレベルになればクロックを発生してクロックライン83に送出し、ハイレベルになればクロックの出力を停止する。
データライン81とフレームライン82は共に優先度による切り替え方式となっており、スイッチにより優先度の高いマイコンから出力された信号が選択されてこれらのラインに現われるようになっている。すなわち、マイコン61〜63には優先順位が付されており、1)マイコンからのデータ送出が競合したとき、データライン81上でデータ衝突が生じないように、優先順位の高いマイコンから送出されたデータのみがデータライン81に出現し、また、2)マイコンからのフレーム信号FRSの送出が競合したとき、優先順位の高いマイコンから送出されたフレーム信号FRSのみがフレームタライン82に出現するようになっている。図では、マイコン61の優先順位が最も高く、ついで、マイコン62、マイコン63の順になっており、スイッチ71a〜73aは各マイコンからのデータ送出が競合したとき、優先順位が高いマイコンからのデータを選択してデータライン81に送出するように構成されている。また、マイコンからのフレーム信号FRSの送出が競合したとき、スイッチ71b〜73bにより優先順位の高いマイコンから送出されたフレーム信号のみがフレームライン82に出現するように構成されている。この結果、データ送出が競合した場合であっても、優先順位が高いマイコンはデータの送出を終えれば、確実にフレームライン82をハイレベルにしてクロックの発生を停止することができる。これにより、データ送出終了後もフレームライン82がローレベルを継続して何らかの誤ったデータがデータライン81に送出されるのを防止することができる。
スイッチ71a〜73aはマイコン61〜63に対応して設けられており、通常、可動接点はb端子側に接続されているが、対応するマイコン61〜63のデータ送出要求端子OEからローレベルのデータ送出要求信号DTR1〜DTR3が出力されると可動接点をa端子側に切り換え、対応するマイコン61〜63から送出されるデータをデータライン81に出力するようになっている。この場合、各スイッチ71a〜73aは図示するように結線されているため、1)優先順位が最高のマイコン61がデータ送出要求信号DTR1を出力した場合には、スイッチ71aにより該マイコン61からのデータが選択されてデータライン81に送出され、2)マイコン61がデータ送出要求信号DTR1を出力せず、マイコン62がデータ送出要求信号DTR2を出力する場合には、スイッチ71a、72aにより該マイコン62からのデータが選択されてデータライン81に送出され、3)マイコン63のみがデータ送出要求信号DTR3を出力する場合には、スイッチ71a、72a、73aにより該マイコン63からのデータが選択されてデータライン81に送出される。以上より、マイコン61〜63からのデータ送出が競合しても、スイッチ71a〜73aにより優先順位が高いマイコンから送出されたデータのみが選択されてデータライン81に送出される。また、スイッチ71b〜73bもスイッチ71a〜73aと同様にマイコン61〜63に対応して設けられ、かつ、同様に結線されており、この結果、マイコン61〜63からのフレーム信号の送出が競合しても、優先順位が高いマイコンから送出されたフレーム信号が選択されてフレームライン82に送出されるようになっている。すなわち、優先順位の高いマイコンからの指示によりフレームライン82のレベルが決定する。
図6において優先順位が最低のマイコン63に対応するスイッチ73a、73bは必ずしも必要でなく、マイコン63のデータ出力端子DATA outをスイッチ72aのb端子に直接接続し、マイコン63のフレームアウト端子Frame outをスイッチ72bのb端子に直接接続するようにしてもよい。さらに、スイッチ71a〜73a、71b〜73bはそれぞれ図7(A)、(B)に示す切り替え回路75,76で置き換えることができる。
図7(A)において、切り換え回路75は、判定部75aとスイッチ75bを備え、判定部75aは各マイコン61〜63から出力される信号DTR1〜DTR3に基づいてどのマイコンからデータ送出要求が出されているか判断し、2以上のマイコンよりデータ送出要求が出されている場合、すなわち、データ送出が競合する場合には、優先度の高いマイコンから出力されたデータDATAを選択するようスイッチ75bに指示し、1つのマイコンだけからデータ送出要求が出されている場合には、該マイコンから出力されたデータDATAを選択するようスイッチ75bに指示する。スイッチ75bの入力端子には各マイコン61〜63のデータ出力端子DATA outから出力されるデータが入力されるようになっており、スイッチ75bは判定部75aから指示されたマイコンから出力されたデータDATAを選択してデータライン81に送出する。
図7(B)において、切り換え回路76は、判定部76aとスイッチ76bを備え、判定部76aは各マイコン61〜63から出力される信号DTR1〜DTR3に基づいてどのマイコンからデータ送出要求が出されているか判断し、2以上のマイコンよりデータ送出要求が出されている場合、すなわち、データ送出が競合する場合には、優先度の高いマイコンから出力されたフレーム信号FRSを選択するようスイッチ76bに指示し、1つのマイコンだけからデータ送出要求が出されている場合には、該マイコンから出力されたフレーム信号FRSを選択するようスイッチ76bに指示する。スイッチ76bの入力端子には各マイコン61〜63のフレームアウト端子Frame outから出力されるフレーム信号FRSが入力されるようになっており、スイッチ76bは判定部76aから指示されたマイコンから出力されたフレーム信号FRSを選択してフレームライン82に送出し、該フレームラインのレベルを決定する。
(b) マイコンの基本動作
いずれかのマイコンがデータ送信中はデータ送信が完了するまでフレームライン82はローレベルになっている。したがって、各マイコン61〜63はデータ送信に先立って、フレームライン82がローレベルであるかチェックし、ローレベルの場合には他のマイコンがデータ通信中であると判断してデータの送信を差し控え、ハイレベルの場合には何れのマイコンもデータを通信していないと判断し、データ送出要求信号DTR1〜DTR3を出力して対応するスイッチ71a〜73a、71b〜73bの接点をa端子側に接続してデータの送信を行なう。
例えばマイコン62はデータを送信するとき、フレームライン82がローレベルになっているか、換言すれば他のマイコン61、63がデータ送信中であるかチェックする。他のマイコンがデータ送信中でなくフレームライン82がハイレベルになっていれば、マイコン62はデータ送出要求端子OEからデータ送出要求信号DTR2を発生して対応する第1、第2のスイッチ72a、72bの接点をa側にし、ついで、ローレベルのフレーム信号FRSを出力してフレームライン82をローレベルにする。フレームライン82がローレベルになったことにより、クロックマスターマイコン61はクロックSCKを発生してクロックライン83を介してマイコン62、63に送信し、マイコン62は該クロックSCKに同期してデータをデータライン81に送出する。マイコン61は自分が発生したクロックSCKに同期してデータライン81からデータを取り込むと共に、マイコン63はクロックライン83より取り込んだクロックSCKに同期してデータをデータライン81から取り込む。以後、マイコン62は、データ送信が完了するまでフレームライン82をローレベルにし、データ送信の完了によりフレームライン82をハイレベルにする。フレームライン82がハイレベルになったことによりクロックマスターマイコン61はクロックSCKの発生を停止する。
(c) フレームフォーマット
図8はデータのフレームフォーマット説明図であり、送信元アドレスSA、送信先アドレスDA、データ長DL、ヘッダチェックコードHCC、データフィールドDTF、データチェックコードDCCで構成されている。データ長DLは、データフィールドDTFの長さをバイト数で表わした値、ヘッダチェックコードHCCは送信元アドレスSA、送信先アドレスDA、データ長DLの値が正常であるかを確認するための値であり、チェックサムあるいはCRCである。データチェックコーDCCは、データフィールドDTFの値が正常であるかを確認するための値であり、チェックサムあるいはCRCである。
(B)競合しない場合のデータ送信
図9はデータ送信が競合しない場合におけるクロックマスターマイコンとデータ送信マイコンの各部動作波形例、図10は各マイコンの動作説明図であり、マイコン61がクロックマスターマイコン、マイコン62がデータを送信するマイコンの場合である。なお、マイコン61、62は共にDMA(Direct Memory Access)機能によりデータの送受信を行ない、データを送信するマイコン62はデータ送信に先立って、送信DMAバイト数を実際に送信するデータバイト数にセットし、データを送信しないマイコンは送信DMAバイト数を0にセットする。また、各マイコン61、62はデータを送信するか否かに関係なく、受信DMAバイト数を最大送受バイト数(固定値)にセットしている。
動作(1)
データを送信するマイコン62は、データの送信に先立ってフレームイン端子Frame inよりフレームライン82のレベルを取り込み、フレームライン82がローレベルであるか否か、すなわち、他のマイコンがデータ通信中であるか否かを確認する。
フレームライン82がハイレベルで、他のマイコンがデータ通信中でなければ、マイコン62はデータ送出要求端子OEからローレベルのデータ送出要求信号DTR2を出力する。これにより、スイッチ72a、72bは可動接点を端子a側に接続し、マイコン62のデータ出力端子DATA outをデータライン81に接続すると共に、フレームアウト端子Frame outをフレームライン82に接続する。ついで、フレームアウト端子Frame outよりローレベルのフレーム信号FRSを出力してフレームライン82をローレベルにすると共に(時刻T1)、送受信DMAをスタートする。以後、マイコン62はデータ送信を完了するまでローレベルのフレーム信号FRSの出力を継続してフレームライン82をローレベルに維持する。
動作(2)
マイコン61はフレームイン端子Frame inよりフレームライン82がローレベルになったことを検出すると受信DMAをスタートさせ、クロックSCKをクロックライン83に送出する(時刻T2)。マイコン62はクロックSCKをクロックライン83より受信し、該クロックに同期してデータライン81にデータDATAを送出し、各マイコン61、62、63はデータライン81よりデータDATAを取り込む。以後、マイコン62はデータ出力端子DATA outより所時刻T2から時刻T3までデータライン81にデータDATAを送出する。
動作(3)
マイコン62はデータの送信を完了すれば、フレームアウト端子Frame outよりフレームライン82にハイレベルのフレーム信号FRSを送出し、該フレームライン82をハイレベルにする(時刻T4)。
動作(4)
マイコン61はフレームイン端子Frame inよりフレームライン82がハイレベルになったことを検出すると受信DMAを終了すると共に、クロックSCKの送出を停止する(時刻T5)。ついで、マイコン61は受信データが自分宛データであるか確認し、自分宛であれば該データの解析処理を行い、自分宛でなければ破棄する。
一方、マイコン62は、フレームイン端子Frame inよりフレームライン82がハイレベルになったことを検出すると送受信DMAを中止すると共に、受信データが送信したデータと同じであるか調べ、同じ場合にはデータ送信が成功したと判定する。図8の実施例では、他のマイコンと競合しないものとしているから、データライン81よりマイコン62が取り込んだデータと送信したデータは同じになる。
なお、競合する場合には受信データが送信データと異なることがある。異なる場合には、受信データが自分宛データであるか確認し、自分宛であれば該データの解析処理を行い、自分宛でなければ受信データを破棄する。
データ送信したにもかかわらず受信データが送信データと一致しなければデータ送信が失敗したと判定し、次の動作(5)を行なった後にデータの再送を行なう。データ送信したにもかかわらず受信データが送信データと一致しない場合とは、データ送信が他のマイコンと競合して自分より優先順位の高いマイコンのデータが選択されてデータライン81に送出されたことを意味する。
動作(5)
上記動作(4)の処理を終了すれば、マイコン62はデータ送出要求端子OEからハイレベルのデータ送出要求信号DTR1を出力し(時刻T6)、スイッチ72a、72bの可動接点を端子b側に戻して一連の送受信動作を完了する。
上記動作において、データ送信完了時刻(T3)からクロックSCKの送出停止時刻T5までの期間、各マイコン61、62、63はデータライン81よりゴミデータを取り込むが、データ長DLを参照することにより該ゴミデータを容易に無視することができる。すなわち、
1) データの先頭からヘッダコードの先頭までを読み取り、チェックコードが正しいか確認し、正しくなければ受信データを破棄する。
2) つぎに、データ長DLが例え”20”であれば、(20+データチェックコードDCCのバイト数)分のバイト数を、データフィールドDTFの先頭から読み取ることで必要なデータだけを取り出すことができ、ゴミデータ無視することができる。
(C)競合する場合のデータ送信
図11はデータ送信が競合する場合の各部動作波形例、図12はマイコンの動作説明図であり、マイコン61,62のデータ送信が競合した場合である。データを送信するマイコン61、62はそれぞれデータ送出に先立って送信DMAバイト数を実際に自分が送信するデータのバイト数にセットする。また、各マイコンはデータを送信するか否かに関係なく、受信DMAバイト数を最大送受バイト数(固定値)にセットする。
動作(1)
データを送信するマイコン61、62は、データの送信に先立ってフレームイン端子Frame inよりフレームライン82がローレベルであるか、すなわち、他のマイコンがデータ通信中であるか否かを確認する。
フレームライン82がハイレベルで他のマイコンがデータ通信中でなければ、マイコン61、62はそれぞれデータ送出要求端子OEからローレベルのデータ送出要求信号DTR1、DTR2を出力する。これにより、スイッチ71a〜71b、72a〜72bはそれぞれ可動接点を端子a側に接続する。ついで、マイコン61、62はそれぞれフレームアウト端子Frame outよりローレベルのフレーム信号FRSを出力してフレームライン82をローレベルにすると共に(時刻T1)、マイコン62は送受信DMAをスタートする。
なお、マイコン61の優先度はマイコン62の優先度より高いため、マイコン61のデータ出力端子DATA outおよびフレームアウト端子Frame outがそれぞれデータライン81、フレームライン82に接続される。この結果、マイコン61から出力されたデータDATA-A、フレーム信号がそれぞれデータライン81、フレームライン82に出現し、マイコン62から出力されたデータDATA-B、フレーム信号はデータライン81、フレームライン82に現われない。
動作(2)
マイコン61はフレームイン端子Frame inよりフレームライン82がローレベルになったことを検出すると送受信DMAをスタートさせ、クロックSCKをクロックライン83に送出すると共に(時刻T2)、該クロックに同期してデータDATA-Aを送信し、かつ、データライン81からデータを受信する(自動送受信)。
一方、マイコン62はクロックSCKをクロックライン83より受信して(時刻T2)、該クロックに同期してデータDATA-Bをデータ出力端子DATA outより送出すると共に、データライン81からデータDATA-Aを受信する(自動送受信)。なお、マイコン62が送出したデータDATA-Bはデータライン81に出力されない。
動作(3)
マイコン62の送信するデータDATA-Bの長さの方がマイコン61の送信するデータDATA-Aの長さより短いものとすれば、まず、マイコン62が時刻T3においてデータDATA-Bの送信を完了して送信DMAを終了し、フレームアウト端子Frame outよりハイレベルのフレーム信号FRSを出力する(時刻T4)。しかし、このフレーム信号FRSはスイッチ71bにより阻止されてフレームライン82をハイレベルにすることはできない。
ついで、マイコン61が時刻T5においてデータDATA-Aの送信を完了して送信DMAを終了し、フレームアウト端子Frame outよりハイレベルのフレーム信号FRSを出力する。これにより、フレームライン82はハイレベルになる(時刻T6)。
動作(4)
マイコン61はフレームイン端子Frame inよりフレームライン82がハイレベルになったことを検出すると(時刻T6)、受信DMAを終了すると共に、クロックSCKの送出を停止する(時刻T7)。ついで、受信データが送信したデータと同じであるか調べ、同じ場合にはデータ送信が成功したと判定する。マイコン61は優先順位が最高であるため、データ送信が他のマイコンと競合しても、データライン81より受信するデータは自分が送信したデータと同じになる。
しかし、優先順位が最高でないマイコンの場合には、自分より優先順位の高いマイコンのデータがデータライン81に送出され、受信データと自分が送信したデータが異なることがある。かかる場合には、受信データが自分宛データであるか確認し、自分宛であれば該データを取り込んで解析処理を行い、自分宛でなければ該受信データを破棄する。データ送信したにもかかわらず受信データが送信データと一致しなければ、データ送信が失敗したと判定し、次の動作(5)を行なった後にデータの再送を行なう。
マイコン62もマイコン61と同様に、フレームイン端子Frame inよりフレームライン82がハイレベルになったことを検出すると(時刻T6)、受信DMAを終了すると共に、受信データが送信したデータと同じであるか調べる。同じ場合にはデータ送信が成功したと判定する。しかし、設例では受信データと送信データは異なる。異なる場合には、マイコン62は受信データが自分宛データであるか確認し、自分宛であれば該データを取り込んで解析処理を行い、自分宛でなければ該受信データを破棄する。
データ送信したにもかかわらず受信データが送信データと一致しなければ、データ送信が失敗したと判定し、次の動作(5)を行なった後にデータの再送を行なう。
動作(5)
マイコン61、62はそれぞれ、フレームライン82がハイレベルになったことを検出してから所定時間経過したとき(時刻T8)、データ送出要求端子OEからハイレベルのデータ送出要求信号DTR1、DTR2を出力し、スイッチ71a〜71b、72a〜72bの可動接点を端子b側に戻して一連の送受信動作を完了する。
マイコン61によるデータ送信完了時刻(T5)からクロックSCKの送出停止時刻T7までの期間、マイコン61、62はデータライン81よりゴミデータを取り込むが、データ長DL(図8)を参照することにより該ゴミデータを容易に無視することができる。
以上は、クロックマスターマイコン61とクロックスレーブマイコン62の間でデータ送信が競合した場合であるが、クロックスレーブマイコン62,63の間でデータ送信が競合する場合にも同様の制御が行なわれる。但し、クロックの発生、停止制御はクロックマスターマイコン61が行なう。
また、図11では、優先度の低いマイコン62の送信するデータ長の方が優先度の高いマイコン61の送信するデータ長より短い場合であるが、マイコン62の送信するデータ長の方がマイコン61の送信するデータ長よりも長い場合には、各部動作波形は図13に示すようになる。
図13において、動作(1)、動作(2)までは図11の場合と同じであるが、以降の動作が異なる。
動作(3)
マイコン61の送信するデータDATA-Aの長さの方がマイコン62の送信するデータDATA-Bの長さより短いから、まず、マイコン61が時刻T3においてデータの送信を完了して送信DMAを終了し、フレームアウト端子Frame outよりハイレベルのフレーム信号FRSを出力する(時刻T4)。このフレーム信号FRSはスイッチ71bを通過してフレームライン82をハイレベルにする。
動作(4)
マイコン61はフレームイン端子Frame inよりフレームライン82がハイレベルになったことを検出すると受信DMAを終了すると共に、クロックSCKの送出を停止する(時刻T5)。ついで、マイコン61は受信データが送信したデータと同じであるか調べ、同じ場合にはデータ送信が成功したと判定する。マイコン61は優先順位が最高であるため、データ送信が他のマイコンと競合しても、データライン81より受信するデータは自分が送信したデータと同じになる。
一方、マイコン62は自分のデータ送信完了前にフレームイン端子Frame inよりフレームライン82がハイレベルになったことを検出すると、データ送信及びデータ受信を中断し、送信が失敗したと判断し、フレームアウト端子Frame outよりハイレベルのフレーム信号FRSを出力する(時刻T6)。ついで、マイコン62は受信データが自分宛データであるか確認し、自分宛であれば該データを取り込んで解析処理を行い、自分宛でなければ該受信データを破棄する。
動作(5)
マイコン61、62はそれぞれフレームライン82がハイレベルになったことを検出してから所定時間経過したとき(時刻T7)、データ送出要求端子OEからハイレベルのデータ送出要求信号DTR1、DTR2を出力し、スイッチ71a〜71b、72a〜72bの可動接点を端子b側に戻して一連の送受信動作を完了する。
マイコン61によるデータ送信完了時刻(T3)からクロックSCKの送出停止時刻T5までの期間、マイコン61、62はデータライン81よりゴミデータを取り込むが、データ長DL(図8)を参照することにより該ゴミデータを容易に無視することができる。
以上、第2実施例によれば、データ送信が競合する場合、優先順位の高いマイコンからのデータを優先的に共通バスに送出することができ、これにより、データの衝突を確実に回避することができ、しかも、優先順位の高いマイコンのデータから順番に効率的に送信することが可能となる。
また、第2実施例によれば、データ送信が競合する場合、優先順位の高いマイコンからのデータ送信終了後に直ちにデータ送出要求信号DTR1〜DTR2をハイレベルにしてスイッチ71a〜71b、72a〜72bの可動接点を端子b側に戻すから、優先順位の高いマイコンからのデータ送信終了後に優先度の低いマイコン62からのデータがデータライン81上に現われる現象は生じない。すなわち、第2実施例によれば、優先順位の高いマイコンからのデータの送信が先に終了しても、優先度の低いマイコンからの後半データがその後にデータライン81上に現われるなどの異常状態の発生を防止することができる。
なお、第2実施例においてクロックラインを切り替え方式にすれば、データを送信するマイコンがクロックを送信する、という簡単な方法を取れそうであるが、以下1)、2)の問題があり採用できない。すなわち、
1) SCKラインは出力/入力のいずれかの設定であるため、設定が出力であるマイコンは、自分のSCK出力タイミングで他マイコンから送出されたデータを受信しなければならず、正しくデータ受信ができない、また
2) 2つのマイコンが同時出力の場合、それぞれのマイコンが自分のSCKタイミングでデータを受信し、優先度の低いマイコンは、自分のSCKタイミングで優先度の高いマイコンから送出されたデータを読み取ることになり、正しくデータ受信ができない、
という問題があり、クロックラインも切り替え方式を採用することはできない。
11〜13 マイコン
21 共通バス
22 フレームライン
31〜33 スイッチ
41,42 アンドゲート

Claims (7)

  1. 共通バスを介して所定の通信ユニットから他の通信ユニットへデータを送信するデータ通信システムにおけるデータ通信方法において、
    前記各通信ユニットに優先順位を付し、
    何れかの通信ユニットがデータ送信中であるか否かを示す信号を各通信ユニットに入力し、
    何れの通信ユニットもデータ送信中でない場合において、データ送信を希望する通信ユニットよりデータを送出し、
    各通信ユニットからのデータ送出が競合したとき、優先順位が最高の通信ユニットから送出されたデータを選択して前記共通バスに送出し、
    データを送出した通信ユニットにおいて、前記共通バスより取り込んだデータと送出したデータが同じであるかを調べ、同じ場合にはデータ送信が成功したと判定し、異なる場合には、データ送信が失敗したと判定する、
    ことを特徴とするデータ通信方法。
  2. 各通信ユニットからのデータ送出が競合したとき、競合する通信ユニットの全てからのデータ送信が完了するまで、前記優先順位が最高の通信ユニットから送出されるデータを選択して前記共通バスに送出する状態を維持する、
    ことを特徴とする請求項1記載のデータ通信方法。
  3. 共通バスを介して何れの通信ユニットもデータ送信中でない場合において、該共通バスを介して所定の通信ユニットから他の通信ユニットへデータを送信するデータ通信システムにおいて、
    何れかの通信ユニットがデータ送信中であるか否かを示す信号を各通信ユニットに入力するデータ送信中信号発生部、
    前記各通信ユニットに優先順位を付しておき、各通信ユニットからのデータ送出が競合したとき、優先順位が最高の通信ユニットから送出されたデータを選択して前記共通バスに送出するデータ選択送出部、
    各通信ユニットに設けられ、前記共通バスより取り込んだデータと送出したデータが同じであるかを調べ、同じ場合にはデータ送信が成功したと判定し、異なる場合には、データ送信が失敗したと判定する判定部、
    を備えたことを特徴とするデータ通信システム。
  4. 前記データ送信中信号発生部は、各通信ユニットよりデータ送信中の有無を示す信号が入力され、何れかの通信ユニットがデータ送信中であるか否かを示す信号を生成して各通信ユニットに入力し、
    前記データ選択送出部は、各通信ユニットよりデータ送出に先だって出力されるデータ送出要求信号を入力され、該データ送出要求信号により各通信ユニットからのデータ送出が競合したか判断する、
    ことを特徴とする請求項3記載のデータ通信システム。
  5. 前記選択送出部は、各通信ユニットからのデータ送出が競合したとき、競合する通信ユニットの全てからのデータ送信が完了するまで、前記優先順位が最高の通信ユニットから送出されるデータを選択して前記共通バスに送出する状態を維持する、
    ことを特徴とする請求項3記載のデータ通信システム。
  6. それぞれの通信ユニットが3線式クロック同期通信機能を備え、そのうち1つの通信ユニットがクロックをクロックラインに送出する機能を備え、何れの通信ユニットもデータラインを介してデータ送信中でない場合において、前記クロックラインに送出されたクロックに同期して通信ユニット間で前記データラインを介してデータを送受するデータ通信システムにおいて、
    前記データラインと、前記クロックラインと、データ送信に先立ってデータ送信中を示す第1のレベルに設定され、データ送信完了により第2のレベルに設定されるデータ送信中呈示ラインとにそれぞれ接続される少なくとも3台の通信ユニット、
    各通信ユニットからのデータ送出が競合するとき、優先順位が最高の通信ユニットからの指示を選択し、該指示にしたがって前記データ送信中呈示ラインをデータ送信中であることを示す第1レベルに設定し、データ送信完了により第2のレベルに設定するデータ送信中設定部、
    各通信ユニットからのデータ送出が競合したとき、優先順位が最高の通信ユニットから送出されたデータを選択して前記データラインに送出するデータ選択送出部、
    を備え、
    クロック発生機能を備えた通信ユニットは、前記データ送信中呈示ラインが前記第1のレベルに設定されるとクロックを前記クロックラインに送出し、該データ送信中呈示ラインが前記第2のレベルに設定されるとクロックの送出を停止し、
    データを送信する通信ユニットは、該クロックに同期してデータの送出を行い、
    データを送出した通信ユニットは前記データラインより取り込んだデータと送出したデータが同じであるかを調べ、同じ場合にはデータ送信が成功したと判定し、異なる場合には、データ送信が失敗したと判定し、データを送出しない通信ユニットは前記データラインより取り込んだデータが自分宛のデータであるか調べ、自分宛であれば取り込み、自分宛でなければ破棄する、
    ことを特徴とするデータ通信システム。
  7. 前記データ送信中設定部および前記データ選択送出部は、各通信ユニットよりデータ送出に先だって出力されるデータ送出要求信号を入力され、該データ送出要求信号により各通信ユニットからのデータ送出が競合したか判断する、
    ことを特徴とする請求項6記載のデータ通信システム。
JP2010140166A 2009-12-22 2010-06-21 データ通信システム及びデータ通信方法 Withdrawn JP2011151769A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010140166A JP2011151769A (ja) 2009-12-22 2010-06-21 データ通信システム及びデータ通信方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009289930 2009-12-22
JP2009289930 2009-12-22
JP2010140166A JP2011151769A (ja) 2009-12-22 2010-06-21 データ通信システム及びデータ通信方法

Publications (1)

Publication Number Publication Date
JP2011151769A true JP2011151769A (ja) 2011-08-04

Family

ID=44538328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010140166A Withdrawn JP2011151769A (ja) 2009-12-22 2010-06-21 データ通信システム及びデータ通信方法

Country Status (1)

Country Link
JP (1) JP2011151769A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017116943A (ja) * 2011-11-30 2017-06-29 株式会社半導体エネルギー研究所 メモリ回路の作製方法
CN114338147A (zh) * 2021-12-28 2022-04-12 中国银联股份有限公司 一种口令爆破攻击的检测方法及装置
WO2024092480A1 (zh) * 2022-11-01 2024-05-10 深圳市韶音科技有限公司 通信方法、设备及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017116943A (ja) * 2011-11-30 2017-06-29 株式会社半導体エネルギー研究所 メモリ回路の作製方法
CN114338147A (zh) * 2021-12-28 2022-04-12 中国银联股份有限公司 一种口令爆破攻击的检测方法及装置
CN114338147B (zh) * 2021-12-28 2023-08-11 中国银联股份有限公司 一种口令爆破攻击的检测方法及装置
WO2024092480A1 (zh) * 2022-11-01 2024-05-10 深圳市韶音科技有限公司 通信方法、设备及系统

Similar Documents

Publication Publication Date Title
US4845722A (en) Computer interconnect coupler employing crossbar switching
US5084871A (en) Flow control of messages in a local area network
US7657691B2 (en) Simplified universal serial bus (USB) hub architecture
CN101032113B (zh) 单线双向通信装置和系统
CA1172719A (en) Distributed-structure message switching system on random-access channel for message dialogue among processing units
CN108234267B (zh) 一种基于m-lvds实时多主高速总线的通信系统
EP0393071A1 (en) Hierarchical arbritation system
US4561092A (en) Method and apparatus for data communications over local area and small area networks
JP5968119B2 (ja) カスケード接続による通信システム
WO2011017997A1 (zh) 通讯总线控制方法和装置
US8230289B2 (en) Data processor system and a method for communication data
JPH06324977A (ja) データ転送方法
CN105703992A (zh) 可变数据速率控制方法
JP2011151769A (ja) データ通信システム及びデータ通信方法
CN116743317A (zh) 基于通用芯片互联标准的数据传输方法
JP2001313646A (ja) 電子機器およびその物理層回路のステート制御方法
CN103650401A (zh) 一种移动终端内部通信方法
JPS58502130A (ja) ローカル・エリア論理ネットワーク・システム
EP0250951A2 (en) Data communication system
CN109154925A (zh) 通信设备、通信方法、程序和通信系统
CN113792003A (zh) 单总线通信单元、系统及方法
CZ289035B6 (cs) Způsob jednokanálové komunikace ve vícestanicovém komunikačním sběrnicovém systému a zařízení pro jeho provádění
KR20190008196A (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
CN117222994A (zh) 使用共享时钟和专用数据线的i2c总线架构
KR20190008198A (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130903