図面 (/)

技術 光トランシーバ及びそのダウンロードデータの書き込み方法

出願人 住友電気工業株式会社
発明者 田中弘巳二見竜太郎
出願日 2016年8月12日 (4年4ヶ月経過) 出願番号 2016-158593
公開日 2018年2月15日 (2年10ヶ月経過) 公開番号 2018-026748
状態 特許登録済
技術分野 光通信システム 通信制御
主要キーワード 本体組立 SPI通信 アラーム判定 チップマイクロコントローラ ファームウェア書き 通信インタフェースモジュール 信号ロス 返信電文
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年2月15日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

内部メモリへのダウンロードデータの書き込みを効率化する。

解決手段

光トランシーバ1Aのダウンロードデータの書き込みにおいて、ダウンロードデータを格納するための内部メモリ11と、ダウンロードデータの含む情報を参照あるいは実行して光信号Oout及び電気信号RXを出力するための制御を実行するCPU9と、外部装置とCPU9とを接続するための通信線L1とを含む光トランシーバ1Aを用意する。予めダウンロードデータを格納する外部メモリ57が、通信線L1を介して光トランシーバ1Aと接続され、CPU9は、通信線L1を介して外部メモリ57を検出した場合には、外部メモリ57からダウンロードデータを通信線L1を介して能動的に受信し、受信したダウンロードデータを内部通信バスL6を介して内部メモリ11に能動的に書き込む。

概要

背景

光通信の分野では、ホスト装置から入力された電気信号光信号に変換して送信するとともに、受信した光信号を電気信号に変換してホスト装置へ出力する光トランシーバ情報通信ネットワークの構成要素として用いられる。光トランシーバには、電気信号と光信号との間の信号変換及び送受信等に係る初期設定用データ又は光トランシーバ内部の制御や動作状態監視等のためのプログラムコード等を格納するメモリと、そのメモリから初期設定用データ又はプログラムコードを読み出して動作するプロセッサ演算ユニット)とが内蔵されている。このような構成の光トランシーバの製造において、本体組立後の何も情報が書き込まれていない状態の内蔵メモリに、初期設定用データ又はプログラムコード等を書き込む必要がある。例えば、外部のホストコンピュータ等との監視・制御ための通信用に設けられているシリアル通信バスを介してメモリに初期設定用データ又はプログラムコード等のダウンロードデータが書き込まれる(下記特許文献1,2等を参照。)。

概要

内部メモリへのダウンロードデータの書き込みを効率化する。光トランシーバ1Aのダウンロードデータの書き込みにおいて、ダウンロードデータを格納するための内部メモリ11と、ダウンロードデータの含む情報を参照あるいは実行して光信号Oout及び電気信号RXを出力するための制御を実行するCPU9と、外部装置とCPU9とを接続するための通信線L1とを含む光トランシーバ1Aを用意する。予めダウンロードデータを格納する外部メモリ57が、通信線L1を介して光トランシーバ1Aと接続され、CPU9は、通信線L1を介して外部メモリ57を検出した場合には、外部メモリ57からダウンロードデータを通信線L1を介して能動的に受信し、受信したダウンロードデータを内部通信バスL6を介して内部メモリ11に能動的に書き込む。

目的

本発明は、かかる課題に鑑みてなされたものであり、内蔵メモリ(内部メモリ)へのダウンロードデータの書き込みを効率化することが可能な光トランシーバ及びその書き込み方法を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

電気信号及び光信号相互変換によって送受信を行う光トランシーバであって、外部の装置から提供されるダウンロードデータを格納する内部メモリと、前記ダウンロードデータに基づいて前記相互変換を制御する演算装置と、前記演算装置が前記外部の装置と第1のシリアル通信を行うための第1のシリアル通信部と、を備え、前記演算装置は、前記ダウンロードデータを格納する外部メモリが前記外部の装置として前記第1のシリアル通信部に接続されたとき、前記第1のシリアル通信のマスターとして前記第1のシリアル通信を行うことによって前記外部メモリから前記ダウンロードデータを読み出し、前記外部メモリから読み出した前記ダウンロードデータを前記内部メモリに書き込む、光トランシーバ。

請求項2

前記演算装置が前記内部メモリと第2のシリアル通信を行うための第2のシリアル通信部をさらに備え、前記演算装置は、前記外部メモリから読み出した前記ダウンロードデータを前記第1のシリアル通信と並行して前記第2のシリアル通信のマスターとして前記第2のシリアル通信を行うことによって前記内部メモリに書き込む、請求項1記載の光トランシーバ。

請求項3

前記相互変換のための信号処理を行う集積回路をさらに備え、前記ダウンロードデータは、前記集積回路が前記信号処理を行うための設定データを含み、前記演算装置は、前記外部メモリから読み出した前記ダウンロードデータに含まれる前記設定データを前記第2のシリアル通信部を介して前記内部メモリに書き込み、前記集積回路は、前記第2のシリアル通信部を介して前記内部メモリから前記設定データを読み込む、請求項2記載の光トランシーバ。

請求項4

前記内部メモリは、前記演算装置に内蔵された装置であり、前記ダウンロードデータは、前記演算装置によって実行可能なプログラムを含み、前記プログラムは前記演算装置に内蔵された前記内部メモリに書き込まれる、請求項1記載の光トランシーバ。

請求項5

前記プログラムは、前記演算装置を制御するための第1のプログラムと、前記相互変換を制御するための第2のプログラムと、を有し、前記内部メモリは、前記第1のプログラムを格納する第1のメモリバンクと、前記第2のプログラムを格納する第2のメモリバンクと、を備え、前記外部メモリは、前記第2のプログラムを格納し、前記演算装置は、前記第1のプログラムを実行することによって、前記外部メモリから前記第1のシリアル通信部を介して前記第2のプログラムを読み出し、前記外部メモリから読み出した前記第2のプログラムを前記第2のメモリバンクに書き込む、請求項4記載の光トランシーバ。

請求項6

前記内部メモリ及び前記演算装置に所定の閾値電圧よりも高い第1の電源電圧を供給する第1の電源線と、前記相互変換を行う回路部に第1の電源電圧と別の第2の電源電圧を供給する第2の電源線と、をさらに備え、前記演算装置は、前記第1の電源線から前記第1の電源電圧の供給を受けて動作するとともに、前記第2の電源電圧が前記所定の閾値電圧よりも低いことを検出したとき、前記外部メモリからの前記ダウンロードデータの読み出しを開始する、請求項1〜5のいずれか1項に記載の光トランシーバ。

請求項7

前記演算装置は、前記外部メモリに前記ダウンロードデータが格納されていること及び前記外部メモリが格納する前記ダウンロードデータが前記内部メモリに格納されていないことを検出したときに、前記外部メモリからの前記ダウンロードデータの読み出しを開始する、請求項1〜5のいずれか1項に記載の光トランシーバ。

請求項8

電気信号及び光信号の相互変換によって通信を行う光トランシーバのダウンロードデータの書き込み方法であって、前記光トランシーバは、前記ダウンロードデータを格納するための内部メモリと、前記ダウンロードデータに基づいて前記相互変換を制御する演算装置と、前記演算装置と外部の外部メモリとが第1のシリアル通信を行うための第1のシリアル通信部と、を備え、前記外部メモリに前記ダウンロードデータが書き込まれる工程と、前記ダウンロードデータを格納する外部メモリが前記第1のシリアル通信部に接続される工程と、前記演算装置が前記第1のシリアル通信のマスターとして前記第1のシリアル通信を行うことによって、前記外部メモリから前記ダウンロードデータを読み出す工程と、前記演算装置が前記外部メモリから読み出した前記ダウンロードデータを前記内部メモリに書き込む工程と、を有する光トランシーバのダウンロードデータの書き込み方法。

請求項9

前記光トランシーバは、前記演算装置が前記内部メモリと第2のシリアル通信を行うための第2のシリアル通信部をさらに備え、前記演算装置が、前記外部メモリから読み出した前記ダウンロードデータを前記第2のシリアル通信のマスターとして前記第2のシリアル通信を行うことによって前記内部メモリに書き込む工程をさらに含む、請求項8記載の光トランシーバのダウンロードデータの書き込み方法。

請求項10

前記内部メモリは、前記演算装置を制御するための第1のプログラムを格納する第1のメモリバンクと、前記相互変換を制御するための第2のプログラムを格納する第2のメモリバンクと、を備え、前記演算装置は、前記内部メモリを内蔵し、前記第1のプログラム及び前記第2のプログラムを実行するように構成されており、前記外部メモリに前記第2のプログラムを格納する工程と、前記第1のメモリバンクに前記第1のプログラムを格納する工程と、前記演算装置が前記第1のメモリバンクに格納されている前記第1のプログラムを実行することによって、前記外部メモリから前記第1のシリアル通信部を介して前記第2のプログラムを読み出し、前記外部メモリから読み出した前記第2のプログラムを前記第2のメモリバンクに書き込む工程と、をさらに含む、請求項8記載の光トランシーバのダウンロードデータの書き込み方法。

請求項11

前記光トランシーバは、前記内部メモリ及び前記演算装置に所定の閾値電圧よりも高い第1の電源電圧を供給する第1の電源線と、前記相互変換を行う回路部に第1の電源電圧と別の第2の電源電圧を供給する第2の電源線と、をさらに備え、前記演算装置が前記第1の電源線から前記第1の電源電圧の供給を受けて起動する工程と、前記演算装置は、前記第2の電源電圧が前記所定の閾値電圧よりも低いことを検出したとき、前記外部メモリからの前記ダウンロードデータの読み出しを開始する工程と、をさらに含む、請求項8又は9に記載の光トランシーバのダウンロードデータの書き込み方法。

請求項12

前記演算装置は、前記外部メモリに前記ダウンロードデータが格納されていること及び前記外部メモリが格納している前記ダウンロードデータが前記内部メモリに格納されていないことを検出したときに、前記外部メモリからの前記ダウンロードデータの読み出しを開始する工程、をさらに含む、請求項8又は9に記載の光トランシーバのダウンロードデータの書き込み方法。

