JP2007219712A - 通信装置 - Google Patents
通信装置 Download PDFInfo
- Publication number
- JP2007219712A JP2007219712A JP2006037933A JP2006037933A JP2007219712A JP 2007219712 A JP2007219712 A JP 2007219712A JP 2006037933 A JP2006037933 A JP 2006037933A JP 2006037933 A JP2006037933 A JP 2006037933A JP 2007219712 A JP2007219712 A JP 2007219712A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- memory
- data
- communication
- cpu
- 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.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】CPUにおける処理効率の低下を低減すると共に、データ転送の効率を向上させることができる通信装置を提供する。
【解決手段】受信時に、通信コントローラ2が受信データをメモリ7に記憶保持させているときに、CPU3は通信コントローラ2により既に受信されてメモリ7に記憶保持されたデータに所定処理を施し、DMAコントローラ10はバス5がメモリ7のポートB及びメモリ8に接続された状態として、該所定処理が施されたデータをメモリ7からメモリ8にバス5を介して転送する。送信時に、DMAコントローラ10がメモリ8に記憶保持されたデータをメモリ7にバス6を介して転送し、CPU3がメモリ7に記憶保持された転送されたデータに所定処理を施しているときに、通信コントローラ2はメモリ7に記憶保持された該所定処理が既に施されたデータを送信する。
【選択図】図1
【解決手段】受信時に、通信コントローラ2が受信データをメモリ7に記憶保持させているときに、CPU3は通信コントローラ2により既に受信されてメモリ7に記憶保持されたデータに所定処理を施し、DMAコントローラ10はバス5がメモリ7のポートB及びメモリ8に接続された状態として、該所定処理が施されたデータをメモリ7からメモリ8にバス5を介して転送する。送信時に、DMAコントローラ10がメモリ8に記憶保持されたデータをメモリ7にバス6を介して転送し、CPU3がメモリ7に記憶保持された転送されたデータに所定処理を施しているときに、通信コントローラ2はメモリ7に記憶保持された該所定処理が既に施されたデータを送信する。
【選択図】図1
Description
本発明は、データの送信及び受信を制御し、送信及び受信されるデータの処理を実行する通信装置に関する。
例えば図8に示したように、従来の通信装置101には、他の通信装置との送信データ及び受信データの通信を制御する通信コントローラ102と、送信データ及び受信データのプロトコル処理等を実行するCPU103とが備えられている。通信コントローラ102とCPU103とは、CPUバス104に接続されている。CPUバス104には、主記憶メモリ(ROM105,RAM106)が接続されている。CPU103は、CPUバス104を介して、主記憶メモリ105,106にアクセスし、送信データ及び受信データやプロトコル処理の命令等の読み込みや書き込みを行う。また、CPUバス104には、RAM106からCPU103を介さずにデータを転送するDMAコントローラ107が接続されている。
通信コントローラ102は、DMAコントローラ107を使用して、RAM106との間で、送信データ及び受信データを転送する。このとき、通信コントローラ102は、CPUバス104のデータ転送速度と通信速度との差を吸収するために、FIFOタイプの小容量のバッファメモリ108を搭載して、送信データ及び受信データをバッファし、これによりデータのアンダーラン、オーバーランを防止して通信及びデータ転送を行う。詳細には、通信コントローラ102は、データ受信時には、バッファメモリ108が満状態になる前にCPU103に割込処理等で知らせ、DMAコントローラ107を起動させる。また、通信コントローラ102は、データ送信時には、バッファメモリ108が空状態になる前にCPU103に割込処理等で知らせ、DMAコントローラ107を起動させる。
そして、DMAコントローラ107は、CPU103により起動されると、CPUバス104を介して、RAM106に直接アクセスする。そして、DMAコントローラ107により、送信データは、RAM106から通信コントローラ102のバッファメモリ108に転送され、受信データは、通信コントローラ102のバッファメモリ108からRAM106に転送される。このようにすれば、通信装置101は、送信データ及び受信データを、CPU103を介さず、DMAコントローラ107を使用して、RAM106に直接アクセスして転送することにより、データ転送の効率が向上する。
ここで、通信装置101では、CPU103とDMAコントローラ107が、共にCPUバス104を介して主記憶メモリ105,106にアクセスするように構成されているので、CPU103とDMAコントローラ107とのメモリへのアクセスが競合する場合がある。よって、このようなアクセスの競合を回避する必要がある。例えば、通信装置101では、DMAコントローラ107は、起動されるとCPU103にバス制御信号を送出し、バス制御権を取得してから主記憶メモリ105,106へのアクセスを行う。このようなメモリアクセス制御として、さらに、一般には、メモリに対する複数のバスマスタ(通信装置101ではCPU103とDMAコントローラ107)からのアクセス要求に応じて調停を行い、バス制御権を取得したバスマスタがメモリにアクセスを行うように制御する技術が知られている(例えば特許文献1参照)。特許文献1のメモリアクセス制御方法では、予め定められた優先順位に従って、メモリに対するアクセス要求の競合を調停して、いずれかのバスマスタにバス制御権が付与される。
しかしながら、通信装置101及び特許文献1のようなメモリアクセス制御では、DMAコントローラ107がバス制御権を取得すると、CPU103のバス制御権が全て奪われる。よって、DMAコントローラ107により、通信コントローラ102のバッファメモリ108とRAM106との間でデータが転送されているときには、CPU103は主記憶メモリ105,106にアクセスできず、命令やデータの読み出し等ができない。このため、特に転送するデータの容量が大きい場合には、CPU103が停止したままになり、CPU103の処理効率が低下する。特に、通信装置101では、送信データ及び受信データのプロトコル処理をCPU103で行う必要があるが、DMAコントロール107のデータの転送中には主記憶メモリ105,106にアクセスしてプロトコル処理することができないため、プロトコル処理から送信完了までの時間及び受信からプロトコル処理完了までの時間が長くなるという不都合があった。
特開平10−228413号公報
本発明は、かかる不都合を解消し、CPUにおける処理効率の低下を低減すると共に、データ転送の効率を向上させることができる通信装置を提供することを目的とする。
本発明は上記目的を達成するためになされたものであり、本発明の第1態様の通信装置は、データの受信を行う通信装置であって、第1のポート及び第2のポートを有する第1のメモリと、前記第1のメモリの前記第1のポートに接続され、他の通信装置から受信したデータを該第1のメモリに記憶保持させる通信コントローラと、第1のバスに接続されたDMAコントローラからの該第1のバスへのアクセス要求と、第2のバスに接続されたCPUからの該第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを前記第1のメモリの第2のポートに接続する第1のバス調停回路と、前記DMAコントローラからの前記第1のバスへのアクセス要求と、前記CPUからの前記第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを第2のメモリに接続する第2のバス調停回路とを備え、前記通信コントローラがデータを受信して前記第1のメモリに記憶保持させているときに、前記CPUは、前記第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態として、該通信コントローラにより既に受信されて該第1のメモリに記憶保持されたデータに所定処理を施し、前記DMAコントローラは、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが該第1のメモリの第2のポート及び前記第2のメモリに接続された状態として、前記所定処理が施されたデータを、該第1のメモリから該第2のメモリに該第1のバスを介して転送することを特徴とする。
前記本発明の第1態様の通信装置によれば、前記通信コントローラは他の通信装置から受信したデータを前記第1のメモリに記憶保持させる。そして、第1のメモリに記憶保持されたデータは、CPUにより所定処理を施され、DMAコントローラにより第2のメモリに転送される。
このとき、前記通信コントローラは、前記第1のメモリの第1のポートに接続され、前記第1又は第2のバスは、該第1のメモリの第2のポートに接続されるので、該通信コントローラの該第1のメモリへのアクセスと、該第1又は第2のバスから該第1のメモリへのアクセスとを、並行して行うことが可能である。そして、前記第1及び第2のバス調停回路により、前記第1又は第2のバスが選択的に切り換えられて前記第1及び第2のメモリに接続されるので、該第1のバスに接続された前記CPUと、該第2のバスに接続された前記DMAコントローラとからの、該第1及び第2のメモリへのアクセスがそれぞれ可能である。
そこで、通信コントローラにより受信したデータを第1のメモリに記憶保持する処理と並行して、CPUにより第1のメモリに既に受信されたデータに所定処理を施し、DMAコントローラにより該所定処理が施されたデータを第1のメモリから第2のメモリへ転送する。そして、これにより、第1のメモリから第2のメモリへの受信データの転送効率を向上させている。
詳細には、まず、前記CPUは、前記第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態とする。そして、前記CPUは、前記通信コントローラにより既に受信されて前記第1のメモリに記憶保持されたデータに所定処理を施す。前記所定処理は、例えば、前記データに含まれる該データを送信及び受信するために必要な情報を解析する処理等である。
次に、前記所定処理が完了すると、前記DMAコントローラは、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが該第1のメモリの第2のポート及び前記第2のメモリに接続された状態とする。そして、前記DMAコントローラは、前記所定処理が施されたデータを、前記第1のメモリから前記第2のメモリに前記第1のバスを介して転送する。このように、第1のメモリと第2のメモリとの間で、DMAコントローラを利用して、CPUを介さずにデータを転送することで、データ転送の効率が向上する。
このとき、DMAコントローラに接続された第1のバスと、CPUに接続された第2のバスとが分離されているので、DMAコントローラが第1のバスを介してデータを転送している間に、CPUは、第2のバスを介して、第1のメモリ及び第2のメモリの受信されたデータにアクセスする以外の他の処理を行うことができ、CPUの処理効率の低下を低減することができる。以上により、CPUにおける処理効率の低下を低減すると共に、データ転送の効率を向上させることができる。
次に、本発明の第2態様の通信装置は、データの送信を行う通信装置であって、第1のポート及び第2のポートを有する第1のメモリと、前記第1のメモリの前記第1のポートに接続され、該第1のメモリに記憶保持されたデータを他の通信装置に送信する通信コントローラと、第1のバスに接続されたDMAコントローラからの該第1のバスへのアクセス要求と、第2のバスに接続されたCPUからの該第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを前記第1のメモリの第2のポートに接続する第1のバス調停回路と、前記DMAコントローラからの前記第1のバスへのアクセス要求と、前記CPUからの前記第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを前記第2のメモリに接続する第2のバス調停回路とを備え、前記DMAコントローラが、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが前記第1のメモリの第2のポート及び前記第2のメモリに接続された状態として、該第2のメモリに記憶保持されたデータを該第1のメモリに該第1のバスを介して転送し、前記CPUが、該第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態として、該第1のメモリに記憶保持された該転送されたデータに所定処理を施しているときに、前記通信コントローラは、該第1のメモリに記憶保持された前記所定処理が既に施されたデータを送信することを特徴とする。
前記本発明の第2態様の通信装置によれば、前記第1態様の通信装置と同様に、前記通信コントローラは、前記第1のメモリの第1のポートに接続され、前記第1又は第2のバスは、該第1のメモリの第2のポートに接続されるので、該通信コントローラの該第1のメモリへのアクセスと、該第1又は第2のバスから該第1のメモリへのアクセスとを、並行して行うことが可能である。そして、前記第1及び第2のバス調停回路により、前記第1又は第2のバスが選択的に切り換えられて前記第1及び第2のメモリに接続されるので、該第1のバスに接続された前記CPUと、該第2のバスに接続された前記DMAコントローラとからの、該第1及び第2のメモリへのアクセスがそれぞれ可能である。
そこで、前記本発明の第2態様の通信装置では、前記通信コントローラが、第1のメモリに記憶保持され既に所定処理を施されたデータを送信する処理と並行して、第2のメモリに記憶保持されたデータをDMAコントローラにより第1のメモリへ転送し、該転送されて該第1のメモリに記憶保持されたデータにCPUにより所定処理を施す。そして、これにより、第2のメモリから第1のメモリへの送信データの転送効率を向上させている。
詳細には、まず、前記DMAコントローラは、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが前記第1のメモリの第2のポート及び前記第2のメモリに接続された状態とする。そして、前記DMAコントローラは、前記第2のメモリに記憶保持されたデータを前記第1のメモリに前記第1のバスを介して転送する。このように、第1のメモリと第2のメモリとの間で、DMAコントローラを利用して、CPUを介さずにデータを転送することで、データ転送の効率が向上される。
このとき、DMAコントローラに接続された第1のバスと、CPUに接続された第2のバスとが分離されているので、DMAコントローラが第1のバスを介してデータを転送している間に、CPUは、第2のバスを介して、第1のメモリ及び第2のメモリの送信されるデータにアクセスする以外の他の処理を行うことができ、CPUの処理効率の低下を低減することができる。
次に、DMAコントローラによるデータ転送が完了すると、前記CPUは、前記第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態とする。そして、CPUは、前記第1のメモリに記憶保持された前記転送されたデータに所定処理を施す。前記所定処理は、例えば、転送されたデータを送信及び受信するために必要な情報を生成する処理等である。以上により、CPUにおける処理効率の低下を低減すると共に、データ転送の効率を向上させることができる。
次に、本発明の第3態様の通信装置は、データの送信と受信とを切り換えて行う通信装置であって、第1のポート及び第2のポートを有する第1のメモリと、前記第1のメモリの前記第1のポートに接続され、受信時には他の通信装置から受信したデータを該第1のメモリに記憶保持させ、送信時には該第1のメモリに記憶保持されたデータを他の通信装置に送信する通信コントローラと、第1のバスに接続されたDMAコントローラからの該第1のバスへのアクセス要求と、第2のバスに接続されたCPUからの該第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを前記第1のメモリの第2のポートに接続する第1のバス調停回路と、前記DMAコントローラからの前記第1のバスへのアクセス要求と、前記CPUからの前記第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを前記第2のメモリに接続する第2のバス調停回路とを備え、データの受信時には、前記通信コントローラがデータを受信して前記第1のメモリに記憶保持させているときに、前記CPUは、前記第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態として、該通信コントローラにより既に受信されて該第1のメモリに記憶保持されたデータに所定処理を施し、前記DMAコントローラは、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが該第1のメモリの第2のポート及び前記第2のメモリに接続された状態として、前記所定処理が施されたデータを、該第1のメモリから該第2のメモリに該第1のバスを介して転送し、データの送信時には、前記DMAコントローラが、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが前記第1のメモリの第2のポート及び前記第2のメモリに接続された状態として、該第2のメモリに記憶保持されたデータを該第1のメモリに該第1のバスを介して転送し、前記CPUが、該第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態として、該第1のメモリに記憶保持された該転送されたデータに所定処理を施しているときに、前記通信コントローラは、該第1のメモリに記憶保持された前記所定処理が既に施されたデータを送信することを特徴とする。
前記本発明の第3態様の通信装置によれば、前記第1態様及び第2態様の通信装置と同様に、前記通信コントローラは、前記第1のメモリの第1のポートに接続され、前記第1又は第2のバスは、該第1のメモリの第2のポートに接続されるので、該通信コントローラの該第1のメモリへのアクセスと、該第1又は第2のバスから該第1のメモリへのアクセスとを、並行して行うことが可能である。そして、前記第1及び第2のバス調停回路により、前記第1又は第2のバスが選択的に切り換えられて前記第1及び第2のメモリに接続されるので、該第1のバスに接続された前記CPUと、該第2のバスに接続された前記DMAコントローラとからの、該第1及び第2のメモリへのアクセスがそれぞれ可能である。
そこで、前記本発明の第3態様の通信装置で、データの送信時には、前記第2態様の通信装置と同様に、前記通信コントローラが、第1のメモリに記憶保持され既に所定処理を施されたデータを送信する処理と並行して、第2のメモリに記憶保持されたデータをDMAコントローラにより第1のメモリへ転送し、該転送されて該第1のメモリに記憶保持されたデータにCPUにより所定処理を施す。そして、これにより、第2のメモリから第1のメモリへの送信データの転送効率を向上させている。
詳細には、まず、前記DMAコントローラは、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが前記第1のメモリの第2のポート及び前記第2のメモリに接続された状態とする。そして、前記DMAコントローラは、前記第2のメモリに記憶保持されたデータを前記第1のメモリに前記第1のバスを介して転送する。このように、第1のメモリと第2のメモリとの間で、DMAコントローラを利用して、CPUを介さずにデータを転送することで、データ転送の効率が向上される。
このとき、DMAコントローラに接続された第1のバスと、CPUに接続された第2のバスとが分離されているので、DMAコントローラが第1のバスを介してデータを転送している間に、CPUは、第2のバスを介して、第1のメモリ及び第2のメモリの送信されるデータにアクセスする以外の他の処理を行うことができ、CPUの処理効率の低下を低減することができる。
次に、DMAコントローラによるデータ転送が完了すると、前記CPUは、前記第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態とする。そして、CPUは、前記第1のメモリに記憶保持された前記転送されたデータに所定処理を施す。前記所定処理は、例えば、転送されたデータを送信及び受信するために必要な情報を生成する処理等である。
また、前記本発明の第3態様の通信装置で、データの受信時には、前記第1態様の通信装置と同様に、通信コントローラにより受信したデータを第1のメモリに記憶保持する処理と並行して、CPUにより第1のメモリに既に受信されたデータに所定処理を施し、DMAコントローラにより該所定処理が施されたデータを第1のメモリから第2のメモリへ転送する。そして、これにより、第1のメモリから第2のメモリへの受信データの転送効率を向上させている。
詳細には、まず、前記CPUは、前記第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態とする。そして、前記CPUは、前記通信コントローラにより既に受信されて前記第1のメモリに記憶保持されたデータに所定処理を施す。前記所定処理は、例えば、前記データに含まれる該データを送信及び受信するために必要な情報を解析する処理等である。
次に、前記所定処理が完了すると、前記DMAコントローラは、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが該第1のメモリの第2のポート及び前記第2のメモリに接続された状態とする。そして、前記DMAコントローラは、前記所定処理が施されたデータを、前記第1のメモリから前記第2のメモリに前記第1のバスを介して転送する。このように、第1のメモリと第2のメモリとの間で、DMAコントローラを利用して、CPUを介さずにデータを転送することで、データ転送の効率が向上する。
このとき、DMAコントローラに接続された第1のバスと、CPUに接続された第2のバスとが分離されているので、DMAコントローラが第1のバスを介してデータを転送している間に、CPUは、第2のバスを介して、第1のメモリ及び第2のメモリの受信されたデータにアクセスする以外の他の処理を行うことができ、CPUの処理効率の低下を低減することができる。
以上により、前記本発明の第3態様の通信装置によれば、送信時と受信時とのいずれにおいても、CPUにおける処理効率の低下を低減すると共に、データ転送の効率を向上させることができる。
また、前記本発明の第3態様の通信装置において、他の通信装置との間でパケット通信を行い、該パケット通信は、送信側の通信装置に対して、受信側の通信装置からの受信確認応答を待たずに、所定数を上限とする複数のパケットを連続して送信することを許容する仕様であって、前記第1のメモリは、前記通信コントローラにより受信されたデータを記憶保持する領域として、少なくとも、前記パケットの容量と前記所定数との積の容量を有することを特徴とする。
上記通信仕様によるパケット通信において、前記パケットの容量と前記所定数との積の容量は、受信側の通信装置で、少なくとも受信バッファが該容量を有していれば、受信されるデータのオーバーランが生じない容量である。そして、前記第1のメモリが、前記受信されるデータが記憶保持される領域として、少なくとも、前記パケットの容量と前記所定数との積の容量を有していれば、通信コントローラにより受信されて第1のメモリに既に記憶保持されたパケットに対して、CPUによる所定処理とDMAコントローラによるデータ転送とを行っているときに、通信コントローラにより、該パケットを上書きしないように、該パケットの後に受信されたパケットを順次記憶保持させることができる。よって、第1のメモリの容量を効率良く割り当てて、データの受信時に、通信速度と転送速度との差を吸収して受信されるデータのオーバーランを防止しつつ、効率の良いデータ転送を行うことができる。
さらに、前記本発明の第3態様の通信装置において、他の通信装置との間でパケット通信を行い、該パケット通信は、送信側の通信装置に対して、受信側の通信装置からの受信確認応答を待たずに、所定数を上限とする複数のパケットを連続して送信することを許容すると共に、該受信確認応答が送信不良を示すものであったときに再送信処理を要求する仕様であって、前記第1のメモリは、前記通信コントローラにより連続して送信される複数のパケットのデータを記憶保持する第1の領域として、少なくとも、該パケットの容量と前記所定数との積の容量を有すると共に、該通信コントローラにより該データの次に連続して送信される複数のパケットのデータを記憶保持する第2の領域として、少なくとも、該パケットの容量と該所定数との積の容量を有し、複数のパケットを連続して送信する際に、前記通信コントローラが、前記第1のメモリの前記第1の領域に記憶保持されたデータを送信しているときに、前記DMAコントローラは、次に送信されるデータを、前記第2のメモリから前記第1のメモリに転送して前記第2の領域に記憶保持することを特徴とする。
上記通信仕様によるパケット通信において、送信側の通信装置は、先に送信したパケットにエラーが生じて、受信側の通信装置から送信不良を示す受信確認応答を受信したときには、再送信処理を行うことを要求される。このため、送信側の通信装置は、受信確認応答が返信されるまでは、前記第1のメモリに、先に送信したパケットのデータを残しておく必要がある。
そこで、複数のパケットを連続して送信する際に、前記通信コントローラが、前記第1のメモリの前記第1の領域に記憶保持されたデータを送信しているときに、前記DMAコントローラは、次に送信されるデータを、前記第2のメモリから前記第1のメモリに転送して前記第2の領域に記憶保持する。これにより、受信確認応答が返信されるまで、先に送信したパケットのデータを残しておくと共に、次に送信するデータを、第2のメモリから第1のメモリに順次転送して準備しておくことができる。よって、第1のメモリの容量を効率良く割り当てて、データの送信時に、送信不良時の再送信処理を行いつつ、効率の良いデータ転送を行うことができる。
また、前記本発明の第1態様又は第3態様の通信装置において、前記通信コントローラにより受信されるデータは、該データを送信及び受信するために必要な情報を含むヘッダ部と、それ以外の部分とからなり、他の通信装置からのデータの受信時に、前記CPUは、前記所定処理において、前記通信コントローラにより受信されて前記第1のメモリに記憶保持されたデータから前記ヘッダ部を分離し、前記DMAコントローラは、前記第1のメモリから前記第2のメモリへ、該ヘッダ部が分離されたデータを転送することを特徴とする。
本発明によれば、他の通信装置からのデータの受信時に、前記CPUは、前記所定処理において、前記通信コントローラにより受信されて前記第1のメモリに記憶保持されたデータのヘッダ部を解析し、解析が済んで不要となる該ヘッダ部を該データから分離する。そして、前記DMAコントローラは、前記第1のメモリから前記第2のメモリへ、前記ヘッダ部が分離されたデータを転送する。これにより、ヘッダ部の分だけ、転送するデータの容量が減少するため、データ転送の効率をより向上することができると共に、第2のメモリでデータを記憶保持するために必要な容量を小さくすることができる。
また、前記本発明の第2態様又は第3態様の通信装置において、前記通信コントローラから送信されるデータは、該データを送信及び受信するために必要な情報を含むヘッダ部と、それ以外の部分とからなり、他の通信装置へのデータの送信時に、前記DMAコントローラは、前記第2のメモリに記憶保持された前記ヘッダ部を含まないデータを、前記第1のメモリへ転送し、前記CPUは、前記所定処理において、該転送されたデータに該ヘッダ部を付加することを特徴とする。
本発明によれば、他の通信装置へのデータの送信時に、前記DMAコントローラは、前記第2のメモリに記憶保持された前記ヘッダ部を含まないデータを前記第1のメモリへ転送する。そして、前記CPUは、前記所定処理において、前記転送されたデータに基づいてヘッダ部を生成し、該データに該ヘッダ部を付加する。これにより、ヘッダ部の分だけ、第2のメモリから第1のメモリに転送するデータの容量が減少するため、データ転送の効率をより向上することができると共に、第2のメモリでデータを記憶保持するために必要な容量を小さくすることができる。
本発明の一実施形態を添付の図面を参照して説明する。図1,2は、本発明の第1実施形態による通信装置の機能ブロック図である。また、図3,4は、図1の通信装置における受信動作の説明図であり、図5,6は、図1の通信装置における送信動作の説明図である。また、図7は、図1の通信装置におけるデュアルポートメモリの容量の割当に関する説明図である。なお、本実施形態は、本発明の第3態様の通信装置に対応する。
図1,2を参照して、通信装置1は電子ユニットであり、ポートA,Bを有するデュアルポートメモリ7と、ポートAに接続されたバス4に接続された通信コントローラ2及びDMAコントローラ9と、バス5に接続されたDMAコントローラ10と、バス6に接続されたCPU3と、バス5又はバス6をメモリ7のポートBに接続するバス調停回路11と、バス5又はバス6をメモリ8に接続するバス調停回路12とを備えている。
通信装置1は、データの送信と受信とを切り換えて半二重通信を行う通信装置であり、他の通信装置18との間でパケット通信を行う。送信及び受信されるパケットは、パケットを送信及び受信するために必要な情報(例えば宛先情報等)を含むヘッダ部と、それ以外の部分(例えば音声等の元データを分割してなるデータ部分)とからなる。パケット通信では、到着したデータに対応する受信確認応答(ACKパケット,ACKnowledgement Packet)が受信側の通信装置から送信側の通信装置へ送信される。この受信確認応答により、送信側の通信装置は、自分の送信したパケットが受信側の通信装置に到着したことを確認し、受信確認応答が送信不良を示すときには、パケットの再送信処理を行う。
また、通信装置1は、パケット通信の仕様(プロトコル)として、HDLC(High-level Data Link Control procedure)を用いている。HDLCでは、受信側の通信装置からの受信確認応答を受け取る前に、送信側の通信装置が所定数(ウィンドウサイズ)を上限とする複数のパケットを連続して送信(先送り)できる。
デュアルポートメモリ(Dual Port Memory)7は、1つのメモリセルに対して、2つの入出力ポートA,Bを有するRAM(Random Access Memory)であり、メモリに対して、ポートAを介したアクセスと、ポートBを介したアクセスとを並行して行うことが可能である。なお、デュアルポートメモリ7は、本発明の第1のメモリに相当する。
通信コントローラ2は、受信時には、他の通信装置18から受信したデータを、デュアルポートメモリ7に記憶保持させ、送信時には、デュアルポートメモリ7に記憶保持されたデータを、他の通信装置18に送信する。通信コントローラ2は、通信規格として、例えば次世代通信規格として検討されているUFIR(超高速赤外線通信,Ultra Fast InfraRed)を用いている。また、通信コントローラ2には、図2に示したように、UFIR用送信回路(UFIR Transmitter)2aとUFIR用受信回路(UFIR Receiver)2bにより、送信回路と受信回路とが別々に実装されている。
通信コントローラ2は、バス4に接続されており、バス4は、デュアルポートメモリ7のポートAに接続されている。また、バス4は、DMAコントローラ9に接続されている。さらに、バス4は、詳細には、図2に示したように、DMAコントローラ9がデータを読み込む際に用いるバス(Read Master)4aと、DMAコントローラ9がデータを書き込む際に用いるバス(Write Master)4bとから構成される。通信コントローラ2は、DMAコントローラ9を使用して、他の通信装置18から受信したデータを、バス4bを介してデュアルポートメモリ7に書き込む。また、通信コントローラ2は、DMAコントローラ9を使用して、バス4aを介してデュアルポートメモリ7からデータを読み込み、他の通信装置18に送信する。なお、DMAコントローラ9が、通信コントローラ2に搭載された構成(DMAコントローラ9の機能を有する通信コントローラ2)としてもよい。
バス調停回路11(本発明の第1のバス調停回路)は、バス5に接続されたDMAコントローラ10からのバス5へのアクセス要求と、バス6に接続されたCPU3からのバス6へのアクセス要求とを調停して、バス5又はバス6をメモリ7のポートBに接続する。
バス調停回路12(本発明の第2のバス調停回路)は、バス5に接続されたDMAコントローラ10からのバス5へのアクセス要求と、CPU3からのバス6へのアクセス要求とを調停して、バス5又はバス6をメモリ8に接続する。
DMAコントローラ(Direct Memory Access controller)10は、バス調停回路11,12に対するバス5のアクセス要求により、バス5がメモリ7のポートB及びメモリ8に接続された状態とする。バス5(本発明の第1のバス)は、詳細には、図2に示したように、DMAコントローラ10がデータを読み込む際に用いるバス(Read Master)5aと、DMAコントローラ10がデータを書き込む際に用いるバス(Write Master)5bとから構成される。そして、DMAコントローラ10は、データの受信時には、CPU3により所定処理が施されたデータをバス5aを介して読み込み、デュアルポートメモリ7からメモリ8にバス5bを介して書き込む。また、DMAコントローラ10は、データの送信時には、メモリ8に記憶保持されたデータをバス5aを介して読み込み、デュアルポートメモリ7にバス5bを介して書き込む。
CPU(Central Processing Unit)3は、バス調停回路11に対するバス6のアクセス要求により、バス6がデュアルポートメモリ7のポートBに接続された状態とする。なお、CPU3は、例えば、インストラクションバスとデータバスとが独立したハーバード型アーキテクチャを用いている。バス6(本発明の第2のバス)は、詳細には、図2に示したように、命令用のインストラクションバス6aと、データ用のデータバス6bとから構成される。
メモリ8は、送信及び受信されるデータが記憶保持される大容量のSDRAM(Synchronous Dynamic Random Access Memory)である。メモリ8は、バス調停回路11を介して、バス5又はバス6に接続される。なお、メモリ8は、本発明の第2のメモリに相当する。
また、バス6には、図2に示したように、プロトコル処理のためのプログラム等が記憶保持されるSRAM(Static Random Access Memory)13,ROM(Read Only Memory)14とが接続されている。SRAM13は、インストラクションバス6a及びデータバス6bに接続され,ROM14は、インストラクションバス6aに接続される。メモリ8、SRAM13、ROM14により、CPU3の主記憶メモリが構成される。
さらに、データバス6bには、図2に示したように、パラレル信号とシリアル信号との相互変換を行なう回路であるUART(Universal Asynchronous Receiver Transmitter)15が接続されている。また、UART15には、SIR Endec(シリアル赤外線通信用エンコーダ/デコーダ,Serial InfraRed Encoder-Decoder)機能が備えられている。通信装置1内部のデータの転送はパラレル方式であり、通信コントローラ2によるデータの送信及び受信はシリアル方式であるので、UART15は、これらのデータを変換する。さらに、データバス6bには、GPIO16(General Purpose Input/Output,汎用入出力インタフェース)、タイマ(Timer)17が接続されている。
なお、図2のデュアルポートパケットバッファ7,11は、図1に示したデュアルポートメモリ7とバス調停回路11とを含むものである。また、図2のSDRAMコントローラ9,12は、図1に示したSDRAM9とバス調停回路12とを含むものである。
次に、デュアルポートメモリ7について、図7を用いて詳細に説明する。図7を参照して、デュアルポートメモリ7は、通信コントローラ2により受信されたデータを記憶保持する領域(受信用領域α)として、1パケットの容量とウィンドウサイズとの積の容量を有する。また、通信コントローラ2により送信されるデータを記憶保持する領域(送信用領域β)として、1パケットの容量とウィンドウサイズとの積の2倍の容量を有する。送信用領域βは、1パケットの容量とウィンドウサイズとの積の容量を有する領域β1と領域β2とからなる。
なお、1パケットの容量とウィンドウサイズとの積の容量は、HDLCにおいて、受信側の通信装置で、少なくとも受信バッファが該容量を有していれば、受信されるデータのオーバーランが生じない容量である。本発明では、デュアルポートメモリ7が受信バッファの機能を有する。
次に、本実施形態の通信装置の作動(受信動作及び送信動作)を、図3〜6を用いて説明する。まず、受信動作について図3,4を用いて説明する。なお、以下の説明では、ウィンドウサイズはnであり、受信動作においては、n個のパケット(時系列順にP1,P2,...,Pnとする)が、他の通信装置18から通信装置1に連続して送信されるものとする。
図3において、横軸は時間(t)であり、図3の最上段には、通信装置1により受信されるパケットP1〜Pnが示されている。また、図3の最下段には、通信装置1から送信される受信確認応答が示されている。図3において、各パケットPi(i=1,2,...,n)の長さは、各パケットPiが他の通信装置18から送信された時から、通信装置1の通信コントローラ2による受信が完了した時までの時間を示している。なお、各パケットPiは、通信速度に応じて順次受信される。
通信装置1では、各パケットPiに対して、図4のフローチャートに示したSTEP001〜STEP006の処理(受信処理)が行われる。まず、通信コントローラ2が、他の通信装置18からパケットPiが受信してデュアルポートメモリ7に書き込む(STEP001)。このとき、通信コントローラ2は、DMAコントローラ9を使用して、パケットPiのデータを、バス4bを介してデュアルポートメモリ7へ書き込む。
パケットPiのデータの書き込みが完了すると、次に、CPU3が、デュアルポートメモリ7に記憶保持されたパケットPiのデータに所定処理を施す。まず、CPU3は、バス調停回路11に対するバス6のアクセス要求により、バス6がデュアルポートメモリ7のポートBに接続された状態とする(STEP002)。これにより、バス6に接続されたCPU3からのデュアルポートメモリ7へのアクセスが可能となる。
次に、CPU3は、デュアルポートメモリ7に記憶保持されたパケットPiのデータのヘッダ部を読み込み、受信されたパケットPiのデータにエラーがあるか否かを判断する(STEP003)。
STEP003の判断の結果がYES(受信されたパケットPiのデータにエラーがある)の場合には、パケットPiのデータを破棄し、パケットPiに対する受信処理を終了する。これにより、受信されたパケットPiのデータにエラーがある場合には、デュアルポートメモリ7からメモリ8への該エラーのあるデータの転送を禁止して、不要なデータの転送が行われることを排除している。
STEP003の判断の結果がNO(受信されたパケットPiのデータにエラーがない)の場合には、STEP004に進み、CPU3により、デュアルポートメモリ7に記憶保持されたパケットPiのヘッダ部の解析処理が行われ、解析処理が済んだ後に、CPU3により、受信パケットPiのデータから、ヘッダ部が分離される。
次に、CPU3による所定処理が完了すると、DMAコントローラ10は、パケットPiのデータをメモリ8に転送する。DMAコントローラ10は、CPU3により起動されると、バス調停回路11,12に対するバス5のアクセス要求を行って、バス5がデュアルポートメモリ7のポートB及びメモリ8に接続された状態とする(STEP005)。これにより、バス5に接続されたDMAコントローラ10からのデュアルポートメモリ7及びメモリ8へのアクセスが可能となる。
次に、DMAコントローラ10は、パケットPiのデータを、デュアルポートメモリ7からメモリ8にバス5bを介して書き込む(STEP006)。このように、デュアルポートメモリ7とメモリ8との間で、DMAコントローラ10を利用して、CPU3を介さずにデータを転送することで、データ転送の効率が向上する。このとき、転送されるパケットPiのデータは、CPU3によりヘッダ部が分離されている。これにより、通信装置1は、ヘッダ部の分だけ、転送するデータの容量が減少するため、データ転送の効率をより向上させることができると共に、メモリ8でデータを記憶保持するために必要な容量を小さくすることができる。
さらに、このとき、DMAコントローラ10に接続されたバス5と、CPU3に接続されたバス6とが分離され、バス6には、SRAM13,ROM14が接続されている。このため、CPU3は、プログラムを読み出して動作を継続することができる。そのため、DMAコントローラ10がバス5を介してデータを転送している間に、CPU3は、バス6を介して、デュアルポートメモリ7及びメモリ8のパケットPiのデータにアクセスする以外の他の処理(SRAM13,ROM14に記憶保持されたプログラムを用いた処理や、UART15,GPIO16を用いた処理等)を行うことができ、CPU3の処理効率の低下が低減される。
上述のSTEP001〜006の処理により、受信されたパケットP1〜Pnに対して、CPU3により所定処理が施され、DMAコントローラ10により該所定処理を施されたデータがメモリ8に転送される。そして、パケットP1〜Pnに対する受信処理が完了すると、送信側の他の通信装置18に、通信装置1から次データの要求(受信確認応答)が送信される。
次に、図3を参照して、パケットP1〜Pnの処理のタイミングについて説明する。図3の上から2段目は、パケットP1〜Pnのデータがデュアルポートメモリ7に記憶保持される時間D1〜Dn(上述のSTEP001の処理時間に相当する)を示している。図3の3段目は、CPU3によりパケットP1〜Pnのデータに所定処理が施される時間E1〜En(上述のSTEP002〜004の処理時間に相当する)を示している。図3の4段目は、DMAコントローラ10によりパケットP1〜Pnのデータがデュアルポートメモリ7からメモリ8に転送される時間F1〜Fn(上述のSTEP005〜006の処理時間に相当する)を示している。
図3に示したように、通信装置1の受信動作では、通信コントローラ2により受信したパケットPi(i=2,3,...,n)のデータをデュアルポートメモリ7に記憶保持する処理Diと並行して、デュアルポートメモリ7に既に記憶保持されたパケットPi-1のデータに、CPU3により所定処理を施し(処理Ei-1)、該所定処理を施したデータを、DMAコントローラ10によりデュアルポートメモリ7からメモリ8へ転送する(処理Fi-1)ことができる。
次に、送信動作について図5を用いて説明する。送信動作においては、n個のパケット(時系列順にQ1,Q2,...,Qnとする)が、通信装置1から他の通信装置18に連続して送信されるものとする。さらに、パケットQ1〜Qnの次に、n個のパケットQ'1〜Q'nが、通信装置1から連続して送信されるものとする。
図5において、横軸は時間(t)であり、図5の最上段には、受信側の他の通信装置18から送信される受信確認応答が示されている。また、図5の最下段には、送信されるパケットQ1〜Qnが示されている。図5において、各パケットQi(i=1,2,...,n)の長さは、各パケットQiが通信装置1の通信コントローラ2により送信された時から、他の通信装置18により受信された時までの時間を示している。なお、通信装置1は、他の通信装置18から受信確認応答(次データ要求)を受け取ったときに、各パケットQiを通信速度に応じて順次送信する。
通信装置1では、各パケットQiを生成して送信するために、図6のフローチャートに示したSTEP101〜105の処理が行われる。まず、DMAコントローラ10により、メモリ8に記憶保持されたデータ(パケットQiのヘッダ部以外のデータ部分となる)がデュアルポートメモリ7に転送される。DMAコントローラ10は、CPU3により起動されると、バス調停回路11,12に対するバス5のアクセス要求を行って、バス5がデュアルポートメモリ7のポートB及びメモリ8に接続された状態とする(STEP101)。これにより、バス5に接続されたDMAコントローラ10からのデュアルポートメモリ7及びメモリ8へのアクセスが可能となる。
次に、DMAコントローラ10は、メモリ8に記憶保持されたデータをバス5aを介して読み込み、デュアルポートメモリ7の領域β1(図7参照)にバス5bを介して書き込む(STEP102)。このように、メモリ8とデュアルポートメモリ7との間で、DMAコントローラ10を使用して、CPU3を介さずにデータを転送することで、データ転送の効率が向上される。なお、パケットQiのヘッダ部は、CPU3による後述の処理により生成されて付加される。これにより、ヘッダ部の分だけ、メモリ8からデュアルポートメモリ7に転送するデータの容量が減少する。このため、通信装置1は、データ転送の効率をより向上させることができると共に、メモリ8でデータを記憶保持するために必要な容量を小さくすることができる。
さらに、このとき、DMAコントローラ10に接続されたバス5と、CPU3に接続されたバス6とが分離され、バス6には、SRAM13,ROM14が接続されているので、プログラムを読み出して動作を継続することができる。そのため、DMAコントローラ10がバス5を介してデータを転送している間に、CPU3は、バス6を介して、デュアルポートメモリ7及びメモリ8のパケットQiのデータにアクセスする以外の他の処理(SRAM13,ROM14に記憶保持されたプログラムを用いた処理や、UART15,GPIO16を用いた処理等)を行うことができ、CPU3の処理効率の低下が低減される。
DMAコントローラ10によるデータの転送が完了すると、次に、CPU3は、デュアルポートメモリ7に記憶保持されたデータに所定処理を施す。まず、CPU3は、バス調停回路11に対するバス6のアクセス要求により、バス6がデュアルポートメモリ7のポートBに接続された状態とする(STEP103)。これにより、バス6に接続されたCPU3からのデュアルポートメモリ7へのアクセスが可能となる。
次に、CPU3は、DMAコントローラ10により転送されてデュアルポートメモリ7に記憶保持されたデータを読み込み、パケットQiのヘッダ部を生成して、該データに付加する(STEP104)。
次に、CPU3による所定処理が完了すると、通信コントローラ2が、デュアルポートメモリ7に記憶保持されたパケットQiを他の通信装置18へ送信する(STEP105)。このとき、通信コントローラ2は、DMAコントローラ9を使用して、パケットQiを、バス4aを介してデュアルポートメモリ7から読み込む。
上述のSTEP101〜105の処理により、DMAコントローラ10によりメモリ8に記憶保持されたデータがデュアルポートメモリ7に転送され、該転送されたデータにCPU3により所定処理が施されてパケットQ1〜Qnが生成され、パケットQ1〜Qnが通信コントローラ2により連続して送信される。
さらに、送信動作において、パケットQ1〜Qnの送信中に、次に連続して送信されるパケットQ'1〜Q'nが生成される。すなわち、パケットQ1〜Qnを送信しているときに、上述のSTEP101〜104と同様に、DMAコントローラ10によりメモリ8に記憶保持されたデータがからデュアルポートメモリ7に転送され、該転送されたデータにCPU3により所定処理が施されてパケットQ'1〜Q'nが生成される。
ただし、パケットQ'1〜Q'nの生成では、STEP102と同様の処理において、DMAコントローラ10は、メモリ8に記憶保持されたデータをバス5aを介して読み込み、バス5bを介してデュアルポートメモリ7の領域β2(図7参照)に書き込む。
これにより、通信コントローラ2がパケットQ1〜Qnの通信を開始してから、パケットQ1〜Qnに対応する受信確認応答を受け取るまでの間に、次に送信するパケットQ'1〜Q'nを生成して準備しておくことができる。また、パケットQ'1〜Q'nはデュアルポートメモリ7の領域β2に記憶保持されるので、パケットQ1〜Qnに対応する受信確認応答が返信されるまで、デュアルポートメモリ7の領域β1に記憶保持されたパケットQ1〜Qnのデータを残しておくことができる。
次に、図5を参照して、パケットQ1〜Qnの生成処理及び送信処理のタイミングについて説明する。図5の上から2段目は、DMAコントローラ10により、パケットQ1〜Qn,Q'1を生成するためのデータがメモリ8からデュアルポートメモリ7に転送される時間H1〜Hn,H'1(上述のSTEP101〜102の処理時間に相当する)を示している。図5の3段目は、CPU3によりヘッダ部を付加してパケットQ1〜Qn,Q'1を生成する所定処理の実行時間I1〜In,I'1(上述のSTEP103〜104の処理時間に相当する)が示されている。図5の4段目は、デュアルポートメモリ7に記憶保持されたパケットQ1〜Qnが通信コントローラ2により送信される時間J1〜Jn(上述のSTEP105の処理時間に相当する)が示されている。
図5に示したように、通信装置1の送信動作では、デュアルポートメモリ7に記憶保持されたパケットQi-1を通信コントローラ2により送信する処理Ji-1(i=2,3,...,n)と並行して、DMAコントローラ10によりメモリ8に記憶保持されたデータをデュアルポートメモリ7へ転送し(処理Hi)、該転送されたデータにCPU3により所定処理を施して次に送信するパケットQiを生成する(処理Ii)ことができる。
また、通信装置1の送信動作では、デュアルポートメモリ7に記憶保持されたパケットQnを通信コントローラ2により送信する処理Jnと並行して、DMAコントローラ10によりメモリ8に記憶保持されたデータをデュアルポートメモリ7へ転送し(処理H'1)、該転送されたデータに、CPU3により所定処理を施して次に連続して送信するパケットQ'1を生成する(処理I'1)ことができる。これにより、パケットQ1〜Qnに対応する受信確認応答が送信されて、パケットQ1〜Qnが他の受信装置18に受信されたことが確認されたときに、通信コントローラ2が、パケットQ'1〜Q'nの送信を直ちに開始することができる。
さらに、パケットQ1〜Qnに対応する受信確認応答が送信不良を示すものだった場合には、通信コントローラ2は、デュアルポートメモリ7の領域β1に記憶保持されたパケットQ1〜Qnの再送信処理を行う。
以上により、データの受信時と送信時とのいずれにおいても、CPU3における処理効率の低下を低減すると共に、データ転送の効率を向上させることができる。
なお、本実施形態においては、通信装置1は、データの受信と送信とを切り換えて半二重通信を行うものとしたが、他の実施形態として、他の通信装置18からのデータの受信のみを行う受信装置としてもよい。これは本実施形態の第1態様の通信装置に対応する。または、他の通信装置18へのデータの送信のみを行う送信装置としてもよい。これは本実施形態の第2態様の通信装置に対応する。
1…通信装置、2…通信コントローラ、3…CPU、4,4a,4b,5,5a,5b,6,6a,6b…バス、7…デュアルポートメモリ(第1のメモリ)、8…SDRAM(第2のメモリ),9,10…DMAコントローラ、11,12…バス調停回路。
Claims (7)
- データの受信を行う通信装置であって、
第1のポート及び第2のポートを有する第1のメモリと、
前記第1のメモリの前記第1のポートに接続され、他の通信装置から受信したデータを該第1のメモリに記憶保持させる通信コントローラと、
第1のバスに接続されたDMAコントローラからの該第1のバスへのアクセス要求と、第2のバスに接続されたCPUからの該第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを前記第1のメモリの第2のポートに接続する第1のバス調停回路と、
前記DMAコントローラからの前記第1のバスへのアクセス要求と、前記CPUからの前記第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを第2のメモリに接続する第2のバス調停回路とを備え、
前記通信コントローラがデータを受信して前記第1のメモリに記憶保持させているときに、前記CPUは、前記第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態として、該通信コントローラにより既に受信されて該第1のメモリに記憶保持されたデータに所定処理を施し、前記DMAコントローラは、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが該第1のメモリの第2のポート及び前記第2のメモリに接続された状態として、前記所定処理が施されたデータを、該第1のメモリから該第2のメモリに該第1のバスを介して転送することを特徴とする通信装置。 - データの送信を行う通信装置であって、
第1のポート及び第2のポートを有する第1のメモリと、
前記第1のメモリの前記第1のポートに接続され、該第1のメモリに記憶保持されたデータを他の通信装置に送信する通信コントローラと、
第1のバスに接続されたDMAコントローラからの該第1のバスへのアクセス要求と、第2のバスに接続されたCPUからの該第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを前記第1のメモリの第2のポートに接続する第1のバス調停回路と、
前記DMAコントローラからの前記第1のバスへのアクセス要求と、前記CPUからの前記第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを第2のメモリに接続する第2のバス調停回路とを備え、
前記DMAコントローラが、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが前記第1のメモリの第2のポート及び前記第2のメモリに接続された状態として、該第2のメモリに記憶保持されたデータを該第1のメモリに該第1のバスを介して転送し、前記CPUが、該第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態として、該第1のメモリに記憶保持された該転送されたデータに所定処理を施しているときに、前記通信コントローラは、該第1のメモリに記憶保持された前記所定処理が既に施されたデータを送信することを特徴とする通信装置。 - データの送信と受信とを切り換えて行う通信装置であって、
第1のポート及び第2のポートを有する第1のメモリと、
前記第1のメモリの前記第1のポートに接続され、受信時には他の通信装置から受信したデータを該第1のメモリに記憶保持させ、送信時には該第1のメモリに記憶保持されたデータを他の通信装置に送信する通信コントローラと、
第1のバスに接続されたDMAコントローラからの該第1のバスへのアクセス要求と、第2のバスに接続されたCPUからの該第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを前記第1のメモリの第2のポートに接続する第1のバス調停回路と、
前記DMAコントローラからの前記第1のバスへのアクセス要求と、前記CPUからの前記第2のバスへのアクセス要求とを調停して、該第1のバス又は該第2のバスを第2のメモリに接続する第2のバス調停回路とを備え、
データの受信時には、前記通信コントローラがデータを受信して前記第1のメモリに記憶保持させているときに、前記CPUは、前記第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態として、該通信コントローラにより既に受信されて該第1のメモリに記憶保持されたデータに所定処理を施し、前記DMAコントローラは、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが該第1のメモリの第2のポート及び前記第2のメモリに接続された状態として、前記所定処理が施されたデータを、該第1のメモリから該第2のメモリに該第1のバスを介して転送し、
データの送信時には、前記DMAコントローラが、前記第1のバス調停回路及び第2のバス調停回路に対する前記第1のバスのアクセス要求により、該第1のバスが前記第1のメモリの第2のポート及び前記第2のメモリに接続された状態として、該第2のメモリに記憶保持されたデータを該第1のメモリに該第1のバスを介して転送し、前記CPUが、該第1のバス調停回路に対する第2のバスのアクセス要求により、該第2のバスが該第1のメモリの第2のポートに接続された状態として、該第1のメモリに記憶保持された該転送されたデータに所定処理を施しているときに、前記通信コントローラは、該第1のメモリに記憶保持された前記所定処理が既に施されたデータを送信することを特徴とする通信装置。 - 他の通信装置との間でパケット通信を行い、該パケット通信は、送信側の通信装置に対して、受信側の通信装置からの受信確認応答を待たずに、所定数を上限とする複数のパケットを連続して送信することを許容する仕様であって、
前記第1のメモリは、前記通信コントローラにより受信されたデータを記憶保持する領域として、少なくとも、前記パケットの容量と前記所定数との積の容量を有することを特徴とする請求項3記載の通信装置。 - 他の通信装置との間でパケット通信を行い、該パケット通信は、送信側の通信装置に対して、受信側の通信装置からの受信確認応答を待たずに、所定数を上限とする複数のパケットを連続して送信することを許容すると共に、該受信確認応答が送信不良を示すものであったときに再送信処理を要求する仕様であって、
前記第1のメモリは、前記通信コントローラにより連続して送信される複数のパケットのデータを記憶保持する第1の領域として、少なくとも、該パケットの容量と前記所定数との積の容量を有すると共に、少なくとも、該通信コントローラにより該データの次に連続して送信される複数のパケットのデータを記憶保持する第2の領域として、該パケットの容量と該所定数との積の容量を有し、
複数のパケットを連続して送信する際に、前記通信コントローラが、前記第1のメモリの前記第1の領域に記憶保持されたデータを送信しているときに、前記DMAコントローラは、次に送信されるデータを、前記第2のメモリから前記第1のメモリに転送して前記第2の領域に記憶保持することを特徴とする請求項3記載の通信装置。 - 前記通信コントローラにより受信されるデータは、該データを送信及び受信するために必要な情報を含むヘッダ部と、それ以外の部分とからなり、
他の通信装置からのデータの受信時に、前記CPUは、前記所定処理において、前記通信コントローラにより受信されて前記第1のメモリに記憶保持されたデータから前記ヘッダ部を分離し、前記DMAコントローラは、前記第1のメモリから前記第2のメモリへ、該ヘッダ部が分離されたデータを転送することを特徴とする請求項1又は請求項3記載の通信装置。 - 前記通信コントローラから送信されるデータは、該データを送信及び受信するために必要な情報を含むヘッダ部と、それ以外の部分とからなり、
他の通信装置へのデータの送信時に、前記DMAコントローラは、前記第2のメモリに記憶保持された前記ヘッダ部を含まないデータを、前記第1のメモリへ転送し、前記CPUは、前記所定処理において、該転送されたデータに該ヘッダ部を付加することを特徴とする請求項2又は請求項3記載の通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006037933A JP2007219712A (ja) | 2006-02-15 | 2006-02-15 | 通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006037933A JP2007219712A (ja) | 2006-02-15 | 2006-02-15 | 通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007219712A true JP2007219712A (ja) | 2007-08-30 |
Family
ID=38496966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006037933A Withdrawn JP2007219712A (ja) | 2006-02-15 | 2006-02-15 | 通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007219712A (ja) |
-
2006
- 2006-02-15 JP JP2006037933A patent/JP2007219712A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101720134B1 (ko) | 버스 브리지 장치 | |
CN106951388B (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
US8700866B2 (en) | Data transfer apparatus, data transfer device, and data transfer method in a data transfer device | |
WO2016202114A1 (zh) | 一种数据传输方法、装置及存储介质 | |
KR20050043426A (ko) | 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치 | |
KR20040044366A (ko) | 공유 메모리 데이터 전송장치 | |
JP3664664B2 (ja) | バスシステム及びそのバス仲裁方法 | |
EP2423824B1 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
CN102207920B (zh) | 一种bvci总线到ahb总线的转换桥 | |
KR20120040535A (ko) | 버스 시스템 및 그것의 동작 방법 | |
US8521932B2 (en) | Arbitrator and arbitrating method applied to system management bus system | |
US20060236001A1 (en) | Direct memory access controller | |
JP5293516B2 (ja) | データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体 | |
JP4098910B2 (ja) | パケット転送制御装置及びパケット転送方法 | |
JP2007219712A (ja) | 通信装置 | |
CN113886297A (zh) | 一种基于dma的spi并发通讯se装置及方法 | |
US8090915B2 (en) | Packet transmission control apparatus and method | |
JP2006119724A (ja) | Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム | |
JP2008165463A (ja) | バス制御装置 | |
JPH11252150A (ja) | ネットワーク接続装置、及びネットワーク接続制御方法 | |
JP2017004092A (ja) | 集積回路間のシリアル通信システム | |
JP2933039B2 (ja) | 通信用コントローラ | |
WO2012093475A1 (ja) | 情報転送装置および情報転送装置の情報転送方法 | |
JP2007072685A (ja) | データ転送装置及び情報処理装置 | |
JP2012094081A (ja) | バス調停回路及びバス調停方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090512 |