(57)【要約】【課題】メモリサイズを小さくしながら、連続したデータ通信を行なう。【解決手段】複数個のデータを順番に送信する端末は、データの読出と書込を並行して行なうＦＩＦＯメモリ４３と、ホストシステムから順番に従って与えられるデータを受理し、受理したデータを出力するＣＰＵ３０と、ＦＩＦＯアクセス部４４とを備える。ＦＩＦＯアクセス部４４は、ＣＰＵ３０から与えられるデータを入力する毎に、当該入力データのサイズを指すレジスタＦＴＬＶの値だけ、入力データをＦＩＦＯメモリ４３に書込む。そして、入力するデータのサイズだけ書込みが完了したことを検出すると、ＦＩＦＯメモリ４３から、当該サイズだけ入力データを読出し、無線ネットワークに送信する。そして、ＣＰＵ３０は、入力データの読出開始に応答して、順番に従う次位のデータをＦＩＦＯアクセス部４４に与える。【選択図】図３
2010258792.tif 000002
【特許請求の範囲】
【請求項１】
無線通信ネットワークに接続されて、複数個のデータを順番に送信する無線送信装置であって、
データの読出と書込を並行して行なうことが可能なＦＩＦＯ（First-In−First−Out）メモリと、
前記順番に従って与えられるデータを受理し、受理したデータを出力する受理部と、
前記ＦＩＦＯメモリをアクセスするメモリアクセス部とを備え、
前記メモリアクセス部は、
前記受理部から与えられるデータを入力する毎に、当該入力データのサイズを指す所定サイズだけ、入力データを前記ＦＩＦＯメモリに書込む書込手段と、
入力するデータの前記所定サイズだけの前記書込手段による書込み完了を検出したことに応じて、前記無線ネットワークに送信するために、前記ＦＩＦＯメモリから、前記所定サイズだけ前記入力データを読出す読出手段と、を含み、
前記受理部は、前記読出手段による前記入力データの読出開始に応答して、前記書込手段に、前記順番に従う次位のデータを与える、無線送信装置。
【請求項２】
前記メモリアクセス部は、前記読出手段による前記入力データの読出完了を検出したことに応答して、前記無線ネットワークに送信するために、前記ＦＩＦＯメモリから、次位のデータを、当該次位のデータについての前記所定サイズだけ読出す手段を含む、請求項１に記載の無線送信装置。
【請求項３】
前記書込手段が、前記受理部からデータを入力する毎に、当該入力データの前記所定サイズを指す値を格納する第１サイズ記憶部と、
前記ＦＩＦＯメモリの書込まれたデータのうち、未だ読出されていないデータのサイズを指す値を格納する第２サイズ記憶部と、をさらに備え、
前記読出手段は、前記第１サイズ記憶部の値と、第２サイズ記憶部の値とが一致したことに応じて、前記書込み完了を検出する、請求項１または２に記載の無線送信装置。
【請求項４】
前記読出手段による前記入力データの読出開始に応答して、前記第１サイズ記憶部の値が読出されて格納され、且つ前記入力データの読出に従い当該値が減じられる第３サイズ記憶部を、さらに備え、
前記受理部は、前記第３サイズ記憶部の前記値が０よりも大きいときに、前記書込手段に、前記順番に従う次位のデータを与える、請求項１から３のいずれかに記載の無線送信装置。
【請求項５】
前記第３サイズ記憶部の値が減じられて０になったとき、前記次位のデータの読出しを開始する、請求項２に記載の無線送信装置。
【請求項６】
無線通信ネットワークに接続されて、複数個のデータを順番に受信する無線受信装置であって、
データの読出と書込を並行して行なうことが可能なＦＩＦＯ（First-In−First−Out）メモリと、
受信したデータが前記順番に従って与えられて、与えられるデータを受理する受理部と、
前記ＦＩＦＯメモリをアクセスするメモリアクセス部とを備え、
前記メモリアクセス部は、
前記受理部から与えられるデータを入力する毎に、当該入力データのサイズを指す所定サイズだけ、前記ＦＩＦＯメモリに入力データを書込む書込手段と、
入力するデータの前記所定サイズだけの前記書込手段による書込み完了を検出したことに応じて、外部に出力するために前記ＦＩＦＯメモリから、前記所定サイズだけ前記入力データを読出す読出手段と、を含み、
前記受理部は、前記書込手段による前記入力データの書込完了に応答して、前記書込手段に、前記順番に従う次位のデータを与える、無線受信装置。
【請求項７】
前記書込手段が、前記受理部からデータを入力する毎に、当該入力データの前記所定サイズを指す値が格納され、且つ前記入力データの読出に従い当該値が減じられるサイズ記憶部を、さらに備え、
前記受理部は、前記サイズ記憶部の前記値が減じられて０になったとき、前記データの読出し完了を検出する、請求項６に記載の無線受信装置。
【請求項８】
無線通信ネットワークに接続されて、複数個のデータを順番に送信および受信する無線通信装置であって、
データの読出と書込を並行して行なうことが可能なＦＩＦＯ（First-In−First−Out）メモリと、
前記順番に従って与えられるデータを受理し、受理したデータを出力する受理部と、
前記ＦＩＦＯメモリをアクセスするメモリアクセス部とを備え、
前記メモリアクセス部は、送信モードに従い動作する送信モード部と、受信モードに従い動作する受信モード部とを含み、
前記送信モード部は、
前記受理部から与えられるデータを入力する毎に、当該入力データのサイズを指す所定サイズだけ、入力データを前記ＦＩＦＯメモリに書込む送信書込手段と、
入力するデータの前記所定サイズだけの前記送信書込手段による書込み完了を検出したことに応じて、前記無線ネットワークに送信するために、前記ＦＩＦＯメモリから、前記所定サイズだけ前記入力データを読出す送信読出手段と、を有し、
前記受理部は、前記送信読出手段による前記入力データの読出開始に応答して、前記送信書込手段に、前記順番に従う次位のデータを与え、
前記受信モード部は、
前記無線通信ネットワークを介して受信されたデータであって、前記受理部から与えられるデータを入力する毎に、当該入力データのサイズを指す所定サイズだけ、前記ＦＩＦＯメモリに入力データを書込む受信書込手段と、
入力するデータの前記所定サイズだけの前記受信書込手段による書込み完了を検出したことに応じて、外部に出力するために前記ＦＩＦＯメモリから、前記所定サイズだけ前記入力データを読出す受信読出手段と、を含み、
前記受理部は、前記受信書込手段が前記入力データの書込を完了したことに応答して、前記受信書込手段に、前記順番に従う次位のデータを与える、無線通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は無線送信装置、無線受信装置および無線通信装置に関し、特に、連続したデータの受信および送信が可能な無線送信装置、無線受信装置および無線通信装置に関する。
【背景技術】
【０００２】
ＩｒＤＡ（登録商標：Infrared Data Association）方式を用いた赤外線通信は、パーソナルコンピュータなどの端末機とその外部接続機との間の通信手段として用いられ、端末機と外部接続機間のオフライン通信を可能にしている。ＩｒＤＡ方式に従うデータは、フレーム単位で通信される。フレームを通信するために、従来の通信端末は、フレームのデータは最大２ｋＢ（キロバイト）のサイズを有することに着目し、たとえば通信データを格納するメモリのサイズとして１６ｋＢを準備する。このメモリは、２ｋＢ×４段×２バンクの構成を有し、読出アドレスやバンクを切換えることにより、フレームの連続送信を可能にしている。この場合、単純なバンク切換えで可能であるものの、必要とされるメモリサイズが比較的大きく、コストの増大、またメモリを搭載する基板の大型化が避けられない。
【０００３】
また、フレームを送信する場合、１フレーム目のデータをメモリから読出し送信し完了した後、次に送信すべき２フレーム目のデータをメモリに書込むように動作するため、フレーム−フレーム間の送信インターバルが長くなり、通信に関する実効レートは低下する。また、インターバルの長さは、通信装置のＣＰＵ（Central Processing Unit）がデータをメモリに書込むのに要する時間、すなわちＣＰＵの処理能力に大きく依存する。このようなフレーム送信時の課題は、同様にフレーム受信時においても生じている。
【０００４】
上述したメモリサイズの大型化を解消するために、本出願人は、たとえば特開２０００−１９６６９６号公報（特許文献１）において、ＦＩＦＯ（First-In First-Out）回路を用いた通信用ＩＣ（Integrated Circuit）を提供している。当該公報においては、ＩｒＤＡ通信専用機能を有する回路は、受信側と送信側のそれぞれの経路において、ＦＩＦＯ回路を個別に備える。ＦＩＦＯ回路を用いることによりメモリのバンク切換を行なうことなく、割込信号をかけながらデータの蓄積と読出を行なう。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１９６６９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１の構成であっても、ＩｒＤＡ通信専用機能を有する通信回路は、送信のためのＦＩＦＯ回路と受信のためのＦＩＦＯ回路とを個別に備える必要があるので、実質的には必要とされるメモリサイズは大きくなる。
【０００７】
それゆえにこの発明の目的は、通信のためのデータを格納するために必要とされるメモリサイズを小さくしながら、連続したデータ通信を行なうことができる無線送信装置、無線受信装置および無線通信装置を提供することである。
【課題を解決するための手段】
【０００８】
この発明のある局面に従うと、無線通信ネットワークに接続されて、複数個のデータを順番に送信する無線送信装置は、データの読出と書込を並行して行なうことが可能なＦＩＦＯ（First-In−First−Out）メモリと、順番に従って与えられるデータを受理し、受理したデータを出力する受理部と、ＦＩＦＯメモリをアクセスするメモリアクセス部とを備え、メモリアクセス部は、受理部から与えられるデータを入力する毎に、当該入力データのサイズを指す所定サイズだけ、入力データをＦＩＦＯメモリに書込む書込手段と、入力するデータの所定サイズだけの書込手段による書込み完了を検出したことに応じて、無線ネットワークに送信するために、ＦＩＦＯメモリから、所定サイズだけ入力データを読出す読出手段と、を含み、受理部は、読出手段による入力データの読出開始に応答して、書込手段に、順番に従う次位のデータを与える。
【０００９】
好ましくは、メモリアクセス部は、読出手段による入力データの読出完了を検出したことに応答して、無線ネットワークに送信するために、ＦＩＦＯメモリから、次位のデータを、当該次位のデータについての所定サイズだけ読出す手段を含む。
【００１０】
好ましくは、書込手段が、受理部からデータを入力する毎に、当該入力データの所定サイズを指す値を格納する第１サイズ記憶部と、ＦＩＦＯメモリの書込まれたデータのうち、未だ読出されていないデータのサイズを指す値を格納する第２サイズ記憶部と、をさらに備え、読出手段は、第１サイズ記憶部の値と、第２サイズ記憶部の値とが一致したことに応じて、書込み完了を検出する。
【００１１】
好ましくは、読出手段による入力データの読出開始に応答して、第１サイズ記憶部の値が読出されて格納され、且つ入力データの読出に従い当該値が減じられる第３サイズ記憶部を、さらに備え、受理部は、第３サイズ記憶部の値が０よりも大きいときに、書込手段に、順番に従う次位のデータを与える。
【００１２】
好ましくは、第３サイズ記憶部の値が減じられて０になったとき、次位のデータの読出しを開始する。
【００１３】
好ましくは、データの読出完了から、所定期間が経過したとき、次位のデータの読出を開始する。
【００１４】
この発明の他の局面に従うと、無線通信ネットワークに接続されて、複数個のデータを順番に受信する無線受信装置は、データの読出と書込を並行して行なうことが可能なＦＩＦＯ（First-In−First−Out）メモリと、受信したデータが順番に従って与えられて、与えられるデータを受理する受理部と、ＦＩＦＯメモリをアクセスするメモリアクセス部とを備え、メモリアクセス部は、受理部から与えられるデータを入力する毎に、当該入力データのサイズを指す所定サイズだけ、ＦＩＦＯメモリに入力データを書込む書込手段と、入力するデータの所定サイズだけの書込手段による書込み完了を検出したことに応じて、外部に出力するためにＦＩＦＯメモリから、所定サイズだけ入力データを読出す読出手段と、を含み、受理部は、書込手段による入力データの書込完了に応答して、書込手段に、順番に従う次位のデータを与える。
【００１５】
好ましくは、書込手段が、受理部からデータを入力する毎に、当該入力データの所定サイズを指す値が格納され、且つ入力データの読出に従い当該値が減じられるサイズ記憶部を、さらに備え、受理部は、サイズ記憶部の値が減じられて０になったとき、データの読出し完了を検出する。
【００１６】
好ましくは、データの読出完了から、所定期間が経過したとき、次位のデータの読出を開始する。
【００１７】
この発明のさらに他の局面に従うと、無線通信ネットワークに接続されて、複数個のデータを順番に送信および受信する無線通信装置は、データの読出と書込を並行して行なうことが可能なＦＩＦＯ（First-In−First−Out）メモリと、順番に従って与えられるデータを受理し、受理したデータを出力する受理部と、ＦＩＦＯメモリをアクセスするメモリアクセス部とを備える。
【００１８】
そして、メモリアクセス部は、送信モードに従い動作する送信モード部と、受信モードに従い動作する受信モード部とを含む。
【００１９】
送信モード部は、受理部から与えられるデータを入力する毎に、当該入力データのサイズを指す所定サイズだけ、入力データをＦＩＦＯメモリに書込む送信書込手段と、入力するデータの所定サイズだけの送信書込手段による書込み完了を検出したことに応じて、無線ネットワークに送信するために、ＦＩＦＯメモリから、所定サイズだけ入力データを読出す送信読出手段と、を有し、受理部は、送信読出手段による入力データの読出開始に応答して、送信書込手段に、順番に従う次位のデータを与える。
【００２０】
また、受信モード部は、無線通信ネットワークを介して受信されたデータであって、受理部から与えられるデータを入力する毎に、当該入力データのサイズを指す所定サイズだけ、ＦＩＦＯメモリに入力データを書込む受信書込手段と、入力するデータの所定サイズだけの受信書込手段による書込み完了を検出したことに応じて、外部に出力するためにＦＩＦＯメモリから、所定サイズだけ入力データを読出す受信読出手段と、を含み、受理部は、受信書込手段が入力データの書込を完了したことに応答して、受信書込手段に、順番に従う次位のデータを与える。
【発明の効果】
【００２１】
本発明によれば、データの読出と書込を並行して行なうことが可能なＦＩＦＯメモリを用いて、連続したデータ送信（データ読出）および連続したデータ受信（データ書込）が可能となり、通信に係る単位時間当たりの通信データ量である実効レートを向上させることができる。
【図面の簡単な説明】
【００２２】
【図１】この発明の実施の形態に係る無線ネットワークの概略構成図である。
【図２】この発明の実施の形態に係る端末の概略構成図である。
【図３】この発明の実施の形態に係る通信部のプロトコルコントローラの機能構成図である。
【図４】この発明の実施の形態に係るフレームの概略構成図である。
【図５】この発明の実施の形態に係る片方向通信のシーケンスを示す図である。
【図６】この発明の実施の形態に係る双方向通信のシーケンスを示す図である。
【図７】本実施の形態に係るＦＩＦＯメモリの概略構成図である。
【図８】フレーム送信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図９】フレーム送信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図１０】フレーム送信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図１１】フレーム送信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図１２】フレーム送信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図１３】フレーム送信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図１４】フレーム送信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図１５】フレーム受信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図１６】フレーム受信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図１７】フレーム受信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図１８】フレーム受信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図１９】フレーム受信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図２０】フレーム受信時のＦＩＦＯメモリにおけるデータの書込例を示す図である。
【図２１】本実施の形態に係るフレーム送信時のレジスタの内容と動作を説明する図である。
【図２２】本実施の形態に係るフレーム送信時の割込信号のタイミングを示す図である。
【図２３】本実施の形態に係るフレーム受信時のレジスタの内容と動作を説明する図である。
【図２４】本実施の形態に係るフレーム受信時のレジスタの内容と動作を説明する図である。
【図２５】本実施の形態に係るフレーム受信時の割込信号のタイミングを示す図である。
【図２６】本実施の形態に係る送信モード時の処理フローチャートである。
【図２７】本実施の形態に係る送信モード時の処理フローチャートである。
【図２８】本実施の形態に係る受信モード時の処理フローチャートである。
【図２９】本実施の形態に係る受信モード時の読出要求に応じた処理フローチャートである。
【図３０】本実施の形態に係る受信モード時のホストシステム側の処理フローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について図面を参照して説明する。
図１を参照して本実施の形態に係る無線通信ネットワークＮＴは、本発明の情報通信端末の一実施の形態である端末１を含む。無線通信ネットワークＮＴは、複数の端末１によって構成される、基地局を使用しない無線通信（アドホック通信）ネットワークである。本実施の形態では情報通信のための端末１として、パーソナルコンピュータである端末ＡとＢ、携帯情報端末（ＰＤＡ：Personal Digital Assistant）である端末Ｃおよび携帯型電話機である端末Ｄを含むが、適用される情報通信端末はこれらに限定されない。
【００２４】
端末１の代表的な構成例が図２に示される。図２を参照して端末１は、ホストシステム１００、通信部２００、ならびにＬＥＤ（Light Emitting Diode）またはＬＤ（Laser Diode）を含んで赤外線を出力する赤外線発光部３００およびフォトダイオードなどの受光素子を含む赤外線受光部４００を備える。ホストシステム１００は、当該ホストシステム１００の動作を全体的に制御するＣＰＵ１０１を含む。また、ホストシステム１００では、種々のアプリケーションプログラムが実行される。各アプリケーションプログラムは、ＨＤ（Hard Disc）１０２に格納されている。また、ホストシステム１００は、ＣＰＵ１０１のワークエリアとなるＲＡＭ（Random Access Memory）１０３、情報を表示するディスプレイ１０４、音声を出力するスピーカ１０５、キーやボタンなどの外部からの情報の入力に用いられる入力部１０６、通信部２００との間で情報のやり取りを行なうインターフェイス１０７、および時間を計るためのタイマ１０８を含む。
【００２５】
通信部２００は、ＩｒＤＡ方式の通信制御を行なうための機能を有するプロトコルコントローラ３、プロトコルコントローラ３とホストシステム１００との間の情報のやり取りを行なうインターフェイス２、プロトコルコントローラ３から出力されたデータをＩｒＤＡ方式に従い変調し、変調によって得られた信号を赤外線発光部３００に出力する変調部６、赤外線受光部４００によって受信された信号をＩｒＤＡ方式に従い復調し、復調の結果得られたデータをプロトコルコントローラ３に出力する復調部５を備える。
【００２６】
インターフェイス２および１０７は、たとえば１６ｂｉｔ幅のデータをパラレルで入出力することが可能なＰＩＯ（Parallel Input/Output Controller）が適用される。
【００２７】
図３には、プロトコルコントローラ３の構成が示されて、図４にはプロトコルコントローラ３で処理されながら送受信されるフレームの構成が示される。図４を参照して、本実施の形態に係るフレーム３００は、プリアンブル部３１０、フレームの開始（先頭）を指すスタートフラグＳＴＡを格納するスタートフラグ部３２０、本体部３３０およびフレームの終了（終端）を指すストップフラグＳＴＯを格納するストップフラグ部３４０を含む。本体部３３０は、送信すべきデータを格納するための領域である。本体部３３０には、当該フレームを送信する、または受信する端末１に予め割当てられたアドレスを格納するアドレス部３３１、コントロール部３３２、画像、音声、テキストなどの各種データを格納するデータ部３３３およびフレームの誤り検出のための符号を格納するＦＣＳ（Frame Check Sequence）部３３４を有する。本実施の形態においては、本体部３３０のサイズは、最大２ｋＢであると想定する。
【００２８】
図３を参照しプロトコルコントローラ３の構成を説明する。図３にはプロトコルコントローラ３の周辺回路として、プロトコルコントローラ３とデータをやり取りする回路が示される。
【００２９】
プロトコルコントローラ３は、プロトコルコントローラ３自体の動作を制御するためのＣＰＵ３０、プログラムおよびデータを格納するためのＲＯＭ（Read Only Memory）３１、通信モードを指示するデータ３３を含む各種データを格納するためのＲＡＭ３２、割込用タイマ３４、送信インターバルを決定するためのタイマ３５、各部からの信号を入力し、ＣＰＵ３０に対し割込信号を出力するための割込コントローラ３６、クロック回路３７、各種レジスタをコントロールするためのレジスタコントローラ３８、レジスタコントローラ３８により制御されるレジスタ群４２、通信のためのデータを格納するＳＲＡＭ（Static Random Access Memory）であるＦＩＦＯメモリ４３、およびＦＩＦＯメモリ４３をアクセスするためのＦＩＦＯアクセス部４４を含む。プロトコルコントローラ３の各部はバス４７を介して相互にデータ転送を行なう。ＦＩＦＯメモリ４３からＦＩＦＯアクセス部４４によって読出されたデータは、バス４７を経由して、インターフェイス２を介し、ホストシステム１００に送信される。また、インターフェイス２を介してホストシステム１００から受信したデータは、バス４７を経由して、ＦＩＦＯアクセス部４４によりＦＩＦＯメモリ４３に書込まれる。
【００３０】
割込用タイマ３４は、クロック３７からのクロック信号に基づき、一連のフレーム受信の完了を検出し、検出信号ＩＮＴ７を出力する。送信インターバルタイマ３５は、クロック３７からのクロック信号に基づき、フレームの送信間隔を決定する。
【００３１】
レジスタ群４２は、レジスタＦＴＬＶ、ＦＬＶ、ＦＬＶ２、ＦＬＶ３およびＦＬＶ４を有する。レジスタコントローラ３８は、演算部３９、レジスタ群４２のレジスタの状態を検出するためのレジスタステート検出部４０およびコピー部４１を有する。レジスタステート検出部４０は、レジスタ群４２のレジスタの値を読出し、読出した値について所定条件が成立するか否かを検出する。条件成立が検出されたとき、所定動作が行われる。所定動作には、コピー部４１による、レジスタ群４２のあるレジスタの値を読出し、他のレジスタに格納する動作が含まれる。この動作を、コピーという。
【００３２】
ＦＩＦＯメモリ４３は、データを書込むべきアドレスを指示するためのライトポインタＷＰおよび読出すべきデータのアドレスを指示するためのリードポインタＲＰを備える。リードポインタＲＰおよびライトポインタＷＰは、ＦＩＦＯアクセス部４４によって制御され、現在データを書込んでいるアドレスと現在データを読出しているアドレスとをそれぞれ指示する。これら指示される書込アドレスの値はデータ４５として、また、読出アドレスの値はデータ４６としてＦＩＦＯアクセス４４内の記憶部（たとえば、レジスタ）に格納される。
【００３３】
復調部５は赤外線受光部４００から出力された受信信号をバッファ５１に溜め込み（書込み）ながら書込まれた受信信号を、復調器５２がＩｒＤＡ方式に従い復調する。バッファ５１の受信信号は解析部５３によって解析されて、解析結果に基づき、スタートフラグＳＴＡを検出すると、フレームの受信開始を検出する。復調部５は、受信開始を検出すると信号ＩＮＴ１を出力する。同様にして、解析結果に基づき、ストップフラグＳＴＯを検出すると、フレームの受信完了を検出する。受信完了を検出すると信号ＩＮＴ２を出力する。
【００３４】
変調部６は、ＦＩＦＯアクセス部４４によってＦＩＦＯメモリ４３から読出されたデータを入力しバッファ６１に書込む。バッファ６１のデータは、変調器６２によってＩｒＤＡ方式に従い変調されて、変調によって得られた信号は赤外線発光部３００に出力される。赤外線発光部３００は与えられる信号に従い赤外線を発光する。
【００３５】
ＦＩＦＯメモリ４３には本体部３３０のデータが格納されると想定する。プロトコルコントローラ３では、ＦＩＦＯメモリ４３から読出したデータに基づき図４の送信用のフレームを生成する機能、およびＦＩＦＯメモリ４３に書込むために受信した図４のフレームから本体部３３０のデータを検出する機能を有するが、ここでは、説明を簡単にするためにこれら機能の詳細は略す。
【００３６】
レジスタコントローラ３８は、フレームの送信完了を検出すると、検出したことを指示する信号ＩＮＴ３を出力する。また、レジスタＦＴＬＶに格納された値とＦＬＶに格納された値とが一致したこと（以下、マッチングという）を検出して、検出したことを指示する信号ＩＮＴ４を出力する。また、受信フレームのデータのＦＩＦＯメモリ４３からの読出完了を検出すると、検出したことを指示する信号ＩＮＴ５を出力する。また、受信モード時に受信データを読出すための信号ＩＮＴ８を出力する。
【００３７】
上述の信号ＩＮＴ１〜ＩＮＴ８は、割込コントローラ３６に与えられる。割込コントローラ３６は、与えられる信号に基づき、割込信号ＲＤＥ＿ＥＩ、ＴＸＥ＿ＥＩ、ＷＲＥ＿ＥＩおよびＥＯＦ＿ＥＩのいずれかを生成し、生成した割込信号をＣＰＵ３０に出力する。ＣＰＵ３０は、割込コントローラ３６から入力する信号の種類に応じた指示信号を、他の各部に出力する。これにより、当該指示信号を入力した部分は、指示信号に応じた処理を実行する。
【００３８】
図５と図６には、本実施の形態に適用される通信シーケンスの一例が示される。ここでは、ＩｒＤＡ方式に従いＩｒＳｉｍｐｌｅ（登録商標）の仕様のもとに、図５または図６に示される通信シーケンスが提供される。
【００３９】
本実施の形態のように赤外線による光通信の場合、図１の端末Ａと端末Ｂが通信すると想定した場合、端末Ａの赤外線発光部および受光部３００および４００と、端末Ｂの赤外線発光部および受光部３００および４００とを向かい合わせた姿勢で通信を行なうことが必要となる。このような制限されたポジションをとることが要求されるため、通信時間を短くすることが端末の利便性を高め望ましい。取分け、端末Ｄのような携帯電話機の場合に望まれる。
【００４０】
そこで、本実施の形態では、図５および図６に示されるような片方向シーケンスおよび双方向シーケンスのいずれかの通信シーケンスを採用して、接続（サーチコネクションおよびディスコネクション）に要する時間と、データ転送（データエクスチェンジ）に要する時間の短縮化を図っている。図５の片方向シーケンスの場合、端末Ａが接続要求を端末Ｂに対して通知すると（サーチコネクション）、その後は端末Ａから端末Ｂに対してデータが連続して送信される。データ送信完了後は、端末Ａが接続を解消（ディスコネクション）する通知を端末Ｂに対して送信する。
【００４１】
図６の双方向シーケンスの場合、サーチコネクションにおいて端末Ａと端末Ｂの間で双方向にやり取りが行なわれて、接続が確立する。その後は、端末Ａから端末Ｂに対して連続してデータが送信される。データ送信完了後は、再度、端末Ａと端末Ｂが双方向に通信し、接続を解消する。
【００４２】
本実施の形態は、片方向シーケンスおよび双方向シーケンスのいずれにも適用することができるが、説明を簡単にするために、ここでは片方向シーケンスに従いデータ通信が行なわれると想定し説明する。
【００４３】
ここで、ＦＩＦＯメモリ４３は、図７に示されるように、フレームのデータが最大２ｋＢのサイズを有することに鑑みて、連続して２個のフレーム分のデータを格納可能な例えば５ｋＢの容量（サイズ）を有している。ＦＩＦＯメモリ４３は先頭アドレス（Ｈ“ＸＳ”）から最終アドレス（Ｈ“ＸＥ”）で示される領域を有する。
【００４４】
一連のフレームの送信/受信が開始される前は、または一連のフレーム受信/送信が完了したときは、リードポインタＲＰおよびライトポインタＷＰはＦＩＦＯメモリ４３の先頭アドレス（Ｈ“ＸＳ”）に位置している。
【００４５】
データの書込が開始されると、ライトポインタＷＰは、破線矢印４３１方向に移動しながらデータを書込むべきアドレスを指示する。ライトポインタＷＰの移動は、すなわち書込むべきアドレスの更新は、ＦＩＦＯアクセス部４４により制御される。制御により、リードポインタＲＰおよびライトポインタＷＰはＦＩＦＯメモリ４３の先頭アドレス（Ｈ“ＸＳ”）から最終アドレス（Ｈ“ＸＥ”）の方向に移動する。この移動に伴いアドレスの値は順次インクリメントされる。移動により最終アドレス（Ｈ“ＸＥ”）に位置すると、リードポインタＲＰおよびライトポインタＷＰはＦＩＦＯメモリ４３の先頭アドレス（Ｈ“ＸＳ”）に戻り、リードポインタＲＰおよびライトポインタＷＰの指示する値は、ＦＩＦＯメモリ４３の先頭アドレス（Ｈ“ＸＳ”）を指す。
【００４６】
図８〜図１４を参照して、フレーム送信時のＦＩＦＯメモリ４３におけるデータの書込／読出の状況について手順を追って説明する。
【００４７】
図８を参照して、１番目フレームのデータの書込が完了すると、ライトポインタＷＰは１フレーム目のデータを格納した領域Ｅ１の最終アドレスを指示する。１番目フレームのデータの書込が完了すると、領域Ｅ１からデータの読出が行なわれる。読出されたデータは送信される。データ読出が開始されると、リードポインタＲＰは破線矢印４３２方向に移動しながら、読出すべきデータのアドレスを指示する。リードポインタＲＰの移動は、すなわち読出すべきアドレスの更新は、ＦＩＦＯアクセス部４４により制御される。この移動に伴ってリードポインタＲＰが指示するアドレスに格納されたデータが領域Ｅ１から読出される。
【００４８】
図９を参照して、領域Ｅ１からデータを読出している状態において、２番目のフレームのデータが書込開始される。ここでは、２番目のフレームのデータが領域Ｅ１に続く領域Ｅ２に格納されると想定する。２番目のフレームのデータが書込み開始されると書込ポインタＷＰは破線矢印４３１方向に移動しながら、すなわち領域Ｅ２におけるデータを書込むべきアドレスが更新されながら、ライトポインタＷＰが指示するアドレスにデータが書込まれる。
【００４９】
データの書込と読出の並行動作がさらに継続すると、図１０に示されるように領域Ｅ２に２番目フレームのデータの書込が完了し、書込ポインタＷＰは領域Ｅ２の最終アドレスを指示する。そして、読出ポインタＲＰは、領域Ｅ２の２番目フレームのデータを読出すために領域Ｅ１のデータの読出完了後、破線矢印４３２方向に移動を続け、リードポインタＲＰが指示する領域Ｅ２のアドレスのデータが読出される。領域Ｅ２のデータを読出している状態において、図１１に示されるように、書込ポインタＷＰが破線矢印４３１方向に移動しながら３番目フレームのデータの書込が開始される。
【００５０】
図１２に示されるように、３番目フレームのデータ格納領域は領域Ｅ３である。領域Ｅ３は、図示されるように、領域Ｅ２の最終アドレスからアドレスＨ“ＸＥ”までの領域と、領域Ｅ１の一部の領域すなわち既にデータの読出しが完了した領域とからなる。
【００５１】
図１２に示されるように、領域Ｅ２からの２番目フレームのデータ読出と領域Ｅ３における３番目フレームのデータ書込が並行して行なわれる状態において、図１３のように、２番目フレーム目のデータ読出が完了する前に、領域Ｅ３の３番目フレームのデータ書込が完了する。３番目フレームのデータは、２番目フレームのデータに比べるとサイズが小さいためである。続いて、領域Ｅ２からのデータ読出完了後は、図１４のように、リードポインタＲＰは領域Ｅ３を移動しながら、領域Ｅ３のデータは、書込まれた順番に従い読出される。
【００５２】
このように、フレーム送信時には、ＦＩＦＯメモリ４３では、データは書込まれた順番に従い読出されて、かつ読出しが完了した領域は次位に送信するべきデータを書込むための領域に供されて、連続的なデータの書込みと読出しを実現している。そして、ＦＩＦＯメモリ４３では、送信すべきデータの書込と読出を並行して行なうことができる。この結果、比較的小容量のメモリでありながらフレームの連続送信が可能となる。
【００５３】
次に、図１５〜図２０を参照して、フレーム受信時のＦＩＦＯメモリ４３におけるデータの書込／読出の状況について手順を追って説明する。受信が開始される前は、または一連のフレーム受信が完了したときは、リードポインタＲＰおよびライトポインタＷＰはＦＩＦＯメモリ４３の先頭アドレス（Ｈ“ＸＳ”）に位置している。
【００５４】
図１５を参照して、受信が開始されて、１番目フレームのデータ受信が完了すると、ＦＩＦＯメモリ４３には１番目フレームのデータ格納が完了する。１番目フレームのデータが格納された領域をＥ１と称する。ライトポインタＷＰは、１番目フレームのデータ格納（受信）完了後は、領域Ｅ１の最終アドレスを指示する。
【００５５】
１番目フレームのデータの書込完了に従い、ＦＩＦＯメモリ４３の先頭アドレスに位置していたリードポインタＲＰが破線矢印４３２方向に移動しながら、リードポインタＲＰが指示するアドレスのデータ（１フレーム目のデータ）が読出されて、読出されたデータはホストシステム１００側へ送信される。
【００５６】
続いて、図１６に示されるように、領域Ｅ１における１番目フレームのデータの読出に並行して、２番目フレームのデータが受信される。領域Ｅ１に続く領域Ｅ２は、２番目フレームのデータの格納領域となる。領域Ｅ２において、ライトポインタＷＰが破線矢印４３１方向に移動しながら、ライトポインタＷＰが指示するアドレスに、受信された２番目フレームのデータが順次書込まれる。
【００５７】
このように、１番目フレームの受信データの読出と２番目フレームのデータの受信および書込とが並行して行なわれて、ここでは、図１７のように、１番目フレームのデータの読出が完了したとき（リードポインタＲＰは領域Ｅ１の最終アドレスを指示する）、領域Ｅ２において２番目フレームのデータの書込が完了する（領域Ｅ２の最終アドレスをライトポインタＷＰが指示する）。この状態において、さらに３番目フレームのデータが受信されると、領域Ｅ２に続く領域Ｅ３において、３番目フレームのデータはライトポインタＷＰを移動させながら書込開始される。
【００５８】
ここで、３番目フレームのデータは、１番目および２番目フレームのデータに比べるとはるかにサイズが小さいので、３番目フレームのデータの書込開始時には、まだ２番目フレームのデータの読出が開始されていない。なお、受信データのＦＩＦＯメモリ４３からの読出の開始は、上位システムであるホストシステム１００から指令が与えられるタイミングに従い行なわれる。
【００５９】
ホストシステム１００のＣＰＵ１０１の性能によるが、ホストシステム１００は、所定のインターバル（本実施の形態では、たとえば３００μｓ（マイクロ秒））でデータの読出を行なう。したがって、図１８のように領域Ｅ１の１番目フレームのデータ読出が完了した場合において、その読出完了から所定のインターバル（３００μｓ）が経過していない間は、ホストシステム１００からの読出要求がなされないので、領域Ｅ２の２番目フレームのデータの読出は開始されない。この間においても、前述したように連続してフレームが受信されるので、３番目フレームおよび４番目フレームのデータが順次ＦＩＦＯメモリ４３に書込まれていく（図１９参照）。領域Ｅ４に４番目フレームのデータの書込が完了した時点で書込ポインタＷＰはＦＩＦＯメモリ４３の最終アドレス（Ｈ“ＸＥ”）を指示する。この時点で、ホストシステム１００の読出要求が与えられたとすると、既に受信されてＦＩＦＯメモリ４３に格納済みのデータの読出しが開始する。これにより、領域Ｅ１の最終アドレスを指示していたリードポインタＲＰが、破線矢印４３２の方向に移動しながら、領域Ｅ２の２番目フレームのデータ→領域Ｅ３の３番目フレームのデータ→領域Ｅ４の４番目フレームのデータの読出が順番に読出される（図２０参照）。
【００６０】
このように、フレームの連続受信動作においては、基本的には、次位のフレームの受信中（ＦＩＦＯメモリ４３に書込中）に、前に受信されたフレームのデータをＦＩＦＯメモリ４３から読出す動作が行なわれる。この動作を繰返すことにより、比較的にサイズの小さいＦＩＦＯメモリ４３を用いて、連続送信されるフレームを、連続して受信することが可能となる。
【００６１】
（通信の動作）
本実施の形態に係るフレームの送信および受信の処理について、端末Ａが端末Ｂにデータを送信する場合を想定し説明する。
【００６２】
端末Ａのホストシステム１００のＲＡＭ１０３には、送信すべきデータ（画像データ、音声データ、テキストデータなど）が送信すべき順番と関連付けて格納されていると想定する。
【００６３】
（送信処理）
送信処理について、図２１に示される動作と図２２の割込信号のタイミングチャートに基づき、図２６および図２７の送信モードの処理フローチャートに従い説明する。
【００６４】
なお、送信すべきフレームは３個であり、１番目の送信フレームのデータサイズは２０４８byte、２番目フレームのデータサイズは５１２byteおよび３番目フレームは１０２４byteのデータサイズを有すると想定する。
【００６５】
図２１では、送信モード時の端末１で実行される処理のそれぞれに対応して、当該処理を実行するタイミング（タイミング‘Ａ’〜‘Ｌ’のいずれか）と、レジスタＦＴＬＶ、ＦＬＶおよびＦＬＶ２に格納される値と、割込信号ＴＸＥ＿ＥＩおよびＷＲＥ＿ＥＩの信号レベルを表形式にして示す。この信号レベルは、割込信号が発生した時点で‘１’となり、非発生時は‘０’を指す。図２１の動作を説明するために、図２２のタイミングチャートは、時間ｔの経過に従い送信フレームが模式的に示されるともに、図２１のタイミング‘Ａ’〜‘Ｌ’が指示され、また、タイミング‘Ａ’〜‘Ｌ’に関連付けて割込信号ＴＸＥ＿ＥＩおよびＷＲＥ＿ＥＩが示される。
【００６６】
レジスタＦＴＬＶには、送信すべきフレーム毎に、当該フレームのデータ（データ部３３３に相当）のサイズが、ホストシステム１００のＣＰＵ１０１から与えられるデータに基づき書込まれる。
【００６７】
レジスタＦＬＶには、ライトポインタＷＰの指すアドレスとリードポインタＲＰの指すアドレスの差分（ＷＰ−ＲＰ）が格納される。すなわち、演算部３９は、ＦＩＦＯアクセス部４４からデータ４５とデータ４４を入力し、入力したデータ間の差を算出し、算出結果をレジスタＦＬＶに格納する。したがって、レジスタＦＬＶの値は、ＦＩＦＯメモリ４３に書込まれたデータであって、まだ読出されていないデータのサイズ（容量）を指す。
【００６８】
レジスタＦＬＶ２には、現在送信すべきフレームのデータのうち、未だ、送信完了（読出完了）していないデータのサイズが格納される。
【００６９】
（初期設定）
送信モードにおいて、タイミング‘Ａ’では、初期データの設定がされる。具体的には、ＣＰＵ１０１は、通信部２００に対し連続送信モードの要求を通知する（ステップＴ３）。通知されたモードの信号は、通信部２００のＲＡＭ３２にデータ３３として格納される（ステップＴ２３、Ｔ２５）。このとき、ＦＩＦＯアクセス部４４によってライトポインタＷＰおよびリードポインタＲＰはＦＩＦＯメモリ４３の先頭アドレスに指示するようにセットされる。
【００７０】
（１番目のフレーム送信設定）
続いて、タイミング‘Ｂ’では、ホストシステム１００のＣＰＵ１０１は、ＲＡＭ１０３の１番目に送信すべきフレームのデータを読出す（ステップＴ５）。また、読出したデータのサイズを検出し、検出したサイズを通信部２００に送信する（ステップＴ７）。ホストシステム１００のＣＰＵ１０１は、ＲＡＭ１０３から読出したフレームのデータを、通信部２００に送信する（ステップＴ９）。読出したデータの送信が完了するまで（ステップＴ１１でＹＥＳ）、データ送信が継続する（ステップＴ１１でＮＯ、ステップＴ９）。
【００７１】
通信部２００では、ＣＰＵ３０は受信したフレームのデータサイズを、レジスタコントローラ３８を制御して、レジスタＦＴＬＶに書込む（ステップＴ２７、Ｔ２９）。また、ＣＰＵ３０は受信したフレームのデータをＦＩＦＯアクセス部４４に与えるので、ＦＩＦＯアクセス部４４は受信データをＦＩＦＯメモリ４３に書込む（ステップＴ３１、Ｔ３３）。データ受信が終了しデータ書込完了が検出されるまで（ステップＴ３５でＹＥＳ）、データの受信と書込は継続して行なわれる（ステップＴ３５でＮＯ、Ｔ３１、Ｔ３３）。
【００７２】
この書込時に、ＦＩＦＯメモリ４３のリードポインタＷＰにより指示される書込アドレスは逐次更新されるのでレジスタＦＬＶの値も逐次更新される。
【００７３】
（１番目のフレーム送信スタート）
上述のデータ書込時のタイミング‘Ｃ’では、レジスタステート検出部４０がレジスタＦＴＬＶとＦＬＶとの値を読出し、読出した値について、（ＦＴＬＶの値≦ＦＬＶの値）のマッチングの条件が成立するか否かを検出する。すなわち当該フレームのデータについてＦＩＦＯメモリ４３への書込が完了したか否かを検出する。当該条件の成立を検出する、すなわち書込完了を検出すると（ステップＴ３５でＹＥＳ）、レジスタコントローラ３８は、フレームの書込完了の検出信号ＩＮＴ４を生成し出力する。そして、書込完了の検出に応じてコピー部４１は、レジスタＦＴＬＶの値をレジスタＦＬＶ２にコピーする（ステップＴ３７）。
【００７４】
割込コントローラ３６は、信号ＩＮＴ４を入力すると、応じて割込信号ＷＲＥ＿ＥＩを生成し出力する（ステップＴ３９）。出力された割込信号ＷＲＥ＿ＥＩは、ＣＰＵ３０を介してホストシステム１００のＣＰＵ１０１およびＦＩＦＯアクセス部４４に与えられる。
【００７５】
ＦＩＦＯアクセス部４４は、割込信号ＷＲＥ＿ＥＩを入力すると、応じてＦＩＦＯメモリ４３からリードポインタＲＰが指示するアドレスから１番目フレームのデータを読出す。この読出しに並行して、リードポインタＲＰのデータ４６に従いレジスタＦＬＶ２の値が更新される。これにより、レジスタＦＬＶ２の値は、１番目フレームのデータのうち未だ読出されていないデータサイズを指す。
【００７６】
読出されたデータは変調部６に出力される。変調部６においては、読出されたデータをバッファ６１に入力し、変調器６２はバッファ６１のデータに基づき、フレーム３００を生成して、変調処理して、端末Ｂに送信する（図２７のステップＴ５３、Ｔ５５およびＴ５７）。この読出および送信の処理は、ホストシステム１００から送信モード終了が通知されて、ＦＩＦＯアクセス部４４が参照するＲＡＭ３２のデータ３３が、モード終了を指示するまで（ステップＴ１９、Ｔ４１およびＴ５１でＹＥＳ）、継続する。
【００７７】
（２番目のフレーム送信設定）
また、タイミング‘Ｄ’では、ホストシステム１００のＣＰＵ１０１は、送信すべきデータがＲＡＭ１０３に残っていると判定すると（ステップＴ１３でＹＥＳ）、割込信号ＷＲＥ＿ＥＩの入力に応答して（ステップＴ１５）、次位に送信すべきフレーム（２番目のフレーム）のデータをＲＡＭ１０３から読出すとともに、当該フレームのデータのサイズを検出する（ステップＴ１７、Ｔ７）。読出したデータと検出したデータサイズとは、１番目のフレームの場合と同様に、通信部２００に送信されて、データはＦＩＦＯメモリ４３に格納されるとともに、サイズはレジスタＦＴＬＶに格納される。送信すべきデータがＲＡＭ１０３にはないと判定すると（ステップＴ１３でＮＯ）、ＣＰＵ１０１は送信モード終了を検出して、送信モード終了指示信号を通信部２００に送信する（ステップＴ１９）。
【００７８】
送信処理においては、ＦＩＦＯメモリ４３について（データ読出速度＜データ書込速度）であるので、２番目のフレームのデータサイズにかかわらず、すなわち２番目のフレームが上述の５１２byteより小さいデータサイズ、または大きいデータサイズであったとしても、図２１のタイミング‘Ｃ’および‘Ｄ’に示されるように、１番目フレームのデータ送信（読出）中に、２番目フレームのデータの書込が完了する。
【００７９】
（１番目のフレーム送信完了）
続く、タイミング‘Ｅ’において、１番目フレームの送信完了が検出されると、すなわちレジスタステート検出部４０がレジスタＦＬＶ２の値が０を指示することを検出すると（ステップＴ５７でＹＥＳ）、検出信号ＩＮＴ３を出力する。
【００８０】
割込コントローラ３６は、信号ＩＮＴ３を入力すると、割込信号ＴＸＥ＿ＥＩを生成し出力する（ステップＴ５９）。
【００８１】
（２番目のフレーム送信スタート）
ＣＰＵ３０は、割込信号ＴＸＥ＿ＥＩを入力すると、当該割込信号を、送信インターバルタイマ３５に与える。送信インターバルタイマ３５は、割込信号ＴＸＥ＿ＥＩが与えられると、クロック３７からのクロック信号に基づき所定期間、たとえば１００μｓを計時する（ステップＴ６１、Ｔ６３でＮＯ）。１００μｓ計時終了後（ステップＴ６３でＹＥＳ）、送信インターバルタイマ３５は信号ＩＮＴ６を割込コントローラ３６に出力する。割込コントローラ３６は、信号ＩＮＴ６を入力したことに応じて割込信号ＷＲＥ＿ＥＩを生成し、ＣＰＵ３０に出力する。ＣＰＵ３０は割込信号ＷＲＥ＿ＥＩをＦＩＦＯアクセス部４４およびホストシステム１００に送信する。これにより、続くタイミング‘Ｆ’において、前述と同様に、次位のフレーム（２番目フレーム）のデータのＦＩＦＯメモリ４３からの読出と送信が開始される（図２１のタイミング‘Ｆ’参照）。この送信開始に先立って、レジスタステート検出部４０が、レジスタＦＬＶ２の値が０を指示するとの条件成立を検出したことに応じて、コピー部４１は、レジスタＦＴＬＶの値（２番目フレームのデータサイズ）をレジスタＦＬＶ２にコピーしている。
【００８２】
（３番目のフレーム送信設定）
また、続くタイミング‘Ｇ’においては、ホストシステム１００側は、割込信号ＷＲＥ＿ＥＩを入力したことに応じて（ステップＴ１５でＹＥＳ）、次位フレームのデータのＲＡＭ１０３からの読出を開始し、また、そのデータサイズを読出したデータとともに通信部２００に送信する。通信部２００では、２番目のフレーム（読出）送信中において次位のフレーム（３番目のフレーム）のデータとサイズがＦＩＦＯメモリ４３とレジスタＦＴＬＶにそれぞれ書込まれる。そして、２番目フレームの送信中に、３番目フレームのデータの書込が完了する。
【００８３】
以降のタイミング‘Ｈ’、‘Ｉ’、‘Ｊ’および‘Ｋ’においては、１番目および２番目フレームの送信処理と同様に、レジスタＦＴＬＶ、ＦＬＶおよびＦＬＶ２の値を参照しながら、割込信号ＷＲＥ＿ＥＩおよびＴＸＥ＿ＥＩを発生させて、２番目フレームの送信完了の検出、つづく３番目フレームの送信開始、続いて３番目フレームの送信完了が検出される。この２番目フレーム送信完了から３番目フレームの送信開始までの所定の間隔Ｆｉは、上述のように送信インターバルタイマ３５によって計時される、たとえば１００μｓが当てられる。
【００８４】
以上の送信処理を経て、タイミング‘Ｌ’では、ホストシステム１００のＣＰＵ１０１が、ＲＡＭ１０３の送信すべきデータがすべて読出完了（送信完了）したことを検出する（ステップＴ１３でＮＯ）。この検出に応じて、送信モード終了を通信部２００に通知する（ステップＴ１９）。通信部２００のＣＰＵ３０は、モード終了の通知を受信したことに応じて、ＲＡＭ３２のデータ３３を、モード終了を指示するように更新する(ステップＴ４１）。通信部２００では、データ３３がモード終了を指示することが検出されることに応じて、フレーム送信処理は終了する（ステップＴ５１でＹＥＳ）。
【００８５】
このように、ＦＩＦＯメモリ４３を用いて、データを読出しながらフレームを送信している最中において、次位に送信するべきフレームのデータ書込を行なうようにして比較的に小サイズのメモリを用いて連続送信を可能にする。
【００８６】
また、連続送信のために、ＦＩＦＯメモリ４３の状態を表示するレジスタＦＴＬＶおよびＦＬＶの他に、現在送信中フレームの残りのデータサイズ（未送信のデータサイズ）を表示するレジスタＦＬＶ２を備える。動作においては、レジスタＦＬＶの値がレジスタＦＴＬＶの値以上になったことが検出（マッチングが検出）されたとき、すなわちフレームのデータのＦＩＦＯメモリ４３への書込完了が検出されたとき、当該フレームの送信（読出）を開始するとともに、次位フレームのデータの書込を開始する。送信が継続して、その後、レジスタＦＬＶ２の値が“０”になったことが検出されたとき、すなわち該フレームの送信が完了したとき、所定の送信間隔Ｆｉの後に、次位に送信するべきフレームについてのＦＩＦＯメモリ４３からのデータ読出（送信）を開始する。
【００８７】
送信処理では、マッチング検出およびレジスタＦＬＶ２の値の検出の結果に基づきフレームのＦＩＦＯメモリ４３への書込完了および読出完了を検出しながら、ＦＩＦＯメモリ４３から送信すべきフレームのデータ読出（送信）を開始することから、フレームのデータサイズにかかわらず、連続した送信が可能となる。
【００８８】
（受信処理）
上述の端末Ａの送信処理により連続して送信されるフレームを受信する端末Ｂの受信処理について、図２３および図２４に示される動作と図２５の割込信号のタイミングチャートに基づき、図２８、図２９および図３０の受信モードの処理フローチャートに従い説明する。
【００８９】
なお、データとして送信すべきフレームは３個であり、１番目の送信フレームのデータサイズは２０４８byte、２番目フレームのデータサイズは５１２byteおよび３番目フレームは４byteのデータサイズを有すると想定する。続いて、図５または図６に示すディスコネクションのためのフレーム（以下、ＤＩＳＣフレームという）を受信すると想定する。ここでは、ＤＩＳＣフレームのデータサイズは１６byteとしている。
【００９０】
図２３と図２４では、受信モード時の端末１で実行される処理のそれぞれに対応して、当該処理を実行するタイミング（タイミング‘ａ’〜‘ｚ’および‘aa’〜‘ah’）と、レジスタＦＬＶ、ＦＬＶ２、ＦＬＶ３およびＦＬＶ４に格納される値と、割込信号ＥＯＦ＿ＥＩおよびＲＤＥ＿ＥＩの信号レベルを表形式にして示す。この信号レベルは、割込信号が発生した時点で‘１’となり、非発生時は‘０’を指す。図２３と図２４の動作を説明するために、図２５のタイミングチャートは、時間ｔの経過に従い送信フレームが模式的に示されるともに、図２５のタイミング‘ａ’〜‘ah’が指示され、また、これらタイミングに関連付けて割込信号ＥＯＦ＿ＥＩおよびＲＤＥ＿ＥＩが示される。
【００９１】
受信モードでは、レジスタＦＴＬＶは参照されない。レジスタＦＬＶには、送信モードと同様の値を格納する。すなわち、端末Ａから受信されてＦＩＦＯメモリ４３に書込まれたデータであって、まだ読出されていないデータのサイズ（容量）を指す。
【００９２】
レジスタＦＬＶ２、ＦＬＶ３およびＦＬＶ４には、送信すべきフレームであって、未だ送信（読出）完了していないフレームそれぞれのデータのサイズが格納される。これらレジスタの値は、対応フレームのデータ読出しに伴い更新されるライトポインタＷＰが指示するアドレスのデータ４６を用いて更新されるので、対応フレームのデータ読出完了時には‘０’となる。
【００９３】
なお、ここでは、ＦＩＦＯメモリ４３はデータ読出と受信したデータの書込が並行して行われ、（書込み速度＜読出し速度）であると想定する。
【００９４】
（初期設定）
タイミング‘ａ’の初期設定においては、ホストシステム１００のＣＰＵ１０３は、連続受信モードの信号を通信部２００に送信するので、通信部２００のＲＡＭ３２には、受信モードを指示するデータ３３が格納される。ＣＰＵ３０はデータ３３が受信モードを指示することを検出したことに応じて、受信動作を開始する。このとき、各レジスタの値は０で初期化されて、またＦＩＦＯメモリ４３の内容も初期化されていると想定する。
【００９５】
（１番目フレームの受信）
タイミング‘ｂ’〜‘ｄ’において、１番目フレームが受信される（ステップＴ７１）。具体的には、復調部５は、端末Ａから送信されるフレームのデータを受信し、バッファ５１に格納しながら、そのフレームの内容を解析部５３によって解析する。解析結果、フラグＳＴＡを検出するとフレームの受信開始の検出信号ＩＮＴ１を出力し、フラグＳＴＯを検出するとフレームの受信終了の検出信号ＩＮＴ２を出力する。
【００９６】
ＦＩＦＯアクセス部４４は、復調部５からの信号ＩＮＴ１の入力に応じて、データ書込を開始する。これにより、受信されて復調されて、ＦＩＦＯアクセス部４４に与えられたデータは、ＦＩＦＯアクセス部４４の書込動作によって、ＦＩＦＯメモリ４３に書込まれる（ステップＴ７３）。このデータ書込の過程において、演算部３９はＦＩＦＯアクセス部４４から与えられるデータ４５と４６に基づき差分を算出し、レジスタコントローラ３８は、算出した差分を（すなわち書込まれて、未だ読出されていないデータサイズを）レジスタＦＬＶに格納する。
【００９７】
１番目フレームの受信が完了すると、レジスタコントローラ３８では、信号ＩＮＴ２の入力に応じて、所定条件に従ったコピー動作が行なわれる（ステップＴ７５）。つまり、レジスタステート検出部４０は、信号ＩＮＴ２の入力を検出し、且つレジスタＦＬＶ２の値が０であることを検出したときに、レジスタＦＬＶの値をレジスタＦＶＬ２へコピーする。
【００９８】
また、１番目フレームの受信が完了すると、割込コントローラ３６は信号ＩＮＴ２の入力に応じて、割込信号ＲＤＥ＿ＥＩを生成してＣＰＵ３０に出力する。ＣＰＵ３０は、読出許可を与えるための割込信号ＲＤＥ＿ＥＩをホストシステム１００に送信する（ステップＴ７７）。
【００９９】
ホストシステム１００のＣＰＵ１０３は、割込信号ＲＤＥ＿ＥＩを入力すると、読出処理を開始するまでの所定時間（プロセスインターバルＰｉ）を、タイマ１０８を用いて計時する。ホストシステム１００における他の割込処理の優先順位に従い、ここでは、たとえば３００μｓが計時される（ステップＴ９７、Ｔ９９でＮＯ）。３００μｓの計時を終了すると（ステップＴ９９でＹＥＳ）、ＣＰＵ１０１は、ＦＩＦＯメモリ４３からの受信データの読出要求を通信部２００に対して出力する（ステップＴ１０１）。
【０１００】
（２番目フレームの受信）
タイミング‘ｅ’〜‘ｋ’では、２番目フレームの受信が行われる。
【０１０１】
図３０におけるホストシステム１００側のプロセスインターバルＰｉ（３００μｓ）の計時期間においても、通信部２００においては次位のフレーム（２番目のフレーム）の受信が行なわれて、ＦＩＦＯメモリ４３に受信データが格納される。したがって、２番目フレームデータ受信中に、３００μｓの計時が終了すると、ホストシステム１００からの読出要求に応じてＣＰＵ３０は、ＦＩＦＯアクセス部４４を制御して、ＦＩＦＯメモリ４３から、リードポインタＲＰが指示するアドレスに基づき１番目のフレームデータの読出を開始させる。
【０１０２】
ここで、１番目フレームのデータの読出は、レジスタＦＬＶ２から読出したサイズ分のデータを、ＦＩＦＯアクセス部４４によって、ＦＩＦＯメモリ４３から読出して、ホストシステム１００に送信することによってなされる（ステップＴ７９、Ｔ８１、Ｔ８３）。データ４６に基づきレジスタＦＬＶ２の値を減算しながら、サイズ分のデータを読出しを継続し、１番目フレームのデータが読出完了したとき、レジスタＦＬＶ２の値は‘０’を指示する。レジスタステート検出部４０は、レジスタＦＬＶ２の値が０を指示することを検出すると（ステップＴ８５でＹＥＳ）、読出完了の検出信号ＩＮＴ５を出力する。割込コントローラ３６は信号ＩＮＴ５を入力すると、応じてフレーム読出完了の割込信号ＥＯＦ＿ＥＩをＣＰＵ３０に出力する（ステップＴ８７）。
【０１０３】
ＣＰＵ３０は割込信号ＥＯＦ＿ＥＩを入力すると、当該割込信号をレジスタコントローラ３８に与える。レジスタコントローラ３８では割込信号ＥＯＦ＿ＥＩを入力すると、レジスタステート検出部４０は、所定条件が成立するかを検出する（ステップＴ８９）。条件成立を検出したとき（ステップＴ８９でＹＥＳ）、コピー部４０によりコピー動作が行われる（ステップＴ９１）。なお、所定条件成立を検出できないとき（ステップＴ８９でＮＯ）、一連の受信動作を終了する。
【０１０４】
本実施の形態では、受信モード後、１番目の受信フレームの読出（１回目の割込信号ＥＯＦ＿ＥＩ発生）では、レジスタコントローラ３８は、当該割込信号ＥＯＦ＿ＥＩを破棄する。したがって、割込信号ＥＯＦ＿ＥＩをトリガとした処理は行われない。
【０１０５】
その後、２番目フレームのデータ受信が完了すると、１番目フレームと同様に、レジスタＦＬＶ２の値が０であるという条件を検出したことに応じて、レジスタＦＬＶの値をレジスタＦＬＶ２へコピーする（ステップＴ８９、Ｔ９１）。また、前述したようにＣＰＵ３０によって割込信号ＲＤＥ＿ＥＩが出力される（ステップＴ９３）。割込信号ＲＤＥ＿ＥＩにより、ホストシステム１００側において前述したプロセスインターバルＰｉが計時されて、計時終了に応じて、後のタイミング‘ｒ’〜‘ｕ’において、読出要求が通信部２００に出力されて読出要求に応じて通信部２００において２番目のフレームデータのＦＩＦＯメモリ４３からの読出が行なわれる。
【０１０６】
（３番目フレームの受信）
タイミング‘ｌ’〜‘ｎ’では、３番目フレームのデータ受信が行われる。３番目フレームは、１番目フレームおよび２番目フレームのデータサイズよりも小さいサイズ（４byte）である。したがって、３番目フレーム目を受信開始し受信を完了後であっても、２番目フレームのデータはＦＩＦＯメモリ４３から読出完了（レジスタＦＬＶ２の値≠０）していない。
【０１０７】
３番目フレームのデータの受信完了（ＦＩＦＯメモリ４３への書込完了）を検出したとき、信号ＩＮＴ２の入力に応じてレジスタステート検出部４０は所定条件（レジスタＦＬＶ２の値≠０、且つレジスタＦＬＶ３の値＝０、且つレジスタＦＬＶ４の値＝０）が成立するか否かを検出する。条件成立を検出すると、コピー部４１は（レジスタＦＬＶの値−レジスタＦＬＶ２の値）をレジスタＦＬＶ３へコピーする。
【０１０８】
（４番目フレームの受信）
タイミング‘ｏ’〜‘ｑ’では、４番目フレーム（ＤＩＳＣフレーム）の受信が行われる。３番目フレームのデータに続いて、４番目フレームのデータが受信される。４番目フレームのデータサイズは１６byteである。
【０１０９】
４番目フレームのデータの受信が完了すると、信号ＩＮＴ２の入力に応じて、レジスタステート検出部４０により所定条件（レジスタＦＬＶ２の値≠０、且つレジスタＦＬＶ３の値≠０、且つレジスタＦＬＶ４の値＝０）が成立するか否かを検出する。条件成立を検出すると、コピー部４１は（レジスタＦＬＶの値−レジスタＦＬＶ２の値−レジスタＦＬＶ３の値）を、レジスタＦＬＶ４へコピーする。
【０１１０】
（フレーム受信完了後の動作）
一連のフレーム受信完了（１番目〜４番目のフレーム受信完了）は、割込用タイマ３４により検出される。割込用タイマ３４は、復調部５から信号ＩＮＴ１を入力しており、その入力間隔を計時する。計時した間隔が所定時間を超えると検出したとき、一連のフレーム受信完了を検出して、信号ＩＮＴ７を割込コントローラ３６に出力する。割込コントローラ３６は、信号ＩＮＴ７を入力すると、ＣＰＵ３０に対して、図２４の受信後動作を行なうように指示する。
【０１１１】
ＣＰＵ３０は、ホストシステム１００から読出要求の入力を待機する。読出要求を入力すると（タイミング‘ｒ’）、レジスタＦＬＶ２の値が指すサイズだけ、ＦＩＦＯアクセス部４４によりＦＩＦＯメモリ４３からデータ読出がされる（タイミング‘ｓ’、‘ｔ’）。なお、この読出開始時には、リードポインタＲＰは、１番目フレームの領域Ｅ１の最終アドレスを指すので、リードポインタＲＰを移動させながら次位の領域Ｅ２に格納されている２番目フレームのデータを読出す。この読出しに連動して、レジスタＦＬＶ２の値が減算されて、読出し終了後には‘０’を指す。このとき、割込信号ＥＯＦ＿ＥＩが出力される（タイミング‘ｕ’）。
【０１１２】
ＣＰＵ３０は、割込信号ＥＯＦ＿ＥＩの入力に応じてレジスタコントローラ３８を制御する。この制御により、レジスタステート検出部４０は所定条件（レジスタＦＬＶの値≠０、且つレジスタＦＬＶ４の値≠０）が成立するか否かを検出する。条件成立を検出すると、コピー部４１は（レジスタＦＬＶ３の値をレジスタＦＬＶ２へ、レジスタＦＬＶ４の値をレジスタＦＬＶ３へ、値０をレジスタＦＬＶ４へそれぞれコピーする（タイミング‘ｖ’）。コピー動作に応じて、レジスタコントローラ３８は信号ＩＮＴ８を出力する。割込コントローラ３６は、信号ＩＮＴ８を入力すると、割込信号ＲＤＥ＿ＥＩを出力する（タイミング‘ｗ’）。
【０１１３】
ホストシステム１００は、割込信号ＲＤＥ＿ＥＩを入力すると、プロセスインターバルＰｉの計時後、読出要求を通信部２００に出力する。
【０１１４】
ＣＰＵ３０は、ホストシステム１００から読出要求を入力すると（タイミング‘ｘ’）、レジスタＦＬＶ２の値が指すサイズだけ、ＦＩＦＯアクセス部４４によりＦＩＦＯメモリ４３からデータ読出しがされる（タイミング‘ｙ’、‘ｚ’）。なお、この読出開始時には、リードポインタＲＰは、２番目フレームの領域Ｅ２の最終アドレスを指すので、リードポインタＲＰを移動させながら次位の領域Ｅ３に格納されている３番目フレームのデータを読出す。この読出しに連動して、レジスタＦＬＶ２の値が減算されて、読出し終了後には‘０’を指す。このとき、割込信号ＥＯＦ＿ＥＩが出力される（タイミング‘ａａ’）。
【０１１５】
ＣＰＵ３０は、割込信号ＥＯＦ＿ＥＩの入力に応じてレジスタコントローラ３８を制御する。この制御により、レジスタステート検出部４０は所定条件（レジスタＦＬＶ３の値≠０、且つレジスタＦＬＶ４の値≠０）が成立するか否かを検出する。条件成立を検出すると、コピー部４１は（レジスタＦＬＶ３の値をレジスタＦＬＶ２へ、レジスタＦＬＶ４の値をレジスタＦＬＶ３へ、値０をレジスタＦＬＶ４へそれぞれコピーする（タイミング‘ａｂ’）。コピー動作に応じて、レジスタコントローラ３８は信号ＩＮＴ８を出力する。割込コントローラ３６は、信号ＩＮＴ８を入力すると、割込信号ＲＤＥ＿ＥＩを出力する（タイミング‘ａｃ’）。
【０１１６】
以下、タイミング‘ａｄ’〜‘ａｇ’において、上述と同様に、４番目のフレームのデータが読出される。
【０１１７】
ホストシステム１００のＣＰＵ１０１は、４番目フレームのデータに基づきＤＩＳＣフレームと検出すると、読出要求は出力しない。通信部２００では、クロック３７を用いて読出要求の入力間隔を計時しており、ＣＰＵ３０は、入力間隔が所定期間を超えると判定したとき、一連の受信動作を終了する。
【０１１８】
受信動作においては、通信部２００のＦＩＦＯメモリ４３を介して受信データの書込と読出とが並行して行われる。これにより、連続したフレーム受信が可能となる。連続したフレーム受信動作を制御するために、受信する各フレームのデータサイズを表示するレジスタ（ＦＬＶ２、ＦＬＶ３およびＦＬＶ４）を設け、受信したフレームの最後に付されたストップフラグＳＴＯの受信を検出したことをトリガに、コピー動作によって受信フレームそれぞれのデータサイズをこれらレジスタに格納する。一方、ホストシステム１００側は、スレーブＩＣである通信部２００から与えられる割込信号ＲＤＥ＿ＥＩをトリガに、レジスタが指す受信した各フレームのデータサイズ分だけＦＩＦＯメモリ４３より読出を行なうよう動作している。このように、受信するフレームごとに、受信データサイズをレジスタに格納し、次位のフレームの受信（書込）中に、レジスタに格納されたサイズに基づき、前に受信したフレームのデータをＦＩＦＯメモリ４３から読出すという動作を繰返す。これにより、比較的小容量のメモリを用いて、連続したフレームの受信処理が可能となる。
【０１１９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２０】
１  端末、１００  ホストシステム、２００  通信部、３  プロトコルコントローラ、３０  ＣＰＵ、３２  ＲＡＭ、３３  通信モードのデータ、３４  割込用タイマ、３５  送信インターバルタイマ、３６  割込コントローラ、３８  レジスタコントローラ、３９  演算部、４０  レジスタステート検出部、４１  コピー部、４２  レジスタ群、４３  ＦＩＦＯメモリ、４４  ＦＩＦＯアクセス部。
【図１】
2010258792.tif 000003
【図２】
2010258792.tif 000004
【図３】
2010258792.tif 000005
【図４】
2010258792.tif 000006
【図５】
2010258792.tif 000007
【図６】
2010258792.tif 000008
【図７】
2010258792.tif 000009
【図８】
2010258792.tif 000010
【図９】
2010258792.tif 000011
【図１０】
2010258792.tif 000012
【図１１】
2010258792.tif 000013
【図１２】
2010258792.tif 000014
【図１３】
2010258792.tif 000015
【図１４】
2010258792.tif 000016
【図１５】
2010258792.tif 000017
【図１６】
2010258792.tif 000018
【図１７】
2010258792.tif 000019
【図１８】
2010258792.tif 000020
【図１９】
2010258792.tif 000021
【図２０】
2010258792.tif 000022
【図２１】
2010258792.tif 000023
【図２２】
2010258792.tif 000024
【図２３】
2010258792.tif 000025
【図２４】
2010258792.tif 000026
【図２５】
2010258792.tif 000027
【図２６】
2010258792.tif 000028
【図２７】
2010258792.tif 000029
【図２８】
2010258792.tif 000030
【図２９】
2010258792.tif 000031
【図３０】
2010258792.tif 000032