JP2017175243A - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
JP2017175243A
JP2017175243A JP2016056393A JP2016056393A JP2017175243A JP 2017175243 A JP2017175243 A JP 2017175243A JP 2016056393 A JP2016056393 A JP 2016056393A JP 2016056393 A JP2016056393 A JP 2016056393A JP 2017175243 A JP2017175243 A JP 2017175243A
Authority
JP
Japan
Prior art keywords
communication
terminal
unit
command
abnormal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016056393A
Other languages
English (en)
Inventor
智也 石崎
Tomoya Ishizaki
智也 石崎
弘樹 大沢
Hiroki Osawa
弘樹 大沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2016056393A priority Critical patent/JP2017175243A/ja
Priority to US15/217,244 priority patent/US20170279662A1/en
Publication of JP2017175243A publication Critical patent/JP2017175243A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

【課題】複数の通信端子の一部に異常が生じても通信を継続できる通信装置を提供する。
【解決手段】他の通信装置と接続される複数の通信端子と、上記通信端子を介して上記他の通信装置と通信を行う、通信に用いる通信端子の数が異なる複数の通信方式を有した通信部と、上記複数の通信端子のうち、通信に異常を生じる通信端子を特定する異常特定部と、上記複数の通信端子のうち、上記異常特定部で特定された通信端子を除く他の通信端子を用いる通信方式で上記通信部に通信を行わせる通信制御部と、を備える。
【選択図】図1

Description

