説明

データ送信装置、データ受信装置およびデータ転送システム

【課題】従来よりもさらに送信データのビット変化率を低減し、消費電力を低減することが可能なデータ送信装置、データ受信装置およびデータ転送システムを提供する。
【解決手段】データ送信装置は、所定のビット数を有する複数のパターンデータのそれぞれの各ビットの値からの、今回送信すべきデータの各ビットの値の変化の有無を示す複数の変化ビットデータを生成する変化ビットデータ生成部と、前回の送信データと複数の変化ビットデータのそれぞれとを比較し、値が変化するビット数が最も少ない変化ビットデータを今回の送信データとして選択する選択部と、選択部が選択した今回の送信データを送信するとともに、今回の送信データに対応するパターンデータを示す、所定のビット数よりも少ないビット数のコードを送信する送信部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定のビット数を有するデータを連続して転送(送受信)するデータ送信装置、データ受信装置およびデータ転送システムに関するものである。
【背景技術】
【0002】
今回送信するデータおよびこれを加工したデータと、前回(直前)の送信データとを比較して、前回の送信データから変化するビット数を算出し、変化ビット数が少ない方のデータを転送することにより、データバス上でのデータの遷移回数を減らし、消費電力やEMI(電磁妨害)の低減を行う技術が知られている。このような技術として、例えば、特許文献1〜4などが提案されている。
【0003】
特許文献1には、データバスにおいて消費される電力を削減するため、データをそのまま転送した場合に発生する状態変化(前回転送したデータとの不一致により、各ビットに発生する1→0もしくは0→1の変化)と、データを反転して転送した場合に発生する状態変化とのどちらが小さいかを判定し、後者の方が小さい場合には、反転したデータを転送するとともに、判定結果を示す制御信号を転送することが開示されている。
【0004】
ここで、特許文献1において、不一致(状態変化)の個数は、例えば、その図6に示されているように、EOR(EXOR)回路を用いる不一致個数検出回路を用いて検出される。
【0005】
また、特許文献2には、その図1に示されているように、今回のデータと前回のデータとをEX−OR(EXOR)回路16に入力して、各ビットにおける変化の有無を検出し、図4の多数決回路23によって、EXOR回路16の出力信号と、その反転信号のうちの、前回の送信データから変化するビット数が少ない方を選択し、極性信号とともに送信することが開示されている。
【0006】
上記のように、従来、前回の送信データから変化するビット数が少なくなるように、今回の送信データを加工する手法は提案されていた。特許文献3,4も同様の技術である。特許文献1のように、データないしはその反転データを転送するか、特許文献2のように、前回の送信データとのEX−ORの演算結果ないしはその反転信号を転送するかは、どちらも可能であると考えられる。
【0007】
ただし、後者の場合、データ送信装置から送信したデータを、データ受信装置で受信して復元し、加工前のデータを取得するために、データ受信装置において、前回の受信データを記憶しておく必要がある。
【0008】
【特許文献1】特開平7−319808号公報
【特許文献2】特開2003−195821号公報
【特許文献3】特開平6−332434号公報
【特許文献4】特開平8−304763号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明の目的は、従来よりもさらに送信データのビット変化率を低減し、消費電力を低減することが可能なデータ送信装置、データ受信装置およびデータ転送システムを提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明は、所定のビット数を有するデータを連続して送信するデータ送信装置であって、
前記所定のビット数を有する複数のパターンデータのそれぞれの各ビットの値からの、今回送信すべきデータの各ビットの値の変化の有無を示す複数の変化ビットデータを生成する変化ビットデータ生成部と、
前回の送信データと前記複数の変化ビットデータのそれぞれとを比較し、値が変化するビット数が最も少ない変化ビットデータを今回の送信データとして選択する選択部と、
前記選択部が選択した今回の送信データを送信するとともに、該今回の送信データに対応するパターンデータを示す、前記所定のビット数よりも少ないビット数のコードを送信する送信部とを有することを特徴とするデータ送信装置を提供するものである。
【0011】
ここで、前記送信部は、前記前回の送信データが存在しない場合には、前記今回送信すべきデータを前記今回の送信データとして送信することが好ましい。
【0012】
さらに、前記今回送信すべきデータと前記前回の送信データとを比較する比較回路を有し、該比較回路により、前記今回送信すべきデータと前記前回の送信データとが一致することが検出された場合には、前記今回送信すべきデータを前記今回の送信データとして送信することが好ましい。
【0013】
また、本発明は、所定のビット数を有するデータを受信するデータ受信装置であって、
請求項1ないし3のいずれかに記載のデータ送信装置から今回の送信データとコードとを受信し、該受信したコードが示すパターンデータを利用して、前記受信した今回の送信データを前記今回送信すべきデータに変換する受信部を有することを特徴とするデータ受信装置を提供する。
【0014】
また、本発明は、所定のビット数を有するデータを連続して転送するデータ送信装置であって、
上記のいずれかに記載のデータ送信装置と、上記に記載のデータ受信装置と、からなることを特徴とするデータ転送システムを提供する。
【発明の効果】
【0015】
本発明によれば、データの転送時において、データバス上におけるデータのビット変化率を低減することができるので、消費電力を低減できる。この効果は、データバス(転送されるデータ)のビット数が増えるに従って顕著となる。また、転送されるデータが変化ビットデータに変換されるので暗号化の効果もあり、データの秘匿性を高めることができる。
【発明を実施するための最良の形態】
【0016】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のデータ送信装置、データ受信装置およびデータ転送システムを詳細に説明する。
【0017】
図1は、本発明のデータ転送システムの構成を表す一実施形態の概略図である。同図に示すデータ転送システム10は、8ビットのデータを連続して転送するものであり、8ビットの送信データTx_data[7:0]と3ビットのコードPat_code[2:0]を送信するデータ送信装置12と、これらのデータとコードをデータ送信装置12から受信するデータ受信装置14とによって構成されている。
【0018】
まず、データ送信装置12について説明する。
【0019】
図2は、図1に示すデータ送信装置の構成を表す概略図である。同図に示すデータ送信装置12は、8ビットのデータを連続して送信するものであり、変化ビットデータ生成部16と、選択部18と、送信部20とによって構成されている。
【0020】
変化ビットデータ生成部16は、8個(8種類)のパターンデータPat0〜7のそれぞれの各ビットの値からの、今回送信すべきデータorg_data[7:0]の各ビットの値の変化の有無を示す8個(8種類)の変化ビットデータを生成する。言い換えると、変化ビットデータ生成部16は、8個のパターンデータを用いて、今回送信すべきデータorg_data[7:0]を加工した8個の変化ビットデータを生成する。
【0021】
パターンデータPat0〜7は、それぞれ異なる値を有する8ビットのデータであり、データ送信装置12内にあらかじめ記憶されている。パターンデータPat0〜7は、本実施形態の場合、図2に示すように、それぞれ、“00000000”、“11100000”、“01110000”、“00111000”、“00011100”、“00001110”、“00000111”、“11111111”(2進数)とする。
【0022】
変化ビットデータ生成部16は、パターンデータPat0〜7のそれぞれに対応する8個のEXOR回路群22a〜22hで構成されている。EXOR回路群22a〜22hのそれぞれは、今回送信すべきデータorg_data[7:0]のビット数に対応する8個のEXOR回路を有する。すなわち、変化ビットデータ生成部16は、合計64個のEXOR回路で構成されている。
【0023】
EXOR回路群22a〜22hのそれぞれを構成する8個のEXOR回路の一方の入力端子には、それぞれ、8ビットのデータorg_data[7:0]の各ビットデータが入力される。その他方の入力端子には、それぞれ、パターンデータPat0〜7の各ビットデータが入力される。EXOR回路群22a〜22hのそれぞれからは、8ビットの変化ビットデータが出力される。
【0024】
選択部18は、前回の送信データと8個の変化ビットデータのそれぞれとを対応するビット毎に比較し、前回の送信データから値が変化するビット数(変化ビット数)が最も少ない変化ビットデータを今回の送信データとして選択する。
【0025】
選択部18は、8個のEXOR回路群24a〜24hと、8個の変化ビット数算出回路26a〜26hと、最小値(MIN)選択回路28と、マルチプレクサ(MUX)30と、セレクタ32とによって構成されている。EXOR回路群24a〜24hのそれぞれは、同様に8個のEXOR回路を有する。すなわち、EXOR回路群24a〜24hは、合計64個のEXOR回路で構成されている。
【0026】
EXOR回路群24a〜24hのそれぞれを構成する8個のEXOR回路の一方の入力端子には、それぞれ、対応する変化ビットデータの各ビットデータが入力される。その他方の入力端子には、前回の送信データの各ビットデータが入力される。EXOR回路群24a〜24hのそれぞれからは、8個のEXOR回路から両者の比較結果(変化ビットの判定結果)が出力される。
【0027】
変化ビット数算出回路26a〜26hのそれぞれには、EXOR回路群24a〜24hのそれぞれから合計8個の比較結果が入力される。変化ビット数算出回路26a〜26hのそれぞれは、8個の比較結果に基づいて、対応する変化ビットデータの前回の送信データからの変化ビット数を算出する。変化ビット数算出回路26a〜26hからは、変化ビット数を表す変化ビット数データが出力される。
【0028】
最小値選択回路28には、変化ビット数算出回路26a〜26hのそれぞれから合計8個の変化ビット数データが入力される。最小値選択回路28は、8個の変化ビット数データの中から、最も少ない変化ビット数を表す変化ビット数データを検出する。最小値選択回路28からは、検出した変化ビット数データに対応する変化ビットデータを選択するための選択信号と、検出した変化ビット数データに対応するパターンデータのコードが出力される。
【0029】
ここで、選択信号は、3ビットの信号である。本実施形態では、マルチプレクサ30により、選択信号の値が“000”〜“111”(2進数)の時に、それぞれ、パターンデータPat0〜7に対応する変化ビットデータが選択される。なお、変化ビット数が最小のものが2以上存在する場合、例えば、あらかじめ設定された優先順位で(例えば、図2中、上側から順に)、変化ビット数が最小のものを決定すればよい。
【0030】
コードは、パターンデータPat0〜7を示す、送信データのビット数である8ビットよりも少ないビット数である3ビットのデータである。本実施形態の場合、パターンデータPat0〜7のそれぞれに対応するコードは、“000”〜“111”(2進数)とする。選択信号とコードとは、同一であってもよい。パターンデータPat0〜7をコード化することにより、転送ビット数を5ビット削減することができる。
【0031】
最小値選択回路28は、例えば、8個の変化ビット数データを4組に分け、それぞれの組の2個の変化ビット数データから少ない変化ビット数を表す方を選択する1次選択回路と、1次選択回路が選択した4個の変化ビット数データを2組に分け、それぞれの組の2個の変化ビット数データから少ない変化ビット数を表す方を選択する2次選択回路と、2次選択回路が選択した2個の変化ビット数データから少ない変化ビット数を表す方を選択する3次選択回路との、3段で構成することができる。それぞれの選択回路は、2個の変化ビット数データを比較し、比較結果を出力するデコーダと、このデコーダの出力結果に応じて、2個の変化ビット数データのいずれかを選択するセレクタと、同じデコーダの出力結果に応じて、2個の変化ビット数データに対応する2個のパターンコードのいずれかを選択するセレクタとによって構成することができる。
【0032】
また、最小値選択回路28に、変化ビット数が最小の変化ビット数データが2以上存在する場合に、対応するパターンコードの前回送信したパターンコードからの変化ビット数が最小のものを選択する機能を設けることも可能である。本発明のデータ転送システムでは、データに加えてパターンコードも送信される。パターンコードについても変化ビット数が少ない方を選択することにより、データとパターンコードとの両方を含めた変化ビット数を抑制することが可能である。このためには、例えば、それぞれの選択回路に、2個のパターンコードのそれと前回送信したパターンコードを比較し、それぞれの変化ビット数を表すデータを出力する回路と、それぞれの変化ビット数を表すデータを比較して、変化ビット数が少ない方を示すパターン比較結果を出力する回路とを追加し、2個の変化ビット数データを比較するデコーダを、パターン比較結果を考慮する機能を有したものにする。
【0033】
マルチプレクサ30には、変化ビットデータ生成部16のEXOR回路群22a〜22hのそれぞれから合計8個の変化ビットデータと、最小値選択回路28から選択信号が入力される。マルチプレクサ30は、選択信号の値に応じて、8個の変化ビットデータの中から1つの変化ビットデータを選択する。マルチプレクサ30からは、選択した変化ビットデータが出力される。
【0034】
セレクタ32の入力端子0,1には、それぞれ、マルチプレクサ30から変化ビットデータと、今回送信すべきデータorg_data[7:0]が入力され、選択端子には、切替信号1st_data_selが入力される。セレクタ32からは、切替信号1st_data_selがハイレベルの時に今回送信すべきデータorg_data[7:0]が出力され、ローレベルの時に変化ビットデータが出力される。
【0035】
例えば、最初のデータを送信するときには、前回の送信データが存在しないため、切替信号1st_data_selをハイレベルにして、今回送信すべきデータを送信する。もしくは、前回の送信データが存在しない場合には、パターンデータPat0〜7のいずれかを前回の送信データとみなし、そのパターンデータから値が変化するビット数が最も少ない変化ビットデータを選択して送信することも可能である。
【0036】
続いて、送信部20は、選択部18が選択した今回の送信データを送信するとともに、今回の送信データに対応するパターンデータを示す、3ビットのコードPat_code[2:0]を送信する。
【0037】
送信部20は、フリップフロップ(FF)群34と、フリップフロップ(FF)群36とによって構成されている。
【0038】
フリップフロップ群34は、送信データのビット数分の8個のフリップフロップを有する。フリップフロップ群34を構成するそれぞれのフリップフロップのデータ入力端子には、セレクタ32から今回の送信データの各ビットが入力される。同データ出力端子からは、クロック信号(図示省略)に同期して、今回の送信データTx_data[7:0]が出力される。
【0039】
フリップフロップ群36は、コードのビット数分の3個のフリップフロップを有する。フリップフロップ群36を構成するそれぞれのフリップフロップのデータ入力端子には、最小値選択回路28から3ビットのコードの各ビットが入力される。同データ出力端子からは、クロック信号(図示省略)に同期して、3ビットのコードPat_code[2:0]が出力される。
【0040】
次に、データ受信装置14について説明する。
【0041】
図3は、図1に示すデータ受信装置の構成を表す概略図である。同図に示すデータ受信装置14は、8ビットのデータを連続して受信するものであり、受信部となるパターンセレクタ(Pat_sel)38とEXOR回路群40とによって構成されている。
【0042】
パターンセレクタ38には、データ送信装置12から送信される3ビットのコードPat_code[2:0]が入力される。パターンセレクタ38は、あらかじめ記憶されている、データ送信装置12と同一の8個のパターンデータPat0〜7の中から、受信したコードPat_code[2:0]の値に対応する8ビットのパターンデータを出力する。
【0043】
EXOR回路群40は、送信データTx_data[7:0]のビット数に対応する8個のEXOR回路を有する。EXOR回路群40を構成する8個のEXOR回路の一方の入力端子には、データ送信装置12から送信される8ビットの送信データTx_data[7:0]の各ビットデータが入力され、他方の入力端子には、パターンセレクタ38から8ビットのパターンデータの各ビットデータが入力される。
【0044】
EXOR回路群40は、パターンセレクタ38から入力されるパターンデータを利用して、受信した送信データTx_data[7:0]から、データ送信装置12における、今回送信すべきデータorg_data[7:0]を復元する。EXOR回路群40からは、受信データDecode_data[7:0](=今回送信すべきデータorg_data[7:0])が出力される。
【0045】
以下、データ転送システム10の動作を説明する。
【0046】
データ送信装置12では、変化ビットデータ生成部16のEXOR回路群22a〜22hによって、今回送信すべきデータorg_data[7:0]と8個のパターンデータPat0〜7とのEXOR演算が行われ、8個の変化ビットデータが生成される。
【0047】
8個の変化ビットデータは、選択部18のEXOR回路群24a〜24hによって前回の送信データと比較され、変化ビット数算出回路26a〜26hによって前回の送信データからの変化ビット数が算出される。続く最小値選択回路28によって、変化ビット数が最小の変化ビットデータに対応する選択信号とコードが出力され、マルチプレクサ30から、選択信号の値に対応する変化ビットデータが出力される。
【0048】
ここで、最初の送信データの送信前は、切替信号1st_data_selがハイレベルとなり、セレクタ32からは、今回の送信データとして、今回送信すべきデータorg_data[7:0]が出力される。最初の送信データの送信後は、切替信号1st_data_selがローレベルとなり、セレクタ32からは、今回の送信データとして、変化ビットデータが出力される。
【0049】
そして、クロック信号に同期して、送信部20のフリップフロップ群34から、今回の送信データTx_data[7:0]が出力されるとともに、フリップフロップ群36から、コードPat_code[2:0]が出力される。
【0050】
一方、データ受信装置14では、パターンセレクタ38によって、データ送信装置12から受信したコードPat_code[2:0]の値に対応する8ビットのパターンデータが出力され、このパターンデータを利用して、EXOR回路群40によってEXOR演算が行われ、受信した送信データTx_data[7:0]から、データ送信装置12における、今回送信すべきデータorg_data[7:0]が復元される。
【0051】
(実施例)
データ転送装置10において、今回送信すべきデータorg_data[7:0]として、値の異なる256個のデータをランダムにデータ送信装置12からデータ受信装置14に順次転送した。
【0052】
その結果、データ送信装置12からは、最も変化ビット数が少ない変化ビットデータが送信され、データ受信装置14では、受信した送信データから、データ送信装置12において今回送信すべきデータを復元できることを確認した。
【0053】
また、本発明を適用せずにデータをそのまま転送した場合と、本発明を適用してデータを転送した場合について、変化ビット数の平均値を算出した。その結果、変化ビット数の平均値は、本発明を適用しない場合が約3.956862745であったのに対し、本発明を適用した場合は、約3.325490196となり、冗長な3ビットのコードが付加されていても変化ビット数を低減できることが確認できた。
【0054】
なお、ここで算出した変化ビット数の平均値は、変化ビット数が最小のものが2以上存在する場合に、あらかじめ設定された優先順位で決定した場合の例である。パターンコードについても変化ビット数が少ない方を選択することにより、さらに変化ビット数を低減することが可能である。
【0055】
以上のように、データ転送装置10では、データの転送時において、データバス上におけるデータのビット変化率を低減することができるので、消費電力を低減できる。この効果は、データバス(転送されるデータ)のビット数が増えるに従って顕著となる。また、転送されるデータが変化ビットデータに変換されるので暗号化の効果もあり、データの秘匿性を高めることができる。
【0056】
なお、転送するデータのビット数は8ビットに限定されない。本発明は、上記のように、転送するデータのビット数が多い場合に適している。また、パターンデータの個数も8個に限定されない。本発明は、パターンデータの個数が多くなるに従って、その効果もより顕著になるが、回路規模も増大するので、その個数は適宜決定することが望ましい。パターンデータのビットパターン(ビット配列)も限定されない。
【0057】
変化ビットデータ生成部は、複数のパターンデータを用いて、今回送信すべきデータを加工して複数の異なる値を有する変化ビットデータを生成できればよく、その回路構成は限定されない。当然ながら、データ受信装置では、変化ビットデータを生成する時と同じパターンデータを用いて、データ送信装置における、今回送信すべきデータと同じデータを生成できる必要がある。
【0058】
さらに、データ送信装置において、今回送信すべきデータと前回の送信データとを比較する比較回路を設け、この比較回路により、両者が一致する(同じデータが連続する)ことが検出された場合には、変化ビットデータを生成せずに今回送信すべきデータをそのまま送信することも可能である。これにより、さらに変化ビット数を低減することができる。また、同じデータが連続するときには変化ビットデータ生成部16の動作を停止し、変化ビットデータの生成を行わないことにより、データ転送装置10の消費電力をさらに削減することができる。なお、今回送信すべきデータを送信する場合には、その旨をデータ受信装置14に通知する必要がある。例えば、パターンコードを3ビットとした場合、使用するパターンデータを7種類として、8つ目のコードを、今回送信すべきデータを送信したことを通知するためのコードとして利用することができる。
【0059】
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【図面の簡単な説明】
【0060】
【図1】本発明のデータ転送システムの構成を表す一実施形態の概略図である。
【図2】図1に示すデータ送信装置の構成を表す概略図である。
【図3】図1に示すデータ受信装置の構成を表す概略図である。
【符号の説明】
【0061】
10 データ転送システム
12 データ送信装置
14 データ受信装置
16 変化ビットデータ生成部
18 選択部
20 送信部
22a〜22h、24a〜24h、40 EXOR回路群
26a〜26h 変化ビット数算出回路
28 最小値(MIN)選択回路
30 マルチプレクサ(MUX)
32 セレクタ
34、36 フリップフロップ(FF)群
38 パターンセレクタ(Pat_sel)

