JP2966416B2 - マイコン間のデータ通信方法 - Google Patents

マイコン間のデータ通信方法

Info

Publication number
JP2966416B2
JP2966416B2 JP63198676A JP19867688A JP2966416B2 JP 2966416 B2 JP2966416 B2 JP 2966416B2 JP 63198676 A JP63198676 A JP 63198676A JP 19867688 A JP19867688 A JP 19867688A JP 2966416 B2 JP2966416 B2 JP 2966416B2
Authority
JP
Japan
Prior art keywords
data
serial
communication
cpu
address
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
Application number
JP63198676A
Other languages
English (en)
Other versions
JPH0247755A (ja
Inventor
隆勇 西田
勇 橋本
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.)
Pentax Corp
Original Assignee
Asahi Kogaku Kogyo 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 Asahi Kogaku Kogyo Co Ltd filed Critical Asahi Kogaku Kogyo Co Ltd
Priority to JP63198676A priority Critical patent/JP2966416B2/ja
Publication of JPH0247755A publication Critical patent/JPH0247755A/ja
Application granted granted Critical
Publication of JP2966416B2 publication Critical patent/JP2966416B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bidirectional Digital Transmission (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】 「技術分野」 本発明は、マイコン(CPU10)間におけるデータ通信
方法の改良に係り、特に、シリアル通信において通信ラ
インの削減および通信時間を短縮できる通信法に関す
る。
「従来技術およびその問題点」 近年のカメラは自動化が進み、自動焦点(AF)装置、
自動露出(AE)装置を有するものが増えているが、近時
は、さらに付加価値が求められるようになってきた。た
とえば、合焦時間の短縮、合焦精度の向上、望遠レンズ
用のシャッタスピード優先モード、広角レンズ用の被写
体深度優先モードなど複雑多種のプラグラム露出モード
や、撮影枚数、プログラムモードなど各種撮影情報を一
目で視認可能な大型な表示装置が求められるようになっ
てきた。
AF装置の合焦精度を上げようとすればCCDの数、情報
量が増えるので、AF処理を高速で行なうには大きなメモ
リ容量が必要となる。そのため、データメモリ、演算、
制御の各機能を1個のマイコン(CPU10)に持たせるこ
とは困難であった。
上記課題を解決する手段として、機能を複数のマイコ
ンに分担させる手段がある。たとえば、メインマイコン
に、カメラ全体の作動シーケンスを制御するシステム制
御機能および測距演算機能を持たせ、1または2以上の
サブマイコンに測光演算機能、データ入力制御、データ
メモリ機能、表示制御機能等を持たせていた。つまり、
複数のマイコンに演算、制御、メモリ機能を分担し、処
理効率を高めていた。
しかし、従来は、メイン、サブマイコン間のデータ通
信をシリアルで行なう場合、シリアル通信ライン以外に
も通信制御用の信号が必要とされ、3本以上の通信ライ
ンによりデータ通信がなされ、大事な情報処理用のポー
トが無駄に使用されていたり、データの要不要の選択な
しに、メモリの全てのデータを一度に通信したりしてい
たため、データの通信に長時間を要し、処理時間短縮の
障害を起したりしていた。
「発明の目的」 本発明は、上記従来技術の課題に基づいてなされたも
ので、より少ない通信ラインでのデータ通信方法および
より短い時間でのマイコン間のシリアルデータ通信方法
を提供することを目的とする。
「発明の概要」 本発明にあっては、マイコン間で通信するデータをグ
ループ分けし、必要なグループ単位で送受信すれば送受
信時間の短縮を図れるという事実に着目してなされたも
ので、シリアルクロックラインとシリアルI/Oラインの
2本の通信ラインを用いてメインCPUとサブCPUとの間で
データ通信を行なうデータ通信方法であって、データ通
信を開始するときは、前記メインCPUからサブCPUに、前
記シリアルクロックラインを介して第1の所定時間T1以
上“H"レベル信号を出力し、その後、前記シリアルクロ
ックラインを介して複数bit分のシリアルクロックパル
スを出力すると共に、この複数bit分のシリアルクロッ
クパルスに同期して前記メインCPUからサブCPUに、前記
シリアルI/Oラインを介して通信方向と、授受されるデ
ータの種類と、データのフレーム数を示すアドレスデー
タを出力し、このアドレスデータによりそれ以降の前記
メインCPUとサブCPU間のデータ通信の通信方向と、授受
されるデータの種類と、データのフレーム数を決定する
ことに、特徴を有する。
上記構成によれば、シリアルクロックとシリアルI/O
の2本のラインのみでシリアル通信が可能となり、複数
のデータがグループ分けされ、そのアドレスを指定する
ことにより必要なデータのみを通信できるので、より早
い効率的なデータ通信が可能になる。
「実施例の説明」 以下図示実施例について本発明を説明する。
第1図は、本発明の通信方法を適用したカメラの制御
装置の一実施例をブロックで示す回路図、第2図は同実
施例のサブマイコン側の入出力部の概略回路図、第3図
は制御装置の別の実施例を示す回路図である。
本実施例は、メインマイコンとしてCPU10と、サブマ
イコンとしてIPU20(インジケーション・プロセッシン
グ・ユニット)20とを有する。
CPU10は、システム全体の制御、およびCCD16からのAF
(自動焦点)用信号を受けて測距演算を行なう制御演算
部11と、プログラム、各種データを格納するメモリ部12
と、シリアルデータの入出力部およびクロック信号発生
部を有するシリアルI/O部13と、電源スイッチ、測光ス
イッチ、レリーズスイッチ等のスイッチ15の入力を行な
うスイッチ入力部14とを有する。
一方IPU20は、液晶ディスプレイ(LCD)24の表示制
御、撮影モード切り替え、ISO感度設定等を行なうスイ
ッチ25の入力制御およびデータ処理を行なう制御・演算
部21と、その表示データ、例えば撮影モード、ISO感度
データ、フィルム撮影枚数データ等を格納するメモリ部
22と、データの入出力を行なうシリアルI/O部23を有す
る。
CPU10は、スイッチ15の中の測光スイッチのオン等で
電源が投入され、VDD≒5Vの電圧で必要なときだけ動作
する。一方、IPU20は、タイマー等で間欠動作を行な
い、電源系は、常にVdd1≒3.7Vが与えられている。
シリアルI/O部13は、シリアルデータを送受信するSIO
端子と、クロック信号を送信する▲▼端子とを有
する。
一方IPU20のシリアルI/O部23は、シリアルデータを送
受信するSIO1端子と、シリアルクロックの第1の所定時
間T1以上“H"の後の立下がりを検出するINT1端子と、こ
のINT1端子と接続された、クロック信号を受信する▲
▼端子および、CUP10からのアドレスによりIPU20
→CPU10へのシリアル転送が検出された場合に、所定の
シリアルクロックあるいは所定の時間だけIPU20からの
VDD系のデータ出力が可能となるように、SIO1端子をプ
ルアップ制御する、出力端子としての▲▼端
子を有する。IPU20は、▲▼端子の電圧を、
通常は、CPU10からの信号をVDD系の電圧で受信できるよ
うに“L″レベルに落とし、SIO1端子をプルダウンして
いる。
SIO端子とSIO1端子とは、中間に抵抗R1が挿入された
シリアルクロックライン31によって接続され、▲
▼端子と▲▼端子とは、中間に抵抗R2が挿入さ
れたシリアルI/Oライン32によって接続されている。▲
▼端子は、プルアップ、ダウン抵抗R3を介し
てSIO1端子に接続されている。これらの抵抗R1、R2によ
り、SIO端子とSIO1端子間のシリアルI/Oラインのレベル
をシフトさせる信号レベルシフト手段を構成している。
抵抗R2とIPU20の間の部分は、抵抗R4を介して接地され
ている。以上の抵抗値の比は、 R3/(R1+R3)=R4/(R2+R4)=Vdd1/VDD=3.7V/5V なる関係を有する。
第2図に示すように、シリアルI/O部23のSIO1端子に
は、インバータ26の入力およびMOS・FET27のドレインが
接続されている。
次に、シリアルI/Oのデータ転送の方法をハード的に
説明する。CPU10からIPU20にデータが転送される場合
に、CPU10がSIO端子にVDD系の電圧で信号を出力する。
一方IPU20は、B−CNT端子に「0」を出力し、抵抗R3を
プルダウンすることにより、CPU10から出力されるVDD
系の“H"レベル信号を抵抗R1、R2で抵抗分割してVdd1系
の“H"レベルに変換する。GNDは共通などで、VDD系の
“L"レベルもVdd1系の“L"レベルも同じレベルで通信で
きる。
次に、IPU20からCPU10にデータが転送される場合は、
CPU10がハイインピーダンスの入力モードとなり、IPU20
は▲▼端子に「1」を出力し、抵抗R3をプル
アップし、MOSFET27をオンオフしてデータを出力するこ
とにより、CPU10に“H"レベルがVdd1系、“L"レベルがG
ND共通レベルでデータが通信される。このとき、IPU20
から出力されるVdd1系の“H"レベルはVDD系で入力さ
れ、これが“H"レベルでなければならないので、VDDと
Vdd1の電圧の間に(1/2)VDD<Vdd1なる関係が成立し
なければならない。
また、CPU10の処理が終了してVDDのパワーホールド
がオフした場合は、SIO端子、および▲▼端子の
すべてが“L"になり、IPU20は▲▼端子の規定時
間以上の“L"レベルを検出して、VDD系の電源がオフし
たことを検出できる。
第1図の実施例において、IPU20のSIO1端子に高耐圧
性がある場合には、第3図に示すように、上述の▲
▼端子の機能をCPU10側に移し、抵抗R3の接続をS
IO1端子とIPU20からSIO1端子とCPU10への接続に換えれ
ばよい。
このように高い電圧系でプルアップダウンを切り換え
ることにより、高い電圧系から低い電圧系へのVレベル
の変換、つまり信号レベルのシフトが可能になり、シス
テムの電源選択の自由度が増す。
第4図(A)、(B)には、IPU20とCPU10との間でデ
ータを転送する際のクロック信号、データ信号および通
信方向制御信号のタイムチャートを示してある。
アドレスデータを転送する場合は、まず▲▼端
子から“H"信号が所定のT1時間(480μS)以上出力さ
れる。IPU20は、通常データ受信準備をしていて、CPU10
はT1時間経過後の任意の時間に▲▼端子のクロッ
ク出力およびクロック出力に同期してSIO端子にアドレ
スデータ信号を出力する。
本実施例のデータ信号は、1フレーム8bitで構成さ
れ、最初の1フレーム中の上位4bitでアドレス信号を送
る。このアドレス4bitの内、最上位のbitで送信方向が
決定され、次の3bitで通信データの内容および数、つま
り授受されるデータの種類およびデータのフレーム数が
決定される。
本実施例では、最上位のbitが“L"(「0」)のとき
にはIPU20からCPU10へ、“H"(「1」)のときにはCPU1
0からIPU20へ送信される。したがって第4図(A)の場
合は、IPU20からCPU10への通信であり、第4図(B)の
場合は、CPU10からIPU20への通信である。
▲▼端子は、常時は“L"であるが、アドレ
スデータの内容により、IPU20からCPU10への通信が検出
されたときにはIPU20からCPU10への入出力切換が行なわ
れ、この期間中▲▼端子のレベルは“H"に設
定され、抵抗R3の片端をプルアップしてVdd1系の“H"レ
ベルまたはGNDレベルをCPU10に出力する。
アドレスデータにより送信方向がCPU10からIPU20であ
った場合、▲▼端子のレベルは、“L"がその
まま保持される。
第4図(A)では、CPU10は、アドレス=1のデータ
を送信した後に受信準備に切り換わり、一方アドレス=
1のデータを受信したIPU20は、送信準備を開始すると
共にソフトタイマーを作動させる。ソフトタイマは、T2
時間(600μS)内にシリアルクロックが終了(データ
転送が終了)しなかった場合にはエラーとしてエラー処
理、つまりタイマー起動後に入っていたシリアルデー
タ、またはその通信を無効にするためのものである。
本発明では、各アドレスの通信データを、頻繁に使用
するものと稀にしか使用しないもの、互いに緊密な関係
があるものという観点からグループ分けしてある。この
ようにグループ分けすることにより、VDD系の電源投入
時、測光時、露光時等のさまざまな場合に、不要なデー
タの通信をしないので、データ通信時間が短縮される。
下記の表に、アドレスとそのデータの一例をいくつか
を示す。アドレス1、2はIPU20からCPU10への通信デー
タで、アドレス9、10はCPU10からIPU20への通信データ
である。
なお、アドレス2は3フレームである。アドレス10
は、上位4ビットがアドレスデータであるが、その下位
4ビットにデータをのせた実施例を示していて、アドレ
ス10の上段のフレームはアドレスデータを示し、下段の
フレームはデータを示している。つまり、アドレス1、
2、および9を指定するときは4ビットのアドレスデー
タと4ビットのブランクデータを送信し、その後、表に
示したアドレス1、2、3のデータを通信するが(第4
図(A)参照)、アドレス10を指定するときは、アドレ
ス10の上段のフレームに示した4ビットのアドレスデー
タと4ビットのデータを送信し、その後、メインCPU10
からIPC20にアドレス10の下段のフレームに示したデー
タを送信する。
第5図(A)には、IPU20の動作チェックをする場合
のタイミングチャートを示してある。CPU10は、▲
▼端子に8個のパルスを出し、SIO端子にデータオー
ル「0」を出してから、▲▼端子をフローテイン
グ状態にし、IPU20から“H"信号が50μS間以上送られ
てくるのを待つ。
一方IPU20は、上記パルスを受けると、出力モードに
切り換えて、100μS“H"信号(動作信号)をCPU10に送
る。これによりCPU10は、IPU20が作動可能であることを
検知し、種々のデータ通信を開始する。
第5図(B)に示すように、例えばIPU20がリセット
状態にあって動作信号を送らない場合、CPU10は、所定
時間後に再度上記8パルスのクロックおよびオール
「0」データを出し、IPU20から動作信号がくるのを待
つ、という処理を、動作信号が来るまで繰返す。
また、通信中にCCDの積分が終了してAFインタラプト
があると、そのときの▲▼端子のレベルに関係な
く、CPU10は▲▼端子に“H"信号を出力してイン
タラプト処理の実行に移ってしまうので、IPU20側も通
信を中断しなければならなくなる。このことをIPU20
は、通信の開始をINT1端子の立ち下りでインタラプトし
て受け付け、T2時間検出タイマーを作動させ、T2時間内
に8bitのシリアルクロックが送られてこないこと、およ
びその時点での▲▼端子のレベルが“H"である
ことにより検出する(第5図(C))。
CPU10の電源がオフしたことの検出も同様にINT1端子
の立ち下りにより、IPU20がインタラプト処理の中で所
定の時間T2のカウントを行ない、T2時間以上▲
▼端子が“L"のままの状態を検出してVDDフラグがオ
フ、つまりCPU10がオフしていることを検出する(第5
図(D))。
次に、上記カメラの主な動作について、第6図〜第14
図に示したフローチャートを参照して説明する。
第6図は、CPU10の基本動作を表わすメインルーチン
である。電源VDDが投入され起動すると、インタラプト
許可を設定する(ステップ41)。本実施例ではCCD積分
終了信号が通信処理よりも優先されるため、インタラプ
トを用いて検出する。
次に、ステップ15からAEおよびAFの演算に必要なデー
タの入力であるデータ入力1が実行される(ステップ4
2)。そして、IPU20の状態をチェックする通信を行なっ
てIPU20が作動状態にあるかどうかをチェックする(ス
テップ43)。
この動作チェックが終了すると、IPU20から撮影モー
ド、ISO感度補正等のデータ通信を行なう(ステップ4
4)。本実施例では、説明を簡単にするためレリーズ時
におけるフローを省略してある。
ステップ45では、上述の通信処理により得られた情報
を基に測光演算処理およびAF演算処理を行なう。そし
て、ステップ46に進む。
ステップ46では、ステップ45で得られたデータをIPU2
0に通信する処理が実行される。そして、ステップ41に
戻り、上述の処理を繰返す。
IPU20の基本的動作について、第7図に示したIPUメイ
ンルーチンに基いて説明する。
IPU20では、スイッチ入力処理(撮影モード切換スイ
ッチ、ISO感度設定スイッチ等のスイッチ入力処理)を
おこない、CPU10からのインタラプトを許可し、上記IPU
20担当のデータを処理する(ステップ51、52、53)。そ
して、スイッチ入力データおよびCPU10との通信データ
に基いてLCD25に所定の表示をし(ステップ54)、ステ
ップ51に戻って上述の処理を繰返す。
AFインタラプトがあった場合のCPU10の処理を、第8
図を参照して説明する。通信中にAFインタラプタがあっ
たら、CPU10は▲▼端子に“H"信号を出力して通
信を中断し、SIO入力モードに切り換えて(ステップ6
1)、CCDデータの入力処理を行なう(ステップ62)。こ
のCCDデータ入力処理が完了したらスタックポインタを
クリアし、SIO端子に“H"信号を出力し、CPU10メインル
ープの最初のステップ41に処理が移す(ステップ63)。
CPU10からの通信におけるCPU10の処理ついて、第9図
に示したフローチャートに基いて説明する。CPU10は、
データ間にT2時間−280μS以下の“H"信号を出してイ
ンターバル調整を行ない、IPU20にデータの処理時間を
与える(ステップ71)。
ステップ72では、CPU10の8bitシリアルループの初期
設定をし、アキュムレータAのパラレルデータを上位bi
tから順にCY(キャリフラグ)に送る(ステップ73)。
ここで、CYが「1」であればSIO端子に“H"を出力し、C
Yが「0」であればSIO端子に“L"を出力する(ステップ
74)。次に、▲▼端子に“L"→“H"のパルスを出
力する(ステップ75)。
そして、8bitのシリアル出力が完了したか否かをチェ
ックし(ステップ76)、完了していなければステップ73
に戻ってステップ73〜76の処理をシリアル出力が完了す
るまで繰返し、完了したらSIO端子に“H"を出力し、リ
ターンする。
次に、CPU10がIPU20からデータ通信を受ける動作にお
けるCPU10の処理について、第10図に示したフローチャ
ートに基いて説明する。
SIO端子を入力モードに切り替えて(ステップ81)、
データ出力間にIPU20の処理時間のためのウエイト(T2
−280μS以下)を設ける(ステップ82)。
ステップ83で8bitシリアルループの初期設定をし、▲
▼端子に“L"→“H"のパルスを出力し、▲
▼端子の立ち下りに同期して出力されるIPU20からのシ
リアルデータを入力する(ステップ84、85)。
その入力データが「1」であればCY(キャリフラグ)
を“H"に設定し、「0」であればCYを“L"に設定し、CY
とバッファレジスタBとを接続して左シフトを行なう
(ステップ86、87)。
そして、8bitのパラレルデータの入力が完了したか否
かをチェックし、未完了であればステップ84に戻り、ス
テップ84〜88の処理を繰り返す。8bitのパラレルデータ
の通信が終了したら、それをアキュムレータAに移して
リターンする。
通信開始のアドレス出力動作におけるCPU10の処理に
ついて、第11図のフローチャートを参照して説明する。
CPU10は、IPU OKフラグが「1」か否かチェックし、
「1」でなければ、つまり「0」であってCPU10にリセ
ットがかかっていることを検出したら、エラー処理をす
る(ステップ91、92)。具体的には、サブルーチンコー
ルレベルを1レベルキャンセルしてリターンすることに
より、アドレス通信に続く以下のデータ通信をとりやめ
る。
IPU OKフラグが立っていれば、シリアル出力モード
に設定し、200μS(T1用)のウエイト処理を行なう
(ステップ93、94)。このウエイトは、▲▼端子
に“H"信号が出され、これを受けたIPU20がアドレス通
信の受信の準備をする時間を確実に確保するためのもの
である。
ウエイト後8bitシリアルループを初期設定し(ステッ
プ95)、アキュムレータAのパラレルデータを上位から
1bitづつCYに出力し、キャリフラグが「1」であればSI
O端子出力を“H"に、同「0」であれば“L"に設定し、
次に▲▼端子から“L"→“H"のパルスを出力する
(ステップ96、97、98)。そして、8bitのデータが全て
出たか否かチェックし、出ていなければステップ96に戻
って上記処理を、8bitループが完了するまで繰返し、完
了すればリターンする(ステップ99)。
IPU20チェック動作におけるCPU10の処理フローつい
て、第12図に示したフローチャートに基いて説明する。
CPU10は、IPU20に前述のIPU ADRサブルーチンをコー
ルしてアドレス0(データオール「0」)を送ってか
ら、▲▼端子を入力モードに切換え▲▼端
子レベル検出用カウンターを0、ループカウンターをIP
U20にセットして、IPU20からの入力を待つ(ステップ10
1、102、103)。▲▼端子はプルダウンされてい
るため、CPU10側、IPU20側両方とも入力モードの場合
は、0しか入力されない。
IPU20のリセットが解除されていれば、アドレス0を
受け付けたIPU20から▲▼端子に“H"レベルが100
μS出力される。CPU10側では、入力モードに切り換え
てから12μS間隔で20回▲▼端子のレベルがチェ
ックされ、この間▲▼端子の“H"レベルがチェッ
クされる毎に、▲▼端子レベル検出用カウンター
をインクリメントする(ステップ104、105、106)。
カウンターが20になると、▲▼端子に“H"信号
が50μS入っていたかを、▲▼端子レベル検出カ
ウンターの値が5以上かでチェックし、50μS以上の
“H"が入力された、つまり、▲▼端子レベル検出
カウンターの値が5以上だったときに、IPU20がリセッ
ト解除されているのでIPU OKフラグを「1」に設定
し、▲▼端子およびSIO端子に“H"を出してリタ
ーンする(ステップ107、108、109)。
▲▼端子に“H"信号が50μS以上きていない、
つまり▲▼端子レベル検出用カウンターの値が6
以上でなければ、IPU OKフラグを0に設定し、SCK端子
を“H"にしてSIO端子を出力モードにし、E2PROMのIPU
STOP bitが「1」に設定されているかチェックし、設
定されていなければリターンし、設定されていればパワ
ーオフ処理に飛び(ステップ110、111、112)。
CPU10がメインループを実行中に▲▼端子から
の立ち下り(VDDオンのとき)または立ち上り(VDDオ
フのとき)によるインタラプトがあった場合のIPU20の
動作について、第13図(A)〜(D)に示したフローチ
ャートに基づいて説明する。
通信中にインタラプトがあると、IPU20はX、Aレジ
スタを退避し(ステップ121)、VDDフラグが「1」で
あるか否か、つまりVDD系の電源がオンしていることを
検出しているか否かをチェックする(ステップ102)。
VDDフラグが「0」であれば、VDDがオンしたことに
よるインタラプトなので、通信処理なしで第13図(D)
のSIO END処理に進む(ステップ148)。
ステップ150では、VDDフラグを「1」に設定し、INT
1端子の立ち下りで次のアドレスインタラプトを受信で
きるようにIM1←1を実行し、▲▼端子を
“L"にしてSIO端子を抵抗R3でプルダウンしてデータの
入力準備をし、次のアドレス入力の準備としてSIOレジ
スタ←OFFHを行ない、シリアル通信完了フラグをクリア
し、XAレジスタを復帰してリターンする(ステップ15
1、152)。SIO END処理は、次のアドレス通信によるイ
ンタラプトのための初期設定を行なう処理である。
ステップ122において、VDDが1であれば、アドレス
データの入力サブルーチンをコールし、所定時間内にシ
リアル通信が完了するかどうかをチェックする。所定時
間内に通信が終了せずシリアルデータ入力NG(未完)で
あれば、第13図(D)のSIO NG処理に進み、AFインタ
ラプトでNGになったのかVDDオフでNGになったのかを、
ステップ148にて▲▼端子のレベルをチェックし
て判断する。
ここで“L"でなければAFインタラプトによるNGなの
で、SIO END処理をしてリターンする。“L"であれば、
VDDオフによるNGなので、ステップ149にてVDDフラグ
を0にし、INT1端子の立上りでインタラプトがかかるよ
うにIM1←0を実行し、▲▼端子を“L"にし
て、SIO端子を抵抗R3でプルダウンしてデータ入力の準
備をし、X、Aレジスタを復帰してリターンする(ステ
ップ151、152)。
ステップ123で所定の時間内にシリアル通信が完了
し、シリアルデータ入力OKとなったときはステップ124
に進む。
ステップ124では、アドレスが0、つまりIPUチェック
アドレスかどうかをチェックし、IPUチェックアドレス
であれば、▲▼端子に100μSの“H"パルスを出
力し、CPU OKフラグを「1」にしてCPU10からアドレス
0の通信があったことを内部的に記憶してSIO END処理
に進む。
ステップ124にて、アドレスが0でなければ、第13図
(B)のIN OUTチェック処理に進む。アドレス最上位b
itX3(Xレジスタのbit3)が「1」であればCPU10からI
PU20へのデータ通信なので、第13図(D)のアウト・ア
ドレスチェック処理に進み、同「0」であればIPU20か
らCPU10へのデータ通信なので、ステップ128からイン・
アドレスチェック処理に進む。
イン・アドレスチェック処理では、アドレスの下位の
3bit(X2,X1,X0)をチェックするが、本実施例ではCPU1
0→IPU20のアドレスは1と2のみで行なっている。
ステップ128では、アドレスが1かどうかチェック
し、1であれば、つまりX2〜X0=1(001B)であればス
テップ130に進み、アドレスが1でない場合は131に進
む。
ステップ130では、アドレス1に対応するIPU20からの
出力データがXAレジスタにセットされ、IPU20→CPU10の
8bitシリアル出力サブルーチンがコールされる。所定時
間T2内にシリアルデータの出力が完了してシリアルデー
タ出力OKのときは、アドレス1に対するデータ通信がす
べて無事に終了したことになるので、SIO END処理に進
み、NGであればSIO NG処理に進む(ステップ128、13
0)。
ステップ131では、アドレスが2かどうかチェック
し、2であれば、つまりX2〜X0=2(010B)であれば、
ステップ132に進み、2でないときには、アドレスが定
義されていないのでSIO END処理に進み、次のアドレス
通信のための準備をする。
アドレス2を検出すると、これは8bitデータを3個有
するので、各フレーム毎にアドレス2に対するIPU20の
出力データがXAレジスタにセットされて各フレーム毎の
シリアル通信に対して所定時間内にシリアル通信が終了
したかどうかをチェックする。
すべてOKであればSIO END処理に進み、1個でもNGが
あれば、その時点でSIO NG処理に進む(ステップ132、
133、134)。
ステップ127にて、bitX3が「1」と判断されたら、第
13図(C)のアウト・アドレスチェックに進む。本実施
例では、アドレス9、10以外の通信が定義されている
が、説明の都合上アドレス9およびのみについて説明す
る。ここでも、イン・アドレスチェックと同様にアドレ
スチェックを行なう(ステップ135,139)。
ステップ135において、アドレス=9(1001B)が検出
されたらステップ137に進み、8bitシリアルデータ入力
サブルーチンをコールする。アドレス≠9のときは、ス
テップ139に進む。
ステップ137で所定時間T2内にシリアル通信が完了せ
ずにNGとなると、SIO NG処理に進み、OKであればステ
ップ137のサブルーチンコールでXAレジスタにデータが
得られているので、XAレジスタの内容をアドレス9用の
データ格納RAMにストアし、SIO END処理に進む(ステ
ップ137、138)。
ステップ139では、アドレス=10(1010B)かどうかの
チェックをし、YESならばステップ140に進み、NOならば
本説明ではアドレスが定義されていないのでSIO END処
理に進み、次のアドレス通信の準備をする。
ステップ140では、アドレスデータの下位4bitにデー
タが一緒に送られてきているので、このデータをRAMのR
IPNFという格納場所にストアし、ステップ141に進む。
ステップ141では、アドレス10で定義されているもう
1回の8bitデータ受信のためにサブルーチンがコールさ
れ、所定時間内に通信が終了しなければ、SIO NG処理
に進み、所定時間内に通信が完了した場合は、ステップ
142に進む。
ステップ142では、ステップ140で送られてきたデータ
のREW中bitをチェックし、REW(リワインド)中ならば
ステップ144に進み、そうでなければワインド時のデー
タなのでステップ143に進む。
ステップ143では、ワインド時のパトローネ表示デー
タ(下位bit)をRAMのRIPWINDにストアし、SIO END処
理に進む。
ステップ144では、REW中に送られてくるフィルム枚数
減算表示用のデータをRAMのRIPSTM1にストアしてSIO E
ND処理に進む。
要するにIPU20は、シリアル通信中にSCK端子からのク
ロック入力が止って所定時間内にシリアル通信が完了し
ないと、SIO NG処理によりAFインタラプトで止った
か、VDDオフで止ったかをSCK1端子のレベルにより判断
して、それぞれ適切な処理をしてリターンする。所定時
間内にシリアル通信が完了していれば、定義されたアド
レスに対応するRAMデータの入出力をアドレスにより定
義される数だけ行ない、SIO END処理にて次のアドレス
受信のための準備をしてリターンするのである。
次に、IPU20のシリアル通信終了処理について、第14
図のフローチャートを参照して説明する。
IPU20からCPU10にデータを送る場合は、B−CNT端子
を“H"にしてSIO端子を抵抗R3でプルアップして通信ス
タートに進み(ステップ161)、CPU10からIPU20にデー
タを送る場合は、▲▼端子を“L"にしてSIO
端子を抵抗R3でプルダウンし、シリアルデータを受信す
るためのデータをXAレジスタに入れ(XA←OFFH)、XAレ
ジスタの内容をシリアルI/Oのレジスタに入れてシリア
ル通信の送受信をスタートさせてからシリアル通信完了
チェックに入る(ステップ163)。
まず、ソフトタイマーを600μSにセットし(ステッ
プ164)、シリアル通信が完了したか否かをチェックし
(ステップ165)、終了してシリアル通信完了フラグが
ハード的に立つと、シリアルデータをXAレジスタに書き
込んでリターンスキップする(ステップ166)。
完了していなければ再びシリアル通信が完了したか否
かをチェックする(ステップ167)。ここで完了してい
れば、ステップ168に進み、ステップ166と同様の処理を
行なってリターンスキップする。
上記同様のチェックを再度繰返し(ステップ169)、
ここで通信が終了していればステップ170に進み、ステ
ップ166と同様の処理を行なってリターンスキップす
る。
シリアル通信が終了していないときにはステップ171
にてステップ164で設定したタイマーをカウントダウン
してタイムオーバーか否かをチェックし、タイムオーバ
ーしていなければ(タイマー≠0)ステップ165に戻っ
てシリアル通信が完了するまで、またはタイムアップす
るまでステップ165〜171の処理を繰返す。
そして、もしタイムオーバーすると(タイマー=
0)、リターンする。
要するに、シリアル通信が所定時間内で終了したかど
うかは、このサブルーチンから戻るときにリターンで戻
る(通信NG)か、リターンスキップ(通信OK)で戻るか
で判断している。
また、本実施例ではIPU20側のシリアル⇔パラレル変
換はハード的に行なわれるため、ソフトの方では、最初
のシリアルクロックからの時間をカウントし、所定時間
内に通信完了フラグが立つかどうかという処理になって
いる。通信完了フラグが立った時点では、セットした出
力データは終っており、入力データはバッファに残って
いるので、レジスタXAにとり込んでからリターンスキッ
プする。
以上本実施例では、必要なデータをグループ分けし、
CPU10とIPU20との間でのシリアルデータ転送を、グルー
プ単位で行なうので、データ通信の効率化、通信時間の
短縮を図ることができ、また、SCKとSIOの2本という少
ないラインで通信を可能にしているので、メインCPUと
サブCPUを実装する上での自由度が非常に高くなる。
また、通信方向の切換は、分割抵抗R1,R3および▲
▼端子によるプルアップ、プルダウン構成なの
で、電源選択の自由度が高く、構成が簡単で、しかも制
御が簡単である。
アドレスデータは8bit中の上位4bitしか使用していな
いので、データが4bitで足りる場合は、アドレスデータ
の下位4bitを使用してアドレスと共に送ってもよい。
本実施例では、本発明をカメラに適用した例について
説明したが、本発明は、マイコン間でシリアル通信を行
なうすべての装置、機器に適用できる。
「発明の効果」 以上の説明から明らかな通り本発明は、メインCPUと
サブCPUとの間でシリアルデータ通信を行なう場合に、
メインCPUからサブCPUに出力されるシリアルクロックが
第1の所定時間T1以上“H"信号を出力した後に、複数bi
t分のシリアルクロックパルスを第2の所定間隔T2以内
で発生し、シリアルクロックパルスに同期してメインCP
UからサブCPUに出力されるシリアルデータをアドレスデ
ータとし、このアドレスデータによりそれ以降の通信デ
ータの通信方向およびデータ内容、データ数を決定する
ので、必要なデータのみ通信することにより、送信時間
の短縮および処理時間の短縮、ならびに少ない通信ライ
ンでの通信を図ることができる。
【図面の簡単な説明】
第1図は、本発明の通信方法を適用したカメラの制御装
置の一実施例をブロックで示す回路図、第2図は同実施
例のサブマイコン側の入出力部の概略回路図、第3図
は、制御装置の別の実施例を示す回路図、第4図
(A)、(B)、第5図(A)、(B)、(C)、
(D)は、シリアルクロックとシリアルI/Oの関係を示
すタイミングチャート、第6図、第7図、第8図、第9
図、第10図、第11図、第12図、第13図(A)、(B)、
(C)、(D)および第14図は、本実施例の動作を示す
フローチャートである。 10……CPU(メインCPU)、13……シリアルI/O部、20…
…IPU(サブCPU)、23……シリアルI/O部、

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】シリアルクロックラインとシリアルI/Oラ
    インの2本の通信ラインを用いてメインCPUとサブCPUと
    の間でデータ通信を行なうデータ通信方法であって、 データ通信を開始するときは、前記メインCPUからサブC
    PUに、前記シリアルクロックラインを介して第1の所定
    時間T1以上“H"レベル信号を出力し、その後、前記シリ
    アルクロックラインを介して複数bit分のシリアルクロ
    ックパルスを出力すると共に、この複数bit分のシリア
    ルクロックパルスに同期して前記メインCPUからサブCPU
    に、前記シリアルI/Oラインを介して通信方向と、授受
    されるデータの種類と、データのフレーム数を示すアド
    レスデータを出力し、このアドレスデータによりそれ以
    降の前記メインCPUとサブCPU間のデータ通信の通信方向
    と、授受されるデータの種類と、データのフレーム数を
    決定すること、を特徴とするマイコン間のデータ通信方
    法。
  2. 【請求項2】前記アドレスデータ受信以降のシリアルク
    ロックの受信が前記アドレスデータ受信後第2の所定時
    間T2内に終了しなかった場合には、シリアルクロック受
    信側のサブCPUが、そのアドレスデータに対するシリア
    ルデータを無効にし、さらに次のアドレスデータの受信
    に備えて、前記シリアルI/Oラインの入出力モードを、
    そのときの入出力モードにかかわらず入力モードに切り
    換える請求項1記載のマイコン間のデータ通信方法。
  3. 【請求項3】前記シリアルI/Oライン間には、分割抵抗
    で構成された信号レベルシフト手段が設けられる一方、
    供給される電源電圧が高い方のCPUから他方のCPUにデー
    タ通信を行う際には、前記メインCPUまたはサブCPUのい
    ずれか一方は、前記信号レベルシフト手段を制御して、
    前記シリアルI/Oラインの信号レベルを変更する請求項
    1記載のマイコン間のデータ通信方法。
JP63198676A 1988-08-09 1988-08-09 マイコン間のデータ通信方法 Expired - Fee Related JP2966416B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63198676A JP2966416B2 (ja) 1988-08-09 1988-08-09 マイコン間のデータ通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63198676A JP2966416B2 (ja) 1988-08-09 1988-08-09 マイコン間のデータ通信方法

Publications (2)

Publication Number Publication Date
JPH0247755A JPH0247755A (ja) 1990-02-16
JP2966416B2 true JP2966416B2 (ja) 1999-10-25

Family

ID=16395193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63198676A Expired - Fee Related JP2966416B2 (ja) 1988-08-09 1988-08-09 マイコン間のデータ通信方法

Country Status (1)

Country Link
JP (1) JP2966416B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015002944A (ja) * 2013-06-24 2015-01-08 三菱電機株式会社 電気炊飯器

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049737A (ja) * 2007-08-21 2009-03-05 Yazaki Corp 通信システム
JP6544799B2 (ja) * 2015-08-20 2019-07-17 Necエンベデッドプロダクツ株式会社 回路基板及び信号解析システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57114936A (en) * 1981-01-08 1982-07-17 Fuji Electric Co Ltd Serial data transfer system for multi-micro-processor system
JPS57132260A (en) * 1981-02-09 1982-08-16 Ricoh Co Ltd Data transfer system between microcomputers
JPH07104831B2 (ja) * 1985-09-20 1995-11-13 キヤノン株式会社 データ転送方法
JPS62281046A (ja) * 1986-05-30 1987-12-05 Ricoh Co Ltd 画像形成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015002944A (ja) * 2013-06-24 2015-01-08 三菱電機株式会社 電気炊飯器

