(57)【要約】【課題】受信データの処理における割り込み処理にかかる時間を低減することができる通信装置および受信データ通知方法を提供する。【解決手段】通信装置に、受信用メモリの使用容量を検出する検出手段と、予め設定された受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較し、前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みマネージャと、前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込み手段とを備えることにより達成される。【選択図】図４
2007164511.tif 000002
【特許請求の範囲】
【請求項１】
受信用メモリの使用容量を検出する検出手段と、
予め設定された受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較し、前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みマネージャと、
前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込み手段と
を備えることを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置において、
データが受信されたことを示すステータスを記憶する記憶手段
を備え、
前記割り込みマネージャは、前記受信用メモリの使用容量の閾値より、前記受信用メモリの使用容量の方が大きい場合に、前記記憶手段に、データが受信されたことを示すステータスを書き込み、
前記データ書き込み手段は、前記記憶手段を参照し、データが受信されたことを示すステータスが書き込まれている場合に受信されたデータを前記受信用メモリに書き込むことを特徴とする通信装置。
【請求項３】
受信用メモリの使用容量の閾値を設定する閾値設定ステップと、
受信用メモリの使用容量を検出する使用容量検出ステップと、
前記受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較する比較ステップと、
前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みステップと、
前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込みステップと
を有することを特徴とする受信データ通知方法。
【請求項４】
請求項３に記載の受信データ通知方法において、
前記受信用メモリの使用容量の方が大きい場合に、データが受信されたことを示すステータスを記憶する記憶手段に、データが受信されたことを示すステータスを書き込むステータス書き込みステップと、
前記記憶手段を参照し、データが受信されたことを示すステータスが書き込まれている場合に受信されたデータを前記受信用メモリに書き込むステップと
を有することを特徴とする受信データ通知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信のための方法および装置に関し、具体的には、通信ネットワークを介してデータを受信する通信装置および受信データ通知方法に関する。
【背景技術】
【０００２】
通信ネットワークを介して通信を行う通信装置の受信処理において、連続したデータの受信が継続した場合、ＣＰＵの処理能力の限界に達し、受信データを処理できなくなる。特に、高性能のＣＰＵが搭載されたＰＣと処理能力が低いＣＰＵが搭載された組み込み機器などとが通信を行う場合、組み込み機器側で受信データの処理が間に合わなくなる。
【０００３】
このような場合、処理が間に合わなくなったデータは破棄される。その後、組み込み機器は、ネットワークプロトコルにしたがって、再送要求を実行する。
【０００４】
受信処理の負荷を軽減するため、ネットワークデバイスから受信用メモリ領域へＤＭＡを利用してデータを転送する方法がある（例えば、特許文献１参照）。
【０００５】
このデータを転送する方法は、図１に示すシステム構成を備える。図１における１３は、ＤＭＡ制御部であり、図２に示すような構成である。
【０００６】
このシステムにおける処理について説明する。
【０００７】
受信データがＤＭＡ転送されるホストシステム上のホストメモリの受信用メモリ領域を事前に登録し、ネットワークデバイスがデータを受信すると、登録が有効である受信用メモリ領域に対し受信データのＤＭＡ転送を開始し、ＤＭＡ転送が終了すると、ネットワークデバイスがＤＭＡ転送の終了をホストシステムへ割り込みを用いて通知し、通知された割り込みをもとに、ホストシステムが、その割り込みに応じた処理を実行する。
【０００８】
このシステムによれば、受信したデータを、ＤＭＡ転送方式を用いてホストシステム上のメモリへ転送する際の割り込みの発生回数を抑制できる。
【特許文献１】特開２００５−２２２２８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、上述した背景技術には、以下に示すような問題がある。
【００１０】
上述したシステムでは、ホストメモリバッファマネージャが、ホストメモリに空きがありネットワークからの受信データがある場合に、ＤＭＡ転送を実行する。
【００１１】
したがって、例えば、ホストシステムにおいて、受信データに対する処理が間に合わない状況になっていても、ＤＭＡ転送が行われ、ＤＭＡ転送が終了すると、ネットワークデバイスがＤＭＡ転送の完了をホストシステムへ割り込みを用いて通知する。
【００１２】
ここで、割り込み処理が行われた場合の処理について、図３を参照して説明する。
【００１３】
ＣＰＵでは、通常の処理が行われている。割り込みが入った場合、ＣＰＵは割り込み処理を行い、割り込み処理が終了した後、通常の処理を再開する。
【００１４】
割り込みが行われた場合、ＣＰＵは通常の処理における処理状態の保存を行う（ステップＳ３０２）。
【００１５】
次に、ＣＰＵは割り込み処理の実行準備を行う（ステップＳ３０４）。
【００１６】
次に、ＣＰＵは割り込み処理を行う（ステップＳ３０６）。
【００１７】
次に、ＣＰＵは割り込みの終了処理を行う（ステップＳ３０８）。
【００１８】
次に、保存された処理状態への復帰を行う（ステップＳ３１０）。
【００１９】
ＤＭＡ転送の完了の割り込みが行われることにより、以上のような処理が行われる。このため、さらに処理を遅らせる原因となる。
【００２０】
また、ＤＭＡ転送方式による転送が完了する毎に割り込みが発生するため、受信用メモリに空きがある間は割り込み処理に割かれる時間が増大する問題がある。
【００２１】
また、この技術は、ＤＭＡ転送方式を使用することが前提であるので、ＤＭＡ転送を行う装置が搭載されていないシステムには適用できない。
【００２２】
そこで、本発明は、上述した問題点のうち少なくとも１つを解決するためになされたものであり、その目的は、受信データの処理における割り込み処理にかかる時間を低減することができる通信装置および受信データ通知方法を提供することを目的とする。
【課題を解決するための手段】
【００２３】
上記課題を解決するため、本発明にかかる通信装置は、受信用メモリの使用容量を検出する検出手段と、予め設定された受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較し、前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みマネージャと、前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込み手段とを備えることを特徴の１つとする。
【００２４】
このように構成することにより、受信用メモリの使用容量の閾値の方が、受信用メモリの使用容量より大きい場合、すなわち、ＣＰＵの処理に余裕がある場合に、割り込みにより受信データの迅速な処理ができる。
【００２５】
また、本発明にかかる受信データ通知方法は、受信用メモリの使用容量の閾値を設定する閾値設定ステップと、受信用メモリの使用容量を検出する使用容量検出ステップと、前記受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較する比較ステップと、前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みステップと、前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込みステップとを有することを特徴の１つとする。
【００２６】
このようにすることにより、受信用メモリの使用容量の閾値の方が、受信用メモリの使用容量より大きい場合、すなわち、ＣＰＵの処理に余裕がある場合に、割り込みにより受信データの迅速な処理ができる。
【発明の効果】
【００２７】
本発明の実施例によれば、受信データの処理における割り込み処理にかかる時間を低減することができる通信装置および受信データ通知方法を実現できる。
【発明を実施するための最良の形態】
【００２８】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明する。
【００２９】
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００３０】
本発明の実施例にかかる通信装置について、図４を参照して説明する。
【００３１】
本実施例にかかる通信装置１００は、例えば組み込み機器に搭載される。通信装置１００は、ネットワークからデータが入力されるネットワークデバイス１０２と、ネットワークデバイス１０２から割り込み信号が入力される割り込みコントローラ１１４と、ネットワークデバイス１０２と接続された記憶部１１６と、ネットワークデバイス１０２から出力されたデータが入力される受信用メモリ１１０と、割り込みコントローラ１１４から出力された割り込み信号が入力される検出手段およびデータ書き込み手段としてのＣＰＵ１１２とを備える。ＣＰＵ１１２は、受信用メモリ１１０に対してデータの入出力を行う。また、ＣＰＵ１１２は、記憶部１１６と接続される。
【００３２】
ネットワークデバイス１０２は、ネットワークからのデータが入力される信号変換器１０４と、信号変換器１０４から出力されたデータが入力されるデバイスバッファ１０８と、信号変換器１０４から出力された受信通知信号が入力される割り込みマネージャ１０６とを備える。デバイスバッファ１０８は、受信用メモリ１１０にデータを出力する。また、割り込みマネージャ１０６は、割り込みコントローラ１１４に割り込み信号を出力し、記憶部１１６にステータスを示す情報を記憶する。
【００３３】
ネットワークから送信されたデータは、信号変換器１０４に入力され、信号変換が行われる。信号変換器１０４は、デバイスバッファ１０８にデータを入力する。また、信号変換器１０４は、割り込みマネージャ１０６にデータが受信されたことを示す通知（受信通知）を行う。
【００３４】
ＣＰＵ１１２は、受信データの通知方法を切り替える受信用メモリ１１０の使用容量の閾値を予め記憶部１１６に記憶する。例えば、ＣＰＵ１１２は、受信用メモリ１１０の使用容量の閾値として、割り込みによりデータが受信されたことが通知された場合に、他の処理、例えば受信データの処理が間に合わなくなる使用容量を設定する。
【００３５】
また、ＣＰＵ１１２は、受信用メモリ１１０の使用容量を検出し、該使用容量を記憶部１１６に記憶する。
【００３６】
割り込みマネージャ１０６は、記憶部１１６に記憶された受信用メモリ１１０の使用容量の閾値と、受信用メモリ１１０の使用容量とを参照し、受信用メモリ１１０の使用容量と、使用容量の閾値とを比較する。
【００３７】
割り込みマネージャ１０６は、受信用メモリ１１０の使用容量が受信用メモリ１１０の使用容量の閾値以下である場合には、割り込みコントローラ１１４に割り込み信号を入力する。割り込みコントローラ１１４は、入力された割り込み信号にしたがって、ＣＰＵ１１２に割り込みを行う。ＣＰＵは、割り込みコントローラ１１４からの割り込みにしたがって、デバイスバッファ１０８に書き込まれたデータを受信用メモリ１１０に書き込む。また、ＣＰＵは、受信用メモリ１１０への書き込みを終了すると、受信用メモリ１１０の使用容量を検出し、該使用容量を記憶部１１６に書き込む。
【００３８】
一方、割り込みマネージャ１０６は、受信用メモリ１１０の使用容量が受信用メモリ１１０の使用容量の閾値以上である場合には、記憶部１１６に受信データが受信されたことを示すステータスを書き込む。
【００３９】
ＣＰＵ１１２は、受信データの処理、例えばネットワークプロトコルの処理などが終了した後、記憶部１１６に書き込まれたステータスを参照する。ＣＰＵは、受信データがあることを示すステータスが記憶部１１６に書き込まれている場合、ステータスをクリアし、デバイスバッファ１０８に書き込まれたデータを受信用メモリ１１０に書き込む。また、ＣＰＵは、受信用メモリ１１０への書き込みを終了すると、受信用メモリ１１０の使用容量を検出し、該使用容量を記憶部１１６に書き込む。
【００４０】
上述したように、本実施例にかかる通信装置１００では、通常時、例えば受信用メモリ１１０の使用量が一定値（閾値）以下である場合には、割り込みマネージャ１０６は割り込みコントローラ１１４に割り込み信号を入力する。割り込みコントローラ１１４は、ＣＰＵ１１２に割り込み信号を入力する。すなわち、通常時には、割り込み信号により受信データがあることが、ＣＰＵ１１２に通知される。
【００４１】
一方、通常時以外の場合、例えば受信用メモリ１１０の使用量が一定値以上である場合には、割り込みマネージャ１０６は記憶部１１６に、ステータスを書き込む。例えば、割り込みマネージャ１０６は、記憶部１１６に受信データがあることを示す情報を書き込む。ＣＰＵ１１２は、記憶部１１６に記憶されたステータスを参照し、受信データがあるか否かを判断する。記憶部１１６は、共有エリアに配置されているため、ＣＰＵ１１２および割り込みマネージャ１０６からのアクセスが可能である。すなわち、通常時以外の場合には、記憶部１１６にステータスを書き込むことにより受信データがあることを通知する。
【００４２】
その後、通常時に戻った場合、例えば受信用メモリ１１０の使用量が一定値以下となった場合には、割り込みマネージャ１０６は割り込みコントローラ１１４に割り込み信号を入力することにより、受信データがあることを通知する。割り込みコントローラ１１４は、入力された割り込み信号にしたがって、ＣＰＵ１１２に割り込みを行う。ＣＰＵ１１２は、割り込みコントローラ１１４からの割り込みにしたがって、デバイスバッファ１０８に書き込まれたデータを受信用メモリ１１０に書き込む。
【００４３】
受信用メモリ１１０の使用量が増加しているということは、ＣＰＵ１１２の受信データに対する処理、例えばネットワークプロトコルなどに関する処理が間に合っていないことを意味する。このような状況にある場合に、割り込みが行われた場合、該割り込み処理自体が大きな負荷になり、ＣＰＵ１１２の処理を遅らせる原因となる。
【００４４】
本実施例にかかる通信装置１００においては、割り込み処理自体を省くようにする。すなわち、受信用メモリ１１０の使用量に閾値を設け、メモリ使用量が閾値を超えている場合には割り込みを禁止し、ステータスによる通知に切り替える。このようにすることにより、受信用メモリ１１０の使用量が一杯になりデータを受信できない状態になることをできる限り回避する。
【００４５】
次に、本実施例にかかる通信装置１００のＣＰＵ１１２における処理について、図５−図７を参照して説明する。
【００４６】
ここでは、ＣＰＵ１１２の処理を初期化処理、書き込み処理および読み出し処理に分けて説明する。
【００４７】
最初に、初期化処理について、図５を参照して説明する。
【００４８】
例えば、通信装置１００の電源がオンされた場合、ＣＰＵ１１２は、記憶部１１６に、割り込みによる通知からステータスによる通知への切り替えを行う受信用メモリ１１０の使用容量の閾値を設定する（ステップＳ５０２）。
【００４９】
次に、書き込み処理について、図６を参照して説明する。
【００５０】
ＣＰＵ１１２は、割り込みコントローラ１１４から、割り込み信号が入力されたか否か、すなわち割り込みが行われたか否かを判断する（ステップＳ６０２）。
【００５１】
割り込み信号が入力されない場合、すなわち割り込みが行われない場合（ステップＳ６０２：ＮＯ）、ステップＳ６０２に戻る。
【００５２】
一方、割り込み信号が入力された場合、すなわち割り込みが行われた場合（ステップＳ６０２：ＹＥＳ）、ＣＰＵ１１２は、デバイスバッファ１０８に格納されているデータを受信用メモリ１１０に格納する（ステップＳ６０４）。
【００５３】
次に、ＣＰＵ１１２は、受信用メモリ１１０の使用容量を検出し、該使用容量を記憶部１１６に書き込む（ステップＳ６０６）。その後、ステップＳ６０２に戻る。
【００５４】
次に、読み出し処理について、図７を参照して説明する。
【００５５】
ＣＰＵ１１２は、受信用メモリ１１０に格納されたデータを読み出す（ステップＳ７０２）。
【００５６】
次に、ＣＰＵ１１２は、受信用メモリ１１０の使用容量を検出し、該使用容量を記憶部１１６に書き込む（ステップＳ７０４）。
【００５７】
次に、ＣＰＵ１１２は、記憶部１１６に受信データがあることを示すステータスが書き込まれているか否かを判断する（ステップＳ７０６）。ここで、ＣＰＵ１１２は、参照したステータスをクリアする。
【００５８】
受信データがあることを示すステータスが書き込まれている場合（ステップＳ７０６：ＹＥＳ）、ＣＰＵ１１２は、記憶部１１６に書き込まれた受信用メモリの使用容量を参照し、受信用メモリ１１０への格納が可能であるか否かを判断する（ステップＳ７０８）。
【００５９】
受信用メモリ１１０への格納が可能である場合（ステップＳ７０８：ＹＥＳ）、ＣＰＵ１１２はデバイスバッファ１０８に格納されたデータを受信用メモリ１１０に格納する。
【００６０】
次に、ＣＰＵ１１２は、受信用メモリ１１０の使用容量を検出し、該使用量を記憶部１１６に書き込む（ステップＳ７１２）。その後、ステップＳ７０６に戻る。
【００６１】
一方、受信データがない場合（ステップＳ７０６：ＮＯ）および受信用メモリ１１０への格納が可能でない場合（ステップＳ７０８：ＮＯ）、終了する。
【００６２】
次に、本実施例にかかる通信装置１００の割り込みマネージャ１０６における処理について、図８を参照して説明する。
【００６３】
割り込みマネージャ１０６は、信号変換器１０４から受信通知が入力されたか否かを判断する（ステップＳ８０２）。
【００６４】
受信通知が入力されない場合（ステップＳ８０２：ＮＯ）、ステップＳ８０２に戻る。
【００６５】
一方、受信通知が入力された場合（ステップＳ８０２：ＹＥＳ）、割り込みマネージャ１０６は、記憶部１１６に書き込まれた受信用メモリ１１０の使用容量と、使用容量の閾値とを参照し、受信用メモリの使用容量が使用容量の閾値より小さいか否か、すなわち受信用メモリの使用量＜閾値であるか否かを判断する（ステップＳ８０４）。
【００６６】
受信用メモリ１１０の使用量が閾値より小さい場合、すなわち受信用メモリの使用量＜閾値である場合（ステップＳ８０４：ＹＥＳ）、割り込みマネージャ１０６は、割り込みコントローラ１１４に割り込み信号を入力する（ステップＳ８０６）。その後、ステップＳ８０２に戻る。その結果、割り込みコントローラ１１４からＣＰＵ１１２へ割り込みが行われる。
【００６７】
一方、受信用メモリの使用量が閾値より大きい場合、すなわち受信用メモリの使用量＞閾値である場合（ステップＳ８０４：ＮＯ）、割り込みマネージャ１０６は、記憶部１１６に受信データがあることを示すステータスを書き込む（ステップＳ８０８）。その後、ステップＳ８０２に戻る。
【００６８】
本発明の実施例によれば、受信データの処理が、新たに受信されるデータに対して間に合わなくなってきた場合に、割り込み処理にかかる時間を省くことができる。このため、受信データの処理に最大限時間をかけることができる。
【００６９】
また、受信データの処理に余裕がある場合には、割り込みをおこなうことにより、受信データの処理を迅速に行うことができる。
【００７０】
また、本実施例にかかる通信装置は、通信の媒体、例えばシリアル方式、ＵＳＢ（登録商標）、イーサネット（登録商標）などによらず適用できる。
【００７１】
以上、本発明を好ましい実施例について説明したが、本発明は上記の特定の実施例に限定されるものではなく、特許請求の範囲に記載した要旨内において様々な変形・変更が可能である。
【産業上の利用可能性】
【００７２】
本発明にかかる通信装置および受信データ通知方法は、通信機能を備える組み込み機器に適用できる。
【図面の簡単な説明】
【００７３】
【図１】ＤＭＡ転送データ受信システムの構成を示すブロック図である。
【図２】ＤＭＡ転送データ受信システムのネットワークデバイスにおけるＤＭＡ制御部の構成を示すブロック図である。
【図３】割り込み処理を示すフロー図である。
【図４】本発明の一実施例にかかる通信処理を示すブロック図である。
【図５】本発明の一実施例にかかる通信装置の動作を示すフロー図である。
【図６】本発明の一実施例にかかる通信装置の動作を示すフロー図である。
【図７】本発明の一実施例にかかる通信装置の動作を示すフロー図である。
【図８】本発明の一実施例にかかる通信装置の動作を示すフロー図である。
【符号の説明】
【００７４】
１００  通信装置
【図１】
2007164511.tif 000003
【図２】
2007164511.tif 000004
【図３】
2007164511.tif 000005
【図４】
2007164511.tif 000006
【図５】
2007164511.tif 000007
【図６】
2007164511.tif 000008
【図７】
2007164511.tif 000009
【図８】
2007164511.tif 000010