(57)【要約】【課題】  処理単位のデータを出力可能とし、後処理の負荷を下げる。【解決手段】  ＦＩＦＯレジスタ１２に、送信データに含まれるプリアンブル、ヘッダ等の既知のデータに対応する参照データを格納し、比較回路１３を用いてこれら参照データを順次シフトレジスタ１１のデータと比較し、一致検出がされたときに、シフトレジスタ１１のデータをデータレジスタ１３に書き込み、ＣＰＵ３による処理単位の送信データの読み出しを可能とする。【選択図】  図１
2008077125.tif 000002
【特許請求の範囲】
【請求項１】
第１の回路からシリアル通信にて入力される送信データを第２の回路に中継するインターフェース回路であって、
前記送信データの処理単位となる所定のビット数分のレジスタを有し、前記送信データを１ビットずつ取り込む、シフトレジスタと、
前記送信データの処理単位となる所定のビット数分のレジスタを各段に有し、前記送信データに含まれるプリアンブル、ヘッダ等の既知のデータに対応する参照データを前記所定の処理単位で順次格納するＦＩＦＯレジスタと、
前記シフトレジスタに格納された前記送信データと、前記ＦＩＦＯレジスタの出力段に格納された前記参照データとを比較し、前記送信データと前記参照データとの一致を検出する比較回路と、
第２の回路により読み出されるものであり、前記比較回路により一致検出がされたときに、前記シフトレジスタに格納された前記送信データが書き込まれるデータレジスタと、
を備えたことを特徴とするインターフェース回路。
【請求項２】
前記第２の回路は、制御回路を含み、
前記制御回路は、前記比較回路により一致検出がされたときに前記ＦＩＦＯレジスタに格納する前記参照データを更新することを特徴とする請求項１に記載のインターフェース回路。
【請求項３】
前記データレジスタは、前記シフトレジスタに格納された前記送信データが書き込まれたときにこの書き込みがされたことを示すデータ入力信号を前記第２の回路に出力し、
前記制御回路は、前記データレジスタから前記データ入力信号を受けたときに前記ＦＩＦＯレジスタに格納する前記参照データの変更を指示することを特徴とする請求項１又は請求項２に記載のインターフェース回路。
【請求項４】
前記制御回路の制御により、前記更新毎に、前記ＦＩＦＯレジスタの各段のレジスタに格納された前記参照データを次段のレジスタへと送り、前記ＦＩＦＯレジスタの入力段が空となったときには新たな前記参照データを入力することを特徴とする請求項２又は請求項３に記載のインターフェース回路。
【請求項５】
前記第１の回路は無線回路を含むことを特徴とする請求項１乃至請求項４の何れかに記載のインターフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターフェース回路に関し、特に無線回路等からなる通信ＬＳＩ（Large Scale Integration）からシリアル通信されるデータを所定のビット数単位でＣＰＵ（Central Processing Unit）に渡すインターフェース回路に関するものである。
【背景技術】
【０００２】
現在、特許文献１に開示される技術のように、通信ＬＳＩとＣＰＵとの間の通信形式として同期シリアル通信が利用されている。同期シリアル通信は、例えば、図８に示すように通信ＬＳＩ８１とＣＰＵ８２との間をクロック信号線８１ａとデータ信号線８１ｂとを含む２線以上の信号線で接続し、クロック信号線８１ａのクロック信号に同期してデータ信号線８１ｂのデータ信号の状態を変化させてデータをビット毎に伝送するもので、特許文献２に開示されるように慣用技術である。特許文献１に開示されるシリアル通信のためのシリアルインターフェース回路は、特許文献２に開示されるようにＣＰＵによって実現される。
【０００３】
通信ＬＳＩ８１とＣＰＵ８２との組み合わせによるデータ通信の動作は次の通りとなる。通信ＬＳＩ８１からクロック信号に同期した送信データが出力され、クロック信号の立ち上り(又は立下りの所定の一方)に同期してデータ信号線８１ｂのデータ信号の状態を１ビットずつＣＰＵ８２の内部のレジスタに取り込む。ＣＰＵ８２は、送信データを所定のビット数、例えば、８ビットが揃った時点で処理する。この種の同期シリアル通信では、送信データの先頭に付加した既知のビットパターンのデータにより同期を取り、その後、順次例えば８ビット毎に送信データを取り出して効率的に処理する。
【０００４】
特に、通信ＬＳＩ８１としては無線回路８３を備えたものがあり、無線回路８３等による無線通信では、有線通信と比較すると、混信やノイズなどの影響によって送信データのビットが欠落する危険性が高く、例えば、特許文献３に開示されるように、送信データの先頭に複数のバイト列からなる用途別の所定(既知)のデータを付加して通信を行う。これらのデータは、プリアンブル、ヘッダ等と称され、用途毎に異なるデータとしてこれによって個々の通信を判別して通信が可能としてある。無線通信の場合には、同時に複数の無線送信機から送信データが送信されると、混信、ノイズ等の影響により送信データのビット欠落が発生しやすく、また、多種類の無線送信機をそれぞれ判別するために、複数のバイト列からなるプリアンブル、ヘッダ等を利用するのである。
【特許文献１】特開平５−３３６１２１号公報
【特許文献２】特開昭６２−１０３７４５号公報
【特許文献３】特開平１１−２２０４６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
複数のバイト列からなるプリアンブル、ヘッダ等の判別処理は、ＣＰＵ８２に内蔵の同期通信回路を介してＲＡＭ（Random Access Memory）等の作業領域に取り込み、ＣＰＵ８２の処理により所定のプリアンブルと一致するか否か１ビットずつ比較してプリアンブル、ヘッダ等を検出する。プリアンブル、ヘッダ等は所定の処理単位、例えば、８ビット（１バイト）で構成される。これは、ＣＰＵ８２にとっては高負荷の処理となる。
【０００６】
また、同期通信回路は、所定の処理単位の８ビット分のレジスタを有するシフトレジスタに一旦送信データを蓄え、８ビット単位で作業領域に出力するものであるため、送信データをこのビット単位で作業領域に読み出すこととなる。プリアンブルか否かの一致処理はシフトレジスタのデータを作業領域に読み出して１ビットずつプリアンブルと比較して、プリアンブルとの一致箇所を検出する。
【０００７】
先頭の位置を特定した後は、送信データを８ビット受ける毎に割り込み処理を行い、送信データを８ビット単位で後処理のために作業領域に格納する。
【０００８】
ここで、プリアンブルの一部の欠落等により、プリアンブルの末尾（ＬＳＢ：Less Significant Bit）が検出されることがあり、換言すれば、それに続くデータの先頭（ＭＳＢ：Most Significant Bit）の位置が特定されたときにシフトレジスタにデータの先頭が既に入力されていることがあり、データの先頭がシフトレジスタに対してビットずれをもって格納されることとなる。
【０００９】
このビットずれはその後の総ての送信データについて及ぶため、その後もシフトレジスタに送信データが８ビット入力される毎に割り込み処理を行い、同様にビットシフトして８ビット単位で送信データを格納する。ビットシフト処理では、複数のビット単位に渡る送信データに対してシフト演算を施すものとなるため、処理が煩雑となる。
【００１０】
例として図９には、送信データ９１、９２、９３として、末尾のプリアンブルとしての“１０１０１０１１（ＡＢＨ（末尾のＨは、これが１６進数表記であることを示す、以下同様））”、プリアンブルに続く“１０１１０００１（Ｂ１Ｈ）”、“１０１１００１０（Ｂ２Ｈ）”を送り、上記のビットずれが２ビットの場合を示してある。図９の（ａ）にはプリアンブルを示す。図９の（ｂ）には送信データ９１、９２、９３が送信されてシフトレジスタに入力される状態を示し、各ビットは同図の左（上位側）から順に送信される。図９の（ｃ）は、割り込み処理毎のシフトレジスタのデータの状態を示してあり、データの先頭の位置を特定したタイミングを前回の状態として、そこから送信データが８ビット入力される毎の状態を示してある。
【００１１】
同図の場合、送信データ９２を後処理のために作業領域に格納する処理では、例えば、図９の（ｄ）に示すように、プリアンブルに続くビット列“１０”の２ビットと、その後続のビット列の上位６ビット“１１０００１”とに基づくシフト演算と論理和とを組み合わせて“１０１１０００１”を得ている。このように８ビット入力される毎の割り込み処理では、今回の割り込み処理の際にシフトレジスタにデータの末尾が含まれるデータを得るとすれば、作業領域に保持した前回の割り込み処理の際のシフトレジスタの内容を左に(上位側に)６ビットだけシフトし、今回の割り込み処理の際のシフトレジスタの内容を右に(下位側に)２ビットだけシフトし、これらの論理和をとることによって目的の送信データを得ている。このようにＣＰＵによる割り込み処理は煩雑なものとなり、これも、ＣＰＵ８２にとっては高負荷の処理となっている。
【００１２】
そこで、本発明の目的は、ＣＰＵの負荷を軽減することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明のインターフェース回路は、
第１の回路からシリアル通信にて入力される送信データを第２の回路に中継するインターフェース回路であって、
前記送信データの処理単位となる所定のビット数分のレジスタを有し、前記送信データを１ビットずつ取り込む、シフトレジスタと、
前記送信データの処理単位となる所定のビット数分のレジスタを各段に有し、前記送信データに含まれるプリアンブル、ヘッダ等の既知のデータに対応する参照データを前記所定の処理単位で順次格納するＦＩＦＯレジスタと、
前記シフトレジスタに格納された前記送信データと、前記ＦＩＦＯレジスタの出力段に格納された前記参照データとを比較し、前記送信データと前記参照データとの一致を検出する比較回路と、
第２の回路により読み出されるものであり、前記比較回路により一致検出がされたときに、前記シフトレジスタに格納された前記送信データが書き込まれるデータレジスタと、
を備えたことを特徴とする。
【００１４】
ここで、前記第２の回路は、制御回路を含み、前記制御回路は、前記比較回路により一致検出がされたときに前記ＦＩＦＯレジスタに格納する前記参照データを更新することが好ましい。
【００１５】
また、前記データレジスタは、前記シフトレジスタに格納された前記送信データが書き込まれたときにこの書き込みがされたことを示すデータ入力信号を前記第２の回路に出力し、前記制御回路は、前記データレジスタから前記データ入力信号を受けたときに前記ＦＩＦＯレジスタに格納する前記参照データの変更を指示することも好ましい。
【００１６】
また、前記制御回路の制御により、前記更新毎に、前記ＦＩＦＯレジスタの各段のレジスタに格納された前記参照データを次段のレジスタへと送り、前記ＦＩＦＯレジスタの入力段が空となったときには新たな前記参照データを入力することも好ましい。
【００１７】
また、前記第１の回路は無線回路を含むことも好ましい。
【発明の効果】
【００１８】
本発明のインターフェース回路によれば、プリアンブル、ヘッダ等の既知のデータを検出し、所定の処理単位でデータを出力可能としたのでＣＰＵによる処理を簡素化することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、この発明の実施の形態に係るインターフェース回路について説明する。
【００２０】
図１に示すように、本発明の実施の形態に係るインターフェース回路１は、通信ＬＳＩ２と、ＣＰＵ３との間に設けられ、通信ＬＳＩ２から出力される同期シリアル通信によって送られたデータを受信し、このデータを所定の処理単位で内部のデータレジスタに格納し、この内容をＣＰＵ３が読み取ることによって、ＣＰＵ３は所定の処理単位、本例では８ビットずつ、データの受信する構成となっている。
【００２１】
インターフェース回路１は、通信ＬＳＩ２からのクロック信号線２ａとデータ信号線２ｂとに接続されたシフトレジスタ１１を備える。シフトレジスタ１１は、所定の処理単位の８ビットに対応する図示しない８段のレジスタからなるシフトレジスタであり、クロック信号線２ａのクロック信号の立ち上りに同期してデータ信号線２ｂのデータ信号の“Ｈ”レベル、“Ｌ”レベルで示される送信データを入力段のレジスタから１ビットずつ取り込むとともに、前段のレジスタから後段のレジスタへと取り込んだデータをシフトする。また、各レジスタに格納したデータはデータ信号線１１ａ、１１ｂを介してそれぞれ後述する比較回路、データレジスタにパラレルに出力される。
【００２２】
ＦＩＦＯ（First-In First-Out）レジスタ１２は、入力段のレジスタとしてのインプットレジスタ１２ａと、出力段のレジスタとしてコンペアレジスタ１２ｂとからなる。インプットレジスタ１２ａ、コンペアレジスタ１２ｂは、送信データの処理単位となる所定のビット数、本例では８ビット分のレジスタである。インプットレジスタ１２ａ、コンペアレジスタ１２ｂには、プリアンブル、ヘッダ等の検出対象となる既知のデータが順次格納される。インプットレジスタ１２ａには、ＣＰＵ３からパラレルに送られたデータが書き込まれ、コンペアレジスタ１２ｂには、先にインプットレジスタ１２ａに格納されたデータがデータ線１２ｃを介してパラレルに送られて書き込まれる。コンペアレジスタ１２ｂに書き込まれたデータは、データ線１２ｄを介して比較回路にパラレルに出力される。
【００２３】
比較回路１３は、データ信号線１１ａを介してシフトレジスタ１１の各レジスタに格納されたデータをパラレルに受け、データ信号線１２ｄを介してコンペアレジスタ１２ｂに格納されたデータをパラレルに受ける。比較回路１３は、クロック信号線２ａを介してクロック信号を受けており、クロック信号に同期してこれらのデータを比較し、両データが一致したときには信号線１３ａを介して一致信号をＣＰＵ３に送り、両データが一致しなかったときには信号線１３ｂを介して不一致信号をＣＰＵ３に送る。また、両データが一致したときには信号線１３ｃを介してデータ出力信号をシフトレジスタ１１に送る。シフトレジスタ１１は、データ出力信号を受けると、信号線１１ｂを介して各レジスタに格納したデータをデータレジスタに送る。
【００２４】
データレジスタ１４は、データ出力信号が送られたときにデータ信号線１１ｂを介してシフトレジスタ１１の各レジスタに格納された値が並列に書き込まれるレジスタで、処理単位の８ビットのデータが格納される。データレジスタ１４は、データを格納すると、信号線１４ａを介してＣＰＵ３に対してデータ入力信号を出力する。これにより、ＣＰＵ３は、データ入力信号に応答し、データ信号線１４ｂを介してデータレジスタ１４に格納されたデータの各ビットを並列に読み出すことが可能となる。
【００２５】
リセット回路１５は、信号線３ｂを介したＣＰＵ３の制御によってインターフェース回路１をリセットするものであり、これによりシフトレジスタ１１のデータ、データレジスタ１４のデータ等が総て“０”にリセットされる。
【００２６】
通信ＬＳＩ２は、図示しないＲＦ受信部、ＲＦ送信部、復調部、変調部、同期シリアル通信部等からなる無線回路２１を備え、無線信号から復調したデータをクロック信号線２ａのクロック信号に同期して、データ信号線２ｂのデータ信号として出力する。
【００２７】
ＣＰＵ３は、データレジスタ１３を介してシフトレジスタ１１に入力されたデータを読み取る。また、ＣＰＵ３は、ＦＩＦＯレジスタ１２、比較回路１３、データレジスタ１４から送られる各信号に基づいてインターフェース回路１を制御する。
【００２８】
次に実施形態に係るインターフェース回路１の動作を説明する。図２、図３、図４は、それぞれＣＰＵ３、ＦＩＦＯレジスタ１１、比較回路１３ａの動作説明のためのフローチャートであり、また、図５は図４のフローチャートの一部の処理を示すものであり、これらを参照して説明する。
【００２９】
ここでは、インターフェース回路１を介して通信ＬＳＩ２からＣＰＵ３へと送信される送信データの内検出すべきデータを、“００００１００１（０９Ｈ）”のプリアンブルと、これに続く、“０１０１１０１０（５ＡＨ）”のヘッダとして説明する。
【００３０】
通信ＬＳＩ２とＣＰＵ３との間の通信を開始するため、ＣＰＵ３は図２に示すように、先ずリセット信号をインターフェース回路１に送りこれをリセットする（ステップ２１）。
【００３１】
インターフェース回路１は、リセット回路１５を介してリセット信号を受けて各レジスタに格納された値を“０”にクリアする。ＦＩＦＯレジスタ１２では、図３に示すようにリセット信号が受ける（ステップ３１）と、各レジスタに格納された値を“０”にクリアし、レジスタエンプティ信号を“１”にセットして信号線１２ｅを介してＣＰＵ３に送る（ステップ３２）。なお、ステップ３１の“Ｎｏ”の場合のような各ループ処理は適当な期間を超えてされた場合、エラーとして動作を終了するものとする。
【００３２】
ＣＰＵ３は、ＦＩＦＯレジスタ１２に書き込むプリアンブル、ヘッダ等に対応する参照データの有無を判定する（ステップ２２）。ＣＰＵ３は、ここで書き込むべき参照データが有れば、ＦＩＦＯレジスタ１２に書き込み可能か否かをレジスタエンプティ信号により判定する（ステップ２３）。ＣＰＵ３は、レジスタエンプティ信号が“１”にセットされていれば、ＦＩＦＯレジスタ１２に参照データを書き込む（ステップ２４）。ＣＰＵ３は、先ず、先頭の参照データとしてプリアンブルに対応する“０９Ｈ”を、データ線３ａを介してＦＩＦＯレジスタ１２に送る。
【００３３】
次にＣＰＵ３は、比較回路１３からの一致信号の有無を判定する（ステップ２５）が、ここでは未だ比較回路１３の処理は行われておらず、これを受けていない。この場合、ＣＰＵ３は、比較回路１３からの不一致信号の有無を判定し（ステップ２６）、ステップ２２の処理に戻る。
【００３４】
ＦＩＦＯレジスタ１２はレジスタエンプティ信号のセットの後に参照データの書き込みの有無を判定しており（ステップ３３）、参照データを受け取ると、これをインプットレジスタ１２ａに書き込む（ステップ３４）。ＦＩＦＯレジスタ１２は、この書込みに続いてレジスタエンプティ信号を“０”にクリアするとともに、検出動作状態を示すために比較終了信号を“０”にクリアする。
【００３５】
次にＦＩＦＯレジスタ１２は、インプットレジスタ１２ａに書き込まれた参照データをコンペアレジスタ１２ｂに書き込む（ステップ３５）。この書込みに続いてインプットレジスタ１２ａをクリアするとともに、レジスタエンプティ信号を“１”にセットする。
【００３６】
ＣＰＵ３は、レジスタエンプティ信号が“１”にセットされていると（ステップ２３）、先に書き込んだ参照データの次の参照データであるヘッダに対応する“５ＡＨ”を、データ線３ａを介してＦＩＦＯレジスタ１２に送る（ステップ２４）。
【００３７】
ＦＩＦＯレジスタ１２はコンペアレジスタへの書込みの後に参照データの書き込みの有無を判定しており（ステップ３６）、データ線３ａを介して参照データを受けると、これをインプットレジスタ１２ａに書き込む（ステップ３７）。ＦＩＦＯレジスタ１２は、この書込みに続いてレジスタエンプティ信号を“０”にクリアする。
【００３８】
ここまでの処理により、コンペアレジスタ１２ｂ、インプットレジスタ１２ａにはそれぞれプリアンブルに対応する参照データ“００００１００１”、これに続くヘッダに対応する参照データ“０１０１１０１０”が格納される。また、ここまでの処理に要する期間は、クロック信号線２ａのクロック信号の立ち上りの周期に比べて十分短く、ここまでの処理は比較回路１３がシフトレジスタ１１のデータとコンペアレジスタ１２ｂのデータとの比較を開始する前に終わる。
【００３９】
図４に示すように、比較回路１３は、比較終了信号が“０”にクリアされていることを判定し（ステップ４１）、処理を開始し、クロック信号の立ち上りを待つ（ステップ４２）。
【００４０】
図６の（ａ）から（ｄ）に示すように、クロック信号線２ａのクロック信号の立ち上がりに同期してシフトレジスタ１１は、既存のデータの各ビットを上位側（ＭＳＢの側）に１ビットだけシフトさせるとともに、データ信号線２ｂのデータ信号の“Ｈ”レベルを“１”に対応させ、データ信号の“Ｌ”レベルを“０”に対応させて送られる送信データを入力段（ＬＳＢ）となるレジスタから１ビットずつ取り込む。
【００４１】
比較回路１３は、クロック信号の立ち上りに同期して、シフトレジスタ１１に格納されたデータと、コンペアレジスタ１２ｂに格納された先頭の参照データとを比較する（ステップ４３）。比較回路１３は、データの一致が検出された否かを判定しており（ステップ４４）、データの一致が検出されないとステップ４２に戻る。比較回路１３は、クロック信号の立ち上り毎に、シフトレジスタ１１に格納されたデータと、コンペアレジスタ１２ｂに格納された先頭の参照データとの一致を検出するまで比較動作を繰り返すことになる。
【００４２】
図６の（ｄ）に示すように、シフトレジスタ１１に格納されたデータと、コンペアレジスタ１２ｂに格納された先頭の参照データとが一致すると、比較回路１３は、一致信号を“１”にセットして信号線１３ａを介してＣＰＵ３、ＦＩＦＯレジスタ１２に送る（ステップ４５）。比較回路１３は、これと同時にデータ出力信号を“１”にセットして信号線１３ｃを介してシフトレジスタ１１に送るとともに、クロック信号の立ち上りに同期してカウントアップする図示しないビットカウンタのカウント値を“０”にクリアする。
【００４３】
シフトレジスタ１１は、データ出力信号を受けると、格納しているデータをデータ信号線１１ｂを介してデータレジスタ１４に送る。データレジスタ１４は、シフトレジスタ１１からのデータを格納すると、信号線１４ａを介してＣＰＵ３に対してデータ入力信号を出力する。
【００４４】
ＣＰＵ３は、一致信号を受けると（ステップ２５）、データレジスタ１４からのデータ入力信号の有無を判定する（ステップ２７）。ＣＰＵ３は、一致信号の直後にデータ入力信号を受けており、これに応答してデータ信号線１４ｂを介してデータレジスタ１４からデータを読み取る（ステップ２８）。次にＣＰＵ３は、ＦＩＦＯレジスタ１２から信号線１２ｆを介して送られる比較終了信号の有無を判定し、つまり、比較終了信号が“１”にセットされているか、“０”にクリアされているかを判定しており（ステップ２９）、比較終了信号が“０”にクリアされている、換言すれば、未だＦＩＦＯレジスタ１２に比較すべき参照データがあるときには、ステップ２２の処理に戻る。なお、ここでのステップ２２の処理では、本例では参照データを２つとして説明しているので、既にＦＩＦＯレジスタ１２に送るべき参照データはなく、ステップ２５の処理に移る。
【００４５】
ＦＩＦＯレジスタ１２は、一致信号を受けると（ステップ３８）、コンペアレジスタ１２ｂのデータを“０”にクリアする（ステップ３９）。このとき、各レジスタが格納するデータは、図６の（ｅ）に示すようになる。次にＦＩＦＯレジスタ１２は、レジスタエンプティ信号が“１”にセットされているか否か判定する（ステップ３Ａ）。ＦＩＦＯレジスタ１２は、レジスタエンプティ信号が“１”にセットされていない、つまり、次に比較すべき参照データがインプットレジスタ１２ａあれば、その参照データをコンペアレジスタ１２ｂに書き込む（ステップ３Ｂ）。ＦＩＦＯレジスタ１２は、これに続いてインプットレジスタ１２ａのデータを“０”にクリアするとともに、レジスタエンプティ信号を“１”にセットする。このとき、各レジスタが格納するデータは、図６の（ｆ）に示すようになる。
【００４６】
コンペアレジスタ１２ｂへの書込みの後にＦＩＦＯレジスタ１２は、ステップ３６の書込みの有無を判定する処理に戻る。このとき、ＣＰＵ３にはＦＩＦＯレジスタ１２に書き込むべき参照データを送り終えているとすると、ＦＩＦＯレジスタ１２は、ステップ３８の一致信号の有無を判定する処理に移る。
【００４７】
比較回路１３は、ステップ４５の処理で一致信号のセット、データ出力信号のセット、ビットカウンタのクリアを行った後に、ＣＰＵ３と同様に比較終了信号の有無を判定し(ステップ４６)、比較終了信号が無い、換言すれば、比較終了信号が“０”にクリアされていれば、クロック信号の立ち上りを待つ(ステップ４７)。
【００４８】
クロック信号の立ち上がりを契機としてステップ４４の処理で先頭の参照データについて一致が検出されてからここまでの処理は、次のクロック信号の立ち上がりの前に終わる。
【００４９】
次にクロック信号が立ち上がると、比較回路１３は図示しない内部のビットカウンタのカウント値を１つ増加させる(ステップ４８)。次に比較回路１３はカウント値が所定の値“８（１０００Ｂ）”であるか否かを判定し(ステップ４９)、所定の値“８”でなければ、ステップ４７の処理に戻り、次のクロック信号の立ち上りを待つ。このようにして比較回路１３はクロック信号の立ち上りに同期してカウントアップしてカウント値が所定の値“８”となると、換言すれば、前回の一致信号の発生後に８ビット分のデータがシフトレジスタ１１に入力されると、シフトレジスタ１１に格納されたデータと、コンペアレジスタ１２ｂに格納された参照データとを比較する（ステップ４Ａ）。比較回路１３は、これらデータの一致が検出されたか否か判定しており（ステップ４４）、データが一致していれば、ステップ４５の処理に戻り、一致信号とデータ出力信号とを発生させるとともにビットカウンタをクリアする。これにより、シフトレジスタ１１のデータはデータレジスタ１４に送られ、データ入力信号を受けたＣＰＵ３によってそこから読み出し可能となる。
【００５０】
ＦＩＦＯレジスタ１２は、一致信号を受けると（ステップ３８）、ステップ３９の処理にてコンペアレジスタ１２ｂのデータをクリアした後、ステップ３Ａの処理でレジスタエンプティ信号がセットされているか否か判定する。ここでは、図６の（ｆ）に示すようにインプットレジスタ１２ａのデータはクリアされ、レジスタエンプティ信号が“１”にセットされているので、ＦＩＦＯレジスタ１２は、レジスタエンプティ信号がセットされていると判定する。この場合、ＦＩＦＯレジスタ１２は、比較終了信号を“１”にセットして信号線１２ｆを介してＣＰＵ３と比較回路１３とに送る（ステップ３Ｃ）。これにより、ＦＩＦＯレジスタ１２は、比較終了信号のセットにより比較すべき参照データは尽きて比較処理は終了したことをこれらの回路に送り、その動作を終了する。
【００５１】
一方ＣＰＵ３は、一致信号を受け（ステップ２５）、データ入力信号を受け（ステップ２７）、送信データを読み取り（ステップ２８）、比較終了信号の有無を判定する（ステップ２９）。ＣＰＵ３は、比較終了信号が有る、換言すれば“１”とセットされていると判定すると、通信終了とするか否かを判定し（ステップ２Ａ）、通信が継続していれば、データ入力信号を待って（ステップ２Ｂ）、これを受ける毎にデータレジスタ１４から送信データを読み取る（ステップ２Ｃ）。なお、ステップ２Ａの処理で通信終了と判定した場合、そのことを示す信号を図示しない信号線を介して比較回路１３に送り、通信処理を終了する。
【００５２】
比較回路１３は、一致信号をセットした後にＣＰＵ３と同様に比較終了信号の有無を判定する（ステップ４５）。ここで、比較回路１３は、比較終了信号が有ると判定すると、ＣＰＵ３から通信終了を示す信号を受けたか否かを判定し（ステップ４Ｄ）、通信が継続していれば、参照データと比較されたヘッダの後続の送信データについて処理を行う（ステップ４Ｅ）。この後続の送信データ処理は、図５のフローチャートに示す。
【００５３】
後続の送信データ処理では、比較回路１３は、ビットカウンタとして動作し、クロック信号の立ち上りを待って(ステップ５１)、その立ち上り毎にカウントアップし(ステップ５２)、カウント値が所定の値“８”となる(ステップ５３)毎に、データ出力信号をセットしてカウント値を“０”にクリアする。これにより、最後の参照データに対する一致信号の発生後についても、８ビット分のデータがシフトレジスタ１１に入力される毎にデータ出力信号がシフトレジスタ１１に送られ、シフトレジスタ１１のデータはデータレジスタ１４に送られ、データ入力信号を受けたＣＰＵ３によってそこから読み出し可能となる。
【００５４】
また、比較回路１３は、上述のステップ４Ｂの処理でシフトレジスタ１１に格納されたデータと、コンペアレジスタ１２ｂに格納された参照データとが一致していないと判定すると、不一致信号を“１”にセットして信号線１３ｂを介してＣＰＵ３に送る。
【００５５】
ＣＰＵ３は、ステップ２６の処理で不一致信号有りと判定すると、ステップ２１の処理に戻ってリセット信号２１をインターフェース回路１に送りこれをリセットする。つまり、不一致信号があったときには通信を最初からやり直すこととなる。
【００５６】
以上のようにインターフェース回路１及びＣＰＵ３を組み合わせた構成による通信では、プリアンブルに対応する先頭の参照データ、プリアンブルに続くヘッダに対応する参照データを所定の処理単位でＦＩＦＯレジスタ１２に順次格納して、その出力段のレジスタであるコンペアレジスタ１２ｂに格納されたデータと、送信データを受けるシフトレジスタ１１に格納されたデータとを比較し、これらの一致したときにシフトレジスタ１１のデータを所定の処理単位でデータレジスタ１４に格納し、これをＣＰＵ３から読み取るように構成している。このため、上記構成により、ＣＰＵ３のプリアンブル、ヘッダ等を検出するための負荷を抑えることができる。加えて、ＣＰＵ３において、送信データを所定の処理単位に整えるためのシフト処理を行う必要がなく、その分ＣＰＵ３の負荷も抑えられている。
【００５７】
また、先頭の参照データについては、シフトレジスタ１１にデータが１ビット入力される毎にシフトレジスタ１１のデータと比較するようにし、この後の参照データについては、シフトレジスタ１１にデータが所定の処理単位である８ビット入力される毎にシフトレジスタ１１のデータと比較するようにしてある。これによれば、確実に先頭の参照データに対応する送信データを補足でき、その後は処理の負荷を抑えることが可能となっている。
【００５８】
また、上述の説明では便宜上参照データを２つとして述べたが、本発明はこれに限るものではない。例えば、図７に示すように目的の通信パターン毎に参照データを定めたテーブルをＣＰＵ３の図示しない不揮発性メモリに用意して、３つの以上の参照データを使用しても良い。
【００５９】
また、上述の説明では一致信号と不一致信号とを別の信号線を介してＣＰＵ３に送る構成を採っているが、本発明はこれに限るものではない。例えば、一致信号のみを用いるとして、一致信号のない状態を不一致信号のある状態とすれば、上述の処理において、ＣＰＵ３のステップ26の処理を、既に一致信号を受けているか否かの判定処理に変更し、比較回路１３のステップ４Ｃの処理を省くように変更すればよい。
【００６０】
また、上述の説明では、ＦＩＦＯレジスタ１２を２段のレジスタで構成したが、本発明はこれに限るものではなく３段以上のレジスタで構成しても良い。その場合、上述の処理において、ＦＩＦＯレジスタ１２のステップ３５、３６、３７で扱うレジスタエンプティ信号はインプットレジスタ１２ａに対応する入力段のレジスタがクリアされているか否かを示すものとし、ステップ３Ａで扱うレジスタエンプティ信号は、コンペアレジスタ１２ｂに対応する出力段から一つ入力段側のレジスタがクリアされているか否かを示すものとすればよい。
【００６１】
また、本発明は、上述の実施形態に限るものではなく、インターフェース回路１の機能を通信ＬＳＩまたはＣＰＵ３に持たせるようにしてもよい。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施の形態にかかるインターフェース回路の構成を示すブロック図である。
【図２】本発明の実施の形態にかかるインターフェース回路の動作説明、特にＣＰＵの動作説明のためのフローチャート。
【図３】本発明の実施の形態にかかるインターフェース回路の動作説明、特にＦＩＦＯレジスタの動作説明のためのフローチャート。
【図４】本発明の実施の形態にかかるインターフェース回路の動作説明、特に比較回路の動作説明のためのフローチャート。
【図５】本発明の実施の形態にかかるインターフェース回路の動作説明、特に比較回路の動作説明のためのフローチャート。
【図６】各レジスタに格納されたデータを説明するブロック図である。
【図７】参照データの例を説明する説明図である。
【図８】従来のインターフェース回路を説明するブロック図である。
【図９】従来のインターフェース回路の動作を説明する説明図である。
【符号の説明】
【００６３】
１      インターフェース回路
２      通信ＬＳＩ（第１の回路）
３      ＣＰＵ（第２の回路、制御回路）
１１    シフトレジスタ
１２    ＦＩＦＯレジスタ
１３    比較回路
１４    データレジスタ
【図１】
2008077125.tif 000003
【図２】
2008077125.tif 000004
【図３】
2008077125.tif 000005
【図４】
2008077125.tif 000006
【図５】
2008077125.tif 000007
【図６】
2008077125.tif 000008
【図７】
2008077125.tif 000009
【図８】
2008077125.tif 000010
【図９】
2008077125.tif 000011