本発明は、通信装置に関する。
従来、中央演算装置(CPU)と周辺デバイスとの間ではSPI方式のシリアル通信が行われており、これらのデバイスは通信装置の一種としての機能を有する。このSPI方式のシリアル通信回路としては、複数の通信端子を備えたものが知られており、それら複数の通信端子で同時に通信が行われることによって通信の高速化が図られている。
例えば、特許文献1には、SPI方式のシリアル通信回路であって、コマンドと同期識別コードとを1セットのデータとして受信するものが開示されている。
特開2014−086876号公報
しかしながら、従来は、複数の通信端子のうちの1つでも通信端子が、通信に異常を生じる異常状態である場合には、残りの通信端子が正常な状態であっても通信は継続できず、基板や回路の交換が必要となる。
本発明は、複数の通信端子のうちの一部の通信端子が異常であっても通信が継続可能な通信装置を提供することを目的とする。
請求項1に係る通信装置は、
他の通信装置と接続される複数の通信端子と、
上記通信端子を介して上記他の通信装置と通信を行う、通信に用いる通信端子が異なる複数の通信方式を有した通信部と、
上記複数の通信端子のうち、通信に異常を生じる通信端子を特定する異常特定部と、
上記複数の通信端子のうち、上記異常特定部で特定された通信端子を除く他の通信端子を用いる通信方式で上記通信部に通信を行わせる通信制御部と、
を備えたことを特徴とする。
請求項2に係る通信装置は、
上記異常特定部が、上記通信部に、上記複数の通信端子を用いて上記他の通信装置から既知のデータを受信させ、実際に受信されたデータと上記既知のデータとの相違箇所の通信を担っていた通信端子を異常と特定するものであることを特徴とする。
請求項3に係る通信装置は、
上記他の通信装置が、確認応答の求めに対し確認応答を返すものであり、
上記異常特定部が、上記他の通信装置に上記求めを送り、その求めに対する確認応答が返されなかった通信端子を異常と特定するものであることを特徴とする。
請求項4に係る通信装置は、
上記異常特定部が、上記通信部による通信に用いられていない通信端子を介してその通信中に上記求めを送り上記確認応答を得るものであることを特徴とする。
請求項1に係る通信装置によれば、複数の通信端子のうちの一部の通信端子が異常であっても通信を継続することができる。
請求項2に係る通信装置によれば、通常の通信機能を使って異常な通信端子を特定することができる。
請求項3に係る通信装置によれば、確認応答を用いない場合に較べて通信端子の正常異常を明確に区別することができる。
請求項4に係る通信装置によれば、通信時間内に通信端子の正常異常を確認することができる。
本発明の通信装置の第1実施形態が組み込まれた通信システムの概略構成図である。 図1に示す通信システムで用いられるコマンドを示す一覧表である。 通信異常時の動作を示すフローチャートである。 異常端子特定処理における処理動作を示すフローチャートの第1段階である。 異常端子特定処理における処理動作を示すフローチャートの第2段階である。 異常端子特定処理における処理動作を示すフローチャートの第3段階である。 異常端子特定処理における処理動作を示すフローチャートの第4段階である。 本発明の通信装置の第2実施形態が組み込まれた通信システムの概略構成図である。 異常端子判定シーケンスにおける動作手順を示すフローチャートである。 D1−D3端子判定シーケンスにおける動作手順を示すフローチャートである。 D1−D3端子判定シーケンスにおける動作タイミングの例を示すタイミングチャートである。
本発明の実施形態について、以下図面を参照して説明する。
図1は、本発明の通信装置の第1実施形態が組み込まれた通信システムの概略構成図である。
この通信システム1は、SPI通信を行うシステムである。通信システム1は、マスタ回路10とスレーブ回路20とを備え、マスタ回路10は、コマンド生成部11と、ビット配列変更部12と、異常端子特定部13と、複数(ここでは一例として4本)の通信端子14とを備えている。また、スレーブ回路20は、コマンド/アドレス判定部21と、ビット配列識別部22とを備えている。
マスタ回路10の通信端子14はスレーブ回路20に接続されており、マスタ回路10は通信端子14を介してスレーブ回路20とコマンドやデータの通信を行う。図1では1つのスレーブ回路20が示されているが、1つのマスタ回路10には複数のスレーブ回路20が接続されてもよい。
マスタ回路10はスレーブ回路20に対し、通信の同期をとるためのクロック信号CLKや、スレーブ回路20を選択するためのチップセレクト信号CSを送信する。
マスタ回路10のコマンド生成部11は、通信の指示を表したコマンドを生成してビット配列変更部12に入力するものである。ビット配列変更部12は、マスタ回路10が組み込まれているCPUなどのデバイス内部で他の回路と送受信データをやり取りし、その送受信データの通信を、4本の通信端子14のうち、コマンド生成部11から入力されたコマンドに応じた通信端子14に割り振るものである。従来のSPI規格ではコマンドおよびアドレスはData0端子を用いて通信を行うが、通信システム1では、ビット配列変更部12により、そのコマンド自体およびアドレスも、そのコマンドに応じた通信端子14を介してスレーブ回路20に送信する。図1ではスレーブ回路20のビット配列識別部22で4本の通信端子14いずれの端子からもコマンドおよびアドレスを受信可能としている。スレーブ回路は従来のSPIデバイスでもよい。以下の説明では、4本の通信端子14を互いに区別する必要がある場合には、D0端子、D1端子、D2端子、およびD3端子と称する。
マスタ回路10のコマンド生成部11とビット配列変更部12とを併せたものが、本発明にいう通信部の一例に相当し、4本の通信端子14が、本発明にいう複数の通信端子の一例に相当する。
ここで、通信システム1で用いられるコマンドについて説明する。
図2は、図1に示す通信システム1で用いられるコマンドを示す一覧表である。
図2に示す一覧表30には、読出し(Read;スレーブ回路20からマスタ回路10へのデータ転送)用のコマンドとしてNo.1からNo.15までのコマンドが記載されている。また、書込み(Write;マスタ回路10からスレーブ回路20へのデータ転送)用のコマンドとしてもNo.1からNo.15までのコマンドが記載されている。そして、互いに同一のNo.が付与されているReadコマンドとWriteコマンドは、通信に使用される通信端子14が同一となっている。
また、一覧表30に記載されたコマンドには、1本の通信端子14のみを用いた通信を指示する「Single」タイプのコマンドと、2本の通信端子14を用いた通信を指示する「Dual」タイプのコマンドと、3本の通信端子14を用いた通信を指示する「Triple」タイプのコマンドと、4本すべての通信端子14を用いた通信を指示する「Quad」タイプのコマンドが存在する。
従来のSPIデバイスではNo.1,5,15,のみを用いることができる。第1実施形態ではそれを拡張する。
図1に戻って説明を続ける。
マスタ回路10のコマンド生成部11は、上述したようにコマンドを生成してビット配列変更部12に入力し、そのコマンドはビット配列変更部12からスレーブ回路20に送信される。
スレーブ回路20では、マスタ回路10から送られてきたコマンドをコマンド/アドレス判定部21が判定することで、今回の通信で用いる通信端子14が特定される。そして、スレーブ回路20のビット配列識別部22は、コマンドに応じた通信端子14を用いて送受信データの通信を行い、その送受信データを、スレーブ回路20が組み込まれているデバイス内で他の回路とやり取りする。
マスタ回路10の異常端子特定部13は、コマンド生成部11およびビット配列変更部12による通信で通信異常が生じた場合に、4つの通信端子14のうち通信に異常を生じる異常状態になっている通信端子14を特定し、その特定した通信端子14を除いた他の通信端子14を使った通信を指示するものである。この異常端子特定部13が、本発明にいう異常特定部と通信制御部とを併せた一例に相当する。以下、通信異常時の動作について説明する。
図3は、通信異常時の動作を示すフローチャートである。
コマンド生成部11およびビット配列変更部12による通信で通信異常が検知されると(ステップS101)、異常端子特定部13が動作を開始して、4つの通信端子14のうち異常な通信端子14を特定する異常端子特定処理を実行する(ステップS102)。この異常端子特定処理では、異常端子特定部13がコマンド生成部11およびビット配列変更部12を制御して異常な通信端子14を特定する。また、この異常端子特定処理では、特定された異常な通信端子14を除いた通信端子14で正常な通信を行うための設定も行われる。そして、異常端子特定処理が終了すると、その設定の下で通信が再開される(ステップS103)。
図4〜図7は、異常端子特定処理における処理動作を示すフローチャートである。
図4〜図7には、1つのフローチャートが4つに分割されて示されている。即ち、図4のステップS230から図5のステップS233へと処理が繋がり、図5のステップS245から図6のステップS248へと処理が繋がり、図6のステップS254から図7のステップS257へと処理が繋がっている。
異常端子特定処理が開始されると、まず、異常端子特定部13がビット配列変更部12に対し、コマンドの送信端子としてD0端子を設定する(ステップS201)。次に、異常端子特定部13がコマンド生成部11に対し、No.15のコマンド(即ち「Quad」タイプのコマンド)による送受信を指示する(ステップS202)。そして、異常端子特定部13がビット配列変更部12に対し、値「FFFF(16進数表記)」を送信データとして指示する(ステップS203)。これらの指示を受けたコマンド生成部11およびビット配列変更部12により、D0端子からD3端子までの4つの通信端子14それぞれについて、2進数表記で「1111」を表す信号が送信され、同一信号の返信がスレーブ回路20に指示される。
この結果としてスレーブ回路20から返信されてきた値が、ステップS204,S211,S214,S221,S224,S227,S230で確認される。
まず、スレーブ回路20から返信されてきた値(受信データ)が「7777(16進数表記)」であった場合(ステップS204;Y)、2進数表記では「0111011101110111」である。「Quad」タイプのコマンドによる通信では、送受信データの下位桁から順に、D0端子、D1端子、D2端子、D3端子、そして再びD0端子、という順で各通信端子に信号が割り当てられている。このため、受信データが「7777(16進数表記)」であった場合はD3端子が通信を担っている信号が値「0」(即ち異常)を示していることになる(ステップS205)。そこで、異常端子特定部13はコマンド生成部11に対し、No.11のコマンド(即ち、D3端子以外を用いる「Triple」タイプのコマンド)による送受信を(仮設定として)指示する(ステップS206)。そして、異常端子特定部13がビット配列変更部12に対し、値「FFFF(16進数表記)」を送信データとした書込みと読出しを再度実行させる(ステップS207)。この結果、送信データと受信データが一致した場合(ステップS208;Y)には、今後の通信に仮設定のNo.のコマンドを用いることが決定され(ステップS209)、不一致であった場合(ステップS208;N)には、スレーブが従来のSPIデバイスであると判断し、今後の通信にNo.5のコマンド(即ち、D0端子、D1端子を用いる「Dual」タイプのコマンド)を用いることが決定される。
次に、スレーブ回路20から返信されてきた値(受信データ)が「BBBB(16進数表記)」であった場合(ステップS211;Y)、2進数表記では「1011101110111011」である。このため、D2端子が通信を担っている信号が値「0」(即ち異常)を示していることになる(ステップS212)。そこで、異常端子特定部13はコマンド生成部11に対し、No.12のコマンド(即ち、D2端子以外を用いる「Triple」タイプのコマンド)による送受信を(仮設定として)指示し(ステップS213)、その後、上述したステップS207以降の処理が実行される。この結果、仮設定のNo.12のコマンドか、あるいは上記No.5のコマンドが今後の通信のコマンドとして決定されることとなる。
次に、スレーブ回路20から返信されてきた値(受信データ)が「DDDD(16進数表記)」であった場合(ステップS214;Y)、2進数表記では「1101110111011101」である。このため、D1端子が通信を担っている信号が値「0」(即ち異常)を示していることになる(ステップS215)。そこで、異常端子特定部13はコマンド生成部11に対し、No.13のコマンド(即ち、D1端子以外を用いる「Triple」タイプのコマンド)による送受信を(仮設定として)指示する(ステップS216)。そして、異常端子特定部13がビット配列変更部12に対し、値「FFFF(16進数表記)」を送信データとした書込みと読出しを再度実行させる(ステップS217)。この結果、送信データと受信データが一致した場合(ステップS218;Y)には、今後の通信に仮設定のNo.のコマンドを用いることが決定され(ステップS219)、不一致であった場合(ステップS218;N)には、スレーブが従来のSPIデバイスであると判断し、今後の通信にNo.1のコマンド(即ち、D0端子を用いる「Single」タイプのコマンド)を用いることが決定される。
次に、スレーブ回路20から返信されてきた値(受信データ)が「5555(16進数表記)」であった場合(ステップS221;Y)、2進数表記では「0101010101010101」である。このため、D1端子とD3端子が通信を担っている信号が値「0」(即ち異常)を示していることになる(ステップS222)。そこで、異常端子特定部13はコマンド生成部11に対し、No.6のコマンド(即ち、D0端子、D2端子を用いる「Dual」タイプのコマンド)による送受信を(仮設定として)指示し(ステップS223)、その後、上述したステップS217以降の処理が実行される。この結果、仮設定のNo.6のコマンドか、あるいは上記No.1のコマンドが今後の通信のコマンドとして決定されることとなる。
次に、スレーブ回路20から返信されてきた値(受信データ)が「9999(16進数表記)」であった場合(ステップS224;Y)、2進数表記では「1001100110011001」である。このため、D1端子とD2端子が通信を担っている信号が値「0」(即ち異常)を示していることになる(ステップS225)。そこで、異常端子特定部13はコマンド生成部11に対し、No.7のコマンド(即ち、D0端子、D3端子を用いる「Dual」タイプのコマンド)による送受信を(仮設定として)指示し(ステップS226)、その後、上述したステップS217以降の処理が実行される。この結果、仮設定のNo.7のコマンドか、あるいは上記No.1のコマンドが今後の通信のコマンドとして決定されることとなる。
次に、スレーブ回路20から返信されてきた値(受信データ)が「3333(16進数表記)」であった場合(ステップS227;Y)、2進数表記では「0011001100110011」である。このため、D2端子とD3端子が通信を担っている信号が値「0」(即ち異常)を示していることになる(ステップS228)。そこで、異常端子特定部13はコマンド生成部11に対し、上記No.5のコマンドを、今後の通信のコマンドとして決定して指示する(ステップS229)。
次に、スレーブ回路20から返信されてきた値(受信データ)が「1111(16進数表記)」であった場合(ステップS230;Y)、2進数表記では「0001000100010001」である。このため、D1端子からD3端子までの3つの通信端子14が通信を担っている信号がいずれも値「0」(即ち異常)を示していることになる(ステップS231)。そこで、異常端子特定部13はコマンド生成部11に対し、上記No.1のコマンドを、今後の通信のコマンドとして決定して指示する(ステップS229)。
上述したステップS204,S211,S214,S221,S224,S227,S230における確認で、受信データが上記値のいずれとも一致しなかった場合(ステップS230;N)は、上述したステップS201でコマンドの送信端子として設定されたD0端子に異常が生じていると考えられる。そこで、処理手順は図5のステップS233に進み、異常端子特定部13がビット配列変更部12に対し、コマンドの送信端子としてD1端子を設定する。次に、異常端子特定部13がコマンド生成部11に対し、No.14のコマンド(即ち、D0端子以外を用いる「Triple」タイプのコマンド)による送受信を指示する(ステップS234)。そして、異常端子特定部13がビット配列変更部12に対し、値「FFFF(16進数表記)」を送信データとした書込みと読出しを指示する(ステップS235)。
この結果としてスレーブ回路20から返信されてきた値が、ステップS236,S239,S242,S245で確認される。
まず、スレーブ回路20から返信されてきた値(受信データ)が「FFFF(16進数表記)」であった場合(ステップS236;Y)、受信データが送信データと一致したのでD0端子のみが異常であったと判断される(ステップS237)。そこで、異常端子特定部13はコマンド生成部11に対し、上記No.14のコマンドを、今後の通信のコマンドとして決定して指示する(ステップS238)。
次に、スレーブ回路20から返信されてきた値(受信データ)が「B6DB(16進数表記)」であった場合(ステップS239;Y)、2進数表記では「1011011011011011」である。上記No.14のコマンドによる通信では、送受信データの下位桁から順に、D1端子、D2端子、D3端子、そして再びD1端子、という順で各通信端子に信号が割り当てられている。このため、受信データが「B6DB(16進数表記)」であった場合は、D3端子が通信を担っている信号が値「0」(即ち異常)を示していることになり、結局D0端子とD3端子が異常であると判断される(ステップS240)。そこで、異常端子特定部13はコマンド生成部11に対し、No.8のコマンド(即ち、D1端子、D2端子を用いる「Dual」タイプのコマンド)を、今後の通信のコマンドとして決定して指示する(ステップS241)。
次に、スレーブ回路20から返信されてきた値(受信データ)が「DB6D(16進数表記)」であった場合(ステップS242;Y)、2進数表記では「1101101101101101」である。このため、D2端子が通信を担っている信号が値「0」(即ち異常)を示していることになり、結局D0端子とD2端子が異常であると判断される(ステップS243)。そこで、異常端子特定部13はコマンド生成部11に対し、No.9のコマンド(即ち、D1端子、D3端子を用いる「Dual」タイプのコマンド)を、今後の通信のコマンドとして決定して指示する(ステップS244)。
次に、スレーブ回路20から返信されてきた値(受信データ)が「9249(16進数表記)」であった場合(ステップS245;Y)、2進数表記では「1001001001001001」である。このため、D2端子とD3端子が通信を担っている信号が値「0」(即ち異常)を示していることになり、結局D0端子、D2端子、およびD3端子が異常であると判断される(ステップS246)。そこで、異常端子特定部13はコマンド生成部11に対し、No.2のコマンド(即ち、D1端子を用いる「Single」タイプのコマンド)を、今後の通信のコマンドとして決定して指示する(ステップS247)。
上述したステップS236,S239,S242,S245における確認で、受信データが上記値のいずれとも一致しなかった場合(ステップS245;N)は、D0端子とD1端子に異常が生じていると考えられる。そこで、処理手順は図6のステップS248に進み、異常端子特定部13がビット配列変更部12に対し、コマンドの送信端子としてD2端子を設定する。次に、異常端子特定部13がコマンド生成部11に対し、No.10のコマンド(即ち、D2端子とD3端子を用いる「Dual」タイプのコマンド)による送受信を指示する(ステップS249)。そして、異常端子特定部13がビット配列変更部12に対し、値「FFFF(16進数表記)」を送信データとした書込みと読出しを指示する(ステップS250)。
この結果としてスレーブ回路20から返信されてきた値が、ステップS251,S254で確認される。
まず、スレーブ回路20から返信されてきた値(受信データ)が、「FFFF(16進数表記)」であった場合(ステップS251;Y)、受信データが送信データと一致したのでD0端子およびD1端子が異常であったと判断される(ステップS252)。そこで、異常端子特定部13はコマンド生成部11に対し、上記No.10のコマンドを、今後の通信のコマンドとして決定して指示する(ステップS253)。
また、スレーブ回路20から返信されてきた値(受信データ)が、「5555(16進数表記)」であった場合(ステップS254;Y)は、2進数表記では「0101010101010101」である。このため、D3端子が通信を担っている信号が値「0」(即ち異常)を示していることになり、結局D0端子、D1端子、およびD3端子が異常であると判断される(ステップS255)。そこで、異常端子特定部13はコマンド生成部11に対し、No.3のコマンド(即ち、D2端子を用いる「Single」タイプのコマンド)を、今後の通信のコマンドとして決定して指示する(ステップS256)。
上述したステップS251,S254における確認で、受信データが上記値のいずれとも一致しなかった場合(ステップS254;N)は、D0端子、D1端子、およびD2端子までの通信端子に異常が生じていると考えられる。そこで、処理手順は図7のステップS257に進み、異常端子特定部13がビット配列変更部12に対し、コマンドの送信端子としてD3端子を設定する。次に、異常端子特定部13がコマンド生成部11に対し、No.4のコマンド(即ち、D3端子を用いる「Single」タイプのコマンド)による送受信を指示する(ステップS258)。そして、異常端子特定部13がビット配列変更部12に対し、値「FFFF(16進数表記)」を送信データとした書込みと読出しを指示する(ステップS259)。
この結果としてスレーブ回路20から返信されてきた値(受信データ)が、「FFFF(16進数表記)」であった場合(ステップS260;Y)、受信データが送信データと一致したのでD0端子を除いたD0端子からD2端子までが異常であると判断される(ステップS261)。そこで、異常端子特定部13はコマンド生成部11に対し、上記No.4のコマンドを、今後の通信のコマンドとして決定して指示する(ステップS262)。
一方、スレーブ回路20から返信されてきた値(受信データ)が、「FFFF(16進数表記)」でなかった場合(ステップS260;N)には、4つの通信端子14全てが異常である、もしくは、スレーブ回路がコマンドの送信端子としてD0端子しか設定できない従来デバイスであると考えられるので、基板を交換するべき旨のエラー通知が異常端子特定部13から出力される(ステップS263)。
このような異常端子特定処理により、4つの通信端子14のうち異常な通信端子14が特定されるとともに、その異常な通信端子14を除いた他の通信端子14を用いた通信が設定されて通信が継続される。また、第1実施形態の場合、スレーブ回路の構造が従来通りであってもマスター回路で識別が可能であり応用範囲が広い。なお、第1実施形態ではマスタ回路10内に異常端子特定部13が設けられているものとして説明したが、異常端子特定部13は、既存のマスタ回路10に外付けされたものと観念してもよい。
次に、第2実施形態について説明する。
図8は、本発明の通信装置の第2実施形態が組み込まれた通信システムの概略構成図である。
この通信システム2も、SPI通信を行うシステムである。通信システム2は、マスタ回路40とスレーブ回路50とを備え、マスタ回路40は、データ送受信部41と、コマンド生成部42と、発行ライン判定部43と、確認コマンド生成部44と、複数(ここでは一例として4本)の通信端子45とセレクタ46とを備えている。また、スレーブ回路50は、データ送受信部51と、通常コマンド検出部52と、確認応答部53とを備えている。
マスタ回路40の通信端子45はスレーブ回路50に接続されており、マスタ回路40は通信端子45を介してスレーブ回路50とコマンドやデータの通信を行う。図8でも1つのスレーブ回路50が示されているが、1つのマスタ回路40には複数のスレーブ回路50が接続されてもよい。また、マスタ回路40に接続されるスレーブ回路としては、図1に示したスレーブ回路20も接続され得る。
第2実施形態でも、マスタ回路40はスレーブ回路50に対し、通信の同期をとるためのクロック信号CLKや、スレーブ回路50を選択するためのチップセレクト信号CSを送信する。
マスタ回路40のコマンド生成部42は、通信を指示する命令を受けてコマンドを生成し、そのコマンドを、データ送受信部41に入力するとともに通信端子45のうちD0端子を介してスレーブ回路50にも送信する。
マスタ回路40のデータ送受信部41は、マスタ回路40が組み込まれているCPUなどのデバイス内部で他の回路と送受信データをやり取りし、その送受信データの通信を、4本の通信端子45のうち、コマンド生成部41から入力されたコマンドに応じた通信端子45に割り振る。
図8の通信システム2では、通信端子の異常を確認するためのコマンドとして、スレーブ回路50に確認応答を求める確認コマンドが、通常の通信用のコマンドとは別に用意されている。
マスタ回路40の発行ライン判定部43は、コマンド生成部42によって生成される通常のコマンドを確認することで、通常の通信で使用される通信端子45を判定する。そして、確認コマンドを発行するための通信端子45として、通常の通信で使用されていない通信端子45を決定し、セレクタ46にその決定された通信端子45を選択させる。
確認コマンド生成部44は、発行ライン判定部43によって決定されセレクタ46によって選択された通信端子45を介してスレーブ回路50に確認コマンドを送信する。また、確認コマンド生成部44は、その確認コマンドに対してスレーブ回路50から確認応答が得られたか否かの判定も行い、確認応答が得られない場合にはエラー通知を出力する。
スレーブ回路50の通常コマンド検出部52は、マスタ回路40から受信した通常の通信用のコマンドを検出することで、今回の通信で用いる通信端子45を特定し、データ送受信部51に通知する。
スレーブ回路50のデータ送受信部51は、通常コマンド検出部52から通知された通信端子45を用いて送受信データの通信を行い、その送受信データを、スレーブ回路50が組み込まれているデバイス内で他の回路とやり取りする。
スレーブ回路50の確認応答部53は、マスタ回路40から送信されてきた確認コマンドを検出し、その確認コマンドに対し確認応答を返信する。
マスタ回路40のコマンド生成部42とデータ送受信部41とを併せたものが、本発明にいう通信部の一例に相当し、4本の通信端子45が、本発明にいう複数の通信端子の一例に相当し、確認コマンド生成部44が、本発明にいう異常特定部と通信制御部とを併せた一例に相当する。
次に、図8の通信システム2における、異常な通信端子45を特定する動作手順について説明する。以下の説明でも、4本の通信端子45を互いに区別する必要がある場合には、D0端子、D1端子、D2端子、およびD3端子と称する。
図8の通信システム2では、上述したようにスレーブ回路として、図8に示すタイプのスレーブ回路50と確認応答部53を持たない従来デバイスが接続され得る。このため、異常な通信端子45を特定するために、コマンド生成部42とデータ送受信部41による「異常端子判定シーケンス」と、発行ライン判定部43と確認コマンド生成部44による「D1−D3端子判定シーケンス」が実行されて、異常端子の特定とともに、スレーブ回路のタイプ判定も行われる。
図9は、異常端子判定シーケンスにおける動作手順を示すフローチャートである。
異常端子判定シーケンスが開始されると、コマンド生成部42によって、D0端子を用いた「Single」タイプの書込みを指示する通常のコマンドが生成され、送信データとして値「0xF0(16進数表記)」が指定される(ステップS301)。その後、データ送受信部41によるデータ送信(即ちスレーブ回路50への書込み)の完了待ちとなる(ステップS302)。
書込みが完了するとコマンド生成部42によって「Quad」タイプの読出しを指示する通常のコマンドが生成され(ステップS303)、データ送受信部41によるデータ受信(即ちスレーブ回路50からの読出し)の完了待ちとなる(ステップS304)。
このように異常端子判定シーケンスで通常通信によるデータの送受信が行われている間に、並行して、「D1−D3端子判定シーケンス」が実行される。
図10は、D1−D3端子判定シーケンスにおける動作手順を示すフローチャートである。
D1−D3端子判定シーケンスの開始に当たって、発行ライン判定部43により、図9のステップS301で生成されたコマンドで指定されている通信端子がD0端子のみであることが判定される。そして、D1−D3端子判定シーケンスでは、D1端子からD3端子までの3本の通信端子について、図9のステップS301〜ステップS304における送受信と並行して、以下説明する手順で異常確認が行われる。
先ず、発行ライン判定部43の指示に従ってセレクタ46によりD1端子が選択され、確認コマンド生成部44によってD1端子に確認コマンドが発行される(ステップS401)。そして、確認コマンド生成部44により、D1端子から確認応答が返信されてきたか否かが判定され(ステップS402)、確認応答がない場合(ステップS402;N)は、D1端子は異常と判断される(ステップS403)。このように確認応答が用いられることにより、通信端子が異常であるか正常であるかが、単純な処理で正確に判定される。
次に、発行ライン判定部43の指示に従ってセレクタ46によりD2端子が選択され、確認コマンド生成部44によってD2端子に確認コマンドが発行される(ステップS404)。そして、確認コマンド生成部44により、D2端子から確認応答が返信されてきたか否かが判定され(ステップS405)、確認応答がない場合(ステップS405;N)は、D2端子は異常と判断される(ステップS406)。
次に、発行ライン判定部43の指示に従ってセレクタ46によりD3端子が選択され、確認コマンド生成部44によってD3端子に確認コマンドが発行される(ステップS407)。そして、確認コマンド生成部44により、D3端子から確認応答が返信されてきたか否かが判定され(ステップS408)、確認応答がない場合(ステップS408;N)は、D3端子は異常と判断される(ステップS409)。
D1−D3端子判定シーケンスで得られた各通信端子の異常・正常の判定結果は、異常端子判定シーケンスで用いられるためにコマンド生成部42へと送られる。
図11は、D1−D3端子判定シーケンスにおける動作タイミングの例を示すタイミングチャートである。
図11には、上述したクロック信号CLKとチップセレクト信号CSが示されており、更に、D0端子からD3端子のそれぞれにおける信号Data0、Data1、Data2、Data3が示されている。
D0端子では、マスタ回路40のコマンド生成部42およびデータ送受信部41による通常の通信におけるコマンド61と、読み書きのアドレス62と、データ63がやり取りされる。ここに示す例では、D0端子を用いた「Single」タイプのコマンドが用いられているので、D1端子からD3端子までは通常の通信には用いられていない。このため、D1端子からD3端子までの3つの通信端子では、D0端子におけるコマンド61、アドレス62、およびデータ63のやり取りと並行して、確認コマンド65と確認応答66のやり取りが行われている。このように、通信端子の異常確認用のコマンドや応答が通常の通信と並行して行われることにより、確認時間を余分に用意する必要が無く、効率がよい。
以下、図9に戻って説明を続ける。
図9のステップS301〜ステップS304における送受信が完了すると、D1−D3端子判定シーケンスで得られた各通信端子の異常・正常の判定結果がコマンド生成部42によって取得され、その判定結果が、D1端子からD3端子までの3本の通信端子すべてについて異常を表しているか否かが判定される(ステップS305)。そして、少なくとも1つの通信端子について正常判定が得られている場合(ステップS305;N)は、スレーブ回路が図8に示すタイプのスレーブ回路50であることが分かる。この場合は、D1−D3端子判定シーケンスで判定されていないD0端子について正常か異常かを確認するために、上記ステップS104で得られた読出しデータが値「0xFF(16進数表記)」若しくは値「0x00(16進数表記)」であるかが判定される(ステップS306)。そして、読出しデータが値「0xFF(16進数表記)」でも値「0x00(16進数表記)」でもなかった場合(ステップS306;N)は、D0端子は正常と考えられるので、D1−D3端子判定シーケンスで異常と判定された通信端子を除いた通信端子を用いるコマンドが上記第1実施形態と同様に選択される(ステップS307)。この結果、一部の通信端子が異常であっても正常な通信端子によって通信が継続されることとなる。
一方、読出しデータが値「0xFF(16進数表記)」若しくは値「0x00(16進数表記)」であった場合(ステップS306;Y)には、D0端子も異常と判断される(ステップS308)。この結果、D1−D3端子判定シーケンスで異常と判定された通信端子とD0端子を除いた通信端子を用いるコマンドがステップS307で選択される。
D1−D3端子判定シーケンスで得られた各通信端子の異常・正常の判定結果が、D1端子からD3端子までの3本の通信端子すべてについて異常を表している場合は(ステップS305;Y)、スレーブ回路が確認応答部53を持たない従来デバイスである可能性がある。そこで、上記ステップS304で得られた読出しデータが値「0xF0(16進数表記)」であるかが判定される(ステップS309)。読出しデータが値「0xF0(16進数表記)」である場合(ステップS309;Y)は、書込みデータと同じ読出しデータが得られたことになる。そこで、スレーブ回路が確認応答部53を持たない従来デバイスであり、かつ、図2に示す全ての通常コマンドが使用可能と決定される。
一方、読出しデータが値「0xF0(16進数表記)」でなかった場合(ステップS309;N)は、読出しデータが値「0x30(図9も)(16進数表記)」若しくは値「0xFC(図9も)(16進数表記)」であるかが判定される(ステップS311)。そして、読出しデータが値「0x30(16進数表記)」若しくは値「0xFC(16進数表記)」である場合(ステップS311;Y)は、スレーブ回路が確認応答部53を持たない従来デバイスであり、かつD2端子もしくはD3端子が異常であると判断され、「Dual」タイプと「Single」タイプのコマンドのみが使用可能と決定される(ステップS312)。なお、具体的なコマンドは、異常な通信端子に応じて第1実施形態と同様に決定されるがここでは詳細説明は省略する。
読出しデータが値「0x30(16進数表記)」と値「0xFC(16進数表記)」のいずれでもなかった場合には、正常な通信端子が判断できないため、基板を交換するべき旨のエラー通知が確認コマンド生成部44から出力される(ステップS313)。
以上説明した異常端子判定シーケンスとD1−D3端子判定シーケンスが一度実行されると、異常端子とスレーブ回路のタイプが特定されるので、スレーブ回路のタイプが既存のタイプであった場合は、以後は異常端子判定シーケンスとD1−D3端子判定シーケンスを実行する必要は無い。スレーブ回路のタイプが図8に示すタイプのスレーブ回路50であった場合には、異常端子判定シーケンスとD1−D3端子判定シーケンスを一定周期で繰り返し実行することによって通信端子の経時的な故障が監視される。
1……通信システム、10……マスタ回路、11……コマンド生成部、12……ビット配列変更部、13……異常端子特定部、14……通信端子、20……スレーブ回路、21……コマンド/アドレス判定部、22……ビット配列識別部、40……マスタ回路、41……データ送受信部、42……コマンド生成部、43……発行ライン判定部、44……確認コマンド生成部、45……複数の通信端子、50……スレーブ回路、51……データ送受信部、52……通常コマンド検出部、53……確認応答部、

