(57)【要約】【課題】ネットワークにスレーブノードが追加される場合でも、マスターノードの通信ポートを増加させることなくスケジューリングすること。【解決手段】第１の通信ノードと、該第１の通信ノードと通信を行う複数の第２の通信ノードとを有する通信システムは、第１の通信ノードと複数の第２の通信ノードの各々との間のメッセージに要求される第１の送信周期に基づいて、各第１の送信周期の整数倍となる第２の送信周期で、複数の第２の通信ノードの各々との間のメッセージのスケジューリングを実行するスケジューリング部と、該スケジューリング部によるスケジューリングに従って、複数の第２の通信ノードの各々にメッセージを送信する送信部とを有する第１の通信ノードと、第１の通信ノードからのメッセージを受信する第２の通信ノードとを有する。【選択図】図５
2014212440.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信ノードと、該第１の通信ノードと通信を行う複数の第２の通信ノードとを有する通信システムであって、
前記第１の通信ノードは、
前記第１の通信ノードと前記複数の第２の通信ノードの各々との間のメッセージに要求される第１の送信周期に基づいて、各第１の送信周期の整数倍となる第２の送信周期で、前記複数の第２の通信ノードの各々との間のメッセージのスケジューリングを実行するスケジューリング部と、
該スケジューリング部によるスケジューリングに従って、前記複数の第２の通信ノードの各々にメッセージを送信する送信部と
を有し、
前記第２の通信ノードは、
前記第１の通信ノードからのメッセージを受信する、通信システム。
【請求項２】
前記スケジューリング部は、
前記複数の第２の通信ノードの各々へ設定されるスロットに基づいて、該複数の第２の通信ノードの各々へのメッセージを割り当て、
前記送信部は、前記スケジューリング部により割り当てたスロットで、前記複数の第２の通信ノードの各々へメッセージを送信する、請求項１に記載の通信システム。
【請求項３】
前記スケジューリング部は、前記複数の第２の通信ノードの各々について、各第２の通信ノードへメッセージを送信するスロットにメッセージを割り当てる、請求項１又は２に記載の通信システム。
【請求項４】
前記メッセージには、第２の通信ノードへ指示するメッセージ、該第２の通信ノードからタイプ情報を取得するメッセージ、該第２の通信ノードからステータスを取得するメッセージ、第２の通信ノードから該第２の通信ノードの情報を取得するメッセージが含まれる、請求項１ないし３のいずれか1項に記載の通信システム。
【請求項５】
複数のスレーブノードと通信を行う通信ノードであって、
前記通信ノードと前記複数のスレーブノードの各々との間のメッセージに要求される第１の送信周期に基づいて、各第１の送信周期の整数倍となる第２の送信周期で、前記複数のスレーブノードの各々との間のメッセージのスケジューリングを実行するスケジューリング部と、
該スケジューリング部によるスケジューリングに従って、前記複数のスレーブノードの各々にメッセージを送信する送信部と
を有する、通信ノード。
【請求項６】
第１の通信ノードと、該第１の通信ノードと通信を行う複数の第２の通信ノードとを有する通信システムにおける通信方法であって、
前記第１の通信ノードは、
前記第１の通信ノードと前記複数の第２の通信ノードの各々との間のメッセージに要求される第１の送信周期に基づいて、各第１の送信周期の整数倍となる第２の送信周期で、前記複数の第２の通信ノードの各々との間のメッセージのスケジューリングを実行し、
該スケジューリングに従って、前記複数の第２の通信ノードの各々にメッセージを送信し、
前記第２の通信ノードは、
前記第１の通信ノードからのメッセージを受信する、通信方法。
【請求項７】
複数のスレーブノードと通信を行う通信ノードにおける通信方法であって、
前記通信ノードと前記複数のスレーブノードの各々との間のメッセージに要求される第１の送信周期に基づいて、各第１の送信周期の整数倍となる第２の送信周期で、前記複数のスレーブノードの各々との間のメッセージのスケジューリングを実行し、
該スケジューリングに従って、前記複数のスレーブノードの各々にメッセージを送信する、通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
車両には、該車両内の様々な制御を行うために車載ネットワークが構成されることが多い。車載ネットワークは、LANに、多くの電子制御ユニット(ECU: Electronic Control Unit)、センサ、アクチュエータ等が接続されることにより実現される。以下、車載ネットワークに接続される、電子制御ユニット、センサ、アクチュエータ等を通信ノードと呼ぶ。通信ノードは、車両内の様々な位置に設置される。通信ノード間は、通信線や電線により接続される。
【０００３】
例えば、データバスに、複数の通信ノードが接続されることにより、車載ネットワークが構成される。該車載ネットワークには、CAN(Controller Area Network)、LIN(Local Interconnect Network)が含まれる。また、該車載ネットワークには、 FlexRay（登録商標）に従って通信を行うものが含まれてもよい。
【０００４】
例えば、LINは、ドアミラー、パワーシート、サンルーフ、ドアロック、エアコン、照明等に使用される。LINに従って通信を行う車載ネットワークでは、マスタスレーブ方式が採用される。マスタスレーブ方式では、車載ネットワークを構成する通信ノードのうち、１つの通信ノードがマスターノードとされ、他の通信ノードはスレーブノードとされる。マスターノードは、スレーブノードの通信スケジュールを管理する。スレーブノードは、マスターノードの要求に従いレスポンスを返す。
【０００５】
運転状況の変化に応じて、スケジューリングテーブルや通信フレームの送受信タイミングを変更する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２６８０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
例えば、LINでは、独特でかつ複雑なスケジューリングを要求するスレーブノードを有するものが多い。このため、各スレーブノードの要求に応じてスケジューリングするのは困難である。
【０００８】
例えば、ガソリンエンジンなどの予混合燃焼機関において、液体の燃料を吸入空気に霧状に噴射する制御を行う装置が知られている。この装置は、燃料噴射(Electronic Fuel Injection)ECUと呼ばれる。EFIECUは、オルタネータとLIN接続されることが多い。この場合、EFIECUはマスターノードとして機能し、オルタネータはスレーブノードとして機能する。EFIECUは、１つの通信ポートを備える場合が多い。
【０００９】
車載ネットワークに高精度バッテリーセンサ(IBS: Intelligent Battery Sensor)を備える場合について説明する。高精度バッテリーセンサは、エレクトロニックバッテリーセンサー (EBS: Electronic Battery Sensor)と呼ばれることもある。高精度バッテリーセンサはスレーブノードとして機能する。EFIECUと高精度バッテリーセンサとの間で通信を行わせる場合、EFIECUに高精度バッテリーセンサとの間で通信を行うための通信ポートを追加する必要がある。高精度バッテリーセンサがLINに従って通信を行う場合には、EFIECUにLIN通信可能な通信ポートを追加する。EFIECUにLIN通信可能な通信ポートを追加する場合、EFIECUの大きさが増大するとともに、コストが増大する。
【００１０】
本発明は、ネットワークにスレーブノードが追加される場合でも、マスターノードの通信ポートを増加させることなくスケジューリングすることである。
【課題を解決するための手段】
【００１１】
開示の一実施例の通信システムは、
第１の通信ノードと、該第１の通信ノードと通信を行う複数の第２の通信ノードとを有する通信システムであって、
前記第１の通信ノードは、
前記第１の通信ノードと前記複数の第２の通信ノードの各々との間のメッセージに要求される第１の送信周期に基づいて、各第１の送信周期の整数倍となる第２の送信周期で、前記複数の第２の通信ノードの各々との間のメッセージのスケジューリングを実行するスケジューリング部と、
該スケジューリング部によるスケジューリングに従って、前記複数の第２の通信ノードの各々にメッセージを送信する送信部と
を有し、
前記第２の通信ノードは、
前記第１の通信ノードからのメッセージを受信する。
【００１２】
開示の一実施例の通信ノードは、
複数のスレーブノードと通信を行う通信ノードであって、
前記通信ノードと前記複数のスレーブノードの各々との間のメッセージに要求される第１の送信周期に基づいて、各第１の送信周期の整数倍となる第２の送信周期で、前記複数のスレーブノードの各々との間のメッセージのスケジューリングを実行するスケジューリング部と、
該スケジューリング部によるスケジューリングに従って、前記複数のスレーブノードの各々にメッセージを送信する送信部と
を有する。
【００１３】
開示の一実施例の通信方法は、
第１の通信ノードと、該第１の通信ノードと通信を行う複数の第２の通信ノードとを有する通信システムにおける通信方法であって、
前記第１の通信ノードは、
前記第１の通信ノードと前記複数の第２の通信ノードの各々との間のメッセージに要求される第１の送信周期に基づいて、各第１の送信周期の整数倍となる第２の送信周期で、前記複数の第２の通信ノードの各々との間のメッセージのスケジューリングを実行し、
該スケジューリングに従って、前記複数の第２の通信ノードの各々にメッセージを送信し、
前記第２の通信ノードは、
前記第１の通信ノードからのメッセージを受信する。
【００１４】
開示の一実施例の通信方法は、
複数のスレーブノードと通信を行う通信ノードにおける通信方法であって、
前記通信ノードと前記複数のスレーブノードの各々との間のメッセージに要求される第１の送信周期に基づいて、該複数の第１の送信周期の整数倍となる第２の送信周期で、前記複数のスレーブノードの各々との間のメッセージのスケジューリングを実行し、
該スケジューリングに従って、前記複数のスレーブノードの各々にメッセージを送信する。
【発明の効果】
【００１５】
開示の実施例によれば、ネットワークにスレーブノードが追加される場合でも、マスターノードの通信ポートを増加させることなくスケジューリングすることができる。
【図面の簡単な説明】
【００１６】
【図１】通信システムの一実施例を示す図である。
【図２】フレームフォーマットの一実施例を示す図である。
【図３】マスターノードの一実施例を示す図である。
【図４】マスターノードの一実施例を示す機能ブロック図である。
【図５】スケジューリングの一実施例（その１）を示す図である。
【図６】スケジューリングの一実施例（その２）を示す図である。
【図７】スロットの一実施例を示す図である。
【図８】第２のスレーブノードのスケジューリングの一実施例を示す図である。
【図９】第１のスレーブノードのスケジューリングの一実施例（その１）を示す図である。
【図１０】第１のスレーブノードのスケジューリングの一実施例（その２）を示す図である。
【図１１】通信システムの動作の一実施例を示すフローチャートである。
【図１２】第１のスレーブノードに対するスケジューリングの一例（その１）を示す図である。
【図１３】第１のスレーブノードに対するスケジューリングの一例（その２）を示す図である。
【図１４】第２のスレーブノードに対するスケジューリングの一例を示す図である。
【図１５】第１のスレーブノードおよび第２のスレーブノードに対するスケジューリングの一例を示す図である。
【発明を実施するための形態】
【００１７】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１８】
＜実施例＞
＜通信システム＞
図１は、通信システムの一実施例を示す。
【００１９】
通信システムは、複数の通信ノードを備える。通信システムは、単線ネットワークであってもよい。複数の通信ノードによりクラスタが構成されてもよい。
【００２０】
複数の通信ノードは、マスターノード１００、第１のスレーブノード２００１−第ｎのスレーブノード２００ｎ（ｎは、ｎ＞１の整数）に分類される。
【００２１】
通信システムでは、特定の通信ノードが、通信バス上のデータ送信タイミングを制御する。特定の通信ノードが通信バス上のデータ送信タイミングを制御する方式は、マスタスレーブ方式と呼ばれることもある。通信システムの一実施例は、マスタスレーブ方式が適用される場合について説明する。
【００２２】
マスタスレーブ方式が適用される通信システムには、LINが含まれる。従って、通信システムの一実施例は、LINが適用される場合について説明する。LINに限らず、特定の通信ノードが通信バス上のデータ送信タイミングを制御する通信システムに適用できる。
【００２３】
マスターノード１００は、メッセージを送信するタイミングを制御する。マスターノード１００は、メッセージに含まれるヘッダーを送信するタイミングをスケジューリングする。スケジューリングの際に、送信するメッセージのID（識別子）、送信の順番、送信する時間間隔等が設定されるのが好ましい。
【００２４】
マスターノード１００、第１のスレーブノード２００１−第ｎのスレーブノード２００ｎは、通信バス３００を介して有線接続される。マスターノード１００と第１のスレーブノード２００１−第ｎのスレーブノード２００ｎとの間で、通信バス３００を介して所定の通信プロトコルに従って通信が行われる。具体的には、LINに従って通信が行われる。
【００２５】
通信バス３００を流れる信号は、２つの論理レベルのどちらかの状態を有する。２つの論理レベルの状態は、「ドミナント（dominant）」と、「リセッシブ（recessive）」と呼ばれる。ドミナントは、グラウンド電位に近い、論理レベル０の状態である。リセッシブは、バッテリの＋（プラス）端子の電位に近い、論理レベル１の状態である。
【００２６】
以下の説明では、通信システムの一実施例として、通信システムが、マスターノード１００と、第１のスレーブノード２００１と、第２のスレーブノード２００２とを有する場合について説明する。マスターノード１００の一実施例はEFIECUであり、第１のスレーブノード２００１の一実施例はオルタネータであり、第２のスレーブノード２００２の一実施例は高精度バッテリーセンサである。
【００２７】
マスターノード１００は、所定のフレームフォーマットに従ってメッセージを送信する。
【００２８】
＜フレームフォーマット＞
図２は、マスターノード１００と第１のスレーブノード２００１−第ｎのスレーブノード２００ｎとの間で送受信されるフレームフォーマットの一実施例を示す。
【００２９】
フレームは、ヘッダーと、レスポンスを有する。ヘッダーはマスターノード１００から送信され、レスポンスは第１のスレーブノード２００１−第ｎのスレーブノード２００ｎのいずれかから送信される。
【００３０】
ヘッダーは、ブレークフィールド(Break field)と、シンクフィールド(Sync field)と、プロテクテッドアイデンティファイアーフィールド(Protected identifier field)とを有する。
【００３１】
ブレークフィールドは、クラスタの全スレーブノードに、フレームの開始を通知するためのフィールドである。ブレークフィールドのドミナント継続時間は、１３ビット長以上であるのが好ましい。
【００３２】
シンクフィールドは、クラスタに含まれる通信ノード間のクロック誤差の補正に使用される。
【００３３】
プロテクテッドアイデンティファイアーフィールドは、フレームの識別番号を表す６ビット（０〜５ビット）のフレームＩＤと、２ビット（６、７ビット）のパリティの合計８ビットで構成されるのが好ましい。
【００３４】
レスポンスには、データフィールド(Data Field)と、チェックサム(Checksum)が含まれるのが好ましい。データフィールドと、チェックサムは、UART(Universal Asynchronous Receiver/Transmitter)フレームで送信されるのが好ましい。データフィールドは、１個であってもよいし、複数であってもよい。各データフィールドには、最大８バイトのデータを格納できる。チェックサムは、データを正確に受信できたかどうかを判断する際に使用される。具体的には、チェックサムには、各データの値の総和を反転した値が格納される。
【００３５】
また、ヘッダーは４７ビット以下、レスポンスは１２６ビット以下であるのが好ましい。
【００３６】
また、隣接するフレーム間には、フレーム間間隔(Inter-frame space)（図示なし）が設定される。
【００３７】
＜マスターノード１００＞
図３は、マスターノード１００を示す。
【００３８】
マスターノード１００は、マイクロコントローラユニット(MCU: Micro-Control Unit)１０２と、トランシーバ１０６とを有する。
【００３９】
マイクロコントローラユニット１０２には、１又は複数のマイコンが含まれる。マイコンの代わりにＣＰＵが含まれてもよいし、マイコンとＣＰＵとが混在していてもよい。さらに、マイクロコントローラユニット１０２には、通信装置１０４が搭載される。通信装置１０４はトランシーバ１０６との間で、シリアル通信を行う。具体的には、該通信装置１０４は、ＵＡＲＴであってもよい。
【００４０】
トランシーバ１０６は、マイクロコントローラユニット１０２、通信バス３００と接続される。トランシーバ１０６は、マイクロコントローラユニット１０２から入力されたデータを通信バス３００に送信し、通信バス３００からのデータをマイクロコントローラユニット１０２に入力する。
【００４１】
マスターノード１００が複数のマイクロコントローラユニットを有するようにしてもよい。
【００４２】
＜マスターノード１００の機能＞
マスターノード１００は、メッセージに含まれるヘッダーを送信するタイミングをスケジューリングする。マスターノード１００は、スケジューリングに従って、送信するメッセージに対応するメッセージＩＤを含むメッセージ（ヘッダー）を送信する。
【００４３】
図４は、マスターノード１００を示す機能ブロック図である。図４の機能ブロック図により表される機能は、主に、マイクロコントローラ１０２により実行される。つまり、マイクロコントローラ１０２は、マスター機能部１１０として機能する。
【００４４】
マイクロコントローラ１０２の内部に記憶されたアプリケーション（ファームウェア）に従ってマイクロコントローラ１０２により、マスター機能部１１０としての機能が実行されるのが好ましい。また、記憶部（図示無し）に記憶されたアプリケーションに従ってマイクロコントローラ１０２により、マスター機能部１１０としての機能が実行されてもよい。
【００４５】
マスターノード１００は、マスター機能部１１０として機能する。マスター機能部１１０は、スケジューリング部１１２と、メッセージ作成部１１４と、フレーム送信制御部１１６と、フレーム受信制御部１１８とを有する。
【００４６】
マイクロコントローラ１０２は、スケジューリング部１１２として機能する。スケジューリング部１１２は、第１のスレーブノード２００１と、第２のスレーブノード２００２に割り当てるスロットの配分を設定する。スケジューリング部１１２は、第１のスレーブノード２００１と、第２のスレーブノード２００２に割り当てるスロットの数の配分に従って各スレーブノードにスロットを割り当てる。スケジューリング部１１２は、各スレーブノードにより送信されるメッセージに対する要求に従ってスロットを割り当てるのが好ましい。
【００４７】
メッセージ作成部１１４は、スケジューリング部１１２と接続される。メッセージ作成部１１４は、スケジューリング部１１２によるスケジューリングに従って、送信するメッセージに対応するメッセージＩＤを付帯したメッセージを作成する。メッセージ作成部１１４は、フレーム送信制御部１１６にメッセージを入力する。つまり、メッセージ作成部１１４は、メッセージＩＤに基づいて、フレーム送信制御部１１６にブレークフィールド、シンクフィールド、プロテクテッドアイデンティファイアーフィールドを入力する。
【００４８】
フレーム送信制御部１１６は、メッセージ作成部１１４と接続される。フレーム送信制御部１１６は、メッセージ作成部１１４からのメッセージを送信する制御を実行する。フレーム送信制御部１１６による送信制御により、メッセージは、トランシーバ１０６から送信される。
【００４９】
フレーム受信制御部１１８は、スケジューリング部１１２と接続される。フレーム受信制御部１１８は、メッセージに対するレスポンスを受信する制御を実行する。フレーム受信制御部１１８は、レスポンスの受信結果をスケジューリング部１１２に通知する。フレーム受信制御部１１８は、レスポンスの受信に関して、肯定応答又は否定応答をスケジューリング部１１２に通知するのが好ましい。
【００５０】
スケジューリング部１１２は、フレーム受信制御部１１８からのレスポンスの受信結果に応じて、再送制御などを行う。
【００５１】
＜スケジューリング＞
図５、図６は、マスターノード１００におけるスケジューリングの一実施例を示す。つまり、スケジューリング部１１２の動作の一実施例を示す。図５は、通信システムの起動直後に実行されるイニット(INIT)スケジューリングを示す。
【００５２】
INITスケジューリングは、通信システムの起動直後から所定数のフレームが送受信される間に実行されるのが好ましい。所定数は予め設定されるのが好ましい。例えば、128msを一周期とし、23周期を経過する間、INITスケジューリングが実行される。
【００５３】
図５において、横軸は時間[ms]である。図５において「TX」はマスターノード１００からの送信データ、つまりマスターノード１００がデータを送信することを示す。「RX」はマスターノード１００からの受信データ、つまりマスターノード１００がデータを受信すること示す。マスターノード１００がデータを受信する場合には、該データの受信に先だって、マスターノード１００からデータを要求するフレームが送信される。
【００５４】
マスターノード１００には、第１のスレーブノード２００１（オルタネータ）と第２のスレーブノード２００２（高精度バッテリーセンサ）に割り当てるスロットの配分が設定される。図５に示される例では、第１のスレーブノード２００１と第２のスレーブノード２００２に割り当てるスロットの配分は、３対１に設定される。第１のスレーブノード２００１と第２のスレーブノード２００２に割り当てるスロットの配分は、３対１に限られず、異なるように設定されてもよい。
【００５５】
＜INITスケジューリング条件＞
通信システムの一実施例では、マスターノード１００と第１のスレーブノード２００１との間のメッセージに要求される送信周期と、マスターノード１００と第２のスレーブノード２００２との間のメッセージに要求される送信周期に基づいて、マスターノード１００と第１のスレーブノード２００１との間、マスターノード１００と第２のスレーブノード２００２との間で通信が実行される周期が設定される。例えば、マスターノード１００と第１のスレーブノード２００１との間のメッセージに要求される送信周期は16msであり、マスターノード１００と第２のスレーブノード２００２との間のメッセージに要求される送信周期は32msであるとする。
【００５６】
この場合、マスターノード１００と第１のスレーブノード２００１との間、マスターノード１００と第２のスレーブノード２００２との間で通信が実行される周期は、16msと32msの整数倍であるのが好ましい。マスターノード１００と第１のスレーブノード２００１との間、マスターノード１００と第２のスレーブノード２００２との間で通信が実行される周期は、16msと32msの公倍数から求められてもよい。つまり、マスターノード１００と第１のスレーブノード２００１との間、マスターノード１００と第２のスレーブノード２００２との間で通信が実行される周期は、32ms、64ms、96ms、128ms、・・・から選択されるのが好ましい。
【００５７】
通信システムの一実施例では、128msを1サイクルとして、マスターノード１００と第１のスレーブノード２００１との間、マスターノード１００と第２のスレーブノード２００２との間で通信が実行される場合について説明する。128msとは異なる周期で、通信が実行されるようにしてもよい。
【００５８】
INITスケジューリングでは、第１のスレーブノード２００１および第２のスレーブノード２００２のスケジューリングの際に、以下の（１）−（４）の要求を満たす必要がある。
【００５９】
（１）128ms毎に、マスターノード１００は、第１のスレーブノード２００１（オルタネータ）に３回以上指示を送信することが必要である。マスターノード１００は、フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox29」を付帯して送信するのが好ましい。「Ox」は１６進数を示す。フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox29」を付帯して送信することにより、第１のスレーブノード２００１に所定の指示を実行できる。
【００６０】
（２）128ms毎に、マスターノード１００は、第１のスレーブノード２００１（オルタネータ）からタイプ情報を入手することが必要である。タイプ情報は、オルタネータを識別するデータ、オルタネータのサプライヤー情報などである。マスターノード１００は、フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox12」を付帯して送信するのが好ましい。フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox12」を付帯して送信することにより、第１のスレーブノード２００１にタイプ情報を要求することができる。マスターノード１００からプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox12」が付帯されたフレームを受信した第１のスレーブノード２００１は、タイプ情報を送信する。
【００６１】
（３）16ms毎に、マスターノード１００は、第１のスレーブノード２００１（オルタネータ）からステータスを入手することが必要である。ステータスは、オルタネータの作動状態を示すデータ、オルタネータの回転数や、発電電圧などのデータである。マスターノード１００は、フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox15」を付帯して送信するのが好ましい。フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox15」を付帯して送信することにより、第１のスレーブノード２００１にステータスを要求することができる。マスターノード１００からプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox15」が付帯されたフレームを受信した第１のスレーブノード２００１は、ステータスを送信する。
【００６２】
（４）32ms毎に、マスターノード１００は、第２のスレーブノード２００２（高精度バッテリーセンサ）から該高精度バッテリーセンサの情報を入手することが必要である。マスターノード１００は、128msの1サイクルの間に、32ms毎に高精度バッテリーセンサから該高精度バッテリーセンサの情報を入手するためのフレームを、4回送信するのが好ましい。マスターノード１００は、1サイクルの間に送信するメッセージ毎に、フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox34」、「Ox35」、「Ox36」および「Ox37」をそれぞれ付帯して送信するのが好ましい。フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox34」、「Ox35」、「Ox36」および「Ox37」をそれぞれ付帯して送信することにより、第２のスレーブノード２００２に高精度バッテリーセンサの情報を要求することができる。マスターノード１００からプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox34」、「Ox35」、「Ox36」および「Ox37」がそれぞれ付帯されたフレームを受信した第２のスレーブノード２００２は、高精度バッテリーセンサの情報を送信する。
【００６３】
スケジューリング部１１２は、第１のスレーブノード２００１と第２のスレーブノード２００２に割り当てるスロットの数の配分を設定する。ここでは、第１のスレーブノード２００１に割り当てるスロットの数と第２のスレーブノード２００２に割り当てるスロットの数の配分が３対１である。128msの1サイクルの間に16個のスロットが用意されている場合に、第１のスレーブノード２００１に12個のスロットを割当て、第２のスレーブノード２００２に4個のスロットを割当てる。スケジューリング部１１２は、4個のスロットを１単位として、各スレーブノードを割り当てる。スケジューリング部１１２は、４個のスロットのうち、最初の１番目のスロットには第２のスレーブノード２００２へのメッセージを割り当て、続く３個のスロットには第１のスレーブノード２００１へのメッセージを割り当てる。
【００６４】
スケジューリング部１１２は、第１のスレーブノード２００１、第２のスレーブノード２００２に割り当てるスロットの数の配分に従って、上述したINITスケジューリング条件を満たすように、スロットを順次割り当てる。
【００６５】
スケジューリング部１１２は、各スレーブノードにスロットを順次割り当てる。具体的には、図５に示されるように、スケジューリング部１１２は、0ms、32ms、64ms、96ms、128ms、・・・のスロットには、第２のスレーブノード２００２を割り当てる。スケジューリング部１１２は、8ms、16ms、24ms、40ms、48ms、56ms、72ms、80ms、88ms、104ms、112ms、120ms、・・・のスロットには、第１のスレーブノード２００１を割り当てる。
【００６６】
（４）の要求により、32ms毎に、マスターノード１００は、高精度バッテリーセンサから該高精度バッテリーセンサの情報を入手するようにスケジューリングするのが好ましい。つまり、スケジューリング部１１２は、32msの整数倍、つまり、0ms、32ms、64ms、96msのスロットで、高精度バッテリーセンサから該高精度バッテリーセンサの情報を入手するようにスケジューリングする。
【００６７】
（３）の要求により、16ms毎に、マスターノード１００は、オルタネータからステータスを入手するようにスケジューリングするのが好ましい。つまり、スケジューリング部１１２は、8msの整数倍、つまり、8ms、24ms、40ms、56ms、72ms、88ms、104ms、120msのスロットで、オルタネータからステータスを入手するようにスケジューリングする。
【００６８】
（１）の要求により、128ms毎に、マスターノード１００は、オルタネータに３回以上指示を送信するようにスケジューリングするのが好ましい。つまり、スケジューリング部１１２は、残りのスロットのうち、16ms、48ms、80msの３個のスロットで、オルタネータに３回以上指示を送信するようにスケジューリングする。
【００６９】
（２）の要求により、128ms毎に、マスターノード１００は、オルタネータからタイプ情報を入手するようにスケジューリングするのが好ましい。つまり、スケジューリング部１１２は、残りのスロットの112msのスロットで、オルタネータからタイプ情報を入手するようにスケジューリングする。
【００７０】
上述したスケジューリングは一例であり、異なるようにスケジューリングされてもよい。
【００７１】
また、スケジューリング部１１２は、第１のスレーブノード２００１から該第１のスレーブノード２００１のスケジューリングに関する要求を受信し、第２のスレーブノード２００２から該第２のスレーブノード２００２のスケジューリングに関する要求を受信するようにしてもよい。スケジューリング部１１２は、受信したスケジューリングに関する要求に基づいてスケジューリングを実行するようにしてもよい。
【００７２】
上述したスケジューリングにより、各スロットでは、以下に示されるフレームが送信される。
【００７３】
0msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox34」が付帯されたフレームが送信される。
【００７４】
8msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【００７５】
16msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【００７６】
24msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【００７７】
32msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox35」が付帯されたフレームが送信される。
【００７８】
40msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【００７９】
48msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【００８０】
56msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【００８１】
64msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox36」が付帯されたフレームが送信される。
【００８２】
72msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【００８３】
80msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【００８４】
88msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【００８５】
96msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox37」が付帯されたフレームが送信される。
【００８６】
104msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【００８７】
112msのスロットでは、オルタネータからタイプ情報を受信するメッセージID「Ox12」が付帯されたフレームが送信される。
【００８８】
120msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【００８９】
128msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox34」が付帯されたフレームが送信される。
【００９０】
図６は、INITスケジューリングの後に実行される通常スケジューリングを示す。
【００９１】
通常スケジューリングが実行されると、通信システムが終了するまで実行される。
【００９２】
通常スケジューリングでは、第１のスレーブノード２００１および第２のスレーブノード２００２のスケジューリングの際に、以下の（１）−（３）の要求を満たす必要がある。
【００９３】
（１）128ms毎に、マスターノード１００は、第１のスレーブノード２００１（オルタネータ）に３回以上指示を送信することが必要である。マスターノード１００は、フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox29」を付帯して送信するのが好ましい。フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox29」を付帯して送信することにより、第１のスレーブノード２００１に所定の指示を実行できる。
【００９４】
（２）16ms毎に、マスターノード１００は、第１のスレーブノード２００１（オルタネータ）からステータスを入手することが必要である。マスターノード１００は、フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox15」を付帯して送信するのが好ましい。フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox15」を付帯して送信することにより、第１のスレーブノード２００１にステータスを要求することができる。マスターノード１００からプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox15」が付帯されたフレームを受信した第１のスレーブノード２００１は、ステータスを送信する。
【００９５】
（３）32ms毎に、マスターノード１００は、第２のスレーブノード２００２（高精度バッテリーセンサ）から該高精度バッテリーセンサの情報を入手することが必要である。マスターノード１００は、128msの1サイクルの間に、32ms毎に高精度バッテリーセンサから該高精度バッテリーセンサの情報を入手するためのフレームを、4回送信するのが好ましい。マスターノード１００は、1サイクルの間に送信するメッセージ毎に、フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox34」、「Ox35」、「Ox36」および「Ox37」をそれぞれ付帯して送信するのが好ましい。フレームのプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox34」、「Ox35」、「Ox36」および「Ox37」をそれぞれ付帯して送信することにより、第２のスレーブノード２００２に高精度バッテリーセンサの情報を要求することができる。マスターノード１００からプロテクテッドアイデンティファイアーフィールドにメッセージＩＤ「Ox34」、「Ox35」、「Ox36」および「Ox37」がそれぞれ付帯されたフレームを受信した第２のスレーブノード２００２は、高精度バッテリーセンサの情報を送信する。
【００９６】
通常スケジューリングでは、マスターノード１００は、128ms毎に、第１のスレーブノード２００１（オルタネータ）からタイプ情報を入手することは行わない。
【００９７】
スケジューリング部１１２は、第１のスレーブノード２００１と第２のスレーブノード２００２に割り当てるスロットの数の配分を設定する。ここでは、第１のスレーブノード２００１に割り当てるスロットの数と第２のスレーブノード２００２に割り当てるスロットの数の配分が３対１である。つまり、INITスケジューリングと同様に、128msの1サイクルの間に16個のスロットが用意されている場合に、第１のスレーブノード２００１に12個のスロットを割当て、第２のスレーブノード２００２に4個のスロットを割当てる。
【００９８】
スケジューリング部１１２は、第１のスレーブノード２００１、第２のスレーブノード２００２に割り当てるスロットの数の配分に従って、上述した通常スケジューリング条件を満たすように、スロットを順次割り当てる。
【００９９】
スケジューリング部１１２は、各スレーブノードにスロットを順次割り当てることにより、図６に示されるように、0ms、32ms、64ms、96ms、128ms、・・・のスロットには、第２のスレーブノード２００２が割り当てられる。8ms、16ms、24ms、40ms、48ms、56ms、72ms、80ms、88ms、104ms、112ms、120ms、・・・のスロットには、第１のスレーブノード２００１が割り当てられる。
【０１００】
（３）の要求により、32ms毎に、マスターノード１００は、高精度バッテリーセンサから該高精度バッテリーセンサの情報を入手するようにスケジューリングするのが好ましい。つまり、スケジューリング部１１２は、32msの整数倍、つまり、0ms、32ms、64ms、96msのスロットで、高精度バッテリーセンサから該高精度バッテリーセンサの情報を入手するようにスケジューリングする。
【０１０１】
（２）の要求により、16ms毎に、マスターノード１００は、オルタネータからステータスを入手するようにスケジューリングするのが好ましい。つまり、スケジューリング部１１２は、8msの整数倍、つまり、8ms、24ms、40ms、56ms、72ms、88ms、104ms、120msのスロットで、オルタネータからステータスを入手するようにスケジューリングする。
【０１０２】
（１）の要求により、128ms毎に、マスターノード１００は、オルタネータに３回以上指示を送信するようにスケジューリングするのが好ましい。つまり、スケジューリング部１１２は、残りのスロット、つまり16ms、48ms、80ms、112msの４個のスロットで、オルタネータに３回以上指示を送信するようにスケジューリングする。
【０１０３】
上述したスケジューリングは一例であり、異なるようにスケジューリングされてもよい。
【０１０４】
また、スケジューリング部１１２は、第１のスレーブノード２００１から該第１のスレーブノード２００１のスケジューリングに関する要求を受信し、第２のスレーブノード２００２から該第２のスレーブノード２００２のスケジューリングに関する要求を受信するようにしてもよい。スケジューリング部１１２は、受信したスケジューリングに関する要求に基づいてスケジューリングを実行するようにしてもよい。
【０１０５】
上述したスケジューリングにより、各スロットでは、以下に示されるフレームが送信される。
【０１０６】
0msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox34」が付帯されたフレームが送信される。
【０１０７】
8msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１０８】
16msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１０９】
24msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１１０】
32msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox35」が付帯されたフレームが送信される。
【０１１１】
40msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１１２】
48msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１１３】
56msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１１４】
64msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox36」が付帯されたフレームが送信される。
【０１１５】
72msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１１６】
80msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１１７】
88msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１１８】
96msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox37」が付帯されたフレームが送信される。
【０１１９】
104msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１２０】
112msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１２１】
120msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１２２】
128msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox34」が付帯されたフレームが送信される。
【０１２３】
＜通信システムの動作＞
図７−図１０は、通信システムの動作の一実施例を示す。
【０１２４】
通信システムの一実施例において、0ms、8ms、16ms、24msのスロットには、それぞれ第２のスレーブノード２００２、第１のスレーブノード２００１、第１のスレーブノード２００１、第１のスレーブノード２００１が割り当てられ、以降同様の割り当てが継続する。４個のスロットを１単位として、各スレーブノードが割り当てられる。４スロットのうち、最初の１スロットには第２のスレーブノード２００２へのメッセージが割り当てられ、続く３スロットには第１のスレーブノード２００１へのメッセージが割り当てられる。さらに、４個のスロットを１単位として、1６個のスロットで128msの１サイクル周期が構成される。
【０１２５】
図７は、1サイクル周期を構成するスロットを示す。1サイクル周期を構成する１６個のスロットの各々を「スロットＮｏ．」という。つまり、１６個のスロットのうち、最初の１スロットを「スロットＮｏ．１」、次のスロットを「スロットＮｏ．２」、・・・、最後のスロットを「スロットＮｏ．１６」という。また、１サイクル周期を構成するスロットの数の最大値を「スロットＭＡＸ」という。この場合、スロットＭＡＸは「１６」となる。
【０１２６】
図７には、スロットの各々について割り当てられるスレーブノードも示される。「Ａ」は第２のスレーブノード２００２を示し、「Ｂ」は第１のスレーブノード２００１を示す。
【０１２７】
図８は、第２のスレーブノード２００２のスケジューリングを示す。スケジューリングによりスロットＮｏ．１、スロットＮｏ．５、スロットＮｏ．９、スロットＮｏ．１３は、第２のスレーブノード２００２に割り当てられる。1サイクル周期を構成する１６個のスロットのうち、スロットＮｏ．１、スロットＮｏ．５、スロットＮｏ．９、スロットＮｏ．１３の各々に第２のスレーブノード２００２を割り当てるスケジューリングを「ＡスケジューリングＮｏ．」により表す。
【０１２８】
つまり、スロットＮｏ．１に第２のスレーブノード２００２から該高精度バッテリーセンサの情報を受信するためのフレームを割り当てるスケジューリングを「ＡスケジューリングＮｏ．１」という。また、スロットＮｏ．５に第２のスレーブノード２００２から該高精度バッテリーセンサの情報を受信するためのフレームを割り当てるスケジューリングを「ＡスケジューリングＮｏ．２」という。また、スロットＮｏ．９に第２のスレーブノード２００２から該高精度バッテリーセンサの情報を受信するためのフレームを割り当てるスケジューリングを「ＡスケジューリングＮｏ．３」という。また、スロットＮｏ．１３に第２のスレーブノード２００２から該高精度バッテリーセンサの情報を受信するためのフレームを割り当てるスケジューリングを「ＡスケジューリングＮｏ．４」という。
【０１２９】
また、１サイクル周期において、「ＡスケジューリングＮｏ．」の数の最大値を「ＡスケジューリングＭＡＸ」という。この場合、ＡスケジューリングＭＡＸは「４」となる。
【０１３０】
図９は、第１のスレーブノード２００１のスケジューリング（その１）を示す。図９は、INITスケジューリングの場合について示す。スケジューリングによりスロットＮｏ．２−スロットＮｏ．４、スロットＮｏ．６−スロットＮｏ．８、スロットＮｏ．１０−スロットＮｏ．１２、スロットＮｏ．１４−スロットＮｏ．１６は、第１のスレーブノード２００１に割り当てられる。
【０１３１】
1サイクル周期を構成する１６個のスロットのうち、スロットＮｏ．２−スロットＮｏ．４、スロットＮｏ．６−スロットＮｏ．８、スロットＮｏ．１０−スロットＮｏ．１２、スロットＮｏ．１４−スロットＮｏ．１６の各々に、第１のスレーブノード２００１を割り当てるスケジューリングを「ＢスケジューリングＮｏ．」により表す。
【０１３２】
つまり、スロットＮｏ．２に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．１」という。スロットＮｏ．３に第１のスレーブノード２００１へ指示するフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．２」という。スロットＮｏ．４に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．３」という。
【０１３３】
スロットＮｏ．６に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．４」という。スロットＮｏ．７に第１のスレーブノード２００１へ指示するフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．５」という。スロットＮｏ．８に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．６」という。
【０１３４】
スロットＮｏ．１０に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．７」という。スロットＮｏ．１１に第１のスレーブノード２００１へ指示するフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．８」という。スロットＮｏ．１２に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．９」という。
【０１３５】
スロットＮｏ．１４に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．１０」という。スロットＮｏ．１５に第１のスレーブノード２００１からオルタネータのタイプ情報を受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．１１」という。スロットＮｏ．１６に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．１２」という。
【０１３６】
また、１サイクル周期において、「ＢスケジューリングＮｏ．」の数の最大値を「ＢスケジューリングＭＡＸ」という。この場合、ＢスケジューリングＭＡＸは「１２」となる。
【０１３７】
図１０は、第１のスレーブノード２００１のスケジューリング（その２）を示す。図１０は、通常スケジューリングの場合について示す。スケジューリングによりスロットＮｏ．２−スロットＮｏ．４、スロットＮｏ．６−スロットＮｏ．８、スロットＮｏ．１０−スロットＮｏ．１２、スロットＮｏ．１４−スロットＮｏ．１６は、第１のスレーブノード２００１に割り当てられる。1サイクル周期を構成する１６個のスロットのうち、スロットＮｏ．２−スロットＮｏ．４、スロットＮｏ．６−スロットＮｏ．８、スロットＮｏ．１０−スロットＮｏ．１２、スロットＮｏ．１４−スロットＮｏ．１６の各々に、第１のスレーブノード２００１を割り当てるスケジューリングを「ＢスケジューリングＮｏ．」により表す。
【０１３８】
つまり、スロットＮｏ．２に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．１」という。スロットＮｏ．３に第１のスレーブノード２００１へ指示するフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．２」という。スロットＮｏ．４に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．３」という。
【０１３９】
スロットＮｏ．６に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．４」という。スロットＮｏ．７に第１のスレーブノード２００１へ指示するフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．５」という。スロットＮｏ．８に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．６」という。
【０１４０】
スロットＮｏ．１０に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．７」という。スロットＮｏ．１１に第１のスレーブノード２００１へ指示するフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．８」という。スロットＮｏ．１２に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．９」という。
【０１４１】
スロットＮｏ．１４に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．１０」という。スロットＮｏ．１５に第１のスレーブノード２００１へ指示するフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．１１」という。スロットＮｏ．１６に第１のスレーブノード２００１からオルタネータのステータスを受信するためのフレームを割り当てるスケジューリングを「ＢスケジューリングＮｏ．１２」という。
【０１４２】
図１１は、通信システムの動作の一実施例を示す。図１１には、マスターノード１００が、あるスロットを送信した後に送信するスロットにおける処理を示す。
【０１４３】
ステップＳ１１０２では、マスターノード１００は、スロットＮｏ．を増加させる。
【０１４４】
ステップＳ１１０４では、マスターノード１００は、スロットＮｏ．がスロットＭＡＸを超えるか否かを判定する。ここでは、128msの１サイクル周期を１単位としているため、スロットＭＡＸは１６となる。
【０１４５】
ステップＳ１１０６では、ステップＳ１１０４においてスロットＮｏ．がスロットＭＡＸを超えると判定した場合、マスターノード１００は、スロットＮｏ．を１に設定する。
【０１４６】
ステップＳ１１０８では、ステップＳ１１０４においてスロットＮｏ．がスロットＭＡＸを超えないと判断した場合、又はステップＳ１１０６においてスロットＮｏ．を１に設定した後、マスターノード１００は、スロットがＡ、つまり第２のスレーブノード２００２に割り当てるものであるか否かを判定する。
【０１４７】
ステップＳ１１１０では、ステップＳ１１０８においてスロットがＡに割り当てるものであると判定した場合、マスターノード１００は、Ａへのフレームを該スロットに割り当てるＡスケジューリングＮｏ．を増加させる。
【０１４８】
ステップＳ１１１２では、マスターノード１００は、ＡスケジューリングＮｏ．がＡスケジューリングＭＡＸを超えるか否かを判定する。
【０１４９】
ステップＳ１１１４では、ステップＳ１１１２においてＡスケジューリングＮｏ．がＡスケジューリングＭＡＸを超えると判定した場合、マスターノード１００は、ＡスケジューリングＮｏ．を１に設定する。
【０１５０】
ステップＳ１１１６では、ステップＳ１１１２においてＡスケジューリングＮｏ．がＡスケジューリングＭＡＸを超えないと判定した場合、又はステップＳ１１１４においてＡスケジューリングＮｏ．を１に設定した後、マスターノード１００は、ＡスケジューリングＮｏ．のフレームを選択する。つまり、マスターノード１００は、Ａへのフレームをスロットに割り当て、該スロットを含むフレームを選択する。
【０１５１】
ステップＳ１１１８では、ステップＳ１１０８においてスロットがＡに割り当てるものでないと判定した場合、マスターノード１００は、通信システムが起動した後、３ｓ未満であるか否かを判定する。つまり、マスターノード１００は、128msを一周期とし、23周期未満であるか否かを判定する。
【０１５２】
ステップＳ１１２０では、ステップＳ１１１８で通信システムが起動した後、３ｓ未満であると判定した場合、マスターノード１００は、INITスケジューリングのＢスケジューリングＮｏ．を増加させる。
【０１５３】
ステップＳ１１２２では、マスターノード１００は、ＢスケジューリングＮｏ．がＢスケジューリングＭＡＸを超えるか否かを判定する。
【０１５４】
ステップＳ１１２４では、ステップＳ１１２２においてＢスケジューリングＮｏ．がＢスケジューリングＭＡＸを超えると判定した場合、マスターノード１００は、ＢスケジューリングＮｏ．を１に設定する。
【０１５５】
ステップＳ１１２６では、ステップＳ１１２２においてＢスケジューリングＮｏ．がＢスケジューリングＭＡＸを超えないと判断した場合、又はステップＳ１１２４においてＢスケジューリングＮｏ．を１に設定した後、マスターノード１００は、ＢスケジューリングＮｏ．に該当するフレームを選択する。つまり、マスターノード１００は、Ｂ、つまり第１のスレーブノード２００１へのフレームをスロットに割り当て、該スロットを含むフレームを選択する。
【０１５６】
ステップＳ１１２８では、ステップＳ１１１８で通信システムが起動した後、３ｓ以上であると判定した場合、マスターノード１００は、通常スケジューリングのＢスケジューリングＮｏ．を増加させる。
【０１５７】
ステップＳ１１３０では、マスターノード１００は、ＢスケジューリングＮｏ．がＢスケジューリングＭＡＸを超えるか否かを判定する。
【０１５８】
ステップＳ１１３２では、ステップＳ１１３０においてＢスケジューリングＮｏ．がＢスケジューリングＭＡＸを超えると判定した場合、マスターノード１００は、ＢスケジューリングＮｏ．を１に設定する。
【０１５９】
ステップＳ１１３４では、ステップＳ１１３０においてＢスケジューリングＮｏ．がＢスケジューリングＭＡＸを超えないと判断した場合、又はステップＳ１１３２においてＢスケジューリングＮｏ．を１に設定した後、マスターノード１００は、ＢスケジューリングＮｏ．に該当するフレームを選択する。つまり、マスターノード１００は、Ｂへのフレームをスロットに割り当て、該スロットを含むフレームを選択する。
【０１６０】
ステップＳ１１３６では、マスターノード１００は、ステップＳ１１１６において選択されたフレーム、ステップＳ１１２６において選択されたフレームおよびステップＳ１１３４において選択されたフレームのいずれかのフレームを送信する。
【０１６１】
図１２は、マスターノード１００にオルタネータが接続されている場合おけるINITスケジューリングの一実施例を示す。
【０１６２】
0msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１６３】
8msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１６４】
16msのスロットでは、オルタネータからタイプ情報を受信するメッセージID「Ox12」が付帯されたフレームが送信される。
【０１６５】
24msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１６６】
32msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１６７】
40msのスロットでは、オルタネータからタイプ情報を受信するメッセージID「Ox12」が付帯されたフレームが送信される。
【０１６８】
48msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１６９】
56msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１７０】
図１２に示される例では、24msを1サイクルとして、マスターノード１００と第１のスレーブノード２００１との間で通信が実行される。
【０１７１】
図１３は、マスターノード１００にオルタネータが接続されている場合おける通常スケジューリングの一実施例を示す。
【０１７２】
0msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１７３】
8msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１７４】
16msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１７５】
24msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１７６】
32msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１７７】
40msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１７８】
図１３に示される例では、16msを1サイクルとして、マスターノード１００と第１のスレーブノード２００１との間で通信が実行される。
【０１７９】
図１４は、マスターノード１００に高精度バッテリーセンサが接続されている場合おける通常スケジューリングの一実施例を示す。
【０１８０】
0msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox34」が付帯されたフレームが送信される。
【０１８１】
32msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox35」が付帯されたフレームが送信される。
【０１８２】
64msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox36」が付帯されたフレームが送信される。
【０１８３】
図１４に示される例では、32msを1サイクルとして、マスターノード１００と第２のスレーブノード２００２との間で通信が実行される。
【０１８４】
図１５は、マスターノード１００に、オルタネータおよび高精度バッテリーセンサが接続されている場合おけるINITスケジューリングの一例を示す。
【０１８５】
図１５は、マスターノード１００にオルタネータが接続されている場合おけるINITスケジューリングに、高精度バッテリーセンサのスケジューリングを追加したものである。
【０１８６】
0msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１８７】
8msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１８８】
16msのスロットでは、オルタネータからタイプ情報を受信するメッセージID「Ox12」が付帯されたフレームが送信される。
【０１８９】
24msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox34」が付帯されたフレームが送信される。
【０１９０】
32msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１９１】
40msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１９２】
48msのスロットでは、オルタネータからタイプ情報を受信するメッセージID「Ox12」が付帯されたフレームが送信される。
【０１９３】
56msのスロットでは、高精度バッテリーセンサから該高精度バッテリーセンサの情報を受信するメッセージID「Ox35」が付帯されたフレームが送信される。
【０１９４】
64msのスロットでは、オルタネータへ指示するメッセージID「Ox29」が付帯されたフレームが送信される。
【０１９５】
72msのスロットでは、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信される。
【０１９６】
図１５によれば、図１２と比較して、オルタネータからステータスを受信するメッセージID「Ox15」が付帯されたフレームが送信されるタイミングがずれるのが分かる。メッセージID「Ox15」が付帯されたフレームが送信されるタイミングがずれることにより、オルタネータからステータス情報を取得するタイミングがずれるため好ましくない。
【０１９７】
通信システムの一実施例では、マスターノードに複数のスレーブノードが接続される場合に、各スレーブノードの要求を満たすようにスケジューリングされる。各スレーブノードの要求を満たすようにスケジューリングされることにより、スレーブノードが追加される度に、マスターノードにトランシーバなどのハードウェアを追加することなくスケジューリングできる。このため、ハードウェアが変更されることによるコストの増加を抑えつつ、マスターノードとスレーブノードとの間における送受信遅れを抑制できる。
【０１９８】
以上、本発明は特定の実施例及び変形例を参照しながら説明されてきたが、各実施例及び変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【０１９９】
１００  マスターノード
１０２  ＭＣＵ
１０４  通信装置
１０６  トランシーバ
１１０  マスター機能部
１１２  スケジューリング部
１１４  メッセージ作成部
１１６  フレーム送信制御部
１１８  フレーム受信制御部
２００ｎ（ｎは、ｎ＞０の整数）  第ｎのスレーブノード
３００  通信バス
【図１】
2014212440.tif 000003
【図２】
2014212440.tif 000004
【図３】
2014212440.tif 000005
【図４】
2014212440.tif 000006
【図５】
2014212440.tif 000007
【図６】
2014212440.tif 000008
【図７】
2014212440.tif 000009
【図８】
2014212440.tif 000010
【図９】
2014212440.tif 000011
【図１０】
2014212440.tif 000012
【図１１】
2014212440.tif 000013
【図１２】
2014212440.tif 000014
【図１３】
2014212440.tif 000015
【図１４】
2014212440.tif 000016
【図１５】
2014212440.tif 000017