特許第5892890号(P5892890)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ダイハツ工業株式会社の特許一覧

<>
  • 特許5892890-通信制御装置 図000002
  • 特許5892890-通信制御装置 図000003
  • 特許5892890-通信制御装置 図000004
  • 特許5892890-通信制御装置 図000005
  • 特許5892890-通信制御装置 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5892890
(24)【登録日】2016年3月4日
(45)【発行日】2016年3月23日
(54)【発明の名称】通信制御装置
(51)【国際特許分類】
   H04L 12/407 20060101AFI20160310BHJP
【FI】
   H04L12/407
【請求項の数】2
【全頁数】9
(21)【出願番号】特願2012-166825(P2012-166825)
(22)【出願日】2012年7月27日
(65)【公開番号】特開2014-27510(P2014-27510A)
(43)【公開日】2014年2月6日
【審査請求日】2015年5月25日
(73)【特許権者】
【識別番号】000002967
【氏名又は名称】ダイハツ工業株式会社
(74)【代理人】
【識別番号】100105980
【弁理士】
【氏名又は名称】梁瀬 右司
(74)【代理人】
【識別番号】100105935
【弁理士】
【氏名又は名称】振角 正一
(72)【発明者】
【氏名】川口 信貴
【審査官】 安藤 一道
(56)【参考文献】
【文献】 特開2007−243747(JP,A)
【文献】 特開2001−144789(JP,A)
【文献】 特開2003−333048(JP,A)
【文献】 特開2000−41054(JP,A)
【文献】 特開2008−294662(JP,A)
【文献】 特開2006−180205(JP,A)
【文献】 特開2012−239143(JP,A)
【文献】 陳暘、他3名,CANメッセージのオフセット決定手法,情報処理学会論文誌 論文誌ジャーナル Vol.52 No.7,社団法人情報処理学会,2011年 7月27日,pp.2245-2255
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/407
(57)【特許請求の範囲】
【請求項1】
通信バスと、優先度を示す識別情報を有するデータを、予め複数設定された送信周期で前記通信バスを介してそれぞれ送信する複数のノードと、前記各ノードに設けられ、当該ノードが送信開始するタイミングと同じタイミングで他の前記ノードから送信されたデータの前記識別情報による前記優先度の高低に基づいて調停の勝ち負けの判断を行う調停手段とを備える通信制御装置において、
前記各ノードが、
前記調停の発生した前記ノード間で調停勝ちとなった前記ノードにおけるデータの送信開始タイミングから当該データの送信終了タイミングまでの時間を計時する計時手段と、
前記調停の発生した前記ノード間で調停負けとなった前記ノードのデータの送信開始タイミングを次回以降のいずれかで前記計時手段による前記計時時間に基づくオフセット時間だけ後ろにシフトするシフト手段とを備えていることを特徴とする通信制御装置。
【請求項2】
前記調停の発生した前記ノード間で調停負けとなった前記ノードが備える前記シフト手段は、前記調停の発生した前記ノード間で調停勝ちとなった前記ノードにおけるデータの送信終了タイミングのインターバル期間にも当該データの送信が継続することを検出すると、前記計時時間に所定の時間を付加した時間を前記オフセット時間とすることを特徴とする請求項1に記載の通信制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、通信バスを介して複数のノード間でデータを送信する場合に、同じ送信開始タイミングで送信するノード間で優先度に応じた調停を行う機能を有する通信制御装置に関する。
【背景技術】
【0002】
近年、車両(自動車)の制御の分野においては、車内の各種制御のECUや、センサ、スイッチ等の状態監視のECUのネットワーク化が進んでいる。
【0003】
そして、この種の車両が搭載する車両用ネットワークシステムは、CAN(Controller Area Network)やLIN(Local Interconnect Network)に代表されるシリアル通信プロトコルのネットワークで形成され、このネットワークは、例えばCANのライン型のネットワークの場合、車内のトランスミッション制御ECU、メータ制御ECU、ABS制御ECU、エンジン制御ECU等の各ECUのノードを通信バスに接続して構築される。ここで、各ECUはマスタノードであり、マイクロコンピュータ構成のECUにより形成される。
【0004】
各ノードは、各々が送信するデータに応じて予め設定された送信周期でデータを繰り返し送信し、具体的にはあるノードから16msの送信周期であるデータを送信し、別のデータを32msや64msなど規定の送信周期で送信することが定められている。
【0005】
しかし、この種のネットワークの場合では、1つの通信バスを使って複数のノード間でのデータ送信を行うため、あるノードと他のノードとの間でデータの送信開始タイミングが一致して競合が生じることがある。
【0006】
そこで従来、各ノードが送信するデータのフレームに、そのノードの優先度を示す識別情報(ID)を設け、各ノードそれぞれにおいて、当該ノードが送信開始するタイミングと同じタイミングで他のノードから送信されたデータの識別情報の優先度が、当該ノードが送信するデータの識別情報の優先度より高いか低いかを判断する調停を行う調停手段が各ノードに設けられている。
【0007】
そして、調停処理として、例えば図5に示すように、優先度が低く調停に負けたBノードでは、優先度の高いAノードからのデータの送信が終了するまで、データの送信開始をt時間遅延させることが考えられる。しかし、この場合、Bノードは、データ送信毎にAノードとの調停が行われて負けるため、Bノードのデータは、Aノードのデータの送信が終了するまで毎回遅延されることになり、Bノードのデータ送信が、定められた送信周期で送信されないという不都合が生じる。
【0008】
そこで、上記したようにBノードに調停負けが複数回連続して生じた場合に、Bノードのデータ中の優先度を高優先に変更することが考えられている(特許文献1参照)。こうすることで、調停負けのノードからのデータ送信が毎回遅延されるという不都合を解消することができる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2006−237832(段落0007,0040〜0042)
【発明の概要】
【発明が解決しようとする課題】
【0010】
ところが、上記した特許文献1のように優先度を高優先に変更する場合、各ノードのCPUが送信データの優先度を示す識別情報を管理するため、CPUが管理可能な識別情報の数には限度があり、全てのノードの全てのデータの識別情報を管理することは不可能であり、管理できる識別情報が限定されることになり、限られた特定の識別情報による優先度に基づく調停負けの対応しかできないという問題点がある。また、全てのノードの全てのデータの識別情報を管理するには、CPUに処理能力の大きなものを用いたり、記憶容量の大きなメモリを備える必要があり、システムが高価になるという新たな問題が生じる。
【0011】
本発明は、安価な構成により、調停負けが生じたノードからのデータ送信を、予め設定された送信周期で送信できるようにすることを目的とする。
【課題を解決するための手段】
【0012】
上記した目的を達成するために、本発明の通信制御装置は、通信バスと、優先度を示す識別情報を有するデータを、予め複数設定された送信周期で前記通信バスを介してそれぞれ送信する複数のノードと、前記各ノードに設けられ、当該ノードが送信開始するタイミングと同じタイミングで他の前記ノードから送信されたデータの前記識別情報による前記優先度の高低に基づいて調停の勝ち負けの判断を行う調停手段とを備える通信制御装置において、前記各ノードが、前記調停の発生した前記ノード間で調停勝ちとなった前記ノードにおけるデータの送信開始タイミングから当該データの送信終了タイミングまでの時間を計時する計時手段と、前記調停の発生した前記ノード間で調停負けとなった前記ノードのデータの送信開始タイミングを次回以降のいずれかで前記計時手段による計時時間に基づくオフセット時間だけ後ろにシフトするシフト手段とを備えていることを特徴としている(請求項1)。
【0013】
また、前記調停の発生した前記ノード間で調停負けとなった前記ノードが備える前記シフト手段は、前記調停の発生した前記ノード間で調停勝ちとなった前記ノードにおけるデータの送信終了タイミングのインターバル期間にも当該データの送信が継続することを検出すると、前記計時時間に所定の時間を付加した時間を前記オフセット時間とするようにしてもよい(請求項2)。
【発明の効果】
【0014】
請求項1に係る発明によれば、ノード間での調停により調停負けとなったノードでは、データの送信開始タイミングが、計時手段により計時された時間に基づくオフセット時間だけシフト手段により後ろにシフトされる。そのため、調停負けしたノードは、調停後の次回以降のいずれかで、本来の送信開始タイミングからオフセット時間だけ後ろにシフトしたタイミングでデータの送信を開始し、その後予め設定された送信周期でデータの送信を行う。
【0015】
したがって、従来のように、処理能力の大きなCPUや容量の大きなメモリを備える必要がなく、安価な構成により、調停負けが生じたノードからのデータ送信を予め設定された送信周期で送信することができ、調停の生じたノード間で新たに調停が発生することを防止できる。
【0016】
ところで、ノード間での調停により調停勝ちとなったノードでは、通常予め設定された送信周期でデータ送信が行われるが、データ送信以外の処理の影響を受けて、データの送信終了タイミングが本来のタイミングより遅れる場合がある。このように遅れが生じた場合、調停勝ちとなったノードのデータの本来の遅れのない送信終了タイミングで、調停負けとなったノードからデータが送信開始されるが、調停負けとなったノードからデータが送信開始されたときには、調停勝ちとなったノードのデータの送信が遅れによって終了せず、両ノード間でデータ送信がバッティングしてしまうことがある。
【0017】
そこで、請求項2に係る発明のように、調停負けとなったノードが備えるシフト手段が、調停の発生したノード間で調停勝ちとなったノードにおけるデータの送信終了タイミングのインターバル期間にも当該データの送信が継続することを検出すると、計時手段により計時される計時時間に更に所定の時間を付加した時間をオフセット時間とすることにより、調停勝ちとなったノードで、データ送信以外の処理の影響によりデータの送信終了タイミングが本来のタイミングより遅れても、調停勝ちとなったノードのデータの送信が確実に終了したタイミングで、調停負けとなったノードからデータを送信開始することができる。
【図面の簡単な説明】
【0018】
図1】本発明に係る通信制御装置の一実施形態のブロック図である。
図2図1の一部のブロック図である。
図3】一実施形態の動作説明用フローチャートである。
図4】一実施形態の動作説明図である。
図5】従来例の動作説明図である。
【発明を実施するための形態】
【0019】
つぎに、本発明をより詳細に説明するため、本発明の一実施形態について、図1ないし図4を参照して詳述する。
【0020】
図1は本実施形態の通信制御装置を搭載した車両1のCAN(Controller Area Network)システムを示し、車内のAノード2a、Bノード2b、Cノード2c、…が通信バス3に接続された単位のネットワークで構築されている。各ノード2a,2b,2c,…は、いずれもゲートウェイノードではなく、安価なマイクロコンピュータ構成のECUにより形成された汎用のノードであり、いずれもマスタノードとして動作する。なお、各ノード2a,2b,2c,…のECUは、具体的には、車内のトランスミッション制御ECU、メータ制御ECU、ABS制御ECU、エンジン制御ECU等であり、10個を超えるノードが設けられている。
【0021】
そして、各ノード2a,2b,2c,…には異なるID(識別情報)が割り当てられており、各ノード2a,2b,2c,…は定期的に発生する定期フレームのほかに不定期に発生するイベントフレームに送信側のID(=a,b,c,…)を付して送信する。通信バス3は、CAN−HとCAN−Lとのツイストペア線からなる共有バスであり、CAN−HとCAN−Lとの間の電位差を切り替えてレベル変化する。具体的には、そのレベルがCAN−HとCAN−Lとの間に電位差が生じないリセッシブレベル(ビット“1”)とリセッシブレベルよりも優位なその間に電位差が生ずるドミナントレベル(ビット“0”)とのいずれかに切り替わるようになっている。
【0022】
各2a,2b,2c,…は同じ構成を有し、図2にAノード2aを例示し、以下においてAノード2aの構成および機能について代表して詳細に説明する。
【0023】
図2に示すように、Aノード2aは、中央演算処理装置であるCPU10、及び、通信バス3に接続するバスインターフェースである送受信スロットル11を備えている。そして、CPU10は、RAM12、ROM13およびコントローラ14を内蔵し、RAM12はCPU10の演算中の情報や演算結果を格納し、ROM13は、CPU10が使用するプログラムを格納するとともに、Aノード2aが受信すべき他のノード2b,2c,…からのデータ固有の識別情報(ID)を格納する。コントローラ14は、通信データを格納するレジスタを有し、設定した識別情報(ID)と通信バス3上のデータ中の識別情報(ID)とを照合し、照合結果が一致である場合に、その通信バス3上のデータを受信してレジスタに格納する。
【0024】
また、CPU10は、CANの通信プロトコルに準じて作成されROM13に格納されたプログラムに従ってコントローラ14を制御し、通信バス3を介したデータフレームの送受信制御を行う。このとき、CPU10は、通信バス3を介してAノード2aの出力データを他のノード2b,2c,…に対して送信すべくデジタル化し、また、他のノード2b,2c,…から通信バス3を介して受信した入力データをデコードし、受信データの内容に応じ自身での制御を実行する。また、送受信スロットル11は、コントローラ14により制御され、他のノード2b,2c,…にデータを送信するとともに、Aノード2aに送信されてきたデータを受信する。
【0025】
Aノード2a(Bノード2b、Cノード2c,…)が通信バス3へ向けて送信するデータは、所定のフォーマットに基づくデータフレームにより構成されている。このデータフレームとは、少なくとも、先頭から順に、フレームの始まり(送信開始)を示すスタートオブフレーム(SOF:Start Of Frame)と、データの種類を区別するために各データ固有の識別情報であるIDを示すIDフィールドとを備えた構成となっている。
【0026】
SOFは、常にCAN−HとCAN−Lとの間に電位差が生ずるドミナントレベル(ビット“0”)の1ビットデータである。また、IDフィールドは、高優先のデータほどMSBからドミナントレベルのビットが多く継続し、低優先のデータほどMSBにより近くにリセッシブレベルが現れる11ビット,29ビットのデータである。
【0027】
また、IDフィールド以降のデータフレームの構成として、例えば、当該データの長さを示すデータ長コード(DLC:Data Length Code)と、トランスミッションの位置や車速情報などのデータ自体の内容を示すフィールドと、伝送エラーをチェックするためのCRC(Cyclic Redundancy Check)フィールドと、正常に受信が完了したことを確認するためのフィールドと、フレームの終わりを示すエンドオブフレーム(EOF:End Of Frame)とを備えている。
【0028】
各ノード2a,2b,2c,…は、それぞれ定期或いは不定期にデータを通信バス3に向けて送信するが、通信バス3に他のデータが流れていない状態ではデータ送信を開始することができる一方、他の1以上のノードから同時にデータの送信が開始されたときは送信優先順位に従ってデータ送信を行い、他のノードからのデータ送信が行われているときは後述するような調停処理が行われる。
【0029】
各ノード2a,2b,2c,…からのデータの定期送信を行う場合、各ノード2a,2b,2c…はそれぞれ、データフレームの1ビット目のSOF(ビット“0”)から通信バス3への送信を開始し、次のIDフィールドをMSBから順に通信バス3へ送信する。両ノード2a,2bはそれぞれ、少なくとも自己の送受信スロットル11から通信バス3に対してデータフレームの送信を行うと、その送信毎に通信バス3に流れた送信結果(送信ビット)を監視し、各ノード2a,2b,2c,…が送信すべきであるとして生成した所望のデータフレームの各ビットと、実際に通信バス3に流れたデータフレームの各ビットとを比較することにより、自ら送出した所望のデータフレームが通信バス3に送信されてその送信が成功したか否かを判別する。このとき、各ノード2a,2b,2c,…は一定期間定期送信を実施するが、この一定期間は、例えば各ノード2a,2b,2c,…に対して予め定められた送信周期の最小公倍数とすることが望ましい。
【0030】
そして、例えばAノード2aとBノード2bからのデータの定期送信が同じタイミングで開始される場合に調停処理が行われる。具体的には、両ノード2a,2bは、いずれもビット“0”のSOFを最初に送信するので、自己のデータフレームのSOFに関しその送信が成功したと判別し、続いてIDフィールドの送信をそのMSBから順に行うが、この送信過程で、例えばAノード2aが送信する所望のIDフィールドのビットが“0”であるときに、通信バス3に実際に流れるデータの監視結果がビット“0”であると、Aノード2aではデータ送信に関して調停に勝った(送信成功)と判断し、以後のデータフレームの送信を継続する一方、Bノード2bが送信する所望のIDフィールドのビットが“1”であるときに、実際に通信バス3に流れたデータの監視結果がビット“0”であると、Bノード2bではデータ送信に関して調停に負けたと判断し、このようにして両ノード2a,2bにおいて両者間での調停の勝ち負けの判断が行われる。
【0031】
そして、調停負けが生じたBノード2bでは、CPU10のコントローラ14により、調停勝ちとなったAノード2aの送信開始タイミング(SOF)から送信終了タイミング(EOF)までの時間を計時し、計時した時間そのまま、或いは、計時した時間に所定の時間としてCPU10の最小処理時間(例えば、1ms)を付加した時間を、オフセット時間としてRAM12などに格納し、計時して格納しておいたオフセット時間だけ自らのデータ送信の開始タイミングを後ろにシフトし、その後予めBノード2bに対して設定された所定の送信周期でのデータ送信を行う。なお、CPU10のコントローラ14によるオフセット時間の計時処理が本発明における計時手段に相当し、データの送信開始タイミングをオフセット時間だけ後ろにシフトする処理が本発明におけるシフト手段に相当する。
【0032】
つぎに、上記した調停処理の手順について、図3のフローチャートを用いて説明する。なお、図3は上記したようにAノード2aとの間で調停が発生したBノード2bの動作を例として説明するが、Bノード2b以外のノード2a,2c,…の動作も同様の手順で行われる。
【0033】
図3に示すように、Bノード2bから通信バス3に向けてデータ送信が行われ(ステップS1)、送受信スロットル11の監視が行われる(ステップS2)。そして、上記した調停負けとの判断が連続し、調停負けとなった送信累積時間が、予め定められた所定時間Thを超えたか否かの判定がなされ(ステップS3)、この判定結果がNO、つまり調停負けとなった送信累積時間が所定時間Thを超えていない場合には、何らかのノイズ等の要因により、たまたま両ノード2a,2b間でデータの送信開始タイミングが同じになり、調停処理を行う必要性がないと判断できるため、上記したステップS1の処理に戻る。
【0034】
一方、ステップS3の判定結果がYESであれば、調停処理を行う必要性があると判断できることから、次のステップS4に移行してコントローラ14によるAノード2aの送信開始タイミングから送信終了タイミングまでの時間の計時が行われ、計時時間に基づきオフセット時間が導出されてRAM12等に格納され(ステップS4)、格納されたオフセット時間だけその後のデータの送信開始タイミングが後ろにシフトされ(ステップS5)、以後Bノード2bに対して設定された所定の送信周期でのデータの定期送信が行われ(ステップS6)、その後車両1のイグニッションスイッチがオフされるなどにより、通信バス3上に各ノードからの送信データが存在しなくなって通信が終了したかどうかの判断がなされ(ステップS7)、この判定結果がNOであれば上記したステップS1に戻り、YESであれば動作は終了する。
【0035】
このような調停処理により、図4に示すように、予め設定された送信周期Ca,Cb(例えば、Ca=16ms、Cb=32ms)でそれぞれ定期送信を行うAノード2a、Bノード2b間で、Bノード2bに調停負けが生じると、Bノード2bでは、CPU10のコントローラ14により、調停勝ちとなったAノード2aの送信開始タイミング(SOF)から送信終了タイミング(EOF)までの時間tを計時し、計時した時間tに所定の時間Δt(=1ms)を付加したオフセット時間To(=t+Δt)がRAM12などに格納され、その後のデータ送信の送信開始タイミングがオフセット時間Toだけ後ろにシフトされる。そのため、Bノード2bに対して予め設定された送信周期をCbとすると、Bノード2bからのデータ送信は、オフセット時間Toだけ後ろにシフトされた後は、送信周期Cbでの定期送信が行われることになる。なお、係る調停負けが生じたときの調停処理は、Bノード2b以外の各ノード2a,2c,…でも同様に行われる。
【0036】
したがって、上記した実施形態によれば、調停負けとなったBノード2bにおいて、オフセット時間Toだけデータ送信の送信開始タイミングを後ろにシフトすることにより、以降のデータ送信を所定の送信周期で通常通りに送信することができ、従来のように送信毎に送信開始タイミングを遅延させる必要がない。
【0037】
また、従来のように、処理能力の大きなCPUや容量の大きなメモリを備える必要がなく、安価な構成により、調停負けが生じたノードからのデータ送信を予め設定された送信周期で送信することができ、調停の生じたノード間で新たに調停が発生することを防止できる。
【0038】
また、コントローラ14により計時された時間tに更に所定の時間Δtを付加した時間をオフセット時間Toとすることにより、調停勝ちとなったノードで、データ送信以外の処理の影響によりデータの送信終了タイミングが本来のタイミングより遅れても、調停勝ちとなったノードのデータの送信が確実に終了したタイミングで、調停負けとなったノードからデータを送信開始することができる。
【0039】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行なうことが可能であり、例えば、各ノード2a,2b,2c,…の構成は図2の構成に限るものではなく、通信バス3に接続されるノードの個数等もどのようであってもよい。
【0040】
また、上記した実施形態では、調停勝ちとなったノードの送信開始タイミングから送信終了タイミングまでの時間tを計時し、計時した時間tに、CPU10の最小処理時間である1ms等の所定の時間Δtを付加したものをオフセット時間Toとするようにしたが、計時した時間tをオフセット時間Toとしてもよい。
【0041】
更に、調停負けとなったノードのシフト手段としてのコントローラ14により、調停勝ちとなったノードにおけるデータの送信終了タイミングのインターバル期間にも調停勝ちのノードのデータ送信が継続することを検出した場合に、計時した時間tに所定の時間Δtを付加してオフセット時Toとするようにしてもよい。ここで、所定の時間Δtは1msに限定されるものではない。
【0042】
そして、上記した実施形態では、CANのネットワークに適用した例を用いて説明したが、CSMA/CD方式の通信システムにも本発明を適用することができる。また、車両に搭載された通信システムに止まらず、車両以外の通信システムにも本発明を適用することが可能である。
【符号の説明】
【0043】
2a,2b,2c,… ノード
3 通信バス
10 CPU
14 コントローラ
図1
図2
図3
図4
図5