(57)【特許請求の範囲】
【請求項１】
シリアルデータが入力され受信バッファに格納するデータ制御回路において、
今回入力されつつあるシリアルデータと前回入力されたシリアルデータを相互に対応するビットごとに１ビットずつ比較するデータ比較器と、
前記データ比較器による比較結果に応じて、今回入力されたシリアルデータが前回入力されたシリアルデータと同一のデータであるか否かを表わすフラグを、今回入力されたシリアルデータに対応づけて記憶するフラグ記憶部とを備えたことを特徴とするデータ制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シリアルデータが入力され受信バッファに格納するデータ制御回路に関する。
【０００２】
【従来の技術】
近年、携帯端末の普及に代表されるように、ローコストで低消費電力で動作する無線通信方式が社会から要求されているのと同時に通信スピードの高速化に伴い、システムとしての高スループットヘの要求がますます高まる方向にある。通常、主たる局から複数の従たる局に対して同一のデータを同時に送信する場合、ブロードキャストパケットを使用し、受信側ヘデータが伝わる確率を向上させる意味で、これを複数回送信する。受信側には、送信側からのデータ（シリアルデータ）を入力して受信バッファに格納するデータ制御回路が備えられており、このデータ制御回路では、転送状態が劣悪でない場合は、これを複数回受信する。また、データ制御回路から受信データ到着の知らせを受けた受信側のソフトウェアでは、この受信データを受け取るために、その受信側のハードウェアに対してアクセスを行なう。例えば、４００バイトの受信データを１６ビット（２バイト）のデータ幅のデータバスを使用してアクセス（読み出しアクセス）する場合、単純に計算して４００バイト／２バイト＝２００回の読み出しが行なわれる。
【０００３】
【発明が解決しようとする課題】
上述したように、受信側では、４００バイトの受信データを１６ビットのデータ幅のデータバスで読み出す場合、２００回の読み出しを行なう必要がある。これが複数回連続した場合、（２００回×複数回）の読み出しアクセスが発生することになる。しかし、同一のデータの場合、最初のデータ以外は捨てられる可能性が高いため、この例の場合、（２００回×複数回）の読み出しアクセスのほとんど(最初の1回以外)が無駄になってしまうことが多く、システム全体のスループットの低下や、消費電力の増加という問題がある。
【０００４】
本発明は、上記事情に鑑み、システム全体のスループットが高められるとともに消費電力の増加が抑えられたデータ制御回路を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成する本発明のデータ制御回路は、シリアルデータが入力され受信バッファに格納するデータ制御回路において、
今回入力されつつあるシリアルデータと前回入力されたシリアルデータを相互に対応するビットごとに１ビットずつ比較するデータ比較器と、
上記データ比較器による比較結果に応じて、今回入力されたシリアルデータが前回入力されたシリアルデータと同一のデータであるか否かを表わすフラグを、今回入力されたシリアルデータに対応づけて記憶するフラグ記憶部とを備えたことを特徴とする。
【０００６】
同時に複数の通信相手方を持つことのできる無線通信方式において、同一データの送信が複数回繰り返される場合、受信側で同一データが複数回受信されれば当然のように通常データと同様に受信され、受信処理が行なわれる。
【０００７】
通常、同一データが繰り返されるような場面は稀であるが、ブロードキャストデータのように、同時に複数の相手方へ同一データを送信する場合、通信データの欠落を防ぐ意味で、複数回送信することがある。これを受信した場合、受信側では同じデータを読み出すための処理が何回も連続することになり、データ処理のスループットを低下させることがある。
【０００８】
本発明のデータ制御回路は、今回入力されたシリアルデータが前回入力されたシリアルデータと同一のデータであるか否かを表わすフラグを、今回入力されたシリアルデータに対応づけて記憶するものであるため、上記フラグを参照することにより無駄な読み出しを事前に防止することができる。従って、システム全体の受信データの処理スピードが改善されてスループットが高められ、且つ消費電力の増加も抑えられる。
【０００９】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【００１０】
図１は、本発明の一実施形態のデータ制御回路のブロック図である。
【００１１】
図１に示すデータ制御回路１には、シリ−パラ変換レジスタ部１０と、受信バッファ２０と、同一データ受信フラグ切替器３０と、データセレクト部４０と、データ比較器５０と、制御回路６０とが備えられている。シリ−パラ変換レジスタ部１０、データ比較器５０、および制御回路６０には、シリアルデータＲＸＤＡＴが入力される。また、データ比較器５０にはシステムクロックＳＹＳＣＬＫが入力され、制御回路６０には受信クロックＲＸＣＬＫが入力される。先ず、シリ−パラ変換レジスタ部１０について、図２を参照して説明する。
【００１２】
図２は、図１に示すシリ−パラ変換レジスタ部の構成を示す図である。
【００１３】
図２に示すシリ−パラ変換レジスタ部１０は、１パケットあたりｎ＋１ビット構成のシリアルデータＲＸＤＡＴを入力し、入力されたｎ＋１ビットのシリアルデータＲＸＤＡＴを、ｎ＋１ビットのパラレルデータＲＸＤＡＴ［０］，…，ＲＸＤＡＴ［ｎ−１］，ＲＸＤＡＴ［ｎ］に変換する回路である。
【００１４】
このシリ−パラ変換レジスタ部１０には、アンドゲート１１＿０，…，１１＿ｎ−１，１１＿ｎと、セレクタ１２＿０，…，１２＿ｎ−１，１２＿ｎと、フリップフロップ１３＿０，…，１３＿ｎ−１，１３＿ｎとが備えられている。アンドゲート１１＿０，…，１１＿ｎ−１，１１＿ｎの各一方の入力端子には、制御回路６０からのロード信号ＬＯＡＤが入力される。また、アンドゲート１１＿０，…，１１＿ｎ−１，１１＿ｎの各他方の入力端子には、カウント値０，…，ｎ−１，ｎを有する受信データカウント信号ＲＸＤＣＯＵＮＴが入力される。ここで、受信データカウント信号ＲＸＤＣＯＵＮＴは、制御回路６０から出力される、受信データ（シリアルデータＲＸＤＡＴ）が現在何ビット目であるかを示す信号であり、上記カウント値０，…，ｎ−１，ｎは、シリアルデータＲＸＤＡＴを構成するビット（先頭ビットはＬＳＢとする）０，…，ｎ−１，ｎに対応する。
【００１５】
このシリ−パラ変換レジスタ部１０は、入力されるシリアルデータＲＸＤＡＴの受信開始とともに、このシリアルデータＲＸＤＡＴを、そのシリアルデータＲＸＤＡＴを構成するビットに対応するフリップフロップにセットする。先ず、シリアルデータＲＸＤＡＴを構成する先頭のビット（ＬＳＢ）をセットするために、制御回路６０からカウント値０を有する受信データカウント信号ＲＸＤＣＯＵＮＴが出力される。次いで、ロード信号ＬＯＡＤがセット（論理１）される。すると、シリアルデータＲＸＤＡＴを構成する先頭のビットに対応するデータＲＸＤＡＴ［０］が、セレクタ１２＿０を経由してフリップフロップ１３＿０に格納される。以下同様にして、ｎ−１ビットに対応するデータＲＸＤＡＴ［ｎ−１］が、セレクタ１２＿ｎ−１を経由してフリップフロップ１３＿ｎ−１に格納され、ｎビットに対応するデータＲＸＤＡＴ［ｎ］が、セレクタ１２＿ｎを経由してフリップフロップ１３＿ｎに格納されて受信が完了する。フリップフロップ１３＿０，…，１３＿ｎ−１，１３＿ｎに格納されたデータＲＸＤＡＴ［０］，…，［ｎ−１］，［ｎ］は受信バッファ２０およびデータセレクト部４０に入力されている。次に、受信バッファ２０および同一データ受信フラグ切替器３０について、図３を参照して説明する。
【００１６】
図３は、図１に示す受信バッファおよび同一データ受信フラグ切替器の構成を示す図である。
【００１７】
図３に示す受信バッファ２０には、それぞれがｎ＋１ビット構成である３段の受信バッファ部２１＿０，２１＿１，２１＿２からなる受信データ記憶部２１と、それら受信バッファ部２１＿０，２１＿１，２１＿２に対応して設けられたそれぞれが１ビット構成である同一データ受信フラグ部２２＿０，２２＿１，２２＿２からなるフラグ記憶部２２が備えられている。フラグ記憶部２２には、後述するデータ比較器５０による比較結果に応じて、今回入力されたシリアルデータＲＸＤＡＴが前回入力されたシリアルデータＲＸＤＡＴと同一のデータであるか否かを表わす同一データ受信フラグが、今回入力されたシリアルデータＲＸＤＡＴに対応づけて記憶される。
【００１８】
また、同一データ受信フラグ切替器３０は、外部からの読み出し受信データ切替信号ＳＥＬを入力し、受信データ記憶部２１を構成する３段の受信バッファ部２１＿０，２１＿１，２１＿２のいずれかに格納されたデータに対応する同一データ受信フラグを選択して、データバスに出力する。ここで、同一データ受信フラグをデータバスに出力するにあたり、その同一データ受信フラグを、割込ステータスを構成する１ビットのデータとして、データバスを経由して外部から読み出される（割込ステータス読み出し方式と称する）ようにすることが好ましい。このようにすることにより、ＣＰＵは、受信データ到着による割込発生を受けて、割込ステータスを読み出すという通常動作のみで済み、従って新たなハードウエアアクセスが追加されることもなく、無駄な同一データの読み出し動作が回避されてＣＰＵの処理効率が高まる。
【００１９】
図４は、図１に示すデータセレクト部を示す図である。
【００２０】
図４に示すデータセレクト部４０は、データＲＸＤＡＴ［０］，…，［ｎ−１］，［ｎ］が入力される入力端子０，…，ｎ−１，ｎを有する。また、データセレクト部４０は、カウント値０，…，ｎ−１，ｎを有する受信データカウント信号ＲＸＤＣＯＵＮＴ（受信データカウント信号ＲＸＤＣＯＵＮＴ０〜ｎと記述する）が入力される切替端子を有する。データセレクト部４０は、今回入力されつつあるシリアルデータＲＸＤＡＴと前回入力されたシリアルデータＲＸＤＡＴを時系列的に対応するビットごとに１ビットずつ比較するために、前回入力されたシリアルデータＲＸＤＡＴがパラレルに変換されてなるデータＲＸＤＡＴ［０］，…，［ｎ−１］，［ｎ］について、受信データカウント信号ＲＸＤＣＯＵＮＴ０〜ｎで順次選択することにより、今回入力されつつあるシリアルデータＲＸＤＡＴに対応するビットを抽出する。これにより、今回入力されつつあるシリアルデータＲＸＤＡＴに対応するビットを表わす前回のデータＯＬＤＲＸＤＡＴが出力される。
【００２１】
図５は、図１に示すデータ比較器の構成を示す図である。
【００２２】
図５に示すデータ比較器５０は、今回入力されつつあるシリアルデータＲＸＤＡＴと前回入力されたシリアルデータＲＸＤＡＴ（データＯＬＤＲＸＤＡＴ）を相互に対応するビットごとに時系列的に１ビットずつ比較する比較器であり、このデータ比較器５０には、エクスクルーシブ・オアゲート５１，アンドゲート５２，オアゲート５３と、フリップフロップ５４とが備えられている。エクスクルーシブ・オアゲート５１には、前回入力されたシリアルデータＲＸＤＡＴに対応するデータＯＬＤＲＸＤＡＴと、今回入力されつつあるシリアルデータＲＸＤＡＴとが順次に入力され、その出力はアンドゲート５２の一方の入力に入力される。また、アンドゲート５２の他方の入力には、ロード信号ＬＯＡＤが入力され、その出力はオアゲート５３の一方の入力に入力されている。オアゲート５３の出力はフリップフロップ５４のデータ入力端子に入力されている。さらに、フリップフロップ５４には、システムクロックＳＹＳＣＬＫと、受信開始信号ＲＸＳＴＡＲＴが入力される。受信開始信号ＲＸＳＴＡＲＴは、制御回路６０から出力される、受信が開始された時点で論理０にセットされる信号である。以下、このデータ比較器５０の動作について、図６を参照して説明する。
【００２３】
図６は、図５に示すデータ比較器のタイミングチャートである。
【００２４】
エクスクルーシブ・オアゲート５１は、入力されているデータＯＬＤＲＸＤＡＴ，ＲＸＤＡＴの双方のレベルが同じ（同一ビット）である場合は論理０を出力し、異なる場合は論理１を出力する。アンドゲート５２に入力されているロード信号ＬＯＡＤは受信データＲＸＤＡＴをシリーパラ変換レジスタ部１０のフリップフロップにサンプリングするタイミングで論理１となる。また、フリップフロップ５４に入力されている受信開始信号ＲＸＳＴＡＲＴは、受信が開始された時点で論理１から論理０に変化し、すぐに論理１へ変化することでフリップフロップ５４の出力端子Ｑ，Ｑ＿からそれぞれ論理０，論理１が出力される。ここで、エクスクルーシブ・オアゲート５１に入力されているデータＯＬＤＲＸＤＡＴ，ＲＸＤＡＴの双方のレベルが異なる（ビットが一致していない）場合は論理１がアンドゲート５２の入力端子０に入力され、この論理１が受信データＲＸＤＡＴをフリップフロップに取り込むタイミングと同じシステムクロックＳＹＳＣＬＫの立ち上がりエッジでフリップフロップ５４に取り込まれる。これはロード信号ＬＯＡＤにより制御されている。従って、フリップフロップ５４の出力端子Ｑ，Ｑ＿から論理１，論理０が出力される。一方、データＯＬＤＲＸＤＡＴ，ＲＸＤＡＴの双方のビットが一致している場合は論理０がアンドゲート５２の入力端子０に入力されるため、この論理０がシステムクロックＳＹＳＣＬＫの立ち上がりエッジでフリップフロップ５４に取り込まれて、フリップフロップ５４の出力端子Ｑ，Ｑ＿から論理０，論理１が出力される。このように、エクスクルーシブ・オアゲート５１に入力されているデータＯＬＤＲＸＤＡＴ，ＲＸＤＡＴの双方のビットが一致していれば、フリップフロップ５４の出力端子Ｑ，Ｑ＿から論理０，論理１が出力されるが、途中で一度でも一致しなかった場合はフリップフロップ５４の出力端子Ｑ，Ｑ＿は論理１，論理０になる。従って、シリアルのデータＲＸＤＡＴのビットが全て入力されてパラレルに変換された時点でのデータ一致信号ＤＡＴ＿ＥＱが、今回と前回のパケットの全ビット比較の結果を意味することとなる。つまり、データ一致信号ＤＡＴ＿ＥＱが論理１なら２つのパケットは一致、論理０なら不一致ということである。
【００２５】
この論理１のデータ一致信号ＤＡＴ＿ＥＱは、前述した受信バッファ２０に入力され、受信完了信号を受けた時点で、受信バッファ２０を構成するフラグ記憶部２２に、同一データ受信フラグとして、今回入力されたシリアルデータＲＸＤＡＴに対応づけて記憶される。
【００２６】
このように、本実施形態のデータ制御回路１は、シリアルの受信データＲＸＤＡＴを最初に取り込むところにデータ比較器５０を配備し、前回受信したシリアルの受信データＲＸＤＡＴと1ビットごとに比較を行ない、一致するか否かを判定して、全ビット一致した場合に論理１のデータ一致信号ＤＡＴ＿ＥＱ（同一データ受信フラグ）を生成する。また、受信バッファ２０に、同一データ受信フラグを記憶するフラグ記憶部２２を備え、1パケットの受信が終了した時点で、受信バッファ２０に受信データを書き込む際に、フラグ記憶部２２に、一致した場合は論理１，不一致の場合は論理０の同一データ受信フラグを記憶する。このようにすることにより、ソフトウェア側では、受信データを読み出す際、最初に同一データ受信フラグを確認し、続けてデータを読み出すか否かを判定することにより、同一データ読み出しのためのハードウェア・アクセスを省略することができる。例えば、４００バイトの受信データを１６バイトのデータ幅のデータバスを使って読み出す場合、従来だと割込ステータス読み出しが複数回と受信データ読み出しが(２００回×複数回)必要であったところが、前述した割込ステータス読み出し方式を採用すると、その割込ステータス読み出しの複数回と受信データ読み出しが１回で済む計算となる。
【００２７】
従って、本実施形態のデータ制御回路１では、複数回受信されたデータを読み出す際のハードウェア・アクセスの頻度を低下させることが可能となり、連続する同一データの受信処理のためのスループットの低下、および消費電力の増加防止が実現される。
【００２８】
また、本実施形態のデータ制御回路１は、今回入力されつつあるシリアルデータＲＸＤＡＴと前回入力されたシリアルデータＲＸＤＡＴを相互に対応するビットごとに時系列的に１ビットずつ比較する、いわゆる逐次比較型の回路構成であるため、回路構成が簡素化される。
【００２９】
【発明の効果】
以上説明したように、本発明によれば、システム全体のスループットが高められるとともに消費電力の増加が抑えられたデータ制御回路を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態のデータ制御回路のブロック図である。
【図２】図１に示すシリ−パラ変換レジスタ部の構成を示す図である。
【図３】図１に示す受信バッファおよび同一データ受信フラグ切替器の構成を示す図である。
【図４】図１に示すデータセレクト部を示す図である。
【図５】図１に示すデータ比較器の構成を示す図である。
【図６】図５に示すデータ比較器のタイミングチャートである。
【符号の説明】
１  データ制御回路
１０  シリ−パラ変換レジスタ部
２０  受信バッファ
３０  同一データ受信フラグ切替器
４０  データセレクト部
５０  データ比較器
６０  制御回路
１１＿０，…，１１＿ｎ−１，１１＿ｎ，５２  アンドゲート
１２＿０，…，１２＿ｎ−１，１２＿ｎ  セレクタ
１３＿０，…，１３＿ｎ−１，１３＿ｎ，５４  フリップフロップ
２１  受信データ記憶部
２１＿０，２１＿１，２１＿２  受信バッファ部
２２  フラグ記憶部
２２＿０，２２＿１，２２＿２  同一データ受信フラグ部
５１  エクスクルーシブ・オアゲート
５３  オアゲート
【図１】
0003748830.tif 000002
【図２】
0003748830.tif 000003
【図３】
0003748830.tif 000004
【図４】
0003748830.tif 000005
【図５】
0003748830.tif 000006
【図６】
0003748830.tif 000007