JPH05289990A - データ転送方法 - Google Patents
データ転送方法Info
- Publication number
- JPH05289990A JPH05289990A JP4094003A JP9400392A JPH05289990A JP H05289990 A JPH05289990 A JP H05289990A JP 4094003 A JP4094003 A JP 4094003A JP 9400392 A JP9400392 A JP 9400392A JP H05289990 A JPH05289990 A JP H05289990A
- Authority
- JP
- Japan
- Prior art keywords
- data
- line
- transfer
- microprocessor
- serial
- 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
Links
Landscapes
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【目的】 データフレーム送信中を示す/BSY信号用
にコントローラは出力ポート、ターゲットは入力ポート
のみを使用できるデータ転送方法を提供する。 【構成】 自分宛のトークンを受信したターゲット(1
1,12または13)がデータフレームの転送を行う場
合には、コントローラ10が次のトークンを出力する前
にデータライン1を低レベルに遷移させる。コントロー
ラはトークンの出力タイミングでデータラインが低レベ
ルであることを確認すると、トークンの出力を中止して
/BSY信号をアサートしデータフレームの転送に必要
なクロックをクロックライン2上に出力する。ターゲッ
トはデータフレームの転送終了をデータライン1を高レ
ベルに保つことによってコントローラに知らせる。コン
トローラはクロックの出力タイミングでデータラインが
高レベルであれば/BSY信号をネゲートしてトークン
の配布を再開する。
にコントローラは出力ポート、ターゲットは入力ポート
のみを使用できるデータ転送方法を提供する。 【構成】 自分宛のトークンを受信したターゲット(1
1,12または13)がデータフレームの転送を行う場
合には、コントローラ10が次のトークンを出力する前
にデータライン1を低レベルに遷移させる。コントロー
ラはトークンの出力タイミングでデータラインが低レベ
ルであることを確認すると、トークンの出力を中止して
/BSY信号をアサートしデータフレームの転送に必要
なクロックをクロックライン2上に出力する。ターゲッ
トはデータフレームの転送終了をデータライン1を高レ
ベルに保つことによってコントローラに知らせる。コン
トローラはクロックの出力タイミングでデータラインが
高レベルであれば/BSY信号をネゲートしてトークン
の配布を再開する。
Description
【0001】
【産業上の利用分野】本発明は複数のデバイス間でデー
タフレームをシリアル転送する際のデータ転送方法に関
するものである。
タフレームをシリアル転送する際のデータ転送方法に関
するものである。
【0002】
【従来の技術】データ転送の手法は、パラレルデータバ
スを用いたパラレル転送と、シリアルデータバスを用い
たシリアル転送に大別される。パラレル転送は高速のデ
ータ転送に向いているが、マイクロプロセッサやIC等
のデバイスのピン数の増大につながる。オーディオビデ
オ機器や家電機器で使用される1チップのマイクロプロ
セッサは、転送速度の面からシリアル転送で十分である
ため、ピン数の削減につながるシリアル転送を用いてい
る。近年、機器の高機能化に伴い、ビデオテープレコー
ダやカメラ一体型ビデオのように、1つの機器の中に複
数のマイクロプロセッサが内蔵されるようになってい
る。これらのマイクロプロセッサは独立して動作するの
ではく、互いにシリアルデータバスを用いてデータ転送
を行いながら動作している。また、マイクロプロセッサ
だけでなく、各種ICやLSIもこのシリアルデータバ
スに接続可能である。
スを用いたパラレル転送と、シリアルデータバスを用い
たシリアル転送に大別される。パラレル転送は高速のデ
ータ転送に向いているが、マイクロプロセッサやIC等
のデバイスのピン数の増大につながる。オーディオビデ
オ機器や家電機器で使用される1チップのマイクロプロ
セッサは、転送速度の面からシリアル転送で十分である
ため、ピン数の削減につながるシリアル転送を用いてい
る。近年、機器の高機能化に伴い、ビデオテープレコー
ダやカメラ一体型ビデオのように、1つの機器の中に複
数のマイクロプロセッサが内蔵されるようになってい
る。これらのマイクロプロセッサは独立して動作するの
ではく、互いにシリアルデータバスを用いてデータ転送
を行いながら動作している。また、マイクロプロセッサ
だけでなく、各種ICやLSIもこのシリアルデータバ
スに接続可能である。
【0003】従来の機器内でのシリアル転送によるデー
タ転送方法としては、本出願人が先に出願した特願平3
−102444号「データ転送方法」がある。前記出願
ではデータラインとクロックライン以外に、データライ
ンを転送中のデータがトークンなのかデータフレームな
のかを示す制御ライン(以下、/BSYラインと称す)
を用いている。コントローラであるデバイスは、/BS
Yラインが高レベル(以下、ハイと略記する)の場合に
はバスに接続されているデバイスに順にトークンを配布
する。トークンを受信してバスの使用権を取得しデータ
フレームを出力しようとするデバイスは、/BSYライ
ンを低レベル(以下、ロウと略記する)に駆動すること
によってマスタとなり、バスを使用することを他のデバ
イスに知らせる。/BSYラインがロウに変化すればコ
ントローラはトークンの出力を停止し、データフレーム
の転送に必要なクロックを出力する。マスタはこのクロ
ックにしたがってデータフレームの転送を開始する。マ
スタはデータフレームの転送が終了すると/BSYライ
ンをハイに戻す。コントローラは/BSYラインがハイ
に遷移したことを検出し、再びトークンの配布を開始す
る。
タ転送方法としては、本出願人が先に出願した特願平3
−102444号「データ転送方法」がある。前記出願
ではデータラインとクロックライン以外に、データライ
ンを転送中のデータがトークンなのかデータフレームな
のかを示す制御ライン(以下、/BSYラインと称す)
を用いている。コントローラであるデバイスは、/BS
Yラインが高レベル(以下、ハイと略記する)の場合に
はバスに接続されているデバイスに順にトークンを配布
する。トークンを受信してバスの使用権を取得しデータ
フレームを出力しようとするデバイスは、/BSYライ
ンを低レベル(以下、ロウと略記する)に駆動すること
によってマスタとなり、バスを使用することを他のデバ
イスに知らせる。/BSYラインがロウに変化すればコ
ントローラはトークンの出力を停止し、データフレーム
の転送に必要なクロックを出力する。マスタはこのクロ
ックにしたがってデータフレームの転送を開始する。マ
スタはデータフレームの転送が終了すると/BSYライ
ンをハイに戻す。コントローラは/BSYラインがハイ
に遷移したことを検出し、再びトークンの配布を開始す
る。
【0004】この手法によれば、転送の衝突が発生しな
いと同時に、転送に際して変調を必要とせず、かつ、任
意のパターンのデータフレームを転送できるデータ転送
方法を提供している。
いと同時に、転送に際して変調を必要とせず、かつ、任
意のパターンのデータフレームを転送できるデータ転送
方法を提供している。
【0005】
【発明が解決しようとする課題】しかしながら、上記デ
ータ転送方法(特願平3−102444号)は以下の課
題を有していた。
ータ転送方法(特願平3−102444号)は以下の課
題を有していた。
【0006】マスタとなるデバイスによって/BSYラ
インはロウに駆動され、また、全てのデバイスは/BS
Yラインをモニタする必要があるため、バスに接続され
る全てのデバイスが/BSYライン用に入出力ポートを
確保しなければならないという課題があった。
インはロウに駆動され、また、全てのデバイスは/BS
Yラインをモニタする必要があるため、バスに接続され
る全てのデバイスが/BSYライン用に入出力ポートを
確保しなければならないという課題があった。
【0007】特に、コントローラ以外のデバイス(以
下、ターゲットと称す)が外部割り込みで/BSYライ
ンをモニタする場合には、/BSYライン用に外部割り
込み入力ポートと出力ポートの2つのポートが必要であ
るという課題があった。
下、ターゲットと称す)が外部割り込みで/BSYライ
ンをモニタする場合には、/BSYライン用に外部割り
込み入力ポートと出力ポートの2つのポートが必要であ
るという課題があった。
【0008】また、デバイスが外部割り込みを用いずに
シリアル受信割り込みで/BSYラインのレベルをチェ
ックする場合には、シリアル受信割り込みが発生してか
らレベルをチェックするまでの間にマスタが/BSYラ
インを操作すれば/BSYラインのレベルを誤認識する
可能性があるという課題がある。
シリアル受信割り込みで/BSYラインのレベルをチェ
ックする場合には、シリアル受信割り込みが発生してか
らレベルをチェックするまでの間にマスタが/BSYラ
インを操作すれば/BSYラインのレベルを誤認識する
可能性があるという課題がある。
【0009】この誤認識を避ける手法としては、マスタ
が1転送単位の転送が終了後一定期間以上経過してから
/BSYラインの操作を行い、マスタ以外のデバイスは
シリアル受信割り込み発生後一定期間以内に/BSYラ
インをチェックするという手法が考えられる。すなわ
ち、/BSYラインの操作タイミングを規定することに
よって、/BSYラインの誤認識を避ける。しかしなが
ら、この手法は一定期間以内に/BSYラインをチェッ
クする必要性から、他の割り込み処理実行中でもシリア
ル受信割り込みを受け付けなければならない。また、/
BSYラインの操作タイミングを決定するためにハード
ウェアタイマもしくはソフトウェアタイマが必要とな
る。以上のように/BSYラインの操作タイミングを規
定することによって誤認識を防ぐ手法はシステム設計上
の制限事項が多くなるという課題があった。
が1転送単位の転送が終了後一定期間以上経過してから
/BSYラインの操作を行い、マスタ以外のデバイスは
シリアル受信割り込み発生後一定期間以内に/BSYラ
インをチェックするという手法が考えられる。すなわ
ち、/BSYラインの操作タイミングを規定することに
よって、/BSYラインの誤認識を避ける。しかしなが
ら、この手法は一定期間以内に/BSYラインをチェッ
クする必要性から、他の割り込み処理実行中でもシリア
ル受信割り込みを受け付けなければならない。また、/
BSYラインの操作タイミングを決定するためにハード
ウェアタイマもしくはソフトウェアタイマが必要とな
る。以上のように/BSYラインの操作タイミングを規
定することによって誤認識を防ぐ手法はシステム設計上
の制限事項が多くなるという課題があった。
【0010】本発明は上記従来の課題を解決するもの
で、コントローラは/BSYライン用に出力ポートを使
用し、ターゲットは/BSYライン用に入力ポートを使
用し、また、/BSYラインを外部割り込みポートでモ
ニタする場合でも出力ポートを必要とせず、シリアル受
信割り込みで/BSYラインをモニタする場合でも上述
した制限事項の無いデータ転送方法を実現することを目
的としている。
で、コントローラは/BSYライン用に出力ポートを使
用し、ターゲットは/BSYライン用に入力ポートを使
用し、また、/BSYラインを外部割り込みポートでモ
ニタする場合でも出力ポートを必要とせず、シリアル受
信割り込みで/BSYラインをモニタする場合でも上述
した制限事項の無いデータ転送方法を実現することを目
的としている。
【0011】
【課題を解決するための手段】この目的を達成するため
に本発明のデータ転送方法は、コントローラは予め定め
られた検出タイミングでデータラインのレベル検出を行
い、検出タイミングでデータラインが高レベルであれば
次回の検出タイミングまで制御ラインを偽のレベルに保
つと共にトークンを送信し、検出タイミングでデータラ
インが低レベルであれば、次回の検出タイミングまで制
御ラインを真のレベルに保つと共にクロックラインに1
転送単位分の転送用クロックを出力する。一方、ターゲ
ットは、自分自身宛てのトークンを受信してデータフレ
ームの転送を開始する場合には、データフレームを構成
する各データの転送が完了するまでの間は、次の検出タ
イミングまでにデータラインを低レベルに遷移させると
共に、コントローラが出力する転送用クロックに同期し
てデータラインを用いてデータフレームの転送を行う。
に本発明のデータ転送方法は、コントローラは予め定め
られた検出タイミングでデータラインのレベル検出を行
い、検出タイミングでデータラインが高レベルであれば
次回の検出タイミングまで制御ラインを偽のレベルに保
つと共にトークンを送信し、検出タイミングでデータラ
インが低レベルであれば、次回の検出タイミングまで制
御ラインを真のレベルに保つと共にクロックラインに1
転送単位分の転送用クロックを出力する。一方、ターゲ
ットは、自分自身宛てのトークンを受信してデータフレ
ームの転送を開始する場合には、データフレームを構成
する各データの転送が完了するまでの間は、次の検出タ
イミングまでにデータラインを低レベルに遷移させると
共に、コントローラが出力する転送用クロックに同期し
てデータラインを用いてデータフレームの転送を行う。
【0012】
【作用】本発明は上記した方法により、トークンを取得
したターゲットがマスタとなってデータフレームの転送
を行う場合には、データフレームの転送を行っている間
はコントローラがデータラインのレベルを検出するまで
にデータラインに低レベルを出力する。コントローラは
検出タイミングでデータラインが低レベルであればトー
クンの送信は行わず1転送単位分のデータフレームの転
送に必要なクロックをクロックラインに出力する。マス
タとなったターゲットはこのクロックを利用してデータ
フレームの転送を行う。
したターゲットがマスタとなってデータフレームの転送
を行う場合には、データフレームの転送を行っている間
はコントローラがデータラインのレベルを検出するまで
にデータラインに低レベルを出力する。コントローラは
検出タイミングでデータラインが低レベルであればトー
クンの送信は行わず1転送単位分のデータフレームの転
送に必要なクロックをクロックラインに出力する。マス
タとなったターゲットはこのクロックを利用してデータ
フレームの転送を行う。
【0013】
【実施例】以下、本発明の一実施例について、図面を参
照しながら説明する。
照しながら説明する。
【0014】図1は本発明の一実施例のデータ転送方法
を用いてデータ転送を行うシステムのブロック図を示す
ものである。図1において、マイクロプロセッサ10,
11,12,13は1チップのマイクロプロセッサであ
り、データライン1,クロックライン2,/BSYライ
ン3の3つの信号線からなるバスを介して互いに接続さ
れている。データライン1はシリアルデータを転送する
ための信号線で、各マイクロプロセッサのデータ入力ポ
ート16とデータ出力ポート17に共通に接続されてい
る。データ出力ポート17は複数のマイクロプロセッサ
が同時に信号線を駆動しても良いように、オープンドレ
イン形式の出力ポートである。マイクロプロセッサ10
はクロックライン2にシリアルデータの入出力用のクロ
ックをクロック出力ポート18から出力し、他のマイク
ロプロセッサはクロック入力ポート15でこのクロック
を受け取る。/BSYライン3は/BSY信号用の信号
線である。この信号は負論理の信号でデータフレームの
転送を開始するマイクロプロセッサの依頼によってマイ
クロプロセッサ10が出力する。/BSY信号がハイの
場合には何れのマイクロプロセッサもデータフレームの
転送を行っていない。また、/BSY信号がロウの場合
にはマイクロプロセッサ間でデータフレームの転送が行
われている。マイクロプロセッサ11,マイクロプロセ
ッサ12,マイクロプロセッサ13は/BSY信号を入
力とする。
を用いてデータ転送を行うシステムのブロック図を示す
ものである。図1において、マイクロプロセッサ10,
11,12,13は1チップのマイクロプロセッサであ
り、データライン1,クロックライン2,/BSYライ
ン3の3つの信号線からなるバスを介して互いに接続さ
れている。データライン1はシリアルデータを転送する
ための信号線で、各マイクロプロセッサのデータ入力ポ
ート16とデータ出力ポート17に共通に接続されてい
る。データ出力ポート17は複数のマイクロプロセッサ
が同時に信号線を駆動しても良いように、オープンドレ
イン形式の出力ポートである。マイクロプロセッサ10
はクロックライン2にシリアルデータの入出力用のクロ
ックをクロック出力ポート18から出力し、他のマイク
ロプロセッサはクロック入力ポート15でこのクロック
を受け取る。/BSYライン3は/BSY信号用の信号
線である。この信号は負論理の信号でデータフレームの
転送を開始するマイクロプロセッサの依頼によってマイ
クロプロセッサ10が出力する。/BSY信号がハイの
場合には何れのマイクロプロセッサもデータフレームの
転送を行っていない。また、/BSY信号がロウの場合
にはマイクロプロセッサ間でデータフレームの転送が行
われている。マイクロプロセッサ11,マイクロプロセ
ッサ12,マイクロプロセッサ13は/BSY信号を入
力とする。
【0015】以上のように構成されたシステムで、本発
明のデータ転送方法を実施する場合の動作例について、
以下説明する。
明のデータ転送方法を実施する場合の動作例について、
以下説明する。
【0016】まず、図2を用いてシリアルデータとクロ
ックのタイミングに関して説明する。図2はデータライ
ン1とクロックライン2の信号を示すタイミング図であ
る。図2(a)に示すように、データライン1上を転送
されるシリアルデータはクロックの立ち下がりで出力さ
れる。シリアルデータを取り込む場合はクロックの立ち
上がりで取り込む。クロックの周期はTaである。転送
は8ビット単位で間欠的に行う。8ビットデータの転送
に必要な8個のクロックをバイトクロックと定義する。
図2(b)に示すように、バイトクロックはTbの周期
で間欠的に出力される。
ックのタイミングに関して説明する。図2はデータライ
ン1とクロックライン2の信号を示すタイミング図であ
る。図2(a)に示すように、データライン1上を転送
されるシリアルデータはクロックの立ち下がりで出力さ
れる。シリアルデータを取り込む場合はクロックの立ち
上がりで取り込む。クロックの周期はTaである。転送
は8ビット単位で間欠的に行う。8ビットデータの転送
に必要な8個のクロックをバイトクロックと定義する。
図2(b)に示すように、バイトクロックはTbの周期
で間欠的に出力される。
【0017】多くの1チップのマイクロプロセッサは8
ビット単位でデータをシリアル転送する機能をハードウ
ェアで実現している。ここでは、このハードウェアをシ
フトバッファと呼ぶことにする。シフトバッファはシフ
トレジスタ及び周辺回路からなり、マイクロプロセッサ
の外部から供給されたクロック(以降、外部クロックと
称す)もしくはマイクロプロセッサの内部で発生したク
ロック(以降、内部クロックと称す)でデータの入力や
出力を行う。シリアルデータを出力する場合にはクロッ
クの立ち下がりでMSBから順に出力し、シリアルデー
タを入力する場合にはクロックの立ち上がりでMSBか
ら順に取り込む。
ビット単位でデータをシリアル転送する機能をハードウ
ェアで実現している。ここでは、このハードウェアをシ
フトバッファと呼ぶことにする。シフトバッファはシフ
トレジスタ及び周辺回路からなり、マイクロプロセッサ
の外部から供給されたクロック(以降、外部クロックと
称す)もしくはマイクロプロセッサの内部で発生したク
ロック(以降、内部クロックと称す)でデータの入力や
出力を行う。シリアルデータを出力する場合にはクロッ
クの立ち下がりでMSBから順に出力し、シリアルデー
タを入力する場合にはクロックの立ち上がりでMSBか
ら順に取り込む。
【0018】シフトバッファから出力されるシリアルデ
ータの出力ポートがデータ出力ポート17であり、シフ
トバッファへ入力されるシリアルデータの入力ポートが
データ入力ポート16である。シフトバッファのクロッ
ク用のポートは入力と出力が独立していなくて、クロッ
ク入出力ポートがあるのみである。このポートは、シフ
トバッファが内部クロックでデータの転送を行う場合に
は出力ポートとして機能し、外部クロックでデータの転
送を行う場合には入力ポートとして機能する。マイクロ
プロセッサ10はクロックを出力する必要があるため、
内部クロックで動作し、他のマイクロプロセッサは外部
クロックで動作する。従って、クロック入出力ポート
は、マイクロプロセッサ10ではクロック出力ポート1
8として機能し、他のマイクロプロセッサではクロック
入力ポート15として機能する。
ータの出力ポートがデータ出力ポート17であり、シフ
トバッファへ入力されるシリアルデータの入力ポートが
データ入力ポート16である。シフトバッファのクロッ
ク用のポートは入力と出力が独立していなくて、クロッ
ク入出力ポートがあるのみである。このポートは、シフ
トバッファが内部クロックでデータの転送を行う場合に
は出力ポートとして機能し、外部クロックでデータの転
送を行う場合には入力ポートとして機能する。マイクロ
プロセッサ10はクロックを出力する必要があるため、
内部クロックで動作し、他のマイクロプロセッサは外部
クロックで動作する。従って、クロック入出力ポート
は、マイクロプロセッサ10ではクロック出力ポート1
8として機能し、他のマイクロプロセッサではクロック
入力ポート15として機能する。
【0019】次に、本実施例で使用する用語について説
明する。 「マスタ」:バスの使用権を取得し、データフレームの
転送を開始するマイクロプロセッサをマスタと呼ぶ。マ
イクロプロセッサ10,11,12,13は何れもマス
タになることができるが、複数のマイクロプロセッサが
同時にマスタになることはない。
明する。 「マスタ」:バスの使用権を取得し、データフレームの
転送を開始するマイクロプロセッサをマスタと呼ぶ。マ
イクロプロセッサ10,11,12,13は何れもマス
タになることができるが、複数のマイクロプロセッサが
同時にマスタになることはない。
【0020】「スレーブ」:マスタからデータフレーム
の転送相手として指定されたマイクロプロセッサをスレ
ーブという。データフレームの転送はマスタからスレー
ブに対して行われる。マスタが複数のマイクロプロセッ
サにデータフレームを転送する場合(同報通信)には、
複数のスレーブが存在する。/BSY信号がハイの場合
にはシステム内にマスタ、スレーブ共に存在しない。
の転送相手として指定されたマイクロプロセッサをスレ
ーブという。データフレームの転送はマスタからスレー
ブに対して行われる。マスタが複数のマイクロプロセッ
サにデータフレームを転送する場合(同報通信)には、
複数のスレーブが存在する。/BSY信号がハイの場合
にはシステム内にマスタ、スレーブ共に存在しない。
【0021】「コントローラ」:バスに接続されたマイ
クロプロセッサの内、クロックを出力するマイクロプロ
セッサをコントローラと呼ぶ。コントローラはシステム
内で1つだけ存在する。図1のシステムではマイクロプ
ロセッサ10がコントローラである。コントローラは後
述するトークンの出力も行う。
クロプロセッサの内、クロックを出力するマイクロプロ
セッサをコントローラと呼ぶ。コントローラはシステム
内で1つだけ存在する。図1のシステムではマイクロプ
ロセッサ10がコントローラである。コントローラは後
述するトークンの出力も行う。
【0022】「ターゲット」:バスに接続されたマイク
ロプロセッサで、コントローラ以外のマイクロプロセッ
サをターゲットと呼ぶ。図1ではマイクロプロセッサ1
1,マイクロプロセッサ12,マイクロプロセッサ13
がターゲットである。
ロプロセッサで、コントローラ以外のマイクロプロセッ
サをターゲットと呼ぶ。図1ではマイクロプロセッサ1
1,マイクロプロセッサ12,マイクロプロセッサ13
がターゲットである。
【0023】「トークン」:バスの使用権を調停するた
めにコントローラが出力する1バイトのデータである。
トークンを受け取ったマイクロプロセッサはバスを使用
してデータフレームを出力する権利、すなわち、マスタ
になる権利を有する。
めにコントローラが出力する1バイトのデータである。
トークンを受け取ったマイクロプロセッサはバスを使用
してデータフレームを出力する権利、すなわち、マスタ
になる権利を有する。
【0024】「データフレーム」:データ転送の最小単
位をデータフレームという。データフレームはヘッダ、
ユーザーデータ、チェックバイト、受信応答データから
なる。
位をデータフレームという。データフレームはヘッダ、
ユーザーデータ、チェックバイト、受信応答データから
なる。
【0025】次に、トークンのフォーマットに関して図
3を用いて説明する。図3はトークンのフォーマット図
である。トークンは1バイトで構成されコントローラで
あるマイクロプロセッサ10によって出力される。bit6
〜bit4のADRはトークンの行き先アドレスであり、ト
ークンの行き先のマイクロプロセッサのアドレスを記述
する。バスに接続された各マイクロプロセッサにはそれ
ぞれ固有のアドレス(0〜7)が割り当てられている。
このアドレスの割り当てを(表1)に示す。
3を用いて説明する。図3はトークンのフォーマット図
である。トークンは1バイトで構成されコントローラで
あるマイクロプロセッサ10によって出力される。bit6
〜bit4のADRはトークンの行き先アドレスであり、ト
ークンの行き先のマイクロプロセッサのアドレスを記述
する。バスに接続された各マイクロプロセッサにはそれ
ぞれ固有のアドレス(0〜7)が割り当てられている。
このアドレスの割り当てを(表1)に示す。
【0026】
【表1】
【0027】(表1)に示したように、0〜7のアドレ
スの内で実際に使用しているのは0〜3の4種類である
が、このバスには最大で8個のマイクロプロセッサを接
続することが可能である。bit3,bit2,bit1,LSBはフ
ォーマットナンバー(FMT)を記録する。フォーマッ
トナンバーによって後述するデータフレームのフォーマ
ットが異なる。ここでは、フォーマットナンバーは「0
000(2進表示)」とする。
スの内で実際に使用しているのは0〜3の4種類である
が、このバスには最大で8個のマイクロプロセッサを接
続することが可能である。bit3,bit2,bit1,LSBはフ
ォーマットナンバー(FMT)を記録する。フォーマッ
トナンバーによって後述するデータフレームのフォーマ
ットが異なる。ここでは、フォーマットナンバーは「0
000(2進表示)」とする。
【0028】次に、図4を用いてデータフレームのフォ
ーマットを説明する。図4はデータフレームのフォーマ
ット図である。データフレームはアドレスデータ60,
コントロールデータ61,ユーザーデータ62,誤り検
出コード(チェックバイト)63,受信応答データ64
からなる。マスタがアドレスデータ60,コントロール
データ61,ユーザーデータ62,誤り検出コード63
の出力を完了すると、次のバイトクロックでスレーブが
1バイトの受信応答データ64を出力する。
ーマットを説明する。図4はデータフレームのフォーマ
ット図である。データフレームはアドレスデータ60,
コントロールデータ61,ユーザーデータ62,誤り検
出コード(チェックバイト)63,受信応答データ64
からなる。マスタがアドレスデータ60,コントロール
データ61,ユーザーデータ62,誤り検出コード63
の出力を完了すると、次のバイトクロックでスレーブが
1バイトの受信応答データ64を出力する。
【0029】アドレスデータ60はスレーブを指定する
ためのデータである。アドレスデータはビットアサイン
されており、各ビットが1つのマイクロプロセッサに対
応している。アドレスデータのビットパターンとスレー
ブとなるマイクロプロセッサの対応を(表2)に示す。
ためのデータである。アドレスデータはビットアサイン
されており、各ビットが1つのマイクロプロセッサに対
応している。アドレスデータのビットパターンとスレー
ブとなるマイクロプロセッサの対応を(表2)に示す。
【0030】
【表2】
【0031】(表2)において、×は「1」でも「0」
でもかまわない。アドレスがN(N=0〜7)のマイク
ロプロセッサのアドレスビットはアドレスデータ60の
bitNとなっている。従って、マスタとなったマイクロ
プロセッサはスレーブとなるデバイスを選択的に指定す
ることができる。すなわち、マスタとなったマイクロプ
ロセッサは、スレーブとして指定するマイクロプロセッ
サのアドレスビットを真(1)とし、スレーブとして指
定しないマイクロプロセッサのアドレスビットを偽
(0)としたアドレスデータ60を出力すれば良い。例
えば、マイクロプロセッサ11がマイクロプロセッサ1
2とマイクロプロセッサ13にデータフレームを送る場
合にはアドレスデータ60を「00001100(2進
表示)」とすればよい。この際に、マスタ自身のアドレ
スを示すビットは「0」に設定する。マスタ以外のマイ
クロプロセッサは/BSY信号がアサートされた後で最
初に受信した8ビットデータをアドレスデータとして検
出し、自分自身のアドレスビットが真(1)の場合には
スレーブとして指定されたことを認識し、データフレー
ムの受信を行う。
でもかまわない。アドレスがN(N=0〜7)のマイク
ロプロセッサのアドレスビットはアドレスデータ60の
bitNとなっている。従って、マスタとなったマイクロ
プロセッサはスレーブとなるデバイスを選択的に指定す
ることができる。すなわち、マスタとなったマイクロプ
ロセッサは、スレーブとして指定するマイクロプロセッ
サのアドレスビットを真(1)とし、スレーブとして指
定しないマイクロプロセッサのアドレスビットを偽
(0)としたアドレスデータ60を出力すれば良い。例
えば、マイクロプロセッサ11がマイクロプロセッサ1
2とマイクロプロセッサ13にデータフレームを送る場
合にはアドレスデータ60を「00001100(2進
表示)」とすればよい。この際に、マスタ自身のアドレ
スを示すビットは「0」に設定する。マスタ以外のマイ
クロプロセッサは/BSY信号がアサートされた後で最
初に受信した8ビットデータをアドレスデータとして検
出し、自分自身のアドレスビットが真(1)の場合には
スレーブとして指定されたことを認識し、データフレー
ムの受信を行う。
【0032】コントロールデータ61のMSB,bit6,bit
5,bit4の4ビットはユーザーデータ62の「(バイト
数)−1」を示す。「0000〜1111(2進表
示)」のパターンが可能であるため、ユーザーデータ6
2のバイト数は1〜16の任意の値をとることができ
る。スレーブとなったマイクロプロセッサはこの値を用
いてデータフレーム全体のバイト数を得、データフレー
ムを受信した後に後述する受信応答データ64を出力す
る。コントロールデータ61のbit3でユーザーデータ6
2の内容がコマンドかデータかを示す。このビットが
「0」の場合には、ユーザーデータ62はデータであ
り、「1」の場合には、ユーザーデータ62はコマンド
である。コントロールデータ61のbit2,bit1,LSBは
マスタアドレスであり、マスタになったマイクロプロセ
ッサのアドレスが(表1)と同様のルールで記載され
る。
5,bit4の4ビットはユーザーデータ62の「(バイト
数)−1」を示す。「0000〜1111(2進表
示)」のパターンが可能であるため、ユーザーデータ6
2のバイト数は1〜16の任意の値をとることができ
る。スレーブとなったマイクロプロセッサはこの値を用
いてデータフレーム全体のバイト数を得、データフレー
ムを受信した後に後述する受信応答データ64を出力す
る。コントロールデータ61のbit3でユーザーデータ6
2の内容がコマンドかデータかを示す。このビットが
「0」の場合には、ユーザーデータ62はデータであ
り、「1」の場合には、ユーザーデータ62はコマンド
である。コントロールデータ61のbit2,bit1,LSBは
マスタアドレスであり、マスタになったマイクロプロセ
ッサのアドレスが(表1)と同様のルールで記載され
る。
【0033】ユーザーデータ62は、実際にマスタから
スレーブに送られるデータやコマンドである。
スレーブに送られるデータやコマンドである。
【0034】1バイトの誤り検出コード63はエラーチ
ェック用のバイトで、データフレームの先頭バイト(ア
ドレスデータ60)からユーザーデータの最終バイトま
での各ビット毎の奇数パリティが記録される。マスタは
データフレームの先頭からバイト単位で排他的論理和演
算を行い、結果を反転して誤り検出コード63を作成す
る。一方、データフレームを受信したマイクロプロセッ
サは、データフレームの先頭からチェックバイトまでを
バイト単位で排他的論理和演算を行い、結果がFFh
(16進表示)となればエラー無しで受信できたことが
確認できる。
ェック用のバイトで、データフレームの先頭バイト(ア
ドレスデータ60)からユーザーデータの最終バイトま
での各ビット毎の奇数パリティが記録される。マスタは
データフレームの先頭からバイト単位で排他的論理和演
算を行い、結果を反転して誤り検出コード63を作成す
る。一方、データフレームを受信したマイクロプロセッ
サは、データフレームの先頭からチェックバイトまでを
バイト単位で排他的論理和演算を行い、結果がFFh
(16進表示)となればエラー無しで受信できたことが
確認できる。
【0035】アドレスデータ60,コントロールデータ
61,ユーザーデータ62,誤り検出コード63はマス
タが出力するが、受信応答データ64はスレーブが出力
する。受信応答データ64は1バイトからなる。受信応
答データ64を構成するビットは各々が、1つのマイク
ロプロセッサの受信応答ビットに割り当てられている。
アドレスがN(N=0〜7)のマイクロプロセッサの受
信応答ビットは受信応答データ64のbitNとなってい
る。データフレームを受信したスレーブは誤り検出コー
ド63を用いてデータエラーの有無を検出し、エラーが
無い場合には自分の受信応答ビットのみをロウとした受
信応答データ64をデータライン1に出力する。
61,ユーザーデータ62,誤り検出コード63はマス
タが出力するが、受信応答データ64はスレーブが出力
する。受信応答データ64は1バイトからなる。受信応
答データ64を構成するビットは各々が、1つのマイク
ロプロセッサの受信応答ビットに割り当てられている。
アドレスがN(N=0〜7)のマイクロプロセッサの受
信応答ビットは受信応答データ64のbitNとなってい
る。データフレームを受信したスレーブは誤り検出コー
ド63を用いてデータエラーの有無を検出し、エラーが
無い場合には自分の受信応答ビットのみをロウとした受
信応答データ64をデータライン1に出力する。
【0036】各マイクロプロセッサの受信応答データ6
4を(表3)に示す。
4を(表3)に示す。
【0037】
【表3】
【0038】(表3)では「0」がデータライン上での
ハイを示し、「1」がロウを示している。データライン
1はワイヤードオア接続されているため、複数のスレー
ブが受信応答データを出力する場合には、論理和演算さ
れた結果がマスタへ送られる。
ハイを示し、「1」がロウを示している。データライン
1はワイヤードオア接続されているため、複数のスレー
ブが受信応答データを出力する場合には、論理和演算さ
れた結果がマスタへ送られる。
【0039】次に、データフレームの転送に先だって行
われるトークンの配布に関して説明する。
われるトークンの配布に関して説明する。
【0040】図5はマイクロプロセッサ10が行うトー
クンの配布の様子を示したタイミング図である。トーク
ン30,トークン31,トークン32,トークン33は
それぞれマイクロプロセッサ10,11,12,13に
対するトークンである。マイクロプロセッサ10は、何
れのマイクロプロセッサもデータフレームの転送を行わ
ない場合、Tbの時間間隔で全てのマイクロプロセッサ
に対して順にトークンを配布する。例えば、マイクロプ
ロセッサ12にトークンを送る場合には、マイクロプロ
セッサ10は「10100000(2進表示)」のトー
クンをデータライン1上に出力する。
クンの配布の様子を示したタイミング図である。トーク
ン30,トークン31,トークン32,トークン33は
それぞれマイクロプロセッサ10,11,12,13に
対するトークンである。マイクロプロセッサ10は、何
れのマイクロプロセッサもデータフレームの転送を行わ
ない場合、Tbの時間間隔で全てのマイクロプロセッサ
に対して順にトークンを配布する。例えば、マイクロプ
ロセッサ12にトークンを送る場合には、マイクロプロ
セッサ10は「10100000(2進表示)」のトー
クンをデータライン1上に出力する。
【0041】各マイクロプロセッサは、自分宛てのトー
クンを受信した場合、マスタとなってデータフレームの
転送を行う権利を有する。ターゲットがデータフレーム
の転送を行う場合、自分宛てのトークンを受信してから
コントローラがデータライン1のレベルをチェックする
までにデータライン1をロウに遷移させる。
クンを受信した場合、マスタとなってデータフレームの
転送を行う権利を有する。ターゲットがデータフレーム
の転送を行う場合、自分宛てのトークンを受信してから
コントローラがデータライン1のレベルをチェックする
までにデータライン1をロウに遷移させる。
【0042】図5では全てのターゲット(マイクロプロ
セッサ11,マイクロプロセッサ12,マイクロプロセ
ッサ13)がデータラインをハイに保ったままであり、
かつコントローラ(マイクロプロセッサ10)もデータ
フレームの転送を行っていない。マイクロプロセッサ1
0は各マイクロプロセッサに順次トークンを出力した結
果、何れのマイクロプロセッサもデータフレームの転送
を行わなかった場合、その段階でトークンの出力を停止
する。コントローラも含めて、いずれのマイクロプロセ
ッサもマスタにならない場合には各マイクロプロセッサ
へのトークンの出力は一定間隔(Tc)で行われる。
セッサ11,マイクロプロセッサ12,マイクロプロセ
ッサ13)がデータラインをハイに保ったままであり、
かつコントローラ(マイクロプロセッサ10)もデータ
フレームの転送を行っていない。マイクロプロセッサ1
0は各マイクロプロセッサに順次トークンを出力した結
果、何れのマイクロプロセッサもデータフレームの転送
を行わなかった場合、その段階でトークンの出力を停止
する。コントローラも含めて、いずれのマイクロプロセ
ッサもマスタにならない場合には各マイクロプロセッサ
へのトークンの出力は一定間隔(Tc)で行われる。
【0043】次に、トークンを受信したターゲットであ
るマイクロプロセッサがデータフレームの転送を行う場
合の動作について、図6,図7,図8を用いて説明す
る。
るマイクロプロセッサがデータフレームの転送を行う場
合の動作について、図6,図7,図8を用いて説明す
る。
【0044】図6はマイクロプロセッサ12がマスタと
なって、スレーブであるマイクロプロセッサ11との間
でデータフレームの転送を行う際のタイミング図であ
る。図6において、100は/BSYライン3の信号レ
ベルを示している。101はマイクロプロセッサ10が
出力するバイトクロックを示している。102,10
3,104,105はそれぞれマイクロプロセッサ1
0,マイクロプロセッサ11,マイクロプロセッサ1
2,マイクロプロセッサ13がデータライン上に出力す
る信号を示している。各マイクロプロセッサのデータ出
力はデータライン1に接続されているため、データライ
ン1上でワイヤードアンドされ、結果として106に示
す信号がデータライン1上を流れる。107はマイクロ
プロセッサ10がデータライン1のレベル検出を行う検
出タイミングを示している。107上の矢印で示した時
刻が検出タイミングである。マイクロプロセッサ10は
時間間隔Tbでタイマ割り込みを発生させ、タイマ割り
込みの処理ルーチン(以下、タイマ割り込み処理と称
す)内でデータライン1のレベル検出を行う。
なって、スレーブであるマイクロプロセッサ11との間
でデータフレームの転送を行う際のタイミング図であ
る。図6において、100は/BSYライン3の信号レ
ベルを示している。101はマイクロプロセッサ10が
出力するバイトクロックを示している。102,10
3,104,105はそれぞれマイクロプロセッサ1
0,マイクロプロセッサ11,マイクロプロセッサ1
2,マイクロプロセッサ13がデータライン上に出力す
る信号を示している。各マイクロプロセッサのデータ出
力はデータライン1に接続されているため、データライ
ン1上でワイヤードアンドされ、結果として106に示
す信号がデータライン1上を流れる。107はマイクロ
プロセッサ10がデータライン1のレベル検出を行う検
出タイミングを示している。107上の矢印で示した時
刻が検出タイミングである。マイクロプロセッサ10は
時間間隔Tbでタイマ割り込みを発生させ、タイマ割り
込みの処理ルーチン(以下、タイマ割り込み処理と称
す)内でデータライン1のレベル検出を行う。
【0045】図7はマイクロプロセッサ10が行うタイ
マ割込処理の概略フローチャートである。マイクロプロ
セッサ10はマスタでもスレーブでもない場合には図7
に示したフローチャートに従った動作を行う。図6の時
刻t2,t4,t6,・・・,t14でステップ200
が実行される。
マ割込処理の概略フローチャートである。マイクロプロ
セッサ10はマスタでもスレーブでもない場合には図7
に示したフローチャートに従った動作を行う。図6の時
刻t2,t4,t6,・・・,t14でステップ200
が実行される。
【0046】図8はターゲットが行うシリアル転送割り
込みの処理ルーチン(以下、シリアル割り込み処理と称
す)の概略フローチャートである。ターゲットは1バイ
トの送信もしくは受信を行ったときにシリアル転送割り
込み(以下、シリアル割り込み称す)を発生させ、図8
に示した動作を行う。図6の時刻t1,t3,t5,・
・・,t15でターゲットはシリアル割り込みが発生し
図8で示したシリアル割り込み処理を開始する。
込みの処理ルーチン(以下、シリアル割り込み処理と称
す)の概略フローチャートである。ターゲットは1バイ
トの送信もしくは受信を行ったときにシリアル転送割り
込み(以下、シリアル割り込み称す)を発生させ、図8
に示した動作を行う。図6の時刻t1,t3,t5,・
・・,t15でターゲットはシリアル割り込みが発生し
図8で示したシリアル割り込み処理を開始する。
【0047】まず、マイクロプロセッサ10はマイクロ
プロセッサ11に対してトークン31を出力すると、時
刻t1でマイクロプロセッサ11とマイクロプロセッサ
12とマイクロプロセッサ13はシリアル割り込みを発
生し、図8で示したシリアル割り込み処理を開始する。
マイクロプロセッサ11はトークン受信後ステップ22
0で/BSYライン3のレベルをチェックする。/BS
Yライン3はハイであるのでステップ221で自分宛て
のトークンであるトークン31を受信したことを検出す
るが、転送すべきデータフレームが無いため、ステップ
222を実行した後シリアル割り込み処理を終了する。
マイクロプロセッサ12,マイクロプロセッサ13も同
様にステップ220で/BSYライン3のレベルがハイ
であると検出するが、自分宛てのトークンではないため
にステップ221を実行してシリアル割り込み処理を終
了する。
プロセッサ11に対してトークン31を出力すると、時
刻t1でマイクロプロセッサ11とマイクロプロセッサ
12とマイクロプロセッサ13はシリアル割り込みを発
生し、図8で示したシリアル割り込み処理を開始する。
マイクロプロセッサ11はトークン受信後ステップ22
0で/BSYライン3のレベルをチェックする。/BS
Yライン3はハイであるのでステップ221で自分宛て
のトークンであるトークン31を受信したことを検出す
るが、転送すべきデータフレームが無いため、ステップ
222を実行した後シリアル割り込み処理を終了する。
マイクロプロセッサ12,マイクロプロセッサ13も同
様にステップ220で/BSYライン3のレベルがハイ
であると検出するが、自分宛てのトークンではないため
にステップ221を実行してシリアル割り込み処理を終
了する。
【0048】時刻t2でマイクロプロセッサ10はステ
ップ200でデータライン1のレベルを検出する。デー
タライン1はハイであるため、ステップ201で引き続
き/BSYライン3をハイに保ち、ステップ202でト
ークン32を出力する。
ップ200でデータライン1のレベルを検出する。デー
タライン1はハイであるため、ステップ201で引き続
き/BSYライン3をハイに保ち、ステップ202でト
ークン32を出力する。
【0049】時刻t3でターゲットはシリアル割り込み
を発生させる。マイクロプロセッサ11とマイクロプロ
セッサ13はステップ220,221を実行するだけで
シリアル割り込み処理を終了する。これに対し、マイク
ロプロセッサ12はトークン32を受信しているため、
ステップ220,221を実行した後ステップ222を
実行する。マイクロプロセッサ12はマイクロプロセッ
サ11に対してデータフレームの転送を行うためにステ
ップ223でデータライン1上にロウを出力する。さら
に、ステップ224でシフトバッファにデータフレーム
の先頭バイトであるアドレスデータ60を書き込むこと
によって1バイトの転送準備を完了する。このアドレス
データ60の値は「00000010(2進表示)」で
あり、データフレームをアドレス値が1であるマイクロ
プロセッサ11へ送信することを示している。
を発生させる。マイクロプロセッサ11とマイクロプロ
セッサ13はステップ220,221を実行するだけで
シリアル割り込み処理を終了する。これに対し、マイク
ロプロセッサ12はトークン32を受信しているため、
ステップ220,221を実行した後ステップ222を
実行する。マイクロプロセッサ12はマイクロプロセッ
サ11に対してデータフレームの転送を行うためにステ
ップ223でデータライン1上にロウを出力する。さら
に、ステップ224でシフトバッファにデータフレーム
の先頭バイトであるアドレスデータ60を書き込むこと
によって1バイトの転送準備を完了する。このアドレス
データ60の値は「00000010(2進表示)」で
あり、データフレームをアドレス値が1であるマイクロ
プロセッサ11へ送信することを示している。
【0050】時刻t4でマイクロプロセッサ10はデー
タライン1のレベルがロウであることを検出し(ステッ
プ200)、ステップ204で/BSYライン3をロウ
に遷移させる。その後ステップ203でバイトクロック
を出力する。このバイトクロックでマイクロプロセッサ
12のシフトバッファ内のアドレスデータ60がデータ
ライン1上に出力される。
タライン1のレベルがロウであることを検出し(ステッ
プ200)、ステップ204で/BSYライン3をロウ
に遷移させる。その後ステップ203でバイトクロック
を出力する。このバイトクロックでマイクロプロセッサ
12のシフトバッファ内のアドレスデータ60がデータ
ライン1上に出力される。
【0051】時刻t5から開始されるシリアル割り込み
処理で、マイクロプロセッサ11とマイクロプロセッサ
13は/BSYライン3がロウであることを検出し(ス
テップ220)、自分はマスタではないので(ステップ
225)ステップ227を実行することになる。ステッ
プ227では、このシリアル割り込みが/BSYライン
3の立ち下がり後最初のシリアル割り込みであるため、
シフトバッファ内に受信しているデータフレームがアド
レスデータ60であると判断する。マイクロプロセッサ
11はアドレスデータ60のbit1が1であるためスレ
ーブとして指定されたと認識しステップ228へ進む
が、マイクロプロセッサ13はアドレスデータ60のbi
t3が0であるためスレーブとして指定されなかったと
認識しシリアル割り込み処理を終了する。ステップ22
8でマイクロプロセッサ11はアドレスデータ60を内
部のRAM領域に用意した受信バッファに書き込んでお
く。一方、マイクロプロセッサ12は時刻t5に開始さ
れるシリアル割り込み処理で、/BSYライン3がロウ
であることを認識し(ステップ220)、自分自身がマ
スタであるため(ステップ225)、ステップ226を
実行する。マイクロプロセッサ12はまだデータフレー
ムの転送を終了していないので、ステップ223,22
4を実行してコントロールデータ61をシフトバッファ
に書き込んでおく。マイクロプロセッサ12は時刻t5
と同様の処理を時刻t7,t9のシリアル割り込み処理
でも行う。
処理で、マイクロプロセッサ11とマイクロプロセッサ
13は/BSYライン3がロウであることを検出し(ス
テップ220)、自分はマスタではないので(ステップ
225)ステップ227を実行することになる。ステッ
プ227では、このシリアル割り込みが/BSYライン
3の立ち下がり後最初のシリアル割り込みであるため、
シフトバッファ内に受信しているデータフレームがアド
レスデータ60であると判断する。マイクロプロセッサ
11はアドレスデータ60のbit1が1であるためスレ
ーブとして指定されたと認識しステップ228へ進む
が、マイクロプロセッサ13はアドレスデータ60のbi
t3が0であるためスレーブとして指定されなかったと
認識しシリアル割り込み処理を終了する。ステップ22
8でマイクロプロセッサ11はアドレスデータ60を内
部のRAM領域に用意した受信バッファに書き込んでお
く。一方、マイクロプロセッサ12は時刻t5に開始さ
れるシリアル割り込み処理で、/BSYライン3がロウ
であることを認識し(ステップ220)、自分自身がマ
スタであるため(ステップ225)、ステップ226を
実行する。マイクロプロセッサ12はまだデータフレー
ムの転送を終了していないので、ステップ223,22
4を実行してコントロールデータ61をシフトバッファ
に書き込んでおく。マイクロプロセッサ12は時刻t5
と同様の処理を時刻t7,t9のシリアル割り込み処理
でも行う。
【0052】時刻t6でマイクロプロセッサ10はデー
タライン1のレベルがロウであることを検出し(ステッ
プ200)、ステップ204で/BSYライン3をロウ
を出力し、その後ステップ203でバイトクロックを出
力する。これと同じ動作をマイクロプロセッサ10は時
刻t8,t10,t12で行う。
タライン1のレベルがロウであることを検出し(ステッ
プ200)、ステップ204で/BSYライン3をロウ
を出力し、その後ステップ203でバイトクロックを出
力する。これと同じ動作をマイクロプロセッサ10は時
刻t8,t10,t12で行う。
【0053】時刻t7から開始されるシリアル割り込み
処理で、マイクロプロセッサ11とマイクロプロセッサ
13は時刻t5と同様のステップを経て、ステップ22
7を実行する。前回のステップ227実行時にマイクロ
プロセッサ11は自分自身がスレーブに指定されている
ことを認識しているため、ステップ228へ進み、受信
したデータを受信バッファに書き込んでおく。マイクロ
プロセッサ11は同様の処理を時刻t9でも行う。マイ
クロプロセッサ13は前回のステップ227実行時に自
分自身がスレーブに指定されなかったことを認識してい
るため、受信したデータを読み出すこともなくシリアル
受信割り込みを終了する。マイクロプロセッサ13は時
刻t9,11,13でも同様の処理を行う。
処理で、マイクロプロセッサ11とマイクロプロセッサ
13は時刻t5と同様のステップを経て、ステップ22
7を実行する。前回のステップ227実行時にマイクロ
プロセッサ11は自分自身がスレーブに指定されている
ことを認識しているため、ステップ228へ進み、受信
したデータを受信バッファに書き込んでおく。マイクロ
プロセッサ11は同様の処理を時刻t9でも行う。マイ
クロプロセッサ13は前回のステップ227実行時に自
分自身がスレーブに指定されなかったことを認識してい
るため、受信したデータを読み出すこともなくシリアル
受信割り込みを終了する。マイクロプロセッサ13は時
刻t9,11,13でも同様の処理を行う。
【0054】以上の手順を経て、マイクロプロセッサ1
2が出力する誤り検出コード63まで転送される。
2が出力する誤り検出コード63まで転送される。
【0055】時刻t11のシリアル割り込み処理では、
既に誤り検出コード63が送信済みであるので、マイク
ロプロセッサ12はステップ224で「00H(16進
表記)」をシフトバッファに書き込む。一方、マイクロ
プロセッサ11はステップ228でデータフレームがエ
ラー無しで受信できた場合に受信応答データ64をシフ
トバッファに書き込む。この時点でマイクロプロセッサ
11はスレーブではなくなる。これらのデータは時刻t
12のタイマ割り込み処理でマイクロプロセッサ10が
出力するバイトクロックでデータライン1上に出力され
る。シフトバッファは負論理でデータライン1上にデー
タを出力するため、このバイトクロックではマイクロプ
ロセッサ11が出力した受信応答データ64がマイクロ
プロセッサ12によって受信されることとなる。
既に誤り検出コード63が送信済みであるので、マイク
ロプロセッサ12はステップ224で「00H(16進
表記)」をシフトバッファに書き込む。一方、マイクロ
プロセッサ11はステップ228でデータフレームがエ
ラー無しで受信できた場合に受信応答データ64をシフ
トバッファに書き込む。この時点でマイクロプロセッサ
11はスレーブではなくなる。これらのデータは時刻t
12のタイマ割り込み処理でマイクロプロセッサ10が
出力するバイトクロックでデータライン1上に出力され
る。シフトバッファは負論理でデータライン1上にデー
タを出力するため、このバイトクロックではマイクロプ
ロセッサ11が出力した受信応答データ64がマイクロ
プロセッサ12によって受信されることとなる。
【0056】時刻t13のシリアル割り込みではマイク
ロプロセッサ12はステップ226で受信応答データ6
4をチェックし、データフレーム転送が終了しているの
でシリアル割り込み処理を終了する。一方、マイクロプ
ロセッサ11は既にスレーブではなくなっているのでス
テップ227を実行後シリアル割り込み処理を終了す
る。従って、時刻t13のシリアル割り込み処理ではデ
ータライン1がロウに駆動されることはない。
ロプロセッサ12はステップ226で受信応答データ6
4をチェックし、データフレーム転送が終了しているの
でシリアル割り込み処理を終了する。一方、マイクロプ
ロセッサ11は既にスレーブではなくなっているのでス
テップ227を実行後シリアル割り込み処理を終了す
る。従って、時刻t13のシリアル割り込み処理ではデ
ータライン1がロウに駆動されることはない。
【0057】時刻t14でデータライン1のレベルがハ
イであると検出したマイクロプロセッサ10は、ステッ
プ201で/BSYライン3をハイに遷移させ、再びト
ークンの配布を行う。前回のトークン配布はトークン3
2であったので、ステップ202ではマイクロプロセッ
サ13に対するトークンであるトークン33が出力され
る。
イであると検出したマイクロプロセッサ10は、ステッ
プ201で/BSYライン3をハイに遷移させ、再びト
ークンの配布を行う。前回のトークン配布はトークン3
2であったので、ステップ202ではマイクロプロセッ
サ13に対するトークンであるトークン33が出力され
る。
【0058】上記の説明では、ステップ223とステッ
プ224が別のステップとして実施されるように説明し
たが、スタートコンディション付きのシリアル転送が可
能なシフトバッファを使用すれば1ステップで実行でき
る。以下、図9を用いて詳細に説明する。
プ224が別のステップとして実施されるように説明し
たが、スタートコンディション付きのシリアル転送が可
能なシフトバッファを使用すれば1ステップで実行でき
る。以下、図9を用いて詳細に説明する。
【0059】図9は1チップマイクロプロセッサ(例え
ば、MN18888:松下電子工業株式会社製)のスタ
ートコンディション付きシリアル転送のタイミング図で
あり、外部クロック、かつ、スタートコンディション有
りの条件で転送を行う場合のタイミングを示している。
シリアルデータの出力準備ができた段階(時刻t1)、
すなわち、内部のシフトレジスタに送信するデータが書
き込まれた段階でデータ出力ポートはハイインピーダン
ス状態からロウに移行する。この状態で外部からのクロ
ック入力が開始されると(時刻t2)、1バイトのデー
タがMSBから順にデータ出力ポートより出力される。
LSBの出力終了後(時刻t3)データ出力ポートはハ
イに移行する。さらに、所定期間経過すると再びデータ
出力ポートはハイインピーダンス状態に移行する(時刻
t4)。スタートコンディションは転送側と受信側でバ
イト単位の同期を取ることが本来の使用目的である。す
なわち、データの転送に先だって、クロックラインがハ
イの時にデータラインをロウに移行させることによって
受信側はクロックのカウンタをリセットし、結果として
送信側と受信側のバイト単位の同期を取ることが可能で
ある。このようにスタートコンディションは、ノイズに
よる転送のビットずれを防ぐことを目的としている。こ
のスタートコンディションの機能を利用すれば、ターゲ
ットはシフトバッファに転送データを書き込むだけでデ
ータライン1をロウ駆動することができる。すなわち、
図8のステップ223と224は同時に実行されること
になる。
ば、MN18888:松下電子工業株式会社製)のスタ
ートコンディション付きシリアル転送のタイミング図で
あり、外部クロック、かつ、スタートコンディション有
りの条件で転送を行う場合のタイミングを示している。
シリアルデータの出力準備ができた段階(時刻t1)、
すなわち、内部のシフトレジスタに送信するデータが書
き込まれた段階でデータ出力ポートはハイインピーダン
ス状態からロウに移行する。この状態で外部からのクロ
ック入力が開始されると(時刻t2)、1バイトのデー
タがMSBから順にデータ出力ポートより出力される。
LSBの出力終了後(時刻t3)データ出力ポートはハ
イに移行する。さらに、所定期間経過すると再びデータ
出力ポートはハイインピーダンス状態に移行する(時刻
t4)。スタートコンディションは転送側と受信側でバ
イト単位の同期を取ることが本来の使用目的である。す
なわち、データの転送に先だって、クロックラインがハ
イの時にデータラインをロウに移行させることによって
受信側はクロックのカウンタをリセットし、結果として
送信側と受信側のバイト単位の同期を取ることが可能で
ある。このようにスタートコンディションは、ノイズに
よる転送のビットずれを防ぐことを目的としている。こ
のスタートコンディションの機能を利用すれば、ターゲ
ットはシフトバッファに転送データを書き込むだけでデ
ータライン1をロウ駆動することができる。すなわち、
図8のステップ223と224は同時に実行されること
になる。
【0060】図9に示したタイミングでシリアル転送を
行うマイクロプロセッサを使用する場合、データ出力ポ
ートが3値出力ポートとなっているため、データ出力ポ
ート17とデータライン1の間にオープンコレクタ出力
のゲートを入れる。
行うマイクロプロセッサを使用する場合、データ出力ポ
ートが3値出力ポートとなっているため、データ出力ポ
ート17とデータライン1の間にオープンコレクタ出力
のゲートを入れる。
【0061】以上のように本実施例によれば、コントロ
ーラは予め定められた検出タイミングでデータラインの
レベル検出を行い、検出タイミングでデータラインが高
レベルであれば次回の検出タイミングまで制御ラインを
偽のレベルに保つと共にトークンを送信し、検出タイミ
ングでデータラインが低レベルであれば、次回の検出タ
イミングまで制御ラインを真のレベルに保つと共にクロ
ックラインに1転送単位分の転送用クロックを出力し、
一方、ターゲットは、自分自身宛てのトークンを受信し
てデータフレームの転送を開始する場合には、データフ
レームを構成する各データの転送が完了するまでの間
は、次の検出タイミングまでにデータラインを低レベル
に遷移させると共に、コントローラが出力する転送用ク
ロックに同期してデータラインを用いてデータフレーム
の転送を行うことにより、/BSYライン用にコントロ
ーラは出力ポートを、ターゲットは入力ポートを用意す
るだけで良い。また、/BSY信号の操作はバイトクロ
ックの出力直前に行われるため、シリアル割り込みで/
BSYラインをモニタしても/BSY信号の誤認識が発
生しない。
ーラは予め定められた検出タイミングでデータラインの
レベル検出を行い、検出タイミングでデータラインが高
レベルであれば次回の検出タイミングまで制御ラインを
偽のレベルに保つと共にトークンを送信し、検出タイミ
ングでデータラインが低レベルであれば、次回の検出タ
イミングまで制御ラインを真のレベルに保つと共にクロ
ックラインに1転送単位分の転送用クロックを出力し、
一方、ターゲットは、自分自身宛てのトークンを受信し
てデータフレームの転送を開始する場合には、データフ
レームを構成する各データの転送が完了するまでの間
は、次の検出タイミングまでにデータラインを低レベル
に遷移させると共に、コントローラが出力する転送用ク
ロックに同期してデータラインを用いてデータフレーム
の転送を行うことにより、/BSYライン用にコントロ
ーラは出力ポートを、ターゲットは入力ポートを用意す
るだけで良い。また、/BSY信号の操作はバイトクロ
ックの出力直前に行われるため、シリアル割り込みで/
BSYラインをモニタしても/BSY信号の誤認識が発
生しない。
【0062】次に、本発明の第2の実施例を図面を用い
て説明する。本実施例では第1の実施例と異なり、マイ
クロプロセッサ11,マイクロプロセッサ12,マイク
ロプロセッサ13は/BSYライン3を外部割り込み入
力ポートでモニタしている。トークンやフレームのフォ
ーマット,トークンの配布手順は第1の実施例と同じで
あるので説明は省略し、トークンを受信したターゲット
であるマイクロプロセッサがデータフレームの転送を行
う場合の動作について、図10,図11,図12,図1
3を用いて説明する。
て説明する。本実施例では第1の実施例と異なり、マイ
クロプロセッサ11,マイクロプロセッサ12,マイク
ロプロセッサ13は/BSYライン3を外部割り込み入
力ポートでモニタしている。トークンやフレームのフォ
ーマット,トークンの配布手順は第1の実施例と同じで
あるので説明は省略し、トークンを受信したターゲット
であるマイクロプロセッサがデータフレームの転送を行
う場合の動作について、図10,図11,図12,図1
3を用いて説明する。
【0063】図10はマイクロプロセッサ12がマスタ
となって、スレーブであるマイクロプロセッサ11との
間でデータフレームの転送を行う際のタイミング図であ
る。図10において、100,101,102,10
3,104,105,106,107は図6と同様であ
る。113,114,115はそれぞれマイクロプロセ
ッサ11,マイクロプロセッサ12,マイクロプロセッ
サ13が行う割り込み処理の様子を時系列的に示してい
る。Exで示した割り込み処理は/BSYライン3の立
ち上がりもしくは立ち下がりで起動される外部割り込み
処理である。また、Srで示した割り込み処理はシリア
ル割り込み処理である。
となって、スレーブであるマイクロプロセッサ11との
間でデータフレームの転送を行う際のタイミング図であ
る。図10において、100,101,102,10
3,104,105,106,107は図6と同様であ
る。113,114,115はそれぞれマイクロプロセ
ッサ11,マイクロプロセッサ12,マイクロプロセッ
サ13が行う割り込み処理の様子を時系列的に示してい
る。Exで示した割り込み処理は/BSYライン3の立
ち上がりもしくは立ち下がりで起動される外部割り込み
処理である。また、Srで示した割り込み処理はシリア
ル割り込み処理である。
【0064】図11はマイクロプロセッサ10が行うタ
イマ割込処理の概略フローチャートである。マイクロプ
ロセッサ10はマスタでもスレーブでもない場合には図
7に示したフローチャートに従った動作を行う。図10
の時刻t2,t4,t6,・・・,t16でステップ2
00が実行される。
イマ割込処理の概略フローチャートである。マイクロプ
ロセッサ10はマスタでもスレーブでもない場合には図
7に示したフローチャートに従った動作を行う。図10
の時刻t2,t4,t6,・・・,t16でステップ2
00が実行される。
【0065】図12はターゲットが行うシリアル割り込
み処理の概略フローチャートである。シリアル割り込み
処理では割り込みモードによって実行される処理が異な
る。割り込みモードには「トークン待ち」,「マス
タ」,「アドレス検出」,「スレーブ」の4種がある。
「トークン待ち」では受信したトークンが自分宛てかど
うかを判定する。「マスタ」ではマスタとしてのデータ
フレームの転送を行う。「アドレス検出」では自分自身
がスレーブに指定されたかどうかを判定する。「スレー
ブ」ではスレーブとしてのデータフレームの転送処理を
行う。割り込みモードが「トークン待ち」では/BSY
ライン3はハイであるが、その他の割り込みモードでは
ロウである。
み処理の概略フローチャートである。シリアル割り込み
処理では割り込みモードによって実行される処理が異な
る。割り込みモードには「トークン待ち」,「マス
タ」,「アドレス検出」,「スレーブ」の4種がある。
「トークン待ち」では受信したトークンが自分宛てかど
うかを判定する。「マスタ」ではマスタとしてのデータ
フレームの転送を行う。「アドレス検出」では自分自身
がスレーブに指定されたかどうかを判定する。「スレー
ブ」ではスレーブとしてのデータフレームの転送処理を
行う。割り込みモードが「トークン待ち」では/BSY
ライン3はハイであるが、その他の割り込みモードでは
ロウである。
【0066】図13はターゲットが行う外部割り込み処
理の概略フローチャートである。ターゲットは/BSY
ライン3の立ち上がり時、もしくは立ち上がり時に外部
割り込みを発生させ、図13に示した処理を実行する。
理の概略フローチャートである。ターゲットは/BSY
ライン3の立ち上がり時、もしくは立ち上がり時に外部
割り込みを発生させ、図13に示した処理を実行する。
【0067】初期状態ではデータフレームの転送要求が
発生しているマイクロプロセッサはマイクロプロセッサ
12とマイクロプロセッサ13であるとする。従って、
マイクロプロセッサ12とマイクロプロセッサ13は割
り込みモード=「トークン待ち」でシリアル割り込みが
許可されている。また、マイクロプロセッサ11,マイ
クロプロセッサ12,マイクロプロセッサ13は/BS
Yライン3の立ち下がり割り込みが許可されている。
発生しているマイクロプロセッサはマイクロプロセッサ
12とマイクロプロセッサ13であるとする。従って、
マイクロプロセッサ12とマイクロプロセッサ13は割
り込みモード=「トークン待ち」でシリアル割り込みが
許可されている。また、マイクロプロセッサ11,マイ
クロプロセッサ12,マイクロプロセッサ13は/BS
Yライン3の立ち下がり割り込みが許可されている。
【0068】この状態で、マイクロプロセッサ10はマ
イクロプロセッサ11に対してトークン31を出力す
る。マイクロプロセッサ11はデータフレームの転送要
求が発生していないため、シリアル割り込みは発生しな
い。マイクロプロセッサ12はシリアル割り込み処理1
30で図12に示した処理を行う。まず、ステップ25
9で現在の割り込みモードを判定する。割り込みモード
=「トークン待ち」であるので、ステップ221で受信
したトークンが自分宛てかどうか判定するが、トークン
31はマイクロプロセッサ11宛てのトークンであるた
めシリアル割り込み処理を終了する。マイクロプロセッ
サ13もシリアル割り込み処理140でシリアル割り込
み処理130と同様の処理を行う。
イクロプロセッサ11に対してトークン31を出力す
る。マイクロプロセッサ11はデータフレームの転送要
求が発生していないため、シリアル割り込みは発生しな
い。マイクロプロセッサ12はシリアル割り込み処理1
30で図12に示した処理を行う。まず、ステップ25
9で現在の割り込みモードを判定する。割り込みモード
=「トークン待ち」であるので、ステップ221で受信
したトークンが自分宛てかどうか判定するが、トークン
31はマイクロプロセッサ11宛てのトークンであるた
めシリアル割り込み処理を終了する。マイクロプロセッ
サ13もシリアル割り込み処理140でシリアル割り込
み処理130と同様の処理を行う。
【0069】時刻t2でマイクロプロセッサ10はステ
ップ200でデータライン1のレベルを検出する。デー
タライン1はハイであるため、ステップ251で自分自
身が/BSYライン3にハイを出力中かどうかを判定す
る。時刻t2ではハイを出力中であるので、ステップ2
02でトークン32を出力する。
ップ200でデータライン1のレベルを検出する。デー
タライン1はハイであるため、ステップ251で自分自
身が/BSYライン3にハイを出力中かどうかを判定す
る。時刻t2ではハイを出力中であるので、ステップ2
02でトークン32を出力する。
【0070】時刻t3でマイクロプロセッサ12とマイ
クロプロセッサ13はシリアル割り込みを発生させる。
マイクロプロセッサ13はシリアル割り込み処理141
でシリアル割り込み処理140と同様の処理を行う。マ
イクロプロセッサ12はシリアル割り込み処理131を
実行する。マイクロプロセッサ12はトークン32を受
信しているため、ステップ259,221を実行した後
ステップ250を実行して割り込みモードを「マスタ」
に変更する。ステップ258では、時刻t5で/BSY
ライン3の立ち下がりによって外部割り込みが発生しな
いようにするため外部割り込みを禁止する。さらに、第
1の実施例と同じようにステップ223,224を実行
する。
クロプロセッサ13はシリアル割り込みを発生させる。
マイクロプロセッサ13はシリアル割り込み処理141
でシリアル割り込み処理140と同様の処理を行う。マ
イクロプロセッサ12はシリアル割り込み処理131を
実行する。マイクロプロセッサ12はトークン32を受
信しているため、ステップ259,221を実行した後
ステップ250を実行して割り込みモードを「マスタ」
に変更する。ステップ258では、時刻t5で/BSY
ライン3の立ち下がりによって外部割り込みが発生しな
いようにするため外部割り込みを禁止する。さらに、第
1の実施例と同じようにステップ223,224を実行
する。
【0071】時刻t4でマイクロプロセッサ10はデー
タライン1のレベルがロウであることを検出し(ステッ
プ200)、ステップ250で自分自身が/BSYライ
ン3にロウを出力中かどうかを判定する。時刻t4では
ハイを出力中であるので、ステップ204で/BSYラ
イン3にロウを出力する(時刻t5)。
タライン1のレベルがロウであることを検出し(ステッ
プ200)、ステップ250で自分自身が/BSYライ
ン3にロウを出力中かどうかを判定する。時刻t4では
ハイを出力中であるので、ステップ204で/BSYラ
イン3にロウを出力する(時刻t5)。
【0072】時刻t5ではマイクロプロセッサ11とマ
イクロプロセッサ13に/BSYライン3の立ち下がり
による外部割り込みが発生する。外部割り込み処理12
0ではまず図13のステップ274で外部割り込みの割
り込み要因がチェックされる。時刻t5では立ち下がり
割り込みが発生しているので、ステップ272で割り込
みモードが「アドレス検出」に設定される。さらに、ス
テップ273でシリアル割り込みが許可される。同様の
処理をマイクロプロセッサ13は割り込み処理142で
実行する。
イクロプロセッサ13に/BSYライン3の立ち下がり
による外部割り込みが発生する。外部割り込み処理12
0ではまず図13のステップ274で外部割り込みの割
り込み要因がチェックされる。時刻t5では立ち下がり
割り込みが発生しているので、ステップ272で割り込
みモードが「アドレス検出」に設定される。さらに、ス
テップ273でシリアル割り込みが許可される。同様の
処理をマイクロプロセッサ13は割り込み処理142で
実行する。
【0073】時刻t6でマイクロプロセッサ10はデー
タライン1のレベルがロウであることを検出し(ステッ
プ200)、ステップ250で自分自身が/BSYライ
ン3にロウを出力中かどうかを判定する。時刻t4では
ロウを出力中であるので、ステップ203でクロックラ
イン2にバイトクロックを出力する。マイクロプロセッ
サ12がシリアル割り込み処理131でシフトバッファ
に書き込んだアドレスデータ60がこのバイトクロック
でデータライン1上に出力される。マイクロプロセッサ
10は時刻t6と同様の処理を時刻t8,t10,t1
2でも繰り返す。
タライン1のレベルがロウであることを検出し(ステッ
プ200)、ステップ250で自分自身が/BSYライ
ン3にロウを出力中かどうかを判定する。時刻t4では
ロウを出力中であるので、ステップ203でクロックラ
イン2にバイトクロックを出力する。マイクロプロセッ
サ12がシリアル割り込み処理131でシフトバッファ
に書き込んだアドレスデータ60がこのバイトクロック
でデータライン1上に出力される。マイクロプロセッサ
10は時刻t6と同様の処理を時刻t8,t10,t1
2でも繰り返す。
【0074】時刻t7でマイクロプロセッサ11とマイ
クロプロセッサ12はそれぞれシリアル割り込み処理1
21とシリアル割り込み処理143の実行を開始する。
双方のマイクロプロセッサは割り込みモードが「アドレ
ス検出」であるので、ステップ252で自身がスレーブ
として指定されたかどうかを判定する。マイクロプロセ
ッサ11はアドレスデータ60のbit1が1であるため
スレーブとして指定されたと認識しステップ253へ進
むが、マイクロプロセッサ13はアドレスデータ60の
bit3が0であるためスレーブとして指定されなかった
と認識し、ステップ251へ進む。ステップ253でマ
イクロプロセッサ11は割り込みモードを「スレーブ」
に変更する。さらに、ステップ228で第1の実施例と
同様にアドレスデータ60を内部のRAM領域に用意し
た受信バッファに書き込んでおく。その後ステップ25
4で受信終了かどうか判定するが、まだデータフレーム
の受信は完了していないのでそのままシリアル割り込み
処理121を終了する。マイクロプロセッサ11は同様
の処理を誤り検出コード63を受信するまで繰り返す。
一方、スレーブとして指定されなかったマイクロプロセ
ッサ13はステップ251で転送待ちフレームが存在す
るかどうかを判定する。マイクロプロセッサ13はフレ
ームの転送要求が発生しているので、ステップ256で
/BSYライン3の立ち上がりで外部割り込みが発生す
るように設定した後、ステップ257でシリアル割り込
みを禁止してシリアル割り込み処理143を終了する。
従って、マイクロプロセッサ13は外部割り込み処理で
シリアル割り込みを許可するまでシリアル割り込みを発
生しない。一方、マイクロプロセッサ12は時刻t7に
開始されるシリアル割り込み処理132で、割り込みモ
ードが「マスタ」であることを認識し(ステップ25
9)、ステップ226を実行する。マイクロプロセッサ
12はまだデータフレームの転送を終了していないの
で、ステップ223,224を実行してデータフレーム
の第2バイトであるコントロールデータ61をシフトバ
ッファに書き込んでおく。マイクロプロセッサ12はシ
リアル割り込み処理132と同様の処理を誤り検出コー
ド63をシフトバッファに書き込むまで行う。
クロプロセッサ12はそれぞれシリアル割り込み処理1
21とシリアル割り込み処理143の実行を開始する。
双方のマイクロプロセッサは割り込みモードが「アドレ
ス検出」であるので、ステップ252で自身がスレーブ
として指定されたかどうかを判定する。マイクロプロセ
ッサ11はアドレスデータ60のbit1が1であるため
スレーブとして指定されたと認識しステップ253へ進
むが、マイクロプロセッサ13はアドレスデータ60の
bit3が0であるためスレーブとして指定されなかった
と認識し、ステップ251へ進む。ステップ253でマ
イクロプロセッサ11は割り込みモードを「スレーブ」
に変更する。さらに、ステップ228で第1の実施例と
同様にアドレスデータ60を内部のRAM領域に用意し
た受信バッファに書き込んでおく。その後ステップ25
4で受信終了かどうか判定するが、まだデータフレーム
の受信は完了していないのでそのままシリアル割り込み
処理121を終了する。マイクロプロセッサ11は同様
の処理を誤り検出コード63を受信するまで繰り返す。
一方、スレーブとして指定されなかったマイクロプロセ
ッサ13はステップ251で転送待ちフレームが存在す
るかどうかを判定する。マイクロプロセッサ13はフレ
ームの転送要求が発生しているので、ステップ256で
/BSYライン3の立ち上がりで外部割り込みが発生す
るように設定した後、ステップ257でシリアル割り込
みを禁止してシリアル割り込み処理143を終了する。
従って、マイクロプロセッサ13は外部割り込み処理で
シリアル割り込みを許可するまでシリアル割り込みを発
生しない。一方、マイクロプロセッサ12は時刻t7に
開始されるシリアル割り込み処理132で、割り込みモ
ードが「マスタ」であることを認識し(ステップ25
9)、ステップ226を実行する。マイクロプロセッサ
12はまだデータフレームの転送を終了していないの
で、ステップ223,224を実行してデータフレーム
の第2バイトであるコントロールデータ61をシフトバ
ッファに書き込んでおく。マイクロプロセッサ12はシ
リアル割り込み処理132と同様の処理を誤り検出コー
ド63をシフトバッファに書き込むまで行う。
【0075】時刻t11のシリアル割り込み処理134
では、既に誤り検出コード63が送信済みであるので、
マイクロプロセッサ12はステップ224で「00H
(16進表記)」をシフトバッファに書き込む。一方、
マイクロプロセッサ11はシリアル割り込み処理123
のステップ228でデータフレームがエラー無しで受信
できた場合に受信応答データ64をシフトバッファに書
き込む。この時点でマイクロプロセッサ11は受信処理
を終了するので、ステップ251に進んで転送待ちフレ
ームの存在をチェックする。マイクロプロセッサ11は
転送待ちフレームが存在しないので、ステップ255に
進み、/BSYライン3の立ち下がりで外部割り込みが
発生するように立ち下がり割り込みを許可しておく。さ
らに、ステップ257でシリアル割り込みを禁止しシリ
アル割り込み処理123を終了する。従って、マイクロ
プロセッサ11は他のマイクロプロセッサが/BSYラ
イン3をハイからロウに変化させるまではバスを無視す
ることになる。もちろん、/BSYライン3がハイの時
にデータフレームの転送要求が発生すれば、マイクロプ
ロセッサ11は割り込みモードを「トークン待ち」とし
てシリアル割り込みを許可すれば良い。
では、既に誤り検出コード63が送信済みであるので、
マイクロプロセッサ12はステップ224で「00H
(16進表記)」をシフトバッファに書き込む。一方、
マイクロプロセッサ11はシリアル割り込み処理123
のステップ228でデータフレームがエラー無しで受信
できた場合に受信応答データ64をシフトバッファに書
き込む。この時点でマイクロプロセッサ11は受信処理
を終了するので、ステップ251に進んで転送待ちフレ
ームの存在をチェックする。マイクロプロセッサ11は
転送待ちフレームが存在しないので、ステップ255に
進み、/BSYライン3の立ち下がりで外部割り込みが
発生するように立ち下がり割り込みを許可しておく。さ
らに、ステップ257でシリアル割り込みを禁止しシリ
アル割り込み処理123を終了する。従って、マイクロ
プロセッサ11は他のマイクロプロセッサが/BSYラ
イン3をハイからロウに変化させるまではバスを無視す
ることになる。もちろん、/BSYライン3がハイの時
にデータフレームの転送要求が発生すれば、マイクロプ
ロセッサ11は割り込みモードを「トークン待ち」とし
てシリアル割り込みを許可すれば良い。
【0076】シリアル割り込み処理123でシフトバッ
ファ内に書き込まれた受信応答データ64は、第1の実
施例と同様に、時刻t12のタイマ割り込み処理でマイ
クロプロセッサ10が出力するバイトクロックでマイク
ロプロセッサ12へ送信される。
ファ内に書き込まれた受信応答データ64は、第1の実
施例と同様に、時刻t12のタイマ割り込み処理でマイ
クロプロセッサ10が出力するバイトクロックでマイク
ロプロセッサ12へ送信される。
【0077】時刻t13でシリアル割り込みが発生する
のはマイクロプロセッサ12だけである。シリアル割り
込み処理135で、マイクロプロセッサ12はステップ
226で受信応答データ64をチェックし、データフレ
ーム転送が終了しているのでステップ251に進む。マ
イクロプロセッサ12には新たなデータフレームの転送
要求が発生していないので、ステップ251,255,
257を実行する。その結果マイクロプロセッサ11と
同様に、シリアル割り込み禁止で立ち下がり割り込み許
可の状態でシリアル割り込み処理135を終了する。こ
の時点ではデータフレームの転送が終了しているため、
データライン1はハイに保たれたままである。
のはマイクロプロセッサ12だけである。シリアル割り
込み処理135で、マイクロプロセッサ12はステップ
226で受信応答データ64をチェックし、データフレ
ーム転送が終了しているのでステップ251に進む。マ
イクロプロセッサ12には新たなデータフレームの転送
要求が発生していないので、ステップ251,255,
257を実行する。その結果マイクロプロセッサ11と
同様に、シリアル割り込み禁止で立ち下がり割り込み許
可の状態でシリアル割り込み処理135を終了する。こ
の時点ではデータフレームの転送が終了しているため、
データライン1はハイに保たれたままである。
【0078】時刻t14でマイクロプロセッサ10はデ
ータライン1のレベルがハイであることを検出し(ステ
ップ200)、ステップ251で自分自身が/BSYラ
イン3にハイを出力中かどうかを判定する。時刻t14
ではロウを出力中であるので、ステップ201で/BS
Yライン3にハイを出力する(時刻t15)。
ータライン1のレベルがハイであることを検出し(ステ
ップ200)、ステップ251で自分自身が/BSYラ
イン3にハイを出力中かどうかを判定する。時刻t14
ではロウを出力中であるので、ステップ201で/BS
Yライン3にハイを出力する(時刻t15)。
【0079】時刻t15では/BSYライン3の立ち上
がりに起因する外部割り込みがマイクロプロセッサ13
に発生する。この外部割り込み処理144では図13に
示したフローチャートに従って処理が行われる。まず、
ステップ274で外部割り込みの割り込み要因がチェッ
クされる。時刻t15では立ち上がり割り込みが発生し
ているので、ステップ271で割り込みモードが「トー
クン待ち」に設定される。さらに、ステップ273でシ
リアル割り込みが許可される。
がりに起因する外部割り込みがマイクロプロセッサ13
に発生する。この外部割り込み処理144では図13に
示したフローチャートに従って処理が行われる。まず、
ステップ274で外部割り込みの割り込み要因がチェッ
クされる。時刻t15では立ち上がり割り込みが発生し
ているので、ステップ271で割り込みモードが「トー
クン待ち」に設定される。さらに、ステップ273でシ
リアル割り込みが許可される。
【0080】時刻t16のタイマ割り込み処理でマイク
ロプロセッサ10は時刻t2と同様の処理を行い、ステ
ップ202でトークン33を出力する。
ロプロセッサ10は時刻t2と同様の処理を行い、ステ
ップ202でトークン33を出力する。
【0081】時刻t17のシリアル割込み処理145で
自分宛てのトークン33を受信したマイクロプロセッサ
13は、マイクロプロセッサ12がシリアル割込み処理
131で実行したのと同じ処理を行い、データライン1
をロウに駆動する。
自分宛てのトークン33を受信したマイクロプロセッサ
13は、マイクロプロセッサ12がシリアル割込み処理
131で実行したのと同じ処理を行い、データライン1
をロウに駆動する。
【0082】上記の第2の実施例でも、第1の実施例と
同様に、スタートコンディション付きのシリアル転送が
可能なシフトバッファを使用すればステップ223とス
テップ224は1ステップで実行できる。
同様に、スタートコンディション付きのシリアル転送が
可能なシフトバッファを使用すればステップ223とス
テップ224は1ステップで実行できる。
【0083】また、図12で示したターゲットのシリア
ル割り込み処理では、説明を分かりやすくするためにス
テップ257ではシリアル割り込みを禁止する処理を行
っている。しかしながら、一般の1チップのマイクロプ
ロセッサでは割り込みが発生すると、その割り込み処理
内で割り込みを許可しない限り次回に割り込みが発生し
ないようになっている。従って、実際のプログラミング
ではステップ257の代わりに、ステップ257を実行
せずに割り込み処理が終了する場合にはシリアル割り込
みを許可するステップが必要になる。
ル割り込み処理では、説明を分かりやすくするためにス
テップ257ではシリアル割り込みを禁止する処理を行
っている。しかしながら、一般の1チップのマイクロプ
ロセッサでは割り込みが発生すると、その割り込み処理
内で割り込みを許可しない限り次回に割り込みが発生し
ないようになっている。従って、実際のプログラミング
ではステップ257の代わりに、ステップ257を実行
せずに割り込み処理が終了する場合にはシリアル割り込
みを許可するステップが必要になる。
【0084】以上のように本実施例によれば、コントロ
ーラは予め定められた検出タイミングでデータラインの
レベル検出を行い、検出タイミングでデータラインが高
レベルであると共に制御ラインに真のレベルを出力中で
ある場合には制御ラインへの偽のレベルの出力を開始
し、検出タイミングでデータラインが高レベルであると
共に制御ラインに偽のレベルを出力中である場合にはト
ークンを送信し、検出タイミングでデータラインが低レ
ベルであると共に制御ラインに偽のレベルを出力中であ
る場合には制御ラインへの真のレベルの出力を開始し、
検出タイミングでデータラインが低レベルであると共に
制御ラインに真のレベルを出力中である場合にはクロッ
クラインに1転送単位分の転送用クロックを出力し、一
方、ターゲットは、自分自身宛てのトークンを受信して
データフレームの転送を開始する場合には、データフレ
ームを構成する各データの転送が完了するまでの間は、
次の検出タイミングまでにデータラインを低レベルに遷
移させると共に、コントローラが出力する転送用クロッ
クに同期してデータラインを用いてデータフレームの転
送を行うことにより、/BSYライン用にコントローラ
は出力ポートをターゲットは入力ポートを用意するだけ
で良い。また、/BSY信号の操作とバイトクロックや
トークンの送信が全く独立に行われるため、シリアル割
り込みで/BSYラインをモニタしても/BSY信号の
誤認識は発生しない。
ーラは予め定められた検出タイミングでデータラインの
レベル検出を行い、検出タイミングでデータラインが高
レベルであると共に制御ラインに真のレベルを出力中で
ある場合には制御ラインへの偽のレベルの出力を開始
し、検出タイミングでデータラインが高レベルであると
共に制御ラインに偽のレベルを出力中である場合にはト
ークンを送信し、検出タイミングでデータラインが低レ
ベルであると共に制御ラインに偽のレベルを出力中であ
る場合には制御ラインへの真のレベルの出力を開始し、
検出タイミングでデータラインが低レベルであると共に
制御ラインに真のレベルを出力中である場合にはクロッ
クラインに1転送単位分の転送用クロックを出力し、一
方、ターゲットは、自分自身宛てのトークンを受信して
データフレームの転送を開始する場合には、データフレ
ームを構成する各データの転送が完了するまでの間は、
次の検出タイミングまでにデータラインを低レベルに遷
移させると共に、コントローラが出力する転送用クロッ
クに同期してデータラインを用いてデータフレームの転
送を行うことにより、/BSYライン用にコントローラ
は出力ポートをターゲットは入力ポートを用意するだけ
で良い。また、/BSY信号の操作とバイトクロックや
トークンの送信が全く独立に行われるため、シリアル割
り込みで/BSYラインをモニタしても/BSY信号の
誤認識は発生しない。
【0085】また、ターゲットは制御ラインを外部割り
込み入力ポートでモニタし、データフレームの転送要求
が発生していない場合で、かつ、制御ラインが偽のレベ
ルの場合にはシリアル割り込みを禁止し、制御ラインの
立ち下がり割り込み処理でシリアル割り込みを許可する
ことにより、データフレームの転送要求が発生していな
い場合にトークン受信のためのシリアル割り込み処理を
禁止することができる。
込み入力ポートでモニタし、データフレームの転送要求
が発生していない場合で、かつ、制御ラインが偽のレベ
ルの場合にはシリアル割り込みを禁止し、制御ラインの
立ち下がり割り込み処理でシリアル割り込みを許可する
ことにより、データフレームの転送要求が発生していな
い場合にトークン受信のためのシリアル割り込み処理を
禁止することができる。
【0086】また、ターゲットは自分以外のマイクロプ
ロセッサ間でデータフレームの転送が行われている場
合、シリアル割り込みを禁止することにより、制御ライ
ンが低レベルの場合のシリアル割り込み処理の回数を減
らすことができる。
ロセッサ間でデータフレームの転送が行われている場
合、シリアル割り込みを禁止することにより、制御ライ
ンが低レベルの場合のシリアル割り込み処理の回数を減
らすことができる。
【0087】また、ターゲットは自分以外のマイクロプ
ロセッサ間でデータフレームの転送が行われている状態
でデータフレームの転送要求が発生した場合、制御ライ
ンの立ち上がり割り込みでシリアル割り込みを許可する
ことにより、転送要求が発生してからトークン取得まで
のシリアル割り込みの回数を最小限におさえることがで
きる。
ロセッサ間でデータフレームの転送が行われている状態
でデータフレームの転送要求が発生した場合、制御ライ
ンの立ち上がり割り込みでシリアル割り込みを許可する
ことにより、転送要求が発生してからトークン取得まで
のシリアル割り込みの回数を最小限におさえることがで
きる。
【0088】なお、上記2つの実施例ではデバイスとし
て汎用のマイクロプロセッサを用いていたが、バスに接
続されるデバイスはマイクロプロセッサに限定されな
い。例えば、DSP等のLSIを接続することも可能で
ある。
て汎用のマイクロプロセッサを用いていたが、バスに接
続されるデバイスはマイクロプロセッサに限定されな
い。例えば、DSP等のLSIを接続することも可能で
ある。
【0089】また、上記2つの実施例ではデータフレー
ムをマスタが送信してスレーブが受信していたが、マス
タがスレーブにデータフレームを出力するように指示を
行い、スレーブがデータフレームの出力を行っても良
い。この場合には、トークンのフォーマットナンバーを
変えてデータフレームのフォーマットを変更すれば良
い。
ムをマスタが送信してスレーブが受信していたが、マス
タがスレーブにデータフレームを出力するように指示を
行い、スレーブがデータフレームの出力を行っても良
い。この場合には、トークンのフォーマットナンバーを
変えてデータフレームのフォーマットを変更すれば良
い。
【0090】
【発明の効果】以上のように発明は、コントローラは予
め定められた検出タイミングでデータラインのレベル検
出を行い、検出タイミングでデータラインが高レベルで
あれば次回の検出タイミングまで制御ラインを偽のレベ
ルに保つと共にトークンを送信し、検出タイミングでデ
ータラインが低レベルであれば、次回の検出タイミング
まで制御ラインを真のレベルに保つと共にクロックライ
ンに1転送単位分の転送用クロックを出力し、一方、タ
ーゲットは、自分自身宛てのトークンを受信してデータ
フレームの転送を開始する場合には、データフレームを
構成する各データの転送が完了するまでの間は、次の検
出タイミングまでにデータラインを低レベルに遷移させ
ると共に、コントローラが出力する転送用クロックに同
期してデータラインを用いてデータフレームの転送を行
うことにより、/BSYライン用にコントローラは出力
ポートをターゲットは入力ポートを用意するだけで良い
という効果が得られる。また、/BSY信号の操作はバ
イトクロックの出力直前に行われるため、シリアル割り
込みで/BSYラインをモニタしても/BSY信号の誤
認識が発生しないという効果が得られる。
め定められた検出タイミングでデータラインのレベル検
出を行い、検出タイミングでデータラインが高レベルで
あれば次回の検出タイミングまで制御ラインを偽のレベ
ルに保つと共にトークンを送信し、検出タイミングでデ
ータラインが低レベルであれば、次回の検出タイミング
まで制御ラインを真のレベルに保つと共にクロックライ
ンに1転送単位分の転送用クロックを出力し、一方、タ
ーゲットは、自分自身宛てのトークンを受信してデータ
フレームの転送を開始する場合には、データフレームを
構成する各データの転送が完了するまでの間は、次の検
出タイミングまでにデータラインを低レベルに遷移させ
ると共に、コントローラが出力する転送用クロックに同
期してデータラインを用いてデータフレームの転送を行
うことにより、/BSYライン用にコントローラは出力
ポートをターゲットは入力ポートを用意するだけで良い
という効果が得られる。また、/BSY信号の操作はバ
イトクロックの出力直前に行われるため、シリアル割り
込みで/BSYラインをモニタしても/BSY信号の誤
認識が発生しないという効果が得られる。
【0091】また、コントローラは検出タイミングでデ
ータラインが高レベルであると共に制御ラインに真のレ
ベルを出力中である場合には制御ラインへの偽のレベル
の出力を開始し、検出タイミングでデータラインが高レ
ベルであると共に制御ラインに偽のレベルを出力中であ
る場合にはトークンを送信し、検出タイミングでデータ
ラインが低レベルであると共に制御ラインに偽のレベル
を出力中である場合には制御ラインへの真のレベルの出
力を開始し、検出タイミングでデータラインが低レベル
であると共に制御ラインに真のレベルを出力中である場
合にはクロックラインに1転送単位分の転送用クロック
を出力することによっても、/BSYライン用にコント
ローラは出力ポートをターゲットは入力ポートを用意す
るだけで良いという効果が得られる。また、/BSY信
号の操作とバイトクロックやトークンの送信が全く独立
に行われるため、シリアル割り込みで/BSYラインを
モニタしても/BSY信号の誤認識は発生しないという
効果が得られる。
ータラインが高レベルであると共に制御ラインに真のレ
ベルを出力中である場合には制御ラインへの偽のレベル
の出力を開始し、検出タイミングでデータラインが高レ
ベルであると共に制御ラインに偽のレベルを出力中であ
る場合にはトークンを送信し、検出タイミングでデータ
ラインが低レベルであると共に制御ラインに偽のレベル
を出力中である場合には制御ラインへの真のレベルの出
力を開始し、検出タイミングでデータラインが低レベル
であると共に制御ラインに真のレベルを出力中である場
合にはクロックラインに1転送単位分の転送用クロック
を出力することによっても、/BSYライン用にコント
ローラは出力ポートをターゲットは入力ポートを用意す
るだけで良いという効果が得られる。また、/BSY信
号の操作とバイトクロックやトークンの送信が全く独立
に行われるため、シリアル割り込みで/BSYラインを
モニタしても/BSY信号の誤認識は発生しないという
効果が得られる。
【0092】さらに、ターゲットは制御ラインを外部割
り込み入力ポートでモニタし、データフレームの転送要
求が発生していない場合で、かつ、制御ラインが偽のレ
ベルの場合にはシリアル割り込みを禁止し、制御ライン
の立ち下がり割り込み処理でシリアル割り込みを許可す
ることにより、データフレームの転送要求が発生してい
ない場合にトークン受信のためのシリアル割り込み処理
を禁止することができるという効果が得られる。
り込み入力ポートでモニタし、データフレームの転送要
求が発生していない場合で、かつ、制御ラインが偽のレ
ベルの場合にはシリアル割り込みを禁止し、制御ライン
の立ち下がり割り込み処理でシリアル割り込みを許可す
ることにより、データフレームの転送要求が発生してい
ない場合にトークン受信のためのシリアル割り込み処理
を禁止することができるという効果が得られる。
【0093】さらに、ターゲットは自分以外のマイクロ
プロセッサ間でデータフレームの転送が行われている場
合、シリアル割り込みを禁止することにより、制御ライ
ンが低レベルの場合のシリアル割り込み処理の回数を減
らすことができるという効果が得られる。
プロセッサ間でデータフレームの転送が行われている場
合、シリアル割り込みを禁止することにより、制御ライ
ンが低レベルの場合のシリアル割り込み処理の回数を減
らすことができるという効果が得られる。
【0094】さらに、ターゲットは自分以外のマイクロ
プロセッサ間でデータフレームの転送が行われている状
態でデータフレームの転送要求が発生した場合、制御ラ
インの立ち上がり割り込みでシリアル割り込みを許可す
ることにより、転送要求が発生してからトークン取得ま
でのシリアル割り込みの回数を最小限におさえることが
できるという効果が得られる。
プロセッサ間でデータフレームの転送が行われている状
態でデータフレームの転送要求が発生した場合、制御ラ
インの立ち上がり割り込みでシリアル割り込みを許可す
ることにより、転送要求が発生してからトークン取得ま
でのシリアル割り込みの回数を最小限におさえることが
できるという効果が得られる。
【図1】本発明の第1の実施例および第2の実施例にお
けるデータ転送方法を用いてデータ転送を行うシステム
の構成を示すブロック図
けるデータ転送方法を用いてデータ転送を行うシステム
の構成を示すブロック図
【図2】同第1の実施例および第2の実施例におけるデ
ータライン1とクロックライン2の信号の関係を示すタ
イミング図
ータライン1とクロックライン2の信号の関係を示すタ
イミング図
【図3】同第1の実施例および第2の実施例におけるト
ークンのフォーマットを示す模式図
ークンのフォーマットを示す模式図
【図4】同第1の実施例および第2の実施例におけるデ
ータフレームのフォーマットを示す模式図
ータフレームのフォーマットを示す模式図
【図5】同第1の実施例および第2の実施例においてマ
イクロプロセッサ10が行うトークンの配布の様子を示
したタイミング図
イクロプロセッサ10が行うトークンの配布の様子を示
したタイミング図
【図6】同第1の実施例においてマイクロプロセッサ1
2がマスタとなって、スレーブであるマイクロプロセッ
サ11との間でデータフレームの転送を行う際のタイミ
ング図
2がマスタとなって、スレーブであるマイクロプロセッ
サ11との間でデータフレームの転送を行う際のタイミ
ング図
【図7】同第1の実施例におけるコントローラが実行す
るタイマ割り込み処理の概略フローチャート
るタイマ割り込み処理の概略フローチャート
【図8】同第1の実施例におけるターゲットが実行する
シリアル割り込み処理の概略フローチャート
シリアル割り込み処理の概略フローチャート
【図9】同第1の実施例におけるマイクロプロセッサの
スタートコンディション付きシリアル転送のタイミング
図
スタートコンディション付きシリアル転送のタイミング
図
【図10】同第2の実施例においてマイクロプロセッサ
12がマスタとなって、スレーブであるマイクロプロセ
ッサ11との間でデータフレームの転送を行う際のタイ
ミング図
12がマスタとなって、スレーブであるマイクロプロセ
ッサ11との間でデータフレームの転送を行う際のタイ
ミング図
【図11】同第2の実施例におけるコントローラが実行
するタイマ割り込み処理の概略フローチャート
するタイマ割り込み処理の概略フローチャート
【図12】同第2の実施例におけるターゲットが実行す
るシリアル割り込み処理の概略フローチャート
るシリアル割り込み処理の概略フローチャート
【図13】同第2の実施例におけるターゲットが実行す
る外部割り込み処理の概略フローチャート
る外部割り込み処理の概略フローチャート
1 データライン 2 クロックライン 3 /BSYライン 10,11,12,13, マイクロプロセッサ 14 /BSY信号入力ポート 15 クロック入力ポート 16 データ入力ポート 17 データ出力ポート 18 クロック出力ポート 19 /BSY信号出力ポート 60 アドレスデータ 61 コントロールデータ 62 ユーザーデータ 63 誤り検出コード 64 受信応答データ
Claims (8)
- 【請求項1】 1つのコントローラであるデバイスと1
つ以上のターゲットであるデバイスからなる複数のデバ
イス間でデータフレームを転送するデータ転送方法であ
って、 前記各デバイスは、1転送単位のシリアルデータが各デ
バイス間で間欠的に転送される双方向のデータライン
と、前記シリアルデータの転送用クロックを前記コント
ローラから前記ターゲットに供給するクロックライン
と、マスタとなったデバイスによるデータフレームの転
送が行われていることを前記コントローラが前記ターゲ
ットに示す制御ラインとの3本の信号ラインで互いに接
続されており、 前記コントローラは自身が前記マスタでない場合に予め
定められた検出タイミングで前記データラインのレベル
検出を行い、前記検出タイミングで前記データラインが
高レベルである場合には少なくとも次の検出タイミング
までは前記制御ラインを偽のレベルに保つと共に前記ク
ロックラインと前記データラインを用いてデバイスの1
つにトークンを送信し、前記検出タイミングで前記デー
タラインが低レベルである場合には少なくとも次の検出
タイミングまでは前記制御ラインを真のレベルに保つと
共に前記クロックラインに1転送単位分の転送用クロッ
クを出力し、 前記ターゲットは、前記制御ラインが偽のレベルの場合
に前記データラインと前記クロックラインを介してシリ
アルデータを受信すれば、受信したシリアルデータがト
ークンであると判断し、受信したトークンが自分自信宛
てのトークンであり、かつ、前記マスタとなってデータ
フレームの転送を開始する場合には、データフレームを
構成する各データの転送が完了するまでの間は、次の前
記検出タイミングまでに前記データラインを低レベルに
遷移させると共に、前記コントローラが出力する転送用
クロックに同期して前記データラインを用いてデータフ
レームの転送を行うことを特徴とするデータ転送方法。 - 【請求項2】 1つのコントローラであるデバイスと1
つ以上のターゲットであるデバイスからなる複数のデバ
イス間でデータフレームを転送するデータ転送方法であ
って、 前記各デバイスは、1転送単位のシリアルデータが各デ
バイス間で間欠的に転送される双方向のデータライン
と、前記シリアルデータの転送用クロックを前記コント
ローラから前記ターゲットに供給するクロックライン
と、マスタとなったデバイスによるデータフレームの転
送が行われていることを前記コントローラが前記ターゲ
ットに示す制御ラインとの3本の信号ラインで互いに接
続されており、 前記コントローラは自身が前記マスタでない場合に予め
定められた検出タイミングで前記データラインのレベル
検出を行い、前記検出タイミングで前記データラインが
高レベルであると共に自身が前記制御ラインに真のレベ
ルを出力中である場合には前記制御ラインへの偽のレベ
ルの出力を開始し、前記検出タイミングで前記データラ
インが高レベルであると共に自身が前記制御ラインに偽
のレベルを出力中である場合には前記クロックラインと
前記データラインを用いてデバイスの1つにトークンを
送信し、前記検出タイミングで前記データラインが低レ
ベルであると共に自身が前記制御ラインに偽のレベルを
出力中である場合には前記制御ラインへの真のレベルの
出力を開始し、前記検出タイミングで前記データライン
が低レベルであると共に自身が前記制御ラインに真のレ
ベルを出力中である場合には前記クロックラインに1転
送単位分の転送用クロックを出力し、 前記ターゲットは、前記制御ラインが偽のレベルの場合
に前記データラインと前記クロックラインを介してシリ
アルデータを受信すれば、受信したシリアルデータがト
ークンであると判断し、受信したトークンが自分自信宛
てのトークンであり、かつ、前記マスタとなってデータ
フレームの転送を開始する場合には、データフレームを
構成する各データの転送が完了するまでの間は、次の前
記検出タイミングまでに前記データラインを低レベルに
遷移させると共に、前記コントローラが出力する転送用
クロックに同期して前記データラインを用いてデータフ
レームの転送を行うことを特徴とするデータ転送方法。 - 【請求項3】 各デバイスにはそれぞれ固有のデバイス
アドレスが割り当てられており、トークンには前記デバ
イスアドレスを識別するアドレス識別子が含まれてお
り、ターゲットは受信したトークン内に含まれるアドレ
ス識別子を識別することによって受信したトークンが自
分宛てか否かを判定することを特徴とする請求項1もし
くは請求項2に記載のデータ転送方法。 - 【請求項4】 データフレームの転送はマスタと前記マ
スタから転送相手として指定されたデバイスである1つ
以上のスレーブとの間で行われ、 前記マスタはデータフレームの先頭で前記スレーブを指
定する識別データを出力し、 前記マスタ以外のデバイスは制御ラインが偽のレベルか
ら真のレベルに遷移した後で最初に受信したシリアルデ
ータを前記識別データとして認識し、前記識別データを
用いて自分がスレーブとして指定されたか否かを判定す
ることを特徴とする請求項1もしくは請求項2に記載の
データ転送方法。 - 【請求項5】 ターゲットは1転送単位のシリアルデー
タを受信もしくは送信する毎に起動されるシリアル転送
割り込み処理ルーチンで少なくとも制御ラインのレベル
検出を行うことを特徴とする請求項1もしくは請求項2
に記載のデータ転送方法。 - 【請求項6】 ターゲットは、制御ラインを外部割り込
み入力ポートでモニタし、1転送単位のシリアルデータ
を受信もしくは送信する毎に起動されるシリアル転送割
り込み処理ルーチンで少なくともトークンの判定処理お
よびデータフレームの転送処理を行い、データフレーム
の転送要求が発生していない場合で、かつ、制御ライン
が偽のレベルの場合にはシリアル転送割り込みを禁止
し、前記制御ラインが真のレベルに遷移したときに外部
割り込みを発生させ、外部割り込み処理ルーチンでシリ
アル転送割り込みを許可することを特徴とする請求項2
に記載のデータ転送方法。 - 【請求項7】 ターゲットは自分以外のデバイス間でデ
ータフレームの転送が行われている場合、シリアル転送
割り込みを禁止することを特徴とする請求項6に記載の
データ転送方法。 - 【請求項8】 ターゲットは自分以外のデバイス間でデ
ータフレームの転送が行われている状態でデータフレー
ムの転送要求が発生した場合、制御ラインが偽のレベル
に遷移したときに外部割り込みを発生させ、外部割り込
み処理でシリアル転送割り込みを許可することを特徴と
する請求項7に記載のデータ転送方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4094003A JPH05289990A (ja) | 1992-04-14 | 1992-04-14 | データ転送方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4094003A JPH05289990A (ja) | 1992-04-14 | 1992-04-14 | データ転送方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05289990A true JPH05289990A (ja) | 1993-11-05 |
Family
ID=14098250
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4094003A Pending JPH05289990A (ja) | 1992-04-14 | 1992-04-14 | データ転送方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05289990A (ja) |
-
1992
- 1992-04-14 JP JP4094003A patent/JPH05289990A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH04332065A (ja) | データ転送方法 | |
| US9274997B2 (en) | Point-to-point serial peripheral interface for data communication between devices configured in a daisy-chain | |
| JPH02227765A (ja) | デジタル・コンピユータのデータ転送装置 | |
| EP0631239B1 (en) | Serial data transfer method and system | |
| JPH02227766A (ja) | デジタル・コンピユータのデータ転送装置 | |
| JPS63288537A (ja) | 通信装置 | |
| EP3095038A1 (en) | Camera control interface extension with in-band interrupt | |
| US6591322B1 (en) | Method and apparatus for connecting single master devices to a multimaster wired-and bus environment | |
| US6763413B2 (en) | Method for the serial transfer of data between two electronic bus stations and bus station for use in said method | |
| JP2005128747A (ja) | シリアル転送バス用の送受信マクロを有する集積回路装置 | |
| JP2009535677A (ja) | I2cクロックの生成方法及びシステム | |
| JPH08255124A (ja) | データ処理システムおよび方法 | |
| JPH1153306A (ja) | データ処理装置、外部記憶装置、データ処理システム及びデータ伝送方法 | |
| US6115767A (en) | Apparatus and method of partially transferring data through bus and bus master control device | |
| JP5385722B2 (ja) | インターフェース回路 | |
| US5261083A (en) | Floppy disk controller interface for suppressing false verify cycle errors | |
| JPH05289990A (ja) | データ転送方法 | |
| JP3832733B2 (ja) | ポーリング装置および通信装置 | |
| CN121970033A (zh) | 串行数据总线上的错误状况的检测 | |
| TW200301437A (en) | Improved implementation of wait-states | |
| KR100266963B1 (ko) | 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치 | |
| JPH05173958A (ja) | データ転送方法 | |
| KR0184402B1 (ko) | I₂c 버스의 인터럽트 발생 장치 | |
| JPH05314067A (ja) | データ転送方法 | |
| JPH11163958A (ja) | 通信制御装置 |