(57)【要約】【課題】  他の装置にメモリを共有される処理における誤動作を低減することができる通信装置、制御方法を提供する。【解決手段】  メモリ１１に記憶されたデータを処理する通信装置１であって、受信されたデータを受信データとして記憶する前回アクセス記憶レジスタ１１０と、受信データと、受信データの記憶後に受信された新受信データとが同一であるか否かを判断する判断部１０３と、判断部１０３により同一ではないと判断された場合、新受信データをメモリ１１に記憶させるデータ制御部１０４とを備える。【選択図】図１
2011039929.tif 000002
【特許請求の範囲】
【請求項１】
第１メモリに記憶されたデータを処理する通信装置であって、
受信されたデータを受信データとして記憶する第２メモリと、
前記受信データと、該受信データの記憶後に受信された新受信データとが同一であるか否かを判断する判断部と、
前記判断部により同一ではないと判断された場合、前記新受信データを前記第１メモリに記憶させるデータ制御部と
を備える通信装置。
【請求項２】
前記判断部は、データの受信においてエラーが発生した場合、前記受信データと前記新受信データとが同一であるか否かを判断することを特徴とする請求項１記載の通信装置。
【請求項３】
前記通信装置は、データの受信に係る複数の通信経路を有し、
前記判断部は、データを受信する通信経路が他の通信経路に切り替えられた場合、前記受信データと前記新受信データとが同一であるか否かを判断することを特徴とする請求項１記載の通信装置。
【請求項４】
第１メモリに記憶されたデータを処理する通信装置の制御方法であって、
受信されたデータを受信データとして前記通信装置の第２メモリに記憶させ、前記受信データと、該受信データの記憶後に受信された新受信データとが同一であるか否かを判断し、同一でないと判断した場合、前記新受信データを前記第１メモリに記憶させる制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる装置により共有されるメモリの制御に関する。
【背景技術】
【０００２】
従来、装置間でデータをやり取りし、互いの装置のメモリを共有メモリとして用いる通信装置が知られている。図８は、従来の通信装置のハードウェア構成を示す。
【０００３】
図８に示すように、互いに冗長化され、接続された通信装置８及び９は、それぞれ、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０、メモリ８１、外部インターフェースを担うインターフェースコントローラ８２を備える。これらの通信装置８及び９は、ＭＰＵ８０により処理すべきデータの送受を行うとともにメモリ８１を互いに共有する。また、通信装置８及び９は、通信エラーを検出すると、データの送受を再試行する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１４６３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した通信装置８及び９によるデータの送受の再試行において、実際にはデータの送受が成功しているにも関わらず、伝送路上のノイズ等の影響によりエラーが検出される場合がある。このような場合、エラーの検出に基づいて、データの送受が再試行され、メモリ８１上のデータの再試行により受信されたデータが上書きされる。ここで上書きされる元のデータは、ＭＰＵ８０による処理によって書き換えられたデータであるため、処理後のデータが処理前のデータに上書きされてしまうことになる。このような上書きによって、処理の誤動作が引き起こされるという問題がある。
【０００６】
本発明は上述した問題点を解決するためになされたものであり、他の装置にメモリを共有される処理における誤動作を低減することができる通信装置、制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するため、本発明の一態様は、第１メモリに記憶されたデータを処理する装置であって、受信されたデータを受信データとして記憶する第２メモリと、前記受信データと、該受信データの記憶後に受信された新受信データとが同一であるか否かを判断する判断部と、前記判断部により同一ではないと判断された場合、前記新受信データを前記第１メモリに記憶させるデータ制御部とを備える。
【０００８】
また、本発明の一態様は、第１メモリに記憶されたデータを処理する通信装置の制御方法であって、受信されたデータを受信データとして前記通信装置の第２メモリに記憶させ、前記受信データと、該受信データの記憶後に受信された新受信データとが同一であるか否かを判断し、同一でないと判断した場合、前記新受信データを前記第１メモリに記憶させる。
【発明の効果】
【０００９】
他の装置にメモリを共有される処理における誤動作を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る通信装置のハードウェア構成を示す。
【図２】実施の形態１に係る通信装置の機能構成を示す。
【図３】実施の形態１に係る比較処理の動作を示す。
【図４】実施の形態２に係る通信装置のハードウェア構成を示す。
【図５】実施の形態２に係る２重化通信コントローラの機能構成を示す。
【図６】実施の形態２に係る切り替え処理の動作を示す。
【図７】実施の形態２に係るエラー処理の動作を示す。
【図８】従来の通信装置のハードウェア構成を示す。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００１２】
（実施の形態１）
まず、本実施の形態に係る通信装置の構成について説明する。図１は、本実施の形態に係る通信装置のハードウェア構成を示す。
【００１３】
図１に示すように、本実施の形態に係る通信装置１及び２は、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、メモリ１１、インターフェースコントローラ１２をハードウェアとしてそれぞれ備える。ＭＰＵ１０はデータ処理を実行する。また、メモリ１１は、ＭＰＵ１０に対する主記憶装置であって、前回アクセス記憶レジスタ１１０を備える。この前回アクセス記憶レジスタ１１０は、メモリ１１とは異なる記憶領域としての記憶装置である。また、インターフェースコントローラ１２は、通信装置１、通信装置２間のデータの送受を制御する。インターフェースコントローラ１２により受信されたデータは、メモリ１１及び前回アクセス記憶レジスタ１１０に書き込まれる。なお、ＭＰＵ１０は、データ処理において、メモリ１１に対して処理結果を書き込むが、前回アクセス記憶レジスタ１１０に対しては処理結果を書き込まない。また、前回アクセス記憶レジスタ１１０は、装置内部であればどこに備えられていても構わない。
【００１４】
また、通信装置１及び２は、それぞれマスタまたはスレーブとして動作する。マスタとして動作する場合、通信装置１及び２は、他方の通信装置へ処理すべきデータを送信する。また、スレーブとして動作する場合、通信装置１及び２は、他の通信装置から処理すべきデータを受信し、受信したデータを処理し、その後、正常処理完了応答をマスタへ返す。
【００１５】
次に、本実施の形態に係る通信装置の機能構成について説明する。図２は、本実施の形態に係る通信装置の機能構成を示す。
【００１６】
図２に示すように、本実施の形態に係る通信装置１及び２は、送信部１００、受信部１０１、比較部１０２、判断部１０３、データ制御部１０４、処理部１０５を機能としてそれぞれ備える。送信部１００は、インターフェースコントローラ１２を介してデータを他方の通信装置へ送信する。また、受信部１０１は、インターフェースコントローラ１２を介してデータを他方の通信装置から受信する。また、比較部１０２は、受信部１０１により受信されたデータ（新受信データ）と前回アクセス記憶レジスタ１１０に記憶されたデータ（受信データ）とを比較する。また、判断部１０３は、後述する比較処理に係る判断を実行する。また、データ制御部１０４は、ライトイネーブルを立ち上げることによって、受信部１０１により受信されたデータをメモリ１１に記憶させる。また、処理部１０５は、メモリ１１に記憶されたデータに対する処理を実行する。なお、送信部１００、受信部１０１、比較部１０２、判断部１０３、データ制御部１０４は、ＭＰＵ１０により実現される機能である。
【００１７】
次に、本実施の形態に係る比較処理の動作について説明する。この比較処理は、スレーブとして動作する通信装置における処理である。図３は、本実施の形態に係る比較処理の動作を示す。なお、図３において、通信装置１をスレーブ、通信装置２をマスタとし、比較処理は通信装置１において実行されているものとする。
【００１８】
図３に示すように、まず、判断部１０３は、通信装置２から受信部１０１によりデータが受信されたかどうかを判断する（Ｓ１０１）。
【００１９】
受信部１０１によりデータが受信された場合（Ｓ１０１，ＹＥＳ）、判断部１０３は、前回アクセス記憶レジスタ１１０にデータが記憶されているかどうかを判断する（Ｓ１０２）。
【００２０】
前回アクセス記憶レジスタ１１０にデータが記憶されている場合（Ｓ１０２，ＹＥＳ）、比較部１０２は、受信部１０１により受信されたデータと、前回アクセス記憶レジスタ１１０上のデータとを比較する（Ｓ１０３）。また、判断部１０３は、比較部１０２により比較されたデータが同一であるかどうかを判断する（Ｓ１０４）。
【００２１】
比較部１０２により比較されたデータが同一である場合（Ｓ１０４，ＹＥＳ）、送信部１００は、受信したデータに対する応答として、通信装置２へ正常処理完了応答を返し（Ｓ１０５）、判断部１０３は、再度、受信部１０１によりデータが受信されたかどうかを判断する（Ｓ１０１）。
【００２２】
一方、比較部１０２により比較されたデータが同一ではない場合（Ｓ１０４，ＮＯ）、データ制御部１０４は、受信部１０１により受信されたデータをメモリ１１に記憶させる（Ｓ１０６）。次に、送信部１００は、受信したデータに対する応答として、通信装置２へ正常処理完了応答を返し（Ｓ１０７）、判断部１０３は、再度、受信部１０１によりデータが受信されたかどうかを判断する（Ｓ１０１）。
【００２３】
また、ステップＳ１０２の判断において、前回アクセス記録レジスタ１１０にデータが記憶されていない場合（Ｓ１０２，ＮＯ）、データ制御部１０４は、受信部１０１により受信されたデータをメモリ１１に記憶させる（Ｓ１０６）。
【００２４】
また、ステップＳ１０１の判断において、受信部１０１によりデータが受信されていない場合（Ｓ１０１，ＮＯ）、判断部１０３は、再度、通信装置２から受信部１０１によりデータが受信されたかどうかを判断する（Ｓ１０１）。
【００２５】
上述したように、本実施の形態によれば、スレーブとしての通信装置１は、マスタとしての通信装置２から受信したデータと、処理後のデータが書き込まれていない前回アクセス記憶レジスタ１１０にすでに記憶されているデータとを比較する。また、通信装置１は、比較したデータが同一ではない場合にのみメモリ１１にデータを記憶させる。これにより、同じデータが再度メモリ１１へ書き込まれることを防止することができ、更には、処理後のデータが処理前のデータにより上書きされることを防止することができる。結果として、メモリ１１が通信装置２により共有される通信装置１における処理の誤動作が低減される。
【００２６】
（実施の形態２）
本実施の形態に係る通信装置は、通信経路が多重化されている点が実施の形態１とは異なる。以降の説明において、実施の形態１の各図と同一符号のものは、同一又は同等のものを示しており、重複する説明は省略する。まず、本実施の形態に係る通信装置のハード
ウェア構成について説明する。図４は、本実施の形態に係る通信装置のハードウェア構成を示す。
【００２７】
図４に示すように、本実施の形態に係る通信装置１及び２は、ＭＰＵ１０、メモリ１１、インターフェースコントローラ１２に加え、インターフェースコントローラ１３、２重化通信コントローラ１４をハードウェアとしてそれぞれ備える。また、本実施の形態において、前回アクセス記憶レジスタ１１０は、メモリ１１ではなく、２重化通信コントローラ１４に備えられている。インターフェースコントローラ１３は、インターフェースコントローラ１２と同等の機能を有する。なお、本実施の形態において、インターフェースコントローラ１２による通信経路を通信経路１、インターフェースコントローラ１３による通信経路を通信経路２とする。また、２重化通信コントローラ１４は、データの送受に係る通信経路を通信経路１または通信経路２に切り替える。なお、前回アクセス記憶レジスタ１１０は、装置内部であればどこに備えられていても構わない。
【００２８】
次に、本実施の形態に係る２重化通信コントローラの機能構成について説明する。図５は本実施の形態に係る２重化通信コントローラの機能構成を示す。
【００２９】
図５に示すように、２重化通信コントローラ１４は、送信指示部１４１、エラーカウント部１４２、切り替え部１４３を機能として備える。送信指示部１４１は、送信部１００にスレーブとしての通信装置へのデータの送信を指示する。また、エラーカウント部１４２は、送信エラーの回数をカウントする。また、切り替え部１４３は、通信経路を切り替える。なお、送信指示部１４１、エラーカウント部１４２、切り替え部１４３は、ＭＰＵ１０により機能として実現されても良い。
【００３０】
次に、本実施の形態に係る切り替え処理の動作について説明する。この切り替え処理は、マスタとして動作する通信装置の動作であり、データの送信エラーに対して、通信経路を切り替える処理である。図６は、本実施の形態に係る切り替え処理の動作を示す。なお、図６において、通信装置１をマスタ、通信装置２をスレーブとし、切り替え処理は通信装置１において実行されるものとする。
【００３１】
図６に示すように、まず、送信指示部１４１は、送信部１００によりデータが送信されたかどうかを判断する（Ｓ２０１）。なお、この判断において、判断対象とするデータは、再送ではない新規のデータとする。
【００３２】
送信部１００によりデータが送信された場合（Ｓ２０１，ＹＥＳ）、エラーカウント部１４２は、初期化として、送信エラー回数を示す変数ｉに０をセットする（Ｓ２０２）。次に、送信指示部１４１は、送信部１００によるデータの送信に用いられている通信経路において、送信エラーが発生したかどうかを判断する（Ｓ２０３）。
【００３３】
送信エラーが発生した場合（Ｓ２０３，ＹＥＳ）、エラーカウント部１４２は、ｉに１を加算し（Ｓ２０４）、ｉが予め設定された所定数以上かどうかを判断する（Ｓ２０５）。
【００３４】
ｉが所定数以上である場合（Ｓ２０５，ＹＥＳ）、切り替え部１４３は、通信経路を切り替え（Ｓ２０６）、送信指示部１４１は、送信部１００に対して、送信エラーが発生したデータの再送信を指示する（Ｓ２０７）。次に、エラーカウント部１４２は、初期化として、送信エラー回数を示す変数ｉに０をセットする（Ｓ２０２）。
【００３５】
一方、ｉが所定数以上ではない場合（Ｓ２０５，ＮＯ）、送信指示部１４１は、送信部１００に対して、送信エラーが発生したデータの再送信を指示する（Ｓ２０８）。次に、
送信指示部１４１は、送信部１００によるデータの送信に用いられている通信経路において、送信エラーが発生したかどうかを判断する（Ｓ２０３）。
【００３６】
また、ステップＳ２０３の判断において、送信エラーが発生していない場合（Ｓ２０３，ＮＯ）、送信指示部１４１は、再度、送信部１００によりデータが送信されたかどうかを判断する（Ｓ２０１）。
【００３７】
また、ステップＳ２０１の判断において、送信部１００によりデータが送信されていない場合（Ｓ２０１，ＮＯ）送信指示部１４１は、再度、送信部１００によりデータが送信されたかどうかを判断する（Ｓ２０１）。
【００３８】
次に、本実施の形態に係るエラー処理の動作について説明する。図７は、本実施の形態に係るエラー処理の動作を示す。なお、このエラー処理は、スレーブとしての通信装置２の動作である。
【００３９】
図７に示すように、判断部１０３は、通信装置１によりデータを受信する通信経路が切り替えられたかどうかを判断する（Ｓ３０１）。ここで判断部１０３は、例えば、前回アクセスされた通信経路とは別の通信経路へのアクセスを以って通信経路の切り替えを判断する。
【００４０】
通信経路が切り替えられた場合（Ｓ３０１，ＹＥＳ）、実施の形態１において上述した比較処理が実行され（Ｓ３０２）、判断部１０３は、再度、通信装置１により通信経路が切り替えられたかどうかを判断する（Ｓ３０１）。
【００４１】
一方、通信経路が切り替えられていない場合（Ｓ３０１，ＮＯ）、判断部１０３は、再度、２重化通信コントローラ１４により通信経路が切り替えられたかどうかを判断する（Ｓ３０１）。
【００４２】
上述したように、本実施の形態によれば、スレーブとしての通信装置２は、通信経路の切り替えをトリガとして、上述した比較処理を実行する。また、通信経路の切り替えは、送信エラーが発生した場合にマスタとしての通信装置１により実行される。なお、通信経路の切り替えは、通信装置２において受信エラーが発生した場合に実行されても構わない。これにより、比較処理が通信毎に実行されず、結果として通信装置２における処理負荷が低減される。
【符号の説明】
【００４３】
１，２  通信装置
１０  ＭＰＵ
１１  メモリ
１２，１３  インターフェースコントローラ
１４  ２重化通信コントローラ
１００  送信部
１０１  受信部
１０２  比較部
１０３  判断部
１０４  データ制御部
１０５  処理部
１１０  前回アクセス記憶レジスタ
１４１  送信指示部
１４２  エラーカウント部
１４３  切り替え部
【図１】
2011039929.tif 000003
【図２】
2011039929.tif 000004
【図３】
2011039929.tif 000005
【図４】
2011039929.tif 000006
【図５】
2011039929.tif 000007
【図６】
2011039929.tif 000008
【図７】
2011039929.tif 000009
【図８】
2011039929.tif 000010