JPH04332065A - データ転送方法 - Google Patents

データ転送方法

Info

Publication number
JPH04332065A
JPH04332065A JP3102444A JP10244491A JPH04332065A JP H04332065 A JPH04332065 A JP H04332065A JP 3102444 A JP3102444 A JP 3102444A JP 10244491 A JP10244491 A JP 10244491A JP H04332065 A JPH04332065 A JP H04332065A
Authority
JP
Japan
Prior art keywords
data
line
clock
microprocessor
data frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3102444A
Other languages
English (en)
Inventor
Hiroyuki Iizuka
裕之 飯塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP3102444A priority Critical patent/JPH04332065A/ja
Priority to US07/871,809 priority patent/US5444847A/en
Publication of JPH04332065A publication Critical patent/JPH04332065A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は複数のデバイス間でデー
タフレームをシリアル転送する際のデータ転送方法に関
するものである。
【0002】
【従来の技術】データ転送の手法は、パラレルデータバ
スを用いたパラレル転送と、シリアルデータバスを用い
たシリアル転送に大別される。パラレル転送は高速のデ
ータ転送に向いているが、マイクロプロセッサやIC等
のデバイスのピン数の増大につながる。オーディオビデ
オ機器や家電機器で使用される1チップのマイクロプロ
セッサは、転送速度の面からシリアル転送で十分である
ため、ピン数の削減につながるシリアル転送を用いてい
る。近年、機器の高機能化に伴い、ビデオテープレコー
ダやカメラ一体型ビデオのように、1つの製品の中に複
数のマイクロプロセッサが内蔵されるようになっている
。これらのマイクロプロセッサは独立して動作するので
はく、互いにシリアルデータバスを用いてデータ転送を
行いながら動作している。また、マイクロプロセッサだ
けでなく、各種ICやLSIもこのシリアルデータバス
に接続可能である。
【0003】従来のシリアル転送によるデータ転送方法
としては、例えばELECTRICCOMPONENT
S  AND  APPLICATIONS(エレクト
リック・コンポーネンツ・アンド・アップリケイション
ズ),VOL5  NO.4,SEPTEMBER  
1983  PAGE214〜221に示されているI
2C(Inter−Integrated  Circ
uit)がある。
【0004】以下に、従来のデータ転送方法の例として
I2Cについて説明する。図9はこのI2Cを用いたデ
ータ転送のタイミング図を示すものである。I2Cはデ
ータラインとクロックラインの2本の信号線を用いて、
図9に示すようなタイミングでデータ転送を行う。転送
は8ビットのデータと1ビットの受信応答ビット(以下
、ACKビットと称す)の計9ビット単位で行われる。 まず、送信側がクロックに同期してMSBファーストで
データライン上に8ビットのデータを出力する。その後
、次のクロックで受信側がACKビットを出力する。
【0005】受信側がACKビットを出力している間は
、送信側はデータライン上に高レベル(以降、ハイと称
す)を出力するが、受信側がデータライン上に低レベル
(以降、ロウと称す)を出力するため、結果としてデー
タラインはロウに保たれる。送信側は9ビット目にハイ
を出力しているにもかかわらず、データラインがロウと
なっていることを知り、受信側がデータを受信したこと
を知る。
【0006】図10はI2Cを用いたデータ転送のデー
タフレームのフォーマット図である。図10において、
スタートコンディション51とストップコンディション
56はそれぞれデータフレームの転送の開始条件と停止
条件である。図9で示したように、I2Cではデータラ
インはクロックラインがロウの時のみ遷移できる。この
規定の以外として定められているのが、スタートコンデ
ィション51とストップコンディション56である。ス
タートコンディション51ではクロックラインがハイの
時にデータラインがハイからロウに遷移し、ストップコ
ンディション56ではクロックラインがハイの時に、デ
ータラインがロウからハイに遷移する。スタートコンデ
ィション51はデータフレームの転送に先立って発生し
、ストップコンディション56はデータフレームの転送
が終了したことを示す。
【0007】データフレームの先頭バイトは7ビットの
スレーブアドレス52と1ビットのR/Wビット53で
ある。スレーブアドレス52は7ビットのアドレスでI
2Cに接続された1つのデバイスをスレーブとして指定
するのに用いる。データフレームの転送を開始するデバ
イスをマスタと呼ぶ。即ち、マスタがスタートコンディ
ション51を発生させスレーブアドレスを出力し、デー
タ転送の対象となるスレーブを指定する。R/Wビット
53はデータフレームの第2バイト以降のデータ54を
マスタが出力するかスレーブが出力するかを指定するビ
ットである。R/Wビット53がハイの時は以降のデー
タ54はスレーブが出力し、ACKビット55は受信側
であるマスタが出力する。R/Wビット53がロウの時
は以降のデータ54はマスタが出力し、ACKビット5
5は受信側であるスレーブが出力する。データフレーム
の先頭バイトは常にマスタが出力するため、ACKビッ
ト57は常にスレーブが出力する。
【0008】I2Cでは上述したように、基本的にはマ
スタとスレーブ間で1対1の転送が行われる。マスタは
スタートコンディション51を発生した後、最初に出力
するバイトのスレーブアドレス52でスレーブの指定を
行う。スレーブアドレス52にはジェネラルコールアド
レスと呼ばれる例外がある。この値は00h(16進表
示)で、マスタは全てのデバイスを指定することができ
る。このアドレスが使用される場合には、理論的には全
てのデバイスが応答しなければならないが、このアドレ
スを無視することも許されている。即ち、ジェネラルコ
ールアドレスを用いると、このアドレスに応答する全て
のデバイスにデータフレームを送ることができる。
【0009】このように、複数の転送先に同一のデータ
フレームを送ることを、一般には同報通信と呼んでいる
【0010】
【発明が解決しようとする課題】しかしながら上記の従
来の構成では、同報通信用にジェネラルコールアドレス
が用意されているのみであるため、任意の複数のデバイ
スを指定して同報通信を行うことが出来ないという課題
を有していた。例えば、A,B,C,D,Eの5つのデ
バイスがバスに接続されており、B,C,Dのデバイス
がジェネラルコールアドレスに応答するとすれば、Aの
デバイスはB,C,Dのデバイスに同報通信することは
可能であるが、BとDのデバイスや、CとDとEのデバ
イスに同報通信を行うことは出来ない。
【0011】さらに、上記の従来の構成では、ACKビ
ットが1ビットであるため、同報通信を行った場合にデ
ータフレームの送信側は全てのデバイスがデータフレー
ムを受信したかどうかを確認できないという課題を有し
ていた。例えば、上記の例で、AのデバイスがB,C,
Dのデバイスに同報通信した場合、B,C,Dのデバイ
スの内、何れか1つのデバイスがACKビットを出力す
ればデータラインがロウとなるため、B,C,Dの全て
が受信応答しているかどうかがわからない。
【0012】また、上記の従来の構成では、1バイトの
データを受信すれば無条件にACKビットを出力するた
め、データ転送途中でデータ誤りが発生して誤ったデー
タがスレーブに送られてもマスタ,スレーブ共に検出で
きないという課題を有していた。
【0013】また、上記の構成では、複数のデバイスが
マスタとなり得るマルチマスタシステムでは、複数のデ
バイスが同時に転送を開始する場合が発生し、データフ
レームの転送が正常に行えない場合がある。これを避け
るためにI2Cでは自分が出したデータやクロックを監
視する必要がある。例えば、データラインにハイを出力
しているにもかかわらず、データラインがロウとなって
いた場合には転送を直ちに中止しなければならない。こ
の衝突を避ける方法としてはLAN(Local  A
rea  Network)の一実現手法であるトーク
ン方式と呼ばれる転送方法がある(例えば、コンピュー
タデザイン  1986年1月号  40〜41ページ
)。トークン方式はトークンを受け取ったデバイスがバ
スを使用する権利を得てデータフレームの転送を行う手
法である。この方式ではトークンとデータフレームを識
別するために、トークンと同じパターンがデータフレー
ム中で発生しないようにする必要がある。このためには
、ある手順に従ってトークンとデータフレーム内のパタ
ーンが一致しないように変調して送出する必要がある。 また、変調しない場合にはトークンのパターンをデータ
フレーム中で禁止する必要がある。
【0014】また、上記のI2Cをマルチマスタシステ
ムに使用する場合やトークン方式では、バスシステム全
体を管理するデバイスが存在しないため、バスに接続さ
れた各デバイスはバスの使用権に関して平等である。し
かしながら、各デバイスにバスの使用に関して優先順位
を設定できる方が全体システムの設計の自由度が増大す
るため望ましい。但し、LANのようにバスに不特定の
デバイスが接続される場合には優先順位を設定すること
は困難である。
【0015】また、上記のI2Cではマスタとなってバ
スを使用するデバイスが常にクロックを出力する必要が
有る。従って、たとえマルチマスタシステムであっても
、マスタとなりうるデバイスは全てクロックを出力する
機能が必要である。また、1つのデバイスが転送用のク
ロックを出力するようにシステムを設計した場合、クロ
ックを出力するデバイスはデータを出力しようとするデ
バイスがデータの出力準備を完了したことを確認する必
要がある。
【0016】本発明は上記従来の課題を解決するもので
、任意の複数のスレーブへのデータフレームの同報通信
を実現し、また、同報通信の際にもデータフレームを受
け取ったスレーブをマスタが特定でき、かつ、データ誤
りによるデータフレームの転送の失敗をも検出できるデ
ータ転送方法を提供することを目的とする。
【0017】さらに、マルチマスタシステムにおいては
転送の衝突が発生しないと同時に、転送に際して変調を
必要とせず、かつ、任意のパターンのデータフレームを
転送できるデータ転送方法を提供する。
【0018】さらに、マルチマスタシステムで、かつ、
バスに接続されるデバイスが限定できる閉じたシステム
であればバスを使用する優先順位を設定でき、バス資源
の有効利用が図れるデータ転送方法を提供する。
【0019】さらに、マルチマスタシステムではマスタ
となるデバイスの負担を軽減するデータ転送システムを
提供する。
【0020】
【課題を解決するための手段】この目的を達成するため
に本発明のデータ転送方法(請求項1)は、データフレ
ーム内に含まれるアドレスデータの各ビットがそれぞれ
1つのデバイスに対応するアドレスビットであり、デー
タフレームを送信するデバイスは1つ以上の送信先のデ
バイスのアドレスビットを真としてデータフレームの出
力を行う。
【0021】さらに本発明のデータ転送方法(請求項2
)は、各デバイスに少なくとも1ビットの固有の受信応
答ビットを割り当て、データフレームを受信した1つ以
上のデバイスは自分自身の受信応答ビットのみを低レベ
ルとした受信応答データをデータライン上に出力する。
【0022】さらに本発明のデータ転送方法(請求項3
)は、データフレーム内に誤り検出コードを付加し、デ
ータフレームを受信した1つ以上のデバイスは誤り検出
コードを用いて受信したデータフレーム内のデータ誤り
の有無を検出し、誤りが検出できなければ自分自身の受
信応答ビットのみを低レベルとした受信応答データをデ
ータライン上に出力する。
【0023】さらに本発明のデータ転送方法(請求項4
)は、データライン,クロックライン以外に制御ライン
を設け、トークンを受信してバスを使用するデバイスが
バスを使用している間は制御ラインを低レベルに保ち、
コントローラは制御ラインが高レベルの時にのみトーク
ンの出力を行う。
【0024】さらに本発明のデータ転送方法(請求項5
)は、コントローラはバスを使用する頻度の高いデバイ
スに対しては頻度の低いデバイスよりもより多くのトー
クンを送出する。
【0025】さらに本発明のデータ転送方法(請求項6
)は、コントローラがデータ及びトークンの転送に必要
なクロックを出力する。
【0026】さらに本発明のデータ転送方法(請求項7
)は、データを出力するデバイスは、データの出力準備
が完了した段階でデータラインを低レベルに遷移させ、
コントローラはデータラインが低レベルに遷移した後で
クロックラインにクロックを出力する。
【0027】
【作用】本発明は上記した方法により、データフレーム
の出力を行うデバイスは1つ以上の転送先のデバイスの
アドレスビットを真としてデータフレームを出力し、バ
スに接続されたその他のデバイスは自分自身のアドレス
ビットが真かどうかを判断し、真の場合にはデータフレ
ームを受信する(請求項1)。
【0028】また、データフレームを受信したデバイス
が自分自身に割り当てられた受信応答ビットのみを低レ
ベルとした受信応答データを出力し、複数のデバイスか
ら出力された受信応答データがデータライン上でワイヤ
ードオアされ、データフレームを出力したデバイスに入
力される。データフレームを出力したデバイスは入力し
た受信応答データの受信応答ビットを調べることによっ
て、どのデバイスがデータフレームを受信したかを判断
できる(請求項2)。
【0029】また、データフレームを誤り無しで受信し
たデバイスのみが受信応答データを出力するため、デー
タフレームを出力したデバイスはデータフレームを誤り
無しで受信したデバイスを特定できる(請求項3)。
【0030】また、制御ラインの信号レベルを判断して
コントローラがトークンの出力を行い、各デバイスは制
御ラインの立ち下がりと立ち上がりでそれぞれデータ転
送の開始と終了を検出できるため、トークンの識別が確
実にできる(請求項4)。
【0031】また、各デバイスに対して送られるトーク
ンの割合を設定できるため、バスを使用する優先順位の
設定が可能となる(請求項5)。
【0032】また、コントローラのみがクロックを出力
するので、他のマスタとなるデバイスはクロック発生機
構が不要となる(請求項6)。
【0033】また、データを出力するデバイスが、デー
タの出力準備が完了した段階でデータラインを低レベル
に遷移させるため、コントローラはこれを検出してクロ
ックを出力でき、データの転送が確実に行われる(請求
項7)。
【0034】
【実施例】以下、本発明の一実施例について、図面を参
照しながら説明する。
【0035】図1は本発明の一実施例のデータ転送方法
を用いてデータ転送を行うシステムのブロック図を示す
ものである。図1において、マイクロプロセッサ10,
11,12,13は1チップのマイクロプロセッサであ
り、データライン1,クロックライン2,/BSYライ
ン3の3つの信号線からなるバスを介して互いに接続さ
れている。データライン1はシリアルデータを転送する
ための信号線で、各マイクロプロセッサのデータ入力ポ
ート16とデータ出力ポート17に共通に接続されてい
る。マイクロプロセッサ10はクロックライン2にシリ
アルデータの入出力用のクロックをクロック出力ポート
18から出力し、他のマイクロプロセッサはクロック入
力ポート15でこの信号を受け取る。/BSYライン3
は/BSY信号用の信号線である。この信号は負論理の
信号でデータフレームを出力するマイクロプロセッサに
よってロウに保たれる。/BSY信号がハイの場合には
何れのマイクロプロセッサもデータフレームの出力を行
っていない。
【0036】以上のように構成されたシステムで本発明
のデータ転送方法を実施する場合の動作例について、以
下説明する。
【0037】まず、図2を用いてシリアルデータとクロ
ックのタイミングに関して説明する。
【0038】図2はデータライン1とクロックライン2
のタイミング図である。図2(a)に示すように、デー
タライン1上を転送されるシリアルデータはクロックの
立ち下がりで出力される。シリアルデータを取り込む場
合はクロックの立ち上がりで取り込む。クロックの周期
はTaである。転送は8ビット単位で間欠的に行う。8
ビットデータの転送に必要な8個のクロックをバイトク
ロックと定義する。図2(b)に示すように、バイトク
ロックはTbの周期で間欠的に出力される。
【0039】多くの1チップのマイクロプロセッサは8
ビット単位でデータをシリアル転送する機能をハードウ
ェアで実現している。ここでは、このハードウェアをシ
フトバッファと呼ぶことにする。シフトバッファはシフ
トレジスタ及び周辺回路からなり、マイクロプロセッサ
の外部から供給されたクロック(以降、外部クロックと
称す)もしくはマイクロプロセッサの内部で発生したク
ロック(以降、内部クロックと称す)でデータの入力や
出力を行う。シリアルデータを出力する場合にはクロッ
クの立ち下がりでMSBから順に出力し、シリアルデー
タを入力する場合にはクロックの立ち上がりでMSBか
ら順に取り込む。
【0040】シフトバッファから出力されるシリアルデ
ータの出力ポートがデータ出力ポート17であり、シフ
トバッファへ入力されるシリアルデータの入力ポートが
データ入力ポート16である。シフトバッファのクロッ
ク用のポートは入力と出力が独立していなく、クロック
入出力ポートがあるのみである。このポートは、シフト
バッファが内部クロックでデータの転送を行う場合には
出力ポートとして機能し、外部クロックでデータの転送
を行う場合には入力ポートとして機能する。マイクロプ
ロセッサ10はクロックを出力する必要があるため、内
部クロックで動作し、他のマイクロプロセッサは外部ク
ロックで動作する。従って、クロック入出力ポートは、
マイクロプロセッサ10ではクロック出力ポート18と
して機能し、他のマイクロプロセッサではクロック入力
ポート15として機能する。
【0041】次に、本実施例で使用する用語について説
明する。 「マスタ」:バスの使用権を取得し、データフレームを
出力するマイクロプロセッサをマスタと呼ぶ。マイクロ
プロセッサ10,11,12,13は何れもマスタにな
ることができるが、複数のマイクロプロセッサが同時に
マスタになることはない。マスタはデータフレームを出
力する前に/BSY信号をアサートする(ロウにする)
。また、データフレームを出力し受信応答データを受信
した後/BSY信号をネゲートする(ハイにする)。
【0042】「スレーブ」:マスタから指定されたマイ
クロプロセッサをスレーブという。データフレームの転
送はマスタからスレーブに対して行われる。マスタが複
数のマイクロプロセッサにデータフレームを転送する場
合(同報通信)には、複数のスレーブが存在する。/B
SY信号がハイの場合にはシステム内にマスタ、スレー
ブ共に存在しない。
【0043】「コントローラ」:バスに接続されたマイ
クロプロセッサの内、クロックを出力するマイクロプロ
セッサをコントローラと呼ぶ。コントローラはシステム
内で1つだけ存在する。図1のシステムではマイクロプ
ロセッサ10がコントローラである。コントローラは後
述するトークンの出力も行う。
【0044】「トークン」:バスの使用権を調停するた
めにコントローラが出力する1バイトのデータである。 トークンを受け取ったマイクロプロセッサはバスを使用
してデータフレームを出力する権利、即ち、マスタにな
る権利を有する。
【0045】「データフレーム」:データ転送の最少単
位をデータフレームという。データフレームはヘッダ、
ユーザーデータ、チェックバイトからなる。
【0046】次に、フレームの転送に先立って行われる
トークンを用いたバスの調停に関して図3,図4を用い
て説明する。
【0047】図3はトークンのフォーマット図である。 トークンは1バイトで構成され、MSBはこのバイトが
トークンであることを示すために1である。bit6か
らbit4のADRはトークンの行き先アドレスであり
、トークンの行き先のマイクロプロセッサのアドレスを
記述する。バスに接続された各マイクロプロセッサには
それぞれ固有のアドレス(0〜7)が割り当てられてい
る。このアドレスの割り当てを(表1)に示す。
【0048】
【表1】
【0049】(表1)に示したように、0〜7のアドレ
スの内で実際に使用しているのは0〜3の4種類である
が、このバスには最大で8個のマイクロプロセッサを接
続することが可能である。bit3,2,1,0はフォ
ーマットナンバー(FMT)を記録する。フォーマット
ナンバーによって後述するデータフレームのフォーマッ
トが異なる。ここではフォーマットナンバーは0000
(2進表示)とする。
【0050】図4はマイクロプロセッサ10が行うトー
クンの配布の様子を示したタイミング図である。/BS
Yライン3がハイの場合はコントローラであるマイクロ
プロセッサ10はトークンの出力を行う。T10,T1
1,T12,T13はそれぞれマイクロプロセッサ10
,11,12,13に対するトークンである。マイクロ
プロセッサ10は、/BSYライン3がハイである間は
Tbの間隔で順次トークンを送る。例えばマイクロプロ
セッサ12にトークンを送る場合にはマイクロプロセッ
サ10は10100000(2進表示)のトークンをデ
ータライン1上に出力する。
【0051】マイクロプロセッサ10は各マイクロプロ
セッサに順次トークンを出力した結果、何れのマイクロ
プロセッサもデータフレームの出力を行わなかった場合
、その段階でトークンの出力を停止する。コントローラ
も含めて、いずれのマイクロプロセッサもマスタになら
ない場合には各マイクロプロセッサへのトークンの出力
は一定間隔(Tc)で行われる。
【0052】次に、トークンを受信したマイクロプロセ
ッサがフレームを出力する場合の動作について図5を用
いて説明する。
【0053】図5はフレームの出力の様子を示したタイ
ミング図である。図5において、T11,T12,T1
3はマイクロプロセッサ10が出力するトークンである
。Fはマイクロプロセッサ11が出力するフレームを構
成する各バイトである。Aはマイクロプロセッサ12,
マイクロプロセッサ13が出力する受信応答データであ
る。
【0054】図5は、マイクロプロセッサ11がマイク
ロプロセッサ12とマイクロプロセッサ13へデータフ
レームの転送を行う様子を示している。マイクロプロセ
ッサ11はマイクロプロセッサ10が出力したトークン
を入力し、/BSY信号をアサートした後、次のバイト
クロックから順に1バイトずつデータフレームを出力す
る。データフレームの出力が終了すると、次のバイトク
ロックでマイクロプロセッサ12とマイクロプロセッサ
13が受信応答データを出力する。この2つの受信応答
データはデータライン1上でワイヤードオアされてマイ
クロプロセッサ11に入力される。マイクロプロセッサ
11は受信応答データを入力した後、/BSY信号をネ
ゲートする。
【0055】このように、トークンを受信したマイクロ
プロセッサがデータフレームの転送を行う場合には、デ
ータフレームの転送を開始する前に/BSY信号をアサ
ートする。この/BSY信号のアサートはコントローラ
が次のトークンを出力するまでに行う必要がある。トー
クンの出力を行うマイクロプロセッサ10は/BSY信
号がアサートされたのを検出してトークンの出力を停止
し、バイトクロックのみを出力する。また、マスタとな
ったマイクロプロセッサはデータフレームの出力を終了
し、受信応答データを入力した後/BSY信号をネゲー
トする。マイクロプロセッサ10は/BSY信号がネゲ
ートされたことを検出してトークンの出力を再会する。
【0056】コントローラは/BSY信号がネゲートさ
れた後、全てのマイクロプロセッサに順次トークンを出
力し、どのマイクロプロセッサもデータフレームの転送
を行わないことを確認して、周期Tbのバイトクロック
の出力を中断する。この場合、以前のトークンの出力か
ら周期Tcを経た後、再びトークンの出力を行う。
【0057】次に、図6を用いてデータフレームのフォ
ーマットを説明する。図6はデータフレームと受信応答
データのフォーマット図である。データフレームはアド
レスデータ60,コントロールデータ61,ユーザーデ
ータ62,チェックバイト63からなる。マスタがデー
タフレームの出力を完了すると、次のバイトクロックで
スレーブが1バイトの受信応答データ64を出力する。
【0058】アドレスデータ60はスレーブを指定する
ためのデータである。アドレスデータはビットアサイン
されており、各ビットが1つのマイクロプロセッサに対
応している。アドレスデータのビットパターンとスレー
ブとなるマイクロプロセッサの対応を(表2)に示す。
【0059】
【表2】
【0060】(表2)において、×は1でも0かまわな
い。アドレスがN(N=0〜7)のマイクロプロセッサ
のアドレスビットはアドレスデータ60のbitNとな
っている。従って、マスタとなったマイクロプロセッサ
はスレーブとなるデバイスを選択的に指定することがで
きる。即ち、マスタとなったマイクロプロセッサは、ス
レーブとして指定するマイクロプロセッサのアドレスビ
ットを真(1)とし、スレーブとして指定しないマイク
ロプロセッサのアドレスビットを偽(0)としたアドレ
スデータ60を出力すれば良い。例えば、マイクロプロ
セッサ11がマイクロプロセッサ12とマイクロプロセ
ッサ13にフレームを送る場合にはアドレスデータ60
を00001100(2進表示)とすればよい。この際
にマスタ自身のアドレスを示すビットは0に設定する。 マスタ以外のマイクロプロセッサは/BSY信号がアサ
ートされた後で最初に受信した8ビットデータをアドレ
スデータとして検出し、自分自身のアドレスビットが真
(1)の場合にはスレーブとして指定されたことを認識
し、データフレームの受信を行う。
【0061】コントロールデータ61のMSB,bit
6,bit5,bit4の4ビットはユーザーデータ6
2のバイト数−1を示す。0000〜1111(2進表
示)のパターンが可能であるため、ユーザーデータ62
のバイト数は1〜16の任意の値をとることができる。 スレーブとなったマイクロプロセッサはこの値を用いて
データフレーム全体のバイト数を得、データフレームを
受信した後に後述する受信応答データ64を出力する。 コントロールデータ61のbit3でユーザーデータ6
1の内容がコマンドかデータかを示す。このビットが0
の場合には、コントロールデータ61はデータであり、
1の場合には、コントロールデータ61はコマンドであ
る。コントロールデータ61のbit2,bit1,L
SBはマスタアドレスであり、マスタになったマイクロ
プロセッサのアドレスが(表1)と同様のルールで記載
される。
【0062】ユーザーデータ62は、実際にマスタから
スレーブに送られるデータやコマンドである。
【0063】1バイトの誤り検出コード63はエラーチ
ェック用のバイトで、データフレームの先頭バイト(ア
ドレスデータ60)からユーザーデータの最終バイトま
での各ビット毎の奇数パリティが記録される。マスタは
データフレームの先頭からバイト単位で排他的論理和演
算を行い、結果を反転して誤り検出コード63を作成す
る。一方、データフレームを受信したマイクロプロセッ
サは、データフレームの先頭からCHKバイトまでをバ
イト単位で排他的論理和演算を行い、結果がFFh(1
6進表示)となればエラー無しで受信できたことが確認
できる。
【0064】アドレスデータ60,コントロールデータ
61,ユーザーデータ62,誤り検出コード63からな
るデータフレームはマスタが出力するが、受信応答デー
タ64はスレーブが出力する。受信応答データ64は1
バイトからなる。受信応答データ64を構成するビット
は各々が、1つのマイクロプロセッサの受信応答ビット
に割り当てられている。アドレスがN(N=0〜7)の
マイクロプロセッサの受信応答ビットは受信応答データ
64のbitNとなっている。データフレームを受信し
たスレーブは誤り検出コード63を用いてデータエラー
の有無を検出し、エラーが無い場合には自分の受信応答
ビットのみをロウとした受信応答データ64を出力する
。 シフトバッファはデータをデータライン1上に負論理で
出力するため、データフレームを正常に受信したスレー
ブは自分自身の受信応答ビットのみを1とした受信応答
データ64を出力する。各マイクロプロセッサの受信応
答データ64を(表3)に示す。
【0065】
【表3】
【0066】データライン1はワイヤードオア接続され
ているため、複数のスレーブが受信応答データを出力す
る場合には、論理和演算された結果がマスタへ送られる
【0067】次に、図7を用いて複数のスレーブが受信
応答データ64を出力した場合の動作について説明する
【0068】図7は、複数のマイクロプロセッサが受信
応答データを出力した場合のタイミング図である。図7
ではマイクロプロセッサ12とマイクロプロセッサ13
が自分自身の受信応答データをクロックに同期してデー
タライン1上に出力している。マイクロプロセッサ12
のアドレスは2であるためbit2の位置だけがロウと
なる受信応答データ(00000100)を出力し、マ
イクロプロセッサ13は同じクロックで0000100
0の受信応答データを出力する。bit3とbit2の
位置では両者の出力が異なっているがロウが優先となる
ため、結果としてデータライン1上には0000110
0の受信応答データが流れることになる。この受信応答
データはマスタに入力され、マスタはそのそのビットパ
ターンからどのマイクロプロセッサがデータフレームを
受信したか判断できる。
【0069】例えば、マスタがアドレスデータ60が0
0001100(2進表示)であるデータフレームを出
力し、データフレーム出力後の最初のバイトクロックで
00001000の受信応答データ64を入力したとす
る。この場合にマスタは、アドレスが3のマイクロプロ
セッサはデータフレームを受信したが、アドレスが2の
マイクロプロセッサはデータフレームを受信していない
と判断できる。言い換えれば、送出したアドレスデータ
60と受信した受信応答データ64のビットパターンが
同じであればデータフレームの転送は正常に行われたと
判断できる。
【0070】受信応答データをチェックした結果、指定
したスレーブがデータフレームを受信していないことが
判明した場合でも、マスタは/BSY信号をネゲートし
てバスの使用権を手放さなければならない。
【0071】次に、電源投入時やシステムリセット時の
システム起動時に行われる初期化手順について説明する
【0072】システム起動時にはコントローラは/BS
Y信号をアサートした後、(表4)に示した初期化チェ
ックフレームを発行してバス内の各マイクロプロセッサ
が動作状態にあるかどうかチェックする。
【0073】
【表4】
【0074】アドレスデータ60は自分以外の全てのマ
イクロプロセッサへの同報通信であることを示している
。コントロールデータ61は、ユーザーデータ62が1
バイトで種類がコマンド、マスタのアドレスが0(コン
トローラ)であることを示している。ユーザーデータ6
2の1バイトはnopである00hを送る。誤り検出コ
ード63はアドレスデータ60からユーザーデータ62
までの奇数パリティである。コントローラは自分自身へ
のトークンの出力を行った後、/BSY信号をアサート
し、バイトクロックを出力して初期化チェックフレーム
を送出する。既に初期化作業が終了しているマイクロプ
ロセッサは受信応答データ64を出力する。受信応答デ
ータ64を検出すれば、機器内の各マイクロプロセッサ
の初期設定が終了しているかどうかが判断できる。また
、バス内に臨時にマイクロプロセッサがつながれている
場合も検出できる。このマイクロプロセッサは機器の調
整や修理等を行う際にバスに臨時に接続されるマイクロ
プロセッサで、マイクロプロセッサ10,11,12,
13とは異なるアドレスが与えられている。このように
バスには臨時にマイクロプロセッサが接続されることが
あるため、初期化チェックフレームのアドレスデータ6
0は機器内にもともと存在するマイクロプロセッサ以外
のマイクロプロセッサへもデータフレームを送るように
設定されている。
【0075】初期化が完了していないマイクロプロセッ
サが検出された場合には、コントローラは/BSY信号
をネゲートし、一定時間待った後、再びトークンを出力
し、/BSY信号をアサートして初期化チェックフレー
ムを送出する。初期化チェックフレームの送信が正常終
了した後、コントローラはトークンの出力を開始する。
【0076】次に、図2,図4で示したビットクロック
周期(Ta),バイトクロック周期(Tb)、トークン
転送繰り返し周期(Tc)の定め方に関して説明する。
【0077】まず、システム内のマイクロプロセッサの
中で最もフレーム転送要求の発生間隔が短いものを捜し
、このフレーム転送要求間隔の最小値をTcとする。 次に、Tcの時間内に必ず転送されなければならないフ
レーム数,各フレームを構成するバイト数,及びバス内
に接続されたマイクロプロセッサの数からTcの時間内
に必要なバイトクロックの数を求め、Tbを定める。こ
の際、他のマイクロプロセッサが臨時にバスに接続され
る場合も考慮に入れなければならない。Taは各マイク
ロプロセッサの能力と、機器内で発生するノイズの影響
を考慮して定める。例えば、マイクロプロセッサ内に内
蔵されているシフトバッファがダブルバッファでない場
合、バイトクロック出力中はデータのリードライトが出
来ないため、バイトクロックが出力されていない期間に
シリアルバッファのリードライトを行う必要がある。こ
の期間が短ければマイクロプロセッサのインタラプト処
理を高速に行う必要がある。この処理に余裕を持たせる
にはTaを短くすれば良い。しかしながらTaが短くな
ると機器内で発生するノイズの影響も無視できない。
【0078】次に、マイクロプロセッサへの/BSYラ
イン3の接続の仕方について説明する。
【0079】上述したように/BSYライン3を用いて
データ転送が行われているかトークンが転送されている
かを識別することができる。従って、各マイクロプロセ
ッサはシリアル転送の割り込み処理ルーチンで/BSY
ライン3をモニタすれば良い。ところがフレームの転送
要求を発生していないマイクロプロセッサは、受信動作
のみを行えば良いので、/BSYライン3がハイの場合
はバスをモニタする必要はない。また、/BSYライン
3がロウに遷移した場合でも、自分自身がスレーブとし
て指定されなければ、次に/BSYライン3がハイから
ロウに遷移するまでバスを無視してよい。これを実現す
るために/BSYライン3をマイクロプロセッサの外部
割り込み入力に接続する。このようにすれば、フレーム
の転送要求が発生していないマイクロプロセッサは/B
SYライン3の立ち下がりエッジで割り込みがかかるよ
うに設定しておき、外部割り込みがかかるまではシリア
ル受信の割り込みを禁止しておけば良い。また、シリア
ル受信割り込みでアドレスデータ60を受信し、自分自
身への転送でない場合には再びシリアル受信割り込みを
禁止すれば良い。このように/BSYライン3のモニタ
に外部割り込みを使用する場合には、シリアル受信割り
込みの回数を最小限におさえることができる。現状のマ
イクロプロセッサは外部割り込み入力端子に出力ポート
としての機能は備わっていないので、マスタとなり得る
マイクロプロセッサは汎用の出力ポートを/BSY信号
の出力用に確保する必要がある。もちろん、外部割り込
みを使用せず汎用の入出力ポートを用いて/BSY信号
を入出力するマイクロプロセッサは、シリアル受信割り
込みを常にイネーブルにして、シリアル割り込み処理ル
ーチンの中で/BSYライン3をモニタするか、タイマ
ー割り込みを用いて一定時間毎に/BSYライン3をモ
ニタする必要がある。
【0080】次に、/BSYライン3がロウの場合で、
かつ、コントローラ以外のマイクロプロセッサがフレー
ムを出力する場合のマスタとコントローラの動作につい
てついて説明する。
【0081】この場合は、コントローラがバイトクロッ
クを出力し、マスタはこのクロックに同期をとってデー
タを出力する必要がある。従って、マスタはデータを出
力した後、次のバイトクロックがマスタから出力される
までに確実に次のデータの出力準備を完了しておく必要
がある。出力準備が完了していない場合にバイトクロッ
クがマスタから出力されると、転送ミスが発生する。こ
れを防ぐ手法を図8を用いて説明する。
【0082】図8はコントローラ以外のマイクロプロセ
ッサがデータの出力を行っている場合のタイミング図で
ある。この場合は、/BSYライン3はデータの出力を
行うマスタによってロウに保たれている。マスタはデー
タの出力準備が出来た段階でデータライン1をロウに遷
移させる(時刻t0)。コントローラは前回バイトクロ
ックを出力してからTbだけ時間が経過した時点でデー
タライン1をチェックし、データライン1がロウであれ
ばバイトクロックの出力を開始する(時刻t1)。この
ときデータライン1がハイであればコントローラはバイ
トクロックの出力は行わず、データライン1がマスタに
よってロウに駆動された後にバイトクロックの出力を行
う。また、時刻t2でバイトクロックの最終クロックが
立ち上がった後、一定時間(Td)経過した時刻t3で
データラインをハイに遷移させる必要がある。このTd
はデータの受信側におけるクロックの立ち上がりからの
データのホールドタイムを最低限満足している必要があ
る。
【0083】以上のように本実施例によれば、マスタが
スレーブとして指定するマイクロプロセッサのアドレス
ビットを1としたアドレスデータをデータフレーム内に
含めて出力し、バスに接続されたその他のマイクロプロ
セッサは自分自身のアドレスビットが1である場合には
データフレームを受信すため、マスタは任意の複数のス
レーブへのデータフレームの同報通信を行うことができ
る。
【0084】また、データフレームを受信したスレーブ
が自分自身に割り当てられた受信応答ビットのみを低レ
ベルとした受信応答データを出力し、複数のスレーブか
ら出力された受信応答データがデータライン上でワイヤ
ードオアされ、データフレームを出力したデバイスに入
力されるため、入力した受信応答データの受信応答ビッ
トを調べることによって、どのスレーブがデータフレー
ムを受信したかを判断できる。
【0085】また、データフレームを誤り無しで受信し
たスレーブのみが受信応答データを出力するため、マス
タはデータフレームを誤り無しで受信したスレーブを特
定できる。
【0086】また、データライン,クロックライン以外
に制御ラインを設け、トークンを受信してバスを使用す
るデバイスがバスを使用している間は制御ラインを低レ
ベルに保ち、コントローラは制御ラインが高レベルの時
にのみトークンの出力を行うため、マルチマスタシステ
ムにおいては転送の衝突が発生しないと同時に、転送に
際して変調を必要とせず、かつ、任意のパターンのデー
タフレームを転送できる。
【0087】また、コントローラがデータ及びトークン
の転送に必要なクロックを出力するため、マルチマスタ
システムではマスタとなるデバイスの負担を軽減するこ
とができる。
【0088】また、データを出力するデバイスは、デー
タの出力準備が完了した段階でデータラインを低レベル
に遷移させ、コントローラはデータラインが低レベルに
遷移した後でクロックラインにクロックを出力するため
、データ出力の準備が遅れた場合でも転送エラーは発生
しない。
【0089】なお、上記実施例ではデバイスとして汎用
のマイクロプロセッサを用いていたが、バスに接続され
るデバイスはマイクロプロセッサに限定されない。例え
ば、DSP等のLSIを接続することも可能である。
【0090】また、上記実施例ではマルチマスタシステ
ムを例に説明したが、シングルマスタシステムの場合に
はトークンの送受信は不要なことは明らかである。この
場合にはマスタはフレームの転送要求が発生した段階で
、/BSYライン3をロウに遷移させスレーブに対して
フレームの転送を行う。
【0091】また、上記実施例ではデータフレームをマ
スタが送信してスレーブが受信していたが、マスタがス
レーブにフレームを出力するように指示を行い、スレー
ブがデータフレームの出力を行っても良い。この場合に
は、トークンのフォーマットナンバーを変えてフレーム
のフォーマットを変更すれば良い。
【0092】また、上記実施例ではバスに接続された全
てのマイクロプロセッサがトークンを受信していたが、
スレーブ専用のマイクロプロセッサやLSIがバスに接
続されていれば、これらのデバイスにトークンを送る必
要はない。
【0093】また、上記実施例では/BSYライン3を
用いてトークンとデータ転送の区別を行っていたが、ト
ークンのビットパターンをフレーム中で禁止したり、全
てのマイクロプロセッサが常にバス上を流れるデータを
監視し、フレーム転送中かトークン転送中かを判断する
ようにすれば/BSYライン3は不要となる。但し、上
述したようにバスに接続されるデバイスがマイクロプロ
セッサのようなプログラミング可能な汎用のデバイスで
あれば/BSYラインを用いた方がデバイスへの負担が
小さくなる。
【0094】また、上記実施例ではアドレスデータと受
信応答データは8ビットであり、バス内に8個までのデ
バイスしか接続できなかったが、アドレスデータと受信
応答データのビット数を変えることによって、接続でき
るデバイスの数は任意の数に変更できる。例えば、アド
レスデータと受信応答データをそれぞれ2バイトとすれ
ば、最大16個までのデバイスを接続できる。この場合
には、トークンのADRとコントロールデータ61のM
Aのビット数を4ビットにする必要がある。
【0095】また、上記実施例では、コントローラが自
分自身にもトークンの出力を行っていたが、バスに接続
されているデバイスが外部割り込み等の機能を用いて確
実に/BSYラインの状態遷移を検出できるのであれば
、コントローラは自分自身へのトークンを出力する必要
はない。この場合には、コントローラは最後にトークン
の出力を行ってからTb以上の時間を経過した後/BS
Yラインをロウに遷移させる必要がある。なぜならば、
トークンを受け取ったデバイスは、トークンを受け取っ
てからTbの期間はマスタとなる権利を有する。したが
って、この期間にマスタが/BSYラインをロウに遷移
させるとフレームの転送が衝突する可能性があるからで
あるである。
【0096】また、上記の実施例ではクロックの出力は
コントローラのみが行っていたが、データを出力するデ
バイスがクロックの出力を行っても良い。この場合には
、コントローラは/BSYラインがロウである間はクロ
ックの出力を停止する必要がある。しかしながら、この
場合には、マスタとなる全てのデバイスにバイトクロッ
クの出力機能が要求される。
【0097】また、上記実施例では、コントローラ以外
のマイクロプロセッサがデータの出力を行う場合には、
データの出力を行うマイクロプロセッサがデータの出力
準備が完了した時点でデータライン1をロウ遷移させ、
コントローラは、データライン1がロウであることを確
認した後にバイトクロックを出力していたが、バイトク
ロックの周期(Tb)を十分余裕をもって定めておけば
、これらの手続きは不要である。
【0098】また、上記実施例では誤り検出コードとし
て奇数パリティを用いていたが、巡回符号等の誤り検出
コードを用いても良い。
【0099】また、上記実施例では、コントローラはバ
スに接続された全てのマイクロプロセッサに均等にトー
クンを送信していたが、トークンの配布方法はこれに限
るものではなく、各マイクロプロセッサに優先順位を設
定することも可能である。例えば、マイクロプロセッサ
11がマイクロプロセッサ12に比べてバスを使用する
頻度が高い場合、コントローラがマイクロプロセッサ1
2よりもマイクロプロセッサ11へより多くのトークン
を送出するようにしても良い。また、マイクロプロセッ
サによってデータフレームの転送要求の発生間隔が異な
る場合、転送要求の発生間隔に合わせてトークンを送っ
ても良い。例えば、マイクロプロセッサ11とマイクロ
プロセッサ12の転送要求の発生間隔がそれぞれ100
msec,50msecであれば、この間隔でマイクロ
プロセッサ11とマイクロプロセッサ12にトークンを
送れば無駄なトークンを送ることが無くなり、バスの有
効利用につながる。また、機器の動作モードによってト
ークンの配布方法を変更することも可能である。例えば
、動作モードによって休止状態となるマイクロプロセッ
サがある場合には、休止状態のマイクロプロセッサには
トークンを送らない等の柔軟な対応が可能である。具体
的には、カメラ一体型ビデオが再生状態であるときには
、カメラ部のマイクロプロセッサにはトークンを配布し
ないようにすることも可能である。このように機器の動
作モードによってトークンの配布方法を柔軟に変更する
場合は、機器全体の管理を行っているマイクロプロセッ
サがコントローラの機能を持つ方がよい。
【0100】
【発明の効果】以上のように本発明は、データフレーム
内に含まれるアドレスデータの各ビットがそれぞれ1つ
のデバイスに対応するアドレスビットであり、データフ
レームを送信するデバイスは1つ以上の送信先のデバイ
スのアドレスビットを真としてデータフレームを出力し
、その他のデバイスは自分自身のアドレスビットが1で
ある場合にはデータフレームを受信すため、任意の複数
のデバイスを指定して同報通信を行うことができるとい
う効果が得られる。
【0101】また、各デバイスに少なくとも1ビットの
固有の受信応答ビットを割り当て、1つのデバイスがデ
ータフレームを送信した後、データフレームを受信した
1つ以上のデバイスは自分自身の受信応答ビットのみを
低レベルとした受信応答データをデータライン上にクロ
ックに同期して出力するため、データフレームを出力し
たデバイスは、入力した受信応答データの受信応答ビッ
トを調べることによって、同報通信の際にも、どのデバ
イスがデータフレームを受信したかを判断できるという
効果が得られる。
【0102】また、データフレーム内に誤り検出コード
を含ませ、データフレームを受信した1つ以上のデバイ
スは誤り検出コードを用いて受信したデータフレーム内
のデータ誤りの有無を検出し、誤りが検出できなければ
自分自身の受信応答ビットのみを低レベルとした受信応
答データを前記データライン上にクロックに同期して出
力するため、データフレームを出力したデバイスはデー
タフレームを誤り無しで受信したデバイスを特定できる
という効果が得られる。もちろん、データフレームを受
信したデバイスもデータフレーム中の誤りの有無を検出
できる。
【0103】また、データライン,クロックライン以外
に制御ラインを設け、トークンを受信してバスを使用す
るデバイスがバスを使用している間は制御ラインを低レ
ベルに保ち、コントローラは制御ラインが高レベルの時
にのみトークンの出力を行うため、マルチマスタシステ
ムにおいては転送の衝突が発生しないと同時に、転送に
際して変調を必要とせず、かつ、任意のパターンのデー
タフレームを転送できるという効果が得られる。すなわ
ち、この制御ラインを用いることによって、トークンと
同一のパターンがデータフレーム中に発生しても、トー
クンかフレーム中の1データかを明確に区別することが
できる。また、制御ラインを設けることによって、バス
に接続されたデバイスはデータラインやクロックライン
を常にモニタする必要が無くなる。すなわち、通常は制
御ラインのみをモニタしていれば良い。特に、バスに接
続されるデバイスがマイクロプロセッサであった場合に
は、データフレームの通信に関わる処理時間が大幅に減
少される。また、コントローラも制御ラインによってト
ークンを出力するか否かを決定することができる。また
、従来のトークン方式ではトークンを受け取ったデバイ
スがトークンの出力を行っていたが、本発明ではトーク
ンの出力はコントローラだけが行うため、トークンの配
布に関してエラーが発生した場合のエラー復帰処理への
対応も容易である。
【0104】また、コントローラがバスを使用する頻度
の高いデバイスに対しては頻度の低いデバイスよりもよ
り多くのトークンを送出するようにすれば、バスを使用
するデバイスに優先順位が設定でき、バスの使用効率が
向上するという効果が得られる。1つの機器内で複数の
マイクロプロセッサがバスを用いて転送を行うような閉
じたシステムでは、行われるデータ転送の種類が限定さ
れるのでトークンの配布に重み付けを行うことによって
バスシステム全体を容易に管理することが可能となる。
【0105】また、コントローラがデータ及びトークン
の転送に必要なクロックを最少転送単位ずつ間欠的に出
力するようにすれば、マルチマスタシステムではマスタ
となるデバイスの負担を軽減することができるという効
果が得られる。すなわち、コントローラ以外のデバイス
がデータフレームの出力を行う場合に、データフレーム
の出力を行うデバイスはクロックの発生タイミングの管
理を行う必要が無い。
【0106】また、データを出力するデバイスは、デー
タの出力準備が完了した段階でデータラインを低レベル
に遷移させ、コントローラはデータラインが低レベルに
遷移した後でクロックラインにクロックを出力するよう
にすれば、データを出力するデバイスが、データ出力の
準備が遅れた場合でもクロックの出力を遅らせることに
よって転送エラーは発生しないという効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施例におけるデータ転送方法を用い
てデータ転送を行うシステムの構成を示すブロック図

