JP3758689B2 - 中央演算処理装置間の通信方法 - Google Patents
中央演算処理装置間の通信方法 Download PDFInfo
- Publication number
- JP3758689B2 JP3758689B2 JP12829993A JP12829993A JP3758689B2 JP 3758689 B2 JP3758689 B2 JP 3758689B2 JP 12829993 A JP12829993 A JP 12829993A JP 12829993 A JP12829993 A JP 12829993A JP 3758689 B2 JP3758689 B2 JP 3758689B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- central processing
- communication
- processing units
- count value
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Description
【産業上の利用分野】
本発明は、中央演算処理装置間の通信方法に関する。
【0002】
【従来の技術】
各種家電製品、電気機器、光学機器等に内蔵され、それぞれ独立した機能を有する3個以上の中央演算処理装置間で通信を行う場合には、通常1個の中央演算処理装置をマスターとし、他の2個以上の中央演算処理装置をスレーブとして通信を行う。
【0003】
しかし、このような通信方法の場合、マスター中央演算処理装置とスレーブ中央演算処理装置間の通信は直接行われるが、スレーブ中央演算処理装置とスレーブ中央演算処理装置間の通信は、スレーブ中央演算処理装置間で直接行わず、マスター中央演算処理装置を一旦経由して行われるので、マスター中央演算処理装置の負担が大きいものとなる。
【0004】
このため、マスター中央演算処理装置は、スレーブ間での通信の間はその中継動作のために拘束され、本来の処理動作の実行が中断され、処理速度の低下を招く。
【0005】
【発明が解決しようとする課題】
本発明の目的は、それぞれ独立した機能を有する3個以上の中央演算処理装置間で通信を行う場合、それぞれの中央演算処理装置間において直接通信可能な中央演算処理装置間の通信方法を提供することにある。
【0006】
【課題を解決するための手段】
このような目的は、下記(1)〜(3)の本発明により達成される。
【0007】
(1) それぞれ独立した機能を有し、シリアルポートで相互に接続されている3個以上の中央演算処理装置間で通信を行う際の中央演算処理装置間の通信方法であって、
時分割された通信可能な時間帯のそれぞれに前記3個以上の中央演算処理装置のうちの信号を送信可能な中央演算処理装置および信号を受信可能な中央演算処理装置の組み合わせを割り当て、割り当てられた時間帯においてのみその組み合わせで、対応する中央演算処理装置の各シリアルポートを介して通信を行う装置において、
クロック信号をカウントし、一定の周期でカウント値が循環するカウンタを有し、
前記各中央演算処理装置は、それぞれ、前記クロック信号の入力によって開始される割り込み処理により、前記カウント値に基づいて、自己の中央演算処理装置が、現在の時間帯において、いずれの中央演算処理装置へ信号を送信可能か、または、いずれの中央演算処理装置から信号を受信可能か、または、通信不可能かを判別し、その判別結果に従って通信を行うことを特徴とする中央演算処理装置間の通信方法。
【0008】
(2) 前記組み合わせは、信号を送信可能な1つの中央演算処理装置と、信号を受信可能な1つの中央演算処理装置との組み合わせの集合である上記(1)に記載の中央演算処理装置間の通信方法。
【0009】
(3) 所定の組み合わせについては、その組み合わせで通信可能な時間帯の比率を他より高くする上記(1)または(2)に記載の中央演算処理装置間の通信方法。
【0011】
【実施例】
以下、本発明の中央演算処理装置間の通信方法を添付図面に示す好適実施例に基づいて詳細に説明する。なお、本発明の中央演算処理装置間の通信方法は、それぞれ独立した機能を有する3個以上の中央演算処理装置間で通信を行う際の通信方法であるが、代表的に中央演算処理装置が3個の場合について説明する。
【0012】
図1は、本発明の中央演算処理装置間の通信方法を適用した装置の中央演算処理装置周辺の構成例を示すブロック図である。
図示される装置は、第1CPU(Central Processing Unit )1、第2CPU2、第3CPU3、発信器4およびカウンタ5を有している。
【0013】
第1CPU1、第2CPU2および第3CPU3は、それぞれ独立した機能を有する中央演算処理装置、すなわち独立した機能を有するマイクロコンピュータである。
【0014】
例えば、本発明をカメラ内のCPU間の通信に適用した場合、CPUの機能としては、例えば、スイッチ回路、測光、測距等を含む主制御、シャッター駆動やフィルム巻き上げ等のメカ制御および表示システムの制御などが挙げられる。
【0015】
この場合、「それぞれ独立した機能を有する中央演算処理装置」とは、CPUを構成する回路やチップが独立しているという意味ではなく、前述したような各制御のそれぞれを担当するCPUの1単位をいう。例えば、第1CPU1が前記主制御、第2CPU2が前記メカ制御、第3CPU3が前記表示システムの制御をそれぞれ担当する場合、各CPUは、それぞれ独立した機能を有するということとなる。
従って、各CPU1〜3は、1つのチップに形成されていてもよく、または複数のチップに形成されていてもよい。
【0016】
各CPU1〜3は、それぞれ、通信用インターフェース回路(シリアルインターフェース)を内蔵しており、シリアルデータを送信するための端子SO(Serial data Output)、シリアルデータを受信するための端子SI(Serial data Input )、シリアルデータのクロック信号を送受信するための端子SCK(Serial data Clock )、割り込みのクロック信号を受信するための端子(割り込み入力端子)INT(Interrupt )等を有している。また、各CPU1〜3は、それぞれ、端子SOとSI、端子SCK同士が互いに接続されている。
【0017】
このような構成の回路において、発振器4では一定の周期のクロック信号が生成され、生成されたクロック信号は、カウンタ5の端子CLKおよび各CPU1〜3の割り込み入力端子INTのそれぞれに入力される。
【0018】
各CPU1〜3は、それぞれ割り込み入力端子INTからクロック信号が入力されると、後述する通信割り込み処理を開始する。なお、この通信割り込み処理は、通常、そのCPUでの主な処理をメインルーチンとした場合のサブルーチンとしてプログラムされている。
【0019】
カウンタ5はリングカウンタであり、このカウンタ5では、入力されるクロック信号に基づいて、0、1、2、3、4および5の順にカウント値がカウントアップされ、そのカウント値は一定の周期で循環される。このとき、カウンタ5からは、各カウント値0〜5のそれぞれに対応する3ビットのデジタル信号が出力され、3本のライン61、62および63を通じて各CPU1〜3のそれぞれに入力される。なお、各ライン61〜63は、それぞれ3ビットのデジタル信号のうちの1ビット分を担当している。
【0020】
本発明の中央演算処理装置間の通信方法は、各CPU1〜3のうち信号(シリアルデータ)を送信可能なCPUおよび信号を受信可能なCPUの組み合わせと、時分割された通信可能な時間帯とを設定し、この各時間帯のそれぞれに前記組み合わせを割り当て、割り当てられた時間帯においてのみその組み合わせで通信を行うことを可能とするものであり、本実施例では下記表1に示すように、カウンタ5の各カウント値0〜5と、この各カウント値に対応する時分割された各時間帯と、この時分割された各時間帯にのみ送信可能なCPUおよび受信可能なCPUの各組み合わせとが予め設定されている。この場合、送信可能なCPUと、受信可能なCPUとは、それぞれ1個ずつ組み合わされている。
なお、下記表1中の時分割された各時間帯は、全時間帯をt(tは任意の所定単位時間)とした場合のものである。
【0021】
【表1】
【0022】
カウンタ5から、カウント値0〜5に対応するデジタル信号が順次各CPU1〜3のそれぞれに送出された場合において、例えば、カウント値0に対応するデジタル信号が送出されてからカウント値1に対応するデジタル信号が送出されるまでの時間帯、すなわちカウント値0に対応する時間帯0〜t/6は、表1に示すように第1CPU1から第2CPU2への通信のみが可能となり、この他の組み合わせによる通信は禁止される。
【0023】
次に、カウントアップされてカウント値1となると、次の時間帯t/6〜2t/6の間は、表1に示すように第1CPU1から第3CPU3への通信のみが可能となり、この他の組み合わせによる通信は禁止される。
以下同様に、カウント値2〜5に対応する時間帯についても表1に示す組み合わせによる通信のみが可能となる。
【0024】
各CPU1〜3は、それぞれ通信するシリアルデータがある場合には、前記所定の時間帯に通信を行い、通信するシリアルデータがない場合には、前記時間帯であっても通信を行わない。
【0025】
例えば、第1CPU1から第2CPU2へ通信する場合には、第1CPU1は、シリアルデータのクロック信号を発信するとともにシリアルデータを送信し、第2CPU2は、シリアルデータのクロック信号を受信するとともに、このシリアルデータのクロック信号に基づいてシリアルデータを受信する。なお、受信の際には、CPUはシリアルデータを一旦シリアルインターフェース内のレジスタに格納した後、CPU内のメモリーに格納する。以下、この他の組み合わせについても同様に、一方のCPUから他方のCPUに通信が行われる。
【0026】
なお、通常は、時分割された各時間帯のそれぞれにおいてCPU間の通信以外の処理も行われるので、前記時間帯の一部の期間をCPU間の通信用に割り当てるのが好ましい。この場合、前記時間帯の残りの期間は、例えばメインルーチンの処理が行われる。
なお、本実施例において、通信されるシリアルデータは、8ビットのデジタル信号であるが、本発明はこれに限定されるものではない。
【0027】
このように本発明では、時分割された各時間帯のそれぞれに送信可能なCPUおよび受信可能なCPUの組み合わせを割り当て、割り当てられた時間帯においてのみその組み合わせで通信を行うので、送信するCPUと受信するCPUとの間で直接通信を行うことが可能であり、このため、従来のように2つのスレーブCPU間で通信を行う際に必ずマスターCPUを経由していたのに比べて、通信を行わないCPUへの負担が軽減される。
【0028】
本実施例では、カウント値が1つアップされる時間、すなわちt/6に相当する時間は特に限定されないが、この時間は、通信されるデータ量等を考慮して適宜決定される。例えば、通信するデータが4〜32ビット程度のシリアルデータであれば、t/6に相当する時間は、1〜100m秒程度とすることができる。但し、これに限定されるものではない。
【0029】
次に、本実施例における通信処理(通信割り込み処理)について説明する。
図2は、通信の際の第1CPU1の動作を示すフローチャートである。以下、代表的に第1CPU1の動作をこのフローチャートに基づいて説明する。
図示されるプログラムは、メインプログラム中のサブルーチンとしてプログラムされているものであり、第1CPU1の割り込み入力端子INTに、割り込みのクロック信号が入力されると、このサブルーチンがコールされ、第1CPU1の通信割り込み処理が開始される。なお、メインプログラムは本発明とは特に関係ないので図示を省略する。
【0030】
第1CPU1は、カウンタ5のカウント値を検出し(ステップ100)、カウント値が0または1であるか否かを判断する(ステップ101)。
ステップ101において、カウント値が0または1と判断された場合には、第1CPU1を出力モードにする(ステップ102)。すなわち、第1CPU1の端子SCKおよびSOをそれぞれハイインピーダンス状態からローインピーダンス状態に変更し、第1CPU1は送信可能な状態となる。
【0031】
次いで、カウント値が0であるか否かを判断する(ステップ103)。
ステップ103において、カウント値が0と判断された場合には、第2CPU2へ送信すべきシリアルデータを送信する(ステップ104)。なお、この送信されたシリアルデータは、第2CPU2のみにより受信される(カウント値0では、第2CPU2は受信待ち状態となり、第3CPU3は受信待ち状態とはならない)ので、これにより第1CPU1から第2CPU2への通信が行われる。
【0032】
送信が終了したら第1CPU1を入力モードにする(ステップ106)。すなわち、第1CPU1の端子SCKおよびSOをそれぞれローインピーダンス状態からハイインピーダンス状態に変更し、第1CPU1は送信不可能な状態となり、メインルーチンに戻る。
【0033】
また、ステップ103において、カウント値が1と判断された場合には、第3CPU3へ送信すべきシリアルデータを送信する(ステップ105)。なお、この送信されたシリアルデータは、第3CPU3のみにより受信される(カウント値1では、第3CPU3は受信待ち状態となり、第2CPU2は受信待ち状態とはならない)ので、これにより第1CPU1から第3CPU3への通信が行われる。
【0034】
送信が終了したら第1CPU1は入力モードになる(ステップ106)。すなわち、第1CPU1の端子SCKおよびSOをそれぞれローインピーダンス状態からハイインピーダンス状態に変更し、第1CPU1は送信不可能な状態となり、メインルーチンに戻る。
【0035】
また、ステップ101において、カウント値が0または1と判断されなかった場合、すなわち、カウント値が2、3、4および5のいずれかと判断された場合には、さらに、カウント値が2または4であるか否かを判断する(ステップ107)。
【0036】
ステップ107において、カウント値が2または4と判断されなかった場合、、すなわち、カウント値が3または5と判断された場合には、第1CPU1は通信を行わず、メインルーチンに戻る。
【0037】
また、ステップ107において、カウント値が2または4と判断された場合には、第1CPU1は入力モードのうちの受信待ち状態になる(ステップ108)。なお、第1CPU1の端子SCKおよびSOはそれぞれハイインピーダンス状態になっている。
【0038】
なお、この状態において、第2CPU2または第3CPU3からシリアルデータが送信された場合には、そのシリアルデータは、第1CPU1に内蔵されているシリアルインターフェース内のレジスタに一旦格納される。
【0039】
次いで、第2CPU2または第3CPU3から送信されたシリアルデータの受信が終了したか否かを判断する(ステップ109)。この判断方法としては、例えば第1CPU1に入力されるシリアルデータのクロック信号の個数をカウントし、このクロック信号がシリアルデータのビット数(本実施例では8ビット)と同数カウントされたところで受信終了とする。
【0040】
ステップ109において、受信が終了していないと判断された場合には、時間切れか否かを判断する(ステップ110)。この場合、例えば内蔵するタイマーを起動して、第1CPU1が受信待ち状態になってからの時間を計り、この時間が予め設定されている通信終了時間となったところで時間切れとする。なお、予め設定される通信終了時間は、通常、送信されたシリアルデータをすべて受信するのに十分であり、しかも時間切れとなっても次の処理に影響が及ばない程度の時間とされる。
【0041】
ステップ110において、時間切れではないと判断された場合には、ステップ109に戻り、再びステップ109を実行する。
また、ステップ110において、時間切れと判断された場合には、第1CPU1は通信を行わなかったものとみなされ、メインルーチンに戻る。
【0042】
また、ステップ109において、受信終了と判断された場合には、カウント値が2であるか否かを判断する(ステップ111)。
ステップ111において、カウント値が2と判断された場合には、第2CPU2から送信された受信済のシリアルデータ、すなわちシリアルインターフェース内のレジスタに格納されているシリアルデータを第1CPU1内のメモリー(例えば、第2CPU2からのシリアルデータを格納するために予め設定されているメモリー内の所定の領域)に格納し(ステップ112)、メインルーチンに戻る。
【0043】
また、ステップ111において、カウント値が4と判断された場合には、第3CPU3から送信された受信済のシリアルデータ、すなわちシリアルインターフェース内のレジスタに格納されているシリアルデータを第1CPU1内のメモリー(例えば、第3CPU3からのシリアルデータを格納するために予め設定されているメモリー内の所定の領域)に格納し(ステップ113)、メインルーチンに戻る。以上でこのサブルーチンプログラムは終了し、メインルーチンへ復帰する。
【0044】
なお、ここでは代表的に第1CPU1における通信処理について説明したが、第2CPU2および第3CPU3のそれぞれにおける通信処理についても前述した第1CPU1の場合と実質的に同様で、そのフローチャートは、ステップ101,103,107,111等を表1に沿ってそれぞれ変更したものとなる。
【0045】
ここで、本実施例では前述した通信割り込み処理は、割り込み入力端子INTに割り込みのクロック信号が入力される毎に行われるよう構成されているが、本発明はこれに限定されず、例えば、所定の期間は所定のCPUが通信割り込み処理を行わないよう構成してもよい。
【0046】
通信割り込みを休止させる方法としては、例えば、CPUの通信割り込みをマスクして、そのCPUの通信割り込みを禁止する方法等が挙げられる。
なお、通信割り込みを休止する状況としては、例えば、指令を受けた所定のCPUが何らかの時間のかかる処理を行い、その処理期間中は通信割り込みがあっては困るような場合等が挙げられる。
【0047】
例えば、第1CPU1から指令を受けて第2CPU2が何らかの時間のかかる処理を行い、その処理期間中は第2CPU2に通信割り込みがあっては困るような場合には、第2CPU2は自己の通信割り込みをマスクし、処理が終了した後に、第2CPU2は第1CPU1に対し処理が終了した旨を知らせるための返信をし、この後第2CPU2は自己の通信割り込みのマスクを解除するような構成とする。この他の組み合わせについても前記と同様に構成する。
【0048】
また、本実施例では、表1に示すように、送信可能なCPUおよび受信可能なCPUの各組み合わせについて、その組み合わせで通信可能な時間帯の比率を互いに同一に設定したが、本発明はこれに限定されず、所定の組み合わせについては、その組み合わせで通信可能な時間帯の比率を他より高く設定してもよい。
【0049】
例えば、通信を行う頻度の高い組み合わせ、通信されるシリアルデータの量の多い組み合わせ、通信時間の短縮が特に要求される組み合わせ等がある場合には、その組み合わせについての通信可能な時間帯の比率を他より高くすることにより、全体の通信処理に要する時間を短縮できる。
【0050】
所定の組み合わせについての通信可能な時間帯の比率を他より高くするには、例えば、その所定の組み合わせに対応するカウント値を複数設定する方法等が挙げられる。例えば、第1CPU1から第3CPU3への通信を許可する組み合わせに対応するカウント値を複数設定する場合において、カウント値、時間帯およびCPUの組み合わせの設定を示す一例を下記表2に示す。
【0051】
【表2】
【0052】
なお、この場合にはカウンタ5では、発振器4からのクロック信号に基づいて、0、1、2、3、4、5および6のカウントが一定の周期で繰り返し行われ、各カウント値0〜6のそれぞれに対応する3ビットのデジタル信号が、3本のライン61、62および63を通じて各CPU1〜3のそれぞれに送出される。
【0053】
次に、前記表2に示すように、第1CPU1から第3CPU3への通信を許可する組み合わせに対応するカウント値を複数設定した場合の通信割り込み処理について説明する。
図3は、通信の際の第1CPU1の動作を示すフローチャートである。以下、代表的に第1CPU1の動作をこのフローチャートに基づいて説明する。
【0054】
図示されるプログラムは、メインプログラム中のサブルーチンとしてプログラムされているものであり、第1CPU1の割り込み入力端子INTに、割り込みのクロック信号が入力されると、このサブルーチンがコールされ、第1CPU1の通信割り込み処理が開始される。
【0055】
第1CPU1は、カウンタ5のカウント値を検出し(ステップ200)、カウント値が0、1または6であるか否かを判断する(ステップ201)。
ステップ201において、カウント値が0、1または6と判断された場合には、第1CPU1を出力モードにする(ステップ202)。すなわち、第1CPU1の端子SCKおよびSOをそれぞれハイインピーダンス状態からローインピーダンス状態に変更し、第1CPU1は送信可能な状態となる。
【0056】
次いで、カウント値が0であるか否かを判断する(ステップ203)。
ステップ203において、カウント値が0と判断された場合には、第2CPU2へ送信すべきシリアルデータを送信する(ステップ204)。なお、この送信されたシリアルデータは、第2CPU2のみにより受信される(カウント値0では、第2CPU2は受信待ち状態となり、第3CPU3は受信待ち状態とはならない)ので、これにより第1CPU1から第2CPU2への通信が行われる。
【0057】
送信が終了したら第1CPU1を入力モードにする(ステップ206)。すなわち、第1CPU1の端子SCKおよびSOをそれぞれローインピーダンス状態からハイインピーダンス状態に変更し、第1CPU1は送信不可能な状態となり、メインルーチンに戻る。
【0058】
また、ステップ203において、カウント値が1または6と判断された場合には、第3CPU3へ送信すべきシリアルデータを送信する(ステップ205)。なお、この送信されたシリアルデータは、第3CPU3のみにより受信される(カウント値1または6では、第3CPU3は受信待ち状態となり、第2CPU2は受信待ち状態とはならない)ので、これにより第1CPU1から第3CPU3への通信が行われる。
【0059】
送信が終了したら第1CPU1は入力モードになる(ステップ206)。すなわち、第1CPU1の端子SCKおよびSOをそれぞれローインピーダンス状態からハイインピーダンス状態に変更し、第1CPU1は送信不可能な状態になり、メインルーチンに戻る。
【0060】
また、ステップ201において、カウント値が0、1または6と判断されなかった場合、すなわち、カウント値が2、3、4および5のいずれかと判断された場合には、さらに、カウント値が2または4であるか否かを判断する(ステップ207)。
【0061】
ステップ207において、カウント値が2または4と判断されなかった場合、、すなわち、カウント値が3または5と判断された場合には、第1CPU1は通信を行わず、メインルーチンに戻る。
【0062】
また、ステップ207において、カウント値が2または4と判断された場合には、第1CPU1は入力モードのうちの受信待ち状態になる(ステップ208)。なお、第1CPU1の端子SCKおよびSOはそれぞれハイインピーダンス状態になっている。
【0063】
なお、この状態において、第2CPU2または第3CPU3からシリアルデータが送信された場合には、そのシリアルデータは、第1CPU1に内蔵されているシリアルインターフェース内のレジスタに一旦格納される。
【0064】
次いで、第2CPU2または第3CPU3から送信されたシリアルデータの受信が終了したか否かを判断する(ステップ209)。この判断方法としては、例えば第1CPU1に入力されるシリアルデータのクロック信号の個数をカウントし、このクロック信号がシリアルデータのビット数(本実施例では8ビット)と同数カウントされたところで受信終了とする。
【0065】
ステップ209において、受信が終了していないと判断された場合には、時間切れか否かを判断する(ステップ210)。この場合、例えば内蔵するタイマーを起動して、第1CPU1が受信待ち状態になってからの時間を計り、この時間が予め設定されている通信終了時間となったところで時間切れとする。なお、予め設定される通信終了時間は、通常、送信されたシリアルデータをすべて受信するのに十分であり、しかも時間切れとなっても次の処理に影響が及ばない程度の時間とされる。
【0066】
ステップ210において、時間切れではないと判断された場合には、ステップ209に戻り、再びステップ209を実行する。
また、ステップ210において、時間切れと判断された場合には、第1CPU1は通信を行わなかったものとみなされ、メインルーチンに戻る。
【0067】
また、ステップ209において、受信終了と判断された場合には、カウント値が2であるか否かを判断する(ステップ211)。
ステップ211において、カウント値が2と判断された場合には、第2CPU2から送信された受信済のシリアルデータ、すなわちシリアルインターフェース内のレジスタに格納されているシリアルデータを第1CPU1内のメモリー(例えば、第2CPU2からのシリアルデータを格納するために予め設定されているメモリー内の所定の領域)に格納し(ステップ212)、メインルーチンに戻る。
【0068】
また、ステップ211において、カウント値が4と判断された場合には、第3CPU3から送信された受信済のシリアルデータ、すなわちシリアルインターフェース内のレジスタに格納されているシリアルデータを第1CPU1内のメモリー(例えば、第3CPU3からのシリアルデータを格納するために予め設定されているメモリー内の所定の領域)に格納し(ステップ213)、メインルーチンに戻る。以上でこのサブルーチンプログラムは終了し、メインルーチンへ復帰する。
【0069】
以上のようなプログラムでは、第1CPU1から第3CPU3への通信が許可される時間が長く、第1CPU1から第3CPU3への通信が可能になる確率が高くなる。すなわち、第1CPU1から第3CPU3への通信の際の待ち時間が短いものとなる。
【0070】
なお、ここでは代表的に第1CPU1における通信処理について説明したが、第2CPU2および第3CPU3のそれぞれにおける通信処理についても前述した第1CPU1の場合と実質的に同様で、そのフローチャートは、ステップ201、203、207、211等を表2に沿ってそれぞれ変更したものとなる。
【0071】
以上述べた実施例では、表1および表2に示すように、送信可能なCPUと、受信可能なCPUとをそれぞれ1個ずつ組み合わせているが、本発明はこれに限定されず、例えば、1個の送信可能なCPUと、1個または複数の受信可能なCPUとを組み合わせてもよい。
【0072】
この場合、
▲1▼(送信可能な1個のCPU→受信可能な1個のCPU)、
▲2▼(送信可能な1個のCPU→受信可能な複数のCPU)、
の2パターンのうちの1パターンのみ、あるいは各パターンを組み合わせて(併用して)設定してもよい。
【0073】
また、本実施例では、表1および表2に示すように、時分割された通信可能な時間帯を、各CPU同士のすべての組み合わせに割り当てているが、本発明はこれに限定されず、例えば、通信のあり得ない組み合わせについては、通信可能な時間帯を割り当てないような設定であってもよい。このような構成によれば、カウンタ5の最大カウント値が小さくなり、カウンタ5から送出されるカウント値に対応するデジタル信号のビット数を少なくできるとともに、全体の通信処理に要する時間を短縮できる。
【0074】
また、本実施例では、送信可能なCPUおよび受信可能なCPUの各組み合わせを表1および表2に示す順序で配列し、各組み合わせと各カウント値とを対応させているが、各組み合わせと各カウント値との対応はこれに限定されるものではない。
【0075】
また、本実施例では図1に示すように、発振器4およびカウンタ5を各CPU1〜3の外付け回路としているが、本発明はこれに限定されない。
例えば、各CPU1〜3のうちのいずれかのCPUに内蔵されている発振器により一定の周期のクロック信号を生成し、生成されたクロック信号をカウンタ5の端子CLKおよび各CPU1〜3の割り込み入力端子INTのそれぞれに入力させるよう構成してもよい。これにより外付の発振器4が省略され、回路の簡素化が図れる。
【0076】
また、例えば、カウンタ5によるカウント動作を各CPU1〜3に内蔵されているカウンタのそれぞれが行うよう構成してもよい。これにより外付のカウンタ5が省略され、回路の簡素化が図れる。
【0077】
また、本実施例では、カウンタによるカウント値に基づいて時分割(通信可能な時間帯の分割)を行っているが、時分割の方法はこれに限定されない。
また、本実施例では、有線による通信の例を示すが、本発明では、CPU間のデータまたはクロック信号の通信、CPUへの送信等は、無線による通信であってもよい。
【0078】
なお、本発明の中央演算処理装置間の通信方法の用途は特に限定されない。本発明の中央演算処理装置間の通信方法は、例えば、一眼レフカメラ、コンパクトカメラ、ビデオカメラ、シネカメラ、スチルビデオカメラ等の各種光学機器、テレビジョン、ビデオデッキ、オーディオ機器、エアコン、冷蔵庫、ワードプロセッサー等の各種家電製品、業務用の各種電気製品、各種電気機器など、複数の中央演算処理装置を搭載した装置に広く適用される。
以上、本発明の中央演算処理装置間の通信方法を図示の構成例に基づいて説明したが、本発明はこれに限定されるものではない。
【0079】
【発明の効果】
以上説明したように、本発明の中央演算処理装置間の通信方法によれば、所望の中央演算処理装置間での通信を直接行うことが可能となる。このため、従来の1個の中央演算処理装置をマスターとし、他の中央演算処理装置をスレーブとし、必ずマスターを経由して通信を行う場合に比較して、特定の中央演算処理装置への負担が軽減される。
【0080】
また、本発明の中央演算処理装置間の通信方法によれば、所望の中央演算処理装置間での通信を直接行えるので、全体の通信処理に要する時間を前記従来の通信方法の場合に比較して短縮すること、または短縮しうる設計が可能となる。
【図面の簡単な説明】
【図1】本発明の中央演算処理装置間の通信方法を適用した装置の中央演算処理装置周辺の構成例を示すブロック図である。
【図2】本発明における通信の際の第1CPUの動作の一例を示すフローチャートである。
【図3】本発明における通信の際の第1CPUの動作の一例を示すフローチャートである。
【符号の説明】
1 第1CPU
2 第2CPU
3 第3CPU
4 発振器
5 カウンタ
61、62、63 ライン
100〜113 ステップ
200〜213 ステップ
Claims (3)
- それぞれ独立した機能を有し、シリアルポートで相互に接続されている3個以上の中央演算処理装置間で通信を行う際の中央演算処理装置間の通信方法であって、
時分割された通信可能な時間帯のそれぞれに前記3個以上の中央演算処理装置のうちの信号を送信可能な中央演算処理装置および信号を受信可能な中央演算処理装置の組み合わせを割り当て、割り当てられた時間帯においてのみその組み合わせで、対応する中央演算処理装置の各シリアルポートを介して通信を行う装置において、
クロック信号をカウントし、一定の周期でカウント値が循環するカウンタを有し、
前記各中央演算処理装置は、それぞれ、前記クロック信号の入力によって開始される割り込み処理により、前記カウント値に基づいて、自己の中央演算処理装置が、現在の時間帯において、いずれの中央演算処理装置へ信号を送信可能か、または、いずれの中央演算処理装置から信号を受信可能か、または、通信不可能かを判別し、その判別結果に従って通信を行うことを特徴とする中央演算処理装置間の通信方法。 - 前記組み合わせは、信号を送信可能な1つの中央演算処理装置と、信号を受信可能な1つの中央演算処理装置との組み合わせの集合である請求項1に記載の中央演算処理装置間の通信方法。
- 所定の組み合わせについては、その組み合わせで通信可能な時間帯の比率を他より高くする請求項1または2に記載の中央演算処理装置間の通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12829993A JP3758689B2 (ja) | 1993-04-30 | 1993-04-30 | 中央演算処理装置間の通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12829993A JP3758689B2 (ja) | 1993-04-30 | 1993-04-30 | 中央演算処理装置間の通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06314261A JPH06314261A (ja) | 1994-11-08 |
JP3758689B2 true JP3758689B2 (ja) | 2006-03-22 |
Family
ID=14981364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12829993A Expired - Fee Related JP3758689B2 (ja) | 1993-04-30 | 1993-04-30 | 中央演算処理装置間の通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3758689B2 (ja) |
-
1993
- 1993-04-30 JP JP12829993A patent/JP3758689B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06314261A (ja) | 1994-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4359731A (en) | Communication link contention resolution system | |
US5371859A (en) | System for providing data communications between a plurality of measurement data generating/receiving modules connected to a common communication bus | |
US5058114A (en) | Program control apparatus incorporating a trace function | |
EP0619548A1 (en) | Interface circuit between a control bus and an integrated circuit suitable for two different protocol standards | |
US5235593A (en) | Ring latency timer | |
JPS60500117A (ja) | バス競合の解決のための方法と装置 | |
JPS63199540A (ja) | デ−タ伝送方法及び装置 | |
US20020144038A1 (en) | Data communication prioritization method and bus controller | |
JP3758689B2 (ja) | 中央演算処理装置間の通信方法 | |
KR100305312B1 (ko) | 인터페이스장치 | |
US4590924A (en) | Endoscope system | |
JP3832733B2 (ja) | ポーリング装置および通信装置 | |
WO2002101992A1 (en) | Communication apparatus and method for supporting carrier sense multiple access/collision detection | |
JPH07105804B2 (ja) | アドレス設定器 | |
JPH0568041A (ja) | 通信制御方式 | |
JPH11316694A (ja) | テストモード設定回路 | |
JPH0243846A (ja) | 回線終端装置 | |
JPH11284642A (ja) | データ伝送システム、ポーリング方法、およびポーリング回数設定方法 | |
JP3246302B2 (ja) | 自動車用電子制御装置 | |
JP2985180B2 (ja) | 無線通信装置 | |
JP2001211176A (ja) | ネットワーク内端末の識別番号自動設定方式 | |
KR920004415B1 (ko) | 데이타 전송회로 및 방법 | |
JPS62198240A (ja) | 通信制御装置 | |
JPH08191320A (ja) | データ通信システム | |
Sonawane | Design & Development of Multiprocessor Communication Protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051227 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090113 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100113 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100113 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110113 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120113 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120113 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120113 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120113 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130113 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |