(57)【要約】【課題】  通信効率を向上させることができ、不定期な通信であっても柔軟に対応することができるシリアル通信方法を提供すること。【解決手段】  複数の通信ユニットをシリアル通信線によりバス型に接続して構成したネットワークにおけるシリアル通信方法において、マスタユニット１と複数のスレーブユニット２，３，４により構成され、マスタユニット１の送信回路１２と複数のスレーブユニット２，３，４の受信回路２３，３３，４３を通信線５１でバス型に接続し、マスタユニット１の受信回路１３と複数のスレーブユニット２，３，４の送信回路２２，３２，４２を通信線５２でバス型に接続し、送信と受信を別の通信線で行うようにした。【選択図】        図１
2007251444.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信ユニットをシリアル通信線によりバス型に接続して構成したネットワークにおけるシリアル通信方法において、
マスタユニットと複数のスレーブユニットにより構成され、
前記マスタユニットの送信回路と複数の前記スレーブユニットの受信回路を第１の通信線でバス型に接続し、前記マスタユニットの受信回路と複数の前記スレーブユニットの送信回路を第２の通信線でバス型に接続し、
送信と受信を別の通信線で行う、
ことを特徴とするシリアル通信方法。
【請求項２】
請求項１に記載のシリアル通信方法において、
前記マスタユニットは、
通信先と通信時間を示す通信線使用許可情報を各スレーブユニットへ送信する、
ことを特徴とするシリアル通信方法。
【請求項３】
請求項１又は請求項２に記載のシリアル通信方法において、
前記スレーブユニットが前記マスタユニットへ送信する応答通信が終了すると、前記マスタユニットが前記第２通信線が空きの状態であることを示すバスアイドル信号を送信する、
ことを特徴とするシリアル通信方法。
【請求項４】
請求項１に記載のシリアル通信方法において、
前記マスタユニットからの要求コマンドにより、指定された前記スレーブユニットは応答データを送信するようにし、
前記マスタユニットは、前記スレーブユニットからの応答データの受信を完了する前に、次のスレーブユニットへ要求コマンドを送信する、
ことを特徴とするシリアル通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信ユニット間でシリアル通信線を用いて行う通信方法の技術分野に属する。
【背景技術】
【０００２】
従来では、複数のユニット（ＥＣＵ）が通信を行う場合、マスタユニットとスレーブユニットに分かれて、半二重通信でマスタユニットがスレーブユニットにコマンドを送り、これに対応するスレーブユニットが応答する。この時、マスタの通信が終わってからスレーブが送信を開始している（例えば、特許文献１参照。）。
【特許文献１】特開平１１−２４３４０５号公報（第２−８頁、全図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のシリアル通信方法にあっては、全二重通信のように、送信、受信を同時にできないので、通信効率が悪いものであった。また、通信量が一定なサイクリックな通信には向いているが、通信量が変動する通信には向いていないものであった。
【０００４】
本発明は、上記問題点に着目してなされたもので、その目的とするところは、通信効率を向上させることができ、不定期な通信であっても柔軟に対応することができるシリアル通信方法を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明では、複数の通信ユニットをシリアル通信線によりバス型に接続して構成したネットワークにおけるシリアル通信方法において、マスタユニットと複数のスレーブユニットにより構成され、前記マスタユニットの送信回路と複数の前記スレーブユニットの受信回路を第１の通信線でバス型に接続し、前記マスタユニットの受信回路と複数の前記スレーブユニットの送信回路を第２の通信線でバス型に接続し、送信と受信を別の通信線で行う、ことを特徴とする。
【発明の効果】
【０００６】
よって、本発明にあっては、通信効率を向上させることができ、不定期な通信であっても柔軟に対応することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明のシリアル通信方法を実現する実施の形態を、実施例１に基づいて説明する。
【実施例１】
【０００８】
まず、構成を説明する。
図１は実施例１のシリアル通信方法を用いた通信システムの構成を示す図である。
各通信ユニットは、マスタユニット１と、スレーブユニット２，３，４からなり、マスタユニット１及びスレーブユニット２，３，４は、通信制御を行うCPU１１，２１，３１，４１を備えている。なお、実施例１では、説明上、スレーブユニットの個数を３つとして説明するが、個数は限られない。
【０００９】
また、マスタユニット１は、CPU１１から出力されるデータを変換して通信線５１へ出力する送信回路１２と、通信線５２からの信号を変換して、CPU１１へ出力する受信回路１３を備えている。
さらに、スレーブユニット２，３，４は、各CPUから出力されるデータを変換して通信線５２へ出力する送信回路２２，３２，４２と、通信線５１からの信号を変換して各CPUへ出力する受信回路２３，３３，４３を備えている。
【００１０】
つまり、通信線５１，５２の接続として説明すると、マスタユニット１の送信回路１２とスレーブユニット２，３，４の受信回路２３，３３，４３とを通信線５１で接続し、マスタユニット１の受信回路１３とスレーブユニット２，３，４の送信回路２２，３２，４２とを通信線５２で接続する。通信線５１と通信線５２により２系統の接続を行う。
【００１１】
次に、実施例１の通信フォーマットの例を挙げておく。
通信フレームは、フレーム形式で表現するデータであり、データ長を示すデータ部分、送信元、送り先のIDを示すデータ部分、データ送信の開始と終了を示すデータ部分、データ、データの整合性を検証するためのチェックデータ部分からなるものを例として挙げておく。ただし、このデータ構成は一例であり、他のデータ構成であっても構わない。
また、マスタユニット１は、スレーブユニットのナンバー、通信時間を含む通信線使用許可情報を送信する。このデータは、上記のデータに含むようにしてもよいし、別に通信線使用許可情報として設けるようにしてもよい。
【００１２】
作用を説明する。
[背景技術について]
実施例１のシリアル通信方法の技術的な背景について、説明する。
従来において、例えば車両のコントローラなどに使用されるマイコンには、SCI(Serial Communication Interface)機能を有しているものが多く、これを用いることによって、複数のコントローラと通信を行う場合には、マスタユニットとスレーブユニットに分かれて半二重通信が使用される。
また、通信の相手が一対一の場合には、送信線、受信線の２本の通信線を用いて全二重通信が行われることが多い。
【００１３】
しかしながら、半二重通信では、全二重通信のように送受信を同時に処理できないので、通信効率が悪い。また、通信量が一定なサイクリックな通信には向いているが、通信量が変動する通信には向いていない。
また、通信の相手を一対一とする全二重通信では、送信と受信の通信線が分かれているため相手が一対一の場合はランダムに送受信ができるが通信相手が複数の場合は通信データの衝突が起きてしまうので、ランダムな送受信を行うことができなかった。
これに対して、実施例１では、上記課題を解決している。
【００１４】
[マスタユニットにおける通信制御処理]
図２は実施例１におけるマスタユニットの通信制御処理の流れを示すフローチャートで、以下各ステップについて説明する。
【００１５】
ステップＳ１では、マスタユニット１が指定するスレーブユニットと通信を行うために、スレーブユニットのスレーブナンバーを用いるなどして、通信線使用許可時間の初期値を読み込む。
【００１６】
ステップＳ２では、指定するスレーブユニットと通信をするために通信線を占有する時間を各スレーブユニット２，３，４に送信する。
【００１７】
ステップＳ３では、タイマをスタートさせて経過時間を計測する。
【００１８】
ステップＳ４では、この場合に指定したスレーブユニットからのデータ受信を完了したかどうかを判断し、受信完了ならばステップＳ５へ進み、受信完了でないならばステップＳ１１へ進む。
【００１９】
ステップＳ５では、受信データを記憶する処理を行う。
【００２０】
ステップＳ６では、バスアイドル信号を通信線５１に出力する。
【００２１】
ステップＳ７では、スレーブナンバーを増やすようにして、各スレーブユニットが通信を要求しているかを聞くようにする。
【００２２】
ステップＳ８では、スレーブナンバーが最も多いナンバーまで、増加されたかどうかを判断し、最も多いナンバーまで増加されたならば、ステップＳ９へ進み、最も多いナンバーまで増加されていないならばステップＳ１０へ進む。
【００２３】
ステップＳ９では、スレーブナンバーを最も小さいナンバーにする。
【００２４】
ステップＳ１０では、所定時間が経過したかどうかを判断し、所定時間経過ならばステップＳ２へ戻り、所定時間経過していないならばステップＳ１０へ戻る。
【００２５】
ステップＳ１１では、所定時間が経過したかどうかを判断し、所定時間経過ならばステップＳ１２へ進み、所定時間経過していないならばステップＳ４へ戻る。
【００２６】
ステップＳ１２では、スレーブユニットのエラーとしてフラグをセットする。
【００２７】
[スレーブユニットにおける通信制御処理]
図３は実施例１におけるスレーブユニットの通信制御処理の流れを示すフローチャートで、以下各ステップについて説明する。
【００２８】
ステップＳ２１では、通信相手のスレーブナンバーと通信線を占有する時間を示すデータを受信したかどうかを判断し、受信したならばステップＳ２２へ進み、受信していないならばステップＳ２１へ戻る。
【００２９】
ステップＳ２２では、受信したデータが自分宛てのものであるかどうかを判断し、自分宛てのものならばステップＳ２３へ進み、他のユニット宛てならばステップＳ２６へ進む。
【００３０】
ステップＳ２３では、自分が指定されたスレーブユニットであるので、データをマスタユニット１へ送信する。
【００３１】
ステップＳ２４では、マスタユニット１へのデータ送信が完了したかどうかを判断し、データ送信が完了したならばステップＳ２５へ進み、データ送信が完了していないならばステップＳ２４へ戻る。
【００３２】
ステップＳ２５では、バスアイドル信号を受信したかどうかを判断し、受信したならば処理を終了し、受信しないならばステップＳ２５へ戻る。
【００３３】
ステップＳ２６では、タイマによる経過時間の計測が既に行なわれているかどうかを判断し、既に計測が行なわれている、つまりタイマがセットされているならばステップＳ２８へ進み、まだ経過時間の計測が行なわれていないならばステップＳ２７へ進む。
【００３４】
ステップＳ２７では、タイマによる所定時間の経過の計測をスタートさせる。
【００３５】
ステップＳ２８では、所定時間が経過したかどうかを判断し、所定時間が経過したならばステップＳ２５へ進み、所定時間が経過していないならば処理を終了する。
【００３６】
[効率的な通信作用]
実施例１では、マスタユニット１は、通信を開始する時、通信線使用許可情報を送信する。この情報には、通信するスレーブユニットのナンバー、通信時間が含まれている。
【００３７】
例えば、通信線使用許可情報のデータがスレーブナンバー１（スレーブユニット２）、１０ｍｓとすると、通信できるスレーブナンバー１のスレーブユニット２を通信相手とし、通信時間が１０ｍｓということである（ステップＳ２参照）。
【００３８】
１０ｍｓ以内の間でスレーブナンバー１のスレーブユニット２は、データをマスタユニット１へ送信し、その間、スレーブナンバー２，３のスレーブユニット３，４はデータを送ることができない。マスタユニット１がスレーブナンバー１のスレーブユニット２のデータを受信完了すると、次にマスタユニット１はバスアイドル信号を送信する（ステップＳ４，Ｓ５，Ｓ６）。
【００３９】
これによりスレーブナンバー２，３のスレーブユニット３，４はスレーブナンバー１のスレーブユニット２の通信が完了したことを認識する。以降、同様にスレーブナンバー２，３のスレーブユニット３，４がマスタユニット１と通信を行なう。
【００４０】
図４は、実施例１のシリアル通信方法のタイムチャートである。図５は従来のシリアル通信方法のタイムチャートである。
従来では、同一信号線によりマスタユニットからの要求信号とスレーブユニットからの応答信号の送受信を行なうため、両信号間隔を近づけすぎて衝突すれば、送受信エラーとなってしまう。また、衝突しないまでも、両信号間隔を近づけすぎると、信号の見分け処理が困難となる。また、近づけるためには、受信信号のエンド処理の認識処理が終了する必要があり、受信完了のタイミングで、送信することは従来のシリアル通信では、現実的ではない。
【００４１】
これに対して、実施例１では、マスタユニット１の送信回路１２とスレーブユニット２，３，４の受信回路２３，３３，４３とを通信線５１で接続し、マスタユニット１の受信回路１３とスレーブユニット２，３，４の送信回路２２，３２，４２とを通信線５２で接続するため、マスタユニット１の受信完了のタイミングで、送信が可能となる。
【００４２】
この際に、マスタユニット１は、受信線が空いている状態であることを示すバスアイドル信号を送信することによって、各スレーブユニット２，３，４は、送信する通信線５２が空いていることを認識するため、その後の送信をわざと遅延させる必要なく出力できる。また、スレーブユニット２，３，４の数が多くなっても、バスアイドル信号によって、全てのスレーブユニットは通信線５２の状態を確認することができ、また、事前に通信時間が送信されることと合わせると、あたかも同期させているような効果を得ることができる。
【００４３】
また、マスタユニット１の受信完了のタイミングで、バスアイドル信号が送信されるため、無駄に同期的なあるいは、所定間隔のような時間を待つことなく、次の処理を開始することができる。
【００４４】
このことにより得る効果は、１度には数ｍｓの効果である。しかしながら、スレーブユニットが数十個になった場合、また、長い時間を考えると効果は大きいものとなる。
【００４５】
応用例として、自動車のボディ側として設けられる複数のコントローラによりローカルネットワークが形成される場合を挙げる。
例えば、マスタユニット１として、ボディコントローラを配置し、スレーブユニットとして、防盗コントローラ、ライト等コントローラ、パワーウインドのコントローラ、ワイパーのコントローラ、ドアロックのコントローラ、日射センサ等のコントローラなどが設けられた場合である。
【００４６】
従来の車内ローカルネットワークであるCANにおいては、接続されるコントローラの数に制限があり（１６個）、これからのさらなる電動化、センシング化などコントローラ増の傾向に対して、対応が迫られている。
これに対して、実施例１のシリアル通信方法では、スレーブユニットの数に限定がない点が有利である。さらに、無駄時間のない通信によって、要求されるデータ更新間隔を満たすことが容易となる。
【００４７】
次に、効果を説明する。
実施例１のシリアル通信方法にあっては、下記に列挙する効果を得ることができる。
【００４８】
(1)複数の通信ユニットをシリアル通信線によりバス型に接続して構成したネットワークにおけるシリアル通信方法において、マスタユニット１と複数のスレーブユニット２，３，４により構成され、マスタユニット１の送信回路１２と複数のスレーブユニット２，３，４の受信回路２３，３３，４３を通信線５１でバス型に接続し、マスタユニット１の受信回路１３と複数のスレーブユニット２，３，４の送信回路２２，３２，４２を通信線５２でバス型に接続し、送信と受信を別の通信線で行うため、通信効率を向上させることができ、不定期な通信であっても柔軟に対応することができる。
【００４９】
(2)マスタユニット１は、通信先と通信時間を示す通信線使用許可情報を各スレーブユニット２，３，４へ送信するため、各スレーブユニットは、どのスレーブユニットからマスタユニット１へ送信するか、及び送信時間を予め知ることができるため、無駄な待ち時間を設けることなく、通信可能になれば直ぐに送信を行うことができ、さらに通信効率を向上させることができる。
【００５０】
(3)スレーブユニット２，３，４がマスタユニット１へ送信する応答通信が終了すると、マスタユニット１が第２通信線が空きの状態であることを示すバスアイドル信号を送信するため、各スレーブユニットは通信線の状態を確認することができ、無駄な待ち時間を設けることなく、通信可能になれば直ぐに送信を行うことができ、さらに通信効率を向上させることができる。
【実施例２】
【００５１】
実施例２は、スレーブユニットからマスタユニットへのデータ送信が完了する直前にマスタユニットが次のコマンドを送信する例である。
構成は実施例１と同様であるので、説明を省略する。
【００５２】
作用を説明する。
[通信の効率を向上させる作用]
図６は、実施例２のシリアル通信方法のタイムチャートである。
実施例２では、図６に示すように、例えば、マスタユニット１から要求コマンドをスレーブユニット２へ送信後、スレーブユニット２がマスタユニット１へデータ送信を行い、そのデータ送信が完了する直前に、次に行うスレーブユニット３への通信を行うための要求コマンドを送信する。以下同様に順に行う。
【００５３】
つまり、実施例１及び実施例２の通信線構成では、スレーブユニットからのデータ受信の完了を待つことなく、マスタユニットが送信を行うことができる。これにより通信の効率は非常に向上できる。この点は、従来に対し、非常に有利である。
効果を説明する。実施例２のシリアル通信方法にあっては、上記(1)の効果に加えて、以下の効果を有する。
(4)マスタユニット１からの要求コマンドにより、指定されたスレーブユニットは応答データを送信するようにし、マスタユニット１は、スレーブユニットからの応答データの受信を完了する前に、次のスレーブユニットへ要求コマンドを送信するために、さらに通信効率を向上できる。
【００５４】
（実施例の他の例）
図７に示すのは、実施例のシリアル通信方法における他の例のタイムチャートである。
図７(a)に示す例では、マスタユニット１がスレーブユニット２に問いかけデータを受信する双方向通信の例である。
この場合には、マスタユニット１は、スレーブナンバー、バス占有時間、データの整合性を確認するためのチェックサムを送り、データを受信することを、スレーブユニット２との間で繰り返し、全て完了すると、バスアイドル信号を出力する。
【００５５】
図７(b)に示す例では、マスタユニット１の問いかけをトリガにスレーブユニット３が複数のデータを送信する例である。この通信は図７(a)と比較して、片方向の通信と言える。
【００５６】
図７(c)に示す例では、マスタユニット１の問いかけ（コマンド）のみでスレーブユニット４は、応答を返さない例である。
この場合には、予め定めた設定等により、所定回数の問いかけの後、バスアイドル信号が出力される。
【００５７】
（応用例）
図８に示すのは、実施例のシリアル通信方法を、車両のコントローラ間の通信システムに用いた場合に、電源の状態により通信相手を切り替える例である。
構成は詳細に説明しないが、マスタユニットが、車両のバッテリ電源のオンオフ、アクセサリ電源のオンオフ、イグニッション電源のオンオフ信号を入力する構造である。
【００５８】
図８に示すように、この３つの電源の状態の組み合わせにより、どのスレーブユニットと通信するかを切り替える。このように、通信相手の指定や切り替えは、例えば車両の電源状態で変えるようにして、最適な組み合わせでの通信が迅速に行われるようにすればよい。
【００５９】
以上、本発明のシリアル通信方法を実施例１、実施例２に基づき説明してきたが、具体的な構成については、これらの実施例に限られるものではなく、特許請求の範囲の各請求項に係る発明の要旨を逸脱しない限り、設計の変更や追加等は許容される。
実施例１、２では、マスタユニットの数を１としたが、複数のマスタユニットであってもよい。
【図面の簡単な説明】
【００６０】
【図１】実施例１のシリアル通信方法を用いた通信システムの構成を示す図である。
【図２】実施例１におけるマスタユニットの通信制御処理の流れを示すフローチャートである。
【図３】実施例１におけるスレーブユニットの通信制御処理の流れを示すフローチャートである。
【図４】実施例１のシリアル通信方法のタイムチャートである。
【図５】従来のシリアル通信方法のタイムチャートである。
【図６】実施例２のシリアル通信方法のタイムチャートである。
【図７】実施例のシリアル通信方法における他の例のタイムチャートである。
【図８】実施例のシリアル通信方法を、車両のコントローラ間の通信システムに用いた場合に、電源の状態により通信相手を切り替える例を示す説明図である。
【符号の説明】
【００６１】
１  マスタユニット
１１  CPU
１２  送信回路
１３  受信回路
２  スレーブユニット
２１  CPU
２２  送信回路
２３  受信回路
３  スレーブユニット
３１  CPU
３２  送信回路
３３  受信回路
４  スレーブユニット
４１  CPU
４２  送信回路
４３  受信回路
５１  通信線
５２  通信線
【図１】
2007251444.tif 000003
【図２】
2007251444.tif 000004
【図３】
2007251444.tif 000005
【図４】
2007251444.tif 000006
【図５】
2007251444.tif 000007
【図６】
2007251444.tif 000008
【図７】
2007251444.tif 000009
【図８】
2007251444.tif 000010