(57)【要約】【課題】  ホスト４からのＸＥＮＰＡＫレジスタ群に対するアクセスで、ＰＨＹＩＣ３のＸＥＮＰＡＫレジスタ群８とＤＣＵのＸＥＮＰＡＫレジスタ群９ａとからの返信出力が衝突することをなくし、またＰＨＹＩＣ３でのみ検出される高速系のエラーとＤＣＵ２でのみ検出される低速系のエラーの発生に伴うレジスタ内容の不整合を解消することができるトランシーバモジュールを提供する。【解決手段】  ＬＡＳＩ＿Ｓｔａｔｕｓレジスタを含んでなるＸＥＮＰＡＫレジスタ群８を有するＰＨＹＩＣ３と、ＸＥＮＰＡＫレジスタ群８をエミュレーションしたＸＥＮＰＡＫレジスタ群９ａを有するＤＣＵ２とを備え、ＤＣＵ２がＸＥＮＰＡＫレジスタ群８の構成及び機能をエミュレーションする間、ＰＨＹＩＣ３が、ホスト４からのＸＥＮＰＡＫレジスタ群８に対するアクセスに返信出力しない動作モードを備える。【選択図】        図１
2006101433.tif 000002
【特許請求の範囲】
【請求項１】
エラーの発生を示すビット値を設定するエラーフラグレジスタ部を含んでなる物理層側レジスタ部を有する物理層集積回路部と、
前記物理層側レジスタ部の構成及び機能をエミュレーションした制御側レジスタ部を有する制御集積回路部とを備え、
前記制御集積回路部が前記物理層側レジスタ部の構成及び機能をエミュレーションする間、前記物理層集積回路部が、上位レイヤ側装置からの前記物理層側レジスタ部に対するアクセスに返信出力しない動作モードを備えたトランシーバモジュール。
【請求項２】
物理層集積回路部が、検出したエラーを特定するエラー信号を制御集積回路部に出力し、
前記制御集積回路部が、前記エラー信号に基づいて前記物理層集積回路部で検出されたエラーを特定し、当該エラーの発生を上位レイヤ側装置に通知すると共に、前記物理層側レジスタ部における前記エラーフラグレジスタ部の内容を、前記制御側レジスタ部としてエミュレーションするエラーフラグレジスタ部に書き込むことを特徴とする請求項１記載のトランシーバモジュール。
【請求項３】
物理層側レジスタ部を構成するレジスタの内容が設定されており、制御集積回路部が、前記物理層側レジスタ部におけるエラーフラグレジスタ部の内容を書き込むにあたって参照される専用レジスタ部を備えたことを特徴とする請求項２記載のトランシーバモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、光通信用のトランシーバモジュールに関するものである。
【背景技術】
【０００２】
光通信用のトランシーバモジュールとして、例えばＩＥＥＥ８０２．３ａｅの規格に対応するものがある。ＩＥＥＥ８０２．３ａｅに準拠した規格に対応するトランシーバが備えるレジスタとして、例えばＸＥＮＰＡＫ（ＩＥＥＥ８０２．３ａｅで定められた１０Ｇビットイーサネット（登録商標）規格に採用されているＸＡＵＩ（10Gigabit Attachment Unit Interface)プロトコル上で動作する光コネクターと光トランシーバーの共通仕様）レジスタでは、ＮＶ（Non-Volatile）レジスタ、ＤＯＭ（Digital Optical Monitoring）レジスタやＬＡＳＩ（Link Alarm Status Interrupt）レジスタなどを備えている（例えば、非特許文献１参照）。
【０００３】
上記のトランシーバモジュールを構成する、通信機能を有する従来のトランシーバＩＣ（以下、ＰＨＹＩＣと称す）では、通信処理にて使用するＩＥＥＥレジスタ及び上記規格で定められたＸＥＮＰＡＫレジスタの双方をハードウエアで内蔵している。これらレジスタに属するもののうちエラー関連の一部のレジスタについては、ＩＥＥＥレジスタとＸＥＮＰＡＫレジスタで同一の内容を保持する相互関係を持つレジスタ（ＬＡＳＩ＿Ｓｔａｔｕｓレジスタ）が存在する。
【０００４】
【非特許文献１】”Ａ  Ｃｏｏｐｅｒａｔｉｏｎ  Ａｇｒｅｅｍｅｎｔ  ｆｏｒ  １０  Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）  Ｔｒａｎｓｃｅｉｖｅｒ  Ｐａｃｋａｇｅ  Ｉｓｓｕｅ  ３．０”、［ｏｎｌｉｎｅ］、１８ｔｈ  Ｓｅｐｔｅｍｂｅｒ  ２００２、ＸＥＮＰＡＫ  、［平成１６年９月１７日検索］、インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｘｅｎｐａｋ．ｏｒｇ／ＭＳＡ／ＸＥＮＰＡＫ  ＿ＭＳＡ＿Ｒ３．０．ｐｄｆ＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のトランシーバモジュールでは、ＩＥＥＥレジスタとＸＥＮＰＡＫレジスタのいずれかのレジスタの構成及びその機能に変更が生じた場合、レジスタ構成及び機能が新たな仕様を満たすようにＰＨＹＩＣの設計や開発をやり直す必要があった。
【０００６】
これに対して、ＰＨＹＩＣや他の周辺機能を制御するＩＣであるデバイス制御ユニット（以下、ＤＣＵと称す）で、ＰＨＹＩＣに構成されているＸＥＮＰＡＫレジスタの構成及び機能をソフトウエアエミュレーションすれば、ＤＣＵでの前記ソフトウエアのプログラム改変によってＸＥＮＰＡＫレジスタの構成及び機能を変更することができる。
【０００７】
しかしながら、ＤＣＵでＸＥＮＰＡＫレジスタの構成及び機能をソフトウエアエミュレーションするにあたり、上位レイヤ側装置であるホストからＭＤＩＯを介してＸＥＮＰＡＫレジスタに対してアクセスすると、既存のＰＨＹＩＣにおけるＸＥＮＰＡＫレジスタからの返信出力とＤＣＵでエミュレーションしているＸＥＮＰＡＫレジスタからの返信出力が衝突（交錯）するという課題があった。
【０００８】
また、ＰＨＹＩＣでのみ検出される通信処理に関する高速系のエラーが、ＰＨＹＩＣのＸＥＮＰＡＫレジスタにおけるエラーに関連する内容が設定されるレジスタに記憶される一方、ＤＣＵでのみ検出される内部処理に関する低速系のエラーが、ＰＨＹＩＣのＸＥＮＰＡＫレジスタにおけるエラーに関連する内容が設定されるレジスタに記憶される。このため、ＰＨＹＩＣとＤＣＵにおいて、エラーに関連するレジスタ（ＬＡＳＩ＿Ｓｔａｔｕｓレジスタ）の内容において矛盾が生じるという課題があった。
【０００９】
この発明は上記のような課題を解決するためになされたもので、ＤＣＵでＰＨＹＩＣのレジスタをエミュレーションするにあたり、上位レイヤ側装置からのＸＥＮＰＡＫレジスタに対するアクセスで、既存のＰＨＹＩＣにおけるＸＥＮＰＡＫレジスタからの返信出力とＤＣＵでエミュレーションしているＸＥＮＰＡＫレジスタからの返信出力が衝突（交錯）することをなくし、またＰＨＹＩＣでのみ検出される高速系のエラーとＤＣＵでのみ検出される低速系のエラーの発生に伴うレジスタ内容の不整合を解消することができるトランシーバモジュールを得ることを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係るトランシーバモジュールは、エラーの発生を示すビット値を設定するエラーフラグレジスタ部を含んでなる物理層側レジスタ部を有する物理層集積回路部と、物理層側レジスタ部の構成及び機能をエミュレーションした制御側レジスタ部を有する制御集積回路部とを備え、制御集積回路部が物理層側レジスタ部の構成及び機能をエミュレーションする間、物理層集積回路部が、上位レイヤ側装置からの物理層側レジスタ部に対するアクセスに返信出力しない動作モードを備えるものである。
【発明の効果】
【００１１】
この発明によれば、エラーの発生を示すビット値を設定するエラーフラグレジスタ部を含んでなる物理層側レジスタ部を有する物理層集積回路部と、物理層側レジスタ部の構成及び機能をエミュレーションした制御側レジスタ部を有する制御集積回路部とを備え、制御集積回路部が物理層側レジスタ部の構成及び機能をエミュレーションする間、物理層集積回路部が、上位レイヤ側装置からの物理層側レジスタ部に対するアクセスに返信出力しない動作モードを備えるので、上位レイヤ側装置からのレジスタに対するアクセスで、既存の物理層集積回路部のレジスタからの返信出力と制御集積回路部でエミュレーションしているレジスタからの返信出力が衝突（交錯）することをなくし、また物理層集積回路部でのみ検出される通信関連の高速系のエラーと制御集積回路部でのみ検出される送信用レーザ監視などの内部処理に関する低速系のエラーの発生に伴うレジスタ内容の不整合を解消することができるという効果がある。
【発明を実施するための最良の形態】
【００１２】
実施の形態１．
図１は、この発明の実施の形態１によるトランシーバモジュールの構成を示す図であり、ＩＥＥＥ８０２．３ａｅに準拠した規格に対応する１０Ｇビットイーサネット（登録商標）用の光通信トランシーバモジュールを例に挙げている。本実施の形態による光通信用のトランシーバモジュール１は、大きく分けるとＤＣＵ２及びトランシーバ用１０Ｇｂ−ＰＨＹＩＣ（以下、ＰＨＹＩＣと称す）３から構成される。
【００１３】
ＤＣＵ（制御集積回路部）２及びＰＨＹＩＣ（物理層集積回路部）３は、汎用シリアルインタフェース用のバス、例えばＩ２Ｃ（International Institute for Communications）シリアルバス１０を介して接続されている。この汎用シリアルインタフェース用バス１０を介して、ＤＣＵ２とＰＨＹＩＣ３は、互いのＬＡＳＩ＿Ｓｔａｔｕｓレジスタにアクセス可能である。また、ＤＣＵ２及びＰＨＹＩＣ３は、ＩＥＥＥ８０２．３ａｅに対応したＭＤＩＯ（Management Data Input/Output）インタフェース回路６，７がＭＤＩＯインタフェース５を介してそれぞれ上位レイヤ側装置であるホスト４と通信接続する。
【００１４】
ＰＨＹＩＣ３は、ＭＤＩＯインタフェース回路７の他、ＩＥＥＥ８０２．３ａｅに準拠する、ＮＶレジスタ（図中、ＮＶＲと記す）８ａやＤＯＭレジスタ８ｂ、不図示のＬＡＳＩレジスタなどが構築されたＸＥＮＰＡＫレジスタ群（物理層側レジスタ部）８を有している。また、ＰＨＹＩＣ３は、エラーを検出すると、そのイベントに対応したエラービットをＰＨＹＩＣ３が有するＸＥＮＰＡＫレジスタ群８のＬＡＳＩ＿Ｓｔａｔｕｓレジスタに設定する。これと同時に、外部に対して当該エラーを特定するディジタル信号である、ＬＡＳＩ（Link Alarm Status Interrupt）と称するエラー信号（以下、ＬＡＳＩ信号１１と称する）を出力する。
【００１５】
なお、ＰＨＹＩＣ３では、後述するように、ＤＣＵ２上でＸＥＮＰＡＫレジスタ群８がソフトウエアエミュレーションされるため、ホスト４からのＭＤＩＯインタフェース５を介したＸＥＮＰＡＫレジスタ群８に対するアクセスに応答しないモードを有する。これにより、ホスト４からのトランシーバモジュール１のＸＥＮＰＡＫレジスタに対するアクセスで、ＰＨＹＩＣ３からの返信出力とＤＣＵ２からの返信出力が衝突することを防ぐことができる。図示の例では、ＰＨＹＩＣ３が当該モードにあることを示すため、ＸＥＮＰＡＫレジスタ群８を破線で表記し、バツ印を付している。
【００１６】
ＤＣＵ２は、ＭＤＩＯインタフェース回路６、ＳＲＡＭ９、ＣＰＵ１６、ＲＡＭ１７、タイマ（ＴＭ）１８、ウォッチドッグタイマ（ＷＴ）１９、ディジタル−アナログ変換器（ＤＡ）２０及びアナログ−ディジタル変換器（ＡＤ）２１を含んで構成される。ＳＲＡＭ９上には、ＰＨＹＩＣ３のＸＥＮＰＡＫレジスタ群８と同様の構成及び機能を有するＸＥＮＰＡＫレジスタ群（制御側レジスタ部）９ａが、ＣＰＵ１６が実行するソフトウエアによりエミュレーションされている。
【００１７】
ＣＰＵ（Central Processing Unit）１６は、演算や周辺機能を具現化するマイクロコンピュータとしてのＤＣＵ２の全体的な制御を行なう。ＲＡＭ１７は、ＣＰＵ１６が実行するソフトウエアプログラムの格納やワークエリアなどに使用される。また、ＣＰＵ１６は、タイマ１８及びウォッチドッグタイマ１９に時間を設定し、タイマ１８及びウォッチドッグタイマ１９から出力される割込み要求を受付けて所定の動作を行なうことによってデバイス全体の制御を行なう。
【００１８】
本実施の形態によるトランシーバモジュール１は、送信用レーザ１４ａ及び受信用素子１４ｂも備えており、これらを用いて光ケーブル１５ａ，１５ｂを介して外部とデータ送受信が可能である。送信用レーザ１４ａには、増幅器１３ａを介してＰＨＹＩＣ３から送信データが与えられ、ＰＨＹＩＣ３には、増幅器１３ｂを介して受信用素子１４ｂからの受信データが与えられる。
【００１９】
ＤＣＵ２は、例えば送信用レーザ１４ａやトランシーバモジュール１内の温度、送信用レーザ１４ａのバイアス、受信用素子１４ｂのバイアス、送信用レーザ１４ａの電源電圧を監視する。そして、送信用レーザ１４ａの出力が一定となるように送信用レーザ１４ａのバイアスを制御する。
【００２０】
また、ＤＣＵ２は、エラーを検出した場合、ＳＲＡＭ９上にエミュレーションしているＸＥＮＰＡＫレジスタ群９ａを構成するＬＡＳＩ（Link Alarm Status Interrupt）レジスタにエラーの検出を示すディジタル情報（エラーを特定するビット値）を書き込む。ホスト４は、このＸＥＮＰＡＫレジスタ群９ａ内の当該ＬＡＳＩレジスタの内容を読み込み、トランシーバモジュール１が継続して動作することが不適切と判断した場合、例えば当該トランシーバモジュール１を停止させる。
【００２１】
具体的には、ＤＣＵ２が異常を検出した場合、ホスト４に対してエラーの発生を警告するための信号であるＬＡＳＩ信号１２を与える。これを契機として、ホスト４はＭＤＩＯインタフェース５を介してＤＣＵ２のＸＥＮＰＡＫレジスタ群９ａを参照し、エラーが検出されたことを了知する。なお、ＬＡＳＩ信号１２は、例えばホスト４が認識するのに適した形態で表したトランシーバモジュール１で検出したエラーを特定するディジタル信号である。
【００２２】
次に、本実施の形態のＤＣＵによるＸＥＮＰＡＫレジスタのソフトウエアエミュレーションについて説明する。
トランシーバモジュール１において、ＤＣＵ２のＭＤＩＯインタフェース回路６及びＰＨＹＩＣ３のＭＤＩＯインタフェース回路７は、ＭＤＩＯインタフェース５を介してそれぞれホスト４に接続している。これにより、ホスト４からＭＤＩＯインタフェース５を介してＤＣＵ２及びＰＨＹＩＣ３におけるＸＥＮＰＡＫレジスタ群９ａ，８にアクセスすることができる。
【００２３】
そこで、本実施の形態によるＤＣＵ２及びＰＨＹＩＣ３では、ＤＣＵ２が、ＰＨＹＩＣ３のＸＥＮＰＡＫレジスタ群８をソフトウエアエミュレーションしている場合、ＭＤＩＯインタフェース５を介して、ホスト４などの外部装置からＰＨＹＩＣ３のＸＥＮＰＡＫレジスタ群８へアクセスがあっても、これに応答しないモードをＰＨＹＩＣ３に設定する。
【００２４】
具体的には、ＤＣＵ２が、ＰＨＹＩＣ３のＸＥＮＰＡＫレジスタ群８をソフトウエアエミュレーションするにあたり、Ｉ２Ｃシリアルバス１０を介して、ホスト４からのＸＥＮＰＡＫレジスタ群８へのアクセスに対する返信出力を遮断する設定を、ＰＨＹＩＣ３のＭＤＩＯインタフェース回路７に実行する。
【００２５】
これにより、ホスト４からのＸＥＮＰＡＫレジスタ群８，９ａに対するアクセスで、ＰＨＹＩＣ３における既存のＸＥＮＰＡＫレジスタ群８からの返信出力が遮断されるので、ＤＣＵ２でエミュレーションしているＸＥＮＰＡＫレジスタ群９ａからの返信出力と交錯することがない。
【００２６】
続いて、何らかのイベント（エラーイベントが発生）により、ＰＨＹＩＣ３におけるＸＥＮＰＡＫレジスタ群８と、ＤＣＵ２におけるＳＲＡＭ９上にソフトウエアエミュレーションされたＸＥＮＰＡＫレジスタ群９ａのそれぞれのＬＡＳＩ＿Ｓｔａｔｕｓレジスタの内容において矛盾が生じる不具合の解消する機能について説明する。
【００２７】
先ず、ＤＣＵ２とＰＨＹＩＣ３が担当する処理の違いにより、ＰＨＹＩＣ３が有するＬＡＳＩ＿Ｓｔａｔｕｓレジスタにおいては、通信関連の高速系のエラーフラグが有効であり、ＤＣＵ２が有するＬＡＳＩ＿Ｓｔａｔｕｓレジスタにおいては、送信用レーザ１４ａ監視などの内部処理関連の低速系のエラーフラグが有効となる。
【００２８】
ここで、高速系のエラーイベントが発生すると、ＰＨＹＩＣ３は、そのエラーを検出し、そのイベントに対応したエラービットをＰＨＹＩＣ３が有するＸＥＮＰＡＫレジスタ群８のＬＡＳＩ＿Ｓｔａｔｕｓレジスタに設定する。これと同時に、ＰＨＹＩＣ３は、外部に対して当該エラーを特定するディジタル信号であるＬＡＳＩ信号１１をＤＣＵ２に出力する。
【００２９】
ＤＣＵ２では、内部の外部割込み端子等にＬＡＳＩ信号１１を入力し、ＰＨＹＩＣ３におけるエラーイベントの発生を検出する。このあと、ＤＣＵ２は、ホスト４に対してＰＨＹＩＣ３側が検出した当該エラーについての二次的なＬＡＳＩ信号１２を生成してホスト４に出力する。これにより、ＰＨＹＩＣ３側が検出したエラーについてのエラーイベントが、ＤＣＵ２を介してホスト４に通知される。
【００３０】
また、この通知と同時に、ＤＣＵ２は、Ｉ２Ｃインタフェース１０を介して、ＰＨＹＩＣ３のＬＡＳＩ＿Ｓｔａｔｕｓレジスタの内容を、自己がエミュレーションするＬＡＳＩ＿Ｓｔａｔｕｓレジスタにコピーする。このとき、ＰＨＹＩＣ３は、Ｉ２Ｃインタフェース１０を介して、ＰＨＹＩＣ３におけるＸＥＮＰＡＫレジスタ群８、或いは少なくともＩＥＥＥレジスタとＸＥＮＰＡＫレジスタのうち、相互関係を有するレジスタにアクセスが可能な機能を有するものとする。
【００３１】
これにより、ＤＣＵ２のＬＡＳＩ＿Ｓｔａｔｕｓレジスタの内容とＰＨＹＩＣ３のＬＡＳＩ＿Ｓｔａｔｕｓレジスタの内容が一致し、それぞれのＬＡＳＩ＿Ｓｔａｔｕｓレジスタの内容において矛盾が生じることがない。
【００３２】
なお、ＤＣＵ２が、ＰＨＹＩＣ３のＬＡＳＩ＿Ｓｔａｔｕｓレジスタの内容を読み込むにあたり、ＩＥＥＥレジスタとＸＥＮＰＡＫレジスタの内、相互関係を有するレジスタの内容にＤＣＵ２がアクセスするための、それらの相互関係にあるＰＨＹＩＣ３におけるレジスタのレジスタビットを集約したミラーレジスタ（専用レジスタ部）を設けてもよい。
【００３３】
これにより、ＤＣＵ２は、前記ミラーレジスタに設定されたレジスタビットが集約された内容を読み込めば良く、より高速にＰＨＹＩＣ３のＬＡＳＩ＿Ｓｔａｔｕｓレジスタの内容を読み込むことが可能となる。
【００３４】
以上のように、この実施の形態１によれば、エラーの発生を示すビット値を設定するＬＡＳＩ＿Ｓｔａｔｕｓレジスタを含んでなるＸＥＮＰＡＫレジスタ群８を有するＰＨＹＩＣ３と、ＸＥＮＰＡＫレジスタ群８の構成及び機能をエミュレーションしたＸＥＮＰＡＫレジスタ群９ａを有するＤＣＵ２とを備え、ＤＣＵ２がＸＥＮＰＡＫレジスタ群８の構成及び機能をエミュレーションする間、ＰＨＹＩＣ３が、ホスト４からのＸＥＮＰＡＫレジスタ群８に対するアクセスに返信出力しない動作モードを備えたので、ホスト４からのＸＥＮＰＡＫレジスタ群に対するアクセスで、ＰＨＹＩＣ３における既存のＸＥＮＰＡＫレジスタ群８からの返信出力とＤＣＵ２でエミュレーションしているＸＥＮＰＡＫレジスタ群９ａからの返信出力が衝突（交錯）することがない。
【００３５】
また、ＰＨＹＩＣ３が、検出したエラーを特定するエラー信号をＤＣＵ２に出力し、ＤＣＵ２が、エラー信号に基づいてＰＨＹＩＣ３で検出されたエラーを特定し、当該エラーの発生をホスト４に通知すると共に、ＸＥＮＰＡＫレジスタ群８におけるＬＡＳＩ＿Ｓｔａｔｕｓレジスタの内容を、ＸＥＮＰＡＫレジスタ群９ａとしてエミュレーションするＬＡＳＩ＿Ｓｔａｔｕｓレジスタに書き込むので、ＰＨＹＩＣ３でのみ検出される通信関連の高速系のエラーとＤＣＵ２でのみ検出される送信用レーザ監視などの内部処理に関する低速系のエラーの発生に伴うレジスタ内容の不整合を解消することができる。
【図面の簡単な説明】
【００３６】
【図１】この発明の実施の形態１によるトランシーバモジュールの構成を示す図である。
【符号の説明】
【００３７】
１  トランシーバモジュール、２  ＤＣＵ（制御集積回路部）、３  ＰＨＹＩＣ（物理層集積回路部）、４  ホスト（上位レイヤ側装置）、５  ＭＤＩＯインタフェース、６，７  ＭＤＩＯインタフェース回路、８，９ａ  ＸＥＮＰＡＫレジスタ群（物理層側レジスタ部、制御側レジスタ部）、８ａ  ＮＶレジスタ、８ｂ  ＤＯＭレジスタ、９  ＳＲＡＭ、１０  Ｉ２Ｃインタフェース、１１，１２  ＬＡＳＩ信号、１３ａ，１３ｂ  増幅器、１４ａ  送信用レーザ、１４ｂ  受信用素子、１５ａ，１５ｂ  光ケーブル、１６  ＣＰＵ、１７  ＲＡＭ、１８  タイマ（ＴＭ）、１９  ウォッチドッグタイマ（ＷＴ）、２０  ディジタル−アナログ変換器（ＤＡ）、２１  アナログ−ディジタル変換器（ＡＤ）。
【図１】
2006101433.tif 000003