技術分野

0001

本発明は、光通信システムで用いられる光トランシーバ及びそのダウンロードデータ書き込み方法に関するものである。

背景技術

0002

光通信の分野では、ホスト装置から入力された電気信号光信号に変換して送信するとともに、受信した光信号を電気信号に変換してホスト装置へ出力する光トランシーバが情報通信ネットワークの構成要素として用いられる。光トランシーバには、電気信号と光信号との間の信号変換及び送受信等に係る初期設定用データ又は光トランシーバ内部の制御や動作状態監視等のためのプログラムコード等を格納するメモリと、そのメモリから初期設定用データ又はプログラムコードを読み出して動作するプロセッサ演算ユニット)とが内蔵されている。このような構成の光トランシーバの製造において、本体組立後の何も情報が書き込まれていない状態の内蔵メモリに、初期設定用データ又はプログラムコード等を書き込む必要がある。例えば、外部のホストコンピュータ等との監視・制御ための通信用に設けられているシリアル通信バスを介してメモリに初期設定用データ又はプログラムコード等のダウンロードデータが書き込まれる(下記特許文献1,2等を参照。)。

先行技術

0003

特表2008−512904号公報
特開2006−101435号公報

発明が解決しようとする課題

0004

ここで、上述した特許文献1,2に記載の方法においては、メモリへのダウンロードデータの書き込みの際には、外部のホストコンピュータとプロセッサとの間でシリアル通信バスを介して電文交換が生じる。そのため、ダウンロードデータのデータサイズによってはダウンロードデータの書き込み時間が比較的長くなってしまう傾向にある。

0005

そこで、本発明は、かかる課題に鑑みてなされたものであり、内蔵メモリ(内部メモリ)へのダウンロードデータの書き込みを効率化することが可能な光トランシーバ及びその書き込み方法を提供することを目的とする。

課題を解決するための手段

0006

上記課題を解決するため、本発明の一側面に係る光トランシーバは電気信号及び光信号の相互変換によって送受信を行う光トランシーバであって、外部の装置から提供されるダウンロードデータを格納する内部メモリと、ダウンロードデータに基づいて相互変換を制御する演算装置と、演算装置が外部の装置と第1のシリアル通信を行うための第1のシリアル通信部と、を備え、演算装置は、ダウンロードデータを格納する外部メモリが外部の装置として第1のシリアル通信部に接続されたとき、第1のシリアル通信のマスターとして第1のシリアル通信を行うことによって外部メモリからダウンロードデータを読み出し、外部メモリから読み出したダウンロードデータを内部メモリに書き込む。

0007

あるいは、本発明の他の側面に係る光トランシーバのダウンロードデータの書き込み方法は、電気信号及び光信号の相互変換によって通信を行う光トランシーバのダウンロードデータの書き込み方法であって、光トランシーバは、ダウンロードデータを格納するための内部メモリと、ダウンロードデータに基づいて相互変換を制御する演算装置と、演算装置と外部の外部メモリとが第1のシリアル通信を行うための第1のシリアル通信部と、を備え、外部メモリにダウンロードデータが書き込まれる工程と、ダウンロードデータを格納する外部メモリが第1のシリアル通信部に接続される工程と、演算装置が第1のシリアル通信のマスターとして第1のシリアル通信を行うことによって、外部メモリからダウンロードデータを読み出す工程と、演算装置が外部メモリから読み出したダウンロードデータを内部メモリに書き込む工程と、を有する。

発明の効果

0008

本発明の一側面によれば、内蔵メモリへのダウンロードデータの書き込みを効率化することができる。

図面の簡単な説明

0009

本発明の第1実施形態にかかる光トランシーバ1Aの概略構成を示すブロック図である。
図1のCPU9の詳細構成を示すブロック図である。
図1の光トランシーバ1Aの内部メモリ11に係るダウンロード時の接続構成を示すブロック図である。
図1の光トランシーバ1Aの内部メモリ11に係るダウンロード時の接続構成を示すブロック図である。
図1のCPU9による内部メモリ11に係るダウンロードの手順を示すフローチャートである。
図1の光トランシーバ1Aの内部メモリ11に係るダウンロード前の外部メモリ57のデータの格納動作を示すシーケンス図である。
図1の光トランシーバ1Aの内部メモリ11に係るダウンロードを示すシーケンス図である。
図1の光トランシーバ1Aの内部メモリ11に係るダウンロードの所要時間を表したタイミングチャートである。
本発明の第2実施形態にかかる光トランシーバ1Bの概略構成を示すブロック図である。
図9の光トランシーバ1Bの内部メモリ係るダウンロード時の接続構成を示すブロック図である。
図9の光トランシーバ1Bの内部メモリに係るダウンロード時の接続構成を示すブロック図である。
図9のCPU9の内部メモリの格納データの概略構成を示すイメージ図である。
図9のCPU9による内部メモリに係るファームウェアのダウンロード手順を示すフローチャートである。
図9の光トランシーバ1Bの内部メモリに係るダウンロード前の外部メモリ57のデータの格納動作を示すシーケンス図である。
図9の光トランシーバ1Bの内部メモリに係るダウンロードの手順を示すシーケンス図である。
図9の光トランシーバ1Bの内部メモリに係るダウンロードの所要時間を表したタイミングチャートである。
比較例にかかる光トランシーバ901Aの概略構成を示すブロック図である。
図17の光トランシーバ901Aの内部メモリ11に係るダウンロード時の接続構成を示すブロック図である。
図17の光トランシーバ901Aの内部メモリ11に係るダウンロードの手順を示すシーケンス図である。
図17の光トランシーバ901Aの内部メモリ11に係るダウンロードの所要時間を表したタイミングチャートである。
比較例にかかる光トランシーバ901Bの概略構成を示すブロック図である。
図21の光トランシーバ901BのCPU909の内部メモリに係るダウンロード時の接続構成を示すブロック図である。
図21の光トランシーバ901BのCPU909の内部メモリに係るファームウェアの書き込み手順を示すシーケンス図である。

実施例

0010

本発明の一側面に係る光トランシーバは、電気信号及び光信号の相互変換によって送受信を行う光トランシーバであって、外部の装置から提供されるダウンロードデータを格納する内部メモリと、ダウンロードデータに基づいて相互変換を制御する演算装置と、演算装置が外部の装置と第1のシリアル通信を行うための第1のシリアル通信部と、を備え、演算装置は、ダウンロードデータを格納する外部メモリが外部の装置として第1のシリアル通信部に接続されたとき、第1のシリアル通信のマスターとして第1のシリアル通信を行うことによって外部メモリからダウンロードデータを読み出し、外部メモリから読み出したダウンロードデータを内部メモリに書き込む。

0011

かかる構成の光トランシーバによれば、演算装置が第1のシリアル通信部を介して外部メモリを検出すると、演算装置が、外部メモリからダウンロードデータを能動的に受信し、その受信したダウンロードデータを能動的に内部メモリに格納する。これにより、プログラム又は設定データ等のダウンロードデータを予め記憶させた外部メモリを光トランシーバに接続するだけで、光トランシーバは、能動的に内部メモリにダウンロードデータを格納することができる。その結果、ダウンロードの所要時間を短縮できる。

0012

上記光トランシーバにおいては、演算装置が内部メモリと第2のシリアル通信を行うための第2のシリアル通信部をさらに備え、演算装置は、外部メモリから読み出したダウンロードデータを第1のシリアル通信と並行して第2のシリアル通信のマスターとして第2のシリアル通信を行うことによって内部メモリに書き込んでもよい。この場合、演算装置から内部メモリへのダウンロードデータの書き込みを効率化することができる。

0013

また、相互変換のための信号処理を行う集積回路をさらに備え、ダウンロードデータは、集積回路が信号処理を行うための設定データを含み、演算装置は、外部メモリから読み出したダウンロードデータに含まれる設定データを第2のシリアル通信部を介して内部メモリに書き込み、集積回路は、第2のシリアル通信部を介して内部メモリから設定データを読み込んでもよい。こうすれば、演算装置から内部メモリへの設定データの書き込みを効率化することができる。

0014

また、内部メモリは、演算装置に内蔵された装置であり、ダウンロードデータは、演算装置によって実行可能なプログラムを含み、プログラムは演算装置に内蔵された内部メモリに書き込まれてもよい。さらに、プログラムは、演算装置を制御するための第1のプログラムと、相互変換を制御するための第2のプログラムと、を有し、内部メモリは、第1のプログラムを格納する第1のメモリバンクと、第2のプログラムを格納する第2のメモリバンクと、を備え、外部メモリは、第2のプログラムを格納し、演算装置は、第1のプログラムを実行することによって、外部メモリから第1のシリアル通信部を介して第2のプログラムを読み出し、外部メモリから読み出した第2のプログラムを第2のメモリバンクに書き込んでもよい。かかる構成を採れば、演算装置に内蔵された内部メモリへのプログラムの書き込みを効率化することができる。

0015

また、内部メモリ及び演算装置に所定の閾値電圧よりも高い第1の電源電圧を供給する第1の電源線と、相互変換を行う回路部に第1の電源電圧と別の第2の電源電圧を供給する第2の電源線と、をさらに備え、演算装置は、第1の電源線から第1の電源電圧の供給を受けて動作するとともに、第2の電源電圧が所定の閾値電圧よりも低いことを検出したとき、外部メモリからのダウンロードデータの読み出しを開始してもよい。この場合、ダウンロードデータの書き込み制御のための新たな信号線を設けること無しに、内部メモリへのダウンロードデータの書き込み処理の開始を制御することができる。

0016

また、演算装置は、外部メモリにダウンロードデータが格納されていること及び外部メモリが格納するダウンロードデータが内部メモリに格納されていないことを検出したときに、外部メモリからのダウンロードデータの読み出しを開始してもよい。かかる構成を採れば、外部メモリのダウンロードデータの格納状態、及び内部メモリにおけるダウンロードデータの格納状態に応じて、必要な時に内部メモリへのダウンロードデータの書き込み処理を開始させることができる。

0017

