(57)【要約】【課題】  シリアル転送においてスレーブデバイスの転送速度を考慮不要とする。【解決手段】  マスタデバイス10とスレーブデバイス21〜2Nの間が各１本の転送クロックＣとシリアルデータ信号Ｄとクロックウエイト信号Ｗで接続される。転送クロックはマスタデバイスから送出され各スレーブデバイスに送出され、シリアルデータ信号はマスタデバイスと各スレーブデバイスとの間で転送クロックに同期してビットシリアルにデータを送受信する。クロックウエイト信号w1〜wNは各スレーブデバイスにおいて次の転送準備が完了していない場合に転送クロックの反転時を延長させるためにオープンドレイン接続で送出され、プルアップ抵抗Ｒに接続されて一つのクロックウエイト信号Ｗに集約されマスタデバイスに入力する。【選択図】        図１
2007052515.tif 000002
【特許請求の範囲】
【請求項１】
一つのマスタデバイスと複数のスレーブデバイスの間が各１本の転送クロックとシリアルデータ信号とクロックウエイト信号とで接続され、
前記転送クロックは前記マスタデバイスから送出され分岐して前記各スレーブデバイスに対し一斉に送出され、
前記シリアルデータ信号は前記マスタデバイスと前記各スレーブデバイスとの間で前記転送クロックに同期してビットシリアルにデータを送受信し、
前記クロックウエイト信号は各スレーブデバイスにおいて次の転送準備が完了していない場合に前記転送クロックの反転時を延長させるためにオープンドレイン接続で送出され、かつプルアップ抵抗に接続されて一つのクロックウエイト信号に集約され前記マスタデバイスに入力することを特徴とするシリアルデータ転送システム。
【請求項２】
前記マスタデバイスは、
前記クロックウエイト信号の変化を検出するウエイト信号変化検出部と、
前記ウエイト信号変化検出部からウエイト信号の変化の検出通知を受けると前記転送クロックを反転出力する転送クロック生成部と、
前記転送クロック生成部から出力される転送クロックの状態により前記シリアルデータ信号よりデータを取得もしくはシリアルデータ信号へデータを送信するシリアルデータ送受信部とを有することを特徴とする請求項１記載のシリアルデータ転送システム。
【請求項３】
前記各スレーブデバイスから送出されるクロックウエイト信号は、クロックウエイト信号を無効化するのが一番遅いスレーブデバイスによって無効化され、クロックウエイト信号を有効化するのが一番早いスレーブデバイスによって有効化されることを特徴とする請求項１または請求項２記載のシリアルデータ転送システム。
【請求項４】
請求項１ないし請求項３のいずれかに記載のシリアルデータ転送システムを用いたシリアルデータ転送方法において、
前記マスタデバイスが転送スタートを示して通信対象とするスレーブデバイスを指定するためのスレーブデバイスアドレスを前記シリアルデータ信号に出力する手順と、
前記転送スタートにより全ての前記スレーブデバイスが前記クロックウエイト信号を出力して前記スレーブデバイスアドレスをビット毎に自身のスレーブアドレスと比較する手順と、
前記比較の結果により通信対象外と判断したスレーブデバイスから順次に自身のクロックウエイト信号を無効化していく手順と、
前記マスタデバイスが通信対象のスレーブデバイスからのクロックウエイト信号に適合した転送クロックを送出する手順とを有することを特徴とするシリアルデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタデバイスと複数のスレーブデバイスとの間で行われるシリアルデータ転送に関する。
【背景技術】
【０００２】
システムLSIにおいて、周辺装置を制御、もしくはメモリへのデータの転送をシリアル転送を用いて行う場合、Ｉ２Ｃ（I square C）インターフェイスや、ＳＰＩ（Serial Peripheral Interface）を用いる方式が実用化されている。
【０００３】
Ｉ２Ｃはフィリップス（Ｐｈｉｌｉｐｓ）社の開発によるもので、マスタデバイスとスレーブデバイスの間でデータ転送が行われ、両デバイスを繋ぐバスはデータラインとクロックラインの２本で構成され、クロックラインがＬｏｗレベルの間に、データラインを変化させてシリアル転送を行うものである。バスはオープンドレインで接続され、クロックラインは複数のデバイスによって駆動され得る。このとき、Ｌｏｗレベルを一番長く出力しているデバイスがクロックラインを制御することになる。全てのデバイスがバスを開放すると、バスは外付けのプルアップによりＨｉｇｈレベルとなり、その後一番初めにバスにＬｏｗレベルを駆動したデバイスにより、バスはＬｏｗレベル状態となる（文献公知発明に係るものではない）。
【０００４】
転送速度に関しては、Ｉ２Ｃの規格に１００ＫＨｚと４００ＫＨｚと３．４ＭＨｚが定められており、Ｉ２Ｃ転送を行うマスタは、予めスレーブがどの転送速度で動作するかによってマスタクロックラインの周波数を設定し転送速度を満たすように、クロックラインを生成する（例えば、特許文献１参照）。
【０００５】
ＳＰＩはモトローラ社によって開発され、メモリ等の周辺装置のインターフェイスとして利用されている。マスタデバイスとスレーブデバイスの間で転送が行われ、マスタデバイスはスレーブデバイスが転送可能な速度を満たしたクロック信号を出力し、クロック信号にあわせて、データを出力もしくは入力する形態をとるインターフェイスである。転送速度はスレーブデバイスによって様々である（文献公知発明に係るものではない）。
【０００６】
【特許文献１】特開2003-141061号公報（第８頁、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来のＩ２ＣインターフェイスやＳＰＩを用いたシリアルデータ転送には、以下のような問題がある。
【０００８】
第一の問題は、シリアル転送速度はマスタに依存することである。この問題は、ＳＰＩではスレーブデバイスにシリアル転送用クロックを制御することが許されず、Ｉ２Ｃインターフェイスではシリアル転送用クロックのＨｉｇｈレベル幅はスレーブデバイスに制御することが許されていないことに起因する。
【０００９】
第二の問題は、マスタデバイスを設計するにあたり、接続されるスレーブデバイスの転送速度を予め意識し、シリアル転送クロックのＨｉｇｈレベル幅とＬｏｗレベル幅を保障するための回路が必要なことである。また、このことにより、マスタデバイス作成後に、別のスレーブデバイスを接続させようとしたとき、スレーブデバイスの転送速度をマスタデバイスがサポートしていないと転送が不可能になってしまい、マスタデバイスの汎用性、拡張性を損なうことになる。この問題は、スレーブデバイスがシリアル転送可能な速度をマスタデバイスで保障しなければならないことに起因する。
【００１０】
第三の問題は、異なった転送速度で動作する複数のスレーブデバイスと接続するために、マスタデバイスは、スレーブデバイスにあわせた転送速度を生成し、切り替える回路が必要なことである。この問題は、スレーブデバイスが独自の転送速度を要求することに起因する。
【００１１】
本発明の目的は、シリアル転送において、接続されるスレーブデバイスの転送速度を考慮する必要をなくし、マスタデバイスの汎用性と拡張性を高めるとともにマスタデバイス設計の容易化、それに伴う回路規模の縮小を図ることができるシリアルデータ転送システムおよびシリアルデータ転送方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明のシリアルデータ転送システムは、一つのマスタデバイス（図１の10）と複数のスレーブデバイス（図１の21〜2N）の間が各１本の転送クロック（図１のＣ）とシリアルデータ信号（図１のＤ）とクロックウエイト信号（図１のＷ）とで接続され、転送クロックはマスタデバイスから送出され分岐して各スレーブデバイスに対し一斉に送出され、シリアルデータ信号はマスタデバイスと各スレーブデバイスとの間で転送クロックに同期してビットシリアルにデータを送受信し、クロックウエイト信号（図１のw1〜wN）は各スレーブデバイスにおいて次の転送準備が完了していない場合に転送クロックの反転時を延長させるためにオープンドレイン接続で送出され、かつプルアップ抵抗（図１のＲ）に接続されて一つのクロックウエイト信号（図１のＷ）に集約されマスタデバイスに入力することを特徴とする。
【００１３】
具体的には、マスタデバイスは、クロックウエイト信号の変化を検出するウエイト信号変化検出部（図２の11）と、ウエイト信号変化検出部からウエイト信号の変化の検出通知を受けると転送クロックを反転出力する転送クロック生成部（図２の12）と、転送クロック生成部から出力される転送クロックの状態によりシリアルデータ信号よりデータを取得もしくはシリアルデータ信号へデータを送信するシリアルデータ送受信部（図２の13）とを有することを特徴とする。
【００１４】
また、各スレーブデバイスから送出されるクロックウエイト信号は、クロックウエイト信号を無効化するのが一番遅いスレーブデバイスによって無効化され、クロックウエイト信号を有効化するのが一番早いスレーブデバイスによって有効化される。
【００１５】
本発明のシリアルデータ転送方法は、上記いずれかに記載のシリアルデータ転送システムを用いたシリアルデータ転送方法において、マスタデバイスが転送スタートを示して通信対象とするスレーブデバイスを指定するためのスレーブデバイスアドレスをシリアルデータ信号に出力する手順と、転送スタートにより全てのスレーブデバイスがクロックウエイト信号を出力してスレーブデバイスアドレスをビット毎に自身のスレーブアドレスと比較する手順と、比較の結果により通信対象外と判断したスレーブデバイスから順次に自身のクロックウエイト信号を無効化していく手順と、マスタデバイスが通信対象のスレーブデバイスからのクロックウエイト信号に適合した転送クロックを送出する手順とを有することを特徴とする。
【発明の効果】
【００１６】
本発明の第１の効果は、転送クロック自体をスレーブデバイスが伸ばすことが可能とする構成としたため、スレーブデバイスの転送速度が変化しても、マスタの動作・回路は変更せずに接続可能となりマスタデバイスの汎用性・拡張性を高めることができるということである。
【００１７】
本発明の第２の効果は、マスタデバイスは接続されるスレーブデバイスに合わせて、転送クロックのパルス幅を保障する構成としたため、パルス幅の長さをカウントする回路、いくつかの転送速度パターン生成回路、またその切替え回路を持つ必要がなくなることにより、マスタデバイスの回路設計の容易化、それに伴う回路規模縮小が可能になるということである。
【００１８】
本発明の第３の効果は、転送クロックの制御をスレーブにも可能にする構成としたので、マスタデバイスとスレーブデバイスの両方で、シリアルデータ転送速度をビット単位で調整することが可能になり、転送データに対するオーバーラン・アンダーランエラーを回避することも可能となり、転送データの信頼性の向上を図ることができるということである。
【発明を実施するための最良の形態】
【００１９】
本発明のシリアルデータ転送システムは、一つのマスタデバイスと複数のスレーブデバイスの間が各１本の転送クロックとシリアルデータ信号とクロックウエイト信号とで接続される。転送クロックはマスタデバイスから送出され分岐して各スレーブデバイスに対し一斉に送出され、シリアルデータ信号はマスタデバイスと各スレーブデバイスとの間で転送クロックに同期してビットシリアルにデータを送受信する。
【００２０】
クロックウエイト信号は各スレーブデバイスにおいて次の転送準備が完了していない場合に転送クロックの反転時を延長させるためにオープンドレイン接続で送出され、かつプルアップ抵抗に接続されて一つのクロックウエイト信号に集約されマスタデバイスに入力することを特徴とする。
【００２１】
また、各スレーブデバイスから送出されるクロックウエイト信号は、クロックウエイト信号を無効化するのが一番遅いスレーブデバイスによって無効化され、クロックウエイト信号を有効化するのが一番早いスレーブデバイスによって有効化される。
【００２２】
このように、本発明のシリアル転送では、従来のシリアルデータ転送で必要であった、転送クロックとシリアルデータ信号の他に、転送クロックの反転時を延長させ、スレーブデバイスによって制御されるクロックウエイト信号を使用し、転送クロックを延長させる手段と、クロックウエイト信号を複数のスレーブデバイスによって制御可能にする手段（図１のクロックウエイト信号オープンドレイン接続）を有する。
【実施例１】
【００２３】
次に、本発明の実施例について図面を参照して詳細に説明する。図１は、本発明のシリアルデータ転送システムの一実施例を示す構成図である。図１において、マスタデバイス10に対して接続されるスレーブデバイス21〜2Nの数はＮ個（Ｎは２以上の正整数)であることを示している。
【００２４】
マスタデバイス10とスレーブデバイス21〜2Nの間は、各１本のクロックウエイト信号Ｗと転送クロックＣとシリアルデータ信号Ｄで接続されている。すなわち、マスタデバイス10のクロックウエイト信号Ｗと転送クロックＣの数は、接続されるスレーブデバイス数Ｎに依存していないことを示している。
【００２５】
クロックウエイト信号Ｗは、オープンドレイン出力され、プルアップ抵抗Ｒに接続される。プルアップ抵抗Ｒの他端は＋電源Vccに接続されている。このため、接続されるスレーブデバイスの数が増えてもマスタデバイスの接続信号数を一定にすることができる。
【００２６】
マスタデバイス10は、スレーブデバイス21〜2Nに対して一斉に転送クロックＣを送出することができ、転送クロックＣに同期して、マスタデバイス10とスレーブデバイス21〜2Nとの間でシリアルデータ信号Ｄ送受信することができる。
【００２７】
スレーブデバイス21〜2Nは、次の転送準備が完了していない場合、マスタデバイス10からの転送クロックＣの反転時を延長させるために、対応するクロックウエイト信号w1〜Wnを送出する。クロックウエイト信号w1〜Wnは、オープンドレイン接続され、プルアップ抵抗Ｒに接続されている。
【００２８】
したがって、クロックウエイト信号w1〜Wnは、クロックウエイト信号Ｗに集約されてマスタデバイス10に供給される。すなわち、クロックウエイト信号Ｗは、クロックウエイト信号wx(x=1〜N)を開放するのが一番遅いスレーブデバイス2xによって開放され、クロックウエイト信号wxを閉鎖するのが一番早いスレーブデバイスによって閉鎖されることになる。
【００２９】
ここで、クロックウエイト信号wxの開放とはクロックウエイト信号wxの無効化を意味し、これにより、マスタデバイス10からの転送クロックＣの送出を許容することになる。また、クロックウエイト信号wxの閉鎖とはクロックウエイト信号wxの有効化を意味し、これにより、マスタデバイス10からの転送クロックＣの送出を禁止することになる。図１では、クロックウエイト信号wxは開放時にはＨｉｇｈレベル、閉鎖時にはＬｏｗレベルとなる。
【００３０】
図２に、マスタデバイス10の内部構成を示す。マスタデバイス10はウエイト信号変化検出部11、転送クロック生成部12、シリアルデータ送受信部13から構成されている。ウエイト信号変化検出部11はウエイト信号Ｗの立上りエッジおよび立下りエッジを検出し、転送クロック生成部12に信号Ｂ１を通してそのことを示す。
【００３１】
転送クロック生成部12は信号Ｂ１によりウエイト信号Ｗの変化を検出し、転送クロックＣを反転（ＨｉｇｈレベルからＬｏｗレベルもしくはＬｏｗレベルからＨｉｇｈレベル）し、スレーブデバイス21〜2Nへ出力する。また、転送クロックＣは信号Ｂ２を介して、シリアルデータ送受信部13にも出力される。シリアルデータ送受信部13は転送クロックＣの状態により、シリアルデータ信号Ｄよりデータを取得、もしくはシリアルデータ信号Ｄへデータを送信する。
【００３２】
図３および図４にクロックウエイト信号Ｗと転送クロックＣの関係をタイミングチャートで示す。ここでは、一例として、図１におけるスレーブデバイスの数を２（Ｎ＝２）とした場合を示す。
【００３３】
図３は、スレーブデバイスの転送速度に対して、マスタデバイス10の転送速度が遅い場合のクロックウエイト信号Ｗと転送クロックＣとの関係を示している。図３におけるクロック反転許可区間は、クロックウエイト信号Ｗが開放されている（クロックウエイト信号ＷがＨｉｇｈレベル）状態で、マスタデバイス10は、ウエイト信号変化検出部11がクロックウエイト信号Ｗの立上りエッジを検出することにより、上記区間を検出する。上記区間は接続される全てのスレーブデバイス21〜22において次の転送準備が完了していることを示している。上記区間では、図３のＷ１の矢印で示すように、マスタデバイス10は転送クロックＣを反転することが可能である。
【００３４】
前述のようにクロックウエイト信号Ｗはオープンドレイン接続されているので、クロックウエイト信号Ｗの開放は、転送速度がより低速なスレーブデバイスの出力するクロックウエイト信号wx、つまりクロックウエイト信号Ｗを開放するのが一番遅いスレーブデバイスが自動的に優先される。図３の矢印Ｗ２は、スレーブデバイス21の出力するクロックウエイト信号w1によってクロックウエイト信号Ｗが制御されていることを示す。
【００３５】
一方、クロックウエイト信号Ｗの閉鎖（クロックウエイト信号ＷがＬｏｗレベル）は、転送速度がより高速なスレーブデバイスの出力するクロックウエイト信号wx、つまりクロックウエイト信号Ｗを開放するのが一番早いスレーブデバイスが自動的に優先される。図３の矢印Ｗ３は、スレーブデバイス22の出力するクロックウエイト信号w2によってクロックウエイト信号Ｗが制御されていることを示している。
【００３６】
また、図３におけるウエイト区間は接続されているいずれか１つ以上のスレーブデバイスがクロックウエイト信号ＷをＬｏｗレベルに保っている区間であり、スレーブデバイスが次の転送を受け付けることができないことを示している。上記区間では、マスタデバイス10によって転送クロックＣを反転することが禁止される。
【００３７】
例えば、図３の矢印Ｗ４または矢印Ｗ５の点線で示すように、マスタデバイス10の動作速度がスレーブデバイスに対して比較的高速である場合、マスタデバイス10は転送クロックＣを反転することが可能であるが、クロックウエイト信号Ｗが転送クロックＣの反転を許していない状態なので、マスタデバイス10は転送クロックＣのパルス幅を延長している。
【００３８】
図４は、スレーブデバイスの転送速度に対して、マスタデバイス10の転送速度が遅い場合のクロックウエイト信号Ｗと転送クロックＣとの関係を示している。図４のクロックウエイト信号Ｗは、図３のスレーブデバイス21のクロックウエイト信号w1とスレーブデバイス22のクロックウエイト信号w2がオープンドレイン接続され集約されたものである。
【００３９】
図４におけるマスタクロック保持区間はクロック反転許可区間、つまり接続される全てのスレーブデバイスが次の転送準備が完了している状態であるが、マスタデバイス10において転送の準備ができていない状態を示している。例えば、図４の矢印Ｗ７または矢印Ｗ８の点線で示すように転送クロックＣを反転しても、スレーブデバイスは問題なく動作するが、マスタデバイス自身の転送準備が完了していないため、マスタデバイス10によって転送クロックＣの延長をすることが可能である。
【００４０】
図３と図４に示すように、クロックウエイト信号Ｗの反転タイミングと転送クロックＣの反転タイミングに差分が生じても、シリアルデータ信号Ｄは図２の信号Ｂ２とシリアルデータ送受信部13で示すように、転送クロックＣのみに依存して送受信を行うので、問題なくシリアルデータ転送を行うことが可能である。
【００４１】
また、図１と図２に示した構成ではシリアルデータ信号Ｄは双方向信号の携帯をとっているが、シリアルデータ信号Ｄを入力と出力の各別に分けた構成のシリアルデータ転送システムであってもても本発明を適用することができる。
【実施例２】
【００４２】
次に、本発明の実施例２について図面を参照して詳細に説明する。システムの構成は、図１および図２に示した実施例１と同じである。
【００４３】
この実施例は、マスタデバイス10がそれぞれ転送速度の異なった、いくつかのスレーブデバイスと接続されていて、その中の一つのスレーブデバイスのみと通信を行いたい場合は、対象となるスレーブデバイスを限定することで、通信対象外のスレーブデバイスが、クロックウエイト信号を開放することにより、通信対象スレーブデバイスの最適（最速）な転送速度によるシリアルデータ転送を可能とするものである。以下に、マスタデバイス10が３つのスレーブデバイスＡ，Ｂ，Ｃと接続された場合について説明する。
【００４４】
この実施例では、図５に示すように、シリアル転送を４つのフェーズ、すなわち転送スタート・スレーブデバイスアドレス・データ転送・転送ストップに分類させる。シリアル転送はマスタデバイス10が転送スタートを示すことにより始まる。転送スタートフェーズは、例として図５のＦ１のように、転送クロック＝Ｈｉｇｈの時にデータをＨｉｇｈからＬｏｗに変化させることにより生起する。
【００４５】
続くスレーブデバイスアドレスフェーズでは、マスタデバイス10が通信対象とするスレーブデバイスを指し示すデータを出力する。この期間では、バス上に接続されている全てのスレーブデバイスＡ，Ｂ，Ｃは、自分が通信対象であるか判断するための、データ（スレーブアドレス）を取得する必要がある。そのため、スレーブデバイスＡ，Ｂ，Ｃがデータ取得可能な転送速度に転送クロックＣを調整するために、スレーブデバイスＡ，Ｂ，Ｃそれぞれはクロックウエイト信号を出力する。
【００４６】
全てのスレーブデバイスＡ，Ｂ，Ｃがクロックウエイト信号を制御しているので、転送速度は低速になるが、スレーブデバイスＡ，Ｂ，Ｃは取得したスレーブアドレスが、自身のスレーブアドレスと一致しているかどうかを１Ｂｉｔごとに比較することにより、マスタデバイス10の通信対象であるかを判断し、通信対象外である場合は、クロックウエイト信号を順次開放する。
【００４７】
図５では、最初はＡ，Ｂ，Ｃのスレーブデバイス全てがクロックウエイト信号を出力しているが、Ｗ９でスレーブデバイスＡが通信対象外となり、クロックウエイト信号を開放している。また、Ｗ１０でスレーブデバイスＣがクロックウエイト信号を解放し、最終的にはクロックウエイト信号はスレーブデバイスＢのみに依存していることを表している。
【００４８】
以上のスレーブデバイスの動作により、このスレーブデバイスアドレスフェーズの終了時には、通信対象であるスレーブデバイス１つのみが（図５ではスレーブＢ）、クロックウエイト信号を制御することを許される。
【００４９】
データ転送フェーズでは、通信対象であるスレーブデバイスＢにとっての最適な転送速度により、シリアルデータ転送が行われる。シリアルデータ転送の終了は、マスタデバイス10が転送ストップを示すことにより終了する。ここでは、例として転送クロック＝ＨｉｇｈのときにデータをＬｏｗからＨｉｇｈに変化させる。この状態以降は全てのスレーブデバイスＡ，Ｂ，Ｃに、クロックウエイト信号を制御することが許されるようになる。
【図面の簡単な説明】
【００５０】
【図１】本発明のシリアルデータ転送システムの構成を示すブロック図
【図２】本発明のシリアルデータ転送システムにおけるマスタデバイスのブロック図
【図３】本発明の実施例１における転送クロック信号とクロックウエイト信号の関係の一例を示すタイミングチャート
【図４】本発明の実施例１における転送クロック信号とクロックウエイト信号の関係の他の例を示すタイミングチャート
【図５】本発明の実施例２において通信対象スレーブデバイスを限定する方法を示すタイミングチャート
【符号の説明】
【００５１】
10          マスタデバイス
11          ウエイト信号変化検出部
12          転送クロック生成部
13          シリアルデータ送受信部
21〜2N      スレーブデバイス
Ｃ          転送クロック
Ｄ          シリアルデータ信号
Ｒ          バスプルアップ抵抗
Ｗ          クロックウエイト信号
W1〜Wn      クロックウエイト信号
【図１】
2007052515.tif 000003
【図２】
2007052515.tif 000004
【図３】
2007052515.tif 000005
【図４】
2007052515.tif 000006
【図５】
2007052515.tif 000007