説明

通信装置及び制御方法

【課題】 他の装置にメモリを共有される処理における誤動作を低減することができる通信装置、制御方法を提供する。
【解決手段】 メモリ11に記憶されたデータを処理する通信装置1であって、受信されたデータを受信データとして記憶する前回アクセス記憶レジスタ110と、受信データと、受信データの記憶後に受信された新受信データとが同一であるか否かを判断する判断部103と、判断部103により同一ではないと判断された場合、新受信データをメモリ11に記憶させるデータ制御部104とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異なる装置により共有されるメモリの制御に関する。
【背景技術】
【0002】
従来、装置間でデータをやり取りし、互いの装置のメモリを共有メモリとして用いる通信装置が知られている。図8は、従来の通信装置のハードウェア構成を示す。
【0003】
図8に示すように、互いに冗長化され、接続された通信装置8及び9は、それぞれ、MPU(Micro Processing Unit)80、メモリ81、外部インターフェースを担うインターフェースコントローラ82を備える。これらの通信装置8及び9は、MPU80により処理すべきデータの送受を行うとともにメモリ81を互いに共有する。また、通信装置8及び9は、通信エラーを検出すると、データの送受を再試行する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−146320号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した通信装置8及び9によるデータの送受の再試行において、実際にはデータの送受が成功しているにも関わらず、伝送路上のノイズ等の影響によりエラーが検出される場合がある。このような場合、エラーの検出に基づいて、データの送受が再試行され、メモリ81上のデータの再試行により受信されたデータが上書きされる。ここで上書きされる元のデータは、MPU80による処理によって書き換えられたデータであるため、処理後のデータが処理前のデータに上書きされてしまうことになる。このような上書きによって、処理の誤動作が引き起こされるという問題がある。
【0006】
本発明は上述した問題点を解決するためになされたものであり、他の装置にメモリを共有される処理における誤動作を低減することができる通信装置、制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決するため、本発明の一態様は、第1メモリに記憶されたデータを処理する装置であって、受信されたデータを受信データとして記憶する第2メモリと、前記受信データと、該受信データの記憶後に受信された新受信データとが同一であるか否かを判断する判断部と、前記判断部により同一ではないと判断された場合、前記新受信データを前記第1メモリに記憶させるデータ制御部とを備える。
【0008】
また、本発明の一態様は、第1メモリに記憶されたデータを処理する通信装置の制御方法であって、受信されたデータを受信データとして前記通信装置の第2メモリに記憶させ、前記受信データと、該受信データの記憶後に受信された新受信データとが同一であるか否かを判断し、同一でないと判断した場合、前記新受信データを前記第1メモリに記憶させる。
【発明の効果】
【0009】
他の装置にメモリを共有される処理における誤動作を低減することができる。
【図面の簡単な説明】
【0010】
【図1】実施の形態1に係る通信装置のハードウェア構成を示す。
【図2】実施の形態1に係る通信装置の機能構成を示す。
【図3】実施の形態1に係る比較処理の動作を示す。
【図4】実施の形態2に係る通信装置のハードウェア構成を示す。
【図5】実施の形態2に係る2重化通信コントローラの機能構成を示す。
【図6】実施の形態2に係る切り替え処理の動作を示す。
【図7】実施の形態2に係るエラー処理の動作を示す。
【図8】従来の通信装置のハードウェア構成を示す。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【0012】
(実施の形態1)
まず、本実施の形態に係る通信装置の構成について説明する。図1は、本実施の形態に係る通信装置のハードウェア構成を示す。
【0013】
図1に示すように、本実施の形態に係る通信装置1及び2は、MPU(Micro Processing Unit)10、メモリ11、インターフェースコントローラ12をハードウェアとしてそれぞれ備える。MPU10はデータ処理を実行する。また、メモリ11は、MPU10に対する主記憶装置であって、前回アクセス記憶レジスタ110を備える。この前回アクセス記憶レジスタ110は、メモリ11とは異なる記憶領域としての記憶装置である。また、インターフェースコントローラ12は、通信装置1、通信装置2間のデータの送受を制御する。インターフェースコントローラ12により受信されたデータは、メモリ11及び前回アクセス記憶レジスタ110に書き込まれる。なお、MPU10は、データ処理において、メモリ11に対して処理結果を書き込むが、前回アクセス記憶レジスタ110に対しては処理結果を書き込まない。また、前回アクセス記憶レジスタ110は、装置内部であればどこに備えられていても構わない。
【0014】
また、通信装置1及び2は、それぞれマスタまたはスレーブとして動作する。マスタとして動作する場合、通信装置1及び2は、他方の通信装置へ処理すべきデータを送信する。また、スレーブとして動作する場合、通信装置1及び2は、他の通信装置から処理すべきデータを受信し、受信したデータを処理し、その後、正常処理完了応答をマスタへ返す。
【0015】
次に、本実施の形態に係る通信装置の機能構成について説明する。図2は、本実施の形態に係る通信装置の機能構成を示す。
【0016】
図2に示すように、本実施の形態に係る通信装置1及び2は、送信部100、受信部101、比較部102、判断部103、データ制御部104、処理部105を機能としてそれぞれ備える。送信部100は、インターフェースコントローラ12を介してデータを他方の通信装置へ送信する。また、受信部101は、インターフェースコントローラ12を介してデータを他方の通信装置から受信する。また、比較部102は、受信部101により受信されたデータ(新受信データ)と前回アクセス記憶レジスタ110に記憶されたデータ(受信データ)とを比較する。また、判断部103は、後述する比較処理に係る判断を実行する。また、データ制御部104は、ライトイネーブルを立ち上げることによって、受信部101により受信されたデータをメモリ11に記憶させる。また、処理部105は、メモリ11に記憶されたデータに対する処理を実行する。なお、送信部100、受信部101、比較部102、判断部103、データ制御部104は、MPU10により実現される機能である。
【0017】
次に、本実施の形態に係る比較処理の動作について説明する。この比較処理は、スレーブとして動作する通信装置における処理である。図3は、本実施の形態に係る比較処理の動作を示す。なお、図3において、通信装置1をスレーブ、通信装置2をマスタとし、比較処理は通信装置1において実行されているものとする。
【0018】
図3に示すように、まず、判断部103は、通信装置2から受信部101によりデータが受信されたかどうかを判断する(S101)。
【0019】
受信部101によりデータが受信された場合(S101,YES)、判断部103は、前回アクセス記憶レジスタ110にデータが記憶されているかどうかを判断する(S102)。
【0020】
前回アクセス記憶レジスタ110にデータが記憶されている場合(S102,YES)、比較部102は、受信部101により受信されたデータと、前回アクセス記憶レジスタ110上のデータとを比較する(S103)。また、判断部103は、比較部102により比較されたデータが同一であるかどうかを判断する(S104)。
【0021】
比較部102により比較されたデータが同一である場合(S104,YES)、送信部100は、受信したデータに対する応答として、通信装置2へ正常処理完了応答を返し(S105)、判断部103は、再度、受信部101によりデータが受信されたかどうかを判断する(S101)。
【0022】
一方、比較部102により比較されたデータが同一ではない場合(S104,NO)、データ制御部104は、受信部101により受信されたデータをメモリ11に記憶させる(S106)。次に、送信部100は、受信したデータに対する応答として、通信装置2へ正常処理完了応答を返し(S107)、判断部103は、再度、受信部101によりデータが受信されたかどうかを判断する(S101)。
【0023】
また、ステップS102の判断において、前回アクセス記録レジスタ110にデータが記憶されていない場合(S102,NO)、データ制御部104は、受信部101により受信されたデータをメモリ11に記憶させる(S106)。
【0024】
また、ステップS101の判断において、受信部101によりデータが受信されていない場合(S101,NO)、判断部103は、再度、通信装置2から受信部101によりデータが受信されたかどうかを判断する(S101)。
【0025】
上述したように、本実施の形態によれば、スレーブとしての通信装置1は、マスタとしての通信装置2から受信したデータと、処理後のデータが書き込まれていない前回アクセス記憶レジスタ110にすでに記憶されているデータとを比較する。また、通信装置1は、比較したデータが同一ではない場合にのみメモリ11にデータを記憶させる。これにより、同じデータが再度メモリ11へ書き込まれることを防止することができ、更には、処理後のデータが処理前のデータにより上書きされることを防止することができる。結果として、メモリ11が通信装置2により共有される通信装置1における処理の誤動作が低減される。
【0026】
(実施の形態2)
本実施の形態に係る通信装置は、通信経路が多重化されている点が実施の形態1とは異なる。以降の説明において、実施の形態1の各図と同一符号のものは、同一又は同等のものを示しており、重複する説明は省略する。まず、本実施の形態に係る通信装置のハード
ウェア構成について説明する。図4は、本実施の形態に係る通信装置のハードウェア構成を示す。
【0027】
図4に示すように、本実施の形態に係る通信装置1及び2は、MPU10、メモリ11、インターフェースコントローラ12に加え、インターフェースコントローラ13、2重化通信コントローラ14をハードウェアとしてそれぞれ備える。また、本実施の形態において、前回アクセス記憶レジスタ110は、メモリ11ではなく、2重化通信コントローラ14に備えられている。インターフェースコントローラ13は、インターフェースコントローラ12と同等の機能を有する。なお、本実施の形態において、インターフェースコントローラ12による通信経路を通信経路1、インターフェースコントローラ13による通信経路を通信経路2とする。また、2重化通信コントローラ14は、データの送受に係る通信経路を通信経路1または通信経路2に切り替える。なお、前回アクセス記憶レジスタ110は、装置内部であればどこに備えられていても構わない。
【0028】
次に、本実施の形態に係る2重化通信コントローラの機能構成について説明する。図5は本実施の形態に係る2重化通信コントローラの機能構成を示す。
【0029】
図5に示すように、2重化通信コントローラ14は、送信指示部141、エラーカウント部142、切り替え部143を機能として備える。送信指示部141は、送信部100にスレーブとしての通信装置へのデータの送信を指示する。また、エラーカウント部142は、送信エラーの回数をカウントする。また、切り替え部143は、通信経路を切り替える。なお、送信指示部141、エラーカウント部142、切り替え部143は、MPU10により機能として実現されても良い。
【0030】
次に、本実施の形態に係る切り替え処理の動作について説明する。この切り替え処理は、マスタとして動作する通信装置の動作であり、データの送信エラーに対して、通信経路を切り替える処理である。図6は、本実施の形態に係る切り替え処理の動作を示す。なお、図6において、通信装置1をマスタ、通信装置2をスレーブとし、切り替え処理は通信装置1において実行されるものとする。
【0031】
図6に示すように、まず、送信指示部141は、送信部100によりデータが送信されたかどうかを判断する(S201)。なお、この判断において、判断対象とするデータは、再送ではない新規のデータとする。
【0032】
送信部100によりデータが送信された場合(S201,YES)、エラーカウント部142は、初期化として、送信エラー回数を示す変数iに0をセットする(S202)。次に、送信指示部141は、送信部100によるデータの送信に用いられている通信経路において、送信エラーが発生したかどうかを判断する(S203)。
【0033】
送信エラーが発生した場合(S203,YES)、エラーカウント部142は、iに1を加算し(S204)、iが予め設定された所定数以上かどうかを判断する(S205)。
【0034】
iが所定数以上である場合(S205,YES)、切り替え部143は、通信経路を切り替え(S206)、送信指示部141は、送信部100に対して、送信エラーが発生したデータの再送信を指示する(S207)。次に、エラーカウント部142は、初期化として、送信エラー回数を示す変数iに0をセットする(S202)。
【0035】
一方、iが所定数以上ではない場合(S205,NO)、送信指示部141は、送信部100に対して、送信エラーが発生したデータの再送信を指示する(S208)。次に、
送信指示部141は、送信部100によるデータの送信に用いられている通信経路において、送信エラーが発生したかどうかを判断する(S203)。
【0036】
また、ステップS203の判断において、送信エラーが発生していない場合(S203,NO)、送信指示部141は、再度、送信部100によりデータが送信されたかどうかを判断する(S201)。
【0037】
また、ステップS201の判断において、送信部100によりデータが送信されていない場合(S201,NO)送信指示部141は、再度、送信部100によりデータが送信されたかどうかを判断する(S201)。
【0038】
次に、本実施の形態に係るエラー処理の動作について説明する。図7は、本実施の形態に係るエラー処理の動作を示す。なお、このエラー処理は、スレーブとしての通信装置2の動作である。
【0039】
図7に示すように、判断部103は、通信装置1によりデータを受信する通信経路が切り替えられたかどうかを判断する(S301)。ここで判断部103は、例えば、前回アクセスされた通信経路とは別の通信経路へのアクセスを以って通信経路の切り替えを判断する。
【0040】
通信経路が切り替えられた場合(S301,YES)、実施の形態1において上述した比較処理が実行され(S302)、判断部103は、再度、通信装置1により通信経路が切り替えられたかどうかを判断する(S301)。
【0041】
一方、通信経路が切り替えられていない場合(S301,NO)、判断部103は、再度、2重化通信コントローラ14により通信経路が切り替えられたかどうかを判断する(S301)。
【0042】
上述したように、本実施の形態によれば、スレーブとしての通信装置2は、通信経路の切り替えをトリガとして、上述した比較処理を実行する。また、通信経路の切り替えは、送信エラーが発生した場合にマスタとしての通信装置1により実行される。なお、通信経路の切り替えは、通信装置2において受信エラーが発生した場合に実行されても構わない。これにより、比較処理が通信毎に実行されず、結果として通信装置2における処理負荷が低減される。
【符号の説明】
【0043】
1,2 通信装置
10 MPU
11 メモリ
12,13 インターフェースコントローラ
14 2重化通信コントローラ
100 送信部
101 受信部
102 比較部
103 判断部
104 データ制御部
105 処理部
110 前回アクセス記憶レジスタ
141 送信指示部
142 エラーカウント部
143 切り替え部