Also Published As

Publication number Publication date
JPH0247755A (ja) 1990-02-16

Similar Documents

Publication Publication Date Title
CN101540843B (zh) 成像设备和信号处理方法
US5535362A (en) Data transfer control apparatus wherein a time value is compared to a clocked timer value with a comparison of the values causing the transfer of bus use right
JPH021286B2 (ja)
JPH04102835A (ja) カメラシステム
JPH0610726B2 (ja) カメラ
US20010007472A1 (en) Lens moving mechanism for an imaging device and method thereof
JP2966416B2 (ja) マイコン間のデータ通信方法
US4811043A (en) Data transmission system for use in a camera system
US6775476B2 (en) Camera system, vibration correction unit interchangeable lens unit and camera
KR0179676B1 (ko) 비디오 카메라 및 그 제어방법
JP3881395B2 (ja) 焦点検出用センサ制御装置
JPH0470614A (ja) 撮影レンズ
JP2621500B2 (ja) Cpuのデータ交信処理方式
JPH06138529A (ja) 手振れ補正カメラ
JP2002132517A (ja) 電子機器、カメラおよび視線入力装置
US4772908A (en) Sequence control device for use in a camera system
US5784645A (en) Apparatus having a first microcomputer for reading first and second data from a non-volatile memory and processing the second data and transferring the first and second microcomputer
JP2517628Y2 (ja) セルフタイマー内蔵カメラ
EP0217395A2 (en) Light sensing system
JP3557233B2 (ja) カメラの制御装置
JP3444907B2 (ja) 光電変換装置
JP3332570B2 (ja) ビデオカメラ
JP3066392B2 (ja) カメラ
JPH05197052A (ja) カメラ
JPH0715556B2 (ja) カメラの付属装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees