(57)【特許請求の範囲】
【請求項１】
オペレーティングシステム及びアプリケーションプログラムを格納する記憶部と、
ＰＨＹ状態レジスタ及びループバック機能部を有しかつネットワークに接続されるトランシーバ部と、
前記記憶部に接続されかつ前記オペレーティングシステム及び前記アプリケーションプログラムの少なくとも１つを実行するアプリケーション実行部と、
前記トランシーバ部と前記アプリケーション実行部とを接続するメディア独立インターフェース部と、
前記メディア独立インターフェース部に設けられた信号制御部であって、前記ＰＨＹ状態レジスタの値を保持できるダミーレジスタと前記アプリケーション実行部からの指示に応じて前記ＰＨＹ状態レジスタの値を周期的に読出して前記ダミーレジスタに前記ＰＨＹ状態レジスタの値を周期的に書込む複製制御部とを有する前記信号制御部と、
前記信号制御部と前記記憶部に接続されかつ前記トランシーバ部に対するループバック試験の実行を前記ループバック機能部に伝達する信号制御ラインと、を備えることを特徴とする通信装置。
【請求項２】
前記信号制御部は、前記ループバック試験の実施時に、前記複製制御部に前記ＰＨＹ状態レジスタの値の読出及び書込を停止させ、前記トランシーバ部に対するループバック試験を前記ループバック機能部に実施させるように構成されていることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記信号制御部は前記メディア独立インターフェース部における管理データ入出力ラインを介して制御されることを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記信号制御ラインはパラレルバスであることを特徴とする請求項１乃至３のいずれか１に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関し、さらに、ループバック試験機能を有する組み込みＯＳ（オペレーティングシステム）搭載機器等の組み込みシステムの通信装置に関する。
【背景技術】
【０００２】
通信装置を用いてネットワーク接続が可能な産業機器の普及に伴い、組み込みシステムの開発でもＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）通信を利用するケースが増えている。
【０００３】
ネットワーク接続で最も使用されているＥｔｈｅｒｎｅｔ（イーサネット）（登録商標）は、会社や家庭で一般的に使用されているＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の通信規格である。ネットワーク通信では、ネットワークに接続された複数のコンピュータの間でデータを伝送するための機能を提供する主に物理的な規格である「イーサネット」と、通信内容の取り決めを決めた「ＴＣＰ／ＩＰプロトコル」の組み合わせの使用が一般的である。
【０００４】
イーサネット規格の基本仕様は、７層あるＯＳＩ基本参照モデル［アプリケーション層（第７層），プレゼンテーション層（第６層），セッション層（第５層），トランスポート層（第４層），ネットワーク層（第３層），データリンク層（第２層），物理層（第１層）］の下位２層、データリンク層，物理層相当で規定されている。「ＴＣＰプロトコル」及び「ＩＰプロトコル」はトランスポート層（第４層）及びネットワーク層（第３層）相当で規定されている。
【０００５】
ネットワークに接続する通信装置のＥｔｈｅｒコントローラには、データリンク層の処理を担うＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）回路や物理層の処理を担うトランシーバとして知られているＰＨＹ回路すなわちＰＨＹデバイスが含まれる。信号の高速化により、物理層のアナログデジタル処理（フレーム符号化、シリアル／パラレル変換及び信号波形変換等）を行うＰＨＹデバイスは、イーサネットの高速デジタル処理を行うＭＡＣ回路と一体化され難くなっている。
【０００６】
ＩＰ通信ではループバック機能が定義されている。多くのＩＰバージョン４（ＩＰｖ４）の実装ループバックソフトウェアはループバックアドレスとして１２７．０．０．１を使用している。また、ループバック機能を実装したＰＨＹデバイスが市場で増えている。
【０００７】
ループバックアドレスを使用して、デバイス上で実行されている別のソフトウェアプロセスをアドレス指定し、当該デバイス内部（内部ループバック）でもループバック試験できる。
【０００８】
特許文献１には、ＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）からＰＨＹデバイスに対するループバック試験を制御する機能を有するネットワーク装置が記載されている。
【０００９】
かかるネットワーク装置では、ループバック試験による処理負荷増加の排除のために、ソフトウェア非介在でハードウェアのみでループバック試験を実施している。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平２００９−１７７６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ネットワークに接続可能な組み込みシステムにおいて組み込みＯＳ（オペレーティングシステム）としてμＩＴＲＯＮの他に、Ｌｉｎｕｘ（登録商標）も広く用いられている。
【００１２】
しかしながら、Ｌｉｎｕｘでは、アプリケーションプログラムからＰＨＹデバイスに対するループバック試験を実施するためのアプリケーションプログラミングインターフェース（ＡＰＩ）は実装されていない。
【００１３】
そこで、通信装置におけるアプリケーションプログラム用のＡＰＩを開発者がＬｉｎｕｘへ追加しようとする場合に、アプリケーションプログラムからＰＨＹデバイスに対するループバック試験を実施するためには、まず、Ｌｉｎｕｘカーネルのネットワーク層、ＰＨＹドライバ及びＥｔｈｅｒドライバを変更し、次に、該試験のためのＡＰＩを実装する必要がある。
【００１４】
ＡＰＩをＬｉｎｕｘベンダーが供給するＬｉｎｕｘを通信装置に使用している場合、ベンダーによるＬｉｎｕｘの変更となる。結果として、開発者にとってはコスト及び、開発期間増という課題が生じる。
【００１５】
一方、ユーザーにより変更可能なアプリケーションプログラムから通信装置のＰＨＹデバイスを直接制御して、ループバック試験を実施する場合、ＬｉｎｕｘがＰＨＹデバイスの状態を常時監視し管理しているため、アプリケーションプログラムによるループバック試験の実施により、リンクダウン検出等の問題が生じる。ユーザーはＬｉｎｕｘによるＰＨＹデバイスの制御／監視のすべてを把握し意識していないため、意図しない動作が発生する場合がある。
【００１６】
通信装置のＰＨＹデバイスに対するループバック試験の主体であるＰＨＹデバイスは、Ｌｉｎｕｘ管理リソースであり、アプリケーションプログラムから直接制御する事はできず、実現の為にはＬｉｎｕｘの変更が必要になる。
【００１７】
本発明は上記問題に鑑みてなされたもので、その課題の一例として、アプリケーションプログラム用のＡＰＩを持たないオペレーティングシステムを搭載していなくとも、ループバック試験を実施できる通信装置を提供することが挙げられる。
【課題を解決するための手段】
【００１８】
上記課題を達成するために、本発明の通信装置は、オペレーティングシステム及びアプリケーションプログラムを格納する記憶部と、
ＰＨＹ状態レジスタ及びループバック機能部を有しかつネットワークに接続されるトランシーバ部と、
前記記憶部に接続されかつ前記オペレーティングシステム及び前記アプリケーションプログラムの少なくとも１つを実行するアプリケーション実行部と、
前記トランシーバ部と前記アプリケーション実行部とを接続するメディア独立インターフェース部と、
前記メディア独立インターフェース部に設けられた信号制御部であって、前記ＰＨＹ状態レジスタの値を保持できるダミーレジスタと前記アプリケーション実行部からの指示に応じて前記ＰＨＹ状態レジスタの値を周期的に読出して前記ダミーレジスタに前記ＰＨＹ状態レジスタの値を周期的に書込む複製制御部とを有する前記信号制御部と、
前記信号制御部と前記記憶部に接続されかつ前記トランシーバ部に対するループバック試験の実行を前記ループバック機能部に伝達する信号制御ラインと、を備えることを特徴とする。
【００１９】
上記本発明の通信装置において、前記信号制御部は、前記ループバック試験の実施時に、前記複製制御部に前記ＰＨＹ状態レジスタの値の読出及び書込を停止させ、前記トランシーバ部に対するループバック試験を前記ループバック機能部に実施させるように構成されてあることが好適である。
【発明の効果】
【００２０】
本発明によれば、例えば、オペレーティングシステムとしてのＬｉｎｕｘ上のアプリケーションプログラムからトランシーバ部すなわちＰＨＹデバイスに対するループバック試験を指示する場合に、Ｌｉｎｕｘ等のオペレーティングシステムとは別のインターフェースすなわちパラレルバス等の信号制御ラインやアプリケーションプログラムが設けられてある故に、ループバック機能部を活性化する自由度が広がる。
【００２１】
また、本発明によれば、前記別のインターフェースからの指示信号と前記ＰＨＹ状態レジスタの複製のダミーレジスタを設けることで、試験実施中のＰＨＹデバイスの状態の変化をＬｉｎｕｘによる常時監視から隠蔽できるようになる故に、Ｌｉｎｕｘ等のアプリケーションプログラム用のＡＰＩを持たないオペレーティングシステムのネットワーク層、ＰＨＹドライバ、Ｅｔｈｅｒドライバを変更することなくアプリケーションプログラムからＰＨＹデバイスに対するループバック試験が実施可能となる。
【００２２】
上記本発明の通信装置において、前記信号制御部は前記メディア独立インターフェース部における管理データ入出力ラインを介して制御されることが好適である。上記本発明の通信装置において、前記信号制御ラインはパラレルバスであることが好適である。これらにより、前記信号制御部の制御のためのライン及び信号制御ラインは簡易に構成できる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施例に係る通信装置の構成に示すブロック図である。
【図２】本発明の実施例に係る通信装置におけるデータ及び制御信号の流れを示すブロック図である。
【図３】本発明の実施例に係る通信装置の通常時の動作におけるデータ及び制御信号の流れを示すブロック図である。
【図４】本発明の実施例に係る通信装置の通常時の動作におけるデータ及び制御信号の流れを示すブロック図である。
【図５】本発明の実施例に係る通信装置の通常時の動作におけるデータ及び制御信号の流れを示すブロック図である。
【図６】本発明の実施例に係る通信装置のループバック試験の指示までの動作におけるデータ及び制御信号の流れを示すブロック図である。
【図７】本発明の実施例に係る通信装置のループバック試験の実施時の動作におけるデータ及び制御信号の流れを示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しつつ本発明の実施例の一例について詳細に説明する。なお、本発明は以下の実施例に限定されるものではない。
【００２５】
図１は、イーサネットで物理的に対向装置（図示せず）と有線接続できる実施例の通信装置１１の構成を示すブロック図である。図２は、通信装置１１におけるデータ及び制御信号の流れを示すブロック図である。
【００２６】
通信装置１１のパラレルバス１２には、ＤＲＡＭ１３、アプリケーション実行部１４及び信号制御部１５が接続されている。
【００２７】
記憶部であるＤＲＡＭ１３には、ｌｉｎｕｘ１３Ｂ及びアプリケーションプログラム１３Ａが格納されている。たとえば、アプリケーションプログラム１３Ａは装置制御用のソフトウェアである。ＤＲＡＭ１３はアプリケーション実行部１４の処理においてデータの一時記憶領域に使用される。
【００２８】
アプリケーション実行部１４は、通信プロトコルの処理ができるマイクロプロセッサのＣＰＵコア１６を含み、ＴＣＰ／ＩＰプロトコルの通信処理を行う。より具体的には、ＣＰＵコア１６は、ネットワーク層以上の処理、例えば、ＩＰｖ４（ＩＰバージョン４）の処理等を行う。
【００２９】
さらに、アプリケーション実行部１４は、ＣＰＵコア１６に接続されたイーサネットの処理を行うＭＡＣ回路１７を含む。
【００３０】
信号制御部１５はＦＰＧＡ（図示せず）とＦＰＧＡデータとテストデータを格納しているフラッシュメモリ（図示せず）とを含む。信号制御部１５は、起動時、該ＦＰＧＡにフラッシュメモリからＦＰＧＡデータがコンフィグレーションされ、ループバック試験のための制御パターン（複製制御部）がプログラミングされるように構成されている。
【００３１】
よって、信号制御部１５は、ループバック試験を制御する複製制御部１５Ａを備えている。信号制御部１５は、ＦＰＧＡにおける複数のレジスタを備えている。そのレジスタの一部がダミーレジスタ１５Ｂとして使用される。複製制御部１５Ａは、制御されるＰＨＹデバイス１８内の所定のレジスタ（状態レジスタ１８Ｂ）の値を読出して、信号制御部１５のダミーレジスタ１５Ｂに書込む。ダミーレジスタ１５Ｂはその複製値を保持する。信号制御部１５の複製制御部１５Ａは、アプリケーションプログラム１３Ａにより、ＣＰＵコア１６及びパラレルバス１２を介して制御される。なお、パラレルバス１２の信号制御部インターフェースのほかに、Ｅｔｈｅｒ等の制御部インターフェースが使用可能であり、特に信号制御部１５のための制御インターフェースの種類は問わない。
【００３２】
また、通信装置１１は、信号制御部１５の下位にＰＨＹデバイス１８を備える。ＰＨＹデバイス１８はループバック機能部１８Ａを有する。ＰＨＹデバイス１８はＰＨＹデバイス１８を制御／監視するための複数のレジスタ例えば３２個のレジスタ（図示せず）を有する。複数のレジスタには制御レジスタ（図示せず）と状態レジスタ１８Ｂが基本レジスタとして含まれる。
【００３３】
さらに、通信装置１１はメディア独立インターフェース部としてＭＩＩ（Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ）１９ａ，１９ｂと、ＭＤＩ（Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）２０ａ，２０ｂを備える。メディア独立インターフェース部のＭＩＩとＭＤＩは、ＩＥＥＥ８０２．３に説明されている。ＭＩＩは、パケットデータのクロック等を含む送受信信号の複線式パラレルインターフェースである。ＭＤＩは、ＭＤＩＯ（Ｍｅｄｉｕｍ  Ｄｅｐｅｎｄｅｎｔ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）と、ＭＤＣ（Ｍａｎａｇｅｍｅｎｔ  ｄａｔａ  ｃｌｏｃｋ）からなる２線式シリアルインターフェースである。ＭＤＩＯインターフェースがＰＨＹデバイス１８のレジスタへのアクセスに用いられる。
【００３４】
ＭＡＣ回路１７に接続されたＭＩＩ１９ａ及びＭＤＩ２０ａはアプリケーション実行部１４と信号制御部１５とを接続する。ＣＰＵコア１６に接続されたＭＤＩ２０ａはアプリケーション実行部１４と信号制御部１５とを接続する。ＭＤＩ２０ａは信号制御部１５内のダミーレジスタ１５Ｂに接続される。
【００３５】
信号制御部１５をそのまま通過したＭＩＩ１９ｂ及びダミーレジスタ１５Ｂに接続されたＭＤＩ２０ｂは信号制御部１５とＰＨＹデバイス１８とを接続する。ＭＩＩ１９ｂからのパケットデータに基づきＰＨＹデバイス１８で変換されたアナログ信号が対向装置へ出力される。ダミーレジスタ１５Ｂに接続されたＭＤＩ２０ａはＰＨＹデバイス１８内のレジスタ１８Ｂに接続される。ＰＨＹデバイス１８内でレジスタ１８Ｂに接続されたループバック機能部１８Ａはレジスタ１８Ｂの値に応じてループバック試験を実行する。
【００３６】
ＬｉｎｕｘデバイスドライバソフトウェアによりＣＰＵコア１６を介してＰＨＹデバイス１８を操作するには、管理データ入出力ラインのＭＤＩ２０ａ，２０ｂと信号制御部１５とを通じてＰＨＹデバイス１８内のレジスタ１８Ｂにアクセスする。
【００３７】
本実施例によれば、信号制御部１５がＰＨＹデバイス１８のレジスタ情報を透過（通常時）、または、保持（試験時）することで、試験中に発生するリンクダウンをＬｉｎｕｘに対して隠蔽できる。よって、試験前のレジスタ状態が保持されているので、Ｌｉｎｕｘは試験を実施していることを認識できず、Ｌｉｎｕｘによる割り込みが発生せずに、ループバック試験を短時間で実行できる。
【００３８】
さらに、本実施例では、ループバック試験はハード（ＰＨＹデバイス１８のループバック機能部１８Ａ）で実施すると共に、この時点でソフトウェアインターフェースであるＰＨＹ状態（ＰＨＹデバイス１８内のレジスタ１８Ｂの値）を、ＦＰＧＡ内のダミーレジスタ１５Ｂで擬似することで、Ｌｉｎｕｘソフトウェア（ＯＳドライバ）の変更が生じない。Ｌｉｎｕｘが自ら開発したものではない上に、ソフトウェアの修正が、ＯＳ自体、ドライバと複数にわたるため、多岐の修正が従来は必要であったが、それが解消される。
【００３９】
次に、通信装置１１の通常時の動作を説明する。図３〜図５は、通信装置１１の通常時の動作を示す図である。ＤＲＡＭ１３のＬｉｎｕｘ１３ＢによりＰＨＹデバイス１８を制御するためのレジスタへの書込は、管理データ入出力ラインのＭＤＩ２０ａ，２０ｂを介して信号制御部１５内のダミーレジスタ１５Ｂに対して行う。図３の三角矢印一点鎖線で示すように、ダミーレジスタ１５Ｂへの書込は信号制御部１５のダミーレジスタ１５Ｂでは実行せず、制御信号はＰＨＹデバイス１８内の状態レジスタ１８Ｂに書込まれる。
【００４０】
ＰＨＹデバイス１８の状態変化による、状態レジスタ１８Ｂの変化した値は、図４の三角矢印一点鎖線で示すように、信号制御部１５の複製制御部１５Ａがダミーレジスタ１５Ｂに周期的に複製することで、ダミーレジスタ１５Ｂにも反映される。
【００４１】
Ｌｉｎｕｘ１３Ｂによる、状態レジスタ１８Ｂの状態読み取りは、図５の三角矢印一点鎖線で示すように、信号制御部１５内のダミーレジスタ１５Ｂに対する読出として実施されるが、複製動作により、ＰＨＹデバイス１８内の状態レジスタ１８Ｂと同一の値が読出される。
【００４２】
上記により、Ｌｉｎｕｘ１３Ｂによる信号制御部１５内のダミーレジスタ１５Ｂに対する読出又は書込は、ＰＨＹデバイス１８内の状態レジスタ１８Ｂに対する読出又は書込を実施するのと等しい動作となる。
【００４３】
次に、通信装置１１におけるループバック試験の指示までの動作を説明する。図６は、当該ループバック試験の指示までの動作を示す図である。図６の三角矢印実線で示すように、ＤＲＡＭ１３のアプリケーションプログラム１３Ａにより、信号制御部１５の複製制御部１５Ａに対し、パラレルバス１２を介して試験指示を行う。試験指示を受けた信号制御部１５は、通常動作時に実施している、状態レジスタ１８Ｂからダミーレジスタ１５Ｂへの複製動作を停止する。複製動作を停止することで、Ｌｉｎｕｘ１３Ｂが信号制御部１５内のダミーレジスタ１５Ｂから読出す値は、試験実施前の値で固定される。
【００４４】
次に、通信装置１１におけるループバック試験の試験実施時の動作を説明する。図７は、当該ループバック試験の実施時の動作を示す図である。図７の三角矢印実線で示すように、パラレルバス１２を介して制御された信号制御部１５内の複製制御部１５Ａは、管理データ入出力ラインのＭＤＩ２０ｂを介し、ＰＨＹデバイス１８内の状態レジスタ１８Ｂを制御し、状態レジスタ１８Ｂを介してループバック機能部１８Ａが起動してＰＨＹデバイス１８に対するループバック試験を実施する。当該試験実施により変化するＰＨＹデバイス１８内のダミーレジスタ１５Ｂの値は、状態レジスタ１８Ｂからダミーレジスタ１５Ｂへの複製を停止している故に、Ｌｉｎｕｘ１３Ｂに対して隠蔽される。
【００４５】
以上の実施例によれば、ＰＨＹデバイス１８に対するループバック試験の実施時のＰＨＹデバイス１８の状態の変化をＬｉｎｕｘに対して隠蔽できる。さらに、ＤＲＡＭ１３からパラレルバス１２を介した試験指示、及び、ループバック機能部１８ＡによるＰＨＹデバイス１８に対するループバック試験の制御により、Ｌｉｎｕｘへの変更を必要とせずに、アプリケーションプログラムからＰＨＹデバイス１８に対するループバック試験を実施することができる。
【００４６】
ループバック試験は、通信装置の電源を入れた時や、自立診断試験ＰＯＳＴの時に実施され得る。さらに、状態レジスタ１８Ｂを定期的に読出すことにより、Ｅｔｈｅｒ故障を検出した時に実施できるので、装置の故障個所の切り分けが容易に達成できる。
【００４７】
上記の実施例において信号制御部１５とＰＨＹデバイス１８及びＭＡＣ回路１７との間の制御のためメディア独立インターフェース部としてＭＩＩを用いているが、ＰＨＹデバイス１８とＭＡＣ回路１７は、ＩＥＥＥ８０２．３で標準化されているＧＭＩＩ、ＲＧＭＩＩ等のバスインターフェースで接続されてもよい。
【００４８】
上記の実施例においてＣＰＵコア１６が行うネットワーク層のプロトコルとしては、ＩＰｖ４の他に、ＩＰｖ６（ＩＰバージョン６）、ＩＣＭＰが挙げられる。ＣＰＵコア１６は、トランスポート層のプロトコルとしては、ＵＤＰも処理でき、送信フロー制御や輻輳制御、通信エラー制御もできる。
【００４９】
さらに、ＣＰＵコア１６が行うアプリケーション層には、インターネットにおいて標準的に利用するアプリケーションプロトコルであるＨＴＴＰ、ＦＴＰ、ＳＭＴＰ、ＲＴＰ等が挙げられる。
【符号の説明】
【００５０】
１１  通信装置
１２  パラレルバス
１３  ＤＲＡＭ
１３Ｂ  ｌｉｎｕｘ
１３Ａ  アプリケーションプログラム
１４  アプリケーション実行部
１５  信号制御部
１５Ａ  複製制御部
１５Ｂ  ダミーレジスタ
１６  ＣＰＵコア
１７  ＭＡＣ回路
１８  ＰＨＹデバイス
１８Ａ  ループバック機能部
１８Ｂ  状態レジスタ
１９ａ，１９ｂ  送受信データライン
２０ａ，２０ｂ  管理データ入出力ライン
【図１】
0006303913.tif 000002
【図２】
0006303913.tif 000003
【図３】
0006303913.tif 000004
【図４】
0006303913.tif 000005
【図５】
0006303913.tif 000006
【図６】
0006303913.tif 000007
【図７】
0006303913.tif 000008