図面 (/)

技術 中央演算処理装置間の通信方法

出願人 ペンタックス株式会社
発明者 和久井良夫
出願日 1993年4月30日 (27年7ヶ月経過) 出願番号 1993-128299
公開日 1994年11月8日 (26年1ヶ月経過) 公開番号 1994-314261
状態 特許登録済
技術分野 マルチプロセッサ 情報転送方式
主要キーワード CPU間 ローインピーダンス状態 最大カウント値 通信割り込み処理 通信割り込み 割り込み入力 外付け回路 処理期間中
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1994年11月8日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (4)

構成

本発明の中央演算処理装置間の通信方法を適用した装置は、第1CPU1、第2CPU2、第3CPU3、発振器4およびカウンタ5を有しており、各CPU1〜3は、それぞれ、端子SOとSI、端子SCK同士が互いに接続されている。本発明では、シリアルデータを送信可能なCPUおよび受信可能なCPUの組み合わせと、時分割された通信可能な時間帯とを設定し、この各時間帯のそれぞれに前記組み合わせを予め割り当てる。この場合、各時間帯において、その時間帯に割り当てられた組み合わせの通信を可能にし、他の組み合わせの通信を禁止する。

効果

所望の中央演算処理装置間の通信を直接行うことが可能であるので、特定の中央演算処理装置への負担が軽減される。

概要

背景

各種家電製品電気機器光学機器等に内蔵され、それぞれ独立した機能を有する3個以上の中央演算処理装置間で通信を行う場合には、通常1個の中央演算処理装置をマスターとし、他の2個以上の中央演算処理装置をスレーブとして通信を行う。

しかし、このような通信方法の場合、マスター中央演算処理装置とスレーブ中央演算処理装置間の通信は直接行われるが、スレーブ中央演算処理装置とスレーブ中央演算処理装置間の通信は、スレーブ中央演算処理装置間で直接行わず、マスター中央演算処理装置を一旦経由して行われるので、マスター中央演算処理装置の負担が大きいものとなる。

このため、マスター中央演算処理装置は、スレーブ間での通信の間はその中継動作のために拘束され、本来の処理動作の実行が中断され、処理速度の低下を招く。

概要

本発明の中央演算処理装置間の通信方法を適用した装置は、第1CPU1、第2CPU2、第3CPU3、発振器4およびカウンタ5を有しており、各CPU1〜3は、それぞれ、端子SOとSI、端子SCK同士が互いに接続されている。本発明では、シリアルデータを送信可能なCPUおよび受信可能なCPUの組み合わせと、時分割された通信可能な時間帯とを設定し、この各時間帯のそれぞれに前記組み合わせを予め割り当てる。この場合、各時間帯において、その時間帯に割り当てられた組み合わせの通信を可能にし、他の組み合わせの通信を禁止する。

所望の中央演算処理装置間の通信を直接行うことが可能であるので、特定の中央演算処理装置への負担が軽減される。

目的

本発明の目的は、それぞれ独立した機能を有する3個以上の中央演算処理装置間で通信を行う場合、それぞれの中央演算処理装置間において直接通信可能な中央演算処理装置間の通信方法を提供することにある。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

それぞれ独立した機能を有する3個以上の中央演算処理装置間で通信を行う際の中央演算処理装置間の通信方法であって、前記3個以上の中央演算処理装置のうち信号を送信可能な中央演算処理装置および信号を受信可能な中央演算処理装置の組み合わせと、時分割された通信可能な時間帯とを設定し、前記各時間帯のそれぞれに前記組み合わせを割り当て、割り当てられた時間帯においてのみその組み合わせで通信を行うことを特徴とする中央演算処理装置間の通信方法。

請求項2

前記組み合わせは、信号を送信可能な1つの中央演算処理装置と、信号を受信可能な1つの中央演算処理装置との組み合わせの集合である請求項1に記載の中央演算処理装置間の通信方法。

請求項3

所定の組み合わせについては、その組み合わせで通信可能な時間帯の比率を他より高くする請求項1または2に記載の中央演算処理装置間の通信方法。

請求項4

前記各時間帯は、一定の周期カウント値循環するカウンタのカウント値に基づいて設定される請求項1ないし3のいずれかに記載の中央演算処理装置間の通信方法。

技術分野

0001

本発明は、中央演算処理装置間の通信方法に関する。

背景技術

0002

各種家電製品電気機器光学機器等に内蔵され、それぞれ独立した機能を有する3個以上の中央演算処理装置間で通信を行う場合には、通常1個の中央演算処理装置をマスターとし、他の2個以上の中央演算処理装置をスレーブとして通信を行う。

0003

しかし、このような通信方法の場合、マスター中央演算処理装置とスレーブ中央演算処理装置間の通信は直接行われるが、スレーブ中央演算処理装置とスレーブ中央演算処理装置間の通信は、スレーブ中央演算処理装置間で直接行わず、マスター中央演算処理装置を一旦経由して行われるので、マスター中央演算処理装置の負担が大きいものとなる。

0004

このため、マスター中央演算処理装置は、スレーブ間での通信の間はその中継動作のために拘束され、本来の処理動作の実行が中断され、処理速度の低下を招く。

発明が解決しようとする課題

0005

本発明の目的は、それぞれ独立した機能を有する3個以上の中央演算処理装置間で通信を行う場合、それぞれの中央演算処理装置間において直接通信可能な中央演算処理装置間の通信方法を提供することにある。

課題を解決するための手段

0006

このような目的は、下記(1)〜(4)の本発明により達成される。

0007

(1) それぞれ独立した機能を有する3個以上の中央演算処理装置間で通信を行う際の中央演算処理装置間の通信方法であって、前記3個以上の中央演算処理装置のうち信号を送信可能な中央演算処理装置および信号を受信可能な中央演算処理装置の組み合わせと、時分割された通信可能な時間帯とを設定し、前記各時間帯のそれぞれに前記組み合わせを割り当て、割り当てられた時間帯においてのみその組み合わせで通信を行うことを特徴とする中央演算処理装置間の通信方法。

0008

(2) 前記組み合わせは、信号を送信可能な1つの中央演算処理装置と、信号を受信可能な1つの中央演算処理装置との組み合わせの集合である上記(1)に記載の中央演算処理装置間の通信方法。

0009

(3) 所定の組み合わせについては、その組み合わせで通信可能な時間帯の比率を他より高くする上記(1)または(2)に記載の中央演算処理装置間の通信方法。

0010

(4) 前記各時間帯は、一定の周期カウント値循環するカウンタのカウント値に基づいて設定される上記(1)ないし(3)のいずれかに記載の中央演算処理装置間の通信方法。

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(Serialdata 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

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

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個のCPU→受信可能な1個のCPU)、
(送信可能な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

また、本発明の中央演算処理装置間の通信方法によれば、所望の中央演算処理装置間での通信を直接行えるので、全体の通信処理に要する時間を前記従来の通信方法の場合に比較して短縮すること、または短縮しうる設計が可能となる。

図面の簡単な説明

0081

図1本発明の中央演算処理装置間の通信方法を適用した装置の中央演算処理装置周辺の構成例を示すブロック図である。
図2本発明における通信の際の第1CPUの動作の一例を示すフローチャートである。
図3本発明における通信の際の第1CPUの動作の一例を示すフローチャートである。

--

0082

1 第1CPU
2 第2CPU
3 第3CPU
4発振器
5カウンタ
61、62、63ライン
100〜113 ステップ
200〜213 ステップ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