【特許請求の範囲】
【請求項1】
第1メモリに記憶されたデータを処理する通信装置であって、
受信されたデータを受信データとして記憶する第2メモリと、
前記受信データと、該受信データの記憶後に受信された新受信データとが同一であるか否かを判断する判断部と、
前記判断部により同一ではないと判断された場合、前記新受信データを前記第1メモリに記憶させるデータ制御部と
を備える通信装置。
【請求項2】
前記判断部は、データの受信においてエラーが発生した場合、前記受信データと前記新受信データとが同一であるか否かを判断することを特徴とする請求項1記載の通信装置。
【請求項3】
前記通信装置は、データの受信に係る複数の通信経路を有し、
前記判断部は、データを受信する通信経路が他の通信経路に切り替えられた場合、前記受信データと前記新受信データとが同一であるか否かを判断することを特徴とする請求項1記載の通信装置。
【請求項4】
第1メモリに記憶されたデータを処理する通信装置の制御方法であって、
受信されたデータを受信データとして前記通信装置の第2メモリに記憶させ、前記受信データと、該受信データの記憶後に受信された新受信データとが同一であるか否かを判断し、同一でないと判断した場合、前記新受信データを前記第1メモリに記憶させる制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−39929(P2011−39929A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2009−188466(P2009−188466)
【出願日】平成21年8月17日(2009.8.17)
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】