JP6225431B2 - マイクロプログラムを更新可能な光トランシーバ - Google Patents

マイクロプログラムを更新可能な光トランシーバ Download PDF

Info

Publication number
JP6225431B2
JP6225431B2 JP2013036589A JP2013036589A JP6225431B2 JP 6225431 B2 JP6225431 B2 JP 6225431B2 JP 2013036589 A JP2013036589 A JP 2013036589A JP 2013036589 A JP2013036589 A JP 2013036589A JP 6225431 B2 JP6225431 B2 JP 6225431B2
Authority
JP
Japan
Prior art keywords
update
data
mdio
cpu
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013036589A
Other languages
English (en)
Other versions
JP2014165780A (ja
Inventor
田中 康祐
康祐 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2013036589A priority Critical patent/JP6225431B2/ja
Priority to US14/186,749 priority patent/US9501403B2/en
Publication of JP2014165780A publication Critical patent/JP2014165780A/ja
Application granted granted Critical
Publication of JP6225431B2 publication Critical patent/JP6225431B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/40Transceivers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Electromagnetism (AREA)
  • Human Computer Interaction (AREA)
  • Optical Communication System (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)
  • Computer Security & Cryptography (AREA)

Description

本発明はマイクロプログラム制御方式のマイクロコンピュータを備える光トランシーバに関する。
下記特許文献1には、外部の上位レイヤに接続される光トランシーバが記載されている。特許文献1に記載された光トランシーバは、マイクロコンピュータ(以下、「CPU」という)とロジックデバイスとを備えている。CPUは、光トランシーバの複数の内部状態を監視し、それら複数の内部状態を示す複数のデータを記憶するMDIO(Management Data Input/Output)レジスタを有している。ロジックデバイスは、前記上位レイヤとMDIOバスを介して接続されると共に、前記CPUと通信バスを介して接続される。
上位レイヤと光トランシーバとは「フレーム」と呼ばれる64ビットの長さのシリアルデータを、MDIOバスを介して送受信することで通信を行う。フレームの構造は、公知の規格“IEEE802.3 Clause 45, CFP MSA Managemenr Interface Specification”に準拠し、「オペレーションコード(略号OP)」と呼ばれる2ビットの長さのバイナリデータや16ビットの長さのアドレス情報あるいは単一のデータを格納する領域等を含んでいる。上位レイヤは、オペレーションコードによって「アドレス設定」、「データライト(書き込み)」、「データリード(読み出し)」、「インクリメント付きデータリード」の4種類の命令を光トランシーバに指示できる。
上位レイヤが光トランシーバ内のMDIOレジスタに格納されたデータを読み出す場合、まず、「アドレス設定」のオペレーションコードと、対象となるMDIOレジスタのアドレス情報とを含んだフレームを、MDIOバスを介してロジックデバイスに送る。ロジックデバイスは、受信したアドレス情報を、通信バスを介してCPUに送り、そのアドレス情報によって特定されるMDIOレジスタに格納されている単一のデータをCPUから通信バスを介して受信し、その単一のデータを自身の内部に用意したレジスタ(以下「通信用レジスタ」という)に格納する。次に、上位レイヤが「データリード」のオペレーションコードを含んだフレームを、MDIOバスを介してロジックデバイスに送る。このとき、ロジックデバイスは、そのフレーム内のターンアラウンドビッツ(略号TA)を受信した直後に通信用レジスタに格納されたデータを、MDIOバスを介して上位レイヤに送信する。これらの処理により、上位レイヤはMDIOレジスタに格納されたデータを読み出すことができる。
上位レイヤが光トランシーバ内部のMDIOレジスタにデータを書き込む場合は、まず、「アドレス設定」のオペレーションコードと、対象となるMDIOレジスタのアドレス情報とを含んだフレームを、MDIOバスを介してロジックデバイスに送る。ロジックデバイスは、受信したアドレス情報を、通信バスを介してCPUに送る。次に、上位レイヤは、「データライト」のオペレーションコードと、書き込むべき単一のデータとを含んだフレームを、MDIOバスを介してロジックデバイスに送る。ロジックデバイスは、受信したフレーム内の単一のデータを、通信バスを介してCPUに送る。CPUは先に受信したアドレス情報によって特定されるMDIOレジスタに、通信バスを介して受信した単一のデータを書き込む。これらの処理により、上位レイヤはMDIOレジスタにデータを書き込むことができる。
上位レイヤは、光トランシーバの内部状態の監視および制御に関する命令を、予め定められたアドレスのMDIOレジスタ(以下「コマンドレジスタ」という)に、予め命令毎に定められた単一のデータ(以下「コマンドデータ」という)を書き込むことによってCPUに指示する。そのためのロジックデバイスとのMDIOバスを介する通信は、上記の通り、第一のフレームによって、アドレス情報を送信してコマンドレジスタを特定し、第ニのフレームによって、そのコマンドレジスタについて「読み出し」、あるいは、「書き込み」を指示するという方法にて行われる。
CPUは、さらにRAM(退避用メモリ)とフラッシュROM(リードオンリーメモリー)とを備えている。RAMは、フラッシュROMよりも一般に記憶容量は少ないが、高速の読み書きが可能で、マイクロプログラムの実行や演算あるいは転送のためのデータの一時的な保管等に使用される。フラッシュROMは、制御記憶および光トランシーバ固有の識別情報や各種設定情報の恒久的な記憶場所として使用される。フラッシュROMの制御記憶に使用する領域(以下「制御記憶」という)にCPUを制御するためのマイクロプログラム(ファームウェア)が格納される。CPUが制御記憶に格納されたマイクロプログラムを実行することによって、光トランシーバの複数の内部状態の監視や制御、ロジックデバイスとの通信バスを介した通信等が実施される。そのため、制御記憶内のマイクロプログラムを新しいものに書き換えること(以下「更新」という)によって、より複雑で高度な機能を光トランシーバに与えることができる。
特開2012−169745号公報
光トランシーバが製造者によって市場に提供された後に、機能の追加や不具合の是正のために、マイクロプログラムの更新が必要となる場合がある。この場合に、製造者が光トランシーバを市場から回収してマイクロプログラムを更新し、その後返送して回収前の状態に戻すのは、その経済的負担が甚大となるだけでなく、光トランシーバが実装された伝送システム等の製造者および利用者に重大な影響を与えるという虞がある。従って、光トランシーバのマイクロプログラムの更新は、市場での使用環境に設置されたままの状態にて、上位レイヤがMDIOバスを介して行えることが好ましい。
特許文献1の発明において、上位レイヤがMDIOバスを介してマイクロプログラムを更新しようとする場合の問題点ついて以下に説明する。光トランシーバのマイクロプログラムのサイズは、制御記憶(フラッシュROM)の記憶容量等の制約により、例えば、数十〜数百キロバイトに成り得る。一つのフレームに格納可能なバイナリデータのサイズは、16ビット(2バイトに等しい)に限られるため、上位レイヤは、更新するためのマイクロプログラム(以下、「更新用マイクロプログラム」という)を2バイト毎に分割して、個々の分割された2バイトのデータ(以下、「更新用データ」という)を別々のフレームに収めてMDIOバスを介して光トランシーバに送る必要がある。次に、特定のMDIOレジスタを予め「更新用レジスタ」として定めておき、ロジックデバイスは、上位レイヤからMDIOバスを介して更新用データを格納したフレームを受信したら、その更新用データを更新用レジスタに書き込むようにする。この時、上位レイヤが更新用データを格納したフレームを連続して送ると、更新用レジスタに格納された前の更新用データが後の更新用データによって上書されてしまうので、前の更新データを先に制御記憶へ書き込んでおくようにする。これは、CPUが更新用レジスタの更新用データを制御記憶に書き込むように特定のコマンドコードを定めておき、上位レイヤからそのコマンドコードをコマンドレジスタに書き込むように構成したフレームを、更新用データを格納したフレームを送った後に、送ることで可能となる。このように、更新用データの制御記憶への書き込みを繰り返して行うことによって、最終的に制御記憶上に更新用プログラムを実行可能な状態に再現することができ、よって、マイクロプログラムを更新することができる。
しかしながら、CPUの制御記憶へのデータの書き込みには100μs程度の時間が必要であり、その間CPUは他の動作を行うことができなくなる。一方で、上位レイヤと光トランシーバとのMDIOバスを介した通信は、“CFP MSA Management Interface Specification Version 1.4”(以下「MSA規格」という)に準拠して、最大4MHzのクロック周波数(周期0.25μs)にて行われなければならず、1フレーム(上記の通り、64ビットの長さのシリアルデータとして扱われる)の通信は最小周期16μs(=64ビット×0.25μs/ビット)にて行われなければならない。すなわち、光トランシーバは、上位レイヤから送られてくる、更新以外の光トランシーバ内部の監視および制御を目的としたフレームの送信に対しても、最少周期16μsにて毎回必ず応答しなければならない。従って、CPUは、更新用レジスタに格納された更新用データを制御記憶に書き込む場合に、16μs以上の間ロジックデバイスからの通信バスを介した通信に応答することができず、ロジックデバイスも上位レイヤからのMDIOバスを介した通信に対応できなくなる。その結果として、上位レイヤと光トランシーバとのMDIOバスを介した通信が中断されてしまうという問題が生じる。このため、特許文献1の光トランシーバにおいて、上位レイヤがマイクロプログラムを、MDIOバスを介して更新することはこれまで実現されていなかった。
本発明は、上記課題に鑑みなされたものであり、外部の上位レイヤと光トランシーバとのMDIOバスを介した通信に関して、MSA規格に基づく最小周期でも光トランシーバは応答しなければならないという制約を満たすと共に、上位レイヤが光トランシーバ内の制御記憶に格納されているマイクロプログラムを、MDIOバスを介した通信によって更新する手段を供することを目的とする。
本発明は、上位レイヤに接続される光トランシーバであって、MDIOレジスタと、マイクロプログラムが格納された制御記憶(フラッシュROM)とを備えるマイクロコンピュータ(CPU)と、上位レイヤとMDIOバスを介して接続されると共に、マイクロコンピュータと第1の通信バスを介して接続されるロジックデバイスと、マイクロコンピュータと、第1の通信バスとは独立の第2の通信バスを介して接続される不揮発性メモリと、を有する。また、マイクロコンピュータは、上位レイヤによってMDIOバス及びロジックデバイスを介してMDIOレジスタに書き込まれたマイクロプログラムの更新用データを、第2の通信バスを介して不揮発性メモリに書き込み、マイクロコンピュータが再起動したときに、不揮発性メモリに書き込まれた前記更新用データを、第2の通信バスを介してフラッシュROMに転送する、ことを特徴とする。
上記構成において、MDIOレジスタに格納された更新用データの不揮発性メモリへの書き込みが、前記上位レイヤと前記ロジックデバイスとの前記MDIOバスを介する通信における一つのフレームの送信時間よりも短い時間内に行われる、ことを特徴としてもよい。
上記構成において、マイクロコンピュータは、さらに退避用メモリ(RAM)を備え、MDIOレジスタに書き込まれた更新用データの、第2の通信バスを介する不揮発性メモリへの書き込みが、その途中にRAMへの書き込みを経て行われる、ことを特徴としてもよい。
また、上記構成において、MDIOレジスタに書き込まれた更新用データの、第2の通信バスを介する不揮発性メモリへの書き込みが、その途中にRAMへの書き込みを経て行われる場合に、MDIOレジスタに書き込まれたデータのRAMへの書き込み、および、RAMから不揮発性メモリへの書き込みのそれぞれが、上位レイヤとロジックデバイスとのMDIOバスを介する通信における一つのフレームの送信時間よりも短い時間内に行われる、ことを特徴としてもよい。
本発明によると、光トランシーバは、上位レイヤとのMDIOバスを介した通信をMSA規格に基づく最小周期において正常に行うと共に、上位レイヤがMDIOバスを介した通信によって光トランシーバのマイクロプログラムを更新する手段を供することができる。
本発明の実施例1に係る光トランシーバを示す図である。 本発明の実施例1に係るMDIOバスを介して行われる通信データのフレーム構造を示す図である。 本発明の実施例1に係るロジックデバイスからの/SS信号による外部割り込み信号に対するCPUの処理手順を示すフローチャートである。 本発明の実施例1に係るRAMから不揮発性メモリへの更新用データの書き込み手順を示すフローチャートである。 本発明の実施例1に係る不揮発性メモリからフラッシュROMへの更新用マイクロプログラムの書き込み手順を示すフローチャートである。 本発明の実施例1に係るマイクロプログラムの構成を示す図である。 本発明の実施例1に係るマイクロプログラムの書き換え手順を示すフローチャートである。 本発明の実施例1に係るMDIOバスおよび第2の通信バスの信号の流れを示すタイミングチャートである。 本発明の第2の実施例に係る光トランシーバを示す図である。 本発明の第2の実施例に係るマイクロプログラムの書き換え手順を示すフローチャートである。 本発明の第2の実施例に係るMDIOバスおよび第2の通信バスの信号の流れを示すタイミングチャートである。 本発明の第3の実施例に係る光トランシーバを示す図である。
以下、図面を参照して本発明の実施例について説明する。
(実施例1)
図1は、本発明の実施例1に係る光トランシーバを示す図である。光トランシーバ10は、ロジックデバイス11とCPU12と不揮発性メモリ13とを有する。CPU12は、MDIOレジスタ12aと退避用メモリのRAM12bとフラッシュROM12cとを有する。ロジックデバイス11は、プログラム可能なロジックデバイスであって、通信用レジスタ11aを有する。MDIOレジスタ12aは、コマンドレジスタ12dと更新用レジスタ12eとを有する。RAM12bは、受信フラグ12fと、更新用データを一時的に退避させるための更新用領域12gとを有する。フラッシュROM12cは、制御記憶12hを有する。ロジックデバイス11と上位レイヤ100とは、MDIOバス14と、光トランシーバ10の物理的アドレスを指定するための5本の信号線PHYADR15とを介して接続される。ロジックデバイス11とCPU12とは、通信バス16を介して接続される。CPU12と不揮発性メモリ16とは、通信バス17を介して接続される。
なお、通信用レジスタ11a、コマンドレジスタ12d、更新用レジスタ12e、受信フラグ12f、更新用領域12g、制御記憶12hは、ロジック回路あるいは各種メモリの内部にて特定の用途に使用する部分に説明の便宜上名称を付与したものである。従って、それらの特定の物理的な構造物等がCPU12の各要素12a、12b、12cの内部に含まれることを意味するものではない。また、更新用領域12gは、RAM12b上にあるとしたが、CPU12のアーキテクチャによっては、汎用レジスタやアキュムレータなどのCPU内で一時的なデータの退避場所として利用できるものを使用しても良い。
光トランシーバ10は、上位レイヤ100から受信した複数あるいは単一の電気信号を複数あるいは単一の光信号に変換して外部へ送信する機能と、外部から受信した複数あるいは単一の光信号を複数あるいは単一の電気信号に変換して上位レイヤに送信する機能とを有する。そのため、ロジックデバイス11、CPU12、および不揮発性メモリ13以外に、構成要素として、電気入出力信号、光入出力信号、光信号クロックデータリカバリ、駆動制御回路、光送信サブアセンブリ(TOSA)、光受信サブアセンブリ(ROSA)、周辺IC、及び、電源回路などを備え得る。しかし、それらの構成要素は、本発明の実施例に直接関係しないため、図1には図示せずに省略している。CPU12は、クロックデータリカバリ、駆動制御回路、TOSA,ROSA,周辺IC、電源回路などの複数の内部状態の監視および制御を行うことができ、それら複数の内部状態を示す複数のデータをMDIOレジスタに記憶することができる。また、CPU12は、監視および制御を行う周期にて監視および制御の結果に応じてMDIOレジスタ12aに格納されるデータを更新することができる。
上位レイヤ100とロジックデバイス11とは、MDIOバス14を介して通信を行う。詳細には、MDIOバス14は、クロック信号MDCとデータ信号MDIOの2本の信号線から構成される。上位レイヤ100からクロック信号MDCを供給し、上位レイヤ100とロジックデバイス11とでフレームを送受信することで通信が行われる。
図2はフレームの構造を示している。フレームの構造は、公知の規格“IEEE802.3 Clause 45, CFP MSA Managemenr Interface Specification”に準拠する。図2中のPHYADRの5ビットは、光トランシーバの物理アドレスを指定するのに使用される。MDIOバス14では、一つの上位レイヤ100に対して最大32個までの光トランシーバを並列して接続できる。上位レイヤ100が送信したフレームがどの光トランシーバ向けのものなのか識別するためにPHYADRの5ビットが使用される。
再び、図1を参照すると、光トランシーバ10の物理アドレスを指定するための5本の信号線PHYADR15は、フレーム内のPHYADRで指定される物理アドレスを予め光トランシーバに通知して設定しておくために使用される。従って、上位レイヤ100と光トランシーバ10との監視および制御を目的とした通信自体には直接寄与しない。例えば、上位レイヤ100と一つの光トランシーバのみ接続する場合や予め物理的アドレスを光トランシーバ10に記憶させておく場合は、信号線PHYADR15は省略することができる。
ロジックデバイス11とCPU12とは、通信バス16を介して通信を行う。詳細には、この通信において、ロジックデバイス11は、上位レイヤからMDIOバスを介して送信されたフレーム内のアドレス情報によってMDIOレジスタを特定し、その特定されたMDIOレジスタに対して単一データの読み出しあるいは書き込みを行うことができる。
次に、ロジックデバイス11とCPU12との通信バス16を介した通信についてさらに詳細に説明する。図1は、第1の通信バスの例として、パラレル通信バスを示しており、4本の制御信号、すなわち、/SS信号、AD信号、WR信号、/RES信号と、16本のパラレルデータ信号Dataとが使用される。なお、信号名称について、以下、特に断らない限り、最初に「/」が付いているものは、その論理レベルが負論理にて使用されることを表し、最初に「/」が付かないものは、その論理レベルが正論理にて使用されることを表すものとする。
/SS信号は、CPU12の外部割り込み信号端子(図示していない)に接続され、ロジックデバイス11は/SS信号によってCPU12に外部割り込みを掛けて、CPU12に通信バス16を介した通信に必要な処理を行わせる。
16本の信号線によって伝達されるパラレルデータ信号Dataは、MDIOレジスタを特定するアドレス情報あるいはMDIOレジスタに格納されているデータをCPU12に伝達するために使用される。AD信号は、パラレルデータ信号Dataがアドレス情報なのかデータなのかを知らせるために使用される。例えば、ロジックデバイス11は、AD信号の論理レベルをLowとすることで送信中のパラレルデータ信号DataがMDIOレジスタを特定するアドレス情報であることをCPUに知らせることができる。また、AD信号の論理レベルをHighにしているときは、パラレルデータ信号Dataは、16本の並行した双方向信号として働き、ロジックデバイス11からCPU12へ指定したMDIOレジスタへ書き込むデータを送信するか、あるいは、CPU12からロジックデバイス11へ特定されたMDIOレジスタから読み出したデータを送信するか、のいずれかに使用される。いずれの場合であるかは、WR信号の論理レベルによって決定される。すなわち、例えば、WR信号の論理レベルがLowである場合は、Data信号はMDIOレジスタへ書き込まれるデータとして扱われ、WR信号の論理レベルがHighである場合は、Data信号はMDIOレジスタから読み出されたデータとして扱われる、
/RES信号は、CPU12がロジックデバイス11にCPU内の処理が終了して次の命令を受信して処理する準備ができたことを知らせるために使用される。例えば、ロジックデバイス11は、/RES信号の論理レベルがLowとなっている間はCPU12が先に指示した命令の処理を行っていて、/RES信号の論理レベルがLowからHighに変わったらCPU12が次の命令を受ける準備ができたことを認識して次の処理に進む。
CPU12と不揮発性メモリ13とは、通信バス17を介して通信を行う。図1は、通信バス17の例として、SPI(SERIAL Peripheral Interface)を使用した場合を示しており、/SS信号、SCK信号、SDI信号、SDO信号の4本の信号線が使用される。CPU12はマスタ、不揮発性メモリ13はスレーブとして働く。すなわち、/SS信号、SCK信号、SDI信号はCPU12から出力され、SDO信号は不揮発性メモリ13から出力される。SPIには複数のスレーブとなるデバイスをバス接続することができ、その場合には、/SS信号によって一つのデバイスを指定した上でCPU12(マスタ)とそのデバイス(スレーブ)との間で通信を行う。
図1の構成にて、上位レイヤ100がMDIOバス14を介して制御記憶12hに格納されているマイクロプログラムを新しい更新用マイクロプログラムに更新する手順と方法を以下に説明する。なお、制御記憶12hは、フラッシュROM12c内の特定の領域をマイクロプログラムの格納に使用していることを便宜的に示している。
マイクロプログラムの大きさは、実用上はフラッシュROM12cの記憶容量に制限されて、例えば、数十から数百キロバイトとなる。MDIOバスを介する通信は、フレームを送受信して行われるが、一つのフレームに収納できるデータ量は16ビット(2バイト)に制限される。従って、上位レイヤ100から更新用マイクロプログラムを送る場合に、予め更新用マイクロプログラムを2バイトのデータに分割して、個々の分割されたデータ(以下「更新用データ」という)を一つずつ一つのフレームに収納して、それらのフレームを、少なくとも分割によって生じた更新用データの数に等しい回数以上、ロジックデバイス11に送る必要がある。
なお、上位レイヤ100と光トランシーバ10とのMDIOバス14を介する通信は、もともと光トランシーバ10の複数の内部状態の監視および制御を行うためのものである。このため、更新用マイクロプログラムが分割されて複数のフレームとして送信されるのは、通常の監視および制御を目的としたフレームの送受信の合間に行われる。
ロジックデバイス11は、上位レイヤ100からMDIO通信バス14を介してフレームを受信する毎に、その内部に含まれたオペレーションコードに従ってCPU10と通信バス16を介して通信を行う。図2を参照すると、例えば、オペレーションコード(OP)がバイナリデータ“00”で「アドレス設定」を行う場合には、フレーム内の16ビットのシリアルデータを16本のパラレル信号に変換してパラレルデータ信号Dataとして出力し、それがアドレス情報であることを知らせるためにAD信号の論理レベルをLowにして、/SS信号の論理レベルをHighからLowにする。すると、CPU12は、外部割り込みが掛けられて、パラレルデータ信号Dataからアドレス情報を取り込み、所定の場所に記憶する。上位レイヤ100が先に送信されたアドレス情報によって特定したMDIOレジスタにデータを読み書きする場合も、AD信号の論理レベルをHighにすることで同様に行うことができる。
また、MDIOレジスタ12aの特定のアドレスのレジスタは、コマンドレジスタ12dとして使用することができる。上位レイヤ100は、コマンドレジスタ12dに特定のコマンドコードを書き込むことによって、光トランシーバ10に対して内部の監視および制御について予め処理手順を定めた命令を指示することができる。さらに、CPU12内に更新用データを格納する場所として、特定のMDIOレジスタを更新用レジスタ12eとして用意しておくことで、上位レイヤ100はMDIOバス14とロジックデバイス11とを介して更新用レジスタ12eに更新用データを書き込むことができる。
ところで、CPU12の側から、ロジックデバイス11との通信バス16を介する通信を見ると、MSA規格に基づく最小周期16μs以上のある周期にて、一定間隔でロジックデバイス11から/SS信号によって外部割り込みが掛けられ、その都度MDIOレジスタ12aに関する処理を要求されるように見える。個々の処理は、通常の制御あるいは監視のためのものであるか、あるいは、更新用データを受信するためのものとなる。
図3は、CPU12が/SS信号による外部割り込みに対して行う処理手順のフローチャートを示している。CPU12は、WR信号の論理レベルに応じて、MDIOレジスタ12aへの書き込みか、MDIOレジスタ12aからの読み出しかを判断する(ステップT1)。読み出しの場合(Yesの場合)には、CPU12は、先に受信したフレーム内のアドレス情報によって特定されるMDIOレジスタからデータを取得し、それをパラレルデータ信号Dataを介してロジックデバイス11へ出力する(ステップT5)。ステップT1にて、MDIOレジスタへの書き込みと判断した場合(Noの場合)には、CPU12は、パラレルデータ信号Dataを介して受信した16ビットのデータを先に受信したフレーム内のアドレス情報によって特定されるMDIOレジスタへ書き込む(ステップT2)。書き込み先となるMDIOレジスタは、コマンドレジスタ12d、あるいは、更新用レジスタ12e、あるいは、それら以外のレジスタ、のいずれか一つとなる。ただし、更新用レジスタ12eに書き込みが行われた場合には(ステップT3;Yes)、更新用レジスタ12eに格納された更新用データをRAM上の予め用意しておいた更新用領域12gに書き込み、RAM12b上に予め用意した受信フラグ12fを立てる(ステップT4)。なお、書き込み先が更新用レジスタでなければ(ステップT3;No)、手順を終了する。
CPU12が、更新用レジスタ12eに格納された更新用データを更新用領域12gに書き込むのは、CPU内の内部バス等を使用して数μs以内で行うことができる。従って、MSA規格に基づく最小周期16μs以上にてロジックデバイス11から次の更新用データが通信バス16を介して送られて来た場合でも、それよりも早く更新用レジスタ12eから更新用領域12gへ先に書き込まれた更新用データを退避させることができる。これにより、上書きによって更新用データが消失するのを回避することができる。また、CPU12が更新用レジスタに格納された更新用データを更新用領域に書き込むのに要する時間は、高々数μsであり、MSA規格に基づく最小周期16μsよりも短いため、上位レイヤ100と光トランシーバ10とは、MDIOバス14を介する通信を、妨げられることなく正常に行うことができる。なお、更新用データを退避させる目的においては、RAM(退避用メモリ)12b上の更新用領域12gの代わりに、CPU12内にある汎用レジスタやアキュムレータ等を使用しても良い。現在のCPUのアーキテクチャには、汎用レジスタやアキュムレータの大きさが2バイト以上のものが多くあり、更新用データを格納することが可能である。
ところで、RAM12bは、高速のメモリでマイクロプログラムの実行にも使用される。そのため、RAM上の更新用領域12gは、一つの更新用データを格納できる最低限の大きさ(2バイト)にしておくことが好適である。技術的には、さらに大きい領域を割り当てることは可能だが、その場合でも更新用マイクロプログラムの全体(サイズは、上記の通り、例えば、数十から数百キロバイトとなる)を格納できるだけの領域を確保するのは実用上難しい。そのため、更新用領域12gに格納した更新用データは、更新用マイクロプログラムのサイズ以上の記憶容量を有する不揮発メモリ13を用意しておき、そこに通信バス17を介して書き込まれるようにする。
図4は、更新用領域12gに格納された更新用データを不揮発性メモリ13に書き込む手順に係るフローチャートを示している。CPU12は、上記の/SS信号による外部割り込みに対する処理(図3)を終了すると、通常の監視制御処理に戻る(ステップU1)。その処理の後に受信フラグ12fを調べて受信フラグが立っている(例えば、バイナリデータの“1”になっている)場合(ステップU2;Yes)は、更新用領域12gに新しい更新用データが書き込まれているので、それを不揮発性メモリ13に通信用バス17を介して書き込む(ステップU3)。その後、受信フラグ12fをクリアし、次に説明する通り、不揮発性メモリ用ポインタをインクリメントする(ステップU4)。なお、受信フラグが立っていない(例えば、バイナリデータの“0”になっている)場合には処理手順を終了する(ステップU2;No)。
CPU12による通信バス17を介した更新用データの不揮発性メモリ13への書き込みは、CPU12からSCK信号を供給して、更新用データをCPU12内でシリアルデータに変換してからSDI信号に出力することで行われる。この際に、不揮発性メモリ13内のアドレス情報を指定するが、予めアドレスの値を格納するポインタをRAM12b上に用意しておき、書き込みを行う度にポインタをインクリメントして更新データが所定の順番で連続して不揮発メモリ13上に格納されてゆくようにすることもできる。その結果、上位レイヤ100から更新用データが必要な回数だけ送信された後には、不揮発性メモリ13上の所定の領域に更新用マイクロプログラムを更新用データに分割される前の実行可能な形態に再現することができる。なお、CPU12による更新用領域12gに格納された更新用データの不揮発性メモリ13への書き込みは、MSA規格に基づく最小周期16μsよりも短い時間で行われるようにする。そのため、不揮発性メモリ13は、その書き込み時間が、例えば、数μsといったものを採用する。
上記に説明してきた通り、本発明では、更新用レジスタ12eに格納された更新用データの更新用領域12gへの書き込みと、更新用領域12gに格納された更新用データの不揮発性メモリ13への書き込みとを、それぞれ、上位レイヤ100とロジックデバイス11とのMDIOバス14を介する通信のMSA規格に基づく最小周期16μsよりも短い時間内に行うことができる。これにより、上位レイヤ100と光トランシーバ10とのMDIOバス14を介する通信を中断することなく、上位レイヤ100は、MDIOバス14を介して不揮発性メモリ13上に更新用マイクロプログラムを書き込む(更新用データに分割される前のCPUによって実行可能な様態に再現する)ことができる。
なお、上記の「MSA規格に基づく最小周期16μs」は、本発明出願時以前の技術に基づいて定められたものであり、種々の関連する技術の今後の進展または発達に伴って、さらに短い周期が規定されることが考え得る。そのような場合であっても、本発明を技術的思想として適用することは可能であって、例えば、上記の最小周期は、上位レイヤ100がMDIOバス14を介して一つのフレームを送信するのに必要な最小時間に等しいために、次のように説明することもできる。すなわち、更新用レジスタ12eに格納された更新用データの更新用領域12gへの書き込みと、更新用領域12gに格納された更新用データの不揮発性メモリ13への書き込みとは、それぞれ、上位レイヤ100とロジックデバイス11とのMDIOバス14を介する通信における、一つのフレームを送信するのに必要な時間よりも短い時間内に行うことができる。
上記の通り、更新用マイクロプログラムが不揮発性メモリ13上に書き込まれた後、CPU12は、不揮発性メモリ13上に再現された更新用マイクロプログラムを制御記憶12hに転送することでマイクロプログラムを更新することができる。この手順は以下のように行われる。すなわち、上位レイヤ100は、全ての更新用データを送信し終わった後に、MDIOバス14を介する通信によって、光トランシーバ10に再起動を行うように命令する。これは、コマンドレジスタ12dに再起動を指示するコマンドデータを書き込むように構成したフレームを送信することで行うことができる。
図5は、上位レイヤ100から再起動命令を受信したCPU12が行う更新処理手順のフローチャートを示している。まず、CPU12は、光トランシーバ10の複数の内部状態の監視および制御に必要な各種の初期化を行う(ステップV1)。その後、不揮発性メモリ13に更新用マイクロプログラムが格納されているかどうか、通信バス17を介して調べる(ステップV2)。更新用プログラムが格納されている場合(Yesの場合)は、不揮発性メモリ13上の更新用マイクロプログラムを、通信バス17を介して制御記憶12hに転送する(ステップV3)。この時、制御記憶12hは、フラッシュROM12cの特定の領域(ブロック)内にあり、CPU12が更新用マイクロプログラムを制御記憶12hへの書き込むのには100μs程度を必要とするが、再起動中は、光トランシーバ内の複数の内部状態について所定の準備が整うまでは、上位レイヤ100とのMDIOバス14を介する通信を行わなくても良いために、問題となることはない。なお、不揮発性メモリ13に更新用マイクロプログラムが格納されていない場合には(ステップV2;No)、処理手順を終了する。
図6は、本発明の実施例1に係るマイクロプログラムの構成を示している。マイクロプログラム50は更新処理部51と監視制御処理部52とから成っている。更新処理部51は、自身は更新されずに、再起動時にCPU12が更新処理部51を実行して、上述の不揮発性メモリ13から制御記憶12hへの更新用マイクロプログラムの転送を行う。監視制御処理部52は、更新用マイクロプログラムとして更新される部分に該当する。なお、監視制御処理部52は、光トランシーバ10の複数の内部状態の監視および制御を行うための部分以外に、更新用データ受信処理部を有し、更新用データ受信処理部が図3および図4に示した処理手順をCPU12に指示する。
図6の監視制御処理部52は、マイクロプログラムのバージョンを識別するためのバージョン情報と、不揮発性メモリ13、あるいは制御記憶12hに更新用マイクロプログラム、すなわち監視制御処理部52が正常に格納されたかどうか確認するためのチェックサム情報を有することができる。
更新用マイクロプログラムのバージョン情報は、既に制御記憶12hに格納されているマイクロプログラムのバージョン情報と比較することによって、それを含む更新用マイクロプログラムが更新されるべきバージョン情報のものかどうかCPU12が確認することに使用することができる。例えば、不揮発性メモリ13に格納された更新用マイクロプログラムが、現在実行中のマイクロプログラムよりも同じか古いことを示すバージョン情報を有している場合は、更新用マイクロプログラムの不揮発性メモリ13から制御記憶12hへの転送を行わないように更新処理部51を作成しておくことで無用なマイクロプログラムの更新処理を省くことができる。
次に、チェックサム情報について述べる。チェックサム情報は、例えば、一般的な誤り検出手法による冗長データを用いることができる。CPU12は、チェックサム情報を用いて不揮発性メモリ13に格納された更新用マイクロプログラム(図6中の監視制御処理部52)のデータに誤りが無いことを検査することができる。検査の結果。更新用マイクロプログラムが正常であれば、制御記憶12hへの転送を行い、正常でなければマイクロプログラムの更新処理を中止して上位レイヤ100へ異常が生じたことを通知するように処理手順を構成することができる。これにより、誤った更新用マイクロプログラムが制御記憶12hに書き込まれること、さらに、それによりCPU12、すなわち光トランシーバ10が誤動作することを防止することができる。
図7は、本発明の実施例1に係るマイクロプログラムの書き換え手順全体を示すフローチャートである。光トランシーバ10を起動した際に、CPU12は、受信フラグ12fと不揮発性メモリポインタ(図示していない)を初期化する(ステップS1)。上位レイヤ100から更新用データを含んだフレームが送られて来た場合に、CPU12は図7のステップS2、S3、S4を繰り返し行う。ステップS2では、図3に示すロジックデバイス11からの/SS信号による外部割り込みに対する割込み処理を行い、ステップS3では、図4に示すRAM12bから不揮発性メモリへ13の更新用データの書き込み処理を行う。
図8は、図7のステップS2〜S4を繰り返す際のMDIOバス14および通信バス17上の各々のデータの流れをタイミングチャートにて示している。MDIOバス14には、上位レイヤ100から更新用データを含んだフレームが最小周期16μsで送信されて来る。説明のため、時間の早い順番にフレーム1、フレーム2、フレーム3と呼ぶことにする。最初のフレーム1を受信する間に、CPU12は、フレーム1に含まれる更新用データ1のRAM12b上の更新用領域12gへの書き込み(図7のステップS2に該当する)を完了する。そして、次のフレーム2を受信する間に、CPU12は、更新用領域12gに格納された更新用データを、通信バス17を介して不揮発性メモリ13に書き込む(図7のステップS4に該当する)。本実施例では、通信バス17としてSPIを採用しており、図8は、CPU12が不揮発性メモリ13に更新用データの書き込みを指示するのに、一例として、48ビットのシリアルデータ信号を送信する場合を示している。現在の技術では、通信速度として40Mbit/sが可能であり、約1.24μsにて書き込みを完了することができる。これにより、上位レイヤ100から最小周期16μsでMDIOバスを介してフレームが送られてきても、本発明に係る光トランシーバ10は、それを妨げることなく、図7中のステップS2およびステップS3を順次行うことができる。
続いて、図7のステップS4以降についての説明に戻る。上述した通り、更新用マイクロプログラムは、複数の2バイト単位の更新用データに分割される。各々の更新用データは、それぞれフレーム内に格納されて、上位レイヤ100からMDIOバス14を介して光トランシーバ10に送信される。不揮発性メモリ13上に順次更新用データを書き込んで行って、更新用マイクロプログラムを再現するのに必要なフレームの数は、上位レイヤ100が把握している。光トランシーバ10は、上位レイヤ100から送られてくるフレームの処理を順次行い、全ての更新用データを受信し終わったら、上位レイヤ100から光トランシーバの再起動を行う(ステップS4;Yes)。それにより、CPU12は、図4に示す手順に従って、不揮発性メモリ13から制御領域12hへの更新用マイクロプログラムの転送を行う(ステップS5)。なお、このステップS5は、図6の更新処理部51に具体的な手順を記述しておき、それをCPU12が実行することで実施することができる。また、このステップS5にて、上記の更新用マイクロプログラムのバージョン情報とチェックサム情報とによる転送可否の判断を行うことができる。
制御記憶12hに更新用マイクロプログラムが書き込まれた後、CPU12は、その更新用マイクロプログラムを実行し、それに従って、光トランシーバ10の内部状態の監視および制御を行う(ステップS6)。
(実施例2)
図9は、本発明の第2の実施例に係る光トランシーバを示す図である。実施例1では、更新用レジスタ12eに格納された更新用データは、次の更新用データが書き込まれる前に更新用領域12gに書き込まれて一時的に退避される。その後に、更新用領域12gに格納された更新用データは不揮発性メモリ13に書き込まれる、という2段階の手順を踏んでいる。しかし、更新用レジスタ12eに格納された更新用データを不揮発性メモリ13に直接書き込む方法も考え得る。それにより、図9においては、図1からRAM12bおよびその内部の受信フラグ12f、更新用領域12gが削除されている。なお、第1図と同一部分については同符号を用いて、その説明は省略する。
図10は、本発明の第2の実施例に係るマイクロプログラムの書き換え手順全体を示すフローチャートである。図7のステップS3、S4が一つの「CPUは、更新レジスタに格納された更新用データを不揮発性メモリに書き込む」というステップW2に統合されている。
実施例1では、更新用領域12gに格納された更新用データを不揮発性メモリ13に書き込むのは、図8に示すように次のフレームを受信する間に行えば良い。これにより、不揮発性メモリ13の書き込みに要する時間に余裕を持たせることができる。しかし、さらに速く書き込みを行うことができる不揮発性メモリを採用することによって、上記の図2の手順S3,S4を図10の手順W2へ統合して簡素化することができる。すなわち、更新用レジスタ12eに格納された更新用データの不揮発性メモリ13への書き込みは、上位レイヤ100とロジックデバイス11とのMDIOバス14を介する通信のMSA規格に基づく最小周期内に行うことができる。これにより、例えば、図6の更新用データ受信処理部のプログラミングを簡易にすることができる。
図11は、図10のステップW2、W4を繰り返す際のMDIOバス14および通信バス17上のデータの流れをタイミングチャートにて示している。光トランシーバ10が、MDIOバス14を介して一つのフレームを受信する間に、CPU12が更新用レジスタ12eに格納された更新用データを、通信用バス17を介して不揮発性メモリ13に書き込む様態を示している。
実施例1と第2の実施例とは、本発明に係る光トランシーバの具体的な仕様とハードウェアおよびマイクロプログラムの設計指針等を勘案して選択されるのが好適となる。すなわち、通信バス17の通信速度、不揮発性メモリ13の書き込み時間、CPU12の動作速度、マイクロプログラムの光トランシーバ10の内部状態の監視および制御に要する時間等や、さらに、IC等の部品コストに係る経済性やマイクロプログラムの動作や回路動作に係る時間的余裕度も考慮して、いずれかの構成および方法を選択することが好ましい。
(実施例3)
図12は、本発明の第3の実施例に係る光トランシーバを示す図である。実施例1では、ロジックデバイス11とCPU12とを接続する通信バス16の例として、パラレル通信バスを採用したが、第3の実施例では通信バス16にシリアル通信バスを採用している。具体的には、図12は、通信バス16の例として、SPIを使用した場合を示しており、/SS信号、SCK信号、SDI信号、SDO信号の4本の信号線が使用される。なお、第1図と同一部分については同符号を用いて、その説明は省略する。
図12では、CPU12と不揮発性メモリ13とを接続する通信バス17もSPIを使用しているが、通信バス16と通信バス17とは互いに独立に働く。例えば、通信バス17では、CPU12がマスタ、不揮発性メモリ13がスレーブとして働くが、通信バス16では、ロジックデバイス11がマスタ、CPU12がスレーブとして働く。すなわち、通信バス16では、セレクト信号/SS、クロック信号SCK、データ入力信号SDIは、ロジックデバイス11からCPU12へ入力され、データ出力信号SDOはCPU12からロジックデバイス11へ出力される。
通信バス16において、セレクト信号/SSは、クロック信号SCKとデータ入力信号SDIとデータ出力信号SDOとによるシリアル通信の開始および終了をロジックデバイス11からCPU12へ通知するために使用される。CPU12は、セレクト信号/SSの論理レベルがHighレベルの間は、ロジックデバイス11からの信号が変化していたとしてもそれを無視し、セレクト信号/SSの論理レベルがLowレベルの間にロジックデバイス11とのシリアル通信を行う。
ロジックデバイス11とCPU12との通信バス16を介する通信は、クロック信号SCKに同期して、ロジックデバイス11からCPU12へデータ入力信号SDIが入力され、入力されたデータに応じてCPU12からロジックデバイス11へデータ出力信号SDOが出力されることによって行われる。
詳細には、例えば、通信バス16において、データ入力信号SDIは、クロック信号SCKに同期したシリアルデータであり、CPU12に動作を指示するための8ビット長のインストラクション・フォーマット(コマンド)、レジスタを特定するための8ビット長のアドレス情報、アドレス情報で特定されるレジスタに読み書きされる8ビット長のバイナリデータを含んでいる。コマンドによって、MDIOレジスタ12aに対して「読み出し」と「書き込み」のいずれを行うか等が指示される。例えば、「読み出し」が指示された場合には、CPU12は、指定されたレジスタに格納されたバイナリデータをデータ出力信号SDOへシリアルデータとして出力し、ロジックデバイス11は、そのデータを受信して通信用レジスタ11aに格納する。
従って、これまで説明した通り、ロジックデバイス11が上位レイヤ100からMDIOバスを介して受信したフレームの内容に応じて適宜シリアル通信に必要なデータを処理・生成することによって、通信バス16にシリアル通信バスを採用することができる。詳細には、例えば、フレームに格納されたオペレーションコード(OP)によって指示される「アドレス設定」、「データライト(書き込み)」、「データリード(読み出し)」、「インクリメント付きデータリード」の4種類の命令に応じて、SPIのコマンドを適宜選択し、その実行に必要なアドレス情報やデータをデータ入力信号SDIを介してCPU12へ入力したり、あるいは、MDIOレジスタ12aに格納されたデータを読み出す際には、データ出力信号SDOを介してCPU12からそのデータを受信することができる。
通信バス16に関して、パラレル通信バスとシリアル通信バスとの差異について説明する。まず、一つには、シリアル通信バスは4本の信号線を使用するのに対して、パラレル通信バスは20本の信号線を使用する。従って、シリアル通信バスの方が、信号線の本数が少ないために、例えば、プリント板上の信号線の配線面積を減らすと共に、より端子数が少なくてサイズの小さいLSIをCPU12に採用することによって回路の実装面積を小さくでき、光トランシーバの小型化に有利となる。一方で、シリアル通信バスのクロック周波数は、シリアル通信バスの方がデータの送受信に使用できる信号線の本数が少ないために、パラレル通信バスのクロック周波数に比べて10倍以上高くする必要がある。従って、通信バス16にパラレル通信バスを採用した場合には、ロジックデバイス11やCPU12のクロック周波数は相対的に低くできるので、例えば、ゲート長が長いなどの、より成熟した半導体プロセスによって製造されるICを使用できる。その結果、例えば、部品のコストを安価に抑えるなどして、経済性の面で有利となる可能性がある。また、クロック周波数の低いICは、クロック周波数の高いICに比べて消費電力が少ない場合が多く、光トランシーバの低消費電力化に寄与する可能性もある。
このように、本発明を実施する際には、光トランシーバの具体的な仕様やハードウェアおよびマイクロプログラムの設計指針等に基づいて、光トランシーバに係る小型化効果と経済性とを考慮し、通信バス16、17にシリアル通信バスとパラレル通信バスとのいずれが好適となるかを判断して選択することが望ましい。
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 光トランシーバ
11 ロジックデバイス
11a 通信用レジスタ
12 CPU(マイクロコンピュータ)
12a MDIOレジスタ
12b RAM(退避用メモリ)
12c フラッシュROM
12d コマンドレジスタ
12e 更新用レジスタ
12f 受信フラグ
12g 更新用領域
12h 制御記憶
13 不揮発性メモリ
14 MDIOバス
15 信号線PHYADR
16、17 通信バス
100 上位レイヤ

Claims (4)

  1. 上位レイヤに接続される光トランシーバであって、
    MDIOレジスタと、マイクロプログラムが格納されたフラッシュROMとを備えるマイクロコンピュータと、
    前記上位レイヤとMDIOバスを介して接続されると共に、前記マイクロコンピュータと第1の通信バスを介して接続されるロジックデバイスと、
    前記マイクロコンピュータと、前記第1の通信バスとは独立の第2の通信バスを介して接続される不揮発性メモリと、
    を有し、
    前記マイクロコンピュータは、前記上位レイヤによって前記MDIOバス及び前記ロジックデバイスを介して前記MDIOレジスタに書き込まれた、前記マイクロプログラムの更新用データを、前記第2の通信バスを介して前記不揮発性メモリに書き込み、
    前記マイクロコンピュータが再起動したときに、前記不揮発性メモリに書き込まれた前記更新用データを、前記第2の通信バスを介して前記フラッシュROMに転送する、
    ことを特徴とする光トランシーバ。
  2. 前記MDIOレジスタに書き込まれた前記更新用データの前記不揮発性メモリへの書き込みが、前記上位レイヤと前記ロジックデバイスとの前記MDIOバスを介する通信における一つのフレームの送信時間よりも短い時間内に行われる、
    ことを特徴とする請求項1に記載の光トランシーバ。
  3. 前記マイクロコンピュータは、さらにRAMを備え、
    前記MDIOレジスタに書き込まれた前記更新用データの、前記第2の通信バスを介する前記不揮発性メモリへの書き込みが、その途中に該RAMへの書き込みを経て行われる、
    ことを特徴とする請求項1に記載の光トランシーバ。
  4. 前記MDIOレジスタに書き込まれた前記更新用データの前記RAMへの書き込みおよび前記RAMから前記不揮発性メモリへの書き込みのそれぞれが、前記上位レイヤと前記ロジックデバイスとの前記MDIOバスを介する通信における一つのフレームの送信時間よりも短い時間内に行われる、
    ことを特徴とする請求項に記載の光トランシーバ。
JP2013036589A 2013-02-27 2013-02-27 マイクロプログラムを更新可能な光トランシーバ Active JP6225431B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013036589A JP6225431B2 (ja) 2013-02-27 2013-02-27 マイクロプログラムを更新可能な光トランシーバ
US14/186,749 US9501403B2 (en) 2013-02-27 2014-02-21 Electronic apparatus implemented with microprocessor with rewritable micro program and method to rewrite micro program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013036589A JP6225431B2 (ja) 2013-02-27 2013-02-27 マイクロプログラムを更新可能な光トランシーバ

Publications (2)

Publication Number Publication Date
JP2014165780A JP2014165780A (ja) 2014-09-08
JP6225431B2 true JP6225431B2 (ja) 2017-11-08

Family

ID=51389429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013036589A Active JP6225431B2 (ja) 2013-02-27 2013-02-27 マイクロプログラムを更新可能な光トランシーバ

Country Status (2)

Country Link
US (1) US9501403B2 (ja)
JP (1) JP6225431B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852101B2 (en) * 2014-05-26 2017-12-26 Mediatek Inc. Electronic device with enhanced management data input/output control
CN104407279A (zh) * 2014-10-28 2015-03-11 深圳市芯海科技有限公司 一种用于自动测试芯片mdio总线协议的码型数据、装置及测试方法
CN105677599A (zh) * 2014-11-19 2016-06-15 中兴通讯股份有限公司 主机、主机管理从机的方法及***
JP6350308B2 (ja) * 2015-01-28 2018-07-04 住友電気工業株式会社 光トランシーバ
JP6485236B2 (ja) * 2015-06-10 2019-03-20 住友電気工業株式会社 光トランシーバ、及び光トランシーバのファームウェア更新方法
JP6657907B2 (ja) 2015-12-15 2020-03-04 住友電気工業株式会社 光送受信器及びマイクロコントローラ
JP2017220802A (ja) * 2016-06-07 2017-12-14 住友電気工業株式会社 光トランシーバ
JP6960841B2 (ja) * 2017-12-14 2021-11-05 ローム株式会社 半導体デバイス、電子機器、データ伝送方法、タイミングコントローラ、自動車
JP7003698B2 (ja) * 2018-01-31 2022-01-21 住友電気工業株式会社 光トランシーバおよびその制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414871B1 (en) * 2000-05-12 2002-07-02 Xilinx, Inc. Systems and methods for programming programmable devices
JP2003308288A (ja) * 2002-04-18 2003-10-31 Mitsubishi Electric Corp マイクロコンピュータシステム
JP2006101435A (ja) * 2004-09-30 2006-04-13 Mitsubishi Electric Corp 光通信モジュール
JP2007310783A (ja) * 2006-05-22 2007-11-29 Sharp Corp 画像形成装置におけるファームウェアのアップデート方法、プログラム、記録媒体
US20110153891A1 (en) * 2008-08-20 2011-06-23 Akihiro Ebina Communication apparatus and communication control method
JP2010130316A (ja) * 2008-11-27 2010-06-10 Sumitomo Electric Ind Ltd 光送信装置及びファームウェアの更新方法
JP2012169745A (ja) * 2011-02-10 2012-09-06 Sumitomo Electric Ind Ltd 光トランシーバ

Also Published As

Publication number Publication date
US20140244910A1 (en) 2014-08-28
US9501403B2 (en) 2016-11-22
JP2014165780A (ja) 2014-09-08

Similar Documents

Publication Publication Date Title
JP6225431B2 (ja) マイクロプログラムを更新可能な光トランシーバ
US8464020B2 (en) Non-volatile storage device, host device, storage system, data communication method and program
US20130232328A1 (en) Method to safely reprogram an fpga
CN112947977B (zh) 一种软件在线升级方法及***
JP2020135861A5 (ja)
JP2010257367A (ja) プログラムの更新システム、プログラム更新機能付き電子機器
JP2010140266A (ja) 電子デバイスシステムと電子デバイス
CN101667133B (zh) 固件更新方法和使用该方法更新固件的芯片
CN110618828B (zh) 一种数据更新方法及装置
CN110278716B (zh) Plc、网络单元、cpu单元、以及数据传送方法
JP5476956B2 (ja) 通信システム及び通信方法
CN100504712C (zh) 版本可编程电路模块
CN210052151U (zh) 一种双芯片程序更新装置
JP7281275B2 (ja) モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法
CN107562440A (zh) 一种eeprom版本更新方法及装置
CN111159057A (zh) 一种无电池情况下记录任务机累积上电次数的***和方法
JP2001290764A (ja) データ転送システム装置及びそのデータ転送方法
CN110286935B (zh) 一种双芯片程序更新装置及方法
CN212229628U (zh) 从机设备
US11609875B2 (en) Data communication device and data communication module
CN115543385A (zh) 一种代码升级的方法及芯片***
CN111124963A (zh) Cpld实现iic接口从设备方法、智能终端及储存介质
CN112394964A (zh) 一种多核芯片的程序更新方法及***
KR20050107159A (ko) 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러
CN114064554A (zh) 从机设备及配置其mipi的线序的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161115

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170925

R150 Certificate of patent or registration of utility model

Ref document number: 6225431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250