(57)【要約】【課題】  IEEE1394の規格に基づいてパケットデータを受信する受信ポートの性能を向上させる。【解決手段】  IEEE1394の規格に基づいて受信データを受信する半導体装置であって、受信クロック信号に基づいて入力される前記受信データを内部クロック信号に同期化させる同期化ＦＩＦＯ１１と、同期化ＦＩＦＯ１１で同期化された受信データをデコード処理するデコード処理部１２と、デコード処理部１２でデコードされた受信データを一定のタイミングで出力する整形ＦＩＦＯ１３を備えた。【選択図】      図１
2007060402.tif 000002
【特許請求の範囲】
【請求項１】
IEEE1394の規格に基づいて受信データを受信する半導体装置であって、
受信クロック信号に基づいて入力される前記受信データを内部クロック信号に同期化させる同期化ＦＩＦＯと、
前記同期化ＦＩＦＯで同期化された受信データをデコード処理するデコード処理部と、
前記デコード処理部でデコードされた受信データを一定のタイミングで出力する整形ＦＩＦＯと
を備えたことを特徴とする半導体装置。
【請求項２】
前記同期化ＦＩＦＯと、前記デコード処理部と、前記整形ＦＩＦＯとを受信ポートに備えたことを特徴とする請求項１記載の半導体装置。
【請求項３】
前記同期化ＦＩＦＯと、前記デコード処理部とを受信ポートに備え、前記整形ＦＩＦＯを送信ポートに備えたことを特徴とする請求項１記載の半導体装置。
【請求項４】
IEEE1394の規格に基づいて受信データを受信する半導体装置であって、
受信クロック信号に基づいて入力される前記受信データをデコードするデコード処理部と、
受信データを内部クロック信号に同期化させる同期化ＦＩＦＯと、
前記同期化ＦＩＦＯで同期化された受信データを一定のタイミングで出力する整形ＦＩＦＯと
を備え、
前記整形ＦＩＦＯは、
受信データが規格で長さが決められていないデータであるか否かを判断する格納判断回路と、
前記格納判断回路の判断結果に基づいて、規格で長さが決められていないデータの一部を受信データ格納用メモリに格納し、規格で長さが決められているデータの全部を受信データ格納用メモリに格納するデータ格納手段と
を備えたことを特徴とする半導体装置。
【請求項５】
IEEE1394の規格に基づいて受信データを受信する半導体装置であって、
受信クロック信号に基づいて入力される前記受信データを内部クロック信号に同期化させる同期化ＦＩＦＯと、
前記同期化ＦＩＦＯで同期化された受信データをデコード処理するデコード処理部と、
前記デコード処理部でデコードされた受信データを一定のタイミングで出力する整形ＦＩＦＯと
を備え、
前記整形ＦＩＦＯは、
受信データが規格で長さが決められていないデータであるか否かを判断する格納判断回路と、
前記格納判断回路の判断結果に基づいて、規格で長さが決められていないデータの一部を受信データ格納用メモリに格納し、規格で長さが決められているデータの全部を受信データ格納用メモリに格納するデータ格納手段と
を備えたことを特徴とする半導体装置。
【請求項６】
前記データ格納手段は、
前記格納判断回路の判断結果に基づいて書き込み許可信号及び読み出し許可信号を生成するデータカウンタと、
前記書き込み許可信号に基づいて、前記受信データ格納用メモリに受信データを格納するポインタ値を生成して、前記受信データを該受信データ格納用メモリに格納するライトポインタと、
前記読み出し許可信号に基づいて、前記受信データ格納用メモリに格納されている受信データを読み出すポインタ値を生成して、該受信データ格納用メモリから一定のタイミングで受信データを読み出すリードポインタと
を備えたことを特徴とする請求項４又は５記載の半導体装置。
【請求項７】
前記データカウンタは、前記判断結果に基づいて、規格で長さが決められていないデータの２バイト目以降を受信するとき、前記書き込み許可信号を停止することを特徴とする請求項６記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、IEEE1394の規格に基づいてパケットデータを受信するデータ受信装置に関するものである。
IEEE1394の規格に基づいてパケットデータを受信する機器では、送信側の機器と受信側の機器では、動作クロックが必ずしも一致しない。従って、パケットデータを受信する入力ポートでは、動作クロックの同期化を図り、かつ受信データを一定のタイミングで内部回路に出力する機能を備える必要がある。そして、このような入力ポートにおけるデータ転送速度の向上及び転送動作の安定化を図ることが必要となっている。
【背景技術】
【０００２】
図９は、IEEE1394の規格に基づいてパケットデータを送受信する機器の受信ポートＲＰの一例を示す。デコード処理部１には受信データＤｉｎ及び受信クロック信号ｃｌｋ１が入力され、デコード回路１ではコード化されて送信されている受信データＤｉｎのデコード動作を受信クロック信号ｃｌｋ１に基づいて行い、受信データＤｉｎのスクランブルを解除する動作を行う。
【０００３】
デコード処理された受信データＤｄｅは、同期化・整形ＦＩＦＯ２に入力される。同期化・整形ＦＩＦＯ２では、内部クロック信号ｃｌｋ２に基づいて、受信データＤｄｅの内部クロック信号ｃｌｋ２に対する同期化処理と、受信データＤｄｅを内部回路に出力する周期を一定にするためのデータ整形処理とを行う。
【０００４】
図１０は、デコード処理部１及び同期化・整形ＦＩＦＯ２の同期化処理動作を示すタイミングチャートである。デコード処理部１では受信クロック信号ｃｌｋ１に基づいて受信データＤｉｎが各パケットデータdata１〜dataｎ毎に順次デコードされて、受信データＤｄｅとして同期化・整形ＦＩＦＯ２に出力される。
【０００５】
このデコード処理には例えば受信クロック信号ｃｌｋ１の３周期分の時間ｔ１を必要とする。
次いで、受信データＤｄｅは同期化・整形ＦＩＦＯ２で内部クロック信号ｃｌｋ２に基づく同期化処理が行われ、同期化受信データＤｓｃとして内部回路に出力される。この同期化処理は、内部クロック信号ｃｌｋ２の２周期分の時間ｔ２を必要とする。因みに、受信クロック信号ｃｌｋ１は機器により１２．２８８ＭHz、２４．５７６ＭHz、４９．１５２ＭHz等があり、内部クロック信号ｃｌｋ２は例えば１００ＭHzである。
【０００６】
図１１は、同期化・整形ＦＩＦＯ２に入力される受信データＤｄｅの各パケット毎のデータ列を示す。パケット毎に送信されてくる受信データＤｄｅは、idle信号及びRequest信号に続いてDATA PREFIX、Packet data、DATA ENDの各信号が入力され、その後次のidle信号が入力される。
【０００７】
DATA PREFIX、Packet data、DATA ENDの各信号は、規格によりデータ長（バイト長）が決められており、データ転送時におけるデータ抜けの発生は許されない。また、idle信号及びRequest信号はデータ長が決められた信号ではない。
【０００８】
同期化・整形ＦＩＦＯ２ではこのような受信データＤｄｅが内部クロック信号ｃｌｋ２に対し同期化され、かつ整形ＦＩＦＯに順次格納される。そして、整形ＦＩＦＯに格納された同期化受信データＤｓｃが整形済受信データＤｓｕとして所定の周期で一定のバイト長ずつ順次内部回路に出力される。
【０００９】
特許文献１には、到来データ信号を格納するＦＩＦＯからの出力遅延を、データ信号とクロックが同期するまで同期化ユニットで制御することにより、到来するデータビットを損失することなくクロック同期化を可能とする受信装置が開示されている。
【特許文献１】特表平１−５００９５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
図９に示す受信ポートでは、デコード処理部１での受信データＤｉｎのデコード処理は、受信クロック信号ｃｌｋ１をトリガとして行われ、３周期分の時間ｔ１を必要とする。従って、受信クロック信号ｃｌｋ１が内部クロック信号ｃｌｋ２に対し低周波数である場合には、デコード処理に要する時間ｔ１が長くなる。従って、受信データを転送するために要するリピート時間が増大する。また、受信クロック信号ｃｌｋ１が変動する場合には、デコード処理に要する時間ｔ１も変動するという問題点がある。
【００１１】
一方、同期化・整形ＦＩＦＯ２で同期化された受信データＤｓｃを整形ＦＩＦＯに格納するとき、図１２に示すように、整形ＦＩＦＯに格納されるデータ列にデータ抜けが発生することがある。
【００１２】
すなわち、受信クロック信号ｃｌｋ１の変動により整形ＦＩＦＯへの格納タイミングと整形ＦＩＦＯからの出力タイミングとにずれが生じて、格納データ量が出力データ量より多い状態となると、一時的に整形ＦＩＦＯの格納領域に空きがなくなる。
【００１３】
このような場合には、図１２に示すように、例えば整形済データＤｓｕのPacket dataにデータ抜けが発生するという問題点がある。
この発明の目的は、IEEE1394の規格に基づいてパケットデータを受信する受信ポートの性能を向上させることにある。
【課題を解決するための手段】
【００１４】
上記目的は、IEEE1394の規格に基づいて受信データを受信する半導体装置であって、受信クロック信号に基づいて入力される前記受信データを内部クロック信号に同期化させる同期化ＦＩＦＯと、前記同期化ＦＩＦＯで同期化された受信データをデコード処理するデコード処理部と、前記デコード処理部でデコードされた受信データを一定のタイミングで出力する整形ＦＩＦＯを備えた半導体装置により達成される。
【００１５】
また、上記目的は、IEEE1394の規格に基づいて受信データを受信する半導体装置であって、受信クロック信号に基づいて入力される前記受信データをデコードするデコード処理部と、受信データを内部クロック信号に同期化させる同期化ＦＩＦＯと、前記同期化ＦＩＦＯで同期化された受信データを一定のタイミングで出力する整形ＦＩＦＯとを備え、前記整形ＦＩＦＯは、受信データが規格で長さが決められていないデータであるか否かを判断する格納判断回路と、前記格納判断回路の判断結果に基づいて、規格で長さが決められていないデータの一部を受信データ格納用メモリに格納し、規格で長さが決められているデータの全部を受信データ格納用メモリに格納するデータ格納手段を備えた半導体装置により達成される。
【発明の効果】
【００１６】
本発明によれば、IEEE1394の規格に基づいてパケットデータを受信する受信ポートの動作を安定化させることができる。
【発明を実施するための最良の形態】
【００１７】
以下、この発明を具体化した一実施の形態を説明する。図１は、IEEE1394の規格に基づいてパケットデータを受信する受信ポートＲＰを示す。この受信ポートＲＰは、同期化ＦＩＦＯ１１と、デコード処理部１２と、整形ＦＩＦＯ１３とから構成される。
【００１８】
同期化ＦＩＦＯ１１には受信クロック信号ｃｌｋ１と内部クロック信号ｃｌｋ２が供給される。また、デコード処理部１２及び整形ＦＩＦＯ１３には内部クロック信号ｃｌｋ２が供給される。
【００１９】
そして、受信データＤｉｎはまず同期化ＦＩＦＯ１１に入力され、デコード処理に先立ってクロックの同期化処理が行われ、次いでデコード処理部１２でデコード処理が行われ、続いてデコードされた受信データが整形ＦＩＦＯ１３から一定のバイト長の整形済データＤｓｕとして内部回路に出力される。
【００２０】
前記同期化ＦＩＦＯ１１の具体的構成を図２に示す。受信データ格納用メモリ１４は、ＦＩＦＯメモリ（先入れ先出しメモリ）で構成され、受信データＤｉｎと受信クロック信号ｃｌｋ１が入力される。また、受信クロック信号ｃｌｋ１はライトポインタ１５に供給される。ライトポインタ１５は、受信クロック信号ｃｌｋ１をトリガとしてポインタ値すなわち書き込みアドレスを生成して前記受信データ格納用メモリ１４に出力する。従って、受信データ格納用メモリ１４では受信データＤｉｎがポインタ値で設定される書き込みアドレスに順次書き込まれる。
【００２１】
前記受信データ格納用メモリ１４には内部クロック信号ｃｌｋ２が入力される。また、内部クロック信号ｃｌｋ２はリードポインタ１６に供給される。リードポインタ１６は内部クロック信号ｃｌｋ２をトリガとしてポインタ値すなわち読み出しアドレスを生成して前記受信データ格納用メモリ１４に出力する。従って、受信データ格納用メモリ１４では格納されている受信データＤｉｎがポインタ値で設定される読み出しアドレスから順次読み出される。
【００２２】
このような動作により、受信データ格納用メモリ１４から内部クロック信号ｃｌｋ２に同期した受信データＤ１が出力される。
図３は、前記デコード処理部１２の具体的構成を示す。前記受信データＤ１はコード化解除部１７に入力される。コード化解除部１７は受信データＤ１のデコード処理すなわち１０ビットの信号としてコード化されている受信データＤ１のコード化を解除し、８ビットの信号としてスクランブル解除部１８に出力する。スクランブル解除部１８は、入力された受信データのスクランブルを解除し、受信データＤ２として前記整形ＦＩＦＯ１３に出力する。
【００２３】
前記同期化ＦＩＦＯ１１及びデコード処理部１２の構成は、前記従来例と同様な公知の構成である。
図４は、前記整形ＦＩＦＯ１３の具体的構成を示す。前記デコード処理部１２から出力される受信データＤ２は、受信データ格納用メモリ１９に入力される。受信データ格納用メモリ１９は、ＦＩＦＯメモリ（先入れ先出しメモリ）で構成される。
【００２４】
また、受信データＤ２は格納判断回路２０に入力される。格納判断回路２０は、受信データＤ２として入力されるデータ列が規格で長さの決められていない制御データ（idle信号、Request信号）であるか否かを判別し、当該制御データである場合には、受信開始から例えば２バイト目以降は格納不要と判断して、判断結果Ｓ１をデータカウンタ２１に出力する。
【００２５】
一方、DATA PREFIX、Packet data、DATA END等、規格で長さが決められていて、抜けが許されないデータである場合には、格納要と判断して、判断結果Ｓ２をデータカウンタ（データ格納手段）２１に出力する。
【００２６】
データカウンタ２１は、内部クロック信号ｃｌｋ２をトリガとしてカウント動作を行う。そして、判断結果Ｓ１が入力されると、格納不要データの先頭バイトの受信時にのみ書き込み許可信号Ｐ１をライトポインタ２２に出力する。判断結果Ｓ２が入力されると、格納要データの全バイトの受信時に書き込み許可信号Ｐ１をライトポインタ（データ格納手段）２２に出力する。
【００２７】
また、データカウンタ２１は判断結果Ｓ１，Ｓ２の受信から、受信データ格納用メモリ１９において例えば４バイト分のデータを格納する時間を経過した後に、読み出し許可信号Ｐ２をリードポインタ（データ格納手段）２３に出力する。
【００２８】
ライトポインタ２２は、データカウンタ２１から出力される書き込み許可信号Ｐ１に基づいて受信データ格納用メモリ１９及びデータカウンタ２１にポインタ値ＷＡを出力する。また、そのポインタ値ＷＡは書き込み許可信号Ｐ１が入力される度にインクリメントされる。受信データ格納用メモリ１９では、ライトポインタ２２から出力されるポインタ値ＷＡにより書き込みアドレスが生成される。
【００２９】
リードポインタ２３は、データカウンタ２１から出力される読み出し許可信号Ｐ２に基づいて受信データ格納用メモリ１９及びデータカウンタ２１にポインタ値ＲＡを出力する。また、そのポインタ値ＲＡは読み出し許可信号Ｐ２が入力される度にインクリメントされる。受信データ格納用メモリ１９では、リードポインタ２３から出力されるポインタ値ＲＡにより読み出しアドレスが生成される。
【００３０】
受信データ格納用メモリ１９は、ライトポインタ２２から出力されるポインタ値に基づくアドレスに受信データを格納し、リードポインタ２３から出力されるポインタ値に基づくアドレスに格納されているデータを読み出して整形済受信データＤｓｕとして出力する。
【００３１】
次に、上記のように構成された受信ポートの動作を説明する。図５は、同期化ＦＩＦＯ１１による同期化処理と、デコード処理部１２によるデコード処理の動作タイミングを示す。
【００３２】
同期化ＦＩＦＯ１１には、受信クロック信号ｃｌｋ１に同期して受信データＤｉｎが入力される。そして、同期化ＦＩＦＯ１１では受信データＤｉｎを内部クロック信号ｃｌｋ２に同期させて、受信データＤ１としてデコード処理部１２に出力する。この同期化処理は、従来例と同様に、内部クロック信号ｃｌｋ２の２周期分の時間ｔ３で行われる。
【００３３】
デコード処理部１２では、入力された受信データＤ１がデコード処理され、デコードされた受信データＤ２として整形ＦＩＦＯ１３に出力される。このデコード処理は、内部クロック信号ｃｌｋ２の３周期分の時間ｔ４で行われる。
【００３４】
図６は、整形ＦＩＦＯ１３において受信データＤ２を受信データ格納用メモリ１９に格納する動作を示す。
整形ＦＩＦＯ１３に規格で長さの決められていないidle信号、Request信号が入力されると、idle信号及びRequest信号の先頭バイトのみが受信データ格納用メモリ１９に格納される。
【００３５】
一方、DATA PREFIX、Packet data、DATA ENDが入力されているとき、これらは抜けが許されないデータであるので、すべてのデータが受信データ格納用メモリ１９に順次格納される。
【００３６】
図７は、整形ＦＩＦＯ１３に入力される受信データＤ２の入力タイミングと、整形ＦＩＦＯ１３から出力される整形済受信データＤｓｕの出力タイミングの関係を示す。
整形ＦＩＦＯ１３では、受信データＤ２を例えば内部クロック信号ｃｌｋ２の４周期毎に１バイトの割合で受信する。そして、１バイト毎の各受信データＤ２は入力タイミングｉｐ１〜ｉｐｎで順次入力される。
【００３７】
受信データＤ２のデータ列が、規格で長さの決められていない制御データ（idle信号）である場合には、入力タイミングｉｐ１で入力される最初の１バイトの受信データＤ２のみが受信データ格納用メモリ１９に格納される。また、受信クロック信号ｃｌｋ１と内部クロック信号ｃｌｋ２との相違により、入力タイミングｉｐ１〜ｉｐｎの周期は必ずしも一定とはならない。
【００３８】
整形ＦＩＦＯ１３から出力される整形済受信データＤｓｕは、一定の出力タイミングｏｐ１〜ｏｐｎで１バイトずつ出力される。そして、４バイト目の受信データＤ２を入力タイミングｉｐ４で受信した後に、受信データ格納用メモリ１９に格納されている１バイト目の受信データＤ２が整形済受信データＤｓｕとして出力タイミングｏｐ４で出力される。
【００３９】
上記のように構成された受信ポートでは、次に示す作用効果を得ることができる。
（１）受信クロック信号ｃｌｋ１に同期して入力される受信データＤｉｎを、内部クロック信号ｃｌｋ２に同期化させた後に、内部クロック信号ｃｌｋ２に基づいてデコード処理を行うようにした。従って、内部クロック信号ｃｌｋ２の周波数が受信クロック信号ｃｌｋ１の周波数より高い場合には、デコード処理に要する時間を短縮することができるので、受信データを転送するために要するリピート時間を短縮することができる。
（２）デコード処理を内部クロック信号ｃｌｋ２に基づいて行うので、受信クロック信号ｃｌｋ１の変化、すなわち送信側の機器の変化に関わらず、デコード処理に要する時間を一定とすることができる。
（３）長さの決められていないidle信号、Request信号等の制御データは、最初の１バイトのみを整形ＦＩＦＯ１３の受信データ格納用メモリ１９に格納するようにしたので、受信データ格納用メモリ１９の格納領域に余裕が生じる。従って、整形ＦＩＦＯへの格納タイミングと整形ＦＩＦＯからの出力タイミングとにずれが生じても、DATA PREFIX、Packet data、DATA END等のデータの格納に際し、データ抜けの発生を防止することができる。
【００４０】
上記実施の形態は、以下の態様で実施してもよい。
・格納判断回路２０において、格納不要と判断するのは３バイト目以降でもよい。
・整形ＦＩＦＯ１３での受信データＤ２の受信と、整形ＦＩＦＯ１３からの整形済受信データＤｓｕとの出力とは、４バイト分の受信動作に相当する時間差を設けたが、整形済受信データＤｓｕを一定周期で出力できれば、４バイト分未満あるいは４バイト分以上としてもよい。
・図８に示すように、上記のような整形ＦＩＦＯ１３を送信ポートＴＰに設置してもよい。
【図面の簡単な説明】
【００４１】
【図１】受信ポートを示すブロック図である。
【図２】同期化ＦＩＦＯを示すブロック図である。
【図３】デコード処理部を示すブロック図である。
【図４】整形ＦＩＦＯを示すブロック図である。
【図５】同期化ＦＩＦＯおよびデコード処理部の動作を示す説明図である。
【図６】整形ＦＩＦＯの動作を示す説明図である。
【図７】整形ＦＩＦＯの動作を示す説明図である。
【図８】別例を示すブロック図である。
【図９】受信ポートの従来例を示すブロック図である。
【図１０】従来例の動作を示す説明図である。
【図１１】受信データのデータ列を示す説明図である。
【図１２】従来の整形ＦＩＦＯの動作を示す説明図である。
【符号の説明】
【００４２】
１１        同期化ＦＩＦＯ
１２        デコード処理部
１３        整形ＦＩＦＯ
１９        受信データ格納用メモリ
２０        格納判断回路
２１        データ格納手段（データカウンタ）
２２        データ格納手段（ライトポインタ）
２３        データ格納手段（リードポインタ）
ｃｌｋ１    受信クロック信号
ｃｌｋ２    内部クロック信号
【図１】
2007060402.tif 000003
【図２】
2007060402.tif 000004
【図３】
2007060402.tif 000005
【図４】
2007060402.tif 000006
【図５】
2007060402.tif 000007
【図６】
2007060402.tif 000008
【図７】
2007060402.tif 000009
【図８】
2007060402.tif 000010
【図９】
2007060402.tif 000011
【図１０】
2007060402.tif 000012
【図１１】
2007060402.tif 000013
【図１２】
2007060402.tif 000014