(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-07
(45)【発行日】2022-02-16
(54)【発明の名称】信号制御回路
(51)【国際特許分類】
G06F 13/36 20060101AFI20220208BHJP
G06F 13/38 20060101ALI20220208BHJP
G06F 11/30 20060101ALI20220208BHJP
G06F 11/34 20060101ALI20220208BHJP
【FI】
G06F13/36 310E
G06F13/38 350
G06F11/30 140K
G06F11/34 180
(21)【出願番号】P 2018088249
(22)【出願日】2018-05-01
【審査請求日】2021-02-05
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】本島 大地
(72)【発明者】
【氏名】岡部 基彦
【審査官】田名網 忠雄
(56)【参考文献】
【文献】特開2005-301640(JP,A)
【文献】特開2015-187833(JP,A)
【文献】特開2018-005453(JP,A)
【文献】特開2014-142820(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/10-13/14
G06F 13/20-13/42
G06F 11/30-13/34
(57)【特許請求の範囲】
【請求項1】
高速シリアルバス通信によって外部装置からシリアルデータを受信し、かつ前記シリアルデータをパラレルデータに変換する高速シリアルバスI/F回路と、
前記パラレルデー
タを、外部メモリへの保存用のコモンデータに変換するデータ変換回路と、
前記パラレルデー
タを、前記外部メモリへの保存用のトレースデータに変換するトレース回路と、
前記外部メモリのコモンメモリ領域に対して前記コモンデータを保存し、前記外部メモリの前記コモンメモリ領域とは異なるトレースメモリ領域に対して前記トレースデータを保存し、
前記トレース回路から
前記トレースデータを出力しないことを示すヌルが入力された場合、前記トレースデータの前記トレースメモリ領域への保存を行わないメモリ調停回路と、
を備える信号制御回路。
【請求項2】
前記トレース回路は、前記トレースデータを記憶するリングバッファを有し、前記パラレルデータに異常が検出された場合、前記リングバッファに記憶される前記トレースデータのうち、異常が検出された前記パラレルデータから変換した前記トレースデータおよび当該トレースデータの前後の前記トレースデータを前記メモリ調停回路に出力し、前記パラレルデータに異常が検出されなかった場合、前記メモリ調停回路に
前記ヌルを出力する請求項1に記載の信号制御回路。
【請求項3】
前記トレース回路は、最後に前記シリアルデータから変換された前記パラレルデータと1フレーム前の前記パラレルデータとを比較してその差異を検出し、前記差異が検出された場合、前記トレースデータを前記メモリ調停回路に出力し、前記差異が検出されなかった場合、前記メモリ調停回路に
前記ヌルを出力する請求項1に記載の信号制御回路。
【請求項4】
前記トレース回路は、単位時間毎に、前記コモンメモリ領域に対する前記コモンデータの保存によるアクセス時間の和を算出し、前記アクセス時間の和が所定閾値以下である場合、前記トレースデータを前記メモリ調停回路に出力し、前記アクセス時間の和が前記所定閾値より長い場合、前記メモリ調停回路に
前記ヌルを出力する請求項1に記載の信号制御回路。
【請求項5】
前記トレース回路は、
前記トレースデータを記憶するリングバッファを有し、前記パラレルデータに異常が検出された場合、前記リングバッファに記憶される前記トレースデータのうち、異常が検出された前記パラレルデータから変換した前記トレースデータおよび当該トレースデータの前後の前記トレースデータを前記メモリ調停回路に出力し、前記パラレルデータに異常が検出されなかった場合、前記メモリ調停回路に
前記ヌルを出力する第1出力方法と、
最後に前記シリアルデータから変換された前記パラレルデータと1フレーム前の前記パラレルデータとを比較してその差異を検出し、前記差異が検出された場合、前記トレースデータを前記メモリ調停回路に出力し、前記差異が検出されなかった場合、前記メモリ調停回路に
前記ヌルを出力する第2出力方法と、
単位時間毎に、前記コモンメモリ領域に対する前記コモンデータの保存によるアクセス時間の和を算出し、前記アクセス時間の和が所定閾値以下である場合、前記トレースデータを前記メモリ調停回路に出力し、前記アクセス時間の和が前記所定閾値より長い場合、前記メモリ調停回路に
前記ヌルを出力する第3出力方法と、
のうちユーザにより選択された出力方法に従って前記トレースデータを前記メモリ調停回路に出力する請求項1に記載の信号制御回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、信号制御回路に関する。
【背景技術】
【0002】
プラントや製造設備の状態監視や自動制御に用いられる産業用制御ネットワークには、高速バスインタフェースを用いた高速データ伝送技術が適用されている。また、高速データ転送技術の中でも、大容量でかつ高速伝送が可能な高速シリアルバス通信は、産業用制御ネットワークにおいて、大量のデータの転送を実現可能とする。
【0003】
一方で、高速シリアルバス通信によって転送されるデータである高速シリアルバス信号の内容を解析するためには、その信号帯域に対応した高精度のシグナルアナライザを、産業用制御ネットワーク内の伝送装置に搭載する必要がある。そして、シグナルアナライザを伝送装置に搭載する場合、シグナルアナライザを接続するための解析用ピンを含む回路設計を行う必要があり、当該伝送装置内の基板面積が圧迫される。そこで、伝送装置内に高速シリアルバス信号を入力する信号制御回路内に、高速シリアルバス信号を監視する信号監視回路を設けるバストレース監視手法が開発されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2011-60126号公報
【文献】特開2005-284557号公報
【文献】特開2004-94354号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、高速シリアルバス信号をサイクリック伝送する伝送装置にバストレース監視手法を適用する場合、伝送装置には、産業用制御ネットワーク内の伝送装置が共有するデータを記憶するコモンメモリ領域と、当該コモンメモリ領域をトレースしたトレースメモリ領域と、が必要となる。また、コモンメモリ領域とトレースメモリ領域は、部品コストや信号線の増加を防ぐため、同一のメモリ内に設けられる。しかしながら、コモンメモリ領域とトレースメモリ領域とを同一のメモリ内に設けた場合、コモンメモリ領域に対するデータの保存とトレースメモリ領域に対するデータの保存とが競合して、高速シリアルバス通信によるデータの転送機能が低下する場合がある。
【課題を解決するための手段】
【0006】
実施形態の信号制御回路は、高速シリアルバスI/F回路と、データ変換回路と、トレース回路と、メモリ調停回路と、を備える。高速シリアルバスI/F回路は、高速シリアルバス通信によって外部装置からシリアルデータを受信し、かつシリアルデータをパラレルデータに変換する。データ変換回路は、パラレルデータのうち一方を、外部メモリへの保存用のコモンデータに変換する。トレース回路は、パラレルデータのうち他方を、外部メモリへの保存用のトレースデータに変換する。メモリ調停回路は、外部メモリのコモンメモリ領域に対してコモンデータを保存し、外部メモリのコモンメモリ領域とは異なるトレースメモリ領域に対してトレースデータを保存し、外部からヌルが入力された場合、トレースデータのトレースメモリ領域への保存を行わない。
【図面の簡単な説明】
【0007】
【
図1】
図1は、第1の実施形態にかかる信号制御回路を適用した伝送局の構成の一例を示すブロック図である。
【
図2】
図2は、第1の実施形態にかかる信号制御回路の高速シリアルバスI/F回路から出力されるパラレルデータのデータ構成の一例を示す図である。
【
図3】
図3は、第1の実施形態にかかる信号制御回路の高速シリアルバスI/F回路から出力されるパラレルデータが有するヘッダ部の共通部のデータ構成の一例を示す図である。
【
図4】
図4は、第1の実施の形態にかかる信号制御回路によるトレースメモリ領域へのトレースデータの保存処理の流れの一例を示すフローチャートである。
【
図5】
図5は、第2の実施形態にかかる信号制御回路を適用した伝送局の構成の一例を示すブロック図である。
【
図6】
図6は、第2の実施の形態にかかる信号制御回路によるトレースメモリ領域へのトレースデータの保存処理の流れの一例を示すフローチャートである。
【
図7】
図7は、第3の実施形態にかかる信号制御回路を適用した伝送局の構成の一例を示すブロック図である。
【
図8】
図8は、第3の実施の形態にかかる信号制御回路によるトレースメモリ領域へのトレースデータの保存処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、添付の図面を用いて、本実施形態にかかる信号制御回路を適用した伝送局について説明する。
【0009】
(第1の実施形態)
図1は、第1の実施形態にかかる信号制御回路を適用した伝送局の構成の一例を示すブロック図である。本実施形態にかかる伝送局は、プラントや製造設備等の状態監視や自動制御に用いられる産業用制御ネットワーク内において、他の伝送局との間で、サイクリック伝送を行う。
【0010】
ここで、サイクリック伝送は、産業用制御ネットワーク内の全ての伝送局が共有するデータを他の伝送局から受信して自局が有するメモリ内のコモンメモリ領域に対して書き込み、かつコモンメモリ領域からデータを読み出し、当該読み出したデータを他の伝送局に送信する。ここでは、本実施形態にかかる信号制御回路を、サイクリック伝送を行う伝送局に対して適用した例について説明するが、外部装置と各種データを送受信する通信装置であれば、同様にして、信号制御回路を適用可能である。
【0011】
図1に示すように、本実施形態にかかる伝送局は、信号制御回路100およびメモリ200を有する。メモリ200(外部メモリの一例)は、コモンメモリ領域200aおよびトレースメモリ領域200bを有する。コモンメモリ領域200aは、メモリ200が有する記憶領域のうち、外部装置と送受信するデータを記憶可能な領域である。
【0012】
トレースメモリ領域200bは、メモリ200が有する記憶領域のうちコモンメモリ領域200aと異なる領域である。また、トレースメモリ領域200bは、外部装置と送受信するデータの内容等の解析に用いるデータを記憶可能な領域である。
【0013】
本実施形態では、コモンメモリ領域200aおよびトレースメモリ領域200bは、同じメモリ200内に設けられる。これにより、伝送局に搭載されるメモリの数が増えることによる、コスト増加、伝送局内の基板専有面積の増加、メモリを接続するためのピン数の増加等を防止できる。
【0014】
本実施形態にかかる信号制御回路100は、サイクリック伝送による外部装置との各種データの送受信を制御する。具体的には、信号制御回路100は、高速シリアルバスI/F回路101、データ変換回路102、トレース回路103、およびメモリ調停回路104を有する。
【0015】
高速シリアルバスI/F回路101は、外部装置との間で、PCI Express(登録商標)等の高速シリアルバス通信によってシリアルデータを送受信する通信I/Fである。また、高速シリアルバスI/F回路101は、高速シリアルバス通信により外部装置から受信したシリアルデータを、パラレルデータに変換する。そして、高速シリアルバスI/F回路101は、当該パラレルデータを、データ変換回路102およびトレース回路103に出力する。
【0016】
さらに、高速シリアルバスI/F回路101は、メモリ調停回路104によってメモリ200から読み出され、データ変換回路102を介して入力されるデータをシリアルデータに変換する。そして、高速シリアルバスI/F回路101は、当該シリアルデータを、高速シリアルバス通信によって、他の伝送局等の外部装置に送信する。
【0017】
データ変換回路102は、高速シリアルバスI/F回路101から入力されるパラレルデータを、メモリ200への保存用のデータ(以下、コモンデータと言う)に変換する。そして、データ変換回路102は、当該コモンデータをメモリ調停回路104に出力する。また、データ変換回路102は、メモリ調停回路104によってメモリ200から読み出されたコモンデータを、高速シリアルバスI/F回路101に転送する。
【0018】
また、データ変換回路102は、メモリ調停回路104によってメモリ200から読み出されたコモンデータを解析して、当該コモンデータの異常を検出する。そして、データ変換回路102は、コモンデータの異常を検出した場合、異常を検出したことを示すフラグをコモンデータに付加する。本実施形態では、データ変換回路102は、コモンデータの異常を検出した場合、コモンデータのヘッダ部が含む共通部のエラーポジショニングに「1」を設定し、コモンデータに異常が検出されなかった場合、エラーポジショニングに「0」を設定する。
【0019】
トレース回路103は、高速シリアルバスI/F回路101から入力されるパラレルデータを、メモリ200への保存用のトレースデータに変換する。本実施形態では、トレース回路103は、リングバッファ103aを有する異常データトレース部103bを備える。異常データトレース部103bは、高速シリアルバスI/F回路101から入力されるパラレルデータをトレースデータに変換し、当該トレースデータをリングバッファ103aに保存する。
【0020】
そして、異常データトレース部103bは、パラレルデータに異常が検出された場合、リングバッファ103aに記憶されるトレースデータをメモリ調停回路104に出力する。一方、異常データトレース部103bは、パラレルデータに異常が検出されない場合には、リングバッファ103aに記憶されるトレースデータをメモリ調停回路104に出力しない(言い換えると、メモリ調停回路104にヌルを出力する)。
【0021】
メモリ調停回路104は、メモリ200に対する各種データの保存、およびメモリ200からの各種データの読み出しを行う。具体的には、メモリ調停回路104は、データ変換回路102によりパラレルデータから変換されたコモンデータを、コモンメモリ領域200aに保存する。
【0022】
また、メモリ調停回路104は、パラレルデータに異常が検出された場合、トレース回路103から入力されるトレースデータ(言い換えると、リングバッファ103aに記憶されるトレースデータ)をトレースメモリ領域200bに保存する。一方、メモリ調停回路104は、パラレルデータに異常が検出されなかった場合には、トレース回路103からトレースデータが入力されないため(言い換えると、トレース回路103(外部の一例)からヌルが入力されるため)、トレースデータのトレースメモリ領域200bへの保存を行わない。
【0023】
これにより、パラレルデータに異常が検出されない場合には、コモンメモリ領域200aに対するコモンデータの保存とトレースメモリ領域200bへのトレースデータの保存とが競合することを防止できるので、トレースメモリ領域200bおよびコモンメモリ領域200aへのデータの保存の競合によって高速シリアルバスI/F回路101がシリアルデータを送受信するバス転送機能が劣化することを防止できる。
【0024】
図2は、第1の実施形態にかかる信号制御回路の高速シリアルバスI/F回路から出力されるパラレルデータのデータ構成の一例を示す図である。本実施形態では、パラレルデータは、
図2に示すように、ヘッダ部210およびデータ部220を有する。ヘッダ部210は、パラレルデータに応じて変更されない共通部211およびパラレルデータに応じて変更される変更部212を有する。
【0025】
図3は、第1の実施形態にかかる信号制御回路の高速シリアルバスI/F回路から出力されるパラレルデータが有するヘッダ部の共通部のデータ構成の一例を示す図である。共通部211には、
図3に示すように、パラレルデータのデータフォーマット(Fmt)、パラレルデータのデータ種別(Type)、ECRC(TD)、パラレルデータに異常が検出されたか否かを示すエラーポジショニング(EP)、パラレルデータのデータペイロードの長さであるデータ長(Length)等が含まれている。
【0026】
本実施形態では、異常データトレース部103bは、共通部211に含まれるエラーポジショニングに基づいて、パラレルデータに異常が検出されたか否かを判定する。本実施形態では、エラーポジショニングは、パラレルデータに異常が検出された場合に「1」を示し、パラレルデータに正常である場合に「0」を示す。
【0027】
そして、異常データトレース部103bは、パラレルデータが正常である場合(すなわち、パラレルデータが含むエラーポジショニングが「0」を示す場合)、メモリ調停回路104に対してヌルを出力する。これにより、パラレルデータに異常が検出されない場合には、コモンメモリ領域200aに対するコモンデータの保存とトレースメモリ領域200bへのトレースデータの保存とが競合することを防止できるので、トレースメモリ領域200bおよびコモンメモリ領域200aへのデータの保存の競合によって、高速シリアルバスI/F回路101がシリアルデータを送受信するバス転送機能が劣化することを防止できる。
【0028】
また、異常データトレース部103bは、パラレルデータが正常である場合、トレースデータを、予め設定された数N分、リングバッファ103aに保存し続ける。そして、異常データトレース部103bは、リングバッファ103aに記憶されるトレースデータの数がN個に達すると、新たなトレースデータによって、最も古いトレースデータを上書きする。
【0029】
一方、異常データトレース部103bは、パラレルデータに異常が検出された場合(すなわち、パラレルデータが含むエラーポジショニングが「1」を示す場合)、リングバッファ103aに記憶されるトレースデータのうち、異常が検出されたトレースデータ、および当該トレースデータの前後のフレームのトレースデータを、メモリ調停回路104に出力する。
【0030】
図4は、第1の実施の形態にかかる信号制御回路によるトレースメモリ領域へのトレースデータの保存処理の流れの一例を示すフローチャートである。異常データトレース部103bは、高速シリアルバスI/F回路101からパラレルデータが入力されると、当該入力されたパラレルデータに異常が検出されたか否かを判断する(ステップS401)。
【0031】
入力されたパラレルデータが正常である場合(ステップS401:No)、異常データトレース部103bは、当該パラレルデータをトレースデータに変換し(ステップS402)、当該トレースデータをリングバッファ103aに保存し続ける(ステップS403)。その間、異常データトレース部103bは、メモリ調停回路104にヌルを出力する。また、異常データトレース部103bは、リングバッファ103aにN個のトレースデータが記憶されている場合、新たなトレースデータによって、最も古いトレースデータを上書きするものとする。
【0032】
入力されたパラレルデータに異常が検出された場合(ステップS401:Yes)、異常データトレース部103bは、パラレルデータに異常が検出されてから、予め設定されたフレーム数(N/2個)の新たなトレースデータをリングバッファ103aに保存したか否かを判断する(ステップS404)。パラレルデータに異常が検出されてから、N/2個の新たなトレースデータをリングバッファ103aに保存していない場合(ステップS404:No)、異常データトレース部103bは、入力されたパラレルデータをトレースデータに変換し(ステップS405)、当該トレースデータをリングバッファ103aへ保存する(ステップS406)。
【0033】
そして、パラレルデータに異常が検出されてから、N/2個のトレースデータをリングバッファ103aに保存した場合(ステップS404:Yes)、異常データトレース部103bは、リングバッファ103aに記憶されるトレースデータをメモリ調停回路104に出力する(ステップS407)。すなわち、本実施形態では、異常データトレース部103bは、異常が検出されたパラレルデータから変換したトレースデータと、当該異常が検出されたパラレルデータの前後のN/2個のフレームのトレースデータと、をメモリ調停回路104に出力する。
【0034】
このように、第1の実施の形態にかかる信号制御回路100によれば、パラレルデータに異常が検出されない場合には、コモンメモリ領域200aに対するコモンデータの保存とトレースメモリ領域200bへのトレースデータの保存とが競合することを防止できるので、トレースメモリ領域200bおよびコモンメモリ領域200aへのデータの保存の競合によって高速シリアルバスI/F回路101がシリアルデータを送受信するバス転送機能が劣化することを防止できる。
【0035】
(第2の実施形態)
本実施形態は、トレース回路が、高速シリアルバスI/F回路から入力されたパラレルデータと、1フレーム前のパラレルデータとを比較してその差異を検出し、差異が検出された場合に、当該入力されたパラレルデータから変換したトレースデータをメモリ調停回路に出力する例である。以下の説明では、第1の実施形態と同様の構成については説明を省略する。
【0036】
図5は、第2の実施形態にかかる信号制御回路を適用した伝送局の構成の一例を示すブロック図である。
図5に示すように、本実施形態では、信号制御回路500が有するトレース回路501は、データ比較部502、およびトレースデータ変換部503を有する。
【0037】
データ比較部502は、高速シリアルバスI/F回路101からパラレルデータが入力されると、当該入力されたパラレルデータ(以下、後フレームと言う)と、当該後フレームの1フレーム前のパラレルデータ(以下、前フレームと言う)とを比較して、その差異を検出する。
【0038】
本実施形態では、データ比較部502は、後フレームのデータ部220(
図2参照)を記憶する第1メモリバッファ502a、および前フレームのデータ部220(
図2参照)を記憶する第2メモリバッファ502bを有する。そして、データ比較部502は、後フレームおよび前フレームそれぞれのデータ部220(
図2参照)同士を比較してその差異を検出する。
【0039】
そして、データ比較部502は、後フレームと前フレームとに差異が検出されなかった場合、ディセーブル信号をトレースデータ変換部503に出力する。一方、データ比較部502は、後フレームと前フレームとに差異が検出された場合、イネーブル信号をトレースデータ変換部503に出力する。
【0040】
トレースデータ変換部503は、データ比較部502からディセーブル信号が入力された場合、メモリ調停回路104に対してトレースデータを出力しない。言い換えると、トレースデータ変換部503は、ディセーブル信号が入力された場合、メモリ調停回路104に対してヌルを出力する。これにより、メモリ調停回路104は、後フレームと前フレームとに差異が検出されなかった場合、すなわち、トレース回路501からの入力がヌルである場合、トレースメモリ領域200bに対するトレースデータの保存を行わない。
【0041】
一方、トレースデータ変換部503は、データ比較部502からイネーブル信号が入力された場合、後フレームをトレースデータに変換して、メモリ調停回路104に出力する。これにより、メモリ調停回路104は、後フレームと前フレームとの間に差異がある場合にのみ、当該後フレームから変換したトレースデータをトレースメモリ領域200bに保存する。その結果、コモンメモリ領域200aに対するコモンデータの保存と、トレースメモリ領域200bに対するトレースデータの保存と、が競合することを抑制することができる。また、産業用制御ネットワーク内の伝送局間においてサイクリック伝送を行う場合、伝送局間でサイクリック伝送されるデータが変動する頻度は少ない。そのため、パラレルデータに差異が生じた場合に、当該パラレルデータから変換したトレースデータをトレースメモリ領域200bに保存しておくことにより、当該トレースデータに基づいて、パラレルデータの異常を検出する可能性を高めることができる。
【0042】
図6は、第2の実施の形態にかかる信号制御回路によるトレースメモリ領域へのトレースデータの保存処理の流れの一例を示すフローチャートである。データ比較部502は、高速シリアルバスI/F回路101からトレース回路501にパラレルデータが入力されると、当該入力されたパラレルデータである後フレームのデータ部220を第1メモリバッファ502aに保存する(ステップS601)。また、データ比較部502は、後フレームが入力される前に、第1メモリバッファ502aに記憶されているデータ部220(すなわち、前フレームのデータ部220)を第2メモリバッファ502bに保存する(ステップS602)。
【0043】
次いで、データ比較部502は、第1メモリバッファ502aに記憶される後フレームのデータ部220と、第2メモリバッファ502bに記憶される前フレームのデータ部220と、を比較してその差異を検出する(ステップS603)。そして、後フレームのデータ部220と前フレームのデータ部220との間に差異が検出されなかった場合(ステップS603:No)、データ比較部502は、ディセーブル信号をトレースデータ変換部503に出力する(ステップS603)。
【0044】
トレースデータ変換部503は、データ比較部502からディセーブル信号が入力されると、後フレームから変換したトレースデータをメモリ調停回路104へ出力せず、言い換えると、メモリ調停回路104に対してヌルを出力して、トレースメモリ領域200bに対するトレースデータの保存を行わずに、処理を終了する。
【0045】
一方、後フレームのデータ部220と前フレームのデータ部220との間に差異が検出された場合(ステップS603:Yes)、データ比較部502は、イネーブル信号をトレースデータ変換部503に出力する(ステップS605)。
【0046】
トレースデータ変換部503は、データ比較部502からイネーブル信号が入力されると、後フレームをトレースデータに変換して(ステップS606)、メモリ調停回路104に出力する(ステップS607)。
【0047】
このように、第2の実施形態の信号制御回路500によれば、メモリ調停回路104は、後フレームと前フレームとの間に差異がある場合にのみ、当該後フレームから変換したトレースデータをトレースメモリ領域200bに保存するので、コモンメモリ領域200aに対するコモンデータの保存と、トレースメモリ領域200bに対するトレースデータの保存と、が競合することを抑制することができる。
【0048】
(第3の実施形態)
本実施形態は、トレース回路が、単位時間毎に、コモンメモリ領域に対するコモンデータの保存によるアクセス時間の和を算出し、当該アクセス時間の和が所定閾値以下である場合に、トレースデータをメモリ調停回路に出力する例である。以下の説明では、第1の実施形態と同様の構成については説明を省略する。
【0049】
図7は、第3の実施形態にかかる信号制御回路を適用した伝送局の構成の一例を示すブロック図である。
図7に示すように、本実施形態では、信号制御回路700が有するトレース回路701は、アクセス時間加算部702、およびトレースデータ変換部703を有する。
【0050】
アクセス時間加算部702は、単位時間毎に、コモンメモリ領域200aに対するコモンデータの保存によるアクセス時間の和を算出する。本実施形態では、アクセス時間加算部702は、後述するトレースデータ変換部703から入力されるコモンメモリアクセス要求に基づいて、単位時間毎のアクセス時間の和を算出する。ここで、コモンメモリアクセス要求は、コモンメモリ領域200aに対するコモンデータの保存処理に要する時間を特定可能な情報であり、例えば、コモンデータのサイズ等である。
【0051】
そして、アクセス時間加算部702は、算出したアクセス時間の和が所定閾値より大きい場合、ディセーブル信号をトレースデータ変換部703に出力する。一方、アクセス時間加算部702は、算出したアクセス時間の和が所定閾値以下である場合、イネーブル信号をトレースデータ変換部703に出力する。
【0052】
トレースデータ変換部703は、高速シリアルバスI/F回路101から入力されるパラレルデータをトレースデータに変換する。また、トレースデータ変換部703は、トレースデータに基づいて、コモンメモリアクセス要求を作成し、当該コモンメモリアクセス要求をアクセス時間加算部702に出力する。
【0053】
そして、トレースデータ変換部703は、アクセス時間加算部702からディセーブル信号が入力された場合、トレースデータをメモリ調停回路104に出力せず、言い換えると、メモリ調停回路104にヌルを出力して、トレースメモリ領域200bに対するトレースデータの保存を行わない。一方、トレースデータ変換部703は、アクセス時間加算部702からイネーブル信号が入力された場合、パラレルデータをトレースデータに変換して、メモリ調停回路104に出力する。
【0054】
これにより、メモリ調停回路104は、コモンメモリ領域200aに対するアクセス時間が短い期間内にのみ、トレースメモリ領域200bに対するトレースデータの保存を行う。その結果、コモンメモリ領域200aに対するコモンデータの保存と、トレースメモリ領域200bに対するトレースデータの保存と、が競合することを抑制することができる。
【0055】
図8は、第3の実施の形態にかかる信号制御回路によるトレースメモリ領域へのトレースデータの保存処理の流れの一例を示すフローチャートである。アクセス時間加算部702は、高速シリアルバスI/F回路101からトレース回路701へのパラレルデータの入力が行われている間、コモンメモリアクセス要求に基づいて、単位時間毎に、コモンメモリ領域200aに対するコモンデータの保存によるアクセス時間の和を算出する(ステップS801)。次いで、アクセス時間加算部702は、算出されるアクセス時間の和が所定閾値以下であるか否かを判断する(ステップS802)。
【0056】
そして、算出されるアクセス時間の和が所定閾値より大きい場合(ステップS802:No)、アクセス時間加算部702は、ディセーブル信号をトレースデータ変換部703に出力する(ステップS803)。
【0057】
トレースデータ変換部703は、アクセス時間加算部702からディセーブル信号が入力されると、トレースデータのメモリ調停回路104に対する出力を行わず、言い換えると、メモリ調停回路104にヌルを出力して、トレースメモリ領域200bに対するトレースデータの保存を行わずに、処理を終了する。
【0058】
一方、算出されるアクセス時間の和が所定閾値以下である場合(ステップS802:Yes)、アクセス時間加算部702は、イネーブル信号をトレースデータ変換部703に出力する(ステップS804)。
【0059】
トレースデータ変換部703は、アクセス時間加算部702からイネーブル信号が入力されると、パラレルデータをトレースデータに変換して(ステップS805)、メモリ調停回路104に出力する(ステップS806)。
【0060】
このように、第3の実施形態の信号制御回路700によれば、メモリ調停回路104は、コモンメモリ領域200aに対するアクセス時間が短い期間内にのみ、トレースメモリ領域200bに対するトレースデータの保存を行う。その結果、コモンメモリ領域200aに対するコモンデータの保存と、トレースメモリ領域200bに対するトレースデータの保存と、が競合することを抑制することができる。
【0061】
以上説明したとおり、第1から第3の実施形態によれば、トレースメモリ領域200bおよびコモンメモリ領域200aへのデータの保存の競合によって高速シリアルバスI/F回路101がシリアルデータを送受信するバス転送機能が劣化することを防止できる。
【0062】
上述の実施形態では、トレース回路103,501,701は、第1の実施形態の第1出力方法、第2の実施形態の第2出力方法、または第3の実施形態の第3出力方法によってメモリ調停回路104に対してトレースデータを出力することとしたが、第1出力方法、第2出力方法、および第3出力方法のうちユーザにより選択された出力方法によってメモリ調停回路104に対してトレースデータを出力しても良い。
【0063】
ここで、第1出力方法は、トレース回路103が、パラレルデータに異常が検出された場合、リングバッファ103aに記憶されるトレースデータのうち、異常が検出されたパラレルデータから変換したトレースデータおよび当該トレースデータの前後のトレースデータをメモリ調停回路104に出力し、パラレルデータに異常が検出されなかった場合、メモリ調停回路104にヌルを出力する方法である。
【0064】
また、第2出力方法は、トレース回路501が、シリアルデータから変換されたパラレルデータと1フレーム前のパラレルデータとを比較してその差異を検出し、差異が検出された場合、トレースデータをメモリ調停回路104に出力し、差異が検出されなかった場合、メモリ調停回路104にヌルを出力する方法である。
【0065】
また、第3出力方法は、トレース回路701が、単位時間毎に、コモンメモリ領域200aに対するコモンデータの保存によるアクセス時間の和を算出し、アクセス時間の和が所定閾値以下である場合、トレースデータをメモリ調停回路104に出力し、アクセス時間の和が所定閾値より長い場合、メモリ調停回路104にヌルを出力する方法である。
【0066】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0067】
100,500,700 信号制御回路
101 高速シリアルバスI/F回路
102 データ変換回路
103,501,701 トレース回路
103a リングバッファ
103b 異常データトレース部
104 メモリ調停回路
200 メモリ
200a コモンメモリ領域
200b トレースメモリ領域
502 データ比較部
502a 第1メモリバッファ
502b 第2メモリバッファ
503 トレースデータ変換部
702 アクセス時間加算部
703 トレースデータ変換部