"外部の上位レイヤに接続される光トランシーバであって、該光トランシーバの複数の内部状態を監視するマイクロコンピュータであって、該複数の内部状態を示す複数のデータを記憶するMDIOManagementDataInput/Outputレジスタを有する該マイクロコンピュータと、前記上位レイヤとMDIOバスを介して接続され、前記マイクロコンピュータと通信バスを介して接続されるプログラム可能なロジックデバイスであって、前記MDIOバスを介して前記上位レイヤから送信されるアドレス情報によって特定される前記MDIOレジスタ内の単一のデータを、前記通信バスを介して取得する、該ロジックデバイスと、を備える光トランシーバ。前記通信バスは、パラレル通信バスである、請求項1に記載の光トランシーバ。上述したように、特許文献1に記載された光トランシーバでは、MDIOレジスタに複数のデータが反映された後に、上位レイヤにデータが提供される構成が採用されている。したがって、最新の内部状態に関する情報を上位レイヤに提供するまでの間に遅延が発生し得る。したがって、当技術分野においては、内部状態に関する情報を少ない遅延で上位レイヤに提供し得る光トランシーバが要請されている。一側面に係る光トランシーバは、外部の上位レイヤに接続される光トランシーバである。この光トランシーバは、マイクロコンピュータ及びロジックデバイスを備える。マイクロコンピュータは、光トランシーバの複数の内部状態を監視する。マイクロコンピュータは、複数の内部状態を示す複数のデータを記憶するMDIOManagementDataInput/Outputレジスタを有する。ロジックデバイスは、上位レイヤとMDIOバスを介して接続され、マイクロコンピュータと通信バスを介して接続される。ロジックデバイスは、MDIOバスを介して上位レイヤから送信されるアドレス情報によって特定されるMDIOレジスタ内の単一のデータを、通信バスを介して取得する。一実施形態においては、通信バスは、ロジックデバイスとマイクロコンピュータを接続する通信バスはパラレル双方向通信バスであり得る。この光トランシーバでは、MDIOレジスタが周辺ICに相当するマイクロコンピュータに設けられている。マイクロコンピュータは当該MDIOレジスタ内に光トランシーバの内部状態に関する複数のデータを記憶する。上位レイヤからの内部状態に関するデータの取得要求に対しては、指定されたアドレスによって特定される単一のデータのみがMDIOレジスタからロジックデバイスに通信バスを介して提供され、当該データがロジックデバイスから上位レイヤに提供される。したがって、周辺IC内の複数のデータを周期的にトランシーバIC内のMDIOレジスタに反映させた後に、MDIOレジスタ内のデータを上位レイヤに提供する構成に比べて、内部状態に関する情報が少ない遅延で上位レイヤに提供され得る。以上説明したように、本発明によれば、内部状態に関する情報を少ない遅延で上位レイヤに提供し得る光トランシーバが提供される。以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。図1は、一実施形態に係る光トランシーバを示す図である。図2は、図1に示すマイクロコンピュータ及びロジックデバイスを上位レイヤと共に示す図である。図1に示す光トランシーバ10は、ホストシステムとも呼ばれる上位レイヤ100に対して挿抜可能な光トランシーバで有り得る。光トランシーバ10は、ロジックデバイス12、及び、マイクロコンピュータ14を備えている。また、光トランシーバ10は、クロックデータリカバリCDR16、駆動制御回路18、光送信サブアセンブリTOSA20、光マルチプレクサ22、光受信サブアセンブリROSA24、及び、光デマルチプレクサ26を備え得る。一実施形態においては、光トランシーバ10は、四つのTOSA20、及び、四つのROSA24を備え得る。四つのTOSA20は、互いに異なる波長の光信号をそれぞれ発生し得る。また、四つのROSA24は、互いに異なる波長の光信号をそれぞれ受信し得る。したがって、一実施形態においては、光トランシーバ10は、互いに異なる波長を有する四つの光信号を含む多重化光信号を用いて、光通信を実施し得る。TOSA20は、レーザといった発光素子を有し得る。TOSA20は、光マルチプレクサ22に光学的に結合されている。光マルチプレクサ22は、四つのTOSA20からの光信号を多重化することによって生成した多重化光信号を外部に送信する。TOSA20は、駆動制御回路18に電気的に結合されている。駆動制御回路18は、TOSA20に発光素子を駆動するための駆動電流を提供する。また、駆動制御回路18は、TOSA20の光出力のパワーを制御する。例えば、駆動制御回路18は、発光素子に与えるバイアス電流を制御することによって、光出力のパワーを制御する。したがって、駆動制御回路18は、ドライバ回路、及び、オートパワーコントロール回路と呼ばれる二つの回路の機能を含み得る。駆動制御回路18は、一部の本実施形態では四つのCDR16に電気的に接続されている。CDR16は、上位レイヤ100からの電気信号を受けて、当該電気信号にクロック成分を重畳し、生成した電気信号を駆動制御回路18に与える。駆動制御回路18は、当該電気信号に基づいて、駆動電流を発生する。駆動制御回路18は、外部からの停止信号をマイクロコンピュータ14を介して受ける。駆動制御回路18は、この停止信号をマイクロコンピュータ14から受けるための信号線を介してマイクロコンピュータ14に接続されている。また、駆動制御回路18は、シリアルペリフェラルインターフェイスSPI信号線を介して、マイクロコンピュータ14に接続されている。CDR16も同様に、SPI信号線を介してマイクロコンピュータ14に接続されている。ROSA24は、フォトダイオードといった光電変換素子、及び、光電変換素子からの光電流を電圧信号に変換するトランスインピーダンスアンプを有し得る。ROSA24は、光デマルチプレクサ26に光学的に結合されている。外部から入力される多重化光信号は、光デマルチプレクサ26によって波長ごとに分離されて四つの光信号となる。これら四つの光信号は、四つのROSA24によって受信される。ROSA24は、受信した光信号のパワーに応じた電圧信号を出力する。ROSA24は、別の一部の本実施形態では四つのCDR16に電気的に接続されている。ROSA24に接続されたCDR16は入力される電圧信号からクロック成分を除去して、生成した電気信号を外部の上位レイヤ100に出力する。以下、図2を参照する。ロジックデバイス12は、プログラム可能なロジックデバイスの一種であるCPLDComplexProgrammableLogicDevice有り得る。ロジックデバイス12は、MDIOManagementDataInpou/Outputインタフェイスを担当する。以下の説明では、ロジックデバイス12を、CPLDと呼ぶことがある。CPLD12は、MDIOインタフェイスバスMDIOバスL12、及び、ポートアドレス用の5本5ビットの信号線L14を介して、上位レイヤ100と接続されている。MDIOインタフェイスバスL12は、クロック信号MDC用の信号線L12aとデータ信号MDIO用の信号線L12bの二本の信号線を含む。なお、MDIO信号線L12bは、双方向パラレル信号線である。マイクロコンピュータ14は、1チップのマイクロコンピュータで有り得る。以下の説明では、マイクロコンピュータ14をCPUと呼ぶことがある。CPU14は、CDR16、及び駆動制御回路18といった回路を制御して、TOSA20及びROSA24を制御する。また、CPU14は、光トランシーバ10の内部状態を監視して、各種アラームやステータス信号を、MDIO通信経由で、或いは、上位レイヤ100に対して外部ピン経由で発報する。図2に示すように、一実施形態では、CPU14は、上位レイヤ100を当該CPU14に直接接続するための信号線L16を介して、アラームを発報し得る。CPU14は、MDIOレジスタ14aを有し得る。CPU14は、光トランシーバ10の複数の内部状態を監視し、当該複数の内部状態を示す複数のデータを、MDIOレジスタ14aに記憶する。複数の内部状態は、例えば、光トランシーバ10の温度、電源電圧、TOSA20のバイアス電流値、TOSA20の光送信パワー、TOSA20の発光素子温度、ROSA24の受信パワー等であり得る。このCPU14とCPLD12とは、通信バスL20を介して接続されている。一実施形態においては、通信バスL20はパラレル通信バスで有り得、16本のパラレル信号線パラレル通信バスを含み得る。また、CPU14とCPLD12とは、4本の制御信号線/SS:スレーブセレクタ、AD:アドレス/データ、WR:書き込み/読み込み、/RES:応答L22を介して接続され得る。CPLD12は、上位レイヤ100から指定されるアドレス情報によって特定されるMDIOレジスタ14a内の単一のデータを、パラレル信号線L20を介して取得する。CPLD12は、レジスタ12aを含み得る。レジスタ12aは、領域12a1、及び、領域12a2を含み得る。領域12a1には、アドレス情報が格納される。また、領域12a2には、MDIOレジスタ14aから取得される単一のデータといったデータが格納される。以下、図3~図9を参照して、CPLD12とCPU14との間の通信方法について、説明する。図3は、一実施形態に係るロジックデバイスとマイクロコンピュータとの間でのアドレス設定における通信のタイミングチャートである。光トランシーバ10では、上位レイヤからのアドレス情報を伴う指令に基づき、CPLD12とCPU14との間で図3に示すアドレス設定が行われる。図3に示すように、アドレス設定のための通信においては、CPLD12は、まず、AD信号及びWR信号の状態を変化させて、変化後のAD信号及びWR信号を制御信号線L22に設定する。AD信号は、Lowのときにアドレスが送受されることを示し、Highのときにデータが送受されることを示す。したがって、図3に示すAD信号は、通信開始前にLowに設定される。また、WR信号は、Lowのときに書き込みWriteが行われることを示し、Highのときに読み込みReadが行われることを示す。したがって、図3に示すWR信号は、通信開始前にLowに設定される。また、図3に示すように、CPLD12は、パラレル信号線L20にアドレス情報を設定する。このアドレス情報は、上位レイヤ100から指定されるものであり得る。次いで、CPLD12は、制御信号線L22に設定する/SS信号をHighからLowに変化させることで、通信を開始する。CPU14は、/SS信号用の信号線を外部割り込みピンに割当て、HighからLowへの変化を検出することで割り込み処理を実行する。割り込み処理では、CPU14は、/RES信号をHighからLowに変更する。そして、CPU14は、AD信号及びWR信号がLowであるので、パラレル信号線L20に設定されたアドレス情報を取り込み、内部のカレントアドレスを当該アドレス情報によって特定されるアドレスに更新する。CPLD12は、/RES信号がLowである間はパラレル信号線L20や制御信号線L22の状態を変化させない。/RES信号がLowからHighに戻ったときに、CPLD12は、CPU14側の処理が完了したと判断し、/SS信号をLowからHighに戻し、パラレル通信を完了させる。図4は、一実施形態に係るロジックデバイスとマイクロコンピュータとの間でのデータ書き込みにおける通信のタイミングチャートである。図4に示すタイミングチャートは、図3に示すように設定されたカレントアドレスMDIOレジスタ内のアドレスに、データを書き込む際の通信を示している。図4に示すように、データの書き込み時には、CPLD12は、通信開始前に、AD信号の状態をHighに変更し、WR信号の状態をLowに変更し、変更後のAD信号及びWR信号を制御信号線L22に設定する。次いで、図4に示すように、CPLD12は、パラレル信号線L20にデータを設定する。次いで、CPLD12は、制御信号線L22に設定する/SS信号をHighからLowに変化させることで、通信を開始する。CPU14は、/SS信号用の信号線を外部割り込みピンに割当て、HighからLowへの変化を検出することで割り込み処理を実行する。割り込み処理では、CPU14は、/RES信号をHighからLowに変更する。そして、CPU14は、AD信号がHighでありWR信号がLowであるので、パラレル信号線L20に設定されたデータを取り込み、内部のカレントアドレスのデータを取り込んだデータで更新する。そして、/RES信号がLowからHighに戻ったときに、CPLD12は、CPU14側の処理が完了したと判断し、/SS信号をLowからHighに戻し、パラレル通信を完了させる。図5は、一実施形態に係るロジックデバイスとマイクロコンピュータとの間でのデータ読み込みにおける通信のタイミングチャートである。図5に示すタイミングチャートは、カレントアドレスMDIOレジスタ内のアドレスから、データを読み込む際の通信を示している。図5に示すように、データの読み込み時には、CPU14は、パラレル信号線L20にカレントアドレスMDIOレジスタ内のアドレスのデータを設定する。なお、図5に示す形態では、CPLD12は、通信開始前にAD信号の状態をHighに変更し、WR信号の状態をHighに変更し、これら信号を制御信号線L22設定している。次いで、図5に示す形態では、CPLD12は、制御信号線L22に設定する/SS信号をHighからLowに変化させている。次いで、CPU14は、制御信号線L22に設定する/RES信号をHighからLowに変更し、パラレル信号線L20にデータを設定する。CPLD12は、/RES信号がLowからHighに変化したことを検出すると、パラレル信号線L20に設定されたデータを取り込む。そして、CPLD12は、/SS信号をLowからHighに戻すことでパラレル通信を完了させる。CPLD12によって取り込まれたデータは、CPLD12のレジスタ12aの領域12a2に格納され、MDIOインタフェイスバスL12を介して、上位レイヤ100に提供され得る。上述したように、パラレル信号線L22は双方向信号線であり得る。したがって、アドレス設定及びデータ書き込み時には、パラレル信号線L22に対する出力ポートはCPLD12となり、入力ポートはCPU14となる。一方、データ読み込み時には、パラレル信号線L22に対する出力ポートはCPU14となり、入力ポートはCPLD12となる。以下、上位レイヤとCPLD12との間で送受され得るMDIO通信のフレーム構造について説明する。図6は、一実施形態に係るMDIO通信のフレーム構造を示す図である。一実施形態においては、上位レイヤとCPLD12との間で送受されるフレームは、IEEE802.3Clause45,CFPMSAManagementInterfaceSpecificationで規定されるフレーム構造を有し得る。このフレームは、図6に示すように、32ビットのプリアンブルPreamble、スタートビッツST、2ビット、オペレーションコードOP、2ビット、フィジカルポートアドレスPHYADR、5ビット、MDIOデバイスアドレスDEVADD、5ビット、ターンアラウンドビッツTA、2ビット、16ビットのアドレス情報/データ領域で構成される。一実施形態の光トランシーバ10の場合には、フィジカルポートアドレスはPHYADR0-4信号で与えられ、図6に示すようにMDIOデバイスアドレスは、00001PMA/PMDのみ応答する。また、オペレーションコードOPには、図6に示すように、アドレス設定Address、データライトWrite、データリードRead、インクリメント付きデータリードPostReadincAddの4種が存在する。以下、図7~図9を参照して、上位レイヤとCPLD12との間のMDIO通信、及び、CPLD12とCPU14との間のパラレル通信のタイミングについて説明する。図7は、一実施形態に係るアドレス設定及びデータ書き込み時の上位レイヤとロジックデバイスとの間のMDIO通信、及びロジックデバイスとマイクロコンピュータとの間のパラレル通信のタイミングチャートである。図7は、アドレス設定からMDIOレジスタのカレントアドレスへのデータの書き込みの処理までのタイミングを示している。図7に示すように、MDIOレジスタ14aへのデータの書き込みのために、上位レイヤ100は、CPLD12に対して、MDIO信号線L12aを介して、フレームF71を送信する。なお、以下に説明するフレームは、図6に示したフレーム構造で有り得る。フレームF71のオペレーションコードOPには、Addressが設定され、16ビットのアドレス情報/データ領域には、アドレス情報が設定される。なお、図7~図9のフレーム構造を示す二つの矩形のうち左側の矩形は、プリアンプルからターンアラウンドビッツを示しており、右側の矩形は16ビットのアドレス情報/データ領域を示している。CPLD12によるフレームF71の受信後、図3を参照して説明した処理に従い、アドレス設定が行われる。具体的には、CPLD12は、フレームF71のオペレーションコードがAddressであることを検出して、当該フレームF71のアドレス情報/データ領域からアドレス情報を取得する。そして、CPLD12は、取得したアドレス情報を、パラレル信号線L20に設定する。次いで、CPU14は、パラレル信号線L20に設定されたアドレス情報を用いて、カレントアドレスを設定する。このアドレス設定は、図7に示す期間P71において行われる。即ち、フレームF71に続くフレームF72の通信の期間に、アドレス設定が行われる。なお、フィジカルポートアドレスやMDIOデバイスアドレスが一致しない場合は、CPU14に対するパラレル通信は行われない。次いで、フレームF71に引き続き、上位レイヤ100は、CPLD12に対して、MDIO信号線L12aを介して、フレームF72を送信する。フレームF72におけるオペレーションコードOPは、Writeに設定され、16ビットのアドレス情報/データ領域には、データが設定される。このフレームF72の通信の期間、即ち、アドレス設定の期間P71に続く期間P72においては、CPU14からCPLD12に対して、カレントアドレスのデータが送信される。CPU14からCPLD12へのデータの送信処理は、図5を参照して説明したデータの読み込みと同様である。次いで、フレームF72の受信後、図4を参照して説明した処理に従い、データの書き込みが行われる。具体的には、CPLD12は、フレームF72のオペレーションコードがwriteであることを検出して、当該フレームF72のアドレス情報/データ領域からデータを取得する。そして、CPLD12は、取得したデータをパラレル信号線L20に設定する。そして、CPU14は、パラレル信号線L20に設定されたデータにより、カレントアドレスのデータを更新する。このデータの書き込みは、図7に示す期間P73において行われる。即ち、フレームF72に関するMDIO通信に続いて、データの書き込みが行われる。図8は、一実施形態に係るアドレス設定及びデータ読み込み時の上位レイヤとロジックデバイスとの間のMDIO通信、及びロジックデバイスとマイクロコンピュータとの間のパラレル通信のタイミングチャートである。図8は、データ読み込み時の処理のタイミングチャートの一例を示している。図8に示すよう、MDIOレジスタ14aからのデータの読み込みのために、上位レイヤ100は、CPLD12に対して、MDIO信号線L12aを介して、フレームF81を送信する。フレームF81のオペレーションコードOPには、Addressが設定され、16ビットのアドレス情報/データ領域には、アドレス情報が設定される。次いで、CPLD12によるフレームF81の受信後、図3を参照して説明した処理に従い、アドレス設定が行われる。具体的には、CPLD12は、フレームF81のオペレーションコードがAddressであることを検出して、当該フレームF81のアドレス情報/データ領域からアドレス情報を取得する。そして、CPLD12は、取得したアドレス情報を、パラレル信号線L20に設定する。次いで、CPU14は、パラレル信号線L20に設定されたアドレス情報を用いて、カレントアドレスを設定する。このアドレス設定は、図8に示す期間P81において行われる。即ち、フレームF81に続くフレームF82のプリアンブルからターンアラウンドビッツの通信の期間に、アドレス設定が行われる。フレームF81に引き続き、CPLD12と上位レイヤ100との間で、MDIO信号線L12aを介して、フレームF82が通信される。フレームF82におけるオペレーションコードOPは、Readに設定される。また、期間P81の直後の期間P82において、CPU14からCPLD12に対して、カレントアドレスのデータが送信される。CPU14からCPLD12へのデータの送信に関する処理については、図5を参照して説明したデータの読み込みと同様である。この期間P82は、フレームF82のプリアンブルからターンアラウンドビッツの通信が行われる期間である。したがって、MDIOレジスタ14a内のカレントアドレスのデータが、フレームF82のプリアンブルからターンアラウンドビッツの通信期間に、取得される。また、フレームF82のアドレス情報/データ領域の通信期間に、MDIOレジスタ14a内のカレントアドレスから取得されたデータがCPLD12から上位レイヤ100に送信される。次いで、図8に示す一例では、CPLD12と上位レイヤ100との間で、MDIO信号線L12aを介して、フレームF83が通信される。フレームF83におけるオペレーションコードOPは、Readに設定される。図8に示す一例では、フレームF83のオペレーションコードによって特定される読み取りに対して、カレントアドレスのデータをCPU14からCPLD12へ送信する処理は行われない。したがって、直前に取得されたカレントアドレスのデータが、フレームF83のアドレス情報/データ領域の通信期間に、CPLD12から上位レイヤ100に送信される。図9は、一実施形態に係るアドレス設定及び連続データ読み込み時の上位レイヤとロジックデバイスとの間のMDIO通信、及びロジックデバイスとマイクロコンピュータとの間のパラレル通信のタイミングチャートである。図9は、データ読み込み時の処理のタイミングチャートの別の一例を示している。図9に示すよう、MDIOレジスタ14aからのデータの読み込みのために、上位レイヤ100は、CPLD12に対して、MDIO信号線L12aを介して、フレームF91を送信する。フレームF91のオペレーションコードOPには、Addressが設定され、16ビットのアドレス情報/データ領域には、アドレス情報が設定される。次いで、CPLD12によるフレームF91の受信後、図3を参照して説明した処理に従い、アドレス設定が行われる。具体的には、CPLD12は、フレームF91のオペレーションコードがAddressであることを検出して、当該フレームF91のアドレス情報/データ領域からアドレス情報を取得する。そして、CPLD12は、取得したアドレス情報を、パラレル信号線L20に設定する。次いで、CPU14は、パラレル信号線L20に設定されたアドレス情報を用いて、カレントアドレスを設定する。このアドレス設定は、図9に示す期間P91において行われる。即ち、フレームF91に続くフレームF92のプリアンブルからターンアラウンドビッツの通信の期間に、アドレス設定が行われる。フレームF91に引き続き、CPLD12と上位レイヤ100との間で、MDIO信号線L12aを介して、フレームF92が通信される。フレームF92におけるオペレーションコードOPは、PostReadIncAddに設定される。また、期間P91の直後の期間P92において、CPU14からCPLD12に対して、カレントアドレスのデータが送信される。CPU14からCPLD12へのデータの送信に関する処理については、図5を参照して説明したデータの読み込みと同様である。この期間P92は、フレームF92のプリアンブルからターンアラウンドビッツの通信が行われる期間である。したがって、MDIOレジスタ14a内のカレントアドレスのデータが、フレームF92のプリアンブルからターンアラウンドビッツの通信期間に、取得される。また、フレームF92のアドレス情報/データ領域の通信期間に、MDIOレジスタ14a内のカレントアドレスから取得されたデータがCPLD12から上位レイヤ100に送信される。なお、オペレーションコードが、PostReadIncAddである場合には、CPU14は、カレントアドレスのデータをCPLD12へ転送した直後に、カレントアドレスを1データ領域分インクリメントする。図9に示す一例では、次いで、CPLD12と上位レイヤ100との間で、MDIO信号線L12aを介して、フレームF93が通信される。フレームF93におけるオペレーションコードOPは、PostReadIncAddに設定される。図9に示す一例では、上記オペレーションコードに従い、フレームF93のプリアンブルからターンアラウンドビッツの通信期間内の期間P93において、カレントアドレスのMDIOレジスタ内のデータがCPU14からCPLD12に送信される。このCPU14からCPLD12へのデータの送信に関する処理についても、図5を参照して説明したデータの読み込みと同様である。そして、取得されたデータが、フレームF93のアドレス情報/データ領域の通信期間に、CPLD12から上位レイヤ100に送信される。なお、上述したように、CPU14は、上記オペレーションコードに従い、カレントアドレスのデータをCPLD12へ転送した直後に、カレントアドレスを1データ領域分インクリメントする。以上説明した実施形態に係る光トランシーバ10によれば、MDIOレジスタ14aがCPU14内に設けられており、CPU14は当該MDIOレジスタ14a内に光トランシーバ10の内部状態に関する複数のデータを記憶する。また、上位レイヤ100からの内部状態に関するデータの取得要求に対しては、指定されたアドレスによって特定される単一のデータのみがMDIOレジスタ14aからCPLD12にパラレル通信バスL20を介して提供され、当該データがCPLD12から上位レイヤ100に提供される。したがって、光トランシーバ10は、内部状態に関する情報を少ない遅延で上位レイヤ100に提供し得る。"