Claims (4)

  1. 他の通信装置と接続される複数の通信端子と、
    前記通信端子を介して前記他の通信装置と通信を行う、通信に用いる通信端子が異なる複数の通信方式を有した通信部と、
    前記複数の通信端子のうち、通信に異常を生じる通信端子を特定する異常特定部と、
    前記複数の通信端子のうち、前記異常特定部で特定された通信端子を除く他の通信端子を用いる通信方式で前記通信部に通信を行わせる通信制御部と、
    を備えたことを特徴とする通信装置。
  2. 前記異常特定部が、前記通信部に、前記複数の通信端子を用いて前記他の通信装置から既知のデータを受信させ、実際に受信されたデータと前記既知のデータとの相違箇所の通信を担っていた通信端子を異常と特定するものであることを特徴とする請求項1記載の通信装置。
  3. 前記他の通信装置が、確認応答の求めに対し確認応答を返すものであり、
    前記異常特定部が、前記他の通信装置に前記求めを送り、その求めに対する確認応答が返されなかった通信端子を異常と特定するものであることを特徴とする請求項1記載の通信装置。
  4. 前記異常特定部が、前記通信部による通信に用いられていない通信端子を介して該通信中に前記求めを送り前記確認応答を得るものであることを特徴とする請求項3記載の通信装置。
