(57)【要約】【課題】送信中のフレームの送信完了待ちや再送を伴わずに、緊急通知を低遅延で送信することが可能な通信システムを提供する。【解決手段】通信システムは、イーサネット規格に基づくフレームを生成し、装置外部へ送信する送信装置（ＤＥＶ１）と、当該フレームを受信する受信装置（ＤＥＶ２）とを有する。送信装置（ＤＥＶ１）は、フレームの中に所定のデータ間隔で緊急通知データＥＤＴを挿入する。受信装置（ＤＥＶ２）は、受信したフレームの中から送信装置（ＤＥＶ１）と同じデータ間隔で緊急通知データＥＤＴを取り出し、残りのデータを、フレームのヘッダ領域およびペイロード領域のデータ（通常データＮＤＴ）として取り出す。【選択図】図１
2018148438.tif 000002
【特許請求の範囲】
【請求項１】
イーサネット規格に基づくフレームを生成し、前記フレームを装置外部へ送信する送信装置と、前記送信装置から送信された前記フレームを受信する受信装置とを有する通信システムであって、
前記送信装置は、前記フレームの中に所定のデータ間隔で第１のデータを挿入し、
前記受信装置は、前記受信した前記フレームの中から前記送信装置と同じデータ間隔で前記第１のデータを取り出し、残りのデータを、前記フレームのヘッダ領域およびペイロード領域のデータとして取り出す、
通信システム。
【請求項２】
請求項１記載の通信システムにおいて、
前記送信装置は、前記フレームの前記ペイロード領域を対象に前記所定のデータ間隔で前記第１のデータを挿入し、
前記受信装置は、前記受信した前記フレームの前記ペイロード領域の中から前記送信装置と同じデータ間隔で前記第１のデータを取り出す、
通信システム。
【請求項３】
請求項１記載の通信システムにおいて、
前記送信装置は、前記第１のデータが挿入された前記フレームのデータを対象に誤り検出符号を算出し、当該算出した値を前記フレームの誤り検出符号領域に格納する、
通信システム。
【請求項４】
請求項１記載の通信システムにおいて、
前記所定のデータ間隔は、前記フレームの誤り検出符号のデータ長と、前記ヘッダ領域のデータ長と、隣接する前記フレームの間隔との合計値以上の値に設定される、
通信システム。
【請求項５】
請求項１記載の通信システムにおいて、
前記送信装置は、送信クロックサイクルに同期して前記フレームを送信し、
前記受信装置は、受信クロックサイクルに同期して前記フレームを受信し、
前記送信装置は、
前記フレームの前記ヘッダ領域および前記ペイロード領域に格納すべきデータとなる第２のデータを保持する第１のバッファと、
前記フレームのデータを前記送信クロックサイクル毎に順次定めながら前記フレームを時系列的に生成するフレーム生成回路と、
を備え、
前記フレーム生成回路は、
前記送信クロックサイクルを、予め設定されたサイクル数を周期として巡回的にカウントする第１のデータカウンタと、
前記第１のデータカウンタのカウント値が第１の値を除く値の場合に、前記フレームのデータを前記第１のバッファから読み出した前記第２のデータに定め、前記第１のデータカウンタのカウント値が前記第１の値の場合に、前記フレームのデータを前記第１のデータに定めるデータ選択回路と、
を有し、
前記受信装置は、
前記第２のデータを保持するための第２のバッファと、
前記受信クロックサイクルを、前記第１のデータカウンタと同じサイクル数を周期として巡回的にカウントする第２のデータカウンタと、
前記第２のデータカウンタのカウント値が前記第１の値を除く値の場合に、対応する前記受信クロックサイクルで受信した前記フレームのデータを前記第２のデータとして前記第２のバッファに書き込み、前記第２のデータカウンタのカウント値が前記第１の値の場合に、対応する前記受信クロックサイクルで受信した前記フレームのデータを前記第１のデータとして抽出するデータ振り分け回路と、
を有する、
通信システム。
【請求項６】
請求項５記載の通信システムにおいて、
前記第１のデータは、前記第２のデータよりも緊急度が高いデータである、
通信システム。
【請求項７】
請求項５記載の通信システムにおいて、
前記送信装置の前記フレーム生成回路は、さらに、前記データ選択回路から出力されたデータを対象に誤り検出符号を算出し、当該算出した値を前記フレームの誤り検出符号領域に格納する、
通信システム。
【請求項８】
請求項５記載の通信システムにおいて、
前記送信装置の前記データ選択回路で選択される前記第１のデータと前記第２のデータは、共に、同じビット幅の複数ビットで構成され、
前記送信装置の前記フレーム生成回路は、前記フレーム毎に、前記第１のデータの挿入を終了するサイクルで、前記第１のデータにおける前記複数ビットの中の１ビットに所定の論理レベルの最終データフラグを格納し、
前記受信装置は、前記フレーム毎に、前記所定の論理レベルの前記最終データフラグを検出した後は前記第１のデータの抽出を行わない、
通信システム。
【請求項９】
イーサネット規格に基づくフレームを生成し、前記フレームを装置外部へ送信する送信回路を有する半導体装置であって、
前記送信回路は、
前記フレームのヘッダ領域およびペイロード領域に格納すべき第２のデータを保持するバッファと、
前記フレームのデータをクロックサイクル毎に順次定めながら前記フレームを時系列的に生成するフレーム生成回路と、
を備え、
前記フレーム生成回路は、
前記クロックサイクルを、予め設定されたサイクル数を周期として巡回的にカウントするデータカウンタと、
前記データカウンタのカウント値が第１の値を除く値の場合に、前記フレームのデータを前記バッファから読み出した前記第２のデータに定め、前記データカウンタのカウント値が前記第１の値の場合に、前記フレームのデータを前記第２のデータとは異なる第１のデータに定めるデータ選択回路と、
を有する、
半導体装置。
【請求項１０】
請求項９記載の半導体装置において、
前記第１のデータは、前記第２のデータよりも緊急度が高いデータである、
半導体装置。
【請求項１１】
請求項９記載の半導体装置において、
前記フレーム生成回路は、さらに、前記データ選択回路から出力されたデータを対象に誤り検出符号を算出し、当該算出した値を前記フレームの誤り検出符号領域に格納する誤り検出符号算出回路を有する、
半導体装置。
【請求項１２】
請求項９記載の半導体装置において、
前記データカウンタは、前記バッファから読み出される前記第２のデータが前記ヘッダ領域のデータから前記ペイロード領域のデータに変わる時点からカウント動作を開始する、
半導体装置。
【請求項１３】
請求項１２記載の半導体装置において、
前記送信回路は、さらに、データ入力ノードと、データバリッド入力ノードとを備え、
前記データ入力ノードには、所定の期間で前記第２のデータが入力され、前記所定の期間を除く期間でアイドル状態に対応するデータが入力され、
前記データバリッド入力ノードには、前記所定の期間で第１の論理レベルとなり前記所定の期間を除く期間で第２の論理レベルとなるデータバリッド信号が入力され、
前記バッファは、
所定の前記クロックサイクル分の容量を備え、前記データバリッド入力ノードの前記データバリッド信号を前記クロックサイクル毎に取り込む第１のＦＩＦＯ（First In First Out）バッファと、
前記第１のＦＩＦＯバッファと同じ前記クロックサイクル分の容量を備え、前記データ入力ノードのデータを前記クロックサイクル毎に取り込む第２のＦＩＦＯバッファと、
を有し、
前記フレーム生成回路は、さらに、前記第１のＦＩＦＯバッファから読み出した前記データバリッド信号が前記第２の論理レベルから前記第１の論理レベルに変わった時点からカウント動作を開始し、前記ヘッダ領域のデータ長に応じた前記クロックサイクル数をカウントするヘッダカウンタを有し、
前記データカウンタは、前記ヘッダカウンタがカウント動作を満了した時点からカウント動作を開始する、
半導体装置。
【請求項１４】
請求項９記載の半導体装置において、
前記第１の値は、連続する複数のカウント値である、
半導体装置。
【請求項１５】
請求項９記載の半導体装置において、
前記データ選択回路で選択される前記第１のデータと前記第２のデータは、共に、同じビット幅の複数ビットで構成され、
前記フレーム生成回路は、前記フレーム毎に、前記第１のデータの挿入を終了するサイクルで、前記第１のデータにおける前記複数ビットの中の１ビットに所定の論理レベルの最終データフラグを格納する、
半導体装置。
【請求項１６】
イーサネット規格に基づくフレームを、クロックサイクル毎に時系列に受信する受信回路を有する半導体装置であって、
前記受信回路は、
前記フレームのヘッダ領域およびペイロード領域に格納された第２のデータを保持するためのバッファと、
前記クロックサイクルを、予め設定されたサイクル数を周期として巡回的にカウントするデータカウンタと、
前記データカウンタのカウント値が第１の値を除く値の場合に、対応する前記クロックサイクルで受信した前記フレームのデータを前記第２のデータとして前記バッファに書き込み、前記データカウンタのカウント値が前記第１の値の場合に、対応する前記クロックサイクルで受信した前記フレームのデータを前記第２のデータとは異なる第１のデータとして抽出するデータ振り分け回路と、
を有する、
半導体装置。
【請求項１７】
請求項１６記載の半導体装置において、
前記第１のデータは、前記第２のデータよりも緊急度が高いデータである、
半導体装置。
【請求項１８】
請求項１６記載の半導体装置において、
前記データカウンタは、前記データ振り分け回路によって振り分けられる前記第２のデータが前記ヘッダ領域のデータから前記ペイロード領域のデータに変わる時点からカウント動作を開始する、
半導体装置。
【請求項１９】
請求項１８記載の半導体装置において、
前記受信回路は、さらに、フレームデータ受信ノードと、データバリッド受信ノードと、ヘッダカウンタとを備え、
前記フレームデータ受信ノードは、所定の期間で前記フレームを受信し、前記所定の期間を除く期間でアイドル状態に対応するデータを受信し、
前記データバリッド受信ノードは、前記所定の期間で第１の論理レベルとなり前記所定の期間を除く期間で第２の論理レベルとなるデータバリッド信号を受信し、
前記ヘッダカウンタは、前記データバリッド信号が前記第２の論理レベルから前記第１の論理レベルに変わった時点からカウント動作を開始し、前記ヘッダ領域のデータ長に応じた前記クロックサイクル数をカウントし、
前記データカウンタは、前記ヘッダカウンタがカウント動作を満了した時点からカウント動作を開始する、
半導体装置。
【請求項２０】
請求項１９記載の半導体装置において、
前記受信回路は、さらに、
前記データバリッド受信ノードで受信した前記データバリッド信号を、前記フレームの誤り検出符号のデータ長に応じた前記クロックサイクル数となるＫサイクル分遅延させ、遅延後データバリッド信号を出力する第１の遅延回路と、
前記フレームデータ受信ノードで受信した前記フレームを、前記Ｋサイクル分遅延させ、遅延後フレームを出力する第２の遅延回路と、
前記データバリッド受信ノードで受信した前記データバリッド信号が前記第１の論理レベルから前記第２の論理レベルに遷移した時点から前記Ｋサイクル分のマスク信号を出力するマスク信号生成回路と、
を有し、
前記データ振り分け回路は、前記データカウンタのカウント値が前記第１の値の場合で、前記マスク信号が出力されていない場合には、前記遅延後フレームのデータを前記第１のデータとして抽出し、前記マスク信号が出力されている場合には、前記第１のデータの抽出を行わない、
半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムおよび半導体装置に関し、例えば、イーサネット（登録商標）規格に基づくフレームで緊急通知を行う技術に関する。
【背景技術】
【０００２】
例えば、特許文献１には、緊急フレームの送信遅延を低減する技術が示される。当該技術では、通常フレームを送信中に緊急フレームが生じた場合、送信中の通常フレームは破棄され、通常フレームに割り込ませて緊急フレームが送信される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−６７０３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、イーサネットでは、通常、あるフレームを送信中に緊急通知を送信する必要性が生じた場合、現在送信されているフレームの送信完了を待つ必要がある。このため、緊急通知を送信する際に大きな遅延が生じる恐れがある。一方、特許文献１のような技術を用いると、緊急通知をある程度低遅延で送信することが可能になる。しかし、当該技術では、緊急フレームによって破棄された通常フレームを再送する必要があるため、通常フレームに対する遅延の増大等を招く恐れがある。
【０００５】
後述する実施の形態は、このようなことを鑑みてなされたものであり、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００６】
一実施の形態による通信システムは、イーサネット規格に基づくフレームを生成し、装置外部へ送信する送信装置と、当該フレームを受信する受信装置とを有する。送信装置は、フレームの中に所定のデータ間隔で第１のデータを挿入する。受信装置は、受信したフレームの中から送信装置と同じデータ間隔で第１のデータを取り出し、残りのデータを、フレームのヘッダ領域およびペイロード領域のデータとして取り出す。
【発明の効果】
【０００７】
前記一実施の形態によれば、送信中のフレームの送信完了待ちや再送を伴わずに、緊急通知を低遅延で送信することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１による通信システムにおいて、主要部の構成例を示す概略図である。
【図２】図１の通信システムの概略的な動作例を示すフロー図である。
【図３】図１の半導体装置において、送信回路の主要部の構成例を示す回路ブロック図である。
【図４】図３の送信回路の動作例を示す波形図である。
【図５】図３におけるデータ合成処理回路の構成例を示す回路ブロック図である。
【図６】図５のデータ合成処理回路の動作例を示す波形図である。
【図７】図１の半導体装置において、受信回路の主要部の構成例を示す回路ブロック図である。
【図８】図７の受信回路の動作例を示す波形図である。
【図９】図７におけるデータ振り分け回路の構成例を示す回路ブロック図である。
【図１０】図９のデータ振り分け回路の動作例を示す波形図である。
【図１１】本発明の実施の形態２による通信システムにおいて、主要部の構成例を示す概略図である。
【図１２】本発明の実施の形態３による半導体装置において、図３のデータ合成処理回路の構成例を示す回路ブロック図である。
【図１３】図１２のデータ合成処理回路の動作例を示す波形図である。
【図１４】本発明の実施の形態４による半導体装置において、図１の送信回路の主要部の構成例を示す回路ブロック図である。
【図１５】図１４におけるデータ合成処理回路の構成例を示す回路ブロック図である。
【図１６】図１４におけるデータ分割回路の構成例を示す回路図である。
【図１７】図１４の送信回路の動作例を示す波形図である。
【図１８】図１５のデータ合成処理回路の動作例を示す波形図である。
【図１９】本発明の実施の形態５による半導体装置において、図１の受信回路の主要部の構成例を示す回路ブロック図である。
【図２０】図１９におけるデータ振り分け回路の構成例を示す回路ブロック図である。
【図２１】図１９の受信回路の動作例を示す波形図である。
【図２２】本発明の実施の形態６による半導体装置において、図１の送信回路の主要部の構成例を示す回路ブロック図である。
【図２３】（ａ）は、図２２におけるビット連結回路の構成例を示す回路図であり、（ｂ）は、（ａ）のビット連結回路の具体的な入出力例を示す図である。
【図２４】図２２の送信回路の動作例を示す波形図である。
【図２５】本発明の実施の形態６による半導体装置において、図１の受信回路の主要部の構成例を示す回路ブロック図である。
【図２６】図２５におけるビット分割回路の構成例を示す回路図である。
【図２７】図２５におけるデータ振り分け回路の構成例を示す回路ブロック図である。
【図２８】図２５の受信回路の動作例を示す波形図である。
【図２９】本発明の実施の形態７による通信システムにおいて、設定周期の決定方法の一例を説明する図である。
【図３０】本発明の比較例となる緊急通知の送信方式を示す模式図である。
【発明を実施するための形態】
【０００９】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【００１０】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１１】
また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。
【００１２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１３】
（実施の形態１）
《緊急通知の送信方式（比較例）およびその問題点》
まず、実施の形態の方式の説明に先立ち、比較例の方式について説明する。図３０は、本発明の比較例となる緊急通知の送信方式を示す模式図である。緊急通知が生じた場合、通常、図３０の比較例１に示されるように、送信中の通常フレームＦＲＮの送信完了を待って、緊急通知の情報を含む緊急フレームＦＲＥが送信される。しかし、この場合、通常フレームＦＲＮの送信完了待ちに伴い、緊急通知を低遅延で送信することが困難となる。例えば、車載通信システム等では、カメラで撮影した映像を送信中に、制御用機器の故障情報などを表す緊急通知が生じる場合がある。特に、このような安全性に対する要求が高いシステムでは、緊急通知を所定のエラー処理部等へ一刻も早く送信することが求められる。
【００１４】
そこで、図３０の比較例２に示されるように、送信中の通常フレームＦＲＮを途中で破棄し、緊急フレームＦＲＥを割り込ませて送信したのち、破棄した通常フレームＦＲＮを再送する方式が考えられる。しかし、この場合、通信効率が低下する恐れがある。具体的には、通常フレームＦＲＮの再送に伴い、通常フレームＦＲＮに対する遅延の増加や、帯域オーバヘッドの増加等が生じ得る。また、１つの緊急フレームＦＲＥを用いて、少ないデータ量（例えば数バイト程度）の緊急通知を送信する場合、最小フレームサイズ（６４バイト）の規定を満たすためのパディングが必要となる。その結果、パディングに伴う帯域オーバヘッドの増加等も生じ得る。
【００１５】
《通信システムの概略》
図１は、本発明の実施の形態１による通信システムにおいて、主要部の構成例を示す概略図である。図１に示す通信システムは、２個の半導体装置（半導体チップ）ＤＥＶ１，ＤＥＶ２と、半導体装置ＤＥＶ１，ＤＥＶ２にそれぞれ結合されるＰＨＹ（PHYsical Layer）回路ＰＨＹ１，ＰＨＹ２と、ＰＨＹ回路ＰＨＹ１，ＰＨＹ２間を結合するネットワークＮＷ１とを備える。ネットワークＮＷ１は、イーサネットケーブル等を用いた有線ネットワークや、ＩＥＥＥ  ８０２．１１等に基づく無線ＬＡＮネットワークである。
【００１６】
半導体装置ＤＥＶ１，ＤＥＶ２のそれぞれは、ＣＰＵ（Central Processing Unit）と、メモリＭＥＭと、割り込み制御回路ＩＮＴＣと、通信回路ＣＣと、通信回路ＣＣのバスインタフェースＢＳＩＦとを備える。ＣＰＵ、メモリＭＥＭおよびバスインタフェースＢＳＩＦは、バスＢＳで結合される。
【００１７】
通信回路ＣＣは、イーサネット規格に基づくフレームを生成し、当該フレームを装置外部へ送信する送信回路ＴＸＣと、装置外部からのフレームを受信する受信回路ＲＸＣとを備える。この例では、通信回路ＣＣは、ＭＡＣ（Media Access Control）層の処理を行う回路となっており、フレームの送受信を、ＰＨＹ（Physical）層の処理を行うＰＨＹ回路ＰＨＹ１，ＰＨＹ２を介して行う。
【００１８】
ＰＨＹ回路ＰＨＹ１，ＰＨＹ２は、例えば、シリアル信号とパラレル信号を変換する回路等を備え、代表的には、ＩＥＥＥ８０２．３のＭＩＩ（Media Independent Interface）規格に基づく回路やＧＭＩＩ(Gigabit Media Independent Interface)規格に基づく回路等が知られている。ＰＨＹ回路ＰＨＹ１，ＰＨＹ２は、単体の半導体チップで構成される場合が多いが、場合によっては、通信回路ＣＣ内に搭載することも可能である。
【００１９】
ＣＰＵ（およびメモリＭＥＭ）は、通常データＮＤＴの生成元または受信先となり、割り込み制御回路ＩＮＴＣは、緊急通知データＥＤＴの生成元または受信先となる。緊急通知データＥＤＴは、通常データＮＤＴよりも緊急度（または優先度）が高いデータである。この例では、通信回路ＣＣは、通常データＮＤＴをバスインタフェースＢＳＩＦを介して送受信し、緊急通知データＥＤＴを直接送受信する。
【００２０】
なお、緊急通知データＥＤＴは、通常、割り込み処理で送受信される場合が多いため、ここでは、割り込み制御回路ＩＮＴＣが生成元または受信先となっている。ただし、緊急通知データＥＤＴの生成元または受信先は適宜変更することが可能であり、また、通常データＮＤＴの生成元または受信先も適宜変更することが可能である。すなわち、少なくとも、通信回路ＣＣが、各種内部回路との間で通常データＮＤＴと緊急通知データＥＤＴとを区別して送受信できる構成であればよい。
【００２１】
図２は、図１の通信システムの概略的な動作例を示すフロー図である。ここでは、半導体装置ＤＥＶ１がフレームの送信元（すなわち送信装置）であり、半導体装置ＤＥＶ２が当該フレームの受信先（すなわち受信装置）である場合を想定する。図２では、まず、半導体装置ＤＥＶ１において、メモリＭＥＭ上に通常データＮＤＴが生成される（ステップＳ１０１）。通常データＮＤＴは、例えば、ＣＰＵによって生成される場合や、一部、ＤＭＡＣ（Direct Memory Access Controler）等を用いて生成される場合等がある。通常データＮＤＴは、例えば、フレームのヘッダ領域およびペイロード領域のデータを含む。
【００２２】
ＣＰＵは、通常データＮＤＴの生成を完了すると、バスインタフェースＢＳＩＦや通信回路ＣＣの設定レジスタに各種設定を行い、バスインタフェースＢＳＩＦに通常データＮＤＴの送信要求ＳＲを発行する（ステップＳ１０２）。バスインタフェースＢＳＩＦは、この送信要求ＳＲに応じて、設定レジスタの内容に基づきメモリＭＥＭから通常データＮＤＴを取得し、送信回路ＴＸＣへ出力する（ステップＳ１０３）。
【００２３】
一方、ステップＳ１０１〜Ｓ１０３の処理とは独立に、割り込み制御回路ＩＮＴＣは、緊急通知データＥＤＴを生成し、それを送信回路ＴＸＣへ出力する（ステップＳ１１１，Ｓ１１２）。ここで、送信回路ＴＸＣは、ステップＳ１０３で入力された通常データＮＤＴを含むフレーム（フレームデータＤＴ）を生成し、その過程で、当該フレーム（フレームデータＤＴ）の中に、ステップＳ１１２で入力された緊急通知データＥＤＴを所定のデータ間隔で挿入する（ステップＳ１００）。送信回路ＴＸＣは、この緊急通知データＥＤＴが定期的に挿入されたフレームをＰＨＹ回路ＰＨＹ１を介してネットワークＮＷ１へ送信する（ステップＳ１００）。
【００２４】
ネットワークＮＷ１は、当該送信回路ＴＸＣからのフレームをＰＨＹ回路ＰＨＹ２を介して半導体装置ＤＥＶ２へ伝送する（ステップＳ２００）。半導体装置ＤＥＶ２の受信回路ＲＸＣは、当該フレーム（フレームデータＤＴ）を受信し、前述した半導体装置ＤＥＶ１の送信回路ＴＸＣと同じデータ間隔で当該フレームの中から緊急通知データＥＤＴを取り出す（ステップＳ３００）。また、受信回路ＲＸＣは、残りのデータを、通常データＮＤＴ（すなわちフレームのヘッダ領域およびペイロード領域のデータ）として取り出す（ステップＳ３００）。
【００２５】
バスインタフェースＢＳＩＦは、ステップＳ３００で取り出された通常データＮＤＴをメモリＭＥＭに格納し（ステップＳ３０１）、その後、ＣＰＵに受信通知ＲＮを発行する（ステップＳ３０２）。また、ステップＳ３０１，Ｓ３０２の処理と並行して、受信回路ＲＸＣは、ステップＳ３００で取り出した緊急通知データＥＤＴを、割り込み制御回路ＩＮＴＣへ出力する（ステップＳ３１１，Ｓ３１２）。
【００２６】
《送信回路の主要部の詳細》
図３は、図１の半導体装置において、送信回路の主要部の構成例を示す回路ブロック図である。図４は、図３の送信回路の動作例を示す波形図である。図３に示す送信回路ＴＸＣは、データバリッド入力ノードＮＤｉ１、通常データ入力ノードＮＤｉ２および緊急通知データ入力ノードＮＤｉ３と、データバリッド送信ノードＮＤｔ１およびフレームデータ送信ノードＮＤｔ２と、ＦＩＦＯ（First In First Out）バッファＦＩＦＯ＿Ａ１，ＦＩＦＯ＿Ａ２と、フレーム生成回路ＦＲＧ＿Ａとを備える。送信回路ＴＸＣは、送信クロックサイクルに同期してフレームの送信ならびに送信に伴う各種処理を行う。
【００２７】
データバリッド入力ノードＮＤｉ１には、バスインタフェースＢＳＩＦからのデータバリッド信号ＤＶ＿Ａｉが入力され、通常データ入力ノードＮＤｉ２には、バスインタフェースＢＳＩＦからの通常データＮＤＴ＿Ａｉが入力される。緊急通知データ入力ノードＮＤｉ３には、割り込み制御回路ＩＮＴＣからの緊急通知データＥＤＴ＿Ａｉが入力される。通常データＮＤＴ＿Ａｉおよび緊急通知データＥＤＴ＿Ａｉは、共にｎビット（例えば４ビットや８ビット等）のビット幅で構成される。
【００２８】
ここで、図４に示されるように、詳細には、通常データ入力ノードＮＤｉ２には、所定の有効期間で通常データＮＤＴ＿Ａｉ（すなわち、ヘッダ領域ＨＤおよびペイロード領域ＰＬＤのデータ）が入力され、有効期間を除く期間（図４では空白）ではアイドル状態に対応するデータが入力される。一方、データバリッド入力ノードＮＤｉ１には、当該有効期間で‘１’レベルとなり、当該有効期間を除く期間で‘０’レベルとなるデータバリッド信号ＤＶ＿Ａｉが入力される。バスインタフェースＢＳＩＦは、メモリＭＥＭ上の通常データＮＤＴ＿Ａｉを送信回路ＴＸＣへ出力する際に、併せて、このようなデータバリッド信号ＤＶ＿Ａｉの生成および出力も行う。
【００２９】
ＦＩＦＯバッファＦＩＦＯ＿Ａ２は、フレームのヘッダ領域ＨＤおよびペイロード領域ＰＬＤに格納すべき通常データＮＤＴ＿Ａｉを保持する。詳細には、ＦＩＦＯバッファＦＩＦＯ＿Ａ２は、所定の送信クロックサイクル分の容量を備え、通常データ入力ノードＮＤｉ２のデータ（有効期間での通常データＮＤＴ＿Ａｉを含む）を送信クロックサイクル毎に取り込む。一方、ＦＩＦＯバッファＦＩＦＯ＿Ａ１は、ＦＩＦＯバッファＦＩＦＯ＿Ａ２と同じ送信クロックサイクル分の容量を備え、データバリッド入力ノードＮＤｉ１のデータバリッド信号ＤＶ＿Ａｉを送信クロックサイクル毎に取り込む。
【００３０】
フレーム生成回路ＦＲＧ＿Ａは、周期設定レジスタＳＲＥＧ＿Ａと、データ合成処理回路ＤＳＣ＿Ａと、データ選択回路ＤＳＥＬ＿Ａと、誤り検出符号算出回路ＣＲＣＧとを備え、フレームのデータを送信クロックサイクル毎に順次定めながらフレームを時系列的に生成する。周期設定レジスタＳＲＥＧ＿Ａは、例えば図１のＣＰＵによって設定される設定周期Ｍを保持する。設定周期Ｍは、図１および図２で述べたように、緊急通知データＥＤＴ＿Ａｉを定期的に挿入する際のデータ間隔を定める値である。
【００３１】
データ合成処理回路ＤＳＣ＿Ａは、詳細は後述するが、送信クロックサイクルを、設定周期Ｍ（サイクル数“Ｍ＋１”）を周期として巡回的にカウントするデータカウンタを備える。データ合成処理回路ＤＳＣ＿Ａは、当該データカウンタのカウント値に基づいて、図４に示されるように、データ選択回路ＤＳＥＬ＿Ａの選択信号ＳＳ＿Ａをサイクル数“Ｍ＋１”毎に‘１’レベルに制御する。具体的には、データ合成処理回路ＤＳＣ＿Ａは、選択信号ＳＳ＿Ａを、データカウンタのカウント値が所定の値の場合には‘１’レベルに制御し、所定の値を除く値の場合には‘０’レベルに制御する。また、データ合成処理回路ＤＳＣ＿Ａは、当該選択信号ＳＳ＿Ａとは相補の関係で、ＦＩＦＯバッファＦＩＦＯ＿Ａ１，ＦＩＦＯ＿Ａ２のリードイネーブル信号ＲＥＮ＿Ａを制御する。
【００３２】
ＦＩＦＯバッファＦＩＦＯ＿Ａ１，ＦＩＦＯ＿Ａ２は、リードイネーブル信号ＲＥＮ＿Ａが‘１’レベル（すなわち、選択信号ＳＳ＿Ａが‘０’レベル）の場合に、読み出し動作を行う。当該読み出し動作に伴い、ＦＩＦＯバッファＦＩＦＯ＿Ａ１は、データバリッド信号ＤＶ＿Ａ２を出力し、ＦＩＦＯバッファＦＩＦＯ＿Ａ２は、通常データＮＤＴ＿Ａ２を出力する。これにより、図４に示されるように、通常データＮＤＴ＿Ａ２の有効期間およびデータバリッド信号ＤＶ＿Ａ２の‘１’レベル期間は、通常データＮＤＴ＿Ａｉの有効期間およびデータバリッド信号ＤＶ＿Ａｉの‘１’レベル期間と比較して、リードイネーブル信号ＲＥＮ＿Ａの‘０’レベル期間が生じた分だけ伸びる。
【００３３】
データ選択回路ＤＳＥＬ＿Ａは、選択信号ＳＳ＿Ａが‘０’レベル（リードイネーブル信号ＲＥＮ＿Ａが‘１’レベル）の場合には、通常データＮＤＴ＿Ａ２を選択し、選択信号ＳＳ＿Ａが‘１’レベル（リードイネーブル信号ＲＥＮ＿Ａが‘０’レベル）の場合には、緊急通知データＥＤＴ＿Ａｉを選択する。そして、データ選択回路ＤＳＥＬ＿Ａは、図４に示されるように、当該選択したデータを選択データＳＤＴ＿Ａとして出力する。
【００３４】
すなわち、データカウンタのカウント値が所定の値の場合、データ選択回路ＤＳＥＬ＿Ａは、ＦＩＦＯバッファＦＩＦＯ＿Ａ１，ＦＩＦＯ＿Ａ２の読み出しが行われない状態で、選択データＳＤＴ＿Ａを緊急通知データＥＤＴ＿Ａｉに定める。一方、データカウンタのカウント値が所定の値を除く値の場合、データ選択回路ＤＳＥＬ＿Ａは、ＦＩＦＯバッファＦＩＦＯ＿Ａ１，ＦＩＦＯ＿Ａ２の読み出しが行われた状態で、選択データＳＤＴ＿ＡをＦＩＦＯバッファＦＩＦＯ＿Ａ２からの通常データＮＤＴ＿Ａ２に定める。選択データＳＤＴ＿Ａは、図４に示されるように、最終的に出力するフレームのデータ（ＤＴ＿Ａｏ）として使用される。
【００３５】
また、データ合成処理回路ＤＳＣ＿Ａは、図４に示されるように、選択データＳＤＴ＿Ａの有効期間に対応するデータバリッド信号ＤＶ＿Ａ３を生成する。誤り検出符号算出回路ＣＲＣＧは、データ選択回路ＤＳＥＬ＿Ａから出力された選択データＳＤＴ＿Ａを対象に誤り検出符号（具体的にはＣＲＣ（Cyclic Redundancy Check）符号）を算出する。誤り検出符号算出回路ＣＲＣＧは、図４に示されるように、選択データＳＤＴ＿Ａの最後尾に誤り検出符号領域ＦＣＳを付加し、当該領域に算出した値を格納することでフレームデータＤＴ＿Ａｏを生成し、フレームデータ送信ノードＮＤｔ２から送信する。また、誤り検出符号算出回路ＣＲＣＧは、誤り検出符号を付加した分だけデータバリッド信号ＤＶ＿Ａ３を延長することでデータバリッド信号ＤＶ＿Ａｏを生成し、データバリッド送信ノードＮＤｔ１から送信する。
【００３６】
ここで、図４において、図１の割り込み制御回路ＩＮＴＣは、例えば、緊急通知データＥＤＴ＿Ａｉとして、通常時には緊急通知が無いことを意味する値Ａを送信し、緊急通知発生時には値Ｂを送信する。この緊急通知を表す値Ｂは、その直後の選択信号ＳＳ＿Ａの‘１’レベル期間に応じてフレームに挿入される。このため、緊急通知を低遅延で送信することが可能になる。言い換えれば、設定周期Ｍの値に基づいて、緊急通知の遅延時間を保証することができる。例えば、２０バイトおきに１バイトの緊急通知を挿入すると、２０バイト時間（１００Ｍｂｐｓの通信速度の場合１．６マイクロ秒）以内の遅延で緊急通知の送信を開始できる。
【００３７】
また、図４の例では、フレームのペイロード領域ＰＬＤを対象に緊急通知データＥＤＴ＿Ａｉを挿入することで、ヘッダ領域ＨＤのデータは通常通りに保たれる。さらに、選択データＳＤＴ＿Ａを対象に誤り検出符号を算出することで、通常データと緊急通知データとが混在したフレーム全体に対して正しい誤り検出符号が定められる。これらの結果、例えば、図１のネットワークＮＷ１上に通常のイーサネットスイッチ等が存在するような場合でも、特に問題は発生せず、イーサネット通信の汎用性を保つことができる。
【００３８】
《データ合成処理回路の詳細》
図５は、図３におけるデータ合成処理回路の構成例を示す回路ブロック図である。図６は、図５のデータ合成処理回路の動作例を示す波形図である。図５に示すデータ合成処理回路ＤＳＣ＿Ａは、ヘッダカウンタＨＣＴ＿Ａと、データカウンタＤＣＴ＿Ａと、ステートマシンＳＭ＿Ａと、データバリッド生成回路ＤＶＧ＿Ａと、選択信号生成回路ＳＳＧ＿Ａとを備える。
【００３９】
図６に示されるように、ステートマシンＳＭ＿Ａは、アイドル状態Ｓ＿ＩＤＬＥ、ヘッダ状態Ｓ＿ＨＤおよびデータ状態Ｓ＿ＤＡＴからなる３個の状態間で状態遷移を行う。ステートマシンＳＭ＿Ａは、データバリッド信号ＤＶ＿Ａ２が‘０’レベルから‘１’レベルへ変化した際に、アイドル状態Ｓ＿ＩＤＬＥからヘッダ状態Ｓ＿ＨＤへ遷移する。ヘッダカウンタＨＣＴ＿Ａは、このヘッダ状態Ｓ＿ＨＤへの遷移に応じてカウント動作を開始し、予め判明しているヘッダ領域ＨＤのデータ長に応じた送信クロックサイクル数“Ｎ＋１”をカウントする。ステートマシンＳＭ＿Ａは、ヘッダカウンタＨＣＴ＿Ａのカウント動作が満了した時点でヘッダ状態Ｓ＿ＨＤからデータ状態Ｓ＿ＤＡＴへ遷移する。
【００４０】
データカウンタＤＣＴ＿Ａは、このデータ状態Ｓ＿ＤＡＴへの遷移を受けてカウント動作を開始し、前述したように、送信クロックサイクルを、サイクル数“Ｍ＋１”を周期として巡回的にカウントする。選択信号生成回路ＳＳＧ＿Ａは、ステートがデータ状態Ｓ＿ＤＡＴであり、かつデータカウンタＤＣＴ＿Ａのカウント値が‘０’値の場合に、リードイネーブル信号ＲＥＮ＿Ａを‘０’レベルに制御し、それ以外の場合にリードイネーブル信号ＲＥＮ＿Ａを‘１’レベルに制御する。
【００４１】
また、選択信号生成回路ＳＳＧ＿Ａは、リードイネーブル信号ＲＥＮ＿Ａの反転信号を選択信号ＳＳ＿Ａとして出力する。すなわち、選択信号ＳＳ＿Ａは、データカウンタＤＣＴ＿Ａのカウント値が‘０’値の場合に‘１’レベルに制御され、‘０’値を除く値の場合に‘０’レベルに制御される。なお、データカウンタＤＣＴ＿Ａは、カウント動作を行っていない期間では、リードイネーブル信号ＲＥＮ＿Ａを‘１’レベル（選択信号ＳＳ＿Ａを‘０’レベル）に定める値（例えば‘Ｍ’等）を出力する。
【００４２】
ステートマシンＳＭ＿Ａは、（条件Ａ）データバリッド信号ＤＶ＿Ａ２が‘０’レベルであり、かつ（条件Ｂ）データカウンタＤＣＴ＿Ａのカウント値が‘０’値を除く値（言い換えれば、リードイネーブル信号ＲＥＮ＿Ａが‘１’レベル）である場合に、データ状態Ｓ＿ＤＡＴからアイドル状態Ｓ＿ＩＤＬＥへ遷移する。データカウンタＤＣＴ＿Ａは、このアイドル状態Ｓ＿ＩＤＬＥへの遷移に応じて、カウント動作を終了する。
【００４３】
当該（条件Ｂ）は、図４および図６に示されるように、ペイロード領域ＰＬＤの処理を終えた次の送信クロックサイクルと、緊急通知データＥＤＴ＿Ａｉの挿入サイクルとが一致した場合には、当該サイクルに緊急通知データＥＤＴ＿Ａｉを挿入するという条件である。これにより、例えば、ペイロード領域ＰＬＤの処理を終える直前のタイミングで緊急通知が生じた場合でも、当該緊急通知を現在処理中のフレームに反映させることが可能になる。
【００４４】
データバリッド生成回路ＤＶＧ＿Ａは、図６に示されるように、ヘッダ状態Ｓ＿ＨＤとデータ状態Ｓ＿ＤＡＴの期間で、データバリッド信号ＤＶ＿Ａ３を‘１’レベルに制御する。データバリッド信号ＤＶ＿Ａ３の‘１’レベル期間は、前述した（条件Ｂ）の状況が生じない場合には、データバリッド信号ＤＶ＿Ａ２の‘１’レベル期間に等しくなるが、前述した（条件Ｂ）の状況が生じる場合には、データバリッド信号ＤＶ＿Ａ２の‘１’レベル期間よりも１サイクル分伸びることになる。
【００４５】
以上のように、図３のＦＩＦＯバッファＦＩＦＯ＿Ａ１，ＦＩＦＯ＿Ａ２、図５の各カウンタ（ＨＣＴ＿Ａ，ＤＣＴ＿Ａ）およびステートマシンＳＭ＿Ａを用いて送信回路ＴＸＣを構成することで、簡素な構成および動作でフレーム内に緊急通知データを挿入することが可能になる。なお、図６では、データカウンタＤＣＴ＿Ａのカウント値が‘０’値の場合に緊急通知データが挿入されたが、必ずしも‘０’値に限定されない。ただし、緊急通知をできるだけ早期に送信する観点と、設定周期Ｍの設定範囲を広げる観点からは、‘０’値が望ましい。例えば、カウンタ値を‘７’値とした場合、フレーム内で緊急通知が最初に送信されるタイミングが‘０’値の場合よりも７サイクル遅れ、また、実用上、設定周期Ｍの最小値が‘７’値以上に限定される。
【００４６】
《受信回路の主要部の詳細》
図７は、図１の半導体装置において、受信回路の主要部の構成例を示す回路ブロック図である。図８は、図７の受信回路の動作例を示す波形図である。図７に示す受信回路ＲＸＣは、データバリッド受信ノードＮＤｒ１およびフレームデータ受信ノードＮＤｒ２と、通常データ出力ノードＮＤｏ１および緊急通知データ出力ノードＮＤｏ２とを備える。また、当該受信回路ＲＸＣは、誤り検出回路ＣＲＣＤと、周期設定レジスタＳＲＥＧ＿Ｂと、データ振り分け回路ＤＤＣ＿Ｂと、ラッチ回路ＬＴ＿Ｂと、ＦＩＦＯバッファＦＩＦＯ＿Ｂとを備える。受信回路ＲＸＣは、受信クロックサイクルに同期してフレームの受信ならびに受信に伴う各種処理を行う。
【００４７】
データバリッド受信ノードＮＤｒ１は、ネットワークＮＷ１からのデータバリッド信号ＤＶ＿Ｂｉを受信し、フレームデータ受信ノードＮＤｒ２は、ネットワークＮＷ１からのフレームデータＤＴ＿Ｂｉを受信する。フレームデータＤＴ＿Ｂｉは、送信回路ＴＸＣと同じｎビット（例えば４ビットや８ビット等）のビット幅で構成される。データバリッド信号ＤＶ＿ＢｉおよびフレームデータＤＴ＿Ｂｉは、図８に示されるように、図６のデータバリッド信号ＤＶ＿ＡｏおよびフレームデータＤＴ＿Ａｏに等しい。なお、データバリッド信号ＤＶ＿ＢｉおよびフレームデータＤＴ＿Ｂｉは、厳密には、図１のＰＨＹ回路ＰＨＹ２から入力され、データバリッド信号ＤＶ＿Ｂｉは、ＰＨＹ回路ＰＨＹ２によって生成される。
【００４８】
誤り検出回路ＣＲＣＤは、フレームデータＤＴ＿Ｂｉのヘッダ領域ＨＤおよびペイロード領域ＰＬＤのデータを対象に誤り検出符号（ＣＲＣ符号）を算出し、誤り検出符号領域ＦＣＳのＣＲＣ符号と比較することで誤りを検出する。前述したように、送信回路ＴＸＣは、緊急通知データが挿入された状態を対象としたＣＲＣ符号を誤り検出符号領域ＦＣＳに格納しているため、誤り検出回路ＣＲＣＤは、フレームデータＤＴ＿Ｂｉを対象に正常に誤り検出を行うことができる。
【００４９】
周期設定レジスタＳＲＥＧ＿Ｂは、例えば図１のＣＰＵによって設定される設定周期Ｍを保持する。設定周期Ｍは、図１および図２で述べたように、緊急通知データを定期的に抽出する際のデータ間隔を定める値である。設定周期Ｍは、送信回路ＴＸＣと受信回路ＲＸＣとで同じ値に設定される。ラッチ回路ＬＴ＿Ｂは、緊急通知データを保持するための回路であり、ＦＩＦＯバッファＦＩＦＯ＿Ｂは、通常データ（すなわちフレームのヘッダ領域ＨＤおよびペイロード領域ＰＬＤに格納されたデータ）を保持するためのバッファである。
【００５０】
データ振り分け回路ＤＤＣ＿Ｂは、詳細は後述するが、送信回路ＴＸＣの場合と同様に、受信クロックサイクルを、設定周期Ｍ（サイクル数“Ｍ＋１”）を周期として巡回的にカウントするデータカウンタを備える。データ振り分け回路ＤＤＣ＿Ｂは、当該データカウンタのカウント値に基づいて、図８に示されるように、ラッチ回路ＬＴ＿Ｂのラッチイネーブル信号ＬＥＮ＿Ｂをサイクル数“Ｍ＋１”毎に‘１’レベルに制御し、ラッチイネーブル信号ＬＥＮ＿Ｂとは相補の関係でＦＩＦＯバッファＦＩＦＯ＿Ｂのライトイネーブル信号ＷＥＮ＿Ｂを制御する。
【００５１】
具体的には、データ振り分け回路ＤＤＣ＿Ｂは、データカウンタのカウント値が所定の値の場合にはラッチイネーブル信号ＬＥＮ＿Ｂを‘１’レベルに制御する。これに応じて、ラッチ回路ＬＴ＿Ｂは、対応する受信クロックサイクルで受信したフレームデータＤＴ＿Ｂｉを緊急通知データとしてラッチし（言い換えれば抽出し）、それを、緊急通知データ出力ノードＮＤｏ２から緊急通知データＥＤＴ＿Ｂｏとして出力する。
【００５２】
一方、データ振り分け回路ＤＤＣ＿Ｂは、データカウンタのカウント値が所定の値を除く値の場合にはライトイネーブル信号ＷＥＮ＿Ｂを‘１’レベルに制御する。これに応じて、ＦＩＦＯバッファＦＩＦＯ＿Ｂには、対応する受信クロックサイクルで受信したフレームデータＤＴ＿Ｂｉが通常データとして書き込まれる。なお、ＦＩＦＯバッファＦＩＦＯ＿Ｂは、満タン状態にならないように、受信クロックサイクル毎に適宜読み出し動作を行い、読み出したデータを通常データＮＤＴ＿Ｂｏとして通常データ出力ノードＮＤｏ１から出力する。
【００５３】
《データ振り分け回路の詳細》
図９は、図７におけるデータ振り分け回路の構成例を示す回路ブロック図である。図１０は、図９のデータ振り分け回路の動作例を示す波形図である。図９に示すデータ振り分け回路ＤＤＣ＿Ｂは、ヘッダカウンタＨＣＴ＿Ｂと、データカウンタＤＣＴ＿Ｂと、ステートマシンＳＭ＿Ｂと、イネーブル信号生成回路ＥＮＧ＿Ｂとを備える。ヘッダカウンタＨＣＴ＿Ｂ、データカウンタＤＣＴ＿ＢおよびステートマシンＳＭ＿Ｂの構成および動作は、図５および図６の場合と同様である。
【００５４】
簡単に説明すると、図１０に示されるように、ステートマシンＳＭ＿Ｂは、データバリッド信号ＤＶ＿Ｂｉが‘１’レベルとなった際に、アイドル状態Ｓ＿ＩＤＬＥからヘッダ状態Ｓ＿ＨＤへ遷移する。ヘッダカウンタＨＣＴ＿Ｂは、当該遷移に応じてカウント動作を開始し、予め判明しているヘッダ領域ＨＤのデータ長に応じた送信クロックサイクル数“Ｎ＋１”をカウントする。ステートマシンＳＭ＿Ｂは、ヘッダカウンタＨＣＴ＿Ｂのカウント動作が満了した時点でデータ状態Ｓ＿ＤＡＴへ遷移する。データカウンタＤＣＴ＿Ｂは、当該遷移を受けてカウント動作を開始し、受信クロックサイクルを、サイクル数“Ｍ＋１”を周期として巡回的にカウントする。
【００５５】
イネーブル信号生成回路ＥＮＧ＿Ｂは、ステートがデータ状態Ｓ＿ＤＡＴであり、かつデータカウンタＤＣＴ＿Ｂのカウント値が‘０’値の場合に、ラッチイネーブル信号ＬＥＮ＿Ｂを‘１’レベルに制御し、当該カウント値が‘０’値を除く値の場合にラッチイネーブル信号ＬＥＮ＿Ｂを‘０’レベルに制御する。また、イネーブル信号生成回路ＥＮＧ＿Ｂは、ラッチイネーブル信号ＬＥＮ＿Ｂの反転信号をライトイネーブル信号ＷＥＮ＿Ｂとして出力する。すなわち、ライトイネーブル信号ＷＥＮ＿Ｂは、データカウンタＤＣＴ＿Ｂのカウント値が‘０’値の場合に‘０’レベルに制御され、‘０’値を除く値の場合に‘１’レベルに制御される。なお、イネーブル信号生成回路ＥＮＧ＿Ｂは、ステートがアイドル状態Ｓ＿ＩＤＬＥの場合には、ライトイネーブル信号ＷＥＮ＿Ｂを‘０’レベルに制御する。
【００５６】
ステートマシンＳＭ＿Ｂは、（条件Ｃ）データバリッド信号ＤＶ＿Ｂｉが‘０’レベルであり、かつ（条件Ｄ）データカウンタＤＣＴ＿Ｂのカウント値が‘０’値を除く値（言い換えれば、ライトイネーブル信号ＷＥＮ＿Ｂが‘１’レベル）である場合に、データ状態Ｓ＿ＤＡＴからアイドル状態Ｓ＿ＩＤＬＥへ遷移する。データカウンタＤＣＴ＿Ｂは、このアイドル状態Ｓ＿ＩＤＬＥへの遷移に応じて、カウント動作を終了する。当該（条件Ｄ）は、前述したステートマシンＳＭ＿Ａの（条件Ｂ）に適合するものである。
【００５７】
以上のように、図９の各カウンタ（ＨＣＴ＿Ｂ，ＤＣＴ＿Ｂ）およびステートマシンＳＭ＿Ｂを用いて受信回路ＲＸＣを構成することで、簡素な構成および動作でフレームの中から緊急通知データが抽出することが可能になる。なお、緊急通知データを抽出するデータカウンタＤＣＴ＿Ｂのカウント値は、送信回路ＴＸＣの場合と同様に、必ずしも‘０’値に限定されない。ただし、当該カウント値は、送信回路ＴＸＣと受信回路ＲＸＣで同じ値にする必要はある。
【００５８】
《実施の形態１の主要な効果》
以上、実施の形態１の方式を用いることで、図３０の場合のような送信中のフレームの送信完了待ちや再送を伴わずに、緊急通知を低遅延で送信することが可能になる。その結果、特に、車載通信システム等を代表とする安全性に対する要求が高いシステムで、有益な効果が得られる。また、比較例２の場合と比較して、再送やパディングが不要となることから、これらに伴う帯域オーバヘッドを削減できる。さらに、再送が不要となることから、通常データの送信遅延を低減でき、通信システムの高信頼化を図れる場合がある。
【００５９】
なお、緊急通知データは、エラーコードのようなデータに限らず、例えば、定常的に低遅延で送信する必要がある何らかのデータ（例えば異常を検出するセンサの測定値等）であってもよい。また、図１の通信システムは、半導体装置ＤＥＶ１と半導体装置ＤＥＶ２とで双方向通信を行える構成となっているが、場合によって片方向通信のみを行える構成であってもよい。
【００６０】
（実施の形態２）
《通信システムの概略（応用例）》
図１１は、本発明の実施の形態２による通信システムにおいて、主要部の構成例を示す概略図である。図１１に示す通信システムは、図１の通信システムと比較して、図１の半導体装置ＤＥＶ１が図１１の半導体装置ＤＥＶ１ａに置き換わり、さらに、ネットワークＮＷ２と、半導体装置ＤＥＶ’１，ＤＥＶ’２およびＰＨＹ回路ＰＨＹ３，ＰＨＹ４とが追加された構成となっている。半導体装置ＤＥＶ’１，ＤＥＶ’２のそれぞれは、既存の半導体装置であり、例えば、フレームの送受信を行う通常の通信回路ＣＣ’を備える。半導体装置ＤＥＶ’１，ＤＥＶ’２のそれぞれは、割り込み制御回路ＩＮＴＣによって生成された緊急通知データＥＤＴを通常の通信回路ＣＣ’を介してネットワークＮＷ２へ送信する。
【００６１】
半導体装置ＤＥＶ１ａは、図１の半導体装置ＤＥＶ１と比較して、割り込み制御回路ＩＮＴＣが通常の通信回路ＣＣ’に置き換わった構成となっている。当該通信回路ＣＣ’は、ネットワークＮＷ２を介して半導体装置ＤＥＶ’１，ＤＥＶ’２からの緊急通知データＥＤＴを受信し、それを、実施の形態１で述べた通信回路ＣＣへ出力する。当該通信回路ＣＣは、実施の形態１で述べたように、当該入力された緊急通知データＥＤＴをフレームの中に定期的に挿入し、当該フレーム（フレームデータＤＴ）をネットワークＮＷ１へ送信する。
【００６２】
《実施の形態２の主要な効果》
このように、半導体装置ＤＥＶ１ａに半導体装置ＤＥＶ’１，ＤＥＶ’２からの緊急通知データＥＤＴを中継させることで、通信システムを構成する全ての半導体装置に実施の形態１の通信回路ＣＣを適用する必要性が無くなる。例えば、末端のネットワーク（ここではネットワークＮＷ２および半導体装置ＤＥＶ’１，ＤＥＶ’２）には既存のネットワークをそのまま使用し、上位ネットワーク（この例では、ネットワークＮＷ１および半導体装置ＤＥＶ１ａ，ＤＥＶ２）で、通常フレームと緊急通知フレームが混ざるような箇所に実施の形態１の方式を適用すればよい。これによって、実施の形態１で述べた各種効果に加えて、通信システムのコストの増大を抑制することが可能になる。
【００６３】
（実施の形態３）
《データ合成処理回路の詳細（変形例）》
図１２は、本発明の実施の形態３による半導体装置において、図３のデータ合成処理回路の構成例を示す回路ブロック図である。図１３は、図１２のデータ合成処理回路の動作例を示す波形図である。図１２のデータ合成処理回路ＤＳＣ＿Ｃは、図５のデータ合成処理回路ＤＳＣ＿Ａと比較して、ヘッダカウンタＨＣＴ＿Ａが削除され、これに伴い、ステートマシンＳＭ＿Ｃおよびデータバリッド生成回路ＤＶＧ＿Ｃの動作が異なっている。
【００６４】
図１２のデータ合成処理回路ＤＳＣ＿Ｃは、概略的には、図１３に示されるように、図５および図６の場合と異なり、フレームのペイロード領域ＰＬＤに加えてヘッダ領域ＨＤにも緊急通知データを挿入する。このような動作を行うため、ステートマシンＳＭ＿Ｃは、データバリッド信号ＤＶ＿Ａ２が‘０’レベルから‘１’レベルに変化した際に、アイドル状態Ｓ＿ＩＤＬＥからヘッダ状態Ｓ＿ＨＤではなくデータ状態Ｓ＿ＤＡＴへ遷移する。データカウンタＤＣＴ＿Ａは、このデータ状態Ｓ＿ＤＡＴへの遷移を受けてカウント動作を開始する。
【００６５】
選択信号生成回路ＳＳＧ＿Ａは、ステートがデータ状態Ｓ＿ＤＡＴであり、かつデータカウンタＤＣＴ＿Ａのカウント値が‘０’値の場合に、リードイネーブル信号ＲＥＮ＿Ｃを‘０’レベルに制御し、それ以外の場合にリードイネーブル信号ＲＥＮ＿Ｃを‘１’レベルに制御する。また、選択信号生成回路ＳＳＧ＿Ａは、リードイネーブル信号ＲＥＮ＿Ｃの反転信号を選択信号ＳＳ＿Ｃとして出力する。データバリッド生成回路ＤＶＧ＿Ｃは、図５の場合と異なり、ステートがデータ状態Ｓ＿ＤＡＴの期間でデータバリッド信号ＤＶ＿Ｃ３を‘１’レベルに制御する。
【００６６】
《実施の形態３の主要な効果》
このように、ヘッダ領域ＨＤから緊急通知データの挿入を開始することで、実施の形態１で述べた各種効果に加えて、緊急通知をより低遅延で送信することが可能になる。例えば、ヘッダ長が１４バイトであれば、遅延時間を１４バイト時間短縮することができる。ただし、ヘッダ領域ＨＤに緊急通知データを挿入すると、例えば、汎用のイーサネットスイッチ等ではヘッダ領域ＨＤを正しく認識できなくなるため、この観点では、実施の形態１のように、緊急通知データの挿入対象をペイロード領域ＰＬＤとすることが望ましい。
【００６７】
（実施の形態４）
《送信回路の主要部の詳細（応用例）》
図１４は、本発明の実施の形態４による半導体装置において、図１の送信回路の主要部の構成例を示す回路ブロック図である。図１５は、図１４におけるデータ合成処理回路の構成例を示す回路ブロック図である。図１６は、図１４におけるデータ分割回路の構成例を示す回路図である。図１７は、図１４の送信回路の動作例を示す波形図である。図１８は、図１５のデータ合成処理回路の動作例を示す波形図である。
【００６８】
図１４に示す送信回路ＴＸＣは、図３の構成例と比較して、緊急通知データ入力ノードＮＤｉ３に入力される緊急通知データＥＤＴ＿Ｄｉのビット幅が“２×ｎ”ビットに変更され、これに応じて、フレーム生成回路ＦＲＧ＿Ｄの構成および動作が異なっている。概略的には、図１４に示す送信回路ＴＸＣは、図１７に示されるように、サイクル数“Ｍ＋１”毎に、“２×ｎ”ビットの緊急通知データＥＤＴ＿Ｄｉをｎビットずつ２サイクルに分けて挿入する。
【００６９】
フレーム生成回路ＦＲＧ＿Ｄは、図３の構成例と比較して、データ分割回路ＤＤＩＶが追加され、データ合成処理回路ＤＳＣ＿Ｄの構成および動作が異なっている。データ分割回路ＤＤＩＶは、図１６に示されるように、選択回路ＳＥＬ＿Ｄを備える。選択回路ＳＥＬ＿Ｄは、データカウンタのカウント値ＣＮ＿Ｄが‘０’値の場合には、緊急通知データＥＤＴ＿Ｄｉの上位ｎビットとなる緊急通知データ（上位）ＥＤＴ＿Ｄｕを選択し、カウント値ＣＮ＿Ｄが‘１’値の場合には、緊急通知データＥＤＴ＿Ｄｉの下位ｎビットとなる緊急通知データ（下位）ＥＤＴ＿Ｄｌを選択する。選択回路ＳＥＬ＿Ｄは、当該選択したデータを緊急通知データＥＤＴ＿Ｄｘとして出力する。なお、カウント値ＣＮ＿Ｄが‘０’値または‘１’値を除く値の場合の緊急通知データＥＤＴ＿Ｄｘは、ドントケア値でよい。
【００７０】
データ合成処理回路ＤＳＣ＿Ｄは、図１５に示されるように、図５のデータ合成処理回路ＤＳＣ＿Ａと比較して、次ぎの３点が異なっている。１点目は、データカウンタＤＣＴ＿Ａが、データ分割回路ＤＤＩＶへカウント値ＣＮ＿Ｄを出力する点であり、２点目は、選択信号生成回路ＳＳＧ＿Ｄの構成および動作が異なる点であり、３点目は、ステートマシンＳＭ＿Ｄの構成および動作が異なる点である。
【００７１】
選択信号生成回路ＳＳＧ＿Ｄは、図１８に示されるように、ステートがデータ状態Ｓ＿ＤＡＴであり、かつデータカウンタＤＣＴ＿Ａのカウント値が‘０’値または‘１’値の場合に、リードイネーブル信号ＲＥＮ＿Ｄを‘０’レベルに制御し、それ以外の場合にリードイネーブル信号ＲＥＮ＿Ｄを‘１’レベルに制御する。また、選択信号生成回路ＳＳＧ＿Ｄは、リードイネーブル信号ＲＥＮ＿Ｄの反転信号を選択信号ＳＳ＿Ｄとして出力する。すなわち、選択信号ＳＳ＿Ｄは、データカウンタＤＣＴ＿Ａのカウント値が‘０’値または‘１’値の場合に‘１’レベルに制御され、‘０’値および‘１’値を除く値の場合に‘０’レベルに制御される。
【００７２】
ステートマシンＳＭ＿Ｄは、図５のステートマシンＳＭ＿Ａと比較して、前述したデータ状態Ｓ＿ＤＡＴからアイドル状態Ｓ＿ＩＤＬＥへ遷移する際の（条件Ｂ）が異なっている。具体的には、ステートマシンＳＭ＿Ｄは、（条件Ｂ）の代わりに、（条件Ｅ）データカウンタＤＣＴ＿Ａのカウント値が‘０’値または‘１’値を除く値（言い換えれば、リードイネーブル信号ＲＥＮ＿Ｄが‘１’レベル）である場合に、アイドル状態Ｓ＿ＩＤＬＥへ遷移する、を用いる。その結果、図１８に示されるように、データバリッド生成回路ＤＶＧ＿Ａからのデータバリッド信号ＤＶ＿Ｄ３は、データバリッド信号ＤＶ＿Ａ２よりも２サイクル分延びる場合がある。
【００７３】
図１４のデータ選択回路ＤＳＥＬ＿Ａは、選択信号ＳＳ＿Ｄが‘０’レベル（リードイネーブル信号ＲＥＮ＿Ｄが‘１’レベル）の場合には、通常データＮＤＴ＿Ａ２を選択し、選択信号ＳＳ＿Ｄが‘１’レベル（リードイネーブル信号ＲＥＮ＿Ｄが‘０’レベル）の場合には、データ分割回路ＤＤＩＶからの緊急通知データＥＤＴ＿Ｄｘを選択する。そして、データ選択回路ＤＳＥＬ＿Ａは、図１７に示されるように、当該選択したデータを選択データＳＤＴ＿Ｄとして出力する。この際に、データ選択回路ＤＳＥＬ＿Ａは、選択信号ＳＳ＿Ｄの‘１’レベルの期間において、１サイクル目で緊急通知データ（上位）ＥＤＴ＿Ｄｕを出力し、２サイクル目で緊急通知データ（下位）ＥＤＴ＿Ｄｌを出力することになる。
【００７４】
以降は、実施の形態１の場合と同様に、誤り検出符号算出回路ＣＲＣＧを介して、ｎビットのフレームデータＤＴ＿Ｄｏがフレームデータ送信ノードＮＤｔ２から送信され、バリッドデータ信号ＤＶ＿Ｄｏがデータバリッド送信ノードＮＤｔ１から送信される。なお、詳細な説明は省略するが、受信回路ＲＸＣに対しても、当該送信回路ＴＸＣの場合と同様の変更を加えることで、２サイクルに分割された緊急通知データを受信することが可能になる。また、ここでは２サイクルを例としたが、同様にして３サイクル以上に分割することも可能である。
【００７５】
《実施の形態４の主要な効果》
以上、実施の形態４の方式を用いることで、実施の形態１で述べた各種効果に加えて、通常データのビット幅よりも緊急通知データのビット幅の方が大きい場合でも対応することが可能になる。すなわち、通常データのビット幅に制約されずに、ある程度大きいデータサイズの緊急通知データを送信することも可能になり、ユーザの利便性の向上等が図れる。
【００７６】
（実施の形態５）
《前提となる問題点》
前述した実施の形態１の方式では、フレームの長さと設定周期Ｍとの組合せによっては、受信回路ＲＸＣで、緊急通知データの受信サイクルとＣＲＣ符号の受信サイクルとが重複する場合があり、この場合、ＣＲＣ符号を緊急通知データと誤認する恐れがある。具体的には、例えば、図８において、受信回路ＲＸＣは、単にラッチイネーブル信号ＬＥＮ＿Ｂが‘１’レベルのサイクルで受信したフレームデータＤＴ＿Ｂｉを緊急通知データＥＤＴ＿Ｂｏと認識している。したがって、例えば、誤り検出符号領域ＦＣＳの期間（４バイト分）でラッチイネーブル信号ＬＥＮ＿Ｂが‘１’レベルとなるような状況が生じた場合には、受信回路ＲＸＣは、当該サイクルで受信したデータがＣＲＣ符号であることを知る術が無い。
【００７７】
一方、例えば、フレームの長さと設定周期Ｍとの組合せに制約を加え、緊急通知データの受信サイクルとＣＲＣ符号の受信サイクルとが重複しないようにすることも可能である。ただし、このような制約は、ユーザの利便性の低下を招く。そこで、以下のような方式を用いることが有益となる。
【００７８】
《受信回路の主要部の詳細（応用例）》
図１９は、本発明の実施の形態５による半導体装置において、図１の受信回路の主要部の構成例を示す回路ブロック図である。図２０は、図１９におけるデータ振り分け回路の構成例を示す回路ブロック図である。図２１は、図１９の受信回路の動作例を示す波形図である。図１９に示す受信回路ＲＸＣは、図７の構成例と比較して、遅延回路ＤＬＹ１，ＤＬＹ２およびマスク信号生成回路ＭＳＫＧが追加され、データ振り分け回路ＤＤＣ＿Ｅの構成および動作が異なっている。
【００７９】
マスク信号生成回路ＭＳＫＧは、図２１に示されるように、データバリッド受信ノードＮＤｒ１で受信したデータバリッド信号ＤＶ＿Ｂｉが‘１’レベルから‘０’レベルへ遷移した時点からＫサイクル分のマスク信号ＭＳＫを出力する。Ｋサイクルは、フレームのＣＲＣ符号のデータ長に応じたクロックサイクル数であり、例えば、フレームデータＤＴ＿Ｂｉのビット幅ｎが１バイトの場合、４サイクルである。
【００８０】
遅延回路ＤＬＹ１は、図２１に示されるように、データバリッド受信ノードＮＤｒ１で受信したデータバリッド信号ＤＶ＿ＢｉをＫサイクル分（例えば４サイクル分）遅延させ、遅延後データバリッド信号ＤＶ＿Ｅを出力する。同様に、遅延回路ＤＬＹ２は、フレームデータ受信ノードＮＤｒ２で受信したフレーム（フレームデータＤＴ＿Ｂｉ）を、Ｋサイクル分（例えば４サイクル分）遅延させ、遅延後フレーム（フレームデータＤＴ＿Ｅ）を出力する。
【００８１】
その結果、図２１に示されるように、フレームデータＤＴ＿Ｅが誤り検出符号領域ＦＣＳのデータとなる期間で、当該期間に一致する‘１’レベルのマスク信号ＭＳＫを出力することができる。そこで、データ振り分け回路ＤＤＣ＿Ｅは、データカウンタＤＣＴ＿Ｂのカウント値が所定の値（例えば‘０’値）の場合で、マスク信号ＭＳＫが出力されていない場合には、ラッチイネーブル信号ＬＥＮ＿Ｅを‘１’レベルに制御することで、フレームデータＤＴ＿Ｅを緊急通知データＥＤＴ＿Ｅｏとして抽出する。
【００８２】
一方、データ振り分け回路ＤＤＣ＿Ｅは、データカウンタＤＣＴ＿Ｂのカウント値が所定の値（例えば‘０’値）の場合で、マスク信号ＭＳＫが出力されている場合には、ラッチイネーブル信号ＬＥＮ＿Ｅの‘１’レベルをマスクすることで、フレームデータＤＴ＿Ｅからの緊急通知データの抽出を行わない。その代わりに、データ振り分け回路ＤＤＣ＿Ｅは、ライトイネーブル信号ＷＥＮ＿Ｅの‘０’レベルをマスクすることで、フレームデータＤＴ＿ＥをＦＩＦＯバッファＦＩＦＯ＿Ｂに書き込む。
【００８３】
このような動作を行うため、データ振り分け回路ＤＤＣ＿Ｅは、例えば、図２０に示されるような構成を備える。図２０のデータ振り分け回路ＤＤＣ＿Ｅは、図９のデータ振り分け回路ＤＤＣ＿Ｂと比較して、ステートマシンＳＭ＿Ｂの入力が遅延後データバリッド信号ＤＶ＿Ｅに変更されており、さらに、オア演算回路ＯＲ１およびアンド演算回路ＡＤ１が追加されている。アンド演算回路ＡＤ１は、イネーブル信号生成回路ＥＮＧ＿Ｂからのラッチイネーブル信号ＬＥＮ＿Ｂとマスク信号ＭＳＫの反転信号とのアンド演算を行うことでラッチイネーブル信号ＬＥＮ＿Ｅを出力する。オア演算回路ＯＲ１は、イネーブル信号生成回路ＥＮＧ＿ＢからのライトイネーブルＷＥＮ＿Ｂとマスク信号ＭＳＫとのオア演算を行うことで、ライトイネーブル信号ＷＥＮ＿Ｅを出力する。
【００８４】
《実施の形態５の主要な効果》
以上、実施の形態５の方式を用いることで、実施の形態１で述べた各種効果に加えて、受信回路ＲＸＣで、ＣＲＣ符号を緊急通知データと誤認することを防止することが可能になる。また、この際には、フレームの長さと設定周期Ｍとの組合せに制約を加える必要が無いため、ユーザの利便性の向上等が図れる。
【００８５】
（実施の形態６）
《送信回路の主要部の詳細（応用例）》
図２２は、本発明の実施の形態６による半導体装置において、図１の送信回路の主要部の構成例を示す回路ブロック図である。図２３（ａ）は、図２２におけるビット連結回路の構成例を示す回路図であり、図２３（ｂ）は、図２３（ａ）のビット連結回路の具体的な入出力例を示す図である。図２４は、図２２の送信回路の動作例を示す波形図である。実施の形態６の方式は、実施の形態５で述べた誤認の問題を、実施の形態５とは異なる方式で解決するものである。
【００８６】
概略的には、図２４に示されるように、送信回路ＴＸＣは、フレーム毎に、緊急通知データＥＤＴ＿Ｆｘの挿入を終了するサイクルで、緊急通知データＥＤＴ＿Ｆｘにおけるｎビット中の１ビットに所定の論理レベル（ここでは‘１’レベル）の最終データフラグＦＬＧを格納する。これに応じて、受信回路ＲＸＣは、後述するように、フレーム毎に、当該所定の論理レベルの最終データフラグＦＬＧを検出した後は緊急通知データの抽出を行わない。
【００８７】
図２２に示す送信回路ＴＸＣは、図３の構成例と比較して、緊急通知データ入力ノードＮＤｉ３に入力される緊急通知データＥＤＴ＿Ｆｉのビット幅が“ｎ−１”ビットに変更され、これに応じて、フレーム生成回路ＦＲＧ＿Ｆの構成および動作が異なっている。さらに、図２２に示す送信回路ＴＸＣは、図３の構成例と比較して、バスインタフェースＢＳＩＦからフレーム長ＦＬＮＧが入力される構成となっている。
【００８８】
フレーム生成回路ＦＲＧ＿Ｆは、図３のフレーム生成回路ＦＲＧ＿Ａと比較して、ビット連結回路ＢＬＮが追加され、データ合成処理回路ＤＳＣ＿Ｆの構成および動作が異なっている。ビット連結回路ＢＬＮは、図２３（ａ）に示されるように、“ｎ−１”ビットの緊急通知データＥＤＴ＿Ｆｉと、データ合成処理回路ＤＳＣ＿Ｆからの１ビットの最終データフラグＦＬＧとを連結して、ｎビットの緊急通知データＥＤＴ＿Ｆｘを出力する回路である。
【００８９】
データ合成処理回路ＤＳＣ＿Ｆは、図示は省略するが、図５のデータ合成処理回路ＤＳＣ＿Ａと同様の構成を備え、加えて、入力されたフレーム長ＦＬＮＧと設定周期Ｍとに基づいて、最終データフラグＦＬＧを出力する回路を備える。すなわち、データ合成処理回路ＤＳＣ＿Ｆは、予めフレーム長ＦＬＮＧと設定周期Ｍ（サイクル数“Ｍ＋１”）とが判っていれば、緊急通知データの挿入を終了する最終サイクルのタイミングを計算することができ、このタイミングで‘１’レベルの最終データフラグＦＬＧを出力する。
【００９０】
図２２のデータ選択回路ＤＳＥＬ＿Ａは、選択信号ＳＳ＿Ａが‘０’レベル（リードイネーブル信号ＲＥＮ＿Ａが‘１’レベル）の場合には、通常データＮＤＴ＿Ａ２を選択し、選択信号ＳＳ＿Ａが‘１’レベル（リードイネーブル信号ＲＥＮ＿Ａが‘０’レベル）の場合には、ビット連結回路ＢＬＮからの緊急通知データＥＤＴ＿Ｆｘを選択する。そして、データ選択回路ＤＳＥＬ＿Ａは、図２４に示されるように、当該選択したデータを選択データＳＤＴ＿Ｆとして出力する。
【００９１】
ここで、図２４において、選択信号ＳＳ＿Ａが‘１’レベルの期間で出力されている選択データＳＤＴ＿Ｆ（すなわち緊急通知データＥＤＴ＿Ｆｘ）の各値Ｃ２，Ｄ２，Ｄ３は、ｎ＝８とした場合、図２３（ｂ）に示される値となる。例えば、値Ｄ２に関し、０ビット目〜６ビット目は、緊急通知データＥＤＴ＿Ｆｉとなる値Ｄ１であり、７ビット目は‘０’レベルの最終データフラグＦＬＧである。一方、値Ｄ３に関し、０ビット目〜６ビット目は同じく値Ｄ１であるが、７ビット目は‘１’レベルの最終データフラグＦＬＧである。
【００９２】
《受信回路の主要部の詳細（応用例）》
図２５は、本発明の実施の形態６による半導体装置において、図１の受信回路の主要部の構成例を示す回路ブロック図である。図２６は、図２５におけるビット分割回路の構成例を示す回路図である。図２７は、図２５におけるデータ振り分け回路の構成例を示す回路ブロック図である。図２８は、図２５の受信回路の動作例を示す波形図である。図２５に示す受信回路ＲＸＣは、図７の構成例と比較して、ビット分割回路ＢＤＩＶが追加され、データ振り分け回路ＤＤＣ＿Ｇの構成および動作が異なっている。
【００９３】
図２５の受信回路ＲＸＣのデータバリッド受信ノードＮＤｒ１には、データバリッド信号ＤＶ＿Ｇｉが入力され、フレームデータ受信ノードＮＤｒ２には、フレームデータＤＴ＿Ｇｉが入力される。データバリッド信号ＤＶ＿ＧｉおよびフレームデータＤＴ＿Ｇｉは、図２８に示されるように、図２２の送信回路ＴＸＣから送信されたデータバリッド信号ＤＶ＿ＦｏおよびフレームデータＤＴ＿Ｆｏ（図２４参照）に等しい。
【００９４】
ビット分割回路ＢＤＩＶには、図２５および図２６に示されるように、ラッチ回路ＬＴ＿Ｂからのｎビットの緊急通知データＥＤＴ＿Ｇｘが入力される。ビット分割回路ＢＤＩＶは、緊急通知データＥＤＴ＿Ｇｘの０ビット目〜“ｎ−１”ビット目を緊急通知データＥＤＴ＿Ｇｏとして緊急通知データ出力ノードＮＤｏ２から出力し、ｎビット目を最終データフラグＦＬＧとしてデータ振り分け回路ＤＤＣ＿Ｇへ出力する。
【００９５】
データ振り分け回路ＤＤＣ＿Ｇは、図２７に示されるように、図２０のデータ振り分け回路ＤＤＣ＿Ｅと比較して、マスク信号ＭＳＫが最終データフラグＦＬＧに置き換わっている。図２５のラッチ回路ＬＴ＿Ｂは、当該データ振り分け回路ＤＤＣ＿Ｇからのラッチイネーブル信号ＬＥＮ＿Ｇに応じて、フレームデータＤＴ＿Ｇｉの中から定期的に緊急通知データＥＤＴ＿Ｇｘを抽出する。図２８に示されるように、この抽出された緊急通知データＥＤＴ＿Ｇｘが‘１’レベルの最終データフラグＦＬＧを含む値Ｄ３の場合、ビット分割回路ＢＤＩＶは、データ振り分け回路ＤＤＣ＿Ｇへ当該‘１’レベルの最終データフラグＦＬＧを出力する。
【００９６】
データ振り分け回路ＤＤＣ＿Ｇは、図２１のマスク信号ＭＳＫの代わりに最終データフラグＦＬＧを用いて、図２１の場合と同様にイネーブル信号生成回路ＥＮＧ＿Ｂからのライトイネーブル信号ＷＥＮ＿Ｂおよびラッチイネーブル信号ＬＥＮ＿Ｂに対してオア演算およびアンド演算を行う。その結果、データ振り分け回路ＤＤＣ＿Ｇは、‘１’レベルの最終データフラグＦＬＧを検出した後は、図２８に示されるように、ＦＩＦＯバッファＦＩＦＯ＿Ｂのライトイネーブル信号ＷＥＮ＿Ｇの‘０’レベルおよびラッチ回路ＬＴ＿Ｂのラッチイネーブル信号ＬＥＮ＿Ｇの‘１’レベルをマスクする。これにより、‘１’レベルの最終データフラグＦＬＧが検出された後は、緊急通知データの抽出は行われない。
【００９７】
《実施の形態６の主要な効果》
以上、実施の形態６の方式を用いることで、前述した実施の形態５の方式と同様の効果が得られる。さらに、実施の形態５の方式と比較して、受信回路ＲＸＣ内に遅延回路ＤＬＹ１，ＤＬＹ２を設ける必要がないため、緊急通知データをより低遅延で受信回路ＲＸＣ内の割り込み制御回路ＩＮＴＣ等へ送信することが可能になる。
【００９８】
（実施の形態７）
《通信システムの運用方法》
ここでは、実施の形態１，２，４〜６で述べた設定周期Ｍの決定方法について説明する。設定周期Ｍは、任意の値に定めることが可能であり、原理的には、小さい値に設定するほど緊急通知データを低遅延で送信することが可能になる。ただし、実際には、過剰に小さい値を設定しても、遅延が改善しないことがある。図２９は、本発明の実施の形態７による通信システムにおいて、設定周期の決定方法の一例を説明する図である。
【００９９】
図２９には、フレームＦＲが連続して送信されている状況が示される。フレームＦＲ内の“Ｘ”は緊急通知データの値を表す。図２９に示されるように、実際には、フレーム内の他に、フレーム間の緊急通知間隔Ｔ１が存在し、緊急通知の遅延時間のワースト値は、このフレーム間の緊急通知間隔Ｔ１に制約される。緊急通知間隔Ｔ１は、誤り検出領域ＦＣＳのＣＲＣ長（例えば４バイト）と、規格等で定められるフレームＦＲの間隔と、ヘッダ領域ＨＤのヘッダ長（プリアンブル領域を含む）（例えば２２バイト等）との合計値である。
【０１００】
このように、ワースト値が緊急通知間隔Ｔ１に制約されることから、設定周期Ｍは、サイクル数“Ｍ＋１”に対応するデータ間隔が緊急通知間隔Ｔ１以上となる値に設定すればよく、より望ましくは、当該データ間隔が緊急通知間隔Ｔ１と同等となる値に設定すればよい。これにより、緊急通知の遅延時間のワースト値を設定周期Ｍによって定めることができ、設定周期Ｍを過剰に小さい値に設定することによる帯域オーバヘッドの増大等を抑制することが可能になる。また、設定周期Ｍに基づくデータ間隔を緊急通知間隔Ｔ１と同等の値に設定することで、緊急通知の遅延時間のワースト値を、実使用上の最小値に定めることが可能になる。
【０１０１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【０１０２】
ＢＤＩＶ  ビット分割回路
ＢＬＮ  ビット連結回路
ＣＣ  通信回路
ＣＲＣＤ  誤り検出回路
ＣＲＣＧ  誤り検出符号算出回路
ＤＣＴ  データカウンタ
ＤＤＣ  データ振り分け回路
ＤＤＩＶ  データ分割回路
ＤＥＶ  半導体装置
ＤＬＹ  遅延回路
ＤＳＣ  データ合成処理回路
ＤＳＥＬ  データ選択回路
ＤＴ  フレームデータ
ＤＶ  データバリッド信号
ＤＶＧ  データバリッド生成回路
ＥＤＴ  緊急通知データ
ＥＮＧ  イネーブル信号生成回路
ＦＣＳ  誤り検出符号領域
ＦＩＦＯ  ＦＩＦＯバッファ
ＦＬＧ  最終データフラグ
ＦＲ  フレーム
ＦＲＧ  フレーム生成回路
ＨＣＴ  ヘッダカウンタ
ＨＤ  ヘッダ領域
ＬＥＮ  ラッチイネーブル信号
ＬＴ  ラッチ回路
Ｍ  設定周期
ＭＳＫ  マスク信号
ＭＳＫＧ  マスク信号生成回路
ＮＤ  ノード
ＮＤＴ  通常データ
ＮＷ  ネットワーク
ＰＬＤ  ペイロード領域
ＲＥＮ  リードイネーブル信号
ＲＸＣ  受信回路
Ｓ＿ＤＡＴ  データ状態
Ｓ＿ＨＤ  ヘッダ状態
Ｓ＿ＩＤＬＥ  アイドル状態
ＳＭ  ステートマシン
ＳＳ  選択信号
ＳＳＧ  選択信号生成回路
ＴＸＣ  送信回路
ＷＥＮ  ライトイネーブル信号
【図１】
2018148438.tif 000003
【図２】
2018148438.tif 000004
【図３】
2018148438.tif 000005
【図４】
2018148438.tif 000006
【図５】
2018148438.tif 000007
【図６】
2018148438.tif 000008
【図７】
2018148438.tif 000009
【図８】
2018148438.tif 000010
【図９】
2018148438.tif 000011
【図１０】
2018148438.tif 000012
【図１１】
2018148438.tif 000013
【図１２】
2018148438.tif 000014
【図１３】
2018148438.tif 000015
【図１４】
2018148438.tif 000016
【図１５】
2018148438.tif 000017
【図１６】
2018148438.tif 000018
【図１７】
2018148438.tif 000019
【図１８】
2018148438.tif 000020
【図１９】
2018148438.tif 000021
【図２０】
2018148438.tif 000022
【図２１】
2018148438.tif 000023
【図２２】
2018148438.tif 000024
【図２３】
2018148438.tif 000025
【図２４】
2018148438.tif 000026
【図２５】
2018148438.tif 000027
【図２６】
2018148438.tif 000028
【図２７】
2018148438.tif 000029
【図２８】
2018148438.tif 000030
【図２９】
2018148438.tif 000031
【図３０】
2018148438.tif 000032