或いは、本発明の他の側面に係る光トランシーバのダウンロードデータの書き込み方法は、電気信号及び光信号の相互変換によって通信を行う光トランシーバのダウンロードデータの書き込み方法であって、光トランシーバは、ダウンロードデータを格納するための内部メモリと、ダウンロードデータに基づいて相互変換を制御する演算装置と、演算装置と外部の外部メモリとが第1のシリアル通信を行うための第1のシリアル通信部と、を備え、外部メモリにダウンロードデータが書き込まれる工程と、ダウンロードデータを格納する外部メモリが第1のシリアル通信部に接続される工程と、演算装置が第1のシリアル通信のマスターとして第1のシリアル通信を行うことによって、外部メモリからダウンロードデータを読み出す工程と、演算装置が外部メモリから読み出したダウンロードデータを内部メモリに書き込む工程と、を有する。

0018

このようなダウンロードデータの書き込み方法によれば、外部メモリを光トランシーバと第1のシリアル通信部を介して接続させた後、演算装置によって第1のシリアル通信部を介して外部メモリが検出されると、演算装置により、外部メモリからダウンロードデータを能動的に受信し、その受信したダウンロードデータを能動的に内部メモリに格納する。これにより、プログラム又は設定データ等のダウンロードデータを予め記憶させた外部メモリを光トランシーバに接続するだけで、光トランシーバは、能動的に内部メモリにダウンロードデータを格納することができる。その結果、ダウンロードの所要時間を短縮できる。

0019

上記光トランシーバのダウンロードデータの書き込み方法においては、光トランシーバは、演算装置が内部メモリと第2のシリアル通信を行うための第2のシリアル通信部をさらに備え、演算装置が、外部メモリから読み出したダウンロードデータを第2のシリアル通信のマスターとして第2のシリアル通信を行うことによって内部メモリに書き込む工程をさらに含んでもよい。こうすれば、演算装置から内部メモリへのダウンロードデータの書き込みを効率化することができる。

0020

また、内部メモリは、演算装置を制御するための第1のプログラムを格納する第1のメモリバンクと、相互変換を制御するための第2のプログラムを格納する第2のメモリバンクと、を備え、演算装置は、内部メモリを内蔵し、第1のプログラム及び第2のプログラムを実行するように構成されており、外部メモリに第2のプログラムを格納する工程と、第1のメモリバンクに第1のプログラムを格納する工程と、演算装置が第1のメモリバンクに格納されている第1のプログラムを実行することによって、外部メモリから第1のシリアル通信部を介して第2のプログラムを読み出し、外部メモリから読み出した第2のプログラムを第2のメモリバンクに書き込む工程と、をさらに含んでもよい。この場合、演算装置に内蔵された内部メモリへのプログラムの書き込みを効率化することができる。

0021

また、光トランシーバは、内部メモリ及び演算装置に所定の閾値電圧よりも高い第1の電源電圧を供給する第1の電源線と、相互変換を行う回路部に第1の電源電圧と別の第2の電源電圧を供給する第2の電源線と、をさらに備え、演算装置が第1の電源線から第1の電源電圧の供給を受けて起動する工程と、演算装置は、第2の電源電圧が所定の閾値電圧よりも低いことを検出したとき、外部メモリからのダウンロードデータの読み出しを開始する工程と、をさらに含んでもよい。この場合、ダウンロードデータの書き込み制御のための新たな信号線を設けること無しに、内部メモリへのダウンロードデータの書き込み処理の開始を制御することができる。

0022

また、演算装置は、外部メモリにダウンロードデータが格納されていること及び外部メモリが格納しているダウンロードデータが内部メモリに格納されていないことを検出したときに、外部メモリからのダウンロードデータの読み出しを開始する工程、をさらに含んでもよい。こうすれば、外部メモリのダウンロードデータの格納状態、及び内部メモリにおけるダウンロードデータの格納状態に応じて、必要な時に内部メモリへのダウンロードデータの書き込み処理を開始させることができる。

0023

以下、添付図面を参照しながら本発明による光トランシーバ及びその内部メモリに係るダウンロードの実施の形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
[第1実施形態]
(光トランシーバの構成)

0024

まず、第1実施形態の前提となる光トランシーバの比較例の構成について説明する。

0025

図17は、比較例にかかる光トランシーバ901Aの概略構成を示すブロック図である。この光トランシーバ901Aは、光通信システム等で光信号を送受信するために使用される機器である。光トランシーバ901Aは、光合波機能、光分波機能光−電気相互変換機能、電気波形整形機能等を備える。光トランシーバ901Aは、例えば、QSFP28 MSA(Quad Small Form-factor Pluggable 28 Multi-Source Agreement)に準拠して100Gbpsの光通信を実現する。同図に示すように、光トランシーバ901Aは、外部のホスト装置50と通信バスを介して接続可能とされており、集積回路3、光送信デバイスであるTOSA(Transmitter Optical Sub-assembly)5、光受信デバイスであるROSA(Receiver Optical Sub-assembly)7、演算装置であるCPU909、及び内部メモリ11を含んで構成されている。

0026

TOSA5は、4チャネルの光信号を生成するための発光素子である4つのレーザダイオード光合波器等を内蔵している。ここで、チャネルは電気信号あるいは光信号を伝達する伝送路を意味し、複数のチャネルは互いに並行に設置された、それぞれ独立な信号を伝送する複数の伝送路を意味する。このTOSA5は、外部のホスト装置50からの4チャネルの電気信号(電気入力信号)TXを基にそれぞれ波長の異なる4チャネルの光信号を生成し、それらの光信号を光出力信号Ooutに合波して出力する。ROSA7は、4チャネルの光信号を受信するための受光素子である4つのフォトダイオード光分波器等を内蔵している。このROSA7は、外部から光入力信号Oinを受け、光入力信号Oinを互いに波長の異なる4チャネルの光信号に分波する。さらに、ROSA7は、それぞれの4チャネルの光信号を受光して、それらの光信号を光電流(電気信号)に変換する。集積回路3は、CDR(Clock Data Recovery)部、LDD(Laser Diode Driver)部、TIA(Transimpedance Amplifier)部等を内蔵している。集積回路3のLDD部は、4チャネルの電気信号TXを基にTOSA5内の4つのレーザダイオードをそれぞれ変調し光信号を出力させるための回路ユニットである。集積回路3のTIA部は、ROSA7内の4チャネルのフォトダイオードから出力された4つの光電流のそれぞれを電気信号(電気出力信号)RXに変換する回路ユニットである。集積回路3のCDR部は、外部からの4つの電気信号TX、及びTIA回路部からの4つの電気信号RXをそれぞれ波形整形する回路ユニットである。集積回路3には、4チャネル分のLDD部及びTIA部が内蔵されている。なお、LDD部はTOSA5に内蔵されていても良い。ここで、集積回路3には、電気信号TX,RXをそれぞれ多重及び分離するための回路部、あるいは、電気信号TX,RXをn:m(n,m:任意の整数)で相互変換するための回路部等がさらに含まれていてもよい。

0027

内部メモリ11は、プログラム及び設定データのうちの少なくとも一方を格納するEEPROM(Electrically Erasable Programmable Read-Only Memory)等の不揮発性メモリ装置であり、集積回路3及びCPU909に接続された、集積回路3及びCPU909とは独立な装置である。詳細には、この内部メモリ11は、光トランシーバ901Aの動作に必要な内部情報の一部、例えば、CPU909の動作に必要なマイクロプログラムであるファームウェア、及び集積回路3の動作に必要な設定データを格納する。ここで、内部メモリ11は、集積回路3及びCPU909とはSPI(Serial Peripheral Interface)等のシリアル通信インタフェースによって接続可能とされている。

0028

CPU909は、ワンチップマイクロコントローラFPGA(Field Programmable Gate Array)あるいはCPLD(Complex Programmable Logic Device)等のロジック回路、又はこれらの組み合わせによって構成された演算装置である。CPU909は、内部に格納されたマイクロプログラム(例えば、ファームウェア)、又は、内部メモリ11に格納されたプログラム及び設定データをそれぞれ実行または参照して、光出力信号Oout及び電気出力信号RXの出力のための動作制御を実行する。CPU909は、外部のホスト装置50とI2C(Inter-IntegratedCircuit)等のシリアル通信の通信線L1を介して接続され、ホスト装置50による光トランシーバ901Aの内部の監視、又は光トランシーバ901Aの動作制御が可能とされている。また、CPU909には、ホスト装置50にアラーム信号通知するための通信線L2、ホスト装置50から光出力パワー切り換えるための制御信号を受け取るための通信線L3、ホスト装置50からCPU909をリセットするためのリセット信号を受け取るための通信線L4、及びホスト装置50からシリアル信号を選択するための制御信号を受け取る通信線L5が設けられている。さらに、CPU909には、集積回路3及び内部メモリ11とSPI等のシリアル通信方式によって通信するため内部通信バスL6も設けられている。

0029

上記の比較例にかかる光トランシーバ901Aの内部メモリ11に係るダウンロード動作について説明する。光トランシーバ901Aにおいて、内部メモリ11にダウンロードデータ(プログラム及び設定データ等の内部情報)が書き込まれた状態を実現するには、例えば、本体を組み立てる前に予めダウンロードデータが書き込まれた内部メモリ11を用意して、それを光トランシーバ901Aの回路基板実装する方法も考えられる。しかし、内部メモリ11が回路基板に実装されている状態でダウンロードデータを書き込むことが繰り返して行える点で利便性が高いため、図18に示す構成を用いて光トランシーバ901Aの内部メモリ11にダウンロードデータの書き込みを行うことが好ましい。すなわち、データ変換用の回路基板51を用意し、回路基板51上に信号変換用の演算装置であるCPU55と光トランシーバ901Aとを搭載する。この際、回路基板51上でCPU55と光トランシーバ901AとをI2C通信の通信線L1によって通信可能に接続し、CPU55と外部のパーソナルコンピュータ等のコンピュータ装置53とを、例えば、UART(Universal Asynchronous Receiver Transmitter)通信の通信線L8によって通信可能に接続する。このような接続構成において、コンピュータ装置53は、予めコンピュータ装置53に格納されたダウンロードデータをUART通信を用いてCPU55に送信する。これに応じて、CPU55は、コンピュータ装置53から受信したダウンロードデータを、I2C通信のデータ(電文)に変換して光トランシーバ901A内のCPU909に送信する。CPU909は、CPU55から受信したダウンロードデータを内部通信バスL6を介して内部メモリ11に書き込む。これにより、光トランシーバ901AのCPU909を介して内部メモリ11にダウンロードデータが書き込まれる。ここで、CPU55は、USB(Universal Serial Bus)−UART変換用IC等を利用してUSB通信によってコンピュータ装置53からダウンロードデータを受信してもよい。

