(57)【要約】【課題】  効率的な通信にすることができるＬＩＮ通信におけるポーリング方法を提供すること。【解決手段】  マスタユニット部１１が複数のドアコントローラ２〜５に応答データの有無を問いかけるポーリング処理によりシリアル通信を行うＬＩＮ通信において、ドアコントローラ２〜５からのレスポンスが衝突した際に、衝突したレスポンスを返したドアコントローラ２〜５を判断し、衝突したレスポンスを返したドアコントローラ２〜５にのみポーリングを行うようにした。【選択図】        図１
2007258994.tif 000002
【特許請求の範囲】
【請求項１】
マスタユニットが複数のスレーブユニットに応答データの有無を問いかけるポーリング処理によりシリアル通信を行うＬＩＮ通信において、
複数の前記スレーブユニットからのレスポンスが衝突した際に、衝突したレスポンスを返した前記スレーブユニットを判断し、
衝突したレスポンスを返した前記スレーブユニットにのみポーリングを行うようにした、
ことを特徴とするＬＩＮ通信におけるポーリング方法。
【請求項２】
請求項１に記載のＬＩＮ通信におけるポーリング方法において、
複数の前記スレーブユニットのIDデータのドミナントが重複しないように割り当て、
複数の前記スレーブユニットからのレスポンスが衝突した際に、衝突データのIDデータのドミナント位置から、どのスレーブユニットからのレスポンスかを判断し、
判断した前記スレーブユニットに対してポーリングを行う、
ことを特徴とするＬＩＮ通信におけるポーリング方法。
【請求項３】
請求項１又は請求項２に記載のＬＩＮ通信におけるポーリング方法において、
前記マスタユニットは、前記スレーブユニットのそれぞれに関連付けされた入力を得るようにし、
複数の前記スレーブユニットからのレスポンスが衝突した際に、マスタユニットへの前記入力から、どのスレーブユニットからのレスポンスかを判断し、
判断した前記スレーブユニットに対してポーリングを行う、
ことを特徴とするＬＩＮ通信におけるポーリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＩＮ（Local Interconnect Network)通信におけるイベントトリガフレームのポーリング方法の技術分野に属する。
【背景技術】
【０００２】
従来では、送信要求の有無のポーリングによりマスタ装置と複数スレーブ装置との間で通信を行う１対Ｎ通信での優先伝送方法において、各スレーブ装置は、送信を要するデータが有る場合はポーリングによる通信処理を中断し、優先伝送の要求を表す優先伝送要求信号の送信とデータの送信を順に行い、データの送信後に優先伝送の終了を表す優先伝送終了信号の送信を行ってポーリングによる通信処理へ復帰するようにしている（例えば、特許文献１参照。）。
【特許文献１】特開平１１−９６４９１号公報（第２−７頁、全図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のＬＩＮ通信におけるポーリング方法にあっては、イベントトリガフレームについての対応が充分ではなく、各スレーブ側からのデータが衝突すると、ＬＩＮ通信における取り決めにより、再ポーリングされることになり、順番がくるまで待たなければならなくなる。通信としては速くするために各スレーブ側からデータを送るのに対して、遅くなる処理となってしまう。また、従来では各スレーブ側からのデータ衝突に対する処理が十分でないため、再ポーリングをしない場合には、何度もデータ衝突してしまう可能性があり問題であった。
【０００４】
本発明は、上記問題点に着目してなされたもので、その目的とするところは、効率的な通信にすることができるＬＩＮ通信におけるポーリング方法を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明では、マスタユニットが複数のスレーブユニットに応答データの有無を問いかけるポーリング処理によりシリアル通信を行うＬＩＮ通信において、複数の前記スレーブユニットからのレスポンスが衝突した際に、衝突したレスポンスを返した前記スレーブユニットを判断し、衝突したレスポンスを返した前記スレーブユニットにのみポーリングを行うようにした、ことを特徴とする。
【発明の効果】
【０００６】
よって、本発明にあっては、効率的な通信にすることができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明のＬＩＮ通信におけるポーリング方法を実現する実施の形態を、実施例１に基づいて説明する。
【実施例１】
【０００８】
まず、構成を説明する。
図１は実施例１のＬＩＮ通信におけるポーリング方法を用いたネットワーク構成のブロック図である。
実施例１では、車両に用いる例として、キーレスコントローラ１と各ドアにおいて、ドアロック等を制御する各ドアコントローラ２〜５において、ネットワークを構成したものについて説明する。
【０００９】
キーレスコントローラ１には、各ドアに対応するリクエストスイッチ１２〜１５からの操作入力信号が入力される。また、キーレスコントローラ１はマスタユニット部１１を備え、通信制御を行う。なお、図１において、各ドアは、運転席側ドア（DR)、助手席側(PS)、後方左側（RL)、後方右側(RR)の記号に対応する。
また、各ドアには、操作入力を行うドアスイッチ２１，３１，４１，５１が設けられ、それぞれのドアコントローラ２〜５へ出力が行われる。
各ドアコントローラ２〜５は、識別データとして、各IDデータを有しており、順にID:１１，１２，１３，１４となっている。
【００１０】
次に作用を説明する。
[イベントトリガフレームについて]
ここで、本実施例の背景技術として、イベントトリガフレームについて説明する。
図２は、説明のために、図１の構成の一部を簡潔に示した概略図である。図３は図２の構成でのLIN通信における通常フレームでの通信のタイムチャートである。図４は図２の構成でのLIN通信におけるイベントフレームでの通信のタイムチャートである。
【００１１】
図２の構成におけるLIN通信では、キーレスコントローラ１が唯一のマスタユニットとなり、各ドアコントローラ２〜５がスレーブユニットとなり、シリアル通信を行う。
このマスタ／スレーブ通信では、マスタユニットにより通信が制御される。
マスタユニット部１１は、各スレーブユニットを順に呼び出し、各スレーブユニットがこれにレスポンスを返すようにして、全体の通信を制御するものである（図３参照）。これをポーリング処理と呼ぶ。
【００１２】
次に、LINプロトコルには、通信時のレスポンスを上げるためにステータスが頻繁に変わらないシグナルのやり取りについては、イベントトリガフレーム(Event Triggered Frame)が用意されている。
これは、例えば図２に示すように、４つのドアスイッチ２１，３１，４１，５１を個別に監視しているドアコントローラ２〜５（スレーブノード）があるとすると、毎回４つのIDをスケジュールの中で個別送信（図３参照）するのではなく、４つのIDに関連付けられたひとつのIDを送信することにより通信負荷を軽減している。
【００１３】
このモードにおける動作は、いずれかひとつのスイッチステータスが変わった場合には、該当するドアコントローラ２〜５（スレーブノード）が関連付けられたIDを含むレスポンスをマスタユニット部１１に答える（図４(b)参照）。スイッチステータスに変異が無い場合にはレスポンスは返さない（図４(a)参照）。
【００１４】
但し、幾つかのスイッチステータスが同時に変化した場合、前述の関連付けられたIDに複数のドアコントローラ２〜５（スレーブノード）が答えることになりメッセージの衝突が生じる。この場合は、マスタユニット部１１が衝突を検知し、関連付けられた４つのIDを予め決められたスケジュールによりポーリングし、そのヘッダーに対応したドアコントローラ２〜５（スレーブノード）が返信することにより通信を成立させる。
【００１５】
図４(c)を参照して説明すると、スレーブ３，４（ドアコントローラ４，５）にステータス変化があり、レスポンスの衝突が生じた場合、IDの順によりマスタユニット部１１が順にスレーブ３，４に通信する処理（ポーリング）が行われる。
しかしながら、衝突発生からポーリングとなるため、ステータス変化時の通信レスポンスが通常のスケジュール通信に比べ遅くなるという問題がある。
実施例１のＬＩＮ通信におけるポーリング方法では、この課題を解決している。
【００１６】
[スレーブからのレスポンスID衝突による処理]
図５は実施例１のキーレスコントローラ１のマスタユニット部１１で実行されるスレーブ（ドアコントローラ２〜５）からのレスポンスID衝突による処理の流れを示すフローチャートで、以下各ステップについて説明する。
【００１７】
ステップＳ１では、スレーブからのレスポンスがあるかどうかを判断し、レスポンスありならばステップＳ２へ進み、レスポンスなしならば処理を終了する。
【００１８】
ステップＳ２では、レスポンスのあった、５ビットで表現されるIDデータが、１ＸＸＸＸ（Ｘは１でも０でもよい）となっているかどうか、つまり、右から数えて５ビット目が１かどうかを判断し、１ＸＸＸＸならばステップＳ３へ進み、１ＸＸＸＸでないならばステップＳ４へ進む。
【００１９】
ステップＳ３では、スレーブ１であるドアコントローラ２へのポーリングをセットする。
【００２０】
ステップＳ４では、レスポンスのあった、５ビットで表現されるIDデータが、Ｘ１ＸＸＸ（Ｘは１でも０でもよい）となっているかどうか、つまり、右から数えて４ビット目が１かどうかを判断し、Ｘ１ＸＸＸならばステップＳ５へ進み、Ｘ１ＸＸＸでないならばステップＳ６へ進む。
【００２１】
ステップＳ５では、スレーブ２であるドアコントローラ３へのポーリングをセットする。
【００２２】
ステップＳ６では、レスポンスのあった、５ビットで表現されるIDデータが、ＸＸ１ＸＸ（Ｘは１でも０でもよい）となっているかどうか、つまり、右から数えて３ビット目が１かどうかを判断し、ＸＸ１ＸＸならばステップＳ７へ進み、ＸＸ１ＸＸでないならばステップＳ８へ進む。
【００２３】
ステップＳ７では、スレーブ３であるドアコントローラ４へのポーリングをセットする。
【００２４】
ステップＳ８では、レスポンスのあった、５ビットで表現されるIDデータが、ＸＸＸ１Ｘ（Ｘは１でも０でもよい）となっているかどうか、つまり、右から数えて２ビット目が１かどうかを判断し、ＸＸＸ１ＸならばステップＳ９へ進み、ＸＸＸ１ＸでないならばステップＳ１０へ進む。
【００２５】
ステップＳ９では、スレーブ４であるドアコントローラ５へのポーリングをセットする。
【００２６】
ステップＳ１０では、ポーリングセット数が１を超えているかどうかを判断し、１を超えているならばステップＳ１１へ進み、１以下ならばステップＳ１２へ進む。
【００２７】
ステップＳ１１では、セットしたポーリング処理を開始する。
【００２８】
ステップＳ１２では、データを受信する。
【００２９】
[リクエストスイッチと連動している場合の衝突処理]
図６は実施例１のキーレスコントローラ１のマスタユニット部１１で実行される、リクエストスイッチ連動のスレーブ（ドアコントローラ２〜５）からのレスポンスID衝突による処理の流れを示すフローチャートで、以下各ステップについて説明する。
【００３０】
ステップＳ２１では、スレーブからのレスポンスがあるかどうかを判断し、レスポンスがあるならばステップＳ２２へ進み、レスポンスがないならば処理を終了する。
【００３１】
ステップＳ２２では、スレーブからのレスポンスが衝突しているかどうかを判断し、衝突しているならばステップＳ２３へ進み、衝突していないならば処理を終了する。
【００３２】
ステップＳ２３では、運転席のリクエストスイッチがオンかどうかを判断し、オンならばステップＳ２４に進み、オフならばステップＳ２５へ進む。
【００３３】
ステップＳ２４では、スレーブ１であるドアコントローラ２へのポーリングをセットする。
【００３４】
ステップＳ２５では、助手席のリクエストスイッチがオンかどうかを判断し、オンならばステップＳ２４に進み、オフならばステップＳ２５へ進む。
【００３５】
ステップＳ２６では、スレーブ２であるドアコントローラ３へのポーリングをセットする。
【００３６】
ステップＳ２７では、後部左席のリクエストスイッチがオンかどうかを判断し、オンならばステップＳ２８に進み、オフならばステップＳ２９へ進む。
【００３７】
ステップＳ２８では、スレーブ３であるドアコントローラ４へのポーリングをセットする。
【００３８】
ステップＳ２９では、後部右席のリクエストスイッチがオンかどうかを判断し、オンならばステップＳ３０に進み、オフならばステップＳ３１へ進む。
【００３９】
ステップＳ３０では、スレーブ４であるドアコントローラ５へのポーリングをセットする。
【００４０】
ステップＳ３１では、セットしたポーリング処理を行う。
【００４１】
[効率的な通信処理]
実施例１では、衝突してもどのIDか判るようにIDを振り分ける。レスポンスIDのドミナント位置で判定する。レスポンスIDのドミナント位置で判定する。
【００４２】
例えば、４つのスレーブのレスポンスIDを、Ox20(10 0000)、0x10(01 0000)、0x08(00 1000)、0x04(00 0100)にした場合、バス信号上ではドミナント信号がレセッシブより優位であるためビット１が０を上書きすることになり、データが衝突していても１データの判別が可能である。これにより、マスタが受信するデータが衝突していた場合でも先頭ビットが１ならば、IDはOx20、２番目のビットが１ならばIDは0x10、同様に３ビット目なら0x08、同様に４ビット目なら0x04のレスポンスとしてビットが立っているIDに対応したIDをポーリングする。
【００４３】
さらに、詳細に説明する。
図８はスレーブのレスポンスIDデータの一部分を示す説明図である。
例えば、上記に説明のように、４つのスレーブに対して、IDをOx20(10 0000)、0x10(01 0000)、0x08(00 1000)、0x04(00 0100)にした場合、そのIDデータは、ドミナントが同じビット位置で重複しない位置となる（図８(a)〜(d)参照）。なお、データの中における例えば、スタートビット、ID、パリティビットのビット数、配置は同じものと予め定めておく。
【００４４】
このレスポンスデータが衝突する場合、例えば、IDの0x10(01 0000)と0x04(00 0100)が衝突すると、それぞれのIDを示すビットにおいて、ドミナント信号とレセッシブ信号が衝突するが、例を挙げて説明すると、高レベル信号と低レベル信号が衝突すると、合わせた信号は高レベルと判断できるものになってしまうように、ドミナントがレセッシブを上書きするため、マストユニットでは、合わせた信号（０１０１００）のドミナント（１）の位置から、スレーブ２とスレーブ４のレスポンスだと判るのである（図８(e)参照）。
【００４５】
さらに、図１の構成で説明すると、ドアコントローラ２〜５（スレーブ１〜４）のIDをドミナントが重複しないように、ID32(10000)、ID16(01000)、ID8(00100)、ID4(00010)と設定する。
これに対して、イベントトリガフレームがID10を設定し、このID10がID32、ID16、ID8、ID4と関連付けされている場合、に、ドアコントローラ４(スレーブ３）とドアコントローラ５（スレーブ４）がレスポンスを返した場合、IDデータのドミナントが上記説明のように重複しないため、マスタユニット部１１では、ドアコントローラ４(スレーブ３）とドアコントローラ５（スレーブ４）がレスポンスしたことを知得する。
【００４６】
その詳細は、ステップＳ１でレスポンスありとし、ステップＳ６、Ｓ７で、ドアコントローラ４(スレーブ３）のレスポンスと判断とポーリングのセット、さらにステップＳ８、Ｓ９で、ドアコントローラ５（スレーブ４）のレスポンスと判断とポーリングのセットが行われる。
【００４７】
このポーリングのセットでは、関連付けされていても、レスポンスを返さなかったドアコントローラ２，３はセットされていないため、次のポーリング処理では、ドアコントローラ４，５とのみ通信するため、無駄な処理時間がない（図７(a)参照）。
【００４８】
さらに、実施例１では、キーレスコントローラ１とリクエストスイッチ１２〜１５からの操作入力がある場合には、この操作入力がドアコントローラ２〜５に対応していることにより、IDでなく、どのリクエストスイッチ１２〜１５からの入力かにより、ポーリングを設定する。処理の内容は図６で示すフローチャートのようになる。
【００４９】
この場合には、レスポンスがあり、チェックサム等によりレスポンスの衝突を確認する（ステップＳ１，Ｓ２）と、キーレスコントローラ１はリクエストスイッチ１２〜１５からの入力により、その対応関係から、どのドアコントローラ２〜５からのレスポンス衝突がわかる。例えばドアコントローラ２，４がレスポンス信号を返したことは、リクエストスイッチ１２，１４からの入力がオンになｔっていることからわかる（図７(b)参照）。次に、このレスポンス衝突のスレーブ側（ドアコントローラ２〜５）をポーリングにセットする。例えば、ドアコントローラ２，４のレスポンス衝突の場合、ステップＳ２５，Ｓ２６で、ドアコントローラ２のポーリングセット、ステップＳ２９，Ｓ３０で、ドアコントローラ４のポーリングセットを行う（図７(b)参照）。
静電容量変化を用いたリクエストスイッチ方式のパッシブキーレスシステムの場合、リモコン所有者がドアノブを握った時にそのドアのドアロックのみを個別に解除し車両内にアクセスさせるといった制御が考えられる。その場合開くドアのみポーリングを行えば効率的に検知ができる。
【００５０】
これにより、次のポーリングでは、レスポンス衝突を起こしたスレーブ側とのみ通信するため、無駄な処理がない。これにより通信の効率化が向上する。
【００５１】
次に、効果を説明する。
実施例１のＬＩＮ通信におけるポーリング方法にあっては、下記に列挙する効果を得ることができる。
(1)マスタユニット部１１が複数のドアコントローラ２〜５に応答データの有無を問いかけるポーリング処理によりシリアル通信を行うＬＩＮ通信において、ドアコントローラ２〜５からのレスポンスが衝突した際に、衝突したレスポンスを返したドアコントローラ２〜５を判断し、衝突したレスポンスを返したドアコントローラ２〜５にのみポーリングを行うようにしたため、効率的な通信にすることができる。
【００５２】
(2)複数のドアコントローラ２〜５のIDデータのドミナントが重複しないように割り当て、複数のドアコントローラ２〜５からのレスポンスが衝突した際に、衝突データのIDデータのドミナント位置から、どのドアコントローラ２〜５からのレスポンスかを判断し、判断したドアコントローラ２〜５に対してポーリングを行うため、本来ＬＩＮ通信に含まれているIDデータを用いて、データを増加させることなく、どこからのレスポンスかを判断できるようにし、コストを抑制しつつ、効率的な通信にすることができる。
【００５３】
(3)マスタユニット部１１は、ドアコントローラ２〜５のそれぞれに関連付けされた入力を得るようにし、複数のドアコントローラ２〜５からのレスポンスが衝突した際に、マスタユニット部１１への入力から、どのドアコントローラ２〜５からのレスポンスかを判断し、判断したドアコントローラ２〜５に対してポーリングを行うため、本発明が採用されるシステムにおけるマスタユニット部１１が得られる情報から、データを増加させることなく、どこからのレスポンスかを判断できるようにし、コストを抑制しつつ、効率的な通信にすることができる。
【００５４】
以上、本発明のＬＩＮ通信におけるポーリング方法を実施例１に基づき説明してきたが、具体的な構成については、これらの実施例に限られるものではなく、特許請求の範囲の各請求項に係る発明の要旨を逸脱しない限り、設計の変更や追加等は許容される。
【００５５】
例えば、実施例１では、キーレスコントローラを例にしたが、他のコントローラであってもよい。
また、IDを衝突の際のデータ読み込みは、別の例えば、奇数偶数、プラスマイナスなどの演算によるものであってもよい。
実施例１では、ドミナントが重複しないようにIDを割付け、衝突リクエストデータからどのスレーブかを判断し、リクエストスイッチの操作入力の場合には、リクエストスイッチにより、どのスレーブかを判断したが、両方の判断が行われた場合に、一致していることを確認するようにしてもよい。この場合には、より確実性が向上する。また、ID振り分けから除外するようにして、さらに多くのユニットと通信を行えるようにしてもよい。
【図面の簡単な説明】
【００５６】
【図１】実施例１のＬＩＮ通信におけるポーリング方法を用いたネットワーク構成のブロック図である。
【図２】図１の構成の一部を簡潔に示した概略図である。
【図３】図２の構成でのLIN通信における通常フレームでの通信のタイムチャートである。
【図４】図２の構成でのLIN通信におけるイベントフレームでの通信のタイムチャートである。
【図５】実施例１のキーレスコントローラのマスタユニット部で実行されるスレーブ（ドアコントローラ）からのレスポンスID衝突による処理の流れを示すフローチャートである。
【図６】実施例１のキーレスコントローラのマスタユニット部で実行される、リクエストスイッチ連動のスレーブ（ドアコントローラ）からのレスポンスID衝突による処理の流れを示すフローチャートである。
【図７】実施例１のLIN通信におけるタイムチャートである。
【図８】実施例１のLIN通信におけるレスポンスデータの一部を示す説明図である。
【符号の説明】
【００５７】
１  キーレスコントローラ
１１  マスタユニット部
１２  リクエストスイッチ
１３  リクエストスイッチ
１４  リクエストスイッチ
１５  リクエストスイッチ
２  ドアコントローラ
２１  ドアスイッチ
３  ドアコントローラ
３１  ドアスイッチ
４  ドアコントローラ
４１  ドアスイッチ
５  ドアコンとローラ
５１  ドアスイッチ
【図１】
2007258994.tif 000003
【図２】
2007258994.tif 000004
【図３】
2007258994.tif 000005
【図４】
2007258994.tif 000006
【図５】
2007258994.tif 000007
【図６】
2007258994.tif 000008
【図７】
2007258994.tif 000009
【図８】
2007258994.tif 000010