(57)【特許請求の範囲】
【請求項１】
マスターＩＣ（１００）が、該マスターＩＣからスレーブＩＣへデータ転送を行う際、バスに接続されている１以上のスレーブＩＣの内の１つに割り当てられている第１ビット数の固定長アドレスを出力し、自己が指定されたことを認識したスレーブＩＣからの認証信号（Ａ)の受け取りに応じて、該スレーブＩＣに対して転送データの出力を実行するデータ転送システム（５０）であって、
上記第１ビット数よりも少ない第２ビット数の固定長アドレスであって、上記スレーブＩＣに割り当てられているアドレスの内、上記第２ビット数の固定長アドレスに対応する部分に異なる値が割り当てられている１以上の第１スレーブＩＣ（１１０、１２０）を含んでおり、
上記マスターＩＣが、接続されている各スレーブＩＣに対して転送データの出力開始を認識させるためのスタートコンディションを形成する手段（ステップＳ１）と、接続する第１スレーブＩＣに割り当てられている第２ビット数のアドレスを出力するアドレス出力手段（ステップＳ２）と、第１ビット数から第２ビット数を引いて求められる第３ビット数分の転送データを上記アドレス出力に続いて出力するデータ出力手段（ステップＳ３）と、上記第２ビット数のアドレスによって自己が指定されたことを認識した第１スレーブＩＣから出力される認証信号（Ａ)を確認する手段（ステップＳ５）と、認証信号（Ａ)の受け取りに応じて残りの転送データを出力する手段（ステップＳ６）と、を含んでおり、
上記１以上の第１スレーブＩＣの各々が、マスターＩＣによるスタートコンディションの形成を検出する手段（ステップＳ２０）と、転送データの先頭の第２ビット数のデータに基づいて自己がアドレス指定されたか否かの認識を行う認識手段（ステップＳ２２）と、自己がアドレス指定されたことを認識した場合、上記第２ビット数のデータの次の第３ビット数の転送データを受け取る受取手段（ステップＳ２５）と、認証信号（Ａ)を出力する手段（ステップＳ２７）と、残りの転送データの受け取りを行う手段と、を含んでいるものである、
ことを特徴とするデータ転送システム。
【請求項２】
マスターＩＣ（１００）が、該マスターＩＣからスレーブＩＣへデータ転送を行う際、バスに接続されている１以上のスレーブＩＣの内の１つに割り当てられている第１ビット数の固定長アドレスを出力し、自己が指定されたことを認識したスレーブＩＣからの認証信号（Ａ)の受け取りに応じて、該スレーブＩＣに対して転送データの出力を実行するシステムであって、上記第１ビット数よりも少ない第２ビット数の固定長アドレスであって、上記スレーブＩＣに割り当てられているアドレスの内、上記第２ビット数の固定長アドレスに対応する部分に異なる値が割り当てられている１以上の第１スレーブＩＣ（１１０、１２０）を含んでいるシステム（５０）において実行するデータ転送方法であって、
上記マスターＩＣが、接続されている各スレーブＩＣに対して転送データの出力開始を認識させるためのスタートコンディションを形成する工程（ステップＳ１）と、接続する第１スレーブＩＣに割り当てられている第２ビット数のアドレスを出力するアドレス出力工程（ステップＳ２）と、第１ビット数から第２ビット数を引いて求められる第３ビット数分の転送データを上記アドレス出力に続いて出力するデータ出力工程（ステップＳ３）と、上記第２ビット数のアドレスによって自己が指定されたことを認識した第１スレーブＩＣから出力される認証信号（Ａ)を確認する工程（ステップＳ５）と、認証信号（Ａ)の受け取りに応じて残りの転送データを出力する工程（ステップＳ６）と、を含んでおり、
上記１以上の第１スレーブＩＣの各々が、マスターＩＣによるスタートコンディションの形成を検出する工程（ステップＳ２０）と、転送データの先頭の第２ビット数のデータに基づいて自己がアドレス指定されたか否かの認識を行う認識工程（ステップＳ２２）と、自己がアドレス指定されたことを認識した場合、上記第２ビット数のデータの次の第３ビット数の転送データを受け取る受取工程（ステップＳ２５）と、認証信号（Ａ)を出力する工程（ステップＳ２７）と、残りの転送データの受け取りを行う工程と、を実行するものである、
ことを特徴とするデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シリアルデータバス、特にＩ2Ｃバスを用いてマスターＩＣと複数のスレーブＩＣとの間で行うデータ転送システムに関する。
【０００２】
【従来の技術】
従来より、シリアルデータバス、特にＩ2Ｃバスを介してマスターＩＣと複数のスレーブＩＣとの間でデータ転送を行うシステムが知られている。当該システムでは、マスターＩＣと複数のスレーブＩＣとをシリアルデータライン（以下、ＳＤＡラインという）、及び、シリアルクロックライン（以下、ＳＣＬラインという）の２本のバスラインにより接続し、これら２本のバスラインを用いてＩ2Ｃプロトコルに準拠したデータ転送を行う。
【０００３】
図８は、マスターＩＣが特定のアドレスのスレーブＩＣを指定し、当該指定したスレーブＩＣとの回線を確立（いわゆるシェークハンド）した後に、データ転送を行う場合において、ＳＤＡラインに流れる信号の種類を示す図である。本図ではマスターＩＣから出力される信号を斜線で表し、スレーブＩＣから出力される信号を白抜きで表す。
【０００４】
まず、マスターＩＣは、クロック信号が”Ｈ”の時にデータ信号を”Ｈ”から”Ｌ”に切換えてスタートコンディションを形成し、スレーブアドレスの指定を行うことを各スレーブＩＣに知らせる。
【０００５】
この後、マスターＩＣは、指定するスレーブＩＣのアドレスデータ（７ビット）を出力する。
【０００６】
マスターＩＣは、スレーブＩＣへデータの書き込みを行う場合、”Ｌ”のＲ／Ｗ信号を出力し、逆にスレーブＩＣからデータを読み出す場合には、”Ｈ”のＲ／Ｗ信号を出力する。
【０００７】
マスターＩＣから指定されたことを認識したスレーブＩＣは、マスターＩＣに対して認証信号Ａを返信する。
【０００８】
上記Ｒ／Ｗが”Ｌ”の場合、指定したスレーブＩＣから認証信号Ａを受け取ったマスターＩＣは、転送データを１バイト単位で出力する。スレーブＩＣは、１バイトのデータを受け取る毎に、認証信号ＡをマスターＩＣに返送する。
【０００９】
転送すべきデータの出力が完了した場合、マスターＩＣは、スレーブＩＣから送られてくる認証信号Ａに対応して、クロック信号が”Ｈ”の時にデータを”Ｌ”から”Ｈ”に切換えてストップコンディションＰを形成し、データの出力完了を知らせる。
【００１０】
【発明が解決しようとする課題】
接続されているスレーブＩＣの数が少ない場合、これらのスレーブＩＣを識別するのに必要なアドレスのビット数は少ない。ところが、上記従来のデータ転送方法では、スレーブＩＣには、常に７ビットのアドレスが割り当てられており、接続されているスレーブＩＣの数が少なくても必ず７ビット分のデータ送信が行われるため、これ以上のデータ転送の効率化を図ることができない。
【００１１】
本発明は、接続されているスレーブＩＣの数が少ない場合に、より迅速なデータ転送を実現するデータ転送システム、及び、データ転送方式を提供することを目的とする。
【００１２】
【課題を解決するための手段】
請求項１に記載のデータ転送システムは、マスターＩＣ（１００）が、該マスターＩＣからスレーブＩＣへデータ転送を行う際、バスに接続されている１以上のスレーブＩＣの内の１つに割り当てられている第１ビット数の固定長アドレスを出力し、自己が指定されたことを認識したスレーブＩＣからの認証信号（Ａ)の受け取りに応じて、該スレーブＩＣに対して転送データの出力を実行するデータ転送システム（５０）であって、上記第１ビット数よりも少ない第２ビット数の固定長アドレスであって、上記スレーブＩＣに割り当てられているアドレスの内、上記第２ビット数の固定長アドレスに対応する部分に異なる値が割り当てられている１以上の第１スレーブＩＣ（１１０、１２０）を含んでおり、上記マスターＩＣが、接続されている各スレーブＩＣに対して転送データの出力開始を認識させるためのスタートコンディションを形成する手段（ステップＳ１）と、接続する第１スレーブＩＣに割り当てられている第２ビット数のアドレスを出力するアドレス出力手段（ステップＳ２）と、第１ビット数から第２ビット数を引いて求められる第３ビット数分の転送データを上記アドレス出力に続いて出力するデータ出力手段（ステップＳ３）と、上記第２ビット数のアドレスによって自己が指定されたことを認識した第１スレーブＩＣから出力される認証信号（Ａ)を確認する手段（ステップＳ５）と、認証信号（Ａ)の受け取りに応じて残りの転送データを出力する手段（ステップＳ６）と、を含んでおり、上記１以上の第１スレーブＩＣの各々が、マスターＩＣによるスタートコンディションの形成を検出する手段（ステップＳ２０）と、転送データの先頭の第２ビット数のデータに基づいて自己がアドレス指定されたか否かの認識を行う認識手段（ステップＳ２２）と、自己がアドレス指定されたことを認識した場合、上記第２ビット数のデータの次の第３ビット数の転送データを受け取る受取手段（ステップＳ２５）と、認証信号（Ａ)を出力する手段（ステップＳ２７）と、残りの転送データの受け取りを行う手段と、を含んでいるものである、ことを特徴とする。
【００１３】
請求項２に記載のデータ転送方法は、マスターＩＣ（１００）が、該マスターＩＣからスレーブＩＣへデータ転送を行う際、バスに接続されている１以上のスレーブＩＣの内の１つに割り当てられている第１ビット数の固定長アドレスを出力し、自己が指定されたことを認識したスレーブＩＣからの認証信号（Ａ)の受け取りに応じて、該スレーブＩＣに対して転送データの出力を実行するシステムであって、上記第１ビット数よりも少ない第２ビット数の固定長アドレスであって、上記スレーブＩＣに割り当てられているアドレスの内、上記第２ビット数の固定長アドレスに対応する部分に異なる値が割り当てられている１以上の第１スレーブＩＣ（１１０、１２０）を含んでいるシステム（５０）において実行するデータ転送方法であって、上記マスターＩＣが、接続されている各スレーブＩＣに対して転送データの出力開始を認識させるためのスタートコンディションを形成する工程（ステップＳ１）と、接続する第１スレーブＩＣに割り当てられている第２ビット数のアドレスを出力するアドレス出力工程（ステップＳ２）と、第１ビット数から第２ビット数を引いて求められる第３ビット数分の転送データを上記アドレス出力に続いて出力するデータ出力工程（ステップＳ３）と、上記第２ビット数のアドレスによって自己が指定されたことを認識した第１スレーブＩＣから出力される認証信号（Ａ)を確認する工程（ステップＳ５）と、認証信号（Ａ)の受け取りに応じて残りの転送データを出力する工程（ステップＳ６）と、を含んでおり、上記１以上の第１スレーブＩＣの各々が、マスターＩＣによるスタートコンディションの形成を検出する工程（ステップＳ２０）と、転送データの先頭の第２ビット数のデータに基づいて自己がアドレス指定されたか否かの認識を行う認識工程（ステップＳ２２）と、自己がアドレス指定されたことを認識した場合、上記第２ビット数のデータの次の第３ビット数の転送データを受け取る受取工程（ステップＳ２５）と、認証信号（Ａ)を出力する工程（ステップＳ２７）と、残りの転送データの受け取りを行う工程と、を実行するものである、ことを特徴とする。
【００１６】
【発明の実施の形態】
本発明のデータ転送方式は、Ｉ2Ｃバスを介して、マスターＩＣと複数のスレーブＩＣが接続されて成るシステムにおいて、スレーブＩＣの数が少ない場合には、個々のスレーブＩＣを識別するのに必要最小限のビットをアドレスデータ用に使用すると共に、元々アドレスデータ用に割り当てられている７ビットの内の残りのビットをデータ転送用に割り当てることを特徴とする。これにより、接続されているスレーブＩＣの数が少ない場合におけるより迅速なデータ転送を実現する。
以下、上記特徴を具備するデータ転送方式を実現するデータ転送システムを、添付の図面を参照しつつ説明する。
【００１７】
図１は、本発明のデータ転送方式を実現するデータ転送システム５０の構成図である。データ転送システム５０は、Ｉ2Ｃバスとして、シリアルデータライン（以下、ＳＤＡラインという）１０及びシリアルクロックライン（以下、ＳＣＬラインという）２０を備え、当該バスにマスターＩＣ１００、及び、７個のスレーブＩＣ１１０〜１７０を接続して成る。
【００１８】
マスターＩＣ１００は、信号制御部及びＩ2Ｃインターフェースで構成されており、以下に説明する手順でスレーブＩＣを指定し、データの転送処理を行う。
【００１９】
スレーブＩＣ１１０〜１７０には、”００１”〜”１１１”の３ビットのアドレスを割り当てる。各スレーブＩＣに割り当てるアドレスのビット数は、接続するスレーブＩＣの数に応じて決まる。例えば、３つしかない場合には、２ビットを割り当てる。なお、後に応用例として説明するが、ここで、スレーブＩＣ１１０〜１７０に、アドレス”０００”を割り当てないのは、７ビット分のアドレスの割り当てを必要とする従来のスレーブＩＣの下位３ビットのアドレスを”０００”とすることで、本発明にかかるスレーブＩＣ１１０〜１７０と従来のスレーブＩＣの識別を可能にして混合状態での使用を可能にするためである。
【００２０】
図２は、上記構成のデータ転送システム５０において、マスターＩＣ１００が実行する処理のフローチャートである。図３は、図２のフローチャートに従い、スレーブＩＣ１１０〜１７０の内の１つを指定し、当該指定したスレーブＩＣとの回線を確立した後に、データ転送を行う場合にＳＤＡライン１０に流れる信号の種類を示す図である。図中、マスターＩＣ１００から出力される信号を斜線で表し、指定されたスレーブＩＣから出力される信号を白抜きで表す。図４は、データライン１０及びクロックライン２０に流れる信号のレベルを表す図である。以下、図３及び図４を参照しつつ、マスターＩＣ１００の実行するデータ転送処理の内容を図２のフローに従いながら説明する。
【００２１】
まず、図４に示すように、マスターＩＣ１００は、クロック信号が”Ｈ”の時にデータを”Ｈ”から”Ｌ”に切換えてスタートコンディションを形成し、これよりスレーブアドレスの指定を行うことを各スレーブＩＣ１１０〜１７０に知らせる（ステップＳ１）。
【００２２】
この後、図３に示すように、３ビットのスレーブＩＣのアドレスデータを出力し（ステップＳ２）、直ちに４ビット分の転送データを出力する（ステップＳ３）。当該処理により、接続されているスレーブＩＣの数が少ない場合におけるより迅速なデータ転送を実現する。なお、各スレーブＩＣに、３ビット均一でなく、それぞれ異なるビット数のアドレスを割り当て、アドレスとして未使用なビットからデータの転送を行う構成を採用しても良い。この場合、アドレスデータと転送データの境界において再度スタートコンディションを形成することにより、各スレーブＩＣにアドレスデータの終端を認識させる構成を採用する。
【００２３】
４ビット分のデータの出力後、マスターＩＣ１００は、スレーブＩＣへのデータの書き込みの場合、”Ｌ”のＲ／Ｗ信号を出力し、逆にスレーブＩＣからデータを読み出す場合、”Ｈ”のＲ／Ｗ信号を出力する（ステップＳ４）。
【００２４】
指定されたことを認識したスレーブＩＣから認証信号Ａが返送されてくるのを待機する（ステップＳ５でＮＯ）。
【００２５】
上記Ｒ／Ｗが”Ｌ”の場合、認証信号Ａの受信後（ステップＳ５でＹＥＳ）、マスターＩＣ１００は、既に送信した４ビット分の転送データに引き続き、データを１バイト単位で出力する（ステップＳ６）。一方、Ｒ／Ｗ信号が”Ｌ”の場合、指定したスレーブＩＣからデータが送られてくるのを待つ。
【００２６】
指定したスレーブＩＣから認証信号Ａが返信されてくるのを待機する（ステップＳ７でＮＯ）。
【００２７】
認証信号Ａの受信後（ステップＳ７でＹＥＳ）、データの転送が未だ完了していない場合（ステップＳ８でＮＯ）、ステップＳ６に戻り次の１バイトの転送データを出力する。また、Ｒ／Ｗ信号が”Ｌ”の場合、指定したスレーブＩＣからデータが送られてくるのを待つ。
【００２８】
転送すべきデータの出力が完了した場合（ステップＳ８でＹＥＳ）、図４に示すように、クロック信号が”Ｈ”の時にデータを”Ｌ”から”Ｈ”に切換えてストップコンディションを形成し、指定したスレーブＩＣに対してデータ転送の終了を知らせる。
【００２９】
図５は、スレーブＩＣ１１０の構成を示す図である。スレーブＩＣ１１０は、Ｉ2ＣインターフェースとしてＳＤＡライン１０及びＳＣＬライン２０に接続されるデータ制御部１及びクロック制御部２を備える。データ制御部１は、ＳＤＡライン１０を介して入力されるデータをシフトレジスタ７に出力すると共に、シリアル通信制御部９に出力する。クロック制御部２は、ＳＣＬライン２０を介して入力されるクロック信号をシリアル通信制御部９に出力する。
【００３０】
シフトレジスタ７は、８ビットのシフトレジスタであり、シリアル通信制御部９からのパラレルデータ出力信号に応じて、格納しているデータをスレーブＩＣ１１０の内部データバス１０１にパラレル出力する。
【００３１】
デバイス処理部１５は、内部データバス１０１を介して転送されてくるデータの処理を行う。また、デバイス処理部１５は、レジスタ８にスレーブアドレス１１０に割り当てるアドレスデータのビット数を設定する。また、シフトレジスタ３に当該スレーブＩＣのアドレスを設定する。レジスタ８は、設定されたビット数をビット選択器４，６、及び、シリアル通信制御部９に出力する。ビット選択器４，６は、入力されたビット数のデータを比較器５に出力する。比較器５は、シリアル通信制御部９からのトリガ信号の入力に応じて、ビット選択器４，６を介して入力されるレジスタ３のアドレスデータ及びレジスタ７の３ビットデータを比較し、同じ場合に”Ｈ”の比較結果信号をシリアル通信制御部９に出力する。
【００３２】
図６は、シリアル通信制御部９の実行するデータ転送処理のフローチャートである。以下、本図のフローに従いながらシリアル通信制御部９の実行する処理の内容について説明する。
まず、シリアル通信制御部９は、クロック制御部２を介して入力されるＳＣＬライン２０に流れるクロック信号が”Ｈ”の時に、データ制御部１を介して入力されるＳＤＡライン１０に流れるデータが”Ｈ”から”Ｌ”に変化するのを待機する（ステップＳ２０でＮＯ）。当該状態を検出した場合（ステップＳ２０でＹＥＳ）、マスターＩＣ１００によるスタートコンディションの形成であると認識し、引き続きデータ制御部１よりアドレスデータが入力されるのを待つ（ステップＳ２１でＮＯ）。
【００３３】
シリアル通信制御部９は、データ制御部１を介して３ビット分のデータが入力された場合（ステップＳ２１でＹＥＳ）、比較器４にトリガ信号を出力し、入力された３ビットのアドレス指定データと、自己の３ビットのアドレスデータと比較させる（ステップＳ２２）。なお、各スレーブＩＣに、３ビット均一でなく、それぞれ異なるビット数のアドレスを割り当て、アドレスとして未使用なビットからデータの転送を行う構成を採用する場合、マスターＩＣ１００がアドレスデータと転送データの境界において再度スタートコンディションを形成したことを検出した後に上記ステップＳ２２の処理を実行する。
【００３４】
比較器４は、入力された３ビットのアドレス指定データと、自己の３ビットのアドレスデータとが一致する場合に”Ｈ”の比較結果信号をシリアル通信制御部９に出力する。ここで、”Ｌ”の比較結果信号が返信されてきた場合（ステップＳ２３でＮＯ）、シリアル通信制御部９は、自己が指定されたのではないと判断して上記ステップＳ２０に戻り、マスターＩＣ１００により再びスタートコンディションが設定されるのを待機する。
【００３５】
一方、比較器５から”Ｈ”の比較結果信号が返信されてきた場合（ステップＳ２３でＹＥＳ）、シリアル通信制御部９は、自己が指定されたことを認識し、一旦シフトレジスタ７をリセットした後に（ステップＳ２４）、引き続きデータ制御部１から入力される４ビットのデータを転送用のデータとして受け取り、４ビット分の転送データが入力されたことを確認すると共にシフトレジスタ７に対してパラレルデータ出力信号を出力する（ステップＳ２５）。Ｒ／Ｗ信号が送られてくるのを待機する（ステップＳ２６でＮＯ）。Ｒ／Ｗ信号を受け取った後（ステップＳ２６でＹＥＳ）、マスターＩＣ１００に対して認証信号Ａを返信する（ステップＳ２７）。
【００３６】
この後、シリアル通信制御部９は、マスターＩＣ１００から１バイト単位の転送データを受け取る毎に認証信号Ａを返信する（ステップＳ２８でＹＥＳ、ステップＳ２９）。この後、マスターＩＣ１００によりクロック信号が”Ｈ”の時にデータが”Ｌ”から”Ｈ”に切換えられ、ストップコンディションが形成されたことを確認して（ステップＳ３０でＹＥＳ）、データ転送処理を終了する。
【００３７】
なお、残りのスレーブＩＣ１２０〜１７０は、スレーブＩＣ１１０のデバイス処理部１５に相当する処理部において実行する処理内容が同じ又は異なるが、スレーブアドレスを認識する構成については同じであるため、特に説明しない。
【００３８】
図７は、本システムに対応したスレーブ１１０〜１７０の他に、従来のＩ2Ｃプロトコルに従うアドレスデータとして７ビットデータを使用するスレーブ２２０、２２１を混合して使用する場合の例を示す。この場合において、従来のスレーブ２２０、２２１のアドレスの下位３ビットのアドレスは”０００”に設定する。スレーブＩＣ１１０〜１７０を指定して、データ転送を行う場合には、既述したように、３ビットのアドレスデータに転送用のデータ４ビットを付加した７ビットのデータを送信すればよい。また、従来のスレーブＩＣ２２０、２２１に対してデータの転送を行う場合には、従来のＩ2Ｃプロトコルに従い、７ビットのアドレスデータを送信し、指定したスレーブＩＣからの認証信号Ａを受け取った後に、１バイト単位で転送データを出力すればよい。
【００３９】
以上説明するように、データ転送システム５０では、バスに接続するスレーブＩＣの数が少ない場合、識別に使用していないアドレスビットをデータ転送用のビットとして使用することで、より迅速なデータ転送を実現することができる。
【００４０】
【発明の効果】
請求項１に記載のデータ転送システムは、第１ビット数よりも少ない第２ビット数のアドレスが割り当てられている第１スレーブＩＣに対するデータ転送の効率化を図ることができる。
【００４１】
請求項２に記載のデータ転送方法は、第１ビット数よりも少ない第２ビット数のアドレスが割り当てられている第１スレーブＩＣに対するデータ転送の効率化を図ることができる。
【図面の簡単な説明】
【図１】  本発明のデータ転送システムの構成図である。
【図２】  マスターＩＣの実行するデータ転送処理のフローチャートである。
【図３】  データ転送時にＳＤＡラインに流れる信号の種類を示す図である。
【図４】  データ転送時にＳＤＡラインに流れる信号のレベルを示す図である。
【図５】  スレーブＩＣのブロック構成図である
【図６】  スレーブＩＣのシリアル通信制御部の実行するデータ転送処理のフローチャートである。
【図７】  データ転送システムの変形例の構成図である。
【図８】  従来のＩ2Ｃプロトコルに従うデータ転送時の信号の状態を示す図である。
【符号の説明】
１  データ制御部、２  クロック制御部、４，６  ビット選択部、５  比較部、７，８  レジスタ、９  シリアル通信制御部、１０  ＳＤＡライン、１５  デバイス処理部、２０  ＳＣＬライン、１００  マスターＩＣ、１０１  データバス、１１０，１２０，１３０，１４０，１５０，１６０，１７０  スレーブＩＣ、２２０，２２１  従来のスレーブＩＣ
【図１】
0004222720.tif 000002
【図２】
0004222720.tif 000003
【図３】
0004222720.tif 000004
【図４】
0004222720.tif 000005
【図５】
0004222720.tif 000006
【図６】
0004222720.tif 000007
【図７】
0004222720.tif 000008
【図８】
0004222720.tif 000009