(57)【要約】【課題】  データ転送システムにおいて、デバイス同士を接続するための構成を簡易なものとする。【解決手段】  デバイス１〜４を１つのバス５により接続する。デバイスにおいて、転送するデータにクロック成分を含めるべく、例えばＭＦＭ変調方式により変調し、変調されたデータを転送する。スレーブとなるデバイス２〜４がバス権を要求した場合、マスタとなるデバイス１がバスの調停を行う。【選択図】          図１
2006091955.tif 000002
【特許請求の範囲】
【請求項１】
データ転送サイクルを起こす必要がある第１のデバイスおよびデータ転送を行う相手となる少なくとも１つの第２のデバイスからなり、各デバイス間においてデータの転送を行うデータ転送システムにおいて、
前記第１および第２のデバイスが、転送するデータにクロック成分を含めるべく該データを変調する変調手段を有し、
前記第１および第２のデバイスが１本のバスにより接続されてなることを特徴とするデータ転送システム。
【請求項２】
前記変調手段による変調方式がＭＦＭ変調方式であり、前記第１および第２のデバイスが、前記変調されたデータにおける前記ＭＦＭ変調方式のビット周期を維持しつつ、前記データの先頭を検出する検出手段を有することを特徴とする請求項１記載のデータ転送システム。
【請求項３】
前記第１のデバイスが、前記バスの調停を行う調停手段を有することを特徴とする請求項１または２記載のデータ転送システム。
【請求項４】
前記バスが、データ転送が行われていない期間ハイレベルとなるものである場合において、
前記調停手段は、前記バスが所定期間ハイレベルとなっているか否かを判定し、
該判定が肯定されると、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとし、
これに続いて、前記第２のデバイスが、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとしたことを検出して、バス調停コマンドを前記バスに送信し、
これに続いて、前記第２のデバイスが送信したアクノリッジを受信し、
該第２のデバイスに前記バスの使用許可コマンドを送信し、
前記バスの使用を終了した前記第２のデバイスが、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとしたことを検出すると、前記バスが前記所定期間ハイレベルとなっているか否かを判定する処理以降の処理を繰り返すことを特徴とする請求項３記載のデータ転送システム。
【請求項５】
前記調停手段は、前記アクノリッジを送信した前記第２のデバイスが複数ある場合には、優先順位が高い１つの第２のデバイスにのみ前記バスの使用許可コマンドを送信することを特徴とする請求項４記載のデータ転送システム。
【請求項６】
データ転送サイクルを起こす必要がある第１のデバイスおよびデータ転送を行う相手となる少なくとも１つの第２のデバイスが１本のバスにより接続されてなり、該バスが、データ転送が行われていない期間ハイレベルとなるものであるデータ転送システムにおけるバス調停方法において、
前記バスが所定期間ハイレベルとなっているか否かを判定し、
該判定が肯定されると、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとし、
これに続いて、前記第２のデバイスが、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとしたことを検出して、バス調停コマンドを前記バスに送信し、
これに続いて、前記第２のデバイスが送信したアクノリッジを受信し、
該第２のデバイスに前記バスの使用許可コマンドを送信し、
前記バスの使用を終了した前記第２のデバイスが、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとしたことを検出すると、前記バスが前記所定期間ハイレベルとなっているか否かを判定する処理以降の処理を繰り返すことを特徴とするバス調停方法。
【請求項７】
前記アクノリッジを送信した前記第２のデバイスが複数ある場合には、優先順位が高い１つの第２のデバイスにのみ前記バスの使用許可コマンドを送信することを特徴とする請求項６記載のバス調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送を行うデータ転送システムに関し、とくにマスタデバイスおよびスレーブデバイスからなるデータ転送システムおよびバス調停方法に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータあるいは画像や音声を扱うマルチメディアシステムのように、データ転送を伴うデータ処理システムや機器システムでは、各種デバイスやそれを搭載したボード間の接続にＩ2Ｃ バスやＰＣＩバスといったよく知られた汎用バスが使用されるようになってきている。
【０００３】
これは、各デバイスに必要最小限の機能を具備させるとともに、これらを共通のバスに接続可能にするとシステムの汎用性が高まるため、基本となるシステムの構築が低コストかつ容易に行うことができ、しかも、必要な処理を実行するボード等を用途に応じて基本システムに対して接続すれば、目的とするシステムの構築を容易に行うことができるからである。
【０００４】
汎用バスのうち、例えば、Ｉ2Ｃ バスは、シリアルバスの一種であって、比較的低速なデータ転送を行うシステムで用いられている。これは、フィリップス社が提案したシリアルバスで、双方向のクロックラインと、双方向のデータラインの２本の信号によってデータ転送を行う。また、ＰＣＩバスは、パーソナルコンピュータで多く使用され、数式データはもとより、画像や音声データ等、比較的高速なデータ転送が求められるシステムで用いられている。
【０００５】
Ｉ2Ｃ バスを用いて効率よくデータ転送を行う方法またはシステムは、従来から、例えば、特許文献１，２に記載されているように、既に広く知られるところとなっている。これらの特許文献に記載されたシステムは、双方向のクロックラインと、双方向のデータラインの２本の信号線からなるＩ2Ｃ バスを設け、このＩ2Ｃ バスにマスタデバイスおよびスレーブデバイスを接続して構成されている。
【０００６】
ここで、マスタデバイスとは、データ転送を行う相手のデバイスをアドレスによって指定して、データ転送を自ら起動することができる能力をもつデバイスである。スレーブデバイスとは、マスタデバイスによって選択されたときにのみ、マスタデバイスからの起動信号に基づいてデータ転送を行う機能を持つデバイスである。
【特許文献１】特開２０００−２３１５３９号公報
【特許文献１】特開平１１−１０２３４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したデータ転送システムにおいては、データの転送を行うためには２本の信号線が必要であり、さらにデータ転送要求を行うための割込信号を送信するための信号線も必要となる。このため、デバイスを設計する場合にＩ／Ｏピンが不足しないようにデバイスを構成する必要があり、その結果、デバイスのパッケージが大きくなってしまうという問題がある。また、デバイス間でデータの送受信を行う場合、デバイス同士を接続するためのコネクタの本数も増えることとなるため、デバイスの実装が複雑になるという問題もある。
【０００８】
本発明は、上記事情に鑑みなされたものであり、デバイス同士を接続するための構成を簡易なものとすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明によるデータ転送システムは、データ転送サイクルを起こす必要がある第１のデバイスおよびデータ転送を行う相手となる少なくとも１つの第２のデバイスからなり、各デバイス間においてデータの転送を行うデータ転送システムにおいて、
前記第１および第２のデバイスが、転送するデータにクロック成分を含めるべく該データを変調する変調手段を有し、
前記第１および第２のデバイスが１本のバスにより接続されてなることを特徴とするものである。
【００１０】
なお、本発明によるデータ転送システムにおいては、前記変調手段による変調方式をＭＦＭ変調方式とし、前記第１および第２のデバイスを、前記変調されたデータにおける前記ＭＦＭ変調方式のビット周期を維持しつつ、前記データの先頭を検出する検出手段を有するものとしてもよい。
【００１１】
「ＭＦＭ変調方式（Modified Frequency Modulation） 」とは、記録された情報の中に信号を判定するクロックパルスを付加する変調方式であり、主に倍密度フロッピー（登録商標）ディスクでのデータ記録に用いられている方式である。
【００１２】
また、本発明によるデータ転送システムにおいては、前記第１のデバイスを、前記バスの調停を行う調停手段を有するものとしてもよい。
【００１３】
そして、前記バスが、データ転送が行われていない期間ハイレベルとなるものである場合においては、
前記調停手段を、前記バスが所定期間ハイレベルとなっているか否かを判定し、
該判定が肯定されると、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとし、
これに続いて、前記第２のデバイスが、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとしたことを検出して、バス調停コマンドを前記バスに送信し、
これに続いて、前記第２のデバイスが送信したアクノリッジを受信し、
該第２のデバイスに前記バスの使用許可コマンドを送信し、
前記バスの使用を終了した前記第２のデバイスが、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとしたことを検出すると、前記バスが前記所定期間ハイレベルとなっているか否かを判定する処理以降の処理を繰り返すものとしてもよい。
【００１４】
この場合、前記調停手段を、前記アクノリッジを送信した前記第２のデバイスが複数ある場合には、優先順位が高い１つの第２のデバイスにのみ前記バスの使用許可コマンドを送信するものとしてもよい。
【００１５】
本発明によるバス調停方法は、データ転送サイクルを起こす必要がある第１のデバイスおよびデータ転送を行う相手となる少なくとも１つの第２のデバイスが１本のバスにより接続されてなり、該バスが、データ転送が行われていない期間ハイレベルとなるものであるデータ転送システムにおけるバス調停方法において、
前記バスが所定期間ハイレベルとなっているか否かを判定し、
該判定が肯定されると、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとし、
これに続いて、前記第２のデバイスが、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとしたことを検出して、バス調停コマンドを前記バスに送信し、
これに続いて、前記第２のデバイスが送信したアクノリッジを受信し、
該第２のデバイスに前記バスの使用許可コマンドを送信し、
前記バスの使用を終了した前記第２のデバイスが、前記バスを前記所定期間ローレベルとし、さらに該所定期間経過後にハイレベルとしたことを検出すると、前記バスが前記所定期間ハイレベルとなっているか否かを判定する処理以降の処理を繰り返すことを特徴とするものである。
【００１６】
なお、本発明によるバス調停方法においては、前記アクノリッジを送信した前記第２のデバイスが複数ある場合には、優先順位が高い１つの第２のデバイスにのみ前記バスの使用許可コマンドを送信するようにしてもよい。
【発明の効果】
【００１７】
本発明によれば、転送するデータがクロック成分を含めるべく変調され、変調されたデータが１つのバスを介して転送される。このように本発明においては、転送されるデータにクロック成分が含められているため、クロックラインおよびデータラインの２本の信号線が不要となり、１つの信号線のみでデータを転送することができる。したがって、デバイスのパッケージが大きくなることを防止できるとともに、デバイス同士を接続するためのコネクタの本数も増えることがなくなり、その結果、デバイスの実装を簡易なものとすることができる。
【００１８】
また、変調方式をＭＦＭ変調方式とし、変調されたデータにおけるＭＦＭ変調方式のビット周期を維持しつつ、データの先頭を検出することにより、信号線の帯域を崩すことなくデータ転送を行うことができる。
【００１９】
また、第１のデバイスにおいて調停を行うことにより、とくに第２のデバイスが複数ある場合に、効率よく第２のデバイスが信号線を使用してデータの転送を行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明の実施形態によるデータ転送システムの構成を示す概略ブロック図である。図１に示すように本実施形態によるデータ転送システムは、４つのデバイス１〜４が１本のバス５により接続されたシステムである。
【００２１】
デバイス１は、マスタデバイスとして機能するデバイスであり、他の３つのデバイス２〜４にデータの読み書きのアクセスを起こすマスタ機能を有し、他のデバイスからのデータ転送要求の信号を受けてデータ転送サイクルを起動するように構成されている。
【００２２】
デバイス２〜４は、スレーブ機能を有し、かつデバイス１により起動されるデータ転送サイクルに応答するのみで、自らデータ転送サイクルを起動することがないデバイスである。
【００２３】
デバイス１〜４は、バスコントローラ１０、ＣＰＵ１１およびメモリ１２をそれぞれ有する。
【００２４】
図２はバスコントローラの回路構成を示す概略ブロック図である。なお、図２に示すバスコントローラ１０は破線より上側が送信側回路１０Ａを、破線より下側が受信側回路１０Ｂを示す。まず、送信側回路１０Ａについて説明する。図２に示すように送信側回路１０Ａにおいては、アドレス等の必要なデータを格納するレジスタ２２が内部データバス２０に接続されている。レジスタ２２には、送信データ格納ＲＡＭ２４およびアドレス・コマンド発生回路２６が接続されている。さらに送信側回路１０Ａは、ＦＩＦＯ２８およびＭＦＭ変調回路３０を有し、送信するデータがアドレスおよびコマンドとともにＦＩＦＯ２８に入力され、上位ビットから順次読み出されてＭＦＭ変調回路３０に入力される。
【００２５】
ここで、ＭＦＭ変調回路３０にはクロック発生回路３２からクロックが入力され、送信するデータにクロック成分が含められて変調がなされる。そして変調されたデータは出力制御回路３４からバス５に出力される。
【００２６】
一方、受信側回路１０Ｂは、送信されたデータを受信する入力制御回路３６を有し、入力制御回路３６がＭＦＭ復調回路３８と接続されている。入力されたデータはＭＦＭ復調回路３８により復調され、ＦＩＦＯ４０を介してアドレス・コマンドデコーダ回路４２に入力されるとともに、受信データ格納ＲＡＭ４４に入力される。なお、受信側回路１０Ｂはマーカー検出回路４６を有し、このマーカー検出回路４６が後述するようにデータの先頭位置を検出するためのマーカーを検出し、その位置をアドレス・コマンドデコーダ回路４２に入力する。アドレス・コマンドデコーダ回路４２は受信したデータに含まれるアドレスおよびコマンドを復調する。そして復調されたデータは、レジスタ４８を介して内部データバス２０に出力される。
【００２７】
なお、受信側回路１０Ｂには、後述するようにバスの調停を行うバス調停回路５０が接続されている。なお、バス調停回路５０はすべてのデバイス１〜４が有していてもよいが、マスタとなるデバイス１のみが有していればよいものである。
【００２８】
また、バス５はプルアップ抵抗５２を介して不図示の電源に接続してプルアップされているため、データ転送が行われていない期間、バス５はハイレベル（Ｈｉ）となっている。
【００２９】
図３は本実施形態において転送される各種データの構成例を示す図であり、図３（ａ）はデータ転送パケット、図３（ｂ）はコマンド転送パケット、図３（ｃ）は応答パケットのデータ構成を示す。本実施形態においては、データにクロック成分を含めるようデータを変調するため、データの先頭部分には０（００００）の４ビットの同期ビットおよびＡ１（１０１００００１）の８ビットのマーカーコードが含まれている。本実施形態においては、同期ビットは０、マーカーコードはＡ１のデータとなるように規定されているものとする。そして、データを受信した場合には後述するように同期ビットからクロックを生成する。また、マーカーコードにより後述するようにデータの先頭位置（後述するアドレスの先頭のビットの位置）を検出する。
【００３０】
さらに、各データには自身のアドレスを示すソースアドレスおよび相手のアドレスを示すデスティネーションアドレスが含まれている。なお、ソースアドレスおよびデスティネーションアドレスを以下単にアドレスと称するものとする。そして、アドレスに続いてデータの長さを表すデータ長が含まれる。
【００３１】
データ転送パケットおよびコマンド転送パケットは、データ長に続いて、書き込み、読み出しまたは応答等のコマンドが含まれる。データ転送パケットはコマンドに続いてデータ値であるデータ列が含まれる。一方、応答パケットはデータ長に続いて応答内容を表すステータスが含まれる。そして、すべてのデータの最後にはＣＲＣが含まれる。
【００３２】
なお、本実施形態においては、アドレス、データ長、コマンドおよびステータスのビット数は、例えば８ビットのようにあらかじめ規定されているものである。
【００３３】
次いで、本実施形態におけるデータの変調および復調方法について説明する。図４は本実施形態におけるデータの変調および復調方法を説明するためのタイミングチャートである。なお、ここでは転送するデータの例としてコマンド転送パケットを用いるものとする。また、図中「ＧＡＰ」は、デバイスが何もしていない期間を示す。
【００３４】
図４においてクロックはクロック発生回路３２が発生するクロックを、ＮＲＺデータはデバイス１〜４が送信するデータを示す。なお、ＮＲＺデータの上位４ビットは「０」（００００）の同期ビットであり、次の８ビットは「Ａ１」（１０１０００００）のマーカーコードである。また、ＮＲＺデータはデータが０のときにＬｏｗ、値が１のときにＨｉとなるデータである。
【００３５】
まず、送信時におけるデータの変調について説明する。ＭＦＭ変調回路３０は、以下の規則に従ってＮＲＺデータを変調してクロック成分を含むＭＦＭデータを生成する。
【００３６】
・０が続くときは、データの変わり目（クロックの立ち上がりのタイミング）でＬｏｗ、Ｈｉの反転を繰り返す。
【００３７】
・０から１に変化するときは、１のデータの中央の部分（クロックの立ち下がりのタイミング）でＬｏｗ、Ｈｉを反転させる。
【００３８】
・１が続くときは、データ中央の部分（クロックの立ち下がりのタイミング）でＬｏｗ、Ｈｉの反転を繰り返す。
【００３９】
・１から０に変化するときは、データを変化させない。
【００４０】
このような規則により、ＮＲＺデータが変調されて図４に示すＭＦＭデータが生成される。ここで、ＭＦＭデータの時間軸方向におけるＬｏｗ，Ｈｉデータの幅は、クロックの１周期をＴとすると、１Ｔ、１．５Ｔおよび２Ｔのみとなり、周期が１Ｔ、１．５Ｔおよび２ＴのＬｏｗ，Ｈｉデータの組み合わせによりデータの値を表すことが可能となる。
【００４１】
なお、本実施形態においては、１つの信号線のみでデータを転送するため、転送されたデータにおけるデータの先頭位置（すなわちアドレスのデータがどこから始まるか）が分からない。このため、ＭＦＭ変調回路３０は、マーカーコードの２Ｔ、１．５Ｔ、１Ｔ、１Ｔ、１．５Ｔの順序でデータが反転する部分における１Ｔ、１Ｔの間の部分（図４の矢印参照）にミッシングクロックを付与して、２Ｔ、１．５Ｔ、２Ｔ、１．５Ｔの順序でデータが反転するようにする。これにより、図中のＭＦＭデータ（ミッシングクロック付き）のように変調されたデータが送信されることとなる。以下、説明のため、ミッシングクロック付きのデータを単にＭＦＭデータと称し、ミッシングクロックのないＭＦＭデータを元ＭＦＭデータと称する。
【００４２】
次いで、受信時におけるデータの復調について説明する。ＭＦＭ復調回路３８はＭＦＭデータを受信すると、ＭＦＭデータの立ち上がりおよび立ち下がりの部分（すなわちデータがＬｏｗ，Ｈｉとなる部分の境界）をエッジパルスとして検出する。ここで、ＭＦＭデータの上位４ビットは「００００」であるため、図４に示すようにエッジパルスの先頭部分には一定の周期で４つのパルスが出現する。本実施形態においては、転送されるデータの先頭部分には４ビットの同期ビットが必ず含まれているため、検出したエッジパルスにおける先頭部分の周期が、送信されたデータのクロックの周期と一致することとなる。したがって、ＭＦＭ復調回路３８はエッジパルスの先頭部分に出現するパルスの周期により、復調されるデータのクロック周波数を決定する。
【００４３】
このように同期ビットによりクロックの周波数は決定することができるが、クロックの位相はＭＦＭデータから得たエッジパルスの先頭部分のみでは分からない。また、転送されるデータにおいては、同期ビット以外にも「００００」や「１１１１」のようにデータが並ぶ部分があるため、クロックの位相が分からないと、復調したデータにおいて元のＮＲＺデータの位相が反転してしまう場合がある。このため、本実施形態においては、決定したクロック周波数に基づいて、位相が半周期ずれた２種類のウィンドウパルスＷＰ１，ＷＰ２を発生させ、２種類のウィンドウパルスＷＰ１，ＷＰ２を用いてＭＦＭデータを復調する。
【００４４】
まず、ウィンドウパルスＷＰ１，ＷＰ２のそれぞれの立ち上がりのタイミングとエッジパルスとを比較し、立ち上がりのタイミングにおけるエッジパルスの存在の有無に応じて、その立ち上がりのタイミングから始まるクロックの１周期のデータの値を決定する。具体的には、立ち上がりのタイミングにおいてエッジパルスが存在する場合にはデータの値を１に、存在しない場合にはデータの値を０に決定する。
【００４５】
これにより、ウィンドウパルスＷＰ１からは、図４に示すように上位ビットが「００００１０１００００１…（０Ａ１…）」の復調データＦ１が得られる。また、ウィンドウパルスＷＰ２からは上位ビットが「１１１１００００１０１０…（Ｆ０Ａ…）」の復調データＦ２が得られる。ここで、本実施形態においてはデータの先頭に「０」の同期ビットおよび「Ａ１」のマーカーコードが必ず含まれていることが分かっている。したがって、復調データＦ１の位相が送信されたＭＦＭデータの位相と一致することが分かる。
【００４６】
なお、ミッシングクロックがない元ＭＦＭデータからウィンドウパルスＷＰ１を用いて復調データ（Ｆ１′とする）を得た場合、その復調データＦ１′は復調データＦ１と同一となるが、ウィンドウパルスＷＰ２を用いて復調データ（Ｆ２′とする）を得た場合、その復調データＦ２′は、１１１１００００１１１０…（Ｆ０Ｅ…）となり復調データＦ２とは同一とならない。
【００４７】
ここで、本実施形態においては、転送されるデータには同期ビットの次に「Ａ１」のデータからなるマーカーコードが含まれている。ＭＦＭデータにおける「Ａ１」のデータ（１０１００００１）（ミッシングクロックなし）をウィンドウパルスＷＰ１を用いて復調した場合、「Ａ１」のデータが得られるが、ウィンドウパルスＷＰ２を用いて復調した場合、「０Ｅ」（００００１１１０）のデータが得られる。したがって、復調データＦ１と復調データＦ２とを比較し、復調データＦ１の「Ａ１」となるデータが復調データＦ２において「０Ｅ」となっていれば、そこは通常のデータ値であることが分かる。
【００４８】
一方、本実施形態においては、ＭＦＭデータにおけるマーカーコードにはミッシングクロックが付与されているため、マーカーコードの部分における復調データＦ１の「Ａ１」となるデータの部分が復調データＦ２においては「０Ｅ」とはならず、「０Ａ」（００００１０１０）となる。したがって、本実施形態においては、マーカー検出回路４６が、復調データＦ１と復調データＦ２とを先頭位置のビットから比較し、復調データＦ１の「Ａ１」となるデータの部分が復調データＦ２において「０Ｅ」ではなく「０Ａ」となったことを検出することにより、転送されたデータの先頭位置（すなわちアドレスの先頭ビットの位置）を検出する。具体的には、復調データＦ２においてデータが「０Ａ」となった次のビットに対応する復調データＦ１のビットの位置をデータの先頭位置として検出し、そこの位置においてウィンドウパルスをリセットする。
【００４９】
その後は、ＭＦＭ復調回路３８はウィンドウパルスＷＰ１のみを用いてＭＦＭデータを復調して復調データＦ１を得る。なお、本実施形態においては、アドレス、データ長およびコマンドのビット数はあらかじめ定められているため、データの先頭位置からあらかじめ定められたビット数をカウントすることによりアドレス、データ長およびコマンドのそれぞれの先頭位置および終了位置を知ることができる。なお、転送されるデータがデータ転送パケットである場合には、データ長からデータ列のビット数を知ることができるため、データ列の先頭位置および終了位置を知ることができる。
【００５０】
次いで、バスの調停方法について説明する。図５はバスの調停方法のフローチャート、図６はバス５のＨｉ、Ｌｏｗが切り替わる状態を示す図、図７はマスタデバイスが行う処理を時間軸上で見た状態を示す図である。なお、バスの調停はマスタデバイス１のバス調停回路５０が行うものである。
【００５１】
マスタデバイス１は、バス５が一定期間ハイレベル（Ｈｉ）となっているか否かを判定することにより、バス５においてデータ転送が行われているか否かを監視している。（ステップＳＴ１）。本実施形態においては、ＭＦＭデータは１Ｔ、１．５Ｔおよび２Ｔの周期でＬｏｗおよびＨｉが繰り返されるため、一定期間としては１Ｔ、１．５Ｔおよび２Ｔよりも大きい４Ｔが用いられる。このように、一定期間を４Ｔとすることにより、バス５においてデータ転送が行われていないことを確実に判定することができる。なお、一定期間としては２Ｔより大きい期間であれば４Ｔに限定されるものではない。
【００５２】
ステップＳＴ１が肯定されると、マスタデバイス１はバス５を一定期間（４Ｔ）ローレベル（Ｌｏｗ）にし、一定期間経過後にＨｉに戻す（ステップＳＴ２）。
【００５３】
バス権を要求するスレーブデバイス（以下単にスレーブデバイスとする）は、マスタデバイス１がバス５をＬｏｗとしたことを検出し（ステップＳＴ３）、Ｈｉとなってから一定期間（４Ｔ）経過後にバス５を一定期間（４Ｔ）ローレベル（Ｌｏｗ）にし、一定期間（４Ｔ）経過に後Ｈｉに戻す（ステップＳＴ４）。なお、ステップＳＴ４の処理は複数のスレーブデバイス２〜４において行われる場合もある。
【００５４】
マスタデバイス１はこれを検出すると（ステップＳＴ５）、調停コマンドをバス５に送信する（ステップＳＴ６）。これにより、すべてのスレーブデバイス２〜４がブロードキャストで調停コマンドを受信し、バス権を要求するスレーブデバイスは調停コマンドを受信すると、一定期間経過後にアクノリッジ（ＡＣＫ）をマスタデバイス１に返信する（ステップＳＴ７）。ここで、ＡＣＫデータには、バス権要求ビットが立てられている。
【００５５】
なお、バス権を要求するスレーブデバイスが複数存在する場合には、自身のアドレスが若い順にＡＣＫを返信する。図７はすべてのスレーブデバイス２〜４がバス権を要求し、デバイス２〜４の順でアドレスが大きくなっている場合のマスタデバイスが行う処理を示している。この場合、デバイス２は一定期間として４Ｔ経過後、デバイス３は８Ｔ経過後、デバイス４は１２Ｔ経過後にＡＣＫを返信する。
【００５６】
マスタデバイス１はＡＣＫを受信し（ステップＳＴ８）、一定期間（４Ｔ）経過後に、最も優先順位が高いスレーブデバイスに対してバス使用許可コマンドを送信する（ステップＳＴ９）。なお、優先順位はスレーブデバイスのアドレスが若いほど高いものとする。
【００５７】
バス使用許可コマンドを受信したスレーブデバイスは、一定期間（４Ｔ）経過後にアクノリッジ（ＡＣＫ）をマスタデバイス１に返信し（ステップＳＴ１０）、さらに一定期間（４Ｔ）経過後にバス５を使用する（ステップＳＴ１１）。そして、バス５の使用を終了すると、そのスレーブデバイスがバス５を一定期間（４Ｔ）ＬｏｗとしてＨｉに戻すことにより、バス５を開放する（ステップＳＴ１２）。
【００５８】
マスタデバイス１はこれを検出して（ステップＳＴ１３）、ステップＳＴ１に戻り、ステップＳＴ１以降の処理を繰り返す。
【００５９】
なお、一度バス５を使用したスレーブデバイスについては、次の調停においては、優先順位を最も低くすることにより、すべてのスレーブデバイス２〜４が平等にバス５を使用できるようにしている。
【００６０】
このように、本実施形態においては、ＮＲＺデータにクロック成分を含めて変調したＭＦＭデータを、１つのバス５を介してデバイス間において転送するようにしたため、クロックラインおよびデータラインの２本の信号線が不要となり、１つの信号線のみでデータを転送することができる。したがって、デバイスのパッケージが大きくなることを防止できるとともに、デバイス同士を接続するためのコネクタの本数も増えることがなくなり、その結果、デバイスの実装を簡易なものとすることができる。
【００６１】
また、変調方式をＭＦＭ変調方式とし、データに含まれるマーカーコードにミッシングクロックを含めることにより、変調されたデータにおけるＭＦＭ変調方式のビット周期を維持しつつ、データの先頭を検出しているため、バス５の帯域を崩すことなくデータ転送を行うことができる。
【００６２】
また、マスタデバイス１において調停を行うことにより、とくにバス使用権を要求するスレーブデバイスが複数ある場合に、効率よくスレーブデバイスがバス５を使用してデータの転送を行うことができる。
【００６３】
なお、上記実施形態においては、データの変調方式としてＭＦＭ変調方式を用いているが、データにクロック成分を含めることができれば他の変調方式を用いてもよいことはもちろんである。
【００６４】
また、上記実施形態においては、２種類のウィンドウパルスＷＰ１，ＷＰ２を用いてデータの値を決定しているが、１種類のウィンドウパルスＷＰ１のみを発生して、ウィンドウパルスＷＰ１の立ち上がり部分および立ち下がり部分のそれぞれにけるエッジパルスの存在の有無に応じてデータの値を決定するようにしてもよい。
【００６５】
また、上記実施形態において、調停時にマスタデバイス１がバス５を使用したい場合には、マスタデバイス１がバス使用許可コマンドを自身に送信すればよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施形態によるデータ転送システムの構成を示す概略ブロック図
【図２】バスコントローラの回路構成を示す概略ブロック図
【図３】本実施形態において転送される各種データの構成例を示す図
【図４】本実施形態におけるデータの変調および復調方法を説明するためのタイミングチャート
【図５】バスの調停方法のフローチャート
【図６】バスのＨｉ、Ｌｏｗが切り替わる状態を示す図
【図７】マスタデバイスが行う処理を時間軸上で見た状態を示す図
【符号の説明】
【００６７】
１〜４    デバイス
５    バス
１０    バスコントローラ
２０    内部データバス
２２，４８    レジスタ
２４    送信データ格納ＲＡＭ
２６    アドレス・コマンド発生回路
２８，４０    ＦＩＦＯ
３０    ＭＦＭ変調回路
３２    クロック発生回路
３４    出力制御回路
３６    入力制御回路
４２    アドレス・コマンドデコーダ回路
４４    受信データ格納ＲＡＭ
４６    マーカー検出回路
５０    バス調停回路
【図１】
2006091955.tif 000003
【図２】
2006091955.tif 000004
【図３】
2006091955.tif 000005
【図４】
2006091955.tif 000006
【図５】
2006091955.tif 000007
【図６】
2006091955.tif 000008
【図７】
2006091955.tif 000009