0030

図19には、コンピュータ装置53から光トランシーバ901Aの内部メモリ11へのダウンロードデータの書き込み(以下、「ダウンロード」と言う。)の動作シーケンスを示している。図19に示すように、まず、コンピュータ装置53は、UART通信を用いてCPU55に所定データ量(例えば、256バイト)毎にダウンロードデータを分割し、分割されたダウンロードデータを送信電文に含めて送信する(ステップS901)。そうして、CPU55は、コンピュータ装置53からUART通信の送信電文を受信すると、その中に含まれる分割されたダウンロードデータをI2C通信のデータ(送信電文)に変換してCPU909に送信する(ステップS902)。これに応じて、CPU909は、CPU55から受信したI2C通信の送信電文から分割されたダウンロードデータを取り出し、内部通信バスL6を介して内部メモリ11に書き込む(ステップS903)。その後、所定の時間(例えば5msec)ほど待機した後に(ステップS904)、CPU55は、分割されたダウンロードデータの内部メモリ11への書き込み完了を通知するための受信電文をコンピュータ装置53に返信する(ステップS905)。このステップS901〜S905の処理は、全ての分割されたダウンロードデータの書き込みが終了するまで繰り返し実行される。すなわち、ダウンロードデータのデータ量は、例えば、128キロバイトあるいはそれ以上あり、送信に使用するシリアル通信方式に適した所定のデータ量(例えば、256バイト)よりも数100倍程度大きい。従って、コンピュータ装置53は、ダウンロードデータ全体を所定のデータ量毎に数100に分割し、分割された個々のダウンロードデータを順次送信することで、ダウンロードデータ全体の送信を行う。CPU909による内部メモリ11へのダウンロードデータの書き込みは、内部メモリ11の書き込みに適したデータ量にて行われる。

0031

次に、第1実施形態の光トランシーバの構成について説明する。

0032

図1は、第1実施形態にかかる光トランシーバ1Aの概略構成を示すブロック図である。以下では、比較例に係る光トランシーバ901Aとの相違点のみについて説明する。図17に示す光トランシーバ901Aは、電源端子P1、P2、及びP3を備えている。電源端子P1は、内部に設けられた電源線LP1を介して、例えば、CPU909及び内部メモリ11等に電源電圧Vcc1を供給する。電源端子P2は、内部に設けられた電源線LP2を介してTOSA5、集積回路3等の光送信系回路部に電源電圧VccTXを供給する。また、電源端子P3は、内部に設けられた電源線LP3を介してROSA7、集積回路3等の光受信系回路部に電源電圧VccRXを供給する。光トランシーバ1Aが通常の伝送信号送受信動作を行うとき、電源電圧Vcc1,VccTX,及びVccRXは、例えば、いずれも3.3Vで外部から供給される。光トランシーバ1Aには、それらに加えて、CPU9が電源電圧VccTX,VccRXのそれぞれを、内部電源線LP2,LP3から取り込むための入力ポート13,15がさらに設けられている。そして、光トランシーバ1AのCPU9は、A/D変換器17を内蔵し、入力ポート13,15から入力された電源電圧VccTX,VccRXをデジタル値に変換して取り込み、それらの電源電圧VccTX,VccRXをモニタする機能を有する。なお、光トランシーバ1Aには、入力ポート13,15のどちらか片方が設けられて、CPU9が電源電圧VccTX,VccRXのどちらか片方のみをモニタする機能を有していてもよい。CPU9のモニタ機能以外の基本機能は、光トランシーバ901AのCPU901の基本機能と同一である。

0033

図2には、CPU9の詳細構成の一例を示している。CPU9は、プロセッサ(演算回路)19、フラッシュROM21、RAM23、温度センサ25、外部通信用の通信インタフェース27、内部通信用の通信インタフェース29、タイマカウンタ31、A/D変換器17、外部入力ピン33、外部出力ピン35、及びこれらを内部で通信可能に接続する内部バスBUSを備える。CPU9に内蔵されるフラッシュROM21は、プロセッサ19が参照または実行するデータ及びプログラムを格納し、そのデータ容量は光トランシーバ1Aの動作に用いるファームウェア及び設定データ(ダウンロードデータ)の容量より小さい。なお、CPU内にダウンロードデータ全体よりも大きいデータ容量のフラッシュROMを内蔵することは技術的に可能である。しかし、そのようなデータ容量の大きいフラッシュROMを備えるCPUのサイズは、上述のデータ容量が小さいフラッシュROM21を備えるCPU9のサイズの数倍以上に成り得る。そのようなサイズの大きいCPUは、例えば、上述のQSFP28 MSAで規定される筐体の内部に収容することは困難であり、それを使用することは実用に好適な解決手段とはならない。従って、本発明に係る第一実施形態において、CPU9は、例えば、数mm角程度の大きさの比較的集積度の低いCPUを想定し、フラッシュROM21のデータ容量は、ダウンロードデータのデータ量よりも小さいことを想定する。
(光トランシーバのダウンロードデータの書き込み方法)

0034

次に、上記の第1実施形態にかかる光トランシーバ1Aの内部メモリ11に係るダウンロードデータの書き込み方法について説明する。

0035

本実施形態では、図3および図4に示す構成を用いて光トランシーバ1Aの内部メモリ11にダウンロードデータの書き込みを行う。すなわち、データ変換用の回路基板51を用意し、信号変換用の演算装置であるCPU55と、光トランシーバ1Aと、EEPROM等の外部メモリ57と、を回路基板51上に搭載する。この際、CPU55、外部メモリ57、及び光トランシーバ1AをI2C通信の通信線L1(通信バス)によって互いに通信可能に接続する。また、CPU55と光トランシーバ1Aとを、光トランシーバ1AからCPU55に信号を送信するための通信線L2によって接続する。さらに、CPU55と外部のパーソナルコンピュータ等のコンピュータ装置53とをUART通信の通信線L8によって通信可能に接続する。このような接続構成において、コンピュータ装置53は、予めコンピュータ装置53に格納されたダウンロードデータをUART通信を用いてCPU55に送信する。これに応じて、CPU55は、コンピュータ装置53から受信した設定データを、I2C通信のデータ(通信電文)に変換して送信する。これによってダウンロードデータは、外部メモリ57に書き込まれる。なお、外部メモリ57は、光トランシーバ1Aの外部に設けられるため、サイズの制約は受けないので、外部メモリ57はダウンロードデータ全体よりも大きなデータ容量を有しても良い。従って、外部メモリ57は、ダウンロードデータ全体を格納することができる。光トランシーバ1AのCPU9は、上記のようにして予めダウンロードデータが書き込まれた外部メモリ57からダウンロードデータを読み出して、読み出したダウンロードデータを内部メモリ11に能動的に格納する機能を有する。ここで、能動的にというのは、CPU9が、例えば通信線L1のI2C通信においてマスターとなって(スレーブとなる)外部メモリから読み出しを行うこと、あるいは、CPU9が、内部通信バスL6のシリアル通信においてマスターとなって(スレーブとなる)内部メモリに書き込みを行うことを意味する。なお、外部メモリ57には光トランシーバ1AのCPU9のためのファームウェアが、設定データに代えて、あるいは設定データに加えて書き込まれても良い。また、その場合にCPU9はそのファームウェアを、設定データに代えて、あるいは設定データに加えて内部メモリ11に書き込んでもよい。ここでは、コンピュータ装置53によるCPU55を経由した外部メモリ57へのダウンロードデータの書き込みは、光トランシーバ1A内の内部メモリ11へのダウンロードデータの書き込みごとに毎回実行される必要は無い。すなわち、ダウンロードデータが書き込まれた外部メモリ57を回路基板51と共に複数の光トランシーバ1Aの内部メモリ11へのダウンロードデータの書き込みに使用してもよい。さらに、言い換えれば、コンピュータ装置53及びCPU55は、外部メモリ57へのダウンロードデータの最初の書き込み時のみに必要とされ、その後は図4の構成から取り外されてもよい。すなわち、回路基板51にて、ダウンロードデータを格納した外部メモリ57と光トランシーバ1Aとが実装され、その外部メモリ57と光トランシーバ1Aとが通信線L1を介して互いに接続されているだけでも良い。

0036

図5は、CPU9による内部メモリ11に係るダウンロードの手順を示すフローチャートである。外部からの制御によりCPU9がリセットされたことを契機に、CPU9は、初期設定を行う(ステップS01)。この初期設定においては、CPU9は、内部通信バスL6に繋がるシリアル通信ポート(内部シリアル通信ポート)を入力ポートに設定する。次に、CPU9は、電源電圧VccTX,VccRXの少なくとも一方の電圧値をモニタし、モニタした電圧値が所定値(例えば、2.8V)以上であるか否かを判定する(ステップS02)。判定の結果、電圧値が所定値未満であると判定された場合(ステップS02;NO)、すなわち、電源電圧VccTX,VccRXの少なくとも一方の電位の低下が検出された場合、内部メモリ11の設定データを書き込む動作モードである書き込みモードダウンロードモード)に遷移する。これは、例えば、光信号の送受信を行う通常モード(後述)では、電源電圧Vcc1、VccTX,及びVccRXの全てが所定値以上に設定されるのに対して、電源電圧Vcc1が所定値以上に設定されていながら他の電源電圧VccTX,VccRXの少なくとも一方の値が所定値未満に設定される状況は通常では起こらない。しかし、光トランシーバ1Aの製造段階ではそのような通常とは異なる電源電圧を設定できるため、そのことを書き込みモードの検出に利用する。この書き込みモードでは、まず、CPU9は、内部通信バスL6につながる内部シリアル通信ポートを出力ポート切り替える(ステップS03)。これにより、例えば、CPU9は、SPI通信のマスターとして動作し、内部メモリ11は、同SPI通信のスレーブとして動作する。

0037

その後、CPU9は、内部シリアル通信ポートを介して内部メモリ11内の冒頭アドレスのデータ(例えば、冒頭の16バイトのデータ)を読み出す(ステップS04)。そして、CPU9は、読み出した冒頭アドレスのデータが全て所定パターン(例えば、“FFh”)であるか否かを判定する(ステップS05)。この判定により、内部メモリ11に既にダウンロードデータが格納されているか否かを判断する。例えば、内部メモリ11は、初期状態において内部の全てのアドレスのデータが“FFh”になっているときには、ステップS04,S05によって内部メモリ11がその初期状態にあることを検出できる。また、内部メモリ11にダウンロードデータが書き込まれたときに、冒頭アドレスのデータが上記の所定パターンと異なるようにダウンロードデータを作成しておくことで、ステップS04,S05によって内部メモリ11には既にダウンロードデータが書かれていると判定することができる。なお、ここでは、書き込み対象の設定データの冒頭データは上記所定パターンではないという前提で格納有無が判断されているが、代わりに、例えば、冒頭のアドレス以外に定めた所定のアドレスであっても良いし、他の条件判定によって格納有無が判断されてもよい。

0038

ステップS05の判定の結果、冒頭データが全て所定パターンであると判定された場合には(ステップS05;YES)、CPU9は、通信線L1に繋がるCPU9のシリアル通信ポートをスレーブモードからマスターモードに変更する(ステップS06)。次に、CPU9は、外部メモリ57にアクセスする(ステップS07)。その結果、CPU9が、外部メモリ57からの応答を検出した場合には(ステップS08;YES)、CPU9は、外部メモリ57の読み出し先のアドレスを示す先頭アドレスカウンタをリセットする(ステップS09)。さらに、ステップS10で先頭アドレスカウンタがダウンロードデータ全体のサイズに相当する最大値に達したと判定されるまでの間は、CPU9は、ステップS11〜S13の処理を繰り返す。詳細には、CPU9は、先頭アドレスカウンタの示す外部メモリ57のアドレスを先頭として、そこから連続するアドレスに格納されている所定データ量(例えば256バイト)のダウンロードデータを能動的に読み出し、読み出した設定データを通信線L1を介して受信する(ステップS11)。ここで、能動的と言うのは、通信線L1を介して外部メモリ57とCPU9との間で行われるシリアル通信(例えば、I2C通信)において、CPU9がマスターで外部メモリ57がスレーブとして動作するということを意味する。なお、図1に示されるように、光トランシーバ1Aが通信線L1を介してホスト装置50に接続され、通常の送受信動作を行うときには、通信線L1によるシリアル通信においては、ホスト装置がマスターで、CPU9がスレーブとして働く。すなわち、光トランシーバ1Aがホスト装置50と通信線L1を介してシリアル通信を行う場合は、ホスト装置50が能動的にCPU9に対して読み書き等の指示を行う。本発明に係る実施形態において、CPU9がダウンロードを行う際には、通信線L1を介して行うシリアル通信において能動的に動作する。このように、能動的に動作する主体(マスター)は、通常の送受信動作時とダウンロード時とで異なっている。その後、CPU9は、所定データ量の(分割された)ダウンロードデータを受信すると、そのダウンロードデータを内部通信バスL6を介して内部メモリ11に能動的に格納する(ステップS12)。そして、CPU9は、所定データ量のダウンロードデータの書き込み後に先頭アドレスカウンタに所定データ量に応じた値を加算する(ステップS13)。

0039

一方で、ステップS02の判定において、電圧値が所定値(例えば、2.8V)以上であると判定された場合には(ステップS02;YES)、CPU9は、光トランシーバ1Aの内部の監視又は光トランシーバ1Aの動作制御を行う動作モードである通常モードに遷移する。この通常モードでは、CPU9は、例えば、光トランシーバ1A内における各種動作状態のモニタ及びアラーム判定等を含む周期処理を実行する(ステップS15)。周期処理では、光トランシーバ1A内部のリアルタイムでの監視・制御に必要な各種の処理を単純ループあるいはタイマによる時分割方式によって繰り返し行う。また、ステップS05において冒頭データの全てが所定パターンではないと判定した場合(ステップS05;NO)、ステップS08において外部メモリ57からの応答を検出しなかった場合(ステップS08;NO)、あるいはステップS10において先頭アドレスカウンタが最大値に達したと判定した場合(ステップS10;NO)、CPU9は、内部通信バスL6につながる内部シリアル通信ポートを入力ポートに切り替えた後に(ステップS14)、通常モードに遷移する。

0040

なお、上述したようにCPU9が内部メモリ11にダウンロードデータを格納するとき、すなわち、CPU9が書き込みモード(ダウンロードモード)に遷移中は、CPU9は、通信線L2に繋がる出力ポートを正常状態を示す所定電位ベル(例えば、ハイレベル)に設定する。光トランシーバ1Aが回路基板51に搭載されているとき、電気入力信号TX及び光入力信号Oinは入力されないため、CPU9は、電気入力信号TX及び光入力信号Oinの各チャネルの信号ロス(正常な信号が無いこと)を検出する(なお、ここでは、この検出が集積回路3によって行われる場合、VccTxまたはVccRxを上述の所定値よりも低くしていても集積回路3は検出を正常に行える状況あること、あるいは、集積回路3にもVcc1が供給されてCPU9及び内部メモリ11と共に正常に動作する状況にあることを想定している)。そのような場合でも、CPU9は、書き込みモードに遷移中、通信線L2に繋がる出力ポートの電位をアラームが検知された異常状態を示す電位レベル(例えば、ローレベル)から正常状態を示す電位レベルに変更する。これにより、CPU9は、通信線L2を介してCPU55に書き込み処理実行中を検知させることができ、それによってCPU55が光トランシーバ1Aに対してシリアル通信によるアクセスをしないように通知することができる。さらには、外部のホスト装置50等に接続されているとき、CPU9は、内部メモリ11に係るダウンロードの実行中を検知させることもできる。

0041

図6は、光トランシーバ1Aの内部メモリ11に係るダウンロード前の外部メモリ57のデータの格納動作のシーケンスを示している。図6に示すように、まず、コンピュータ装置53は、UART通信によってCPU55に所定データ量(例えば、256バイト)毎に分割されたダウンロードデータの最初の部分(1番目の部分)を、送信電文に含めて送信する(ステップS101)。そうすると、CPU55は、I2C通信の通信電文に変換された分割されたダウンロードデータの1番目を、内部通信バスL6を介して外部メモリ57に書き込む(ステップS102)。その後、所定の時間(例えば5msec)ほど待機した後に(ステップS103)、CPU55は、分割されたダウンロードデータの1番目の書き込み完了を通知するために、受信電文をコンピュータ装置53に返信する(ステップS104)。このステップS101〜S104の処理は、全ての分割されたダウンロードデータが外部メモリ57に書込まれるまで順次実行される。

0042

図7は、図6に示す動作シーケンスよってダウンロードデータが書き込まれた外部メモリ57を用いた、光トランシーバ1Aの内部メモリ11に係るダウンロードのシーケンスを示している。書き込みモード(ダウンロードモード)において、CPU9はマスターとして、スレーブとして動作する外部メモリ57から、所定データ量(例えば256バイト)のダウンロードデータを能動的に読み出す(ステップS111)。その後、CPU9は、外部メモリ57から読み出した所定データ量のダウンロードデータを、スレーブとして動作する内部メモリ11に能動的に格納する(ステップS112)。そして、CPU9は、所定の時間(例えば5msec)ほど待機する(ステップS113)。このステップS111〜S113の処理は、全てのダウンロードデータの書き込みが終了するまで繰り返し実行される。

0043

以上説明した光トランシーバ1A及び光トランシーバ1Aの内部データのダウンロード方法作用効果について述べる。

0044

光トランシーバ1Aにおいて、CPU9が通信線L1を介して外部メモリ57を検出すると、CPU9は、外部メモリ57からダウンロードデータを能動的に受信し、その受信したダウンロードデータを能動的に内部メモリ11に格納する。これにより、設定データ等のダウンロードデータを予め記憶させた外部メモリ57を光トランシーバ1Aに接続するだけで、光トランシーバ1Aは、能動的に内部メモリ11にダウンロードデータを格納することができる。その結果、例えば、CPU55に係る通信に必要な時間を省くことによって、内部メモリへのダウンロードデータの書き込みを効率化でき、ダウンロードの所要時間を短縮できる。

0045

また、CPU9は、電源電圧VccTX,VccRXの少なくとも一方の電位の低下を検出されたことを契機にダウンロードデータの受信を開始するように構成されているので、ダウンロードデータの書き込み制御のための新たな信号線を設けること無しに、内部メモリ11へのダウンロードデータの書き込み処理の開始を制御することができる。さらに、CPU9は、内部メモリ11におけるダウンロードデータの格納状態を検出し、格納状態に応じてダウンロードデータの受信を開始するように構成されている。これにより、内部メモリ11におけるダウンロードデータの書き込み状態に応じて、必要な時に効率的に内部メモリ11へのダウンロードデータの書き込み処理を開始させることができる。これにより、例えば、既にダウンロードデータの書き込みを行った光トランシーバ1Aについて、同じダウンロードデータを再度書き込みすることを防ぐことができ、そのような冗長な処理に係る時間を確実に排除することができる。

0046

ここで、本実施形態における内部メモリ11に係るダウンロードの効率化を定量的に評価する。図20には、比較例における光トランシーバ901Aの内部メモリ11に係るダウンロードの所要時間を表したタイミングチャートを示している。図8は、本実施形態にかかる光トランシーバ1Aの内部メモリ11に係るダウンロードの所要時間を表したタイミングチャートを示している。これらのタイミングチャートでは、256バイト毎に分割されたダウンロードデータの一つを1回の通信電文で書き込む際の所要時間が見積もられている。

0047

まず、図18の接続構成における比較例の所要時間を評価する。コンピュータ装置53とCPU55との間のUART通信に関して、1バイトのデータを送信する際にその1バイト(8ビット)のデータの前後に、1ビットのスタートビット、1ビットのストップビットが付加され、通信速度が115200bpsであってパリティビット無しの条件が設定されていることを想定する。そうすると、コンピュータ装置53からCPU55へのデータ送信時間T901は、
T901 = 256byte×(8bit+1bit+1bit)/115200bps ≒ 22.2msec
と見積もられる。実際には、256バイトの送信電文の冒頭にヘッダコマンド、サイズ情報等が含まれ、送信電文の末尾CRC等の電文チェックビットが数バイト付加されるので、データ送信時間T901はこれ以上の時間になるが、分割されたダウンロードデータと比べてそれらの付加部分の大きさは比較的小さいので、ここでは省略する。その後、CPU55は、送信電文を受信すると、その送信電文を解析した後、光トランシーバ901A内のCPU909に256バイトの分割されたダウンロードデータを転送する。CPU55とCPU909との間のI2C通信に関して、8ビット毎にAck/Nackの応答が1ビット入るため、通信速度を400kbpsと想定すると、分割されたダウンロードデータの転送時間T902は、
T902 = 256byte×(8bit+1bit)/400kbps ≒ 5.76msec
と見積もられる。実際には、I2C通信データにはスレーブアドレスメモリアドレスレジスタアドレス等のデータが数バイト分あるため、データ送信時間T902はこれ以上の時間になるが、分割されたダウンロードデータと比べてそれらの付加部分の大きさは比較的小さいので、ここでは省略する。さらに、CPU55は、ダウンロードデータの転送が終わった直後に、コンピュータ装置53に対して、正常に通信が終わったことを通知するために、数バイトの返信電文を返信する。CPU55に必要な送信電文の解析時間および返信電文の送信時間をそれぞれ1msecと見積もると、合計の256バイトのダウンロードデータのコンピュータ装置53〜CPU909間の通信のための所要時間T903は約29.96msecとなる。従って、128キロバイトのダウンロードデータを書き込むには256バイト毎に分割されたダウンロードデータを512回送信するため、所要時間は、約15.3秒となる。ここで、CPU909は、256バイトの分割されたダウンロードを受信後、SPI等のシリアル通信インタフェースによって内部メモリ11に分割されたダウンロードデータを転送するが、そのときの通信速度を8Mbpsとすると、その転送時間T904は、
T904 = 256byte×8bit/8Mbps ≒ 0.256msec
と評価される。実際には、内部メモリ11への分割されたダウンロードデータの書き込みには、内部メモリ11のレジスタアドレスの指定が必要なため、1回の送信に必要な通信データのデータ量はそれによって伝達される分割されたダウンロードデータのデータ量よりも数バイト分サイズが大きくなるが、分割されたダウンロードデータと比べてそれらの付加部分の大きさは比較的小さいので、ここでは省略する。なお、内部メモリ11の記憶時間T905(書込み時間)を最大で5msec程度考慮する必要があるが、コンピュータ装置53〜CPU909間の通信時間が支配的である。そのため、転送時間T904及び記憶時間T905は無視できる。

0048

次に、図3の接続構成における本実施形態の所要時間を評価する。光トランシーバ1A内のCPU9が外部メモリ57から、通信速度400kbpsのI2C通信によって256byte毎に分割されたダウンロードデータの一つを読み出す時間T1は、
T1 = 256byte×(8bit+1bit)/400kbps ≒ 5.76msec
と見積もられる。また、CPU9が通信電文を解析して内部メモリ11に分割されたダウンロードデータを転送するため通信時間T2は、通信速度を8Mbpsと想定すると、同様の計算によって、
T2 = 256byte×8bit/8Mbps ≒ 0.256msec
と見積もられる。内部メモリ11における記憶時間(書込み時間)として5msecの待機時間T3が必要とされるが、CPU9が並行して次の256バイトの設定データを読み出すことにより、この待機時間T3は所要時間には含まれなくなる。CPU9が外部メモリ57から分割されたダウンロードデータを読み出してから内部メモリ11に書き込みを始めるまでの準備時間T4を0.1msecと仮定すると、256バイトの分割されたダウンロードデータの書き込みに必要な所要時間T5は、約6.116msecとなる。128キロバイトの設定データを書き込む場合は256バイトの分割されたダウンロードデータを512回送信するため、所要時間は約3.13秒となる。

0049

このような評価により、本実施形態での内部メモリ11の設定動作動作時間は、比較例に比べて、約15.3秒から約3.13秒に大幅に短縮化されることが分かる。特に、本実施形態では、光トランシーバ1Aの量産時にコンピュータ装置53と回路基板51との間のデータ通信の工程を省くことができ、光トランシーバ内のCPUのみの能動的な処理によって効率的に外部メモリから内部メモリにダウンロードデータを書き込むことができる。その結果、光トランシーバ1Aの製造時の内部メモリに係るダウンロードの時間を短縮化することができる。
[第2実施形態]
(光トランシーバの構成)

0050

まず、第2実施形態の前提となる光トランシーバの比較例の構成について説明する。

0051

図21は、比較例にかかる光トランシーバ901Bの概略構成を示すブロック図である。この光トランシーバ901Bは、光通信システム等で光信号を送受信するために使用される機器である。光トランシーバ901Bは、光合波機能、光分波機能、光−電気相互変換機能、電気波形整形機能等を備える。光トランシーバ901Bは、CFP4 MSA(100Gbit Form-factor Pluggable 4 Multi-Source Agreement)に準拠して100Gbpsの光通信を実現する。図21に示されるように、光トランシーバ901Bは、CDR101、LDD(Laser Diode Driver)103、光送信デバイスであるTOSA(Transmitter Optical Sub-assembly)5、CDR(Clock Data Recovery)105、TIA(Transimpedance Amplifier)107、光受信デバイスであるROSA(Receiver Optical Sub-assembly)7、及び演算装置であるCPU909等を含んで構成されている。

0052

TOSA5は、4チャネルの光信号を生成するための発光素子である4つのレーザダイオード、光合波器等を内蔵している。ここで、チャネルは電気信号あるいは光信号を伝達する伝送路を意味し、複数のチャネルは互いに並行に設置された、それぞれ独立な信号を伝送する複数の伝送路を意味する。このTOSA5は、外部からの4チャネルの電気信号(電気入力信号)TXを基にそれぞれ波長の異なる4チャネルの光信号を生成し、それらの光信号を光出力信号Ooutに合波して出力する。ROSA7は、4チャネルの光信号を受信するための受光素子である4つのフォトダイオード、光分波器等を内蔵している。このROSA7は、外部から光入力信号Oinを受け、光入力信号Oinを互いに波長の異なる4チャネルの光信号に分波する。さらに、ROSA7は、それぞれの4チャネルの光信号を受光して、それらの光信号を光電流(電気信号)に変換する。

0053

LDD103は、4チャネルの電気信号TXを基にTOSA5内の4つのレーザダイオードをそれぞれ変調し光信号を出力させる回路ユニットである。TIA107は、ROSA7内の4チャネルのフォトダイオードから出力された4つの光電流のそれぞれを電気信号(出力電気信号)RXに変換する回路ユニットである。LDD103及びTIA107は、4チャネル分の機能を内蔵している。CDR101,105のそれぞれは、外部からの4つの電気信号TX、及びTIA107からの4つの電気信号RXを波形整形する回路ユニットである。なお、LDD103はTOSA5に内蔵される場合もある。また、CDR101,105は一体化された回路ユニットであってもよい。ここで、光トランシーバ901Bは、電気信号TX,RXを多重及び分離するための回路部、あるいは、電気信号TX,RXをn:m(n,m:任意の正の整数)で相互変換するための回路部等を含んでいてもよい。

0054

CPU909は、ワンチップマイクロコントローラ、FPGA(Field Programmable Gate Array)あるいはCPLD(Complex Programmable Logic Device)等のロジック回路、又はこれらの組み合わせによって構成された演算装置である。CPU909は、自身の内蔵する内部メモリ(図示せず)に格納されたプログラム(ファームウェア)を実行して、例えば、光出力信号Oout及び電気出力信号RXの出力のための動作制御を行う。CPU909は、外部のホスト装置(図示せず)とI2C(Inter-IntegratedCircuit)、MDIO(Management Data Input/Output)等のシリアル通信の通信線L1を介して接続され、ホスト装置における光トランシーバ901Bの内部の監視、又は光トランシーバ901Bの動作制御が可能とされている。また、CPU909は、ホスト装置にアラーム信号を通知するための通信線L2、ホスト装置から光出力パワーを切り換えたり光出力オンオフするための制御信号を受け取るための通信線L3、及びホスト装置からCPU909をリセットするためのリセット信号を受け取るための通信線L4を備えている。さらに、CPU909は、CPU909内部にファームウェアをダウンロードするための一組のクロック信号およびデータ信号を伝達する通信線L9も備えている。また、CPU909は、CDR101、105、LDD103、及びTIA107等とSPI(Serial Peripheral Interface)、I2C等のシリアル通信によって接続するため内部通信バスL6と、CDR101,105、LDD103、及びLIA107のそれぞれをリセットするための内部通信線L11,L12,L13と、光出力信号を停止するための制御信号TxDISABLEをLDD103に伝達するための内部通信線L14を備えている。

0055