【特許請求の範囲】
【請求項1】
所定のビット数を有するデータを連続して送信するデータ送信装置であって、
前記所定のビット数を有する複数のパターンデータのそれぞれの各ビットの値からの、今回送信すべきデータの各ビットの値の変化の有無を示す複数の変化ビットデータを生成する変化ビットデータ生成部と、
前回の送信データと前記複数の変化ビットデータのそれぞれとを比較し、値が変化するビット数が最も少ない変化ビットデータを今回の送信データとして選択する選択部と、
前記選択部が選択した今回の送信データを送信するとともに、該今回の送信データに対応するパターンデータを示す、前記所定のビット数よりも少ないビット数のコードを送信する送信部とを有することを特徴とするデータ送信装置。
【請求項2】
前記送信部は、前記前回の送信データが存在しない場合には、前記今回送信すべきデータを前記今回の送信データとして送信することを特徴とする請求項1に記載のデータ送信装置。
【請求項3】
さらに、前記今回送信すべきデータと前記前回の送信データとを比較する比較回路を有し、該比較回路により、前記今回送信すべきデータと前記前回の送信データとが一致することが検出された場合には、前記今回送信すべきデータを前記今回の送信データとして送信することを特徴とする請求項1または2に記載のデータ送信装置。
【請求項4】
所定のビット数を有するデータを受信するデータ受信装置であって、
請求項1ないし3のいずれかに記載のデータ送信装置から今回の送信データとコードとを受信し、該受信したコードが示すパターンデータを利用して、前記受信した今回の送信データを前記今回送信すべきデータに変換する受信部を有することを特徴とするデータ受信装置。
【請求項5】
所定のビット数を有するデータを連続して転送するデータ送信装置であって、
請求項1ないし3のいずれかに記載のデータ送信装置と、請求項4記載のデータ受信装置と、からなることを特徴とするデータ転送システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate