(57)【要約】【課題】転送するシリアルデータの状態遷移を低減し、消費電力を低減する。【解決手段】データ転送装置１の送信データ反転手段２は、送信しようとする送信シリアルデータＡ１のＬ状態にあるビット数が、全ビット数の半分より大きい場合、送信シリアルデータＡ１を反転する。反転情報付加手段３は、反転したか否かを示す反転情報ビットＣを送信シリアルデータＡ１に挿入する。反転情報抽出手段４は、受信した受信シリアルデータＢ１に挿入されている反転情報ビットＣを抽出する。受信データ反転手段５は、反転情報ビットＣに応じて、受信シリアルデータＢ１を反転する。【選択図】        図１
2004207942.tif 000002
【特許請求の範囲】
【請求項１】
バスを介してデジタル信号をシリアル転送するデータ転送装置において、
前記バスを介して送信しようとする送信シリアルデータにおいて、予め選択されたハイレベル又はロウレベルのいずれか一方を有するビット数が、全ビット数の半分より大きい場合、前記送信シリアルデータを反転する送信データ反転手段と、
前記反転を実行したか否かを示す反転情報を前記送信シリアルデータに付加する反転情報付加手段と、
を具備することを特徴とするデータ転送装置。
【請求項２】
バスを介してデジタル信号をシリアル転送するデータ転送装置において、
前記バスを介して受信された受信シリアルデータが原送信データの反転により生成されたものであるか否かを示す反転情報を含む前記受信シリアルデータから、前記反転情報を抽出する反転情報抽出手段と、
前記反転情報に応じて、前記受信シリアルデータを反転する受信データ反転手段と、
を具備することを特徴とするデータ転送装置。
【請求項３】
前記バスを介して受信された前記反転情報を含む受信シリアルデータから、前記反転情報を抽出する反転情報抽出手段と、
前記反転情報に応じて、前記受信シリアルデータを反転する受信データ反転手段と、
をさらに具備することを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記送信データ反転手段は、前記バスにプルアップ抵抗が接続されている場合には前記ロウレベルを有するビット数が前記全ビット数の半分より大きいときに前記送信シリアルデータを反転し、前記バスにプルダウン抵抗が接続されている場合には前記ハイレベルを有するビット数が前記全ビット数の半分より大きいときに前記送信シリアルデータを反転することを特徴とする請求項１又は３のいずれかに記載のデータ転送装置。
【請求項５】
前記反転情報付加手段は、前記反転情報を前記送信シリアルデータのレベルが遷移するビット間に挿入することを特徴とする請求項１又は３のいずれかに記載のデータ転送装置。
【請求項６】
前記反転情報抽出手段は、前記受信シリアルデータのレベルが遷移するビット間に挿入された情報を前記反転情報として抽出することを特徴とする請求項２又は３のいずれかに記載のデータ転送装置。
【請求項７】
バスを介してデジタル信号をシリアル転送するデータ転送方法であって、
前記バスを介して送信しようとする送信シリアルデータにおいて、予め選択されたハイレベル又はロウレベルのいずれか一方を有するビット数が、全ビット数の半分より大きい場合、前記送信シリアルデータを反転するステップと、
前記反転を実行したか否かを示す反転情報を前記送信シリアルデータに付加した上で、前記送信シリアルデータを前記バスへ送出するステップと、
を有することを特徴とするデータ転送方法。
【請求項８】
前記バスを介して受信された前記反転情報を含む受信シリアルデータから、前記反転情報を抽出するステップと、
前記反転情報に応じて、前記受信シリアルデータを反転するステップと、
をさらに有することを特徴とする請求項７記載のデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ転送装置とデータ転送方法に関し、特にバスを介してデジタル信号をシリアル転送するデータ転送装置とバスを介してデジタル信号をシリアル転送するデータ転送方法に関する。
【０００２】
【従来の技術】
ＣＰＵや周辺のデバイス間で行われるシリアル転送方式に、２線のラインでデータ転送を行うＩＩＣ（Inter Integrated Circuit）バス方式がある。ＩＩＣバス方式は、アドレス・データライン、クロックラインの２線を備える。アドレス・データラインには、シリアルデータの転送先を示すデバイスのアドレス及び転送すべきシリアルデータが送出される。クロックラインには、アドレス、シリアルデータを適正に受信できるための同期クロックが送出される（例えば、特許文献１参照）。
【０００３】
ＩＩＣバス方式では、ＩＩＣバスの静電容量が４００ｐＦ以内であれば、最大３．４Ｍｂｐｓの高速シリアル転送ができるようになっている。また、デバイスのＩＩＣバスを駆動する出力駆動回路は、オープンドレイン又はオープンコレクタで構成されており、複数のデバイスがＩＩＣバスに接続できるようになっている。そのため、ＩＩＣバスには、プルアップ抵抗が接続される。
【０００４】
ＩＩＣバスは、容量性負荷を持つため、このプルアップ抵抗との組み合わせによっては、転送速度が低下してしまうことがある。特に、ＩＩＣバスの容量性負荷は、ＩＩＣバスに接続されるデバイスの数によって増大するため、著しく転送速度が低下してしまうことがある（例えば、特許文献２参照）。
【０００５】
従って、大きな容量性負荷を有するＩＩＣバスを駆動するデバイスは、高速転送が行えるように、出力駆動回路のオープンコレクタ又はオープンドレインを構成するトランジスタに、大電流駆動のものを使用する。そのため、デバイスの出力駆動回路には、他の論理ゲート回路とは別の電源が供給されていることが多い。
【０００６】
デバイスの出力駆動回路がＣＭＯＳで構成される場合、シリアルデータが一状態で静止したときの静止電力Ｐｓと、シリアルデータがＨ状態、Ｌ状態と遷移するときの動作電力Ｐｄとの合計値が出力駆動回路の消費電力Ｐｔとなる（Ｐｔ＝Ｐｓ＋Ｐｄ）。
【０００７】
動作電力Ｐｄは、トランジスタ内部の消費電力Ｐｉと出力負荷消費電力Ｐｌの和となる。シリアルデータがＨ状態、Ｌ状態と遷移する動作周波数ｆ、出力負荷容量Ｃｌ及びトランジスタの内部等価容量Ｃｐｄとすると、動作電力Ｐｄは、次の式（１）で表される。
【０００８】
【数１】
Ｐｄ＝Ｐｉ＋Ｐｌ＝（Ｃｌ＋Ｃｐｄ）・Ｖｄｄ2・ｆ…（１）
式（１）より、動作電力Ｐｄは、動作周波数ｆが高くなる（データ遷移が高くなる）に従って大きくなる。例えば、３．４Ｍｂｐｓのシリアルデータ転送を行った場合には、動作電力Ｐｄは、十数〜数十ｍＷになる。なお、ＩＩＣバス方式以外のシリアル転送方式においても、一般に動作周波数が高くなれば消費電力も大きくなる。
【０００９】
静止電力Ｐｓは、トランジスタのリーク電流Ｉｄｄと、シリアルデータがＬ状態時のＩＩＣバスに接続されているプルアップ抵抗Ｒｐに流れるシンク電流との電力和となる。プルアップ抵抗Ｒｐが接続されている電源電圧をＶｄｄ、ローレベル（Ｌ状態）しきい値電圧をＶｏｌとすると、静止電力Ｐｓは、次の式（２）で表される。
【００１０】
【数２】
Ｐｓ＝Ｖｄｄ・Ｉｄｄ＋Ｖｏｌ・（Ｖｄｄ−Ｖｏｌ）／Ｒｐ…（２）
リーク電流Ｉｄｄは、一般に非常に小さいため静止電力Ｐｓの増大には影響しない。シンク電流は一般的に数ｍＡあり、例えば、電源電圧Ｖｄｄ，しきい値電圧Ｖｏｌ、プルアップ抵抗Ｒｐの値によっては、静止電力Ｐｓは、数十ｍＷになる。なお、バスにプルダウン抵抗が接続され、プルダウン方式のオープンコレクタ、オープンドレインの場合においても同様である。この場合、バスに出力される信号がハイレベル（Ｈ状態）のとき、プルダウン抵抗にシンク電流が流れる。
【００１１】
【特許文献１】
特開平１１−２３２２０７号公報（第２−３頁、第６図）
【特許文献２】
特表２００２−５０８６４５号公報（段落番号〔０００５〕）
【００１２】
【発明が解決しようとする課題】
このように、転送するシリアルデータのＬ状態、Ｈ状態の遷移が多いと、消費電力が増加するという問題点があった。
【００１３】
また、シリアルデータをバスに出力する出力駆動回路がオープンコレクタ又はオープンドレインの場合、シリアルデータの信号の状態によっては、バスに接続されているプルアップ抵抗、又はプルダウン抵抗にシンク電流が流れ、電力が消費されるという問題点があった。
【００１４】
本発明はこのような点に鑑みてなされたものであり、シリアルデータのＨ状態又はＬ状態が占めるビット数を減らして、シリアルデータの状態遷移を低減し、消費電力を低減するデータ転送装置及びデータ転送方法を提供することを目的とする。
【００１５】
また、シリアルデータのＨ状態又はＬ状態が占めるビット数を減らして、プルアップ抵抗又はプルダウン抵抗に流れるシンク電流を低減し、消費電力を低減するデータ転送装置及びデータ転送方法を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明では上記課題を解決するために、バスを介してデジタル信号をシリアル転送するデータ転送装置において、前記バスを介して送信しようとする送信シリアルデータにおいて、予め選択されたハイレベル又はロウレベルのいずれか一方を有するビット数が、全ビット数の半分より大きい場合、前記送信シリアルデータを反転する送信データ反転手段と、前記反転を実行したか否かを示す反転情報を前記送信シリアルデータに付加する反転情報付加手段と、を具備することを特徴とするデータ転送装置が提供される。
【００１７】
このようなデータ転送装置によれば、送信しようとする送信シリアルデータのハイレベル又はロウレベルのいずれか一方を有するビット数が、全ビット数の半分より大きい場合、送信シリアルデータを反転するので、送信シリアルデータのハイレベル又はロウレベルが占めるビット数が減り、送信シリアルデータの状態遷移を低減する。
【００１８】
また、バスにプルアップ抵抗が接続されている場合には、ロウレベルを有するビット数が、全ビット数の半分より大きいときに送信シリアルデータを反転することにより、送信シリアルデータのＬ状態が占めるビット数が減る。また、バスにプルダウン抵抗が接続されている場合には、ハイレベルを有するビット数が、全ビット数の半分より大きいときに送信シリアルデータを反転することにより、送信シリアルデータのＨ状態が占めるビット数が減る。よって、プルアップ抵抗、プルダウン抵抗に流れるシンク電流を低減する。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明のデータ転送装置の原理を説明する原理図である。図に示すように、データ転送装置１は、送信データ反転手段２、反転情報付加手段３、反転情報抽出手段４、受信データ反転手段５、及びバス６を有している。データ転送装置１は、図示してないが、バス６を介して他のデータ転送装置とシリアルデータの転送を行う。なお、図１には、８ビットの送信しようとする送信シリアルデータＡ１，Ａ２と、バス６を介して受信した８ビットの受信シリアルデータＢ１，Ｂ２が示してある。
【００２０】
送信データ反転手段２は、送信しようとする送信シリアルデータＡ１の全ビット数に対し、予め選択されたＬ状態又はＨ状態にあるビット数が半分より多い場合、送信シリアルデータＡ１を反転する。ここでは、送信シリアルデータＡ１の全ビット数‘８’に対し、Ｌ状態にあるビット数が半分の‘４’より大きい場合に、送信シリアルデータＡ１を反転するとする。図１の送信シリアルデータＡ１では、Ｌ状態のビット数は‘６’であり、全ビット数の半分‘４’より大きい。従って、送信データ反転手段２は、送信シリアルデータＡ１を、送信シリアルデータＡ２に示すように反転する。これによって、送信データ反転手段２から出力される送信シリアルデータＡ２は、Ｌ状態のビット数が、全ビット数の半分を超えて出現することがない。
【００２１】
反転情報付加手段３は、送信シリアルデータＡ１を反転したか否かを示す情報ビットを送信シリアルデータＡ２に挿入する。図１では、送信シリアルデータＡ１は反転されるので、送信シリアルデータＡ２に示すように、ビットＤ３，Ｄ４の間に、反転したことを示す反転情報ビットＣが挿入されている。
【００２２】
反転情報抽出手段４は、バス６を介して受信した受信シリアルデータＢ１に挿入されている情報ビットを抽出する。図１の受信シリアルデータＢ１においては、ビットＤ４，Ｄ５の間に反転情報ビットＣが挿入されており、反転情報抽出手段４は、この反転情報ビットＣを抽出する。
【００２３】
受信データ反転手段５は、反転情報抽出手段４が抽出した反転情報ビットＣに応じて、受信した受信シリアルデータＢ１を反転する。図１に示す反転情報ビットＣが反転した旨を示す情報であれば、受信データ反転手段５は、受信シリアルデータＢ１を受信シリアルデータＢ２に示すように反転する。
【００２４】
このように、送信しようとする送信シリアルデータの全ビット数に対し、Ｌ状態又はＨ状態にあるビット数が半分より大きい場合、送信シリアルデータを反転するようにし、反転したか否かを示す情報ビットを送信シリアルデータに挿入するようにした。そして、受信した受信シリアルデータに挿入されている情報ビットを抽出し、抽出した情報ビットに応じて、受信シリアルデータを元の適正な状態に戻すようにした。これにより、送信される送信シリアルデータは、Ｈ状態又はＬ状態に偏り、転送されるシリアルデータの状態遷移が減少し、消費電力の低減を図ることができる。
【００２５】
次に、本発明のデータ転送装置をＩＩＣバスインターフェイスに適用した場合について説明する。
図２は、本発明のデータ転送装置の適用構成例である。図に示すように、ＩＩＣバス方式のデータ転送装置１１ａ〜１１ｅは、ＩＩＣバス１２ａ，１２ｂに接続されている。データ転送装置１１ａは、図示してないが、バス１３を介して例えばＣＰＵと接続されている。ＩＩＣバス１２ａ，１２ｂは、プルアップ抵抗Ｒ１，Ｒ２を介して電源電圧Ｖｄｄに接続されている。
【００２６】
データ転送装置１１ａ〜１１ｅは、転送先アドレス及び転送データであるシリアルデータＳＤＡをＩＩＣバス１２ａに出力する。また、データ転送装置１１ａ〜１１ｅは、シリアルデータＳＤＡを同期して送受信するためのシリアルクロックＳＣＬをＩＩＣバス１２ｂに出力する。
【００２７】
図２において、例えば、データ転送装置１１ａは、バス１３を介してＣＰＵからデータを受信したとする。データ転送装置１１ａは、ＣＰＵの指示に従い、受信したデータを所定のデータ転送装置１１ｂ〜１１ｅに出力する。このとき、データ転送装置１１ａは、まずデータを転送すべきデータ転送装置１１ｂ〜１１ｅを選択するため、転送先アドレスを示すシリアルデータＳＤＡをＩＩＣバス１２ａに出力する。
【００２８】
データ転送装置１１ａによって選択された（アドレス指定された）データ転送装置１１ｂ〜１１ｅは、シリアルデータＳＤＡを受信できることを示す受信許可信号を、ＩＩＣバス１２ａを介してデータ転送装置１１ａに出力する。
【００２９】
データ転送装置１１ａは、受信許可信号を受信すると、ＣＰＵから受信したデータをシリアルデータＳＤＡとしてＩＩＣバス１２ａに出力する。
このようにして、データ転送装置１１ａ〜１１ｅは、ＩＩＣバス１２ａ，１２ｂを介してシリアルデータ転送を行う。
【００３０】
図３は、データ転送装置のブロック構成図である。
図に示すようにデータ転送装置１１ａは、例えば１チップの半導体によって構成され、アドレスレジスタ２１、アドレスコンパレータ２２、シフトレジスタ２３，２４、データビット検出回路２５、ＮＬＢレジスタ２６、符号制御回路２７、クロックコントロール回路２８、データコントロール回路２９、及び符号ビット検出回路３０を有している。なお、図２のデータ転送装置１１ｂ〜１１ｅも上記と同じ回路構成を有する。
【００３１】
アドレスレジスタ２１は、ＩＩＣバス１２ａ，１２ｂを介して、シリアルデータ転送をする相手（データ転送装置１１ｂ〜１１ｅ）を指定するためのアドレスが設定される。
【００３２】
アドレスコンパレータ２２は、データ転送装置１１ｂ〜１１ｅから転送されるデータ転送装置１１ａを指定するアドレスが入力される。アドレスコンパレータ２２は、入力されたアドレスと自分が持つアドレスとを比較し、一致していればＩＩＣバス１２ａに受信許可信号を出力する。
【００３３】
シフトレジスタ２３は、ＩＩＣバス１２ａでシリアルデータ転送をしようとする８ビットのデータが設定される。この８ビットのデータは、例えば、バス１３を介してＣＰＵから出力される。シフトレジスタ２３は、設定されたデータをシフトレジスタ２４、データコントロール回路２９に出力する。
【００３４】
また、シフトレジスタ２３は、シフトレジスタ２４から出力されるデータを保持する。このとき、シフトレジスタ２３は、符号ビット検出回路３０から出力される信号に応じて、シフトレジスタ２４のデータの各ビットを反転して保持する。
【００３５】
シフトレジスタ２４は、シフトレジスタ２３から出力される８ビットのデータを保持し、システムクロック（内部の各回路を動作させるためのクロック）に同期してデータビット検出回路２５にシフト出力する。また、シフトレジスタ２４は、データコントロール回路２９から出力されるデータを保持して、シフトレジスタ２３にシフト出力する。なお、シフトレジスタ２４は、保持したデータを最上位ビットから順にシフト出力していく。
【００３６】
データビット検出回路２５は、シフトレジスタ２４がシフト出力する８ビットのデータの、Ｌ状態のビット数をカウントする。データビット検出回路２５は、カウントしたＬ状態のビット数をＮＬＢレジスタ２６に保持する。ＮＬＢレジスタ２６は、シリアルデータＳＤＡとして出力される８ビットのデータの、Ｌ状態のビット数を保持するレジスタである。
【００３７】
符号制御回路２７は、ＮＬＢレジスタ２６に記憶されているＬ状態のビット数に応じて、符号ビットＳをデータコントロール回路２９に出力する。符号制御回路２７は、ＮＬＢレジスタ２６に記憶されているＬ状態のビット数が、シリアルデータ転送をしようとするデータの全ビット数‘８’の半分‘４’より大きい場合、‘０’の符号ビットＳを出力する。また、符号制御回路２７は、ＮＬＢレジスタ２６に記憶されているＬ状態のビット数が、シリアルデータ転送をしようとするデータの全ビット数‘８’の半分‘４’以下の場合、‘１’の符号ビットＳを出力する。
【００３８】
例えば、シフトレジスタ２３に設定されたデータが‘０００１１００１’の場合、Ｌ状態（０）のビット数は５である。従って、ＮＬＢレジスタ２６には、‘５’が保持されている。ＮＬＢレジスタ２６に保持されているＬ状態のビット数が‘５’で、全ビット数‘８’に対し半分を超えているので、符号制御回路２７は、‘０’の符号ビットＳをデータコントロール回路２９に出力する。
【００３９】
クロックコントロール回路２８は、データコントロール回路２９が出力するシリアルデータＳＤＡを同期転送するためのシリアルクロックＳＣＬをＩＩＣバス１２ｂに出力する。クロックコントロール回路２８のシリアルクロックＳＣＬをＩＩＣバス１２ｂに出力する出力段は、オープンコレクタ又はオープンドレインとなっている。
【００４０】
また、クロックコントロール回路２８は、シリアルクロックＳＣＬと完全同期したシリアルデータ生成クロックＳＣＫ１をデータコントロール回路２９に出力する。また、クロックコントロール回路２８は、シリアルデータ生成クロックＳＣＫ１と位相のずれた符号挿入クロックＳＣＫ２をデータコントロール回路２９に出力する。ここでは、符号挿入クロックＳＣＫ２は、シリアルデータ生成クロックＳＣＫ１に対して１／４周期遅延しているとする。
【００４１】
また、クロックコントロール回路２８は、シリアルクロックＳＣＬをＩＩＣバス１２ｂから受信する。クロックコントロール回路２８は、受信したシリアルクロックＳＣＬを符号ビット検出回路３０に出力する。
【００４２】
データコントロール回路２９は、シフトレジスタ２３に保持されている、シリアルデータ転送をしようとする８ビットのデータを、最上位ビットから順にシリアルデータ生成クロックＳＣＫ１に同期させ、シリアルデータＳＤＡとしてＩＩＣバス１２ａに出力する。このとき、データコントロール回路２９は、符号制御回路２７から出力される符号ビットＳに応じて、８ビットのデータをビットごとに反転する。データコントロール回路２９は、符号ビットＳが‘０’の場合データを反転し、‘１’の場合データを反転しない。
【００４３】
例えば、シフトレジスタ２３に、シリアルデータ転送をしようとする‘０００１１００１’のデータが設定されているとする。このとき、Ｌ状態のビット数は、‘５’であるから、上記で説明したように、符号制御回路２７は、‘０’の符号ビットＳを出力している。従って、データコントロール回路２９は、シフトレジスタ２３のデータを反転した‘１１１００１１０’のデータを、シリアルデータＳＤＡとしてＩＩＣバス１２ａに出力する。
【００４４】
また、データコントロール回路２９は、シリアルデータＳＤＡをＩＩＣバス１２ａに出力するときに、データを反転したか否かを示す反転情報ビットをシリアルデータＳＤＡに挿入する。反転した場合、‘０’の情報ビットＣを挿入し、反転しなかった場合‘１’の情報ビットＣを挿入する。
【００４５】
データコントロール回路２９は、出力しようとするシリアルデータＳＤＡの、最初にＬ状態となったビット（Ｌ状態が継続する場合は、その最後のビット）とその次のＨ状態のビットとの間に情報ビットＣを挿入する。すなわち、データコントロール回路２９は、隣接するビットの状態が所定の状態遷移をした場合、そのビット間に情報ビットＣを挿入する。このとき、データコントロール回路２９は、情報ビットＣの挿入位置に対応する、符号挿入クロックＳＣＫ２の１クロック間に、情報ビットＣを挿入する。
【００４６】
なお、データコントロール回路２９は、出力しようとするシリアルデータＳＤＡの全ビットがＨ状態である場合、最上位ビットとその隣接するビットとの間に情報ビットを挿入する。
【００４７】
図４は、情報ビットの挿入を説明する図である。図４に示すように、シリアルデータ転送されるデータの各ビットは、シリアルデータ生成クロックＳＣＫ１の立下りで遷移するようシリアルに配置される。なお、データは、ビットＤ７からシリアル転送される。
【００４８】
ここで、図のデータが、ビットＤ４で最初にＬ状態（Ｌ状態はビットＤ３に継続しない）になり、ビットＤ３でＨ状態になっているとすると、データコントロール回路２９は、データのビットＤ４とビットＤ３の間における、符号挿入クロックＳＣＫ２の立上りから立下りの間（図に示すクロックＣＳＥＬ）に、情報ビットＣを挿入する。このようにして、情報ビットＣを挿入したシリアルデータＳＤＡを生成する。
【００４９】
なお、符号挿入クロックＳＣＫ２を、シリアルデータ生成クロックＳＣＫ１の位相に対し１／４ずらすことにより、情報ビットＣは、データのビットとビットの境の中央に挿入され、情報ビット及びその両側のビットは、シリアルデータＳＤＡを受信するデータ転送装置によって、適切に認識されることが可能となる。
【００５０】
また、データコントロール回路２９は、ＩＩＣバス１２ａを介して転送されてくるシリアルデータＳＤＡを受信する。データコントロール回路２９は、受信したシリアルデータＳＤＡを、クロックコントロール回路２８が受信したシリアルクロックＳＣＬに同期して、１ビットずつシフトレジスタ２４に出力する。
【００５１】
符号ビット検出回路３０は、データコントロール回路２９が受信したシリアルデータＳＤＡに含まれる情報ビットＣを、クロックコントロール回路２８が受信したシリアルクロックＳＣＬに同期して検出する。
【００５２】
符号ビット検出回路３０は、シリアルデータＳＤＡの各ビット状態を順に検出する。そして、符号ビット検出回路３０は、隣接するビットの状態が所定の状態遷移をした場合、そのビット間におけるデータを検出する。ビット間におけるデータは、シリアルクロックＳＣＬのビットの境となる立上り又は立下りに同期して検出される。
【００５３】
例えば、転送されてくるシリアルデータＳＤＡには、最初にＬ状態となったビット（Ｌ状態が継続する場合は、その最後のビット）とその次の隣接するＨ状態となったビットとの間に情報ビットが挿入されている。すなわち、符号ビット検出回路３０は、シリアルデータＳＤＡが、Ｌ状態からＨ状態に遷移した場合、その遷移したビット間のデータを情報ビットＣとして検出する。
【００５４】
図５は、情報ビット検出を説明する図である。図に示すように、‘１１１００１１０’のシリアルデータＳＤＡが、データコントロール回路２９に受信されたとする。なお、シリアルデータＳＤＡは、ビットＤ７から順にデータコントロール回路２９に受信される。
【００５５】
符号ビット検出回路３０は、図に示すように、シリアルクロックＳＣＬの立上りでシリアルデータＳＤＡのビット状態を検出する。
シリアルデータＳＤＡのビットＤ２はＨ状態、その１つ前のビットＤ３はＬ状態である。従って、符号ビット検出回路３０は、シリアルデータＳＤＡがＬ状態からＨ状態に遷移したことによって、ビットＤ３とビットＤ２の境にある状態を検出する。符号ビット検出回路３０は、シリアルデータＳＤＡのビットＤ３とビットＤ２の境となるシリアルクロックＳＣＬの立下りにおいて、情報ビットＣを検出する。
【００５６】
符号ビット検出回路３０は、情報ビットＣをシフトレジスタ２３に出力する。上記で説明したように、シフトレジスタ２３は、情報ビットＣに応じて、シフトレジスタ２４から出力されるシリアルデータＳＤＡを反転し保持する。例えば、反転した旨を示す‘０’の情報ビットＣが検出された場合、シフトレジスタ２３は、シフトレジスタ２４から出力されるシリアルデータＳＤＡを反転して保持する。反転していない旨を示す‘１’の情報ビットＣが検出された場合、シフトレジスタ２３は、シフトレジスタ２４から出力されるシリアルデータＳＤＡを反転せずそのまま保持する。
【００５７】
以下、図３のデータ転送装置１１ａの動作について説明する。まず、ＩＩＣバス１２ａ，１２ｂに接続されている他のデータ転送装置１１ｂ〜１１ｅにシリアルデータＳＤＡを転送する場合について説明する。図６は、転送するデータの一例を示す図である。
【００５８】
バス１３を介して、例えば、ＣＰＵから転送すべきデータの転送先を示すアドレスがアドレスレジスタ２１に設定される。
シフトレジスタ２３には、転送すべきデータが設定される。転送すべきデータは、図６に示すように‘１０００００００’とする。設定されたデータは、シフトレジスタ２４に出力され、さらにシフトレジスタ２４からデータビット検出回路２５に出力される。
【００５９】
データビット検出回路２５は、シフトレジスタ２４からシフト出力されるデータのＬ状態にあるビット数をカウントする。データビット検出回路２５は、カウントしたＬ状態のビット数をＮＬＢレジスタ２６に保持する。図６の例では、Ｌ状態（０）のビット数は、ビットＤ６〜Ｄ０の‘７’である。従って、データビット検出回路２５は、ＮＬＢレジスタ２６に‘７’の値を保持する。
【００６０】
符号制御回路２７は、ＮＬＢレジスタ２６に保持されているＬ状態のビット数が、シリアルデータ転送をしようとするデータの全ビット数の半分より大きい場合、‘０’の符号ビットＳを出力する。Ｌ状態のビット数が、シリアルデータ転送をしようとするデータの全ビット数の半分以下の場合、‘１’の符号ビットＳを出力する。図６の例では、データの全ビット数‘８’の半分‘４’に対し、Ｌ状態のビット数は‘７’であるので、符号制御回路２７は、‘０’の符号ビットＳをデータコントロール回路２９に出力する。
【００６１】
データコントロール回路２９は、符号制御回路２７の符号ビットＳに従って、シフトレジスタ２３のデータを反転し、シリアルデータＳＤＡとして、ＩＩＣバス１２ａに出力する。このとき、データコントロール回路２９は、シリアルデータＳＤＡの、最初にＬ状態となったビット（Ｌ状態が継続する場合は、その最後のビット）とその次の隣接するビットとの間に情報ビットＣを挿入する。図６の例では、データコントロール回路２９は、データ‘１０００００００’を反転した‘０１１１１１１１’をシリアルデータＳＤＡとしてＩＩＣバス１２ａに出力するとともに、最初のＬ状態となるビットＤ７とその隣接するビットＤ６の間に（Ｌ状態はビットＤ７のみでビットＤ６に継続していない）、情報ビットＣを挿入する。なお、図６の例では情報ビットＣは、‘０’である。
【００６２】
次に、他の一例について説明する。図７は、転送するデータの他の例を示す図である。図７に示すようにデータ転送装置１１ｂ〜１１ｅに転送したいデータを‘００００００００’とする。この場合、Ｌ状態のビット数は、‘８’であり、データの全ビット数‘８’の半分より大きいので、データコントロール回路２９は、データ‘００００００００’を反転した‘１１１１１１１１’をシリアルデータＳＤＡとして出力する。この場合、Ｌ状態が存在しないので、データコントロール回路２９は、最上位ビットであるビットＤ７とその隣接するビットＤ６の間に情報ビットＣを挿入する。なお、図７の例では情報ビットＣは、‘０’である。
【００６３】
以上から、シリアルデータ転送をしようとするデータにＬ状態が多い場合、反転して転送するので、Ｈ状態のデータが多く出力されることとなる。すなわち、シリアルデータのＨ状態からＬ状態、Ｌ状態からＨ状態への状態遷移数が減少し、消費電力の低減を図ることができる。
【００６４】
また、Ｈ状態のデータが多く出力されることにより、図２で示したプルアップ抵抗Ｒ１，Ｒ２に流れるシンク電流が減り、消費電力の低減を図ることができる。
【００６５】
なお、データコントロール回路２９、クロックコントロール回路２８が、プルダウン方式のオープンコレクタ又はオープンドレインの出力段を備えている場合、ＩＩＣバス１２ａ，１２ｂには、プルダウン抵抗が接続される。従って、シリアルデータＳＤＡがＨ状態のとき、シンク電流が流れる。よって、この場合、Ｈ状態のビット数が、全ビット数の半分より大きい場合に、転送しようとするシリアルデータを反転することによって、プルアップ抵抗Ｒ１，Ｒ２に流れるシンク電流を減らすことができ、消費電力の低減を図ることができる。
【００６６】
次に、シリアルデータＳＤＡを受信する場合について説明する。
データ転送装置１１ａは、ＩＩＣバス１２ａ，１２ｂを介して、シリアルデータＳＤＡ及びシリアルクロックＳＣＬが転送される。データ転送装置１１ａのデータコントロール回路２９は、シリアルデータＳＤＡを受信し、クロックコントロール回路２８が受信するシリアルクロックＳＣＬに同期して、シリアルデータＳＤＡをシフトレジスタ２４に出力する。
【００６７】
符号ビット検出回路３０は、データコントロール回路２９が受信したシリアルデータＳＤＡに含まれる情報ビットＣを、シリアルクロックＳＣＬに同期して検出する。
【００６８】
符号ビット検出回路３０は、シリアルデータＳＤＡの各ビット状態を順に検出する。そして、符号ビット検出回路３０は、最初のＬ状態（Ｌ状態が継続する場合は、その最後のビット）からＨ状態に状態遷移をした場合、そのビットの境におけるデータを検出する。
【００６９】
例えば、図６で示す‘０１１１１１１１’のシリアルデータＳＤＡが受信されたとする。また、シリアルデータＳＤＡに含まれる情報ビットＣは‘０’であるとする。
【００７０】
この場合、シリアルデータＳＤＡの最初のＬ状態からＨ状態に遷移するビットは、ビットＤ７からビットＤ６である。従って、符号ビット検出回路３０は、シリアルデータＳＤＡのビットＤ７からビットＤ６の、シリアルクロックＳＣＬの立下りにおけるビット状態を情報ビットＣとして検出する。
【００７１】
符号ビット検出回路３０は、情報ビットＣをシフトレジスタ２３に出力する。シフトレジスタ２３は、シフトレジスタ２４から出力されるシリアルデータＳＤＡを、情報ビットＣに応じて反転し保持する。なお、上記で情報ビットＣを‘０’と仮定したので、シフトレジスタ２３は、シリアルデータＳＤＡを反転して保持する。
【００７２】
シフトレジスタ２３に保持されたシリアルデータＳＤＡは、バス１３を介して、例えば、ＣＰＵ等に転送される。
ここで、受信したシリアルデータＳＤＡが‘１１１１１１１１’の場合、シリアルデータＳＤＡのＬ状態からＨ状態に遷移するビットはない。この場合、符号ビット検出回路３０は、シリアルデータＳＤＡのビットＤ７からビットＤ６の、シリアルクロックＳＣＬの立上りにおけるビット状態を情報ビットＣとして検出する。
【００７３】
このように、送信しようとする送信シリアルデータの所定状態にあるビット数が、全ビット数の半分より多い場合、送信シリアルデータを反転するようにしたので、シリアルデータの状態遷移数が減り、電力消費の低減を図ることができる。
【００７４】
また、転送しようとするシリアルデータが、プルアップ抵抗が接続されたバスに、プルアップ方式のオープンコレクタ又はオープンドレインによって駆動出力される場合においては、シリアルデータのＬ状態のビット数が、全ビット数の半分より多い場合に送信シリアルデータを反転することによって、プルアップ抵抗を流れるシンク電流が低減され、消費電力を低減することができる。また、転送しようとするシリアルデータが、プルダウン抵抗が接続されたバスに、プルダウン方式のオープンコレクタ又はオープンドレインによって駆動出力される場合においては、シリアルデータのＨ状態のビット数が、全ビット数の半分より多い場合に送信シリアルデータを反転することによって、プルダウン抵抗を流れるシンク電流が低減され、消費電力を低減することができる。
【００７５】
なお、図３に示したデータ転送装置１１ａにおいて、１回に転送するシリアルデータＳＤＡを８ビットとして、００ｈ〜ＦＦｈ（１６進数）の２５６バイトを転送した場合、Ｌ状態のビットの数が、８ビットの半分である４ビットを超えて（５ビット以上）発生する率は、３８／２５６≒１５％となる。従来のＩＩＣバス方式で行われるシリアルデータ転送では、９３／２５６≒３６％となる。従って、本発明では、Ｌ状態時の消費電力を半分以下に低減することができる。
【００７６】
また、Ｈ状態からＬ状態に遷移する回数は、図３に示したデータ転送装置１１ａにおいては、４４０回となる。従来のＩＩＣバス方式で行われるシリアルデータ転送では５０４回となる。従って、本発明では、シリアルデータの遷移が少なくなることで、消費電力を約１３％低減することができる。
【００７７】
また、上記ＩＩＣバス方式を採用したシステムなど各データ転送装置に固有のアドレスが割り当てられるシステムにおいては、該アドレスを指定することによりデータ転送装置間で１対１のデータ転送が実行できるため、本発明に係る上記機能を持ったデータ転送装置と上記機能を持たないデータ転送装置とを共存させ、該機能を持ったデータ転送装置間において上記のようなデータ転送を実現することもできる。
【００７８】
【発明の効果】
以上説明したように本発明では、送信しようとする送信シリアルデータのハイレベル又はロウレベルを有するビット数が、全ビット数の半分より大きい場合、送信シリアルデータを反転するようにしたので、送信シリアルデータの状態遷移が低減され、消費電力を低減することができる。
【００７９】
また、バスにプルアップ抵抗が接続されている場合には、ロウレベルを有するビット数が、全ビット数の半分より大きいときに送信シリアルデータを反転することにより、また、バスにプルダウン抵抗が接続されている場合には、ハイレベルを有するビット数が、全ビット数の半分より大きいときに送信シリアルデータを反転することにより、プルアップ抵抗、プルダウン抵抗に流れるシンク電流を低減し、消費電力を低減することができる。
【図面の簡単な説明】
【図１】本発明のデータ転送装置の原理を説明する原理図である。
【図２】本発明のデータ転送装置の適用構成例である。
【図３】データ転送装置のブロック構成図である。
【図４】情報ビットの挿入を説明する図である。
【図５】情報ビット検出を説明する図である。
【図６】転送するデータの一例を示す図である。
【図７】転送するデータの他の例を示す図である。
【符号の説明】
１，１１ａ〜１１ｅ……データ転送装置、２……送信データ反転手段、３……反転情報付加手段、４……反転情報抽出手段、５……受信データ反転手段、６，１３……バス、１２ａ，１２ｂ……ＩＩＣバス、２１……アドレスレジスタ、２２……アドレスコンパレータ、２３，２４……シフトレジスタ、２５……データビット検出回路、２６……ＮＬＢレジスタ、２７……符号制御回路、２８……クロックコントロール回路、２９……データコントロール回路、３０……符号ビット検出回路、Ｒ１，Ｒ２……プルアップ抵抗。
【図１】
2004207942.tif 000003
【図２】
2004207942.tif 000004
【図３】
2004207942.tif 000005
【図４】
2004207942.tif 000006
【図５】
2004207942.tif 000007
【図６】
2004207942.tif 000008
【図７】
2004207942.tif 000009