上記の比較例にかかる光トランシーバ901BのCPU909の内部メモリに係るダウンロードについて説明する。光トランシーバ901Bにおいて、内部メモリにファームウェアが書き込まれた状態にするには、本体の組立前に予め内部にファームウェアが書き込まれたCPU909を用意して、それを光トランシーバ901Bの回路基板に実装することも考えられる。しかし、CPU909が回路基板に実装されている状態でファームウェアを書き込むことが利便性が高いため、図22に示す構成を用いて光トランシーバ901BのCPU909の内部メモリにファームウェアの書き込みを行うことが好ましい。すなわち、データ変換用の回路基板51を用意し、回路基板51上に信号変換用の演算装置であるCPU55と光トランシーバ901Bとを搭載する。この際、回路基板51上でCPU55と光トランシーバ901Bとを通信線L1によって通信可能に接続し、CPU55と外部のパーソナルコンピュータ等のコンピュータ装置53とをUSB(Universal Serial Bus)通信の通信線L8によって通信可能に接続する。なお、通信線L8には、USB通信の替わりにUART通信が使用されても良い。さらに、光トランシーバ901Bと外部のファームウェア書き込み用装置であるファームウェアライタ59とを通信線L9経由で通信可能に接続し、コンピュータ装置53とファームウェアライタ59とをUSB通信の通信線L10によって通信可能に接続する。なお、ファームウェアも光トランシーバ901Bの動作に必要な内部情報の一部である。

0056

このような接続構成において、コンピュータ装置53は、予めコンピュータ装置53に格納されたファームウェアをUSB通信を用いてファームウェアライタ59に送信する。それに応じて、ファームウェアライタ59は、コンピュータ装置53から受信したファームウェアを、通信線L9を介して光トランシーバ901B内のCPU909の内部メモリに書き込む。これにより、光トランシーバ901Bに最初にCPU909の内部メモリにファームウェアが書き込まれる。CPU909は、自身の内蔵する内部メモリにファームウェアが書き込まれていないと、内部の演算処理も外部のデバイスとの通信等も何も処理を行わない状態にある。従って、まず最初に、ファームウェアライタ59がCPU909のファームウェア書き込み用のクロック端子及びデータ端子に通信線L9を介してそれぞれ所定のクロック信号及びデータ信号を送信し、内部メモリにファームウェアを書き込む(ファームウェアが書き込まれていなくても、通信線L9を介してファームウェアライタ59と通信する機能は基本的機能として備わっている)。ファームウェアライタ59は、CPU909にファームウェアを書き込むための専用の通信規約プロトコル)に準拠したクロック信号とデータ信号を生成する装置である。内部メモリにファームウェアを書き込むことによって、少なくとも、光トランシーバ901Bを通信線L1を介してCPU55と通信可能な状態にすることができる。

0057

図23には、光トランシーバ901BのCPU909の内部メモリに係るファームウェアのダウンロードのシーケンスを示している。図23に示すように、まず、コンピュータ装置53は、USB通信を用いてファームウェアライタ59にファームウェアの書き込み開始を指示する。それに応じて、ファームウェアライタ59は、光トランシーバ1BのCPU909に接続要求の電文を送信する(ステップS911)。次に、コンピュータ装置53は、ファームウェアライタ59にCPU909の内部メモリの内容消去を指示する。それに応じて、ファームウェアライタ59は、CPU909にメモリ消去要求電文送信し、これによりCPU909の内部メモリの全領域のデータが消去される(ステップS912)。その後、コンピュータ装置53は、書き込み対象のファームウェアのうちのカーネルプログラムを所定データ量に分割してUSB通信によってファームウェアライタ59に送信する。それに応じて、ファームウェアライタ59は、受信したカーネルプログラムを通信線L9を介してCPU909の内部メモリに書き込む(ステップS913)。その後、ファームウェアライタ59は、所定の時間(例えば5msec)ほど経過した後に、コンピュータ装置53にカーネルプログラムの書き込み完了を通知するための受信伝文を返信する(ステップS914)。このステップS913〜S914の処理は、カーネルプログラムの全データの書き込みが終了するまで繰り返し実行される(カーネルプログラムの書き込み処理P901)。この繰り返しの回数は、カーネルプログラムのデータ量を、1つの通信電文に含めることができる所定データ量で割った商に等しいか、またはその剰余の分に応じてそれより少し多くなる。さらに、コンピュータ装置53は、書き込み対象のファームウェアのうちのアプリケーションプログラムを所定データ量に分割してファームウェアライタ59に送信する。それに応じて、ファームウェアライタ59は、受信したアプリケーションプログラムを通信線L9を介してCPU909の内部メモリに書き込む(ステップS915)。その後、ファームウェアライタ59は、所定の時間(例えば5msec)ほど待機した後に、コンピュータ装置53にアプリケーションプログラムの書き込み完了を通知するための受信伝文を返信する(ステップS916)。このステップS915〜S916の処理は、アプリケーションプログラムの全データの書き込みが終了するまで繰り返し実行される(アプリケーションプログラムの書き込み処理P902)。この繰り返しの回数は、アプリケーションプログラムのデータ量を上述の所定データ量で割った商に等しいか、またはその剰余の分に応じてそれよりも少し多くなる。そして、コンピュータ装置53は、ファームウェアライタ59にファームウェア書き込みの終了を指示する。それに応じて、ファームウェアライタ59は、CPU909に切断要求の通信電文を送信する(ステップS917)。それによって、CPU909は、内部メモリに係るファームウェアのダウンロードを終了する。

0058

次に、第2実施形態の光トランシーバの構成について説明する。

0059

図9は、第2実施形態にかかる光トランシーバ1Bの概略構成を示すブロック図である。以下では、比較例に係る光トランシーバ901Bとの相違点のみについて説明する。図9に示す光トランシーバ1BのCPU9は、新たなI2C通信等のシリアル通信用の通信線として、一組のクロック信号およびデータ信号を伝達する通信線L15をさらに備えている。そして、光トランシーバ1BのCPU9は、この通信線L15を介して外部のメモリからそのメモリに格納されているファームウェアを能動的に読み出して内部メモリに格納する機能を有する(詳細は後述する)。CPU9のファームウェアの書き込み機能以外の基本的機能は、光トランシーバ901BのCPU901の基本的機能と同一である。また、CPU9の詳細構成は、図2に示した構成と同一であり、内部メモリとしてフラッシュROM21を内蔵する。CPU9内のプロセッサ19は、フラッシュROM21に格納された内部情報、すなわち、設定データ及びファームウェア等を参照あるいは実行する。
(光トランシーバの内部情報の書き込み方法)

0060

次に、上記の第2実施形態にかかる光トランシーバ1BのCPU9の内部メモリに係るダウンロード方法について説明する。

0061

本実施形態では、図10および図11に示す構成を用いて光トランシーバ1BのCPU9の内部メモリにファームウェアをダウンロードする。すなわち、データ変換用の回路基板51を用意し、信号変換用の演算装置であるCPU55と、光トランシーバ1Bと、EEPROM等の外部メモリ57と、を回路基板51上に搭載する。この際、CPU55、外部メモリ57、及び光トランシーバ1BをI2C通信の通信線L15によって互いに通信可能に接続し、CPU55と光トランシーバ1Bとを、MDIO通信の通信線L1によって通信可能に接続する。さらに、CPU55と外部のパーソナルコンピュータ等のコンピュータ装置53とをUSB通信の通信線L8によって通信可能に接続する。このような接続構成を用いて、コンピュータ装置53は、予めコンピュータ装置53に格納されたファームウェアをUSB通信を用いてCPU55に送信する。これに応じて、CPU55は、コンピュータ装置53から受信したファームウェアを、I2C通信のデータ(通信電文)に変換して送信することによって外部メモリ57に書き込む。光トランシーバ1BのCPU9は、上記のようにして予めファームウェアが書き込まれた外部メモリ57からファームウェアを読み出して、CPU9の内部メモリに能動的にファームウェアを格納する(ダウンロードする)機能を有する。なお、外部メモリ57は、光トランシーバ1Bの内部制御に係る設定データを、ファームウェアに代えて、あるいはファームウェアに加えて格納していても良い。また、それに応じて、CPU9は、その設定データを、ファームウェアに代えて、あるいはファームウェアに加えて内部メモリにダウンロードしても良い。ここでは、コンピュータ装置53からCPU55を経由した外部メモリ57へのファームウェアの書き込みは、例えば、一つの光トランシーバ1B内の内部メモリへファームウェアのダウンロードが終了した後に、光トランシーバ1Bを別の光トランシーバ1B’に交換して、別の光トランシーバ1B’の内部メモリへファームウェアのダウンロードを行うときには再度実行する必要は無い。すなわち、最初に一度外部メモリへのファームウェアの書き込みを行っておけば、そのファームウェアが書き込まれた外部メモリ57を回路基板51と共に、複数の光トランシーバ1Bの内部メモリにファームウェアをダウンロードするのに使用してもよい。言い換えれば、コンピュータ装置53及びCPU55は、外部メモリ57のファームウェアの最初の書き込み時のみに必要とされ、その後は図11の構成から取り外されてもよい。

0062

図12は、上述のようにしてCPU9の内部メモリにダウンロードされたファームウェアの格納状態を示している。内部メモリは、論理的に分離されたデータ格納領域である3つのメモリバンクBK0,BK1,BK2を有している。内部メモリには、ファームウェアとして、CPU9の内部初期設定や各種の通信インタフェースモジュールに係る通信機能等の基本的機能の実行に必要なカーネルプログラムと、CPU9の光トランシーバ1B内部の監視・制御等の応用機能の実行に必要なアプリケーションプログラムとが格納される。メモリバンクBK0には、カーネルプログラムのうちのブートプログラムが格納された領域A1と、バンク切換情報及びカーネルプログラムの実行に必要なデータが格納された領域A2とが含まれる。メモリバンクBK1には、“アプリケーションA”のプログラムが格納され、メモリバンクBK2には、“アプリケーションB”のプログラムが格納され、メモリバンクBK1とメモリバンクBK2とが切り換えられて読み出されることによって、CPU9で“アプリケーションA”と“アプリケーションB”のいずれかのアプリケーションプログラムが切り替えて実行される。例えば、メモリバンクBK2は、メモリバンクBK1に格納されたアプリケーションプログラムのアップデート用の格納領域として設定される。ここで、CPU9が能動的に動作して外部メモリ57からアプリケーションプログラムをダウンロードすることを可能にするために、図11に示す構成を用いて、コンピュータ装置53からファームウェアライタ59を経由してメモリバンクBK0にカーネルプログラムが予め書き込まれている。すなわち、カーネルプログラムは、CPU9が外部メモリ57から能動的にアプリケーションプログラムを内部メモリにダウンロードするためのプログラムコードを有している。

0063

図13は、CPU9による内部メモリ11に係るファームウェアのダウンロード手順を示すフローチャートである。外部からの制御によりCPU9がリセットされたことを契機に、CPU9は、初期設定を実行する(ステップS201)。この初期設定において、CPU9は、制御信号TxDISABLEがオンされて光出力信号の出力を停止するとともに、CDR101,105、LDD103、及びLIA107のそれぞれにリセット信号を出力して主信号(電気入力信号及び電気出力信号等)を処理しない状態に設定する。次に、CPU9は、内部メモリのメモリバンクBK1,BK2におけるアプリケーションプログラムの格納状態を検出する(ステップS202)。検出の結果、アプリケーションプログラムが格納されていない場合には(ステップS203;NO)、CPU9は、外部メモリ57にアクセスする(ステップS204)。その結果、CPU9が、外部メモリ57からの応答を検出した場合には(ステップS205;YES)、書き込みモード(ダウンロードモード)に遷移する。CPU9は、外部メモリ57に格納されているファームウェア(アプリケーションプログラム)の先頭を示すアドレスを先頭アドレスカウンタにセットする(例えば、0番地にリセットする)(ステップS206)。さらに、CPU9は、ステップS207で先頭アドレスカウンタがファームウェア(アプリケーションプログラム)のサイズに相当する最大値に達したと判定されるまでの間、ステップS208〜S210の処理を繰り返す。詳細には、CPU9は、外部メモリ57の先頭アドレスカウンタの示すアドレスから、所定データ量(例えば256バイト)のアプリケーションプログラムを能動的に読み出し、読み出したアプリケーションプログラムを通信線L15を介して受信する(ステップS208)。その後、CPU9は、受信した所定データ量のアプリケーションプログラムを内部メモリに能動的に書き込む(ステップS209)。そして、CPU9は、所定データ量のアプリケーションプログラムの書き込み終了後に先頭アドレスカウンタに所定データ量に応じた値を加算する(ステップS210)。

0064

一方、ステップS203において、アプリケーションプログラムが格納済みであることを検出した場合(ステップS203;YES)、ステップS205において外部メモリ57からの応答を検出しなかった場合(ステップS205;NO)、あるいはステップS207おいて先頭アドレスカウンタが最大値に達したと判定した場合(ステップS207;NO)、CPU9は、起動処理を行った後に(ステップS211)、光トランシーバ1Bの内部の監視又は光トランシーバ1Bの動作制御を行う動作モードである通常モードに遷移する(ステップS212)。この起動処理では、CPU9のリセット、アプリケーションプログラムの起動、各回路101,103,105,107に対するリセット信号の解除、各回路のレジスタの初期設定、制御信号TxDISABLEのオフ設定が行われる。通常モードにおいて、CPU9は、光トランシーバ1B内における各種動作状態のモニタ及びアラーム判定等を含む周期処理を繰り返す。

0065

図14は、光トランシーバ1Bの内部メモリに係るダウンロード前の外部メモリ57へのファームウェアの書き込みのシーケンスを示している。図14に示すように、まず、コンピュータ装置53は、所定データ量(例えば、256バイト)毎に分割されたアプリケーションプログラムを送信電文に含めて、USB通信を用いてCPU55に送信する(ステップS301)。その後、CPU55は、I2C通信のデータ(通信電文)に変換された分割されたファームウェアの一つを通信線L15を介して外部メモリ57に書き込む(ステップS302)。そして、CPU55は、所定の時間(例えば5msec)ほど待機した後に(ステップS303)、分割されたファームウェアの一つの書き込みが完了したことを通知するために、コンピュータ装置53に受信伝文を返信する(ステップS304)。このステップS301〜S304の処理は、全ての分割されたファームウェア(アプリケーションプログラム)の書き込みが終了するまで繰り返し実行される。なお、この繰り返しの回数は、アプリケーションプログラム全体のデータ量を、1つの通信電文に含めることができる所定データ量で割った商に等しいか、またはその剰余の分それよりも少し多くなる。

0066

図15は、図14に示す動作よって予めファームウェアが格納された外部メモリ57を用いた、光トランシーバ1BのCPU9の内部メモリに係るダウンロードのシーケンスを示している。まず、図23に示す比較例におけるステップS911〜S914,S917の動作と同様の手順で、CPU9の内部メモリにカーネルプログラムのみが格納される(カーネルプログラムの書き込み処理P301)。その後、書き込みモード(ダウンロードモード)に遷移した状態において、CPU9は、外部メモリ57から所定データ量(例えば256バイト)毎に分割されたアプリケーションプログラムを能動的に読み出し、読み出した分割されたアプリケーションプログラムを内部メモリに能動的に書き込む(ステップS316)。CPU9は、このステップS316の処理を、全ての分割されたアプリケーションプログラムの書き込みが終了するまで順次所定の順番にて繰り返す(アプリケーションプログラムの書き込み処理P302)。なお、この繰り返しの回数は、アプリケーションプログラム全体のデータ量を、1つの通信電文に含めることができる所定データ量で割った商に等しいか、またはそれよりも少し多くなる。

0067

以上説明した光トランシーバ1B及び光トランシーバ1Bのファームウェアのダウンロード方法の作用効果について述べる。

0068

光トランシーバ1Bにおいては、CPU9が通信線L15を介して外部メモリ57を検出したとき、CPU9は、外部メモリ57からアプリケーションプログラムを能動的に受信し、その受信したアプリケーションプログラムを能動的に内部メモリに書き込む。これにより、アプリケーションプログラム等のダウンロードデータを予め格納しておいた外部メモリ57を通信線L15を介して光トランシーバ1Bの所定の端子に接続すると、光トランシーバ1Bは、能動的に内部メモリにダウンロードデータを書き込む。また、内部メモリへのアプリケーションプログラムのダウンロードにおいて、コンピュータ装置53とファームウェアライタ59との間のUSB通信等のシリアル通信による通信工程及び通信時間を省くことができる。その結果、内部メモリへのダウンロード処理を効率的に行うことによって、ダウンロードの所要時間を短縮できる。

0069

また、CPU9は、内部メモリにおけるアプリケーションプログラムの格納状態を検出し、格納状態に応じてアプリケーションプログラムの受信を開始するように構成されている。これにより、内部メモリにおけるアプリケーションプログラムの書き込み状況に応じて、必要な時に効率的に内部メモリへのアプリケーションプログラムのダウンロードを開始させることができる。それにより、既にダウンロードが行われた光トランシーバに同じダウンロードデータを重複して上書きしてしまうことを回避することができる。

0070

ここで、本実施形態におけるダウンロード処理の効率化を定量的に評価する。図16には、本実施形態にかかる光トランシーバ1Bの内部メモリ係るダウンロードの所要時間を表したタイミングチャートを示している。これらのタイミングチャートでは、256バイトのアプリケーションプログラムを1回の通信電文で書き込む際の動作時間が見積もられている。

0071

図23に示した比較例における内部メモリに係るダウンロードにおいては、内部メモリの全領域の消去に約3秒、ファームウェア全体、すなわちカーネルプログラム及びアプリケーションプログラムの書き込みに約10秒かかることが想定され、全体の所要時間は約13秒と見積もられる。このとき、内部メモリに格納されるカーネルプログラムとアプリケーションプログラムのそれぞれのデータ量の比を2:8であると仮定すると、上記約10秒の内訳として、カーネルプログラムの書き込み時間とアプリケーションプログラムの書き込み時間は、それぞれ約2秒、約8秒と想定される。

0072

一方、図16に示すように、本実施形態においては、光トランシーバ1B内のCPU9が外部メモリ57から、通信速度400kbpsのI2C通信によって256バイトのアプリケーションプログラムを読み出す時間T1は、
T1 = 256byte×(8bit+1bit)/400kbps ≒ 5.76msec
と見積もられる。また、CPU9が通信電文を解析して内部メモリに256バイトのアプリケーションプログラムを書き込むための時間T2は、1バイトあたりの書き込み時間を85μsecと想定して、
T2 = 256byte×85μsec ≒ 21.76msec
と見積もられる。CPU9が外部メモリ57から256バイトのアプリケーションデータを読み出してからそれを内部メモリに書き込みを始めるまでの準備時間T4を0.5msecと仮定すると、256バイトのアプリケーションプログラムのダウンロードの所要時間T5は約28msecとなる。内部メモリのメモリバンクBK1又はメモリバンクBK2の全領域32キロバイトにアプリケーションプログラムを書き込む場合は、256バイトの設定データの送信を128回繰り返す必要があるため、アプリケーションプログラム全体のダウンロードの所要時間は約3.6秒となる。さらに、内部メモリの全領域の消去に上述の比較例と同じ3秒、カーネルプログラムの書き込み時間に上述の比較例と同じ2秒かかるので、カーネルプログラムとアプリケーションプログラムとを合わせたファームウェア全体のダウンロードの所要時間は8.6秒と見積もられる。

0073

このような評価により、本実施形態での内部メモリに係るダウンロードの所要時間は、比較例に比べて、約13秒から約8.6秒に短縮されることが分かる。特に、本実施形態では、光トランシーバ1Bの製造時にコンピュータ装置53と回路基板51との間のデータ通信の工程を省くことができ、光トランシーバ1Bの内部メモリへのダウンロードデータの書き込み(ダウンロード)を効率化することができる。

0074

1A,1B…光トランシーバ、9…CPU(演算装置)、11…内部メモリ、21…フラッシュROM(内部メモリ)、29…通信インタフェース(通信インタフェース部)、57…外部メモリ、L1,L15…通信線(通信インタフェース部)、L6…内部通信バス、LP1,LP2,LP3…内部電源線、Oin…光入力信号、Oout…光出力信号、RX…電気出力信号、TX…電気入力信号。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