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

データ転送方法

Info

Publication number
JPH05314067A
JPH05314067A JP12021892A JP12021892A JPH05314067A JP H05314067 A JPH05314067 A JP H05314067A JP 12021892 A JP12021892 A JP 12021892A JP 12021892 A JP12021892 A JP 12021892A JP H05314067 A JPH05314067 A JP H05314067A
Authority
JP
Japan
Prior art keywords
data
line
microprocessor
token
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
JP12021892A
Other languages
English (en)
Inventor
Takuya Nishimura
拓也 西村
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 JP12021892A priority Critical patent/JPH05314067A/ja
Publication of JPH05314067A publication Critical patent/JPH05314067A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【目的】 シリアルデータバスを使用して複数のデバイ
ス間でデータフレームを転送する際に、バス内にデータ
フレームの転送要求のあるデバイスがあるときにのみ、
バス使用権の調停を行うためのトークンをコントローラ
が配布することのできるデータ転送方法を提供する。 【構成】 データフレームの転送要求の発生したマイク
ロプロセッサ11は/BSYライン3がハイであるとき
にデータライン1をロウに駆動する。この状態を検出し
たコントローラ10はバス内のマイクロプロセッサの1
つにトークンを送信する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は複数のデバイス間でデー
タフレームをシリアル転送する際のデータ転送方法に関
するものである。
【0002】
【従来の技術】データ転送の手法は、パラレルデータバ
スを用いたパラレル転送と、シリアルデータバスを用い
たシリアル転送に大別される。パラレル転送は高速のデ
ータ転送に向いているが、マイクロプロセッサやIC等
のデバイスのピン数の増大につながる。オーディオビデ
オ機器や家電機器で使用される1チップのマイクロプロ
セッサは、転送速度の面からシリアル転送で十分である
ため、ピン数の削減につながるシリアル転送を用いてい
る。近年、機器の高機能化に伴い、ビデオテープレコー
ダやカメラ一体型ビデオのように、1つの機器の中に複
数のマイクロプロセッサが内蔵されるようになってい
る。これらのマイクロプロセッサは独立して動作するの
ではく、互いにシリアルデータバスを用いてデータ転送
を行いながら動作している。また、マイクロプロセッサ
だけでなく、各種ICやLSIもこのシリアルデータバ
スに接続可能である。
【0003】従来の機器内でのシリアル転送によるデー
タ転送方法としては、例えばELECTRIC COM
PONENTS AND APPLICATIONS
(エレクトリック・コンポーネンツ・アンド・アップリ
ケイションズ),VOL5 NO.4,SEPTEMB
ER.1983,214〜221ページに示されている
I2C(Inter−Integrated Circ
uit)がある。
【0004】I2Cではデータラインとクロックライン
の2本の信号線を用いて複数のマイクロプロセッサを接
続し、マルチマスタシステムを実現できる。I2Cでは
複数のマスタが同時にバスの使用を開始し、その結果、
転送が衝突する可能性がある。I2Cではたとえ衝突が
発生しても、一方の転送は正常に行えるように、自分が
出力したデータやクロックを監視している。例えば、デ
ータラインにハイを出力しているにもかかわらず、デー
タラインがロウとなっていた場合には転送を直ちに中止
しなければならない。この手法は、転送を開始するため
の手続は簡単であるが、データの転送要求が発生してか
ら実際の転送が始まるまでの時間の最大値(最大転送ま
ち時間)が規定できないという課題がある。また、衝突
検出用のハードウェアをマイクロプロセッサ内に持たな
ければならない。
【0005】この衝突を避ける方法としては、LAN
(Local Area Network)の一実現手
法であるトークン方式と呼ばれる転送方法がある(例え
ば、コンピュータデザイン,1986年1月号,40〜
41ページ)。トークン方式はトークンを受け取ったデ
バイスがバスを使用する権利を得てデータフレームの転
送を行う手法である。この方式ではトークンとデータフ
レームを識別するために、トークンと同じパターンがデ
ータフレーム中で発生しないようにする必要がある。こ
のためには、ある手順に従ってトークンとデータフレー
ム内のパターンが一致しないように変調して送出する必
要がある。また、変調しない場合にはトークンのパター
ンをデータフレーム中で禁止する必要がある。
【0006】上述したI2Cやトークン方式の課題を解
決する手法として、本出願人が先に出願した特願平3−
102444号「データ転送方法」がある。この「デー
タ転送方法」では、データラインとクロックライン以外
に、データラインを転送中のデータがトークンなのかデ
ータフレームなのかを示す制御ライン(以下、/BSY
ラインと称す)を用いている。コントローラであるマイ
クロプロセッサは、/BSYラインが高レベル(以下、
ハイと略記する)の場合にはバスに接続されているマイ
クロプロセッサに順にトークンを配布する。トークンを
受信してバスの使用権を取得しデータフレームを出力し
ようとするマイクロプロセッサは、/BSYラインを低
レベル(以下、ロウと略記する)に駆動することによっ
てマスタとなり、バスを使用することを他のマイクロプ
ロセッサに知らせる。/BSYラインがロウに変化すれ
ばコントローラはトークンの出力を停止し、データフレ
ームの転送に必要なクロックを出力する。マスタはこの
クロックにしたがってデータフレームの転送を開始す
る。マスタはデータフレームの転送が終了すると/BS
Yラインをハイに戻す。コントローラは/BSYライン
がハイに遷移したことを検出し、再びトークンの配布を
開始する。
【0007】この手法によれば、転送の衝突が発生しな
いと同時に、転送に際して変調を必要とせず、かつ、任
意のパターンのデータフレームを転送できるデータ転送
方法を提供している。
【0008】
【発明が解決しようとする課題】しかしながら特願平3
−102444号では以下の課題を有していた。
【0009】コントローラは制御ラインが高レベルであ
るときに、予め定められたルールにしたがってバス上に
つながれたデバイスにトークンを送信する。データフレ
ームの転送を行うデバイスは、自分宛のトークンを受け
とって制御ラインを低レベルに遷移させることにより、
バスの使用権を得る。
【0010】しかしながら前記手法では、バス上につな
がれた全てのデバイスに転送要求が発生していないとき
でもコントローラはトークンを送信せねばならず、コン
トローラが無駄な処理を行うという課題がある。
【0011】さらに、特願平3−102444号では、
バスにつながれたデバイスの中で、ランダムにデータフ
レームの転送要求が発生するデバイスにも一定の割合で
トークンを送信しているため、それらのデバイスに対し
て発行するトークンのうちの多くが無駄になってしまう
という課題がある。
【0012】本発明は上記従来の課題を解決するもの
で、バス上につながれたデバイスの中で1つ以上のデバ
イスにデータフレームの転送要求が発生しているときに
のみコントローラがトークンを送信するデータ転送方法
を実現することを目的としている。
【0013】また、本発明は上記従来の課題を解決する
もので、バス上につながれたデバイスを、予めどういう
タイミングでデータフレームの転送要求が発生するのか
予想可能な第1群と、ランダムにデータフレームの転送
要求が発生する第2群とに分け、コントローラは通常第
1群に属するデバイスにトークンを送信し、第2群に属
するデバイスにデータフレームの転送要求が発生したと
きのみ第2群に属するデバイスにトークンを送信するデ
ータ転送方法を実現することを目的としている。
【0014】
【課題を解決するための手段】この目的を達成するため
に本発明のデータ転送方法は、転送要求の発生したデバ
イスは制御ラインが高レベルのときにデータラインを低
レベルに駆動し、コントローラは制御線が高レベルであ
るとともにデータ線が低レベルである場合にのみトーク
ンの送信を行う。
【0015】また、この目的を達成するために本発明の
データ転送方法は、第2群に属するデバイスにデータフ
レームの転送要求が発生し、かつ、制御ラインがハイで
あるときにそのデバイスはデータラインをロウに駆動
し、コントローラは、制御ラインがハイであるとともに
データラインがロウである状態を検出すると、第2群に
属するデバイスにトークンを送信する。
【0016】
【作用】本発明は上記した方法により、バス上につなが
れたデバイスのうち1つ以上のデバイスにデータフレー
ムの転送要求が発生した場合にデータラインが低レベル
になる。コントローラは、制御ラインとデータラインの
両方が高レベルであるときにはバス上につながれたデバ
イスすべてにデータフレームの転送要求が発生していな
いとみなしてトークンの送信を行わない。
【0017】また、本発明は上記した方法により、第2
群に属するデバイスにデータフレームの転送要求が発生
するとともに制御ラインがハイであるときにはデータラ
インがロウになる。コントローラは、制御ラインがハイ
であるとともにデータラインがロウである状態を検出す
ると、第2群に属するデバイスにデータフレームの転送
要求が発生していることを認識して第2群に属するデバ
イスにトークンを送信する。
【0018】
【実施例】以下、本発明の第1の実施例について、図面
を参照しながら説明する。
【0019】図1は本発明の第1の実施例のデータ転送
方法を用いてデータ転送を行うシステムのブロック図を
示すものである。図1において、マイクロプロセッサ1
0,11,12,13は1チップのマイクロプロセッサ
であり、データライン1,クロックライン2,/BSY
ライン3の3つの信号線からなるバスを介して互いに接
続されている。データライン1はシリアルデータを転送
するための信号線で、各マイクロプロセッサのデータ入
力ポート16とデータ出力ポート17に共通に接続され
ている。データ出力ポート17は複数のマイクロプロセ
ッサが同時に信号線を駆動しても良いように、オープン
ドレイン形式の出力ポートである。マイクロプロセッサ
10はクロックライン2にシリアルデータの入出力用の
クロックをクロック出力ポート18から出力し、他のマ
イクロプロセッサはクロック入力ポート15でこの信号
を受け取る。/BSYライン3は/BSY信号用の信号
線である。この信号は負論理の信号でデータフレームの
転送を開始するマイクロプロセッサによってロウに保た
れる。/BSY信号がハイの場合には何れのマイクロプ
ロセッサもデータフレームの出力を行っていない。
【0020】以上のように構成されたシステムで、本発
明のデータ転送方法を実施する場合の動作例について、
以下説明する。
【0021】まず、図2を用いてシリアルデータとクロ
ックのタイミングに関して説明する。図2はデータライ
ン1とクロックライン2のタイミング図である。図2
(a)に示すように、データライン1上を転送されるシ
リアルデータはクロックの立ち下がりで出力される。シ
リアルデータを取り込む場合はクロックの立ち上がりで
取り込む。クロックの周期はTaである。転送は8ビッ
ト単位で間欠的に行う。8ビットデータの転送に必要な
8個のクロックをバイトクロックと定義する。データフ
レームの転送中においては、図2(b)に示すように、
バイトクロックはTbの周期で間欠的に出力される。
【0022】多くの1チップのマイクロプロセッサは8
ビット単位でデータをシリアル転送する機能をハードウ
ェアで実現している。ここでは、このハードウェアをシ
フトバッファと呼ぶことにする。シフトバッファはシフ
トレジスタ及び周辺回路からなり、マイクロプロセッサ
の外部から供給されたクロック(以降、外部クロックと
称す)もしくはマイクロプロセッサの内部で発生したク
ロック(以降、内部クロックと称す)でデータの入力や
出力を行う。シリアルデータを出力する場合にはクロッ
クの立ち下がりでMSBから順に出力し、シリアルデー
タを入力する場合にはクロックの立ち上がりでMSBか
ら順に取り込む。
【0023】シフトバッファから出力されるシリアルデ
ータの出力ポートがデータ出力ポート17であり、シフ
トバッファへ入力されるシリアルデータの入力ポートが
データ入力ポート16である。シフトバッファのクロッ
ク用のポートは入力と出力が独立していなくて、クロッ
ク入出力ポートがあるのみである。このポートは、シフ
トバッファが内部クロックでデータの転送を行う場合に
は出力ポートとして機能し、外部クロックでデータの転
送を行う場合には入力ポートとして機能する。クロック
の出力はマイクロプロセッサ10が行い、他のマイクロ
プロセッサはクロックの出力を行わない。すなわち、マ
イクロプロセッサ10は内部クロックで動作し、他のマ
イクロプロセッサは外部クロックで動作する。従って、
クロック入出力ポートは、マイクロプロセッサ10では
クロック出力ポート18として機能し、他のマイクロプ
ロセッサではクロック入力ポート15として機能する。
【0024】次に、本実施例で使用する用語について説
明する。 「マスタ」:バスの使用権を取得し、データフレームの
転送を開始するマイクロプロセッサをマスタと呼ぶ。マ
イクロプロセッサ10,11,12,13は何れもマス
タになることができるが、複数のマイクロプロセッサが
同時にマスタになることはない。マスタはデータフレー
ムの転送を開始する前に/BSY信号をアサートする
(ロウにする)。また、データフレームの最終バイトで
ある受信応答データを受信した後/BSY信号をネゲー
トする(ハイにする)。
【0025】「スレーブ」:マスタから指定されたマイ
クロプロセッサをスレーブという。データフレームの転
送はマスタからスレーブに対して行われる。マスタが複
数のマイクロプロセッサにデータフレームを転送する場
合(同報通信)には、複数のスレーブが存在する。/B
SY信号がハイの場合にはシステム内にマスタ、スレー
ブ共に存在しない。
【0026】「コントローラ」:バスに接続されたマイ
クロプロセッサの内、後述するトークンの出力を行うマ
イクロプロセッサをコントローラと呼ぶ。コントローラ
はシステム内で1つだけ存在する。図1のシステムでは
マイクロプロセッサ10がコントローラである。また、
後述するデータフレームの転送およびトークンの出力に
必要なクロックはコントローラが出力する。
【0027】「ターゲット」:バスに接続されたマイク
ロプロセッサで、コントローラ以外のマイクロプロセッ
サをターゲットと呼ぶ。
【0028】「トークン」:バスの使用権を調停するた
めにコントローラが出力する1バイトのデータである。
トークンを受け取ったマイクロプロセッサはバスを使用
してデータフレームを出力する権利、すなわち、マスタ
になる権利を有する。
【0029】「データフレーム」:データ転送の最小単
位をデータフレームという。データフレームはヘッダ、
ユーザーデータ、チェックバイト、受信応答データから
なる。
【0030】次に、データフレームの転送に先立って行
われるトークンを用いたバスの調停に関して図3,図4
を用いて説明する。
【0031】図3はトークンのフォーマット図である。
トークンは1バイトで構成され、MSBはこのバイトが
トークンであることを示すために1である。bit6からbi
t4のADRはトークンの行き先アドレスであり、トーク
ンの行き先のマイクロプロセッサのアドレスを記述す
る。バスに接続された各マイクロプロセッサにはそれぞ
れ固有のアドレス(0〜7)が割り当てられている。こ
のアドレスの割り当てを(表1)に示す。
【0032】
【表1】
【0033】(表1)に示したように、0〜7のアドレ
スの内で実際に使用しているのは0〜3の4種類である
が、このバスには最大で8個のマイクロプロセッサを接
続することが可能である。bit3,2,1,0はフォーマットナ
ンバー(FMT)を記録する。フォーマットナンバーに
よって後述するデータフレームのフォーマットが異な
る。ここでは、フォーマットナンバーは「0000(2
進表示)」とする。
【0034】図4はマイクロプロセッサ10が行うトー
クンの配布の様子を示したタイミング図である。コント
ローラであるマイクロプロセッサ10は、一定間隔Tb
で/BSYライン3を検査しており、その検出タイミン
グにおいて/BSYライン3がハイであればデータライ
ン1を検査し、データライン1がロウであればバス上に
つながれたデバイスの1つにトークンを送信する。T1
1,T12はそれぞれマイクロプロセッサ11,12に
対するトークンである。いま、バス上につながれたデバ
イスの1つにデータフレームの転送要求が発生し、その
デバイスは時刻t1においてデータライン1をロウに駆動
する。一定間隔Tbで/BSYライン3を検査していた
マイクロプロセッサ10は時刻t2において、/BSYラ
イン3がハイであるとともにデータライン1がロウであ
る状態を検出し、マイクロプロセッサ11に対してT1
1を送信する(時刻t3)。データフレームの転送要求の
発生したデバイスはT11を受信し、T11が自分への
トークンではないことを認識すると時刻t4において再び
データライン1をロウに駆動する。マイクロプロセッサ
10は次の検出タイミングt5において再び/BSYライ
ン3がハイであるとともにデータライン1がロウである
状態を検出し、マイクロプロセッサ12に対してT12
を送信する。
【0035】次に、図5を用いてデータフレームのフォ
ーマットを説明する。図5はデータフレームのフォーマ
ット図である。データフレームはアドレスデータ60,
コントロールデータ61,ユーザーデータ62,チェッ
クバイト63,受信応答データ64からなる。マスタが
アドレスデータ60,コントロールデータ61,ユーザ
ーデータ62,誤り検出コード63の出力を完了する
と、次のバイトクロックでスレーブが1バイトの受信応
答データ64を出力する。
【0036】アドレスデータ60はスレーブを指定する
ためのデータである。アドレスデータ60はビットアサ
インされており、各ビットが1つのマイクロプロセッサ
に対応している。アドレスデータ60のビットパターン
とスレーブとなるマイクロプロセッサの対応を(表2)
に示す。
【0037】
【表2】
【0038】(表2)において、×は「1」でも「0」
でもかまわない。アドレスがN(N=0〜7)のマイク
ロプロセッサのアドレスビットはアドレスデータ60の
bitNとなっている。従って、マスタとなったマイクロ
プロセッサはスレーブとなるデバイスを選択的に指定す
ることができる。すなわち、マスタとなったマイクロプ
ロセッサは、スレーブとして指定するマイクロプロセッ
サのアドレスビットを真(1)とし、スレーブとして指
定しないマイクロプロセッサのアドレスビットを偽
(0)としたアドレスデータ60を出力すれば良い。例
えば、マイクロプロセッサ11がマイクロプロセッサ1
2とマイクロプロセッサ13にデータフレームを送る場
合にはアドレスデータ60を「00001100(2進
表示)」とすればよい。この際に、マスタ自身のアドレ
スを示すビットは「0」に設定する。マスタ以外のマイ
クロプロセッサは/BSY信号がアサートされた後で最
初に受信した8ビットデータをアドレスデータとして検
出し、自分自身のアドレスビットが真(1)の場合には
スレーブとして指定されたことを認識し、データフレー
ムの受信を行う。
【0039】コントロールデータ61のMSB,bit6,bit5,
bit4の4ビットはユーザーデータ62のバイト数−1を
示す。「0000〜1111(2進表示)」のパターン
が可能であるため、ユーザーデータ62のバイト数は1
〜16の任意の値をとることができる。スレーブとなっ
たマイクロプロセッサはこの値を用いてデータフレーム
全体のバイト数を得、データフレームを受信した後に後
述する受信応答データ64を出力する。コントロールデ
ータ61のbit3でユーザーデータ62の内容がコマンド
かデータかを示す。このビットが「0」の場合には、ユ
ーザーデータ62はデータであり、「1」の場合には、
ユーザーデータ62はコマンドである。コントロールデ
ータ61のbit2,bit1,LSBはマスタアドレスであり、マ
スタになったマイクロプロセッサのアドレスが(表1)
と同様のルールで記載される。
【0040】ユーザーデータ62は、実際にマスタから
スレーブに送られるデータやコマンドである。
【0041】1バイトの誤り検出コード63はエラーチ
ェック用のバイトで、データフレームの先頭バイト(ア
ドレスデータ60)からユーザーデータの最終バイトま
での各ビット毎の奇数パリティが記録される。マスタは
データフレームの先頭からバイト単位で排他的論理和演
算を行い、結果を反転して誤り検出コード63を作成す
る。一方、データフレームを受信したマイクロプロセッ
サは、データフレームの先頭からCHKバイトまでをバ
イト単位で排他的論理和演算を行い、結果がFFh(1
6進表示)となればエラー無しで受信できたことが確認
できる。
【0042】アドレスデータ60,コントロールデータ
61,ユーザーデータ62,誤り検出コード63はマス
タが出力するが、受信応答データ64はスレーブが出力
する。受信応答データ64は1バイトからなる。受信応
答データ64を構成するビットは、各々が1つのマイク
ロプロセッサの受信応答ビットに割り当てられている。
アドレスがN(N=0〜7)のマイクロプロセッサの受
信応答ビットは受信応答データ64のbitNとなってい
る。データフレームを受信したスレーブは誤り検出コー
ド63を用いてデータエラーの有無を検出し、エラーが
無い場合には自分の受信応答ビットのみをロウとした受
信応答データ64をデータライン1に出力する。
【0043】各マイクロプロセッサの受信応答データ6
4を(表3)に示す。
【0044】
【表3】
【0045】(表3)では「0」がデータライン上での
ハイを示し、「1」がロウを示している。データライン
1はワイヤードオア接続されているため、複数のスレー
ブが受信応答データを出力する場合には、論理和演算さ
れた結果がマスタへ送られる。
【0046】次に、コントローラがトークンを配布し、
トークンを受信したマイクロプロセッサがデータフレー
ムの転送を行う場合の動作について、図6を用いて説明
する。
【0047】図6はマイクロプロセッサ12がマスタと
なって、スレーブであるマイクロプロセッサ11との間
でデータフレームの転送を行う際のタイミング図であ
る。図6において、100は/BSYライン3の信号レ
ベルを示している。101はマイクロプロセッサ10が
出力するバイトクロックを示している。102,10
3,104,105はそれぞれマイクロプロセッサ1
0,マイクロプロセッサ11,マイクロプロセッサ1
2,マイクロプロセッサ13がデータライン上に出力す
る信号を示している。各マイクロプロセッサのデータ出
力はデータライン1に接続されているため、データライ
ン1上でワイヤードアンドされ、結果として106に示
す信号がデータライン1上を流れる。T11,T12,
T13はマイクロプロセッサ10が出力するトークンで
あり、それぞれマイクロプロセッサ11,マイクロプロ
セッサ12,マイクロプロセッサ13にデータフレーム
の転送許可を与えるために使用される。また、マイクロ
プロセッサ10は一定周期Tbで/BSYライン3の検
査を行っており、その検出タイミングがpi(i=1 to 8)で
ある。また、マイクロプロセッサ11,12,13は、
それぞれ/BSYライン3を外部割込みの入力端子に接
続して/BSYライン3をモニタしており、/BSYラ
イン3がハイからロウ、または、ロウからハイに遷移す
るのを検出できるようにしてある。
【0048】まず、時刻t1まではデータフレームの転送
は行われておらず、かつ、マイクロプロセッサ10,1
1,12,13のいずれにもデータフレームの転送要求
は発生していない。時刻t1において、マイクロプロセッ
サ12にデータフレームの転送要求が生じ、マイクロプ
ロセッサ12は/BSYラインがハイであることを確認
した後データライン1に低レベルを出力する。同様に、
時刻t2においてマイクロプロセッサ13にもデータフレ
ームの転送要求が生じ、マイクロプロセッサ13は/B
SYライン3がハイであることを確認した後データライ
ン1に低レベルを出力する。時刻p1に、/BSYライン
3がハイであるとともにデータライン1がロウである状
態を検出したマイクロプロセッサ10は、時刻t3におい
てトークンT11を出力する。このトークンT11はマ
イクロプロセッサ11に対するトークンであるが、マイ
クロプロセッサ11にはデータフレームの転送要求が生
じていないため/BSYライン3はアサートされない。
マイクロプロセッサ12,13は、それぞれトークンT
11を受信し、トークンT11が自分に対するトークン
でないことを認識した後に再び/BSYライン3を調
べ、/BSYライン3がハイであることを確認した後に
データライン1に低レベルを出力する(時刻t5およびt
4)。時刻p2に、/BSYライン3がハイであるととも
にデータライン1がロウである状態を検出したマイクロ
プロセッサ10は、時刻t6においてトークンT12を出
力する。このトークンT12はマイクロプロセッサ12
に対するトークンである。トークンT12を受信したマ
イクロプロセッサ13は、トークンT12が自分に対す
るトークンではないことを認識した後に/BSYライン
3を調べ、/BSYライン3がハイであることを確認し
た後に再びデータライン1に低レベルを出力する(時刻
t7)。トークンT12を受信したマイクロプロセッサ1
2は、トークンT12が自分に対するトークンであるこ
とを認識した後、データフレームの転送を開始するため
に/BSYライン3をロウに駆動する(時刻t8)。時刻
t8において、/BSYライン3がロウに遷移したことを
外部割込みによって検出したマイクロプロセッサ11,
マイクロプロセッサ13は、時刻t8以降はデータフレー
ムの転送が行われるということを認識する。時刻p3に/
BSYライン3がロウであることを検出したマイクロプ
ロセッサ10は、ターゲット(この場合はマイクロプロ
セッサ12)がバスを使用してデータフレームの転送を
開始しようとしていることを知り、時刻t9から/BSY
ライン3がハイであることを検出するまでの期間、一定
間隔Tbでバイトクロックを出力する。この最初のバイ
トクロックでマイクロプロセッサ12はアドレスデータ
60の送信を行い、マイクロプロセッサ10,マイクロ
プロセッサ11,マイクロプロセッサ13はアドレスデ
ータ60の受信を行う。マイクロプロセッサ10,マイ
クロプロセッサ13は受信したアドレスデータ60の内
容をチェックして、自分自身がスレーブに指定されなか
ったことを検出すると、それ以降のデータフレームの各
バイトの受信動作を中止する。この際、マイクロプロセ
ッサ12にはデータフレームの転送要求があるので、マ
イクロプロセッサ12は/BSYライン3の立ち上がり
割込みを許可して、データフレームの転送が終了したこ
とを検出できるようにしておく。一方、マイクロプロセ
ッサ11はアドレスデータ60の内容をチェックして、
自分自身がスレーブとして指定されたことを知る。従っ
て、コントロールデータ61以降のデータの受信も行
う。
【0049】以降、マイクロプロセッサ10の出力する
バイトクロックを用いて誤り検出コード63の転送まで
終了すると、時刻t12で受信応答データ64の転送が行
われる。受信応答データ64はデータフレームを構成す
る他のバイトと異なり、スレーブからマスタに送られる
データである。
【0050】このように、トークンを受信したマイクロ
プロセッサがデータフレームの転送を行う場合には、デ
ータフレームの転送を開始する前に/BSY信号をアサ
ートする。この/BSY信号のアサートはコントローラ
が次に/BSYライン3を検査するまでに行う必要があ
る。トークンの出力を行うマイクロプロセッサ10は/
BSY信号がアサートされたのを検出すると、バイトク
ロックのみを出力する。また、マスタとなったマイクロ
プロセッサはデータフレームの出力を終了し、受信応答
データを入力した後/BSY信号をネゲートする。時刻
t13において、/BSYライン3がハイに遷移するのを
外部割込みによって検出したマイクロプロセッサ13
は、データフレームの転送要求があるので再びデータラ
イン1にロウを出力する(時刻t14)。時刻p7に、/B
SYライン3がハイであるとともにデータライン1がロ
ウである状態を検出したマイクロプロセッサ10は、時
刻t15においてトークンT13を出力する。このトーク
ンはマイクロプロセッサ13に対するトークンであるの
で、マイクロプロセッサ13はトークンT13を受信し
た後、/BSYライン3をアサートしてデータフレーム
の転送を開始する。
【0051】このように、コントローラであるマイクロ
プロセッサ10は、/BSYライン3がハイであるとと
もにデータライン1がロウであるとき、すなわち、バス
につながれたマイクロプロセッサのうち、少なくとも一
つのマイクロプロセッサにデータフレームの転送要求が
あるときにのみトークンを送信する。
【0052】次に、スタートコンディション付きのデー
タ転送が可能な1チップマイクロプロセッサを用いて、
本発明のデータ転送方法を実現するハードウェアについ
て図7,図8を用いて具体的に説明する。
【0053】図7は1チップマイクロプロセッサ(例え
ば、MN18888:松下電子工業株式会社製)のスタ
ートコンディション付きシリアル転送のタイミング図で
あり、外部クロック、かつ、スタートコンディション有
りの条件で転送を行う場合のタイミングを示している。
シリアルデータの出力準備ができた段階(時刻t1)、
すなわち、内部のシフトレジスタに送信するデータが書
き込まれた段階でデータ出力ポートはハイインピーダン
ス状態からロウに移行する。この状態で外部からのクロ
ック入力が開始されると(時刻t2)、1バイトのデー
タがMSBから順にデータ出力ポートより出力される。
LSBの出力終了後(時刻t3)データ出力ポートはハ
イに移行する。さらに、所定期間経過すると再びデータ
出力ポートはハイインピーダンス状態に移行する(時刻
t4)。スタートコンディションは転送側と受信側でバ
イト単位の同期を取ることが本来の使用目的である。す
なわち、データの転送に先だって、クロックラインがハ
イの時にデータラインをロウに移行させることによって
受信側はクロックのカウンタをリセットし、結果として
送信側と受信側のバイト単位の同期を取ることが可能で
ある。このようにスタートコンディションは、ノイズに
よる転送のビットずれを防ぐことを目的としている。こ
のスタートコンディションの機能を応用して本発明のデ
ータ転送方法を実現する手法に関して以下に述べる。
【0054】図8は本発明のデータ転送方法におけるタ
ーゲットを、スタートコンディション付きのデータ転送
が可能なマイクロプロセッサで実現した場合の回路図で
ある。マイクロプロセッサ88は上述したスタートコン
ディションを用いてのデータ転送が可能な1チップマイ
クロプロセッサである。データライン1はデータ入力ポ
ート83に接続される。データ出力ポート82は抵抗で
プルアップされるとともに、オープンコレクタ出力のバ
ッファ86に入力される。このプルアップ抵抗はデータ
出力ポート82がハイインピーダンス状態になったとき
にバッファ86の入力をハイに保つために必要である。
また、バッファ86の出力はデータライン1に接続され
る。クロックライン2はクロック入力ポート84に接続
される。また、/BSYライン3は出力ポート80と外
部割り込み入力ポート81へ接続されている。これらの
回路でターゲット89の機能を実現している。
【0055】次に、マイクロプロセッサ88がコントロ
ーラに対してトークンを要求する際の方法について説明
する。
【0056】データフレームの転送要求があるとともに
/BSYライン3がハイであるときマイクロプロセッサ
88は、シフトバッファに「00(16進表示)」を書
き込む。このことにより、前述のスタートコンディショ
ン機能が作動してデータライン1はロウに駆動される。
/BSYライン3がハイであるとともにデータライン1
がロウである状態を検出したコントローラはバイトクロ
ックと共にトークンを送出する。コントローラの出力し
たバイトクロックに同期して、マイクロプロセッサ88
がシフトバッファに書き込んだ「00(16進表示)」
がデータ出力ポート82に出力されるが、このデータは
ワイヤードアンド接続されたデータライン1に出力され
るのでトークンを破壊することはない。マイクロプロセ
ッサ88はトークンを受信したシリアル転送割り込み処
理の中で、受信したトークンが自分宛のトークンかどう
かを識別する。
【0057】次に、マイクロプロセッサ88が行うデー
タ転送に関するソフトウェアに関して説明する。
【0058】上述したように、/BSYライン3を用い
てデータフレームの転送が行われているかトークンが転
送されているかを識別することができる。従って、バス
に接続されたターゲットはシリアル転送の割り込み処理
ルーチンで/BSYライン3をモニタすればよい。とこ
ろがデータフレームの転送要求が発生していないマイク
ロプロセッサは、受信動作のみを行えばよいので、/B
SYライン3がハイの場合はバスをモニタする必要はな
い。また、/BSYライン3がロウに遷移した場合で
も、自分自身がスレーブとして指定されなければ、次に
/BSYライン3がハイからロウに遷移するまでバスを
無視してよい。
【0059】これを実現するために、図8のターゲット
ではマイクロプロセッサ88が外部割り込み入力ポート
81で/BSYライン3の状態をモニタしている。この
ようにすれば、マイクロプロセッサ88にデータフレー
ムの転送要求が発生していない場合、/BSYライン3
の立ち下がりエッジで割込みがかかるように設定してお
き、外部割り込みがかかるまではシリアル転送割り込み
を禁止しておけばよい。このようにすることによって、
無駄なシリアル転送割り込みを禁止することができる。
【0060】シリアル転送割り込みを禁止した状態で、
/BSYライン3の立ち下がり割込みが発生するとマイ
クロプロセッサ88はシリアル割込みを許可し、次のバ
イトクロックでアドレスデータを受信する。この際のシ
リアル転送割り込み処理で、これから転送されようとし
ているデータフレームが自分自身への転送でないと判断
した場合、再びシリアル受信割込みを禁止すれば、さら
に無駄なシリアル転送割込みを禁止することができる。
【0061】シリアル転送割込みを禁止している状態
で、データフレームの転送要求が発生した場合について
説明する。このとき/BSYライン3がハイであればシ
リアル転送割込みを許可し、前述のようにシフトバッフ
ァに「00(16進表示)」を書き込めばよい。
【0062】また、/BSYライン3がロウであれば、
シリアル転送割り込みは禁止したままで/BSYライン
3の立ち上がり割り込みを許可する。/BSYライン3
の立ち上がり割り込み処理でシリアル転送割り込みを許
可すれば無駄なシリアル割り込み処理を減らすことがで
きる。具体的には他のマイクロプロセッサ間で行われて
いるデータフレーム転送が終了するまでシリアル転送割
り込みを禁止できる。
【0063】このように/BSYライン3のモニタに外
部割り込みを使用する場合には、種々の手法によってシ
リアル転送割り込みの回数を最小限に抑えることができ
る。
【0064】現状のマイクロプロセッサは外部割り込み
入力端子に出力ポートとしての機能は備わっていないの
で、マスタとなり得るマイクロプロセッサは汎用の出力
ポートを/BSY信号の出力用に確保する必要がある。
もちろん、外部割り込みを使用せず汎用の入出力ポート
を用いて/BSY信号を入出力するマイクロプロセッサ
は、シリアル受信割り込みを常にイネーブルにして、シ
リアル転送割り込み処理ルーチンの中で/BSYライン
3をモニタするか、タイマー割り込みを用いて一定時間
毎に/BSYライン3をモニタする必要がある。
【0065】以上のように本実施例によれば、データフ
レームの転送を行うマイクロプロセッサは、制御ライン
がハイのときにデータラインをロウに駆動し、トークン
の配布を行うコントローラは制御ラインがハイであると
ともにデータラインがロウであることを検出したときに
のみトークンを配布することにより、バス上の全てのマ
イクロプロセッサにデータフレームの転送要求が発生し
ていないときにはトークンの配布が行われなくなり、し
たがってコントローラの負担が小さなデータ転送方法を
実現できる。
【0066】以下、本発明の第2の実施例について、図
面を参照しながら説明する。本発明の第2の実施例にお
いて、データ転送を行うシステムの構成,ターゲットで
あるマイクロプロセッサのハードウェア,トークンのフ
ォーマット,アドレスデータのフォーマット,受信応答
データのフォーマットは本発明の第1の実施例と同じで
あるので省略する。
【0067】図9は本発明のデータ転送方法におけるコ
ントローラを、マイクロプロセッサで実現した場合のブ
ロック図である。データライン1はデータ入力ポート9
3に接続される。96はオープンコレクタ出力のバッフ
ァである。データ出力ポート92は抵抗でプルアップさ
れるとともにバッファ96に入力される。このプルアッ
プ抵抗はデータ出力ポート92がハイインピーダンス状
態になったときにバッファ96の入力をハイに保つため
に必要である。バッファ96の出力はデータライン1に
接続される。クロックライン2はクロック出力ポート9
4に接続される。また、/BSYライン3は出力ポート
90に接続されている。クロック検出回路95はクロッ
クライン2をモニタしており、クロックが出力されてい
る間はハイを出力し、クロックが出力されていない間は
ロウを出力する。すなわち、クロック検出回路95は、
クロックライン2の立ち下がりエッジの数をカウントア
ップしており、カウンタの値が0の間はロウを出力し、
0以外のときはハイを出力し、カウンタの値が8である
ときに立ち上がりエッジを検出するとカウンタの値をク
リアする。アンドゲート200は/BSYライン3と、
データライン1をインバートした結果と、クロック検出
回路95の出力をインバートした結果とを入力し、これ
ら3つのアンドをとった結果を外部割り込み入力ポート
91に出力する。また、アンドゲート200とクロック
検出回路95は割り込み発生手段97を構成している。
これらの構成でコントローラ99の機能を実現してい
る。
【0068】図10はマイクロプロセッサ98およびそ
の周辺回路の信号のタイミング図であり、/BSYライ
ン3,クロックライン2,データライン1,クロック検
出回路95の出力線,アンドゲート200の出力線上を
流れる信号のタイミングを示している。
【0069】アンドゲート200の出力は、クロックラ
イン2にクロックが出力されていないとともに/BSY
ライン3がハイであり、かつデータライン1がロウであ
るときにのみハイとなる。
【0070】次に、マイクロプロセッサ98が行うトー
クンの出力に関するソフトウェアに関して説明する。
【0071】前述のようにコントローラは、クロックラ
イン2にクロックが出力されていないとともに/BSY
ライン3がハイであり、かつ、データライン1がロウで
あることを検出するとトークンを出力する。
【0072】これを実現するために図9のコントローラ
99では、マイクロプロセッサ98が外部割込み入力ポ
ート91でアンドゲート200の出力をモニタしてい
る。マイクロプロセッサ98はアンドゲート200の出
力の立ち上がりエッジで割込みがかかるように設定して
おき、割り込み処理の中でトークンを出力する。
【0073】図11はマイクロプロセッサ12がマスタ
となって、スレーブであるマイクロプロセッサ11との
間でデータフレームの転送を行う際のタイミング図であ
る。図11において、100は/BSYライン3の信号
レベルを示している。101はマイクロプロセッサ10
が出力するバイトクロックを示している。102,10
3,104,105はそれぞれマイクロプロセッサ1
0,マイクロプロセッサ11,マイクロプロセッサ1
2,マイクロプロセッサ13がデータライン上に出力す
る信号を示している。各マイクロプロセッサのデータ出
力はデータライン1に接続されているため、データライ
ン1上でワイヤードアンドされ、結果として106に示
す信号がデータライン1上を流れる。T11,T12は
マイクロプロセッサ10が出力するトークンであり、そ
れぞれマイクロプロセッサ11,マイクロプロセッサ1
2にデータフレームの転送許可を与えるために使用され
る。また、マイクロプロセッサ10は、前述の割り込み
発生手段97の出力を外部割り込み入力端子でモニタし
ており、その割り込み処理の中でトークンを出力する。
また、いったん割込みがかかると、それ以降/BSYラ
イン3がアサートされるまでの間は外部割込みを禁止し
て一定間隔Tbでトークンの配布を行う。また、いった
ん/BSYライン3がアサートされたあとで/BSYラ
イン3がネゲートされたことを認識すると、再び外部割
込みを許可する。
【0074】まず、時刻t1まではデータフレームの転送
は行われておらず、かつ、マイクロプロセッサ10,1
1,12,13のいずれにもデータフレームの転送要求
は発生していない。データフレームの転送要求の発生し
たマイクロプロセッサ12は/BSYラインがハイであ
ることを確認した後、時刻t1にデータライン1に低レベ
ルにを出力する。時刻t1において、割り込み発生手段9
7の発生する割込み信号によりデータラインがロウに遷
移したことを検出したマイクロプロセッサ10は、バス
上のいずれかのデバイスにデータフレームの転送要求が
発生したことを認識し、マイクロプロセッサ11に対し
てトークンT11を送信する。このときマイクロプロセ
ッサ10は、外部割込みを禁止しておく。T11を受信
したマイクロプロセッサ12は、T11が自分に対する
トークンではないことを認識した後、再び/BSYライ
ン3を検査し、ハイであることを確認した後データライ
ン1をロウに駆動する(時刻t3)。マイクロプロセッサ
10は、T11を送信してからTb経過した時刻t4に、
制御ラインがハイであるとともにデータラインがロウで
あることを検出してマイクロプロセッサ12に対するト
ークンT12を送信する。T12を受信したマイクロプ
ロセッサ12はT12が自分自身に対するトークンであ
ることを認識して/BSYライン3をアサートする(時
刻t5)。マイクロプロセッサ10は、T12を送信して
からTb経過した時刻t6に、/BSYライン3がロウで
あることを検出して、バイトクロックのみを出力する。
以降、/BSYライン3がハイであることを検出するま
での間、マイクロプロセッサ10は一定間隔Tbでクロ
ックのみを出力する。マイクロプロセッサ10は、/B
SYライン3がハイであることを検出すると外部割込み
を許可し、外部割込みが発生すると割り込み処理の中で
トークンを出力する。
【0075】このように、コントローラであるマイクロ
プロセッサ10は、/BSYライン3がハイであるとと
もにデータライン1がロウであるとき、すなわち、バス
につながれたマイクロプロセッサのうち、少なくとも1
つのマイクロプロセッサにデータフレームの転送要求が
あるときにのみトークンを送信する。
【0076】以上のように本実施例によれば、クロック
ラインにクロックが出力されていないとともに制御ライ
ンがハイである状態のときにデータラインがハイからロ
ウに遷移することを検出して割込みを発生させる割り込
み発生手段97を設けることにより、ターゲットにデー
タフレームの転送要求が発生していないときには、コン
トローラはタイマ割込み処理の中で制御ライン,データ
ライン,クロックラインの状態を検査する必要がなくな
り、したがってコントローラの負担の小さなデータ転送
方法を実現できる。
【0077】以下、本発明の第3の実施例について、図
面を参照しながら説明する。本発明の第3の実施例にお
いて、データ転送を行うシステムの構成,マイクロプロ
セッサのハードウェア,トークンのフォーマット,アド
レスデータのフォーマット,受信応答データのフォーマ
ットは本発明の第1の実施例と同じであるので省略す
る。
【0078】バス上につながれたマイクロプロセッサの
群分けを(表4)に示す。
【0079】
【表4】
【0080】(表4)において、第1群に属するマイク
ロプロセッサは予めどういうタイミングでデータフレー
ムの転送要求が発生するかがわかっているマイクロプロ
セッサであり、第2群に属するマイクロプロセッサはデ
ータフレームの転送要求がランダムに発生するマイクロ
プロセッサである。
【0081】図12はマイクロプロセッサ13がマスタ
となって、スレーブであるマイクロプロセッサ11との
間でデータフレームの転送を行う際のタイミング図であ
る。図12において、100は/BSYライン3の信号
レベルを示している。101はマイクロプロセッサ10
が出力するバイトクロックを示している。102,10
3,104,105はそれぞれマイクロプロセッサ1
0,マイクロプロセッサ11,マイクロプロセッサ1
2,マイクロプロセッサ13がデータライン1上に出力
する信号を示している。各マイクロプロセッサのデータ
出力はデータライン1に接続されているため、データラ
イン1上でワイヤードアンドされ、結果として106に
示す信号がデータライン1上を流れる。T10はマイク
ロプロセッサ10へのトークンであり、T11はマイク
ロプロセッサ11へのトークンであり、T12はマイク
ロプロセッサ12へのトークンであり、T13はマイク
ロプロセッサ13へのトークンであり、これらのトーク
ンの送信はマイクロプロセッサ10が行う。
【0082】次に、コントローラがトークンを配布し、
トークンを受信したマイクロプロセッサがデータフレー
ムの転送を行う場合の動作について、図12を用いて説
明する。
【0083】コントローラであるマイクロプロセッサ1
0は、一定時間Tb毎に制御ライン3を調べ、制御ライ
ン3がハイであればトークンを出力し、ロウであればク
ロックを出力する。また、トークンを出力する際にデー
タライン1を調べ、データライン1がハイであれば第1
群に属するマイクロプロセッサに順番にトークンを送信
し、ロウであれば第2群に属するマイクロプロセッサに
順番にトークンを送信する。時刻t1から時刻t2までの間
は、クロックが出力されている間を除いてデータライン
1はハイであるので、マイクロプロセッサ10は第1群
に属するマイクロプロセッサに順番にトークンを配る。
このとき、マイクロプロセッサ10,11にはデータフ
レームの転送要求が発生していないので、/BSYライ
ン3はアサートされない。時刻t2以降にマイクロプロセ
ッサ13にデータフレームの転送要求が発生し、時刻t3
においてマイクロプロセッサ13はシフトバッファに
「00(16進表示)」を書き込む。これにより、マイ
クロプロセッサ13のスタートコンディション機能が動
作してデータライン1はハイからロウに遷移する。マイ
クロプロセッサ10は次の検出タイミングにおいて/B
SYライン3がハイであるとともにデータライン1がロ
ウであることを検出し、第2群に属するマイクロプロセ
ッサ12にトークンT12を送出する(時刻t4)。トー
クンT12を受信したマイクロプロセッサ13は、トー
クンT12が自分に対するトークンでないことを認識
し、再度シフトバッファに「00(16進表示)」を書
き込む(時刻t5)。マイクロプロセッサ10は次の検出
タイミングにおいて/BSYライン3がハイであるとと
もにデータライン1がロウであることを検出し、第2群
に属するマイクロプロセッサ13にトークンT13を送
出する(時刻t6)。トークンT13を受信したマイクロ
プロセッサ13は、トークンT13が自分に対するトー
クンであることを認識し、/BSYライン3をアサート
する(時刻t7)。これによってマイクロプロセッサ13
にバスの使用権が与えられ、マイクロプロセッサ13は
データフレームの転送を行う。データフレームの転送を
終えたマイクロプロセッサ13は時刻t10において/B
SYライン3をネゲートし、データフレームの転送が終
了したことを他のマイクロプロセッサに伝える。次の検
出タイミングにおいてマイクロプロセッサ10は、/B
SYライン3がハイであるとともにデータライン1もハ
イであることを検出して、第1群に属するマイクロプロ
セッサ11にトークンT11を送信する。
【0084】以上のように本実施例によれば、コントロ
ーラは、制御ラインとデータラインの両方がハイである
ときには第1群に属するマイクロプロセッサにトークン
を送信し、また、制御ラインがハイであるとともにデー
タラインがロウであるときには第2群に属するマイクロ
プロセッサにトークンを送信することにより、トークン
送信の優先制御を行うことが可能になる。すなわち、第
2群に属するデバイスは制御ラインがハイであるときに
データラインをロウに駆動することにより、第1群に属
するデバイスよりも優先してトークンを受け取ることが
可能になり、柔軟なデータ転送方法を実現することが可
能となる。また、データフレームの転送要求が希にしか
発生しないデバイスには常時トークンを配布する必要が
なくなり、コントローラの負担の少ないデータ転送方法
を実現できる。
【0085】なお、上記第1,第2,第3の実施例にお
いてはデバイスとして汎用のマイクロプロセッサを用い
ていたが、バスに接続されるデバイスはマイクロプロセ
ッサに限定されない。例えば、DSP等のLSIを接続
することも可能である。
【0086】また、上記第1,第2,第3の実施例では
データフレームをマスタが送信してスレーブが受信して
いたが、マスタがスレーブにデータフレームを出力する
ように指示を行い、スレーブがデータフレームの出力を
行っても良い。この場合には、トークンのフォーマット
ナンバーを変えてデータフレームのフォーマットを変更
すれば良い。
【0087】また、上記第1,第2,第3の実施例では
バスに接続された全てのマイクロプロセッサがトークン
を受信していたが、スレーブ専用のマイクロプロセッサ
やLSIがバスに接続されていれば、これらのデバイス
にトークンを送る必要はない。
【0088】また、上記第1,第2,第3の実施例では
スタートコンディションの機能を応用して、若干の外付
け回路を付加し、現状のマイクロプロセッサで本発明の
データ転送方法を実現する手法に関しても説明したが、
これらの回路をマイクロプロセッサ内に内蔵してもよ
い。もちろん、本発明における機能を実現するマイクロ
プロセッサであれば、その内部構成はいかなる形式であ
っても良い。
【0089】また、上記第2の実施例では割り込み発生
手段を実現するために若干の外付け回路を付加し、現状
のマイクロプロセッサで本発明のデータ転送方法を実現
する手法に関しても説明したが、これらの回路をマイク
ロプロセッサ内に内蔵してもよい。もちろん、本発明に
おける機能を実現するマイクロプロセッサであれば、そ
の内部構成はいかなる形式であっても良い。
【0090】
【発明の効果】以上のように本発明は、バス上につなが
れたデバイスは、データフレームの転送要求があるとと
もに制御ラインがハイであるときにはデータラインをロ
ウに駆動し、コントローラは、制御ラインがハイである
とともにデータラインがロウであるときにのみトークン
を出力することにより、コントローラの負担の少ないデ
ータ転送方法を実現できる。すなわち、バス上につなが
れたすべてのデバイスにデータフレームの転送要求がな
い場合でも、コントローラはトークンを出力しなければ
ならないという従来のデータ転送方法の課題が解決でき
るという利点が得られる。
【0091】また、コントローラは、制御ラインが高レ
ベルであるとともにクロックライン上にクロックが出力
されていない状態でデータラインが高レベルから低レベ
ルに遷移するのを検出して割り込み信号を発生させる割
り込み発生手段を設けることにより、コントローラの負
担の少ないデータ転送方法を実現できる。すなわち、コ
ントローラがタイマ割込みを用いて一定間隔で制御ライ
ンとデータラインを調べるために、バス上の全てのデバ
イスにデータフレームの転送要求が発生していないとき
にもタイマ割り込み処理を行わなくてはならないという
従来のデータ転送方法の課題が解決できるという利点が
得られる。
【0092】また、バス上につながれたデバイスを第1
群と第2群に群分けし、第2群に属するデバイスにデー
タフレームの転送要求があるとともに制御ラインがハイ
である場合には、そのデバイスがデータラインをロウに
駆動し、コントローラは、検出タイミングにおいて制御
ラインとデータラインの両方がハイであるときには第1
群に属するデバイスにトークンを送信し、また、検出タ
イミングにおいて制御ラインがハイであり、かつ、デー
タラインがロウであるときには第2群に属するデバイス
にトークンを送信することにより、柔軟なデータ転送方
法を実現できる。すなわち、第2群に属するデバイスは
第1群に属するデバイスよりも優先的にトークンを受け
取ることが可能になり、バスの使用権に関する優先制御
を実現することが可能になるという効果が得られる。ま
た、ランダムにデータフレームの転送要求が発生するデ
バイスを第2群に分類することによって、無駄なトーク
ンの出力回数が減り、コントローラに負担の少ないデー
タ転送方法を実現することが可能になるという効果が得
られる。
【図面の簡単な説明】
【図1】本発明の第1の実施例におけるデータ転送を用
いてデータ転送を行うシステムの構成を示すブロック図
【図2】同第1の実施例におけるデータライン1とクロ
ックライン2の信号の関係を示すタイミング図
【図3】同第1の実施例におけるトークンのフォーマッ
トを示す模式図
【図4】同第1の実施例においてマイクロプロセッサ1
0が行うトークンの配布の様子を示したタイミング図
【図5】同第1の実施例におけるデータフレームのフォ
ーマットを示す模式図
【図6】同第1の実施例においてマイクロプロセッサ1
2がマスタとなって、スレーブであるマイクロプロセッ
サ11との間でデータフレームの転送を行う際のタイミ
ング図
【図7】同第1の実施例におけるマイクロプロセッサ8
8のスタートコンディション付きシリアル転送のタイミ
ング図
【図8】同第1の実施例におけるターゲットを、スター
トコンディション付きのデータ転送が可能なマイクロプ
ロセッサで実現した場合の回路図
【図9】本発明の第2の実施例におけるコントローラを
マイクロプロセッサで実現した場合の構成を示すブロッ
ク図
【図10】同第2の実施例における、マイクロプロセッ
サ98およびその周辺回路の信号のタイミング図
【図11】同第2の実施例においてマイクロプロセッサ
12がマスタとなって、スレーブであるマイクロプロセ
ッサ11との間でデータフレームの転送を行う際のタイ
ミング図
【図12】本発明の第3の実施例において、マイクロプ
ロセッサ13がマスタとなって、スレーブであるマイク
ロプロセッサ11との間でデータフレームの転送を行う
際のタイミング図
【符号の説明】
1 データライン 2 クロックライン 3 /BSYライン 10,11,12,13,88,98 マイクロプロセ
ッサ 14 /BSY信号入出力ポート 15 クロック入力ポート 16 データ入力ポート 17 データ出力ポート 18 クロック出力ポート 60 アドレスデータ 61 コントロールデータ 63 誤り検出コード 64 受信応答データ 89 ターゲット 99 コントローラ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 データラインとクロックラインと、制御
    ラインの少なくとも3本のラインで構成されるバスを使
    用してコントローラを含む複数のデバイス間でデータフ
    レームのシリアル転送を行うマルチマスタシステムにお
    いて、 前記コントローラ以外のデバイスはターゲットであり、 前記バスを用いて転送されるデータはトークンまたはデ
    ータフレームであり、 前記制御ラインが高レベルであるときに転送されるデー
    タはトークンであり、 前記制御ラインが低レベルであるときに転送されるデー
    タはデータフレームであって、 前記コントローラは、前記制御ラインのレベルが高レベ
    ルであり、かつ、前記データラインのレベルが低レベル
    である場合にのみトークンを、予め定められたルールに
    したがって、少なくともコントローラ以外のデバイスに
    送信し、 データフレームの転送を行うターゲットは、前記制御ラ
    インのレベルが高レベルである場合には前記データライ
    ンを低レベルに遷移させ、自分自身に対するトークンを
    受信すれば所定時間以内に前記制御ラインを低レベルに
    遷移させてデータフレームの転送を開始し、データフレ
    ームの転送が終了した後で前記制御ラインのレベルを高
    レベルに戻すことを特徴としたデータ転送方法。
  2. 【請求項2】 コントローラは、制御ラインが高レベル
    であるとともにクロックライン上にクロックが出力され
    ていない状態でデータラインが高レベルから低レベルに
    遷移するのを検出して割り込み信号を発生させる割り込
    み発生手段を具備し、前記割り込み信号によって、デー
    タフレームの転送を行うターゲットがデータラインを低
    レベルに駆動したことを検出することを特徴とする請求
    項1に記載のデータ転送方法。
  3. 【請求項3】 データラインとクロックラインと制御ラ
    インの少なくとも3本のラインで構成されるバスを使用
    してコントローラを含む複数のデバイス間でデータフレ
    ームのシリアル転送を行うマルチマスタシステムにおい
    て、 前記コントローラ以外のデバイスはターゲットであり、 前記バスを用いて転送されるデータはトークンまたはデ
    ータフレームであり、 前記制御ラインが高レベルであるときに転送されるデー
    タはトークンであり、 前記制御ラインが低レベルであるときに転送されるデー
    タはデータフレームであり、 第1群に属するターゲットがデータフレームの転送を行
    う場合には、自分自身に対するトークンを受信してから
    所定時間以内に前記制御ラインを低レベルに遷移させて
    データフレームの転送を開始し、データフレームの転送
    が終了してから所定時間以内に前記制御ラインを高レベ
    ルに遷移させ、 第2群に属するターゲットがデータフレームの転送を行
    う場合には、前記制御ラインが高レベルであれば前記デ
    ータラインを低レベルに遷移させ、自分自身に対するト
    ークンを受信すれば所定時間以内に前記制御ラインを低
    レベルに遷移させてデータフレームの転送を開始し、デ
    ータフレームの転送が終了してから所定時間以内に前記
    制御ラインを高レベルに遷移させ、 前記コントローラは、予め定められた検出タイミングに
    おいて、前記制御ラインが高レベルであって、かつ、前
    記データラインが高レベルであった場合は前記第1群に
    属するデバイスの1つにトークンを送信し、また、前記
    検出タイミングにおいて、前記制御ラインが高レベルで
    あって、かつ、前記データラインが低レベルであった場
    合には前記第2群に属するデバイスの1つにトークンを
    送信することを特徴とするデータ転送方法。
  4. 【請求項4】 ターゲットはマイクロプロセッサであ
    り、ターゲットが行うトークンの受信とデータフレーム
    の転送はシリアル転送割り込み処理で行われることを特
    徴とする請求項1,2または3に記載のデータ転送方
    法。
  5. 【請求項5】 ターゲットは制御ラインを外部割り込み
    入力端子でモニタし、データフレームの転送要求が発生
    していない場合で、かつ、制御ラインが高レベルの場合
    にはシリアル転送割込みを禁止し、前記制御ラインの立
    ち下がり割り込み処理でシリアル転送割込みを許可する
    ことを特徴とする請求項4に記載のデータ転送方法。
  6. 【請求項6】 ターゲットは自分以外のマイクロプロセ
    ッサ間でデータフレームの転送が行われている場合、シ
    リアル転送割り込みを禁止することを特徴とする請求項
    5に記載のデータ転送方法。
  7. 【請求項7】 ターゲットは自分以外のマイクロプロセ
    ッサ間でデータフレームの転送が行われている状態でデ
    ータフレームの転送要求が発生した場合、制御ラインの
    立ち上がり割込みでシリアル転送割込みを許可すること
    を特徴とする請求項6に記載のデータ転送方法。
  8. 【請求項8】 バスに接続されたマイクロプロセッサに
    は固有のアドレスが与えられ、データフレームの先頭に
    は前記データフレームを受信すべきマイクロプロセッサ
    のアドレスを示すアドレスデータが配置されており、前
    記アドレスデータを受信したマイクロプロセッサは、前
    記アドレスデータを用いて自分以外のマイクロプロセッ
    サ間でデータ転送が行われることを検出することを特徴
    とする請求項5または6または7に記載のデータ転送方
    法。
JP12021892A 1992-05-13 1992-05-13 データ転送方法 Pending JPH05314067A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12021892A JPH05314067A (ja) 1992-05-13 1992-05-13 データ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12021892A JPH05314067A (ja) 1992-05-13 1992-05-13 データ転送方法

Publications (1)

Publication Number Publication Date
JPH05314067A true JPH05314067A (ja) 1993-11-26

Family

ID=14780815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12021892A Pending JPH05314067A (ja) 1992-05-13 1992-05-13 データ転送方法

Country Status (1)

Country Link
JP (1) JPH05314067A (ja)

Similar Documents

Publication Publication Date Title
JPH04332065A (ja) データ転送方法
JP3552250B2 (ja) 複数のデータ処理装置間に情報を転送する方法および装置
JP3231596B2 (ja) 待ち時間及びシャドー・タイマを有するバス・システム
KR960006506B1 (ko) 컴퓨터 시스템, 시스템 확장장치, 버스 결합장치 및 버스억세스 조정방법
US20010037421A1 (en) Enhanced highly pipelined bus architecture
US5507002A (en) Peripheral component interconnect special cycle protocol using soft message IDS
US5469435A (en) Bus deadlock avoidance during master split-transactions
EP1082667A1 (en) System bus with serially connected pci interfaces
KR100231897B1 (ko) 디엠에이 채널의 사이즈 데이터를 수신하는 디엠에이 제어회로
EP0631239B1 (en) Serial data transfer method and system
JPH02176846A (ja) 非同期装置間で通信を行なうための効率的なプロトコル
US6598104B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
CA2060820C (en) Direct memory access for data transfer within an i/o device
JP2009535677A (ja) I2cクロックの生成方法及びシステム
JP2007058716A (ja) データ転送バスシステム
US6721833B2 (en) Arbitration of control chipsets in bus transaction
US20040010644A1 (en) System and method for providing improved bus utilization via target directed completion
JPH05314067A (ja) データ転送方法
JP2000231539A (ja) データ転送システムおよびデータ転送方法
US6934789B2 (en) Interface, structure and method for transmitting data of PCI bus which uses bus request signal for judging whether a device supporting dual transmission mode
JPH05173958A (ja) データ転送方法
JP2004265265A (ja) データ転送制御装置
US5664213A (en) Input/output (I/O) holdoff mechanism for use in a system where I/O device inputs are fed through a latency introducing bus
JPH10334039A (ja) バースト転送装置
JPH05289990A (ja) データ転送方法