(57)【特許請求の範囲】
【請求項１】
パケットを受信する半導体装置において、
第１の伝送路を通じて前記パケットを受信する受信部と、
前記パケットを送信した送信側半導体装置から前記第１の伝送路とは異なる第２の伝送路を通じて当該パケットの送信完了後に複数回送信される、当該パケットを送信したことを示すパケット送信信号を検出する送信信号検出部と、
前記送信信号検出部による前記パケット送信信号の検出に応じて、前記受信部による前記パケットの受信が完了しているか否か判断するパケット受信判断部と、
前記パケット受信判断部によって前記パケットの受信が完了していると判断された場合、前記送信信号検出部がその後に送信される前記パケット送信信号を検出しないようにする送信信号マスク部と、
を有することを特徴とする半導体装置。
【請求項２】
前記パケット受信判断部は、前記パケットの終端に含まれる終端情報が前記受信部に受信されているか否かに基づいて、前記受信部に前記パケットが受信されているか否か判断することを特徴とする請求項１記載の半導体装置。
【請求項３】
前記送信側半導体装置の前記パケットの送信完了タイミングに同期した受信タイミングを生成するタイミング生成部をさらに有し、
前記送信信号マスク部は、前記受信タイミングに基づいて前記送信信号検出部が前記パケット送信信号を検出するようにすることを特徴とする請求項１または２記載の半導体装置。
【請求項４】
パケットを受信する半導体装置のパケット受信方法において、
第１の伝送路を通じて前記パケットを受信部によって受信し、
前記パケットを送信した送信側半導体装置から前記第１の伝送路とは異なる第２の伝送路を通じて当該パケットの送信完了後に複数回送信される、当該パケットを送信したことを示すパケット送信信号を検出し、
前記パケット送信信号の検出に応じて、前記受信部による前記パケットの受信が完了しているか否か判断し、
前記パケットの受信が完了していると判断した場合、その後に送信される前記パケット送信信号を検出しないようにする、
ことを特徴とするパケット受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、パケット通信を行う半導体装置、およびパケット受信方法に関する。
【背景技術】
【０００２】
従来、複数のデバイス間のデータ転送に、パケットを使用するものがある。例えば、複数のデバイスは、パケットの経路を切り替えるスイッチにシリアル伝送路を介して接続され、あるデバイスがあるデバイスにパケットを転送するのに、前記のスイッチを介して行う。
【０００３】
具体的には、送信側デバイスから出力されるパケットには、受信側デバイスの宛先を示すデスティネーションＩＤが含まれている。スイッチは、シリアル伝送路を介して、送信側デバイスからパケットを受信すると、パケットに含まれているデスティネーションＩＤに基づき、受信したパケットを宛先の受信側デバイスが接続されたシリアル伝送路に出力する。これにより、送信側デバイスから受信側デバイスへデータ転送が行われる。
【０００４】
また、送信側デバイスは、割り込み信号を受信側デバイスに送信してパケットの送信完了通知を行う。受信側デバイスは、送信側デバイスからの割り込み信号を受信して受信したパケットのデータ処理を行う。これにより、受信側デバイスは、例えば、割り込み信号を受信してから、受信したパケットのデータ処理を行うことができ、割り込み信号を受信するまでの間、その他のデータ処理を行うことができる。なお、割り込み信号の信号線は、シリアル伝送路とは別に設けられている。
【０００５】
また、受信側デバイスは、例えば、パケットの輻輳などによってパケットの転送遅延が生じると、パケットの受信が完了していないときに、送信側デバイスから割り込み信号を受信することがある。この場合、受信側デバイスは、パケットを受信完了していないため、適切な受信処理を行うことができない。
【０００６】
そこで、送信側デバイスは、パケットの終端にパケットの終端であることを示す情報を付加する。これにより、受信側デバイスは、パケットの受信完了前に割り込み信号を受信しても、例えば、受信バッファにパケットの終端を示す情報が受信されていなければ、パケットはまだ受信されていないと判断し、パケットの受信完了を待つ。そして、受信側デバイスは、パケットの終端を示す情報が受信バッファに受信されてから、すなわち、パケットの受信完了を確認してから、受信したパケットのデータ処理を行う。
【０００７】
なお、高速ネットワーク上でデータパケットを送受信する際のＣＰＵ（Central Processing Unit）に対する割り込み等のオーバヘッドを削減するための方法および装置が提案されている（例えば、特許文献１参照）。
【０００８】
また、休止状態にあるホストプロセッサを頻繁に起動しないことにより、休止状態から稼動状態に遷移する際の時間的オーバヘッドを軽減するとともに、オーバヘッド時間に浪費する電力を抑制し、通信性能の向上を図るパケット受信装置が提案されている（例えば、特許文献２参照）。
【０００９】
また、ネットワークからの入力データを迅速にホストコンピュータに転送する通信処理装置が提案されている（特許文献３参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０００−３４１３３３号公報
【特許文献２】特開２００８−２７０９１８号公報
【特許文献３】特開２０００−３３２８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、受信側デバイスは、割り込み信号を受信したときにパケットの終端を示す情報を受信していない場合、パケットの受信完了を確認するためにその後、パケットの終端を示す情報の受信確認を繰り返し行う。そのため、受信側デバイスは、このパケットの受信完了を確認する処理に占有され、他の処理を行うことができず、データ処理に遅延が生じる場合があるという問題点があった。
【００１２】
本件はこのような点に鑑みてなされたものであり、パケット転送によるデータ処理の遅延を防止する半導体装置、およびパケット受信方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、パケットを受信する半導体装置において、第１の伝送路を通じてパケットを受信する受信部と、パケットを送信した送信側半導体装置から第１の伝送路とは異なる第２の伝送路を通じて当該パケットの送信完了後に複数回送信される、当該パケットを送信したことを示すパケット送信信号を検出する送信信号検出部と、送信信号検出部によるパケット送信信号の検出に応じて、受信部によるパケットの受信が完了しているか否か判断するパケット受信判断部と、パケット受信判断部によってパケットの受信が完了していると判断された場合、送信信号検出部がその後に送信されるパケット送信信号を検出しないようにする送信信号マスク部と、を有する半導体装置が提供される。
【発明の効果】
【００１５】
開示の装置および方法によれば、パケット転送によるデータ処理の遅延を防止することができる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施の形態に係る半導体装置を示した図である。
【図２】受信側の半導体装置の動作を説明する図である。
【図３】受信側の半導体装置がパケットの受信確認を繰り返し行う動作を説明する図である。
【図４】第２の実施の形態に係る半導体装置が適用されるデータ伝送システム例を示した図である。
【図５】パケットのデータ構成例を示した図である。
【図６】送信側の半導体装置のブロック図である。
【図７】半導体装置の送信処理タイミングを示した図である。
【図８】受信側の半導体装置のブロック図である。
【図９】半導体装置の受信処理タイミングを示した図である。
【図１０】半導体装置の受信処理タイミングの他の例を示した図である。
【図１１】送信側の半導体装置のフローチャートである。
【図１２】受信側の半導体装置のフローチャートである。
【発明を実施するための形態】
【００１７】
以下、第１の実施の形態を、図面を参照して詳細に説明する。
図１は、第１の実施の形態に係る半導体装置を示した図である。図１には、パケットを送信する半導体装置１およびパケットを受信する半導体装置２が示してある。半導体装置１は、送信部１ａおよび送信信号送信部１ｂを有している。半導体装置２は、受信部２ａ、送信信号検出部２ｂ、パケット受信判断部２ｃ、および送信信号マスク部２ｄを有している。
【００１８】
半導体装置１の送信部１ａは、パケットを半導体装置２に送信する。
送信信号送信部１ｂは、送信部１ａのパケットの半導体装置２への送信に基づいて、パケットを送信したことを示すパケット送信信号を半導体装置２に所定回数送信する。例えば、送信信号送信部１ｂは、送信部１ａがパケットを半導体装置２へ送信すると、２回以上の所定回数で、所定の送信間隔でパケット送信信号を半導体装置２に送信する。
【００１９】
半導体装置２の受信部２ａは、半導体装置１から送信されたパケットを受信する。
送信信号検出部２ｂは、半導体装置１から送信されるパケット送信信号を検出する。
パケット受信判断部２ｃは、送信信号検出部２ｂがパケット送信信号を検出したとき、受信部２ａにパケットが受信されているか否か判断する。
【００２０】
送信信号マスク部２ｄは、パケット受信判断部２ｃによってパケットが受信部２ａに受信されていると判断された場合、送信信号検出部２ｂがその後に送信されるパケット送信信号を検出しないようにする。
【００２１】
図２は、受信側の半導体装置の動作を説明する図である。図２には、半導体装置２の受信部２ａに受信されるパケット、送信信号検出部２ｂに入力されるパケット送信信号、および送信信号マスク部２ｄから送信信号検出部２ｂに出力されるマスク信号が示してある。なお、送信側の半導体装置１の送信信号送信部１ｂからは、図２に示すように、３回パケット送信信号が出力されるとする。
【００２２】
図２に示すように、送信信号検出部２ｂが１回目のパケット送信信号を検出したとき、受信部２ａではパケットの受信が途中であり受信完了していない。このため、パケット受信判断部２ｃは、受信部２ａにパケットが受信されていないと判断する。そして、送信信号マスク部２ｄは、パケット受信判断部２ｃのパケットが受信部２ａに受信されていない旨の判断によって、送信信号検出部２ｂがその後に送信されるパケット送信信号を検出するようにする。例えば、送信信号マスク部２ｄは、図２に示すように、Ｌ状態のマスク信号を出力する。送信信号検出部２ｂは、Ｌ状態のマスク信号により、送信側の半導体装置１から送信されてくるパケット送信信号を検出する。
【００２３】
送信信号検出部２ｂが２回目のパケット送信信号を検出したとき、受信部２ａではパケットの受信が完了している。このため、パケット受信判断部２ｃは、受信部２ａにパケットが受信されていると判断する。そして、送信信号マスク部２ｄは、パケット受信判断部２ｃのパケットが受信部２ａに受信されている旨の判断によって、送信信号検出部２ｂがその後に送信されるパケット送信信号を検出しないようにする。例えば、送信信号マスク部２ｄは、図２に示すように、Ｈ状態のマスク信号を出力する。送信信号検出部２ｂは、Ｈ状態のマスク信号により、送信側の半導体装置１から送信されてくるパケット送信信号（３回目のパケット送信信号）を検出しないようにする。
【００２４】
ここで、受信側の半導体装置がパケットの受信確認を繰り返し行う場合の動作について説明する。
図３は、受信側の半導体装置がパケットの受信確認を繰り返し行う動作を説明する図である。図３には、送信側の半導体装置が送信するパケット６と、受信側の半導体装置が受信するパケット７ａ，７ｂが示してある。また、受信側の半導体装置が送信側の半導体装置から受信する割り込み信号８が示してある。割り込み信号８は１回、送信側の半導体装置から受信側の半導体装置に送信される。
【００２５】
送信側の半導体装置の送信するパケット６と、受信側の半導体装置の受信するパケット７ａとの間には、図３の矢印Ａ２に示すように、伝送路による伝送時間分遅延が生じる。送信側の半導体装置が送信する割り込み信号８の送信タイミングは、伝送路による伝送時間分を考慮して決められる。すなわち、送信側の半導体装置は、受信側の半導体装置がパケット６の受信を完了してから、割り込み信号８を受信するように、割り込み信号８の送信タイミングを決める。
【００２６】
例えば、図３に示すように、パケット７ａより後に受信側の半導体装置が割り込み信号８を受信するように送信タイミングを決める。これにより、受信側の半導体装置は、割り込み信号８の受信によって、送信側の半導体装置から受信したパケット７ａの受信処理を適切に行うことができる。
【００２７】
ところで、受信側の半導体装置の受信するパケットは、例えば、パケットの輻輳等によって、伝送路による伝送時間以上遅延する場合がある。そのため、受信側の半導体装置は、図３に示すように、割り込み信号８の受信後にパケット７ｂの受信を完了する場合がある。
【００２８】
この場合、受信側の半導体装置は、割り込み信号８が一回しか送信されないため、割り込み信号８の受信後、自らパケットの受信完了確認を行う。このため、受信側の半導体装置は、矢印Ａ３に示すように、パケットの受信完了のための確認処理を繰り返し行い、受信完了を確認する処理に占有され、他の処理を行うことができない。
【００２９】
一方、図１に示した半導体装置１では、所定回数パケット送信信号を送信する。半導体装置２は、複数のパケット送信信号の検出によって、パケットの受信確認を行う。これにより、半導体装置２は、例えば、図２の矢印Ａ１に示すように、パケットが１回目のパケット送信信号より後に受信完了しても、２回目のパケット送信信号を受信する間、他のデータ処理を行うことができる。また、半導体装置２は、パケットの受信完了後に受信するパケット送信信号（３回目のパケット送信信号）をマスクするので、パケットを受信完了した後は、パケットの受信割り込みを受けない。よって、半導体装置２は、遅延を生じることなくデータ処理を行うことができる。
【００３０】
このように、パケットの送信側の半導体装置１は、パケットを送信したことを示すパケット送信信号を所定回数、受信側の半導体装置２に送信する。パケットの受信側の半導体装置２は、パケットを受信したと判断した場合、その後に送信されるパケット送信信号を検出しないようにする。これにより、半導体装置２は、パケット転送によるデータ処理の遅延を防止することができる。
【００３１】
次に、第２の実施の形態を、図面を参照して詳細に説明する。
図４は、第２の実施の形態に係る半導体装置が適用されるデータ伝送システム例を示した図である。図４に示すように、データ伝送システムは、半導体装置１１ａ〜１１ｄ，…およびスイッチ１２を有している。半導体装置１１ａ〜１１ｄ，…は、シリアル伝送路によってスイッチ１２に接続されている。また、図４には示していないが、半導体装置１１ａ〜１１ｄ，…のそれぞれは、割り込み信号を通知するための割り込み信号線が互いに接続されている。
【００３２】
図４のデータ伝送システムは、例えば、ＢＴＳ（Base Transceiver Station）の基板に実装された半導体装置１１ａ〜１１ｄ，…のデータ転送に適用される。半導体装置１１ａ〜１１ｄ，…は、例えば、ＣＰＵやＤＳＰ（Digital Signal Processor）などのデバイスである。半導体装置１１ａ〜１１ｄ，…は、スイッチ１２を介して、データ（パケット）の送受信を行う。例えば、半導体装置１１ａ〜１１ｄ，…は、自分で計算した計算結果を、スイッチ１２を介して、他の半導体装置１１ａ〜１１ｄ，…に送信する。
【００３３】
半導体装置１１ａ〜１１ｄ，…間で送受信されるパケットについて説明する。
図５は、パケットのデータ構成例を示した図である。図５に示すように、パケット２１には、パケットの宛先を示すデスティネーションＩＤ（図中ＤＥＳＴ）と、パケットの終端であることを示す終端情報（図中ＦＬＧ）と、受信側の半導体装置１１ａ〜１１ｄ，…に送信するデータとが含まれる。
【００３４】
パケット２１の宛先は、例えば、８ビットのデスティネーションＩＤ（図中Destination ID）によって示される。パケット２１の終端情報は、４ビットのシンボル番号（図中Symbol Num）と、１ビットのイネーブル情報（図中EN）とによって示される。パケット２１の終端情報は、パケット２１の終端の８ビットを用いて示されるが、４ビット目から６ビット目はリザーブとなっている。
【００３５】
パケットは、以下で説明するように、シンボル周期内において送受信される。シンボル番号は、パケットがどのシンボル周期内で送受信されたものであるかを示す。イネーブル情報は、送受信されるパケットのデータが有効であるか無効であるかを示す。半導体装置１１ａ〜１１ｄ，…は、例えば、データが全て０であるなどの意味のないパケットを送る場合があり、この場合、イネーブル情報は無効であることを示す。
【００３６】
図４の説明に戻る。スイッチ１２は、半導体装置１１ａ〜１１ｄ，…からパケットを受信すると、パケットに含まれるデスティネーションＩＤに基づいて、受信したパケットを所定のシリアル伝送路に出力する。これにより、半導体装置１１ａ〜１１ｄ，…から出力されるパケットは、所望の半導体装置１１ａ〜１１ｄ，…に転送される。
【００３７】
また、半導体装置１１ａ〜１１ｄ，…は、パケットの送信を完了すると、パケットを送信したことを示す割り込み信号を、宛先の半導体装置１１ａ〜１１ｄ，…に出力する。
例えば、半導体装置１１ａは、半導体装置１１ｄにパケットを送信するとする。この場合、半導体装置１１ａは、パケットの送信を完了すると、図４の点線矢印Ａ１１に示すように、割り込み信号を半導体装置１１ｄに出力する。パケットの受信側の半導体装置１１ｄは、割り込み信号によって、パケットが自分宛てに送信されたことを認識することができる。
【００３８】
パケットの送信側の半導体装置１１ａ〜１１ｄ，…は、割り込み信号を所定回数出力する。パケットの受信側の半導体装置１１ａ〜１１ｄ，…は、割り込み信号を受信すると、受信バッファにパケットが受信されたか否か判断する。受信側の半導体装置１１ａ〜１１ｄ，…は、パケットの終端情報（図５で説明したＦＬＧ）が受信バッファに受信されているか否かに基づいて、パケットの受信を判断する。すなわち、受信側の半導体装置１１ａ〜１１ｄ，…は、パケット全体を受信完了した場合に、パケットを受信したと判断する。
【００３９】
受信側の半導体装置１１ａ〜１１ｄは、割り込み信号を受信したときに、受信バッファにパケットが受信されていれば、その後に送られてくる割り込み信号をマスクし、受信したパケットのデータ処理を行う。
【００４０】
一方、受信側の半導体装置１１ａ〜１１ｄは、割り込み信号を受信したときに、例えば、パケットの輻輳等によって受信バッファにパケットが受信されていなければ、受信したパケットのデータ処理以外のデータ処理を行う。そして、受信側の半導体装置１１ａ〜１１ｄは、次の割り込み信号を受信したときに、受信バッファにパケットが受信されていれば、その後に送られてくる割り込み信号をマスクし、受信したパケットのデータ処理を行う。受信側の半導体装置１１ａ〜１１ｄは、次の割り込み信号を受信したときに、受信バッファにパケットが受信されていなければ、受信したパケットのデータ処理以外のデータ処理を行う。
【００４１】
図６は、送信側の半導体装置のブロック図である。図６に示すように、パケットの送信側の半導体装置３０は、データ処理部３１、パケット組立部３２、送信タイミング生成部３３、送信バッファ３４、回数設定部３５、間隔設定部３６、および割り込み信号生成部３７を有している。
【００４２】
データ処理部３１は、所定のデータ処理を行う。データ処理部３１は、例えば、所定のデータ処理を行ったデータのうち、他の半導体装置に送信するデータについては、パケット組立部３２に出力する。
【００４３】
パケット組立部３２は、データ処理部３１から出力されたデータからパケットを組み立てる。パケット組立部３２は、宛先付加部３２ａおよびＦＬＧ付加部３２ｂを有している。
【００４４】
宛先付加部３２ａは、データ処理部３１から出力されたデータの先頭に宛先を付加する。ＦＬＧ付加部３２ｂは、データ処理部３１から出力されたデータの終端に終端情報を付加する。これにより、例えば、図５で説明したようなパケットが生成される。
【００４５】
送信タイミング生成部３３は、送信バッファ３４に一時記憶されるパケットの送信タイミングを生成する。
送信バッファ３４は、パケット組立部３２から出力されるパケットを一時記憶する。送信バッファ３４は、送信タイミング生成部３３からの送信タイミングに応じて、一時記憶しているパケットをシリアル伝送路に出力する。
【００４６】
回数設定部３５には、パケットの宛先の半導体装置に送信する割り込み信号の送信回数が設定される。
間隔設定部３６には、パケットの宛先の半導体装置に送信する割り込み信号の送信間隔が設定される。
【００４７】
割り込み信号生成部３７は、送信バッファ３４からパケットが出力されると、割り込み信号を生成する。割り込み信号生成部３７は、送信バッファ３４がパケットを出力してから、回数設定部３５に設定された送信回数、割り込み信号を生成する。生成した割り込み信号は、パケットの宛先の半導体装置と接続された割り込み信号線に出力される。
【００４８】
また、割り込み信号生成部３７は、パケットのシリアル伝送路の伝送時間を考慮して、最初の割り込み信号を出力する。例えば、パケットサイズを１０２４バイト、伝送速度を２．５Ｇｂｐｓとした場合、送信バッファ３４から送信されるパケットは、約３．３μｓｅｃ後に受信側の半導体装置に到着する。従ってこの場合、割り込み信号生成部３７は、送信バッファ３４からパケットが送信されてから約３．３μｓｅｃ以上経過後に最初の割り込み信号を送信するようにする。
【００４９】
図７は、半導体装置の送信処理タイミングを示した図である。図７には、シンボル周期が示してある。シンボル周期は、例えば、約７０μｓｅｃである。また、図７には、半導体装置３０から他の半導体装置に送信するパケットが示してある。また、図７には、半導体装置３０から出力される割り込み信号が示してある。
【００５０】
半導体装置３０のデータ処理部３１は、例えば、１シンボル周期ごとに所定のデータ処理を行う。所定のデータ処理が行われたデータのうち、他の半導体装置に送信するデータについては、パケット組立部３２に出力される。
【００５１】
パケット組立部３２は、データ処理部３１から出力されるデータを有するパケットを生成する。パケット組立部３２によって生成されたパケットは、送信バッファ３４に一時記憶される。
【００５２】
送信タイミング生成部３３は、１シンボル周期内における時刻Ｔｓになると、送信タイミング信号を送信バッファ３４に出力する。送信バッファ３４は、送信タイミング生成部３３からの送信タイミング信号を受けて、一時記憶しているパケットをシリアル伝送路に出力する。シリアル伝送路に出力されたパケットは、時刻Ｔｅに送信が完了する。
【００５３】
割り込み信号生成部３７は、送信バッファ３４からパケットが出力されると、回数設定部３５によって設定された送信回数、割り込み信号を出力する。また、割り込み信号生成部３７は、間隔設定部３６によって設定された送信間隔で割り込み信号を出力する。
【００５４】
例えば、回数設定部３５に、送信回数４が設定されたとする。間隔設定部３６に、４μｓｅｃの送信間隔が設定されたとする。この場合、図７に示すように、パケットの送信完了後、４μｓｅｃごとに４回割り込み信号が出力される。
【００５５】
なお、図７では、半導体装置３０が１シンボル周期内に１パケットを送信する例を示しているが、２以上のパケットを１シンボル周期内に送信してもよい。
図８は、受信側の半導体装置のブロック図である。図８に示すように、パケットの受信側の半導体装置４０は、受信バッファ４１、割り込み信号検出部４２、パケット受信判断部４３、受信タイミング生成部４４、割り込みマスク部４５、およびデータ処理部４６を有している。
【００５６】
受信バッファ４１は、スイッチから出力されるパケットを一時記憶する。
割り込み信号検出部４２は、パケットの送信側の半導体装置から送信される割り込み信号を検出する。これにより、半導体装置４０は、自分にパケットが送信されたことを認識することができる。
【００５７】
パケット受信判断部４３は、割り込み信号検出部４２が割り込み信号を検出したとき、受信バッファ４１にパケットが受信されているか否か判断する。パケット受信判断部４３は、受信バッファ４１に終端情報（ＦＬＧ）が記憶されているか否かによって、受信バッファ４１にパケットが受信されているか否か判断する。すなわち、パケット受信判断部４３は、受信バッファ４１のパケットの受信が完了したか否か判断する。
【００５８】
例えば、パケット受信判断部４３は、有効を示すイネーブル情報と、前回のシンボル番号に対して１加算されたシンボル番号が受信バッファ４１に記憶されている場合（前回のシンボル番号が最大値の場合は０）、パケットは受信完了していると判断する。また、パケット受信判断部４３は、無効を示すイネーブル情報とシンボル番号が受信バッファに記憶されている場合もパケットは受信完了していると判断する。一方、パケット受信判断部４３は、イネーブル情報とシンボル番号が受信バッファ４１に記憶されていない場合、パケットは受信完了していないと判断する。
【００５９】
受信タイミング生成部４４は、パケットが当該半導体装置４０に到達するであろう受信タイミングを生成する。例えば、送信側の半導体装置３０は、図７で説明したように、シンボル周期内における時刻Ｔｓでパケットを送信し、時刻Ｔｅでパケット送信を完了する。これにより、受信タイミング生成部４４は、例えば、時刻Ｔｅに同期することができ、シンボル周期内における時刻Ｔｅになると、受信タイミングを生成する。
【００６０】
割り込みマスク部４５は、パケット受信判断部４３の受信バッファ４１にパケットが受信されているか否かの判断と、受信タイミング生成部４４によって生成された受信タイミングとによって、割り込み信号検出部４２の割り込み信号の検出を活性化および不活性化する。
【００６１】
例えば、割り込みマスク部４５は、受信タイミング生成部４４から受信タイミングが出力されると、割り込み信号検出部４２を活性化し、割り込み信号検出部４２が割り込み信号を検出できるようにする。そして、割り込みマスク部４５は、パケット受信判断部４３によって受信バッファ４１にパケットが受信されたと判断されると、その後、割り込み信号検出部４２が送信側の半導体装置３０から送信されてくる割り込み信号を検出しないように割り込み信号検出部４２を不活性化する。
【００６２】
データ処理部４６は、パケット受信判断部４３によって、受信バッファ４１にパケットが受信された場合、受信バッファ４１に受信されたパケットを読み出し、受信パケットのデータ処理を行う。
【００６３】
図９は、半導体装置の受信処理タイミングを示した図である。図９には、シンボル周期が示してある。シンボル周期は、例えば、約７０μｓｅｃである。また、図９には、半導体装置４０が他の半導体装置から受信するパケットが示してある。また、図９には、割り込みマスク部４５から割り込み信号検出部４２に出力される割り込みマスク信号が示してある。また、図９には、割り込み信号検出部４２に入力される割り込み信号と、割り込み信号検出部４２からパケット受信判断部４３に出力される割り込み検出信号とが示してある。
【００６４】
送信側の半導体装置は、１シンボル周期内の時刻Ｔｓにおいてパケットの送信を開始し、時刻Ｔｅにおいて送信が完了する。このパケットは、例えば、シリアル伝送路の伝送時間やシリアル伝送路の輻輳等によって遅延する。そのため、受信側の半導体装置４０では、例えば、図９に示すパケットのように、送信側の半導体装置のパケットの送信タイミングに遅れて受信する。
【００６５】
割り込み信号検出部４２には、送信側の半導体装置から送信された割り込み信号が入力される。送信側の半導体装置から送信される割り込み信号は、図７で説明したように、所定回数送信される。
【００６６】
割り込み信号検出部４２は、割り込みマスク部４５から出力される割り込みマスク信号によって、割り込み信号を検出する。例えば、割り込み信号検出部４２は、図９の例の場合、割り込みマスク信号がＨ状態のとき、割り込み信号を検出せず（割り込み信号をマスクし）、割り込み信号がＬ状態のとき、割り込み信号を検出する（割り込み信号のマスクを解除する）。
【００６７】
割り込みマスク部４５は、受信タイミング生成部４４によって生成された受信タイミングによって、Ｈ状態およびＬ状態の割り込みマスク信号を出力する。例えば、割り込みマスク部４５は、図９の例の場合、送信側の半導体装置のパケット送信を完了した時刻Ｔｅに、Ｌ状態の割り込みマスク信号を出力する。
【００６８】
割り込みマスク部４５は、マスク解除の割り込みマスク信号を出力した後、パケット受信判断部４３によって受信バッファ４１にパケットが受信されたことが判断されると、割り込み信号をマスクするための割り込みマスク信号を出力する。
【００６９】
例えば、図９の例では、マスク解除の割り込み信号が出力された後の１回目の割り込み信号が入力されたとき、パケットの受信が完了している。この場合、パケット受信判断部４３は、１回目の割り込み信号によって、パケットの受信が完了していると判断する。そして、割り込みマスク部４５は、パケット受信判断部４３のパケットの受信完了の判断によって、割り込み信号をマスクするための割り込みマスク信号を割り込み信号検出部４２に出力する。これにより、割り込み信号検出部４２は、図９の下部に示す割り込み検出信号のように、２回目の以降の割り込み信号をマスクする。
【００７０】
図１０は、半導体装置の受信処理タイミングの他の例を示した図である。図１０には、シンボル周期が示してある。シンボル周期は、例えば、約７０μｓｅｃである。また、図１０には、半導体装置４０が他の半導体装置から受信するパケットが示してある。また、図１０には、割り込みマスク部４５から割り込み信号検出部４２に出力される割り込みマスク信号が示してある。また、図１０には、割り込み信号検出部４２に入力される割り込み信号と、割り込み信号検出部４２からパケット受信判断部４３に出力される割り込み検出信号とが示してある。
【００７１】
図１０の例では、マスク解除（Ｌ状態）の割り込みマスク信号が出力された後、１回目の割り込み信号が受信されたとき、パケットの受信は完了していない。従って、パケット受信判断部４３は、１回目の割り込み信号が割り込み信号検出部４２によって検出されたとき、受信バッファ４１にパケットが受信されたと判断しない。割り込みマスク部４５は、このパケット受信判断部４３の判断に基づき、割り込み信号をマスクするための割り込みマスク信号を出力しない。
【００７２】
一方、２回目の割り込み信号が受信されたとき、パケットの受信は完了している。従ってこの場合、パケット受信判断部４３は、２回目の割り込み信号が割り込み信号検出部４２によって検出されたとき、受信バッファ４１にパケットが受信されている判断する。割り込みマスク部４５は、このパケット受信判断部４３の判断に基づき、割り込み信号をマスクするための割り込みマスク信号を出力する。これにより、割り込み信号検出部４２は、図１０の下部に示す割り込み検出信号のように、３回目以降の割り込み信号をマスクする。
【００７３】
なお、半導体装置４０は、１回目の割り込み信号と２回目の割り込み信号との間において、パケットの受信確認をしなくてよいので、割り込み信号の間においても、受信したパケットのデータ処理以外のデータ処理を行うことができる。また、３回目と４回目の割り込み信号はマスクされるので、半導体装置４０はパケットを受信完了した後、パケットの受信割り込みを受けない。よって、半導体装置４０は、例えば、輻輳等によってパケット転送が遅延してもデータ処理の遅延を防止することができる。
【００７４】
図１１は、送信側の半導体装置のフローチャートである。
［ステップＳ１］半導体装置３０の割り込み信号生成部３７は、回数設定部３５に設定された割り込み信号の送信回数を読み込む。また、割り込み信号生成部３７は、間隔設定部３６に設定された割り込み信号の送信間隔を読み込む。割り込み信号生成部３７は、例えば、電源投入時に割り込み信号の送信回数および送信間隔を読み込む。また、割り込み信号生成部３７は、例えば、回数設定部３５の送信回数の設定変更または間隔設定部３６の送信間隔の設定変更があったときに送信回数または送信間隔を読み込む。
【００７５】
［ステップＳ２］パケット組立部３２の宛先付加部３２ａは、データ処理部３１から出力されたデータの先頭に宛先を付加する。ＦＬＧ付加部３２ｂは、データ処理部３１から出力されたデータの終端にＦＬＧを付加する。パケット組立部３２は、生成したパケットを送信バッファ３４に出力する。
【００７６】
［ステップＳ３］送信バッファ３４は、送信タイミング生成部３３からの送信タイミングに応じて、一時記憶しているパケットをシリアル伝送路に出力する。例えば、送信バッファ３４は、１シンボル周期内における時刻Ｔｓになるとパケットをシリアル伝送路に出力し、時刻Ｔｅにパケットの出力を完了する。
【００７７】
［ステップＳ４］割り込み信号生成部３７は、送信バッファ３４からのパケット出力の完了後、間隔設定部３６に設定された送信間隔の時間が経過したか否か判断する。また、割り込み信号生成部３７は、割り込み信号の出力後、間隔設定部３６に設定された送信間隔の時間が経過したか否か判断する。割り込み信号生成部３７は、設定された送信間隔を経過していない場合、ステップＳ４の判断を繰り返す。割り込み信号生成部３７は、設定された割り込み間隔を経過した場合、ステップＳ５へ進む。
【００７８】
［ステップＳ５］割り込み信号生成部３７は、割り込み信号を出力する。
［ステップＳ６］割り込み信号生成部３７は、回数設定部３５に設定された送信回数、割り込み信号を送信したか否か判断する。割り込み信号生成部３７は、回数設定部３５に設定された送信回数、割り込み信号を送信していない場合、ステップＳ４へ進む。割り込み信号生成部３７は、回数設定部３５に設定された送信回数、割り込み信号を送信した場合、処理を終了する。なお、半導体装置３０は、次のシンボル周期になると上記のステップＳ１の処理を実行する。
【００７９】
図１２は、受信側の半導体装置のフローチャートである。
［ステップＳ１１］半導体装置４０の受信バッファ４１は、バッファをクリアする。
［ステップＳ１２］割り込みマスク部４５は、受信タイミング生成部４４によって生成される受信タイミングに応じて、割り込み信号検出部４２を活性化する割り込みマスク信号を出力する。すなわち、割り込みマスク部４５は、割り込み信号検出部４２が割り込み信号をマスクしないようにする（割り込みマスクＯＦＦ）。
【００８０】
［ステップＳ１３］割り込み信号検出部４２は、割り込みマスク部４５からの割り込みマスクＯＦＦの割り込みマスク信号によって、割り込み信号の受信待ちとなる。データ処理部４６は、割り込み信号受信待ちのとき、受信したパケットのデータ処理以外のデータ処理を行う。
【００８１】
［ステップＳ１４］パケット受信判断部４３は、割り込み信号検出部４２によって割り込み信号が検出されると、受信バッファ４１にＦＬＧが受信されているか否か判断する。パケット受信判断部４３は、受信バッファ４１にＦＬＧが受信されていなければ、ステップＳ１３へ進む。パケット受信判断部４３は、受信バッファ４１にＦＬＧが受信されていれば、ステップＳ１５へ進む。
【００８２】
［ステップＳ１５］割り込みマスク部４５は、割り込み信号検出部４２を不活性化する割り込みマスク信号を出力する。すなわち、割り込みマスク部４５は、割り込み信号検出部４２が割り込み信号をマスクするようにする（割り込みマスクＯＮ）。
【００８３】
［ステップＳ１６］データ処理部４６は、受信されたパケットのデータ処理を行う。なお、データ処理部４６は、無効を示すイネーブル情報を含むパケットが受信された場合、受信されたパケットのデータは無効であると判断し、受信データのデータ処理を行わない。
【００８４】
このように、パケットの送信側の半導体装置は、パケットを送信したことを示す割り込み信号を所定回数、受信側の半導体装置に送信する。パケットの受信側の半導体装置は、パケットを受信したと判断した場合、その後に送信される割り込み信号を検出しないようにする。これにより、受信側の半導体装置は、パケット転送によるデータ処理の遅延を防止することができる。
【００８５】
なお、上記では、半導体装置の送信部分と受信部分とを別々に示したが、１つの半導体装置が送信部分と受信部分を有していてもよい。例えば、半導体装置は、図６で示したブロックと図８で示したブロックを有していてもよい。
【符号の説明】
【００８６】
１，２  半導体装置
１ａ  送信部
１ｂ  送信信号送信部
２ａ  受信部
２ｂ  送信信号検出部
２ｃ  パケット受信判断部
２ｄ  送信信号マスク部
【図１】
0005569185.tif 000002
【図２】
0005569185.tif 000003
【図３】
0005569185.tif 000004
【図４】
0005569185.tif 000005
【図５】
0005569185.tif 000006
【図６】
0005569185.tif 000007
【図７】
0005569185.tif 000008
【図８】
0005569185.tif 000009
【図９】
0005569185.tif 000010
【図１０】
0005569185.tif 000011
【図１１】
0005569185.tif 000012
【図１２】
0005569185.tif 000013