(57)【要約】【課題】受信側における受信完了割込信号生成処理を軽減できる通信制御システムを提供する。【解決手段】送信側装置から受信側装置に対し伝送路を介してメッセージを伝送するための通信制御システム１００は、送信側装置から受領したメッセージを分割して、複数のデータフレームを生成する送信データ分割部１１１と、分割されたデータフレームのうち最終データフレームに対し、最終データフレームであることを示す最終データフレーム情報を設定する最終データフレーム情報設定部１１２と、分割されたデータフレームを伝送路に送出する送信部１１３とを有する送信処理部１１０と、伝送路から分割されたデータフレームを受信する受信１２１部と、受信部が最終データフレーム情報が設定されたデータフレームを受信したとき、受信側装置に対し割込信号を通知する割込信号生成部１２２とを有する。【選択図】図１
2013026709.tif 000002
【特許請求の範囲】
【請求項１】
送信側装置から受信側装置に対し伝送路を介してメッセージを伝送するための通信制御システムであって、
前記送信側装置から受領したメッセージを分割して、複数のデータフレームを生成する送信データ分割部と、
前記分割されたデータフレームのうち最終データフレームに対し、最終データフレームであることを示す最終データフレーム情報を設定する最終データフレーム情報設定部と、
前記分割されたデータフレームを前記伝送路に送出する送信部とを有する
送信処理部と、
前記伝送路から前記分割されたデータフレームを受信する受信部と、
前記受信部が前記最終データフレーム情報が設定された前記データフレームを受信したとき、前記受信側装置に対し割込信号を通知する割込信号生成部とを有する
受信処理部とを備えた
通信制御システム。
【請求項２】
前記送信処理部は、
同一の前記メッセージから分割された複数の前記データフレームに対し、共通のＩＤ情報を設定するＩＤ情報設定部をさらに有し、
前記受信処理部は、
前記伝送路から前記分割されたデータフレームを受信する受信部と、
前記受信部が受信した前記データフレームを一時的に格納する受信データ格納部と、
前記受信データ格納部に格納されている前記データフレームのうち共通のＩＤ情報が設定されたデータフレーム同士を統合して前記メッセージを復元するとともに、前記データフレームに前記最終データフレーム情報が設定されていた場合は復元された前記メッセージにメッセージ復元情報を設定する受信データ復元部と、
前記受信データ格納部に格納されている前記メッセージであって、前記メッセージ復元情報が設定されている前記メッセージを優先的に前記受信側装置に出力する受信データ出力部とをさらに有する
請求項１記載の通信制御システム。
【請求項３】
前記送信データ分割部は、１つのデータフレームが運搬可能なデータサイズに応じて、前記メッセージを分割し、前記複数のデータフレームを生成する
請求項１乃至２いずれか１項記載の通信制御システム。
【請求項４】
前記送信データ分割部は、前記送信側装置と前記受信側装置との間の通信帯域の空き容量に応じて、前記メッセージを分割し、前記複数のデータフレームを生成する
請求項１乃至２いずれか１項記載の通信制御システム。
【請求項５】
前記送信データ分割部は、前記メッセージに含まれる所定の制御情報が示す単位で、前記メッセージを分割し、前記複数のデータフレームを生成する
請求項１乃至２いずれか１項記載の通信制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御システムに関し、特に受信完了割込信号の生成処理技術に関する。
【背景技術】
【０００２】
今日、自動車、医療装置、航空電子機器、オフィス自動化装置、消費者向け機器等の様々な製品を制御するため、多くのマイクロコントローラが利用されている。そして、これらマイクロコントローラ間の通信を制御するための通信制御方法もまた、数多く提案されている。例えば、特許文献１及び非特許文献１には、ＣＡＮ（Ｃｏｎｔｒｏｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）における通信制御の例が開示されている。ＣＡＮは、２線式直列通信バス（ＣＡＮバス）を用いたデータ通信規格である。
【０００３】
ＣＡＮによる通信を実際に制御するのは、送信側及び受信側にそれぞれ設けられたＣＡＮコントローラである。ＣＡＮコントローラは、典型的には、マイクロコントローラと接続された独立の装置として、又はマイクロコントローラに組込まれた回路もしくは埋め込まれたモジュールとして構成される。送信側のＣＡＮコントローラは、送信側のマイクロコントローラから送信データを受取り、データフレームとしてＣＡＮバスに送出する。また、受信側のＣＡＮコントローラは、ＣＡＮバスからデータフレームを取得し、受信データとして受信側のマイクロコントローラに供給する。
【０００４】
従来、この受信側のＣＡＮコントローラは、１フレームの受信を完了する度に受信完了割込信号を生成し、受信側のマイクロコントローラのＣＰＵにその割込信号を通知していた。
【０００５】
また、ＣＡＮコントローラは、一般に、ＣＡＮデータフレームの送受信をサポートする上位プロトコル、例えばＤｅｖｉｃｅＮｅｔ、ＣＡＮｏｐｅｎ及びＯＳＥＣ等に準拠してメッセージの送受信を行うことが可能である。これらのプロトコルでは、例えばＣＡＮデータフレームよりも大きいサイズのデータ（メッセージ）を、複数のＣＡＮデータフレームに分割して送受信することができる。これを、メッセージの断片化又はセグメント化という。
【０００６】
上述したように、従来、受信側のＣＡＮコントローラは、データフレームの受信を完了する度に、受信側のマイクロコントローラのＣＰＵに対し割込信号を通知していた。しかしながら、断片化されたデータフレームが送受信される場面では、受信側のＣＡＮコントローラは、必ずしも１つ１つのデータフレームの受信を完了する度に割込信号を発生する必要はない。このような場合、受信側のＣＡＮコントローラは、１つのメッセージを構成する断片化データフレームが全て受信されたとき、すなわち１つの意味のある情報の単位が完全に受信されたときに、ＣＰＵに対して上記割込信号を通知し、例えばメッセージをメモリに出力させる等の処理を実行させれば十分である。これにより、受信側のマイクロコントローラのＣＰＵにおける無駄な割込処理の実行を抑制することができる。
【０００７】
そこで、特許文献１及び非特許文献１は、受信側のＣＡＮコントローラが、断片化されたＣＡＮデータフレームを受信した後、自動的にメッセージを再組立てし、組立てられたメッセージがマイクロコントローラにより利用可能となったときに、マイクロコントローラのＣＰＵに割込信号により通知する構成を提案している。
【０００８】
より具体的には、特許文献１によれば、受信側のＣＡＮコントローラは、受信したＣＡＮデータフレームからスクリーナＩＤを抽出する。スクリーナＩＤとは、断片化されたデータフレームが構成するメッセージを同定するための識別子である。受信側のＣＡＮコントローラは、複数のメッセージバッファを備えており、これらのメッセージバッファはそれぞれ上記スクリーナＩＤと関連付けられている。ＣＡＮコントローラは、上記データフレームを、スクリーナＩＤに基づいてこれらのメッセージバッファのいずれかに振分け、一時的に格納する。あるメッセージを構成する断片化データフレームが全てメッセージバッファに格納されると、このメッセージバッファに関連付けられた制御ビットが更新される。受信側のＣＡＮコントローラは、この制御ビットが更新されたとき、受信側のマイクロコントローラのＣＰＵに対し、メッセージ受信完了割込信号を通知する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００３−５０９７６４号公報
【非特許文献】
【００１０】
【非特許文献１】Ｐｅｔｅｒ  Ｈａｎｋ，ＸＡ−Ｃ３  Ｓｕｐｐｏｒｔｓ  ＣＡＮ  Ｈｉｇｈ  Ｌａｙｅｒ  Ｐｒｏｔｏｃｏｌｓ，ＵＳＡ，Ｐｈｉｌｉｐｓ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．，１９９９
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従来技術によれば、メッセージ全体が受信されてはじめて受信完了割込が発生するため、データフレームを１つ１つ受信する度に無駄な割込信号が発生するという問題は生じない。ただし、従来技術では、各メッセージバッファに、割込発生を判定するための制御ビットを設けることによって、この問題を解決している。そのため、データフレームの送信側は、送信する前にあらかじめ格納先のメッセージバッファを知っている必要があり、データフレームを送信する際にはそのメッセージバッファを格納先として指定しておく必要がある。また、受信側では、送信側が指定するメッセージバッファに、データフレームを必ず格納しなければならない。
【００１２】
一方、現実には、メッセージバッファの状態は様々に変動し得るものであり、必ずしも予定したメッセージバッファにデータフレームが格納されるわけではない。例えば、メッセージバッファへの格納直前に他のデータフレームが格納されてしまう、又は既にメッセージバッファに格納されているデータの上書きが禁止されており新たな書き込みができない等の理由により、予定されたメッセージバッファにデータフレームを格納できない場合が生じ得る。このような場合、そのデータフレームは、一般的には、他のメッセージバッファに格納されることになる。
【００１３】
このような事情に鑑みると、送信時にデータフレームの格納先メッセージバッファを特定せず、データフレームの受信後にメッセージバッファをサーチし、格納先を決定する方が、より現実に即した制御方法といえよう。
【００１４】
そこで、上述のような、格納先のメッセージバッファをあらかじめ特定しない送信手法をとった場合においても、受信側において割込信号を適切に発生させるための方法を開発する必要がある。
【課題を解決するための手段】
【００１５】
本発明に係る通信制御システムは、送信側装置から受信側装置に対し伝送路を介してメッセージを伝送するための通信制御システムであって、前記送信側装置から受領したメッセージを分割して、複数のデータフレームを生成する送信データ分割部と、前記分割されたデータフレームのうち最終データフレームに対し、最終データフレームであることを示す最終データフレーム情報を設定する最終データフレーム情報設定部と、前記分割されたデータフレームを前記伝送路に送出する送信部とを有する送信処理部と、前記伝送路から前記分割されたデータフレームを受信する受信部と、前記受信部が前記最終データフレーム情報が設定された前記データフレームを受信したとき、前記受信側装置に対し割込信号を通知する割込信号生成部とを有する受信処理部とを備えたものである。
【００１６】
本発明においては、送信処理部においては、送信データ分割部が分割したデータフレームの最終データフレームに対し、最終データフレーム情報設定部が最終データフレーム情報を埋込み、送信部がこれらデータフレームを送信し、受信処理部においては、受信部が最終データフレーム情報が設定されたデータフレームを受信したとき、割込信号生成部が受信側装置に対し割込信号を通知する構成とすることにより、送信側においてはデータフレームの格納先メッセージバッファを予め指定する必要がなく、また仮に指定した場合であって、受信側において送信側が意図しないメッセージバッファにデータフレームに格納された場合であっても、受信側において割込信号を適切に生成することができる。
【発明の効果】
【００１７】
本発明により、受信側における受信完了割込信号生成処理を軽減できる通信制御システムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態１の構成を示すブロック図である。
【図２】実施の形態１の処理を示すフローチャートである。
【図３】実施の形態１にかかるデータフレームの模式図である。
【図４】実施の形態２の構成を示すブロック図である。
【図５】実施の形態２の処理を示すフローチャートである。
【図６】実施の形態２にかかる受信データ復元処理の模式図である。
【発明を実施するための形態】
【００１９】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２０】
＜実施の形態１＞
まず、図１を用いて、本発明の実施の形態１にかかる通信制御システム１００の構成について説明する。
【００２１】
通信制御システム１００は、送信側装置と受信側装置との間でメッセージを伝送するためのシステムであって、送信処理部１１０と受信処理部１２０とを含んでいる。送信処理部１１０と受信処理部１２０とは、データ伝送の制御モジュールであり、例えばＣＡＮコントローラである。また、送信処理部１１０と受信処理部１２０とは、通信路としての通信バスを介して接続されている。通信バスは、例えばＣＡＮバスである。
【００２２】
送信処理部１１０は送信側装置と接続されており、送信側装置から送信データの供給を受ける。また、受信処理部１２０は受信側装置と接続されており、受信側装置に受信データを供給する。送信側装置及び受信側装置は、典型的にはマイクロコントローラである。送信処理部１１０及び受信処理部１２０は、送信側装置及び受信側装置に対し外部モジュールとして接続されていてもよく、又は送信側装置及び受信側装置の一部として内蔵されていてもよい。
【００２３】
送信処理部１１０は、送信データ分割部１１１、最終データフレーム情報設定部１１２及び送信部１１３を備えている。
【００２４】
送信データ分割部１１１は、送信対象のメッセージを複数のデータフレームに分割する処理を行う。
【００２５】
最終データフレーム情報設定部１１２は、生成されたデータフレームのうち最終データフレームに、最終データフレーム情報を制御ビットとして設定する処理を行う。本実施の形態において、最終データフレーム情報は、後述するように、受信処理部１２０において割込信号を生成するために用いられる。
【００２６】
送信部１１３は、送信データ分割部１１１が生成したデータフレーム、及び最終データフレーム情報設定部１１２が最終データフレーム情報を設定したデータフレームを、伝送路に送出する処理を行う。
【００２７】
受信処理部１２０は、受信部１２１及び割込信号生成部１２２を備えている。
受信部１２１は、送信処理部１１０の送信部１１３が送出したデータフレームを伝送路から取得する処理を行う。
割込信号生成部１２２は、受信部１２１が受信したデータフレームに最終データフレーム情報が設定されていた場合に、割込信号を生成する処理を行う。
【００２８】
つづいて、図２を用いて、本発明の実施の形態１にかかる通信制御システム１００の処理について説明する。
【００２９】
まず、送信処理部１１０における処理について説明する。
【００３０】
はじめに、送信側装置から、送信処理部１１０の送信データ分割部１１１に、送信対象のメッセージが供給される。送信側装置は、典型的にはマイクロコントローラである。
【００３１】
送信データ分割部１１１は、この送信対象のメッセージについて、複数のデータフレームに分割する必要があるか否かを判定する（ステップＳ１１１）。
【００３２】
複数のデータフレームに分割する必要がある場合とは、典型的には、背景技術として説明したように、送信可能なデータフレームのサイズよりメッセージサイズが大きい場合である。この場合、送信データ分割部１１１は、送信対象のメッセージを、例えば１つのデータフレームで送出可能なサイズに分割することができる。
【００３３】
また、通信バスの帯域が混雑している場合、そのわずかな空き帯域を利用して送信できるよう、送信対象のメッセージを、その空き帯域に応じたサイズのデータフレームに分割することもできる。具体的には、優先順位の高い他のデータフレームが既に通信バスをほぼ占有しており、送信対象のメッセージをそのまま送り出すには、空き帯域が不足しているという場面が考えられる。このとき、送信データ分割部１１１は、送信対象のメッセージを、通信バスの空き帯域を用いて送出可能なサイズのデータフレームに分割することにより、通信バスが混雑していても、いわば隙間を利用して、通信を開始することができる。なお、上述した通信バスの監視、及び通信バスの使用状況や使用予定の把握は、例えば図示しないマクロが実行し、送信データ分割部１１１は、このマクロから空き帯域等の必要な情報の通知を受けることにより、かかる分割処理を行うことができる。
【００３４】
また、送信対象のメッセージが、一部が揃っただけで受信側装置で何らかの処理が進められるようなデータのブロックが複数組み合わされて構成されている場合には、メッセージをそのブロックごとに分割し、データフレームを生成することもできる。上記ブロックは、例えばメッセージ中にブロックを示す特定の制御ビットを含ませておくことにより、送信データ分割部１１１に認識させることが可能である。
【００３５】
送信データ分割部１１１は、上述の処理によって分割する必要があると判定されたメッセージを、所定のサイズに分割し、データフレームを生成する（ステップＳ１１２）。一方、分割する必要がないと判定したメッセージについては、そのメッセージをそのまま含むデータフレームを生成することができる。
【００３６】
つづいて、最終データフレーム情報設定部１１２は、分割されたデータフレームのうち最終データフレームに対して、最終データフレーム情報を付与する。最終データフレーム情報は、例えばＣＡＮデータフレーム（図３）内の所定のフィールド、典型的にはデータフィールドの先頭１ビットを制御ビットして用いることで表現できる。本実施の形態では、最終データフレームのこの制御ビットに１を設定することにより、最終データフレームに最終データフレーム情報を設定するものとする。最終データフレーム以外のデータフレームでは、この制御ビットを０とする。本実施の形態では、この最終データフレーム情報は、後述するように、受信処理部において割込信号の出力を制御するために利用される。
【００３７】
ここで、最終データフレームとは、例えば以下のように判定される。
【００３８】
まず、送信データ分割部１１１がステップＳ１１１において分割処理を行わずに生成したデータフレームについては、最終データフレーム情報設定部１１２は、このデータフレームを最終データフレームと判定する（ステップＳ１１１）。
【００３９】
また、送信データ分割部１１１がステップＳ１１１において分割処理を行ったデータフレームであって、最後に転送されるデータフレームについて、最終データフレーム情報設定部１１２は、最終データフレームと判定する（ステップＳ１１３）。ここで、最後に転送されるデータフレームであるか否かは、例えば以下のようにして判定できる。まず、送信データ分割部１１１が、メッセージを分割して生成したデータフレームの数、すなわち分割数を図示しない記憶領域に格納しておく。その後、最終データフレーム情報設定部１１２が、分割済のデータフレームを後述する送信部１１３に引渡す際、引渡順が前記分割数と同じ序数となるデータフレームについて、最後のデータフレームであると判定する。
【００４０】
さらに、メッセージから分割された複数のデータフレームのうち一部分が揃うだけで、受信側装置が一定の処理を進めることができるような場合には、最終データフレーム情報設定部１１２は、その一部分を構成するデータフレーム群ごとに、最終データフレームを特定することができる（ステップＳ１１４）。ここで、上述のデータフレーム群は、例えばデータフレーム中の所定の位置に予め特定の制御ビットを含ませておくことにより、最終データフレーム情報設定部１１２に判定させることが可能である。
【００４１】
このような判定の結果、最終データフレームであると判定されたデータフレームに対し、最終データフレーム情報設定部１１２は、最終データフレーム情報を設定する（制御ビットを１とする）。一方、それ以外のデータフレームについては、最終データフレーム情報を設定しない（制御ビットを０とする）（ステップＳ１１５）。
【００４２】
最後に、送信部１１３が、これらのデータフレームを最終データフレーム情報設定部１１２から受取り、通信バスに送出する（ステップＳ１１６）。
【００４３】
つぎに、受信処理部１２０における処理について説明する。
【００４４】
受信部１２１は、送信処理部１１０によって送出されたデータフレームを、通信バスを介して受信する（ステップＳ１２１）。
【００４５】
ここで、受信部１２１は、受信したデータフレームを、図示しないメッセージバッファに格納してもよい。メッセージバッファが複数存在する場合は、適切なメッセージバッファを１つ選択してデータフレームを格納することができる。このとき、格納先のメッセージバッファは、例えばターンアラウンドによる決定、予め定義された優先順位等に基づく選択、又は空き容量に基づく選択等が可能である。あるいは、背景技術のように、送信側で予め指定されたメッセージバッファに格納を試行してもよく、さらに、格納が不能であった場合には上記のいずれかの方法により他のメッセージバッファを格納先として選択することとしてもよい。
【００４６】
この場合、受信部１２１は、各データフレームの格納先を受信格納履歴として図示しない記憶部に記憶しておくことが望ましい。受信格納履歴は、例えばデータフレームを特定する情報及び格納先メッセージバッファを特定する情報とを対応付け、時系列に記録したテーブルとして構成することができる。
【００４７】
あるいは、受信部１２１は、受信したデータフレームを、割込信号生成部１２２に逐次引渡すこととしてもよい。
【００４８】
つづいて、割込信号生成部１２２が、受信部１２１が受信したデータフレームの最終データフレーム情報を逐次参照し、それが設定されているか否か、すなわち最終データフレーム情報を表す制御ビットが１であるか０であるかを判定する（ステップＳ１２２）。
【００４９】
ここで、受信されたデータフレームが上述のメッセージバッファに格納されている場合には、割込信号生成部１２２は、例えば上述の受信格納履歴を参照することにより、新たに受信されたデータフレームが格納されているメッセージバッファを特定することができる。割込信号生成部１２２は、特定されたメッセージバッファから目的のデータフレームをサーチし、上述の参照および判定処理を行う。あるいは、受信部１２１から割込信号生成部１２２に直接にデータフレームが供給されるような場合には、そのデータフレームに対して、上述の参照および判定処理を行う。
【００５０】
判定の結果、受信したデータフレームに最終データフレーム情報が設定されていたならば、割込信号生成部１２２は受信完了を示す割込信号を生成し（ステップＳ１２３）、受信側装置に出力する（ステップＳ１２４）。典型的には、割込信号を受取るのは受信側マイクロコントローラのＣＰＵである。
【００５１】
一方、受信したデータフレームに最終データフレーム情報が設定されていなかったならば、割込信号生成部１２２は割込信号を生成しない。
【００５２】
このように、本実施の形態においては、送信処理部１１０の最終データフレーム情報設定部１１２が、最終データフレームの中に最終データフレーム情報を埋込み、受信処理部１２０の割込信号生成部１２２は、最終データフレーム情報が付与されたデータフレームを受信した場合にのみ割込信号を生成することとした。これにより、受信側における無駄な割込信号の生成を抑制でき、受信側装置における割込処理の負荷を低減することが可能である。また、この構成により、送信側においてはデータフレームの格納先メッセージバッファを予め指定しなくとも、割込信号を適切に生成することができる。
【００５３】
＜実施の形態２＞
実施の形態２は、実施の形態１と同様、送信側においてデータフレームに付与した最終データフレーム情報を利用して、受信側でメッセージの復元および出力を制御する通信制御システムに関するものである。
【００５４】
図４を用いて、本発明の実施の形態２にかかる通信制御システム２００の構成について説明する。
【００５５】
通信制御システム２００は、送信処理部２１０と、受信処理部２２０とを含んでいる。実施の形態１と同様に、送信処理部２１０と受信処理部２２０とは、データ伝送の制御モジュールであり、例えばＣＡＮコントローラである。また、送信処理部２１０と受信処理部２２０とは、通信路としての通信バスを介して接続されている。通信バスは、例えばＣＡＮバスである。また、送信処理部２１０は送信側装置と接続されており、送信側装置から送信データの供給を受ける。さらに、受信処理部２２０は受信側装置と接続されており、受信側装置に受信データを供給する。送信側装置及び受信側装置は、典型的にはマイクロコントローラである。送信処理部２１０及び受信処理部２２０は、送信側装置及び受信側装置に対し外部モジュールとして接続されていてもよく、又は送信側装置及び受信側装置の一部として内蔵されていてもよい。
【００５６】
送信処理部２１０は、送信データ分割部１１１、最終データフレーム情報設定部１１２、送信部１１３、及びＩＤ情報設定部２１４を備えている。このうち送信データ分割部１１１、最終データフレーム情報設定部１１２、及び送信部１１３の構成は、実施の形態１と同様である。本実施の形態の送信処理部２１０は、ＩＤ情報設定部２１４を備えている点に特徴がある。
【００５７】
ＩＤ情報設定部２１４は、送信データ分割部１１１がメッセージを分割して複数のデータフレームを生成する際、同一のメッセージから分割されたデータフレームに対して、共通のＩＤ情報を設定する処理を行う。
【００５８】
受信処理部２２０は、受信部１２１、受信データ格納部２２３、受信データ復元部２２４、及び受信データ出力部２２５を備えている。このうち受信部１２１の構成は、実施の形態１と同様である。本実施の形態の受信処理部２２０は、受信データ格納部２２３、受信データ復元部２２４、及び受信データ出力部２２５を備えている点に特徴がある。
【００５９】
受信データ格納部２２３は、受信部１２１が受信したデータフレームを一時的に格納する記憶部である。また、受信データ格納部２２３は、後述する受信データ復元部２２４が復元したメッセージも一時的に格納することができる。本実施の形態では、受信データ格納部２２３として、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ，Ｆｉｒｓｔ−Ｏｕｔ）型の記憶部を利用している。
【００６０】
受信データ復元部２２４は、受信データ格納部２２３に格納されているデータフレームのうち、共通のＩＤ情報が設定されたデータフレーム同士を統合して、メッセージを復元する処理を行う。この際、受信データ復元部２２４は、処理対象のデータフレームに最終データフレーム情報が設定されていた場合は、復元されたメッセージに対し、メッセージ復元情報を設定する処理を行う。
【００６１】
受信データ出力部２２５は、受信データ格納部２２３に格納されているメッセージのうち、メッセージ復元情報が設定されているメッセージを優先的に受信側装置に出力する。
【００６２】
つづいて、図５を用いて、本発明の実施の形態２にかかる通信制御システム２００の処理について説明する。
【００６３】
まず、送信処理部２１０における処理について説明する。
【００６４】
はじめに、送信側装置から、送信処理部２１０の送信データ分割部１１１に、送信対象のメッセージが供給される。送信側装置は、典型的にはマイクロコントローラである。
【００６５】
送信データ分割部１１１における処理は、実施の形態１と同様である。すなわち、送信データ分割部１１１は、メッセージを複数のデータフレームに分割する必要があるか否かを判定し（ステップＳ１１１）、分割すべきメッセージを所定のサイズに分割してデータフレームを生成する（ステップＳ１１２）。
【００６６】
つぎに、ＩＤ情報設定部２１４が、送信データ分割部１１１によって同じメッセージから分割された複数のデータフレームに対し、同じ値のＩＤを設定する（ステップＳ２１７）。具体的には、ＩＤ情報設定部２１４は、データフレーム中のアービトレーションフィールド（図３参照）にＩＤ情報を書込むことにより、データフレームにＩＤ情報を設定することができる。
【００６７】
つづいて、最終データフレーム情報設定部１１２は、分割されたデータフレームのうち最終データフレームを判定し（ステップＳ１１１乃至Ｓ１１４）、最終データフレームに対して最終データフレーム情報を付与する（ステップＳ１１５）。これらの処理は、実施の形態１と同様に行われる。
【００６８】
最後に、送信部１１３が、これらのデータフレームを最終データフレーム情報設定部１１２から受取り、通信バスに送出する（ステップＳ１１６）。
【００６９】
つづいて、受信処理部２２０における処理について説明する。
【００７０】
まず、受信部１２１は、送信処理部２１０によって送出されたデータフレームを、通信バスを介して受信する（ステップＳ２２１）。受信部１２１は、この際、受信したデータフレームを、受信データ格納部２２３（ＦＩＦＯ）の最後尾に格納する。一例として、図６（１）に、ＩＤ情報として「Ｇ」が設定されたデータフレームが、受信データ格納部２２３の最後尾にあたる（キ）に格納された様子を示す。
【００７１】
つぎに、受信データ復元部２２４は、受信部１２１によって新たに受信データ格納部２２３に格納されたデータフレームのＩＤ情報を取得する。ＩＤ情報は、上述のように、例えばデータフレームのアービトレーションフィールドに含まれている。
【００７２】
受信データ復元部２２４は、新たに格納されたフレームから取得したＩＤ情報が、既に受信データ格納部２２３に格納されているいずれかのデータフレームのＩＤ情報と一致するか否かを判定する（ステップＳ２２５）。一例として、図６（３）に、ＩＤ情報として「Ｅ」が設定されたデータフレームが、受信データ格納部２２３の最後尾にあたる（キ）に格納された様子を示す。このとき、受信データ格納部２２３の（ウ）には、ＩＤ情報として「Ｅ」が設定されたデータフレームが既に存在することがわかる。
【００７３】
判定の結果、ＩＤが一致するデータフレームが見つかったならば、受信データ復元部２２４は、それら同一のＩＤを有するデータフレーム同士を統合して、メッセージを復元する。その後、受信データ復元部２２４は、この復元されたメッセージを、受信データ格納部２２３に既に格納されていたほうのデータフレームの格納位置に格納する（ステップＳ２２６）。すなわち、受信データ復元部２２４は、古くから格納されていたほうの断片化データフレームを、復元されたメッセージで置き換える処理を行う。一例として、図６（４）に、ＩＤ情報として「Ｅ」が設定されたデータフレーム同士を統合し、メッセージを復元した様子を示す。（ア）に位置するのが復元されたメッセージ「Ｅ」である。ここで、（３）と（４）とを比較すると、メッセージ「Ｃ」と「Ｅ」との位置が逆転しているが、その理由については後述する。
【００７４】
この復元処理の際、受信データ復元部２２４は、新たに格納されたほうのデータフレームに最終データフレーム情報が設定されていたならば、復元されたメッセージに対し、メッセージ復元情報を設定する処理を行う。メッセージ復元情報は、そのメッセージが、最終データフレームを含む断片化データフレームから生成されたメッセージであること、すなわち完全に復元されたメッセージであることを示す。メッセージ復元情報は、例えばメッセージ中の所定の位置に設けられる制御ビットによって表現することができる。具体的には、メッセージ復元情報を設定する場合はこの制御ビットを１とし、それ以外の場合はこの制御ビットを０とする。例えば、図６（４）では、復元されたメッセージ「Ｅ」に対し、メッセージ復元情報として「１」が設定されている。
【００７５】
つぎに、受信データ出力部２２５の処理について説明する。この処理は、典型的には、受信データ出力部２２５が受信側装置のＣＰＵから出力命令を受信したことを契機として実行される。また、ＣＰＵは、典型的には、実施の形態１と同様の手法で受信可能な割込信号の受信を契機として、上記命令を出力することができる。割込信号は、例えば受信処理部２２０が備える図示しない割込信号生成部が、受信部１２１が受信したデータフレーム中から最終データフレーム情報を検出した場合に、ＣＰＵに対して出力するよう構成することができる。
【００７６】
受信データ出力部２２５は、まず、受信データ格納部２２３から受信側装置に対して出力すべきメッセージを決定する処理を行う。出力対象とされたメッセージは、通常、受信側装置のメモリに対して出力され、受信側装置のＣＰＵが実行する処理等に利用される。
【００７７】
出力すべきメッセージは、例えば以下のように決定される。受信データ出力部２２５は、受信データ格納部２２３に格納されているメッセージのうち、古いものから順に、メッセージ復元情報が設定されているか否かを判定する（ステップＳ２３３）。ここで、メッセージ復元情報が設定されていれば、そのメッセージについては最終データフレームがすでに統合されている、すなわちメッセージが完全に復元されているということであるので、そのメッセージを出力対象として決定する。一方、メッセージ復元情報が設定されていなければ、そのメッセージについては最終データフレームがまだ到着していない、すわなちメッセージが完全には復元されていないということであるので、そのメッセージは出力対象としない（ステップＳ２３４）。後者の場合、受信データ出力部２２５は、２番目に古いメッセージについて、同様の処理を行う。すなわち、メッセージ復元情報の有無を検査し、メッセージ復元情報が有る場合にはそのメッセージを出力対象とし、無い場合にはそのメッセージをスキップする。受信データ出力部２２５は、出力対象のメッセージが決定するまで、同様の処理を繰返す。
【００７８】
一例として、図６を用いて、出力すべきメッセージが決定される機序を示す。（１）においては、最も古いメッセージ「Ａ」にメッセージ復元情報「１」が設定されているため、「Ａ」が出力される。（２）においては、最も古いメッセージ「Ｂ」にメッセージ復元情報「１」が設定されているため、「Ｂ」が出力される。（３）においては、最も古いメッセージは「Ｃ」であるが、メッセージ復元情報が「０」であるので出力対象とならず、次に古いメッセージ「Ｄ」が出力される。「Ｄ」にはメッセージ復元情報「１」が設定されているからである。（４）においては、最も古いメッセージは「Ｃ」であるが、メッセージ復元情報が「０」であるので出力対象とならず、次に古いメッセージ「Ｅ」が出力される。この時点で、「Ｅ」にはメッセージ復元情報「１」が設定されるからである。
【００７９】
最後に、受信データ出力部２２５は、出力対象として決定されたメッセージを、受信側装置に出力する処理を行う。
【００８０】
本実施の形態においては、送信処理部２１０の最終データフレーム情報設定部１１２がデータフレームの中に埋込んだ最終データフレーム情報を利用することにより、ＣＰＵの割込処理の負荷を軽減できるとともに、受信処理部２２０の受信データ復元部２２４においてはメッセージを単純な処理で復元し、受信データ出力部２２５においてはメッセージの復元の完了を効率的に検出し、出力すべきメッセージを単純な機序で決定することができる。
【００８１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００８２】
１００  通信制御システム
１１０  送信処理部
１１１  送信データ分割部
１１２  最終データフレーム情報設定部
１１３  送信部
１２０  受信処理部
１２１  受信部
１２２  割込信号生成部
２００  通信制御システム
２１０  送信処理部
２１４  ＩＤ情報設定部
２２０  受信処理部
２２４  受信データ復元部
２２５  受信データ出力部
２２６  受信データ格納部
【図１】
2013026709.tif 000003
【図２】
2013026709.tif 000004
【図３】
2013026709.tif 000005
【図４】
2013026709.tif 000006
【図５】
2013026709.tif 000007
【図６】
2013026709.tif 000008