JP2016056393A 2016-03-22 2016-03-22 通信装置 Pending JP2017175243A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016056393A JP2017175243A (ja) 2016-03-22 2016-03-22 通信装置
US15/217,244 US20170279662A1 (en) 2016-03-22 2016-07-22 Communication device and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016056393A JP2017175243A (ja) 2016-03-22 2016-03-22 通信装置

Publications (1)

Publication Number Publication Date
JP2017175243A true JP2017175243A (ja) 2017-09-28

Family

ID=59898830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016056393A Pending JP2017175243A (ja) 2016-03-22 2016-03-22 通信装置

Country Status (2)

Country Link
US (1) US20170279662A1 (ja)
JP (1) JP2017175243A (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04207242A (ja) * 1990-11-29 1992-07-29 Toshiba Corp データ伝送装置
JPH08279809A (ja) * 1995-04-07 1996-10-22 Fujitsu Ltd ネットワーク監視システム
JP2000013375A (ja) * 1998-06-24 2000-01-14 Toshiba Corp Stm回線を含むatmネットワークシステムの保守方法
JP2003273957A (ja) * 2002-03-15 2003-09-26 Ando Electric Co Ltd イーサネットコンバータにおける帯域速度の自動設定システム及び自動設定方法
JP2004064414A (ja) * 2002-07-29 2004-02-26 Matsushita Electric Ind Co Ltd データ送受信システム,データ送受信装置,故障監視装置,データ通信線,およびデータ送受信システムにおける故障監視方法
JP2004134879A (ja) * 2002-10-08 2004-04-30 Hitachi Information Technology Co Ltd ルータ装置
JP2004336639A (ja) * 2003-05-12 2004-11-25 Nec Corp 多重化装置及びその障害箇所特定方法
JP2006253852A (ja) * 2005-03-09 2006-09-21 Hitachi Ltd 可変通信容量データ伝送装置及びデータ伝送装置
JP2014241493A (ja) * 2013-06-11 2014-12-25 キヤノン株式会社 送信装置、送信方法及びプログラム
US20150278043A1 (en) * 2014-03-28 2015-10-01 Fujitsu Limited Information processing apparatus, parallel computer system, and method of controlling parallel computer system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US42808A (en) * 1864-05-17 Improvement in fanning-mills
US7539760B1 (en) * 2003-09-12 2009-05-26 Astute Networks, Inc. System and method for facilitating failover of stateful connections
JP6269250B2 (ja) * 2014-03-28 2018-01-31 富士通株式会社 データ転送制御装置、データ転送制御方法、及び、プログラム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04207242A (ja) * 1990-11-29 1992-07-29 Toshiba Corp データ伝送装置
JPH08279809A (ja) * 1995-04-07 1996-10-22 Fujitsu Ltd ネットワーク監視システム
JP2000013375A (ja) * 1998-06-24 2000-01-14 Toshiba Corp Stm回線を含むatmネットワークシステムの保守方法
JP2003273957A (ja) * 2002-03-15 2003-09-26 Ando Electric Co Ltd イーサネットコンバータにおける帯域速度の自動設定システム及び自動設定方法
JP2004064414A (ja) * 2002-07-29 2004-02-26 Matsushita Electric Ind Co Ltd データ送受信システム,データ送受信装置,故障監視装置,データ通信線,およびデータ送受信システムにおける故障監視方法
JP2004134879A (ja) * 2002-10-08 2004-04-30 Hitachi Information Technology Co Ltd ルータ装置
JP2004336639A (ja) * 2003-05-12 2004-11-25 Nec Corp 多重化装置及びその障害箇所特定方法
JP2006253852A (ja) * 2005-03-09 2006-09-21 Hitachi Ltd 可変通信容量データ伝送装置及びデータ伝送装置
JP2014241493A (ja) * 2013-06-11 2014-12-25 キヤノン株式会社 送信装置、送信方法及びプログラム
US20150278043A1 (en) * 2014-03-28 2015-10-01 Fujitsu Limited Information processing apparatus, parallel computer system, and method of controlling parallel computer system

Also Published As

Publication number Publication date
US20170279662A1 (en) 2017-09-28

Similar Documents

Publication Publication Date Title
JP4947175B2 (ja) エンジニアリングツール
EP3076250B1 (en) Method and system for defining slot addresses
KR100729692B1 (ko) 마스터 노드 및 슬레이브 노드를 갖는 전자 장치 시스템
EP2927759B1 (en) Programmable logic controller and programming tool for programmable logic controller
JP2008099482A (ja) 組電池ブロックならびに電池パックシステムおよびそのアドレス設定方法
CN105808407A (zh) 管理设备的方法、设备和设备管理控制器
CN107734082B (zh) 一种地址分配方法及系统
US10277719B2 (en) RTU serial communication mechanism
WO2019026642A1 (en) COMMUNICATION APPARATUS, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM
JP5792866B2 (ja) プロフィバスdpのマスタ装置
CN108491337B (zh) 一种实现群组控制的方法
JP4527650B2 (ja) 物理配線制御装置、物理配線制御方法および物理配線制御プログラム
CN103346943B (zh) 数据传输方法及系统
JP2019032626A (ja) 通信装置、通信方法、プログラム、および、通信システム
CN110401586B (zh) 一种总线通信方法、装置、设备及可读存储介质
JP2017175243A (ja) 通信装置
JP6762546B1 (ja) シリアル通信方法及びシリアル通信システム
US20080126497A1 (en) Controller Apparatus with Shared Expansion Connection and Method for the same
KR102244297B1 (ko) Hart 패스-스루 인터페이스를 포함하는 plc 아날로그 모듈
CN104202443A (zh) 对ip地址冲突进行容灾处理的方法和装置、以及相应设备
US9081743B2 (en) Communication system and communicaton method
CN114443545B (zh) 一种接口拓展方法、装置、管理系统和相关设备
CN111830895B (zh) 基于plc阵列的数据调度方法、介质、plc设备及调度系统
WO2012105277A1 (ja) エンジニアリングツール、及びプログラマブルコントローラ
JP2020027414A (ja) 半導体装置および半導体システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200331