図2】同実施例におけるデータライン1とクロックライ
ン2の信号の関係を示すタイミング図
【図3】同実施例
におけるトークンのフォーマットを示す模式図
【図4】同実施例においてマイクロプロセッサ10が行
うトークンの配布の様子を示したタイミング図
【図5】
同実施例におけるフレームの出力の様子を示したタイミ
ング図
【図6】同実施例におけるデータフレームと受信応答デ
ータのフォーマットを示す模式図
【図7】同実施例において複数のマイクロプロセッサが
受信応答データを出力した場合の動作を示すタイミング
【図8】同実施例においてコントローラ以外のマイクロ
プロセッサがデータの出力を行っている場合の動作を示
すタイミング図
【図9】従来のI2Cを用いたデータ転送動作を示すタ
イミング図
【図10】従来のI2Cを用いたデータ転送のデータフ
レームのフォーマットを示す模式図
【符号の説明】
1  データライン 2  クロックライン 3  /BSYライン 10,11,12,13  マイクロプロセッサ14 
 /BSY信号入出力ポート 15  クロック入力ポート 16  データ入力ポート 17  データ出力ポート 18  クロック出力ポート 60  アドレスデータ 61  コントロールデータ 62  ユーザーデータ 63  誤り検出コード 64  受信応答データ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】複数のデバイス間でデータフレームをシリ
    アル転送する際に、データフレーム内に含まれるアドレ
    スデータの各ビットがそれぞれ1つのデバイスに対応す
    るアドレスビットであり、データフレームを送信するデ
    バイスは1つ以上の送信先のデバイスのアドレスビット
    を真としてデータフレームを出力することを特徴とする
    データ転送方法。
  2. 【請求項2】データラインとクロックラインで互いに接
    続された複数のデバイス間でデータフレームをシリアル
    転送する際に、各デバイスに少なくとも1ビットの固有
    の受信応答ビットを割り当て、1つのデバイスがデータ
    フレームを送信した後、データフレームを受信した1つ
    以上のデバイスは自分自身の受信応答ビットのみを低レ
    ベルとした受信応答データを前記データライン上にクロ
    ックに同期して出力することを特徴とするデータ転送方
    法。
  3. 【請求項3】データラインとクロックラインで互いに接
    続された複数のデバイス間で誤り検出コードを含んだデ
    ータフレームをシリアル転送する際に、各デバイスに少
    なくとも1ビットの固有の受信応答ビットを割り当て、
    1つのデバイスがデータフレームを送信した後、データ
    フレームを受信した1つ以上のデバイスは前記誤り検出
    コードを用いて受信したデータフレーム内のデータ誤り
    の有無を検出し、誤りが検出できなければ自分自身の受
    信応答ビットのみを低レベルとした受信応答データを前
    記データライン上にクロックに同期して出力することを
    特徴とするデータ転送方法。
  4. 【請求項4】データラインとクロックラインと制御ライ
    ンの少なくとも3本のラインで構成されるバスを使用し
    てコントローラを含む複数のデバイス間でデータのシリ
    アル転送を行うマルチマスタシステムにおいて、前記コ
    ントローラは前記複数のデバイスに対して前記制御ライ
    ンが高レベルの場合にのみ前記データラインと前記クロ
    ックラインを使用してトークンを予め定められたルール
    に従って順に送信し、バスを使用してデータ転送を行う
    デバイスは自分自身に対するトークンを受信した後で、
    かつ、前記コントローラが他のデバイスにトークンを送
    信するまでの間に前記制御ラインを低レベルに変化させ
    てデータ転送を開始し、データ転送が終了した後で前記
    制御ラインを高レベルに戻す事を特徴とするデータ転送
    方法。
  5. 【請求項5】コントローラはバスを使用する頻度の高い
    デバイスに対しては頻度の低いデバイスよりもより多く
    のトークンを送出することを特徴とする請求項4記載の
    データ転送方法。
  6. 【請求項6】コントローラがデータ及びトークンの転送
    に必要なクロックを最少転送単位ずつ間欠的に出力する
    ことを特徴とする請求項4記載のデータ転送方法。
  7. 【請求項7】データを出力するデバイスは、データの出
    力準備が完了した段階でデータラインを低レベルに遷移
    させ、コントローラは前記データラインが低レベルに遷
    移した後でクロックラインにクロックを出力し、前記デ
    バイスは前記クロックに同期してデータを出力し、最少
    転送単位のデータの出力が終了した時点で前記データラ
    インを高レベルに遷移させることを特徴とする請求項6
    記載のデータ転送方法。
JP3102444A 1991-05-08 1991-05-08 データ転送方法 Pending JPH04332065A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3102444A JPH04332065A (ja) 1991-05-08 1991-05-08 データ転送方法
US07/871,809 US5444847A (en) 1991-05-08 1992-04-21 Data transfer method for transferring a data frame among a plurality of devices connected to a serial data bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3102444A JPH04332065A (ja) 1991-05-08 1991-05-08 データ転送方法

Publications (1)

Publication Number Publication Date
JPH04332065A true JPH04332065A (ja) 1992-11-19

Family

ID=14327640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3102444A Pending JPH04332065A (ja) 1991-05-08 1991-05-08 データ転送方法

Country Status (2)

Country Link
US (1) US5444847A (ja)
JP (1) JPH04332065A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600803A (en) * 1993-05-14 1997-02-04 Matsushita Electric Industrial Co., Ltd. Data transfer system and method using data bus having bi-directional serial data line, clock line and bi-directional control line
JP2012210494A (ja) * 2012-08-06 2012-11-01 Sophia Co Ltd 遊技機
JP2013016180A (ja) * 2011-07-05 2013-01-24 Robert Bosch Gmbh 技術ユニットの構成を装備する方法

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5895452A (en) * 1993-01-26 1999-04-20 Logic Controls, Inc. Point-of-sale system
US7203728B2 (en) * 1993-01-26 2007-04-10 Logic Controls, Inc. Point-of-sale system and distributed computer network for same
US6546441B1 (en) 1993-01-26 2003-04-08 Logic Controls, Inc. Point-of-sale system
US6272529B1 (en) 1993-01-26 2001-08-07 Logic Controls, Inc. Point-of-sale system and distributed computer network for same
US5634060A (en) * 1994-08-09 1997-05-27 Unisys Corporation Method and apparatus for high-speed efficient bi-directional communication between multiple processor over a common bus
US5784648A (en) * 1995-12-01 1998-07-21 Apple Computer, Inc. Token style arbitration on a serial bus by passing an unrequested bus grand signal and returning the token by a token refusal signal
JP3648820B2 (ja) * 1995-12-07 2005-05-18 ソニー株式会社 通信制御方法及び電子機器
JPH09200239A (ja) * 1996-01-19 1997-07-31 Hitachi Ltd リング接続を用いたデータ転送方法及び情報処理システム
US5938746A (en) * 1996-02-29 1999-08-17 Sanyo Electric Co., Ltd. System for prioritizing slave input register to receive data transmission via bi-directional data line from master
US5694056A (en) * 1996-04-01 1997-12-02 Xilinx, Inc. Fast pipeline frame full detector
US5909369A (en) * 1996-07-24 1999-06-01 Network Machines, Inc. Coordinating the states of a distributed finite state machine
US5761457A (en) * 1996-10-21 1998-06-02 Advanced Micro Devices Inc. Inter-chip bus with fair access for multiple data pipes
US6279098B1 (en) * 1996-12-16 2001-08-21 Unisys Corporation Method of and apparatus for serial dynamic system partitioning
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
US6092149A (en) * 1997-05-28 2000-07-18 Western Digital Corporation Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses
US6411628B1 (en) * 1998-02-02 2002-06-25 Intel Corporation Distributed arbitration on a full duplex bus
US5974051A (en) * 1998-03-03 1999-10-26 Cisco Technology, Inc. System interprocessor communication using media independent interface-based channel
TW468110B (en) * 1998-05-04 2001-12-11 Koninkl Philips Electronics Nv Electronic apparatus with a bus
US6434650B1 (en) * 1998-10-21 2002-08-13 Intel Corporation Apparatus and method for multiplexing bi-directional data onto a low pin count bus between a host CPU and co-processor
US6457078B1 (en) * 1999-06-17 2002-09-24 Advanced Micro Devices, Inc. Multi-purpose bi-directional control bus for carrying tokens between initiator devices and target devices
US6546451B1 (en) * 1999-09-30 2003-04-08 Silicon Graphics, Inc. Method and apparatus for decoupling processor speed from memory subsystem speed in a node controller
US7099922B2 (en) * 2002-01-23 2006-08-29 International Business Machines Corporation Method and system for simultaneous management of multiple tokens on a communication ring
JP2003337793A (ja) * 2002-03-15 2003-11-28 Omron Corp ネットワークシステム及びネットワークシステムの通信方法
US7117283B2 (en) * 2002-07-24 2006-10-03 Lsi Logic Corporation Multi-master extended I2C protocol
US7391788B2 (en) * 2002-11-01 2008-06-24 Broadcom Corporation Method and system for a three conductor transceiver bus
US7984195B2 (en) * 2006-07-07 2011-07-19 Logic Controls, Inc. Hybrid industrial networked computer system
US7231467B2 (en) * 2003-11-17 2007-06-12 Agere Systems Inc. Method and apparatus for providing an inter integrated circuit interface with an expanded address range and efficient priority-based data throughput
US7065593B2 (en) * 2003-12-17 2006-06-20 Tellabs Petaluma, Inc. Centralized, double bandwidth, directional, shared bus communication system architecture
CN101208681B (zh) * 2005-04-29 2012-03-07 Nxp股份有限公司 通信系统
CN104115451A (zh) 2012-02-27 2014-10-22 松下电器产业株式会社 主机装置、通信系统以及通信方法
CN115941102B (zh) * 2022-10-31 2023-09-15 三峡智控科技有限公司 一种采用spi连接mcu和fpga的控制器间同步通信的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4491946A (en) * 1981-03-09 1985-01-01 Gould Inc. Multi-station token pass communication system
US4652874A (en) * 1984-12-24 1987-03-24 Motorola, Inc. Serial communication interface for a local network controller
DE3751609T2 (de) * 1986-09-01 1996-07-04 Nippon Electric Co Datenprozessor mit Hochgeschwindigkeitsdatenübertragung.
US4949337A (en) * 1989-01-30 1990-08-14 Honeywell Inc. Token passing communication network including a node which maintains and transmits a list specifying the order in which the token is passed

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600803A (en) * 1993-05-14 1997-02-04 Matsushita Electric Industrial Co., Ltd. Data transfer system and method using data bus having bi-directional serial data line, clock line and bi-directional control line
JP2013016180A (ja) * 2011-07-05 2013-01-24 Robert Bosch Gmbh 技術ユニットの構成を装備する方法
JP2012210494A (ja) * 2012-08-06 2012-11-01 Sophia Co Ltd 遊技機

Also Published As

Publication number Publication date
US5444847A (en) 1995-08-22

Similar Documents

Publication Publication Date Title
JPH04332065A (ja) データ転送方法
US4373183A (en) Bus interface units sharing a common bus using distributed control for allocation of the bus
EP0631239B1 (en) Serial data transfer method and system
CN107209743B (zh) 串行总线的接收时钟校准
US9690725B2 (en) Camera control interface extension with in-band interrupt
EP0051332B1 (en) Two-wire bus-system comprising a clock wire and a data wire for interconnecting a number of stations
US9684624B2 (en) Receive clock calibration for a serial bus
US20150100713A1 (en) Coexistence of i2c slave devices and camera control interface extension devices on a shared control data bus
JP2017505495A (ja) マルチマスターバスプロトコルのための方法および装置
JP2009535677A (ja) I2cクロックの生成方法及びシステム
JP2005128747A (ja) シリアル転送バス用の送受信マクロを有する集積回路装置
JP3838809B2 (ja) シリアルデータ転送装置
US5812878A (en) System for DMA transfer wherein controller waits before execution of next instruction until a counter counts down from a value loaded by said controller
JP3832733B2 (ja) ポーリング装置および通信装置
JPH05173958A (ja) データ転送方法
JPH05289990A (ja) データ転送方法
JPH05314067A (ja) データ転送方法
JP4201375B2 (ja) データ転送装置
US5799158A (en) adapter for transferring blocks of data having a variable size to other adapters via a main system bus
JP3887059B2 (ja) データ書き込み方法、データ読み出し方法、及びメモリ回路
JP4097377B2 (ja) マイクロコンピュータ
JP3256464B2 (ja) 非同期転送制御方式
KR19980051899A (ko) I²c 버스의 인터럽트 발생 장치
KR19980057217A (ko) 직렬 버스의 데이타 전송 방법
JPH06216911A (ja) 通信方法