JPH0247755A - マイコン間のデータ通信方法 - Google Patents
マイコン間のデータ通信方法Info
- Publication number
- JPH0247755A JPH0247755A JP63198676A JP19867688A JPH0247755A JP H0247755 A JPH0247755 A JP H0247755A JP 63198676 A JP63198676 A JP 63198676A JP 19867688 A JP19867688 A JP 19867688A JP H0247755 A JPH0247755 A JP H0247755A
- 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.)
- Granted
Links
Landscapes
- Multi Processors (AREA)
- Bidirectional Digital Transmission (AREA)
- Communication Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
「技術分野」
本発明は、マイコン(CPUIO)間におけるデータ通
信方法の改良に係り、特に、シリアル通信において通信
ラインの削減および通信時間を短縮できる通信法に関す
る。
信方法の改良に係り、特に、シリアル通信において通信
ラインの削減および通信時間を短縮できる通信法に関す
る。
「従来技術およびその問題点」
近年のカメラは自動化が進み、自動焦点(AF)装置、
自動露出(AE)装置を有するものが増えているが、近
時は、さらに付加価値が求められるようになってきた。
自動露出(AE)装置を有するものが増えているが、近
時は、さらに付加価値が求められるようになってきた。
たとえば、合焦時間の短縮、合焦精度の向上、望遠レン
ズ用のシャッタスピード優先モード、広角レンズ用の被
写体深度優先モードなど複雑多種のプラグラム露出モー
ドや、機影枚数、プログラムモードなど各種機影情報を
一目で視認可能な大型な表示装置が求められるようにな
ってきた。
ズ用のシャッタスピード優先モード、広角レンズ用の被
写体深度優先モードなど複雑多種のプラグラム露出モー
ドや、機影枚数、プログラムモードなど各種機影情報を
一目で視認可能な大型な表示装置が求められるようにな
ってきた。
AF装置の合焦精度を上げようとすればCCDの数、情
報量が増^るので、AF処理を高速で行なうには大きな
メモリ容量が必要となる。そのため、データメモリ、演
算、制御の各機能を1個のマイコン(CPUIO)に持
たせることは困難であった。
報量が増^るので、AF処理を高速で行なうには大きな
メモリ容量が必要となる。そのため、データメモリ、演
算、制御の各機能を1個のマイコン(CPUIO)に持
たせることは困難であった。
上記課題を解決する手段として、機能を複数のマイコン
に分担させる手段がある。たとえば、メインマイコンに
、カメラ全体の作動シーケンスを制御するシステム制御
機能および測距演算機能を持たせ、1または2以上のサ
ブマイコンに測光演算機能、データ入力制御、データメ
モリ機能、表示制御機能等を持たせていた。つまり、複
数のマイコンに演算、制御、メモリ機能を分担し、処理
効率を高めていた。
に分担させる手段がある。たとえば、メインマイコンに
、カメラ全体の作動シーケンスを制御するシステム制御
機能および測距演算機能を持たせ、1または2以上のサ
ブマイコンに測光演算機能、データ入力制御、データメ
モリ機能、表示制御機能等を持たせていた。つまり、複
数のマイコンに演算、制御、メモリ機能を分担し、処理
効率を高めていた。
しかし、従来は、メイン、サブマイコン間のデータ通信
をシリアルで行なう場合、シリアル通信ライン以外にも
通信制御用の信号が必要とされ、3本以上の通信ライン
によりデータ通信がなされ、大事な情報処理用のボート
が無駄に使用されていたり、データの要不要の選択なし
に、メモリの全てのデータを一度に通信したりしていた
ため、データの通信に長時間を要し、処理時間短縮の障
害を起したりしていた。
をシリアルで行なう場合、シリアル通信ライン以外にも
通信制御用の信号が必要とされ、3本以上の通信ライン
によりデータ通信がなされ、大事な情報処理用のボート
が無駄に使用されていたり、データの要不要の選択なし
に、メモリの全てのデータを一度に通信したりしていた
ため、データの通信に長時間を要し、処理時間短縮の障
害を起したりしていた。
「発明の目的」
本発明は、上記従来技術の課題に基づいてなされたもの
で、より少ない通信ラインでのデータ通信方法およびよ
り短い時間でのマイコン間のシリアルデータ通信方法を
提供することを目的とする。
で、より少ない通信ラインでのデータ通信方法およびよ
り短い時間でのマイコン間のシリアルデータ通信方法を
提供することを目的とする。
「発明の概要」
本発明にあっては、マイコン間で通信するデータをグル
ープ分けし、必要なグループ単位で送受信すれば送受信
時間の短縮を図れるという事実に着目してなされたもの
で、シリアルクロックとシリアルI/Oの2本の通信ラ
インを用いてメインCPUとサブCPUとでデータ通信
を行なうデータ通信方法であって、上記メインCPUか
らサブCPUに出力されるシリアルクロックが、第1の
所定時間T1以上”H”信号を出力した後に、複数bi
t分のシリアルクロックパルスを第2の所定時間T2内
で上記シリアルクロックパルスに同期してメインCPU
からサブCPUに出力されるシリアルデータをアドレス
データとし、このアドレスデータによりそれ以降の通信
データの通信方向およびデータ内容、データ数を決定す
ることを特徴とする。
ープ分けし、必要なグループ単位で送受信すれば送受信
時間の短縮を図れるという事実に着目してなされたもの
で、シリアルクロックとシリアルI/Oの2本の通信ラ
インを用いてメインCPUとサブCPUとでデータ通信
を行なうデータ通信方法であって、上記メインCPUか
らサブCPUに出力されるシリアルクロックが、第1の
所定時間T1以上”H”信号を出力した後に、複数bi
t分のシリアルクロックパルスを第2の所定時間T2内
で上記シリアルクロックパルスに同期してメインCPU
からサブCPUに出力されるシリアルデータをアドレス
データとし、このアドレスデータによりそれ以降の通信
データの通信方向およびデータ内容、データ数を決定す
ることを特徴とする。
上記構成によれば、シリアルクロックとシリアルI/O
の2本のラインのみでシリアル通信が可能となり、複数
のデータがグループ分けされ、そのアドレスを指定する
ことにより必要なデータのみを通信できるので、より早
い効率的なデータ通信が可能になる。
の2本のラインのみでシリアル通信が可能となり、複数
のデータがグループ分けされ、そのアドレスを指定する
ことにより必要なデータのみを通信できるので、より早
い効率的なデータ通信が可能になる。
「実施例の説明」
以下図示実施例について本発明を説明する。
第1図は、本発明の通信方法を適用したカメラの制御装
置の一実施例をブロックで示す回路図、第2図は同実施
例のサブマイコン側の入出力部の概略回路図、第3図は
、制御装置の別の実施例を示す回路図である。
置の一実施例をブロックで示す回路図、第2図は同実施
例のサブマイコン側の入出力部の概略回路図、第3図は
、制御装置の別の実施例を示す回路図である。
本実施例は、メインマイコンとしてCPU10と、サブ
マイコンとしてIPU20(インジケーション・プロセ
ラシツシング・ユニット)20とを有する。
マイコンとしてIPU20(インジケーション・プロセ
ラシツシング・ユニット)20とを有する。
CPU10は、システム全体の制御、およびCC016
からのAP(自動焦点)用信号を受けて測距演算を行な
う制御演算部11と、プログラム、各種データを格納す
るメモリ部12と、シリアルデータの入出力部およびク
ロック信号発生部を有するシリアルクロック13と、電
源スィッチ、測光スイッチ、レリーズスイッチ等のスイ
ッチ15の入力を行なうスイッチ入力部14とを有する
。
からのAP(自動焦点)用信号を受けて測距演算を行な
う制御演算部11と、プログラム、各種データを格納す
るメモリ部12と、シリアルデータの入出力部およびク
ロック信号発生部を有するシリアルクロック13と、電
源スィッチ、測光スイッチ、レリーズスイッチ等のスイ
ッチ15の入力を行なうスイッチ入力部14とを有する
。
一方IPU20は、液晶デイスプレィ(LCD)24の
表示制御、撮影モード切り替え、ISO感度設定等を行
なうスイッチ25の入力制御およびデータ処理を行なう
制御・演算部21と、その表示データ、例えば機影モー
ド、ISO感度データ、フィルム機影枚数データ等を格
納するメモリ部22と、データの入出力を行なうシリア
ルI10部23を有する。
表示制御、撮影モード切り替え、ISO感度設定等を行
なうスイッチ25の入力制御およびデータ処理を行なう
制御・演算部21と、その表示データ、例えば機影モー
ド、ISO感度データ、フィルム機影枚数データ等を格
納するメモリ部22と、データの入出力を行なうシリア
ルI10部23を有する。
CPU10は、スイッチ15の中の測光スイッチのオン
等で電源が投入され、VDD45Vの電圧で必要なとき
だけ動作する。一方、IPU20は、タイマー等で間欠
動作を行ない、電源系は、常にVddl #3.TVが
与えられている。
等で電源が投入され、VDD45Vの電圧で必要なとき
だけ動作する。一方、IPU20は、タイマー等で間欠
動作を行ない、電源系は、常にVddl #3.TVが
与えられている。
シリアルI10部13は、シリアルデータを送受信する
5toni子と、クロック信号を送信するSCK端子と
を有する。
5toni子と、クロック信号を送信するSCK端子と
を有する。
一方IPU20のシリアルI10部23は、シリアルデ
ータを送受信する5IOI端子と、シリアルクロックの
第1の所定時間T1以上“H”の後の立下がりを検出す
るlNTl端子と、このlNTl端子と接続された、ク
ロック信号を受信する5CK1端子および、CPU10
からのアドレスによりIPU20→CPU10へのシリ
アル転送が検出された場合に、所定のシリアルクロック
あるいは所定の時間だけIPU20からのVDD系のデ
ータ出力が可能となるように、5IOI端子にプルアッ
プを付ける制御を行なうB−CNT端子を有する。B−
CNT端子は通常CPU10からの信号をVDD系の電
圧で受信できるように“L“にプルダウンされる。
ータを送受信する5IOI端子と、シリアルクロックの
第1の所定時間T1以上“H”の後の立下がりを検出す
るlNTl端子と、このlNTl端子と接続された、ク
ロック信号を受信する5CK1端子および、CPU10
からのアドレスによりIPU20→CPU10へのシリ
アル転送が検出された場合に、所定のシリアルクロック
あるいは所定の時間だけIPU20からのVDD系のデ
ータ出力が可能となるように、5IOI端子にプルアッ
プを付ける制御を行なうB−CNT端子を有する。B−
CNT端子は通常CPU10からの信号をVDD系の電
圧で受信できるように“L“にプルダウンされる。
SIO端子と5IOI端子とは、中間に抵抗R1を介し
て接続され、SCK端子とSCK 1端子とは、中間に
抵抗R2を介して接続されている。B−CNT端子は、
プルアップ、ダウン抵抗R3を介して5IOI端子に接
続されている。抵抗R2とIPU20の間の部分は、抵
抗R4を介して接地されている0以上の抵抗値の比は、
R3/ (R1+R31=R4/ (R2+R41=V
ddl/VDD=3.7V15Vなる関係を有する。
て接続され、SCK端子とSCK 1端子とは、中間に
抵抗R2を介して接続されている。B−CNT端子は、
プルアップ、ダウン抵抗R3を介して5IOI端子に接
続されている。抵抗R2とIPU20の間の部分は、抵
抗R4を介して接地されている0以上の抵抗値の比は、
R3/ (R1+R31=R4/ (R2+R41=V
ddl/VDD=3.7V15Vなる関係を有する。
第2図に示すように、シリアルI10部23の5IOI
端子には、インバータ26の入力およびMOS−FET
27のドレインが接続されている。
端子には、インバータ26の入力およびMOS−FET
27のドレインが接続されている。
次に、シリアルI/Oのデータ転送の方法をハード的に
説明する。CPU10からIPtJ20にデータが転送
される場合は、CPU10がSIO端子にVDD系の電
圧で信号を出力する。一方IPU20は、B−CNT端
子に「0」を出力し、抵抗R3をプルダウンすることに
より、CPU10から出力されるVDD系の”H”レベ
ル信号を抵抗R1、R2t’抵抗分割しテVddl系(
7)”H”し/’Cルに変換する。GNDは共通なので
、VDD系の“′L”レベルもVddl系のL”レベル
も同じレベルで通信できる。
説明する。CPU10からIPtJ20にデータが転送
される場合は、CPU10がSIO端子にVDD系の電
圧で信号を出力する。一方IPU20は、B−CNT端
子に「0」を出力し、抵抗R3をプルダウンすることに
より、CPU10から出力されるVDD系の”H”レベ
ル信号を抵抗R1、R2t’抵抗分割しテVddl系(
7)”H”し/’Cルに変換する。GNDは共通なので
、VDD系の“′L”レベルもVddl系のL”レベル
も同じレベルで通信できる。
次に、IPU20からCPU10にデータが転送される
場合は、CPU10がハイインピーダンスの入力モード
となり、IPU20はB−CNT端子に「1」を出力し
、抵抗R3をプルアップし、MOSFET27をオンオ
フしてデータを出力することにより、CPU10に“H
”レベルがV ddl系、“L”レベルがGND共通レ
ベルでデータが通信される。このとき、IPU20から
出力されるV ddl系の“H”レベルはVDD系で入
力され、これが“H“レベルでなければならないので、
VDDとV ddlの電圧の間に(1/2)VDD<V
ddlなる関係が成立しなければならない。
場合は、CPU10がハイインピーダンスの入力モード
となり、IPU20はB−CNT端子に「1」を出力し
、抵抗R3をプルアップし、MOSFET27をオンオ
フしてデータを出力することにより、CPU10に“H
”レベルがV ddl系、“L”レベルがGND共通レ
ベルでデータが通信される。このとき、IPU20から
出力されるV ddl系の“H”レベルはVDD系で入
力され、これが“H“レベルでなければならないので、
VDDとV ddlの電圧の間に(1/2)VDD<V
ddlなる関係が成立しなければならない。
また、CPU10の処理が終了してVDDのパワーホー
ルドがオフした場合は、SIO端子、およびSCK端子
のすべてが“L”になり、IPU20はSCK端子の規
定時間以上のL”レベルを検出して、VDD系の電源が
オフしたことを検出できる。
ルドがオフした場合は、SIO端子、およびSCK端子
のすべてが“L”になり、IPU20はSCK端子の規
定時間以上のL”レベルを検出して、VDD系の電源が
オフしたことを検出できる。
第1図の実施例において、IPU20の5IO1端子に
高耐圧性がある場合には、第3図に示すように、上述の
B−CNT端子の機能をCPU1O側に移し、抵抗R3
の接続を5IOI端子とIPU20から5IOI端子と
CPU10への接続に換えればよい。
高耐圧性がある場合には、第3図に示すように、上述の
B−CNT端子の機能をCPU1O側に移し、抵抗R3
の接続を5IOI端子とIPU20から5IOI端子と
CPU10への接続に換えればよい。
このように高い電圧系でプルアップダウンを切り換える
ことにより、高い電圧系から低い電圧系へのVレベル変
換も可能になり、システムの電源選択の自由度が増す。
ことにより、高い電圧系から低い電圧系へのVレベル変
換も可能になり、システムの電源選択の自由度が増す。
第4図(A)、(B)には、IPU20とCPUIOと
の間でデータを転送する際のクロック信号、データ信号
および通信方向制御信号のタイムチャートを示しである
。
の間でデータを転送する際のクロック信号、データ信号
および通信方向制御信号のタイムチャートを示しである
。
アドレスデータな転送する場合は、まずSCK端子から
“H”信号が所定のT1時間(480μs)以上出力さ
れる。IPU20は、通常データ受信準備をしていて、
CPU10はT1時間経過後の任意の時間にSCK端子
のクロック出力およびクロック出力に同期してSIO端
子にアドレスデータ信号を出力する。
“H”信号が所定のT1時間(480μs)以上出力さ
れる。IPU20は、通常データ受信準備をしていて、
CPU10はT1時間経過後の任意の時間にSCK端子
のクロック出力およびクロック出力に同期してSIO端
子にアドレスデータ信号を出力する。
本実施例のデータ信号は、■フレーム8bitで構成さ
れ、最初の1フレーム中の上位4bitでアドレス信号
を送る。このアドレス4bitの内、最上位のbitで
送信方向が決定され、次の3bitで送信データの内容
および数が決定される。
れ、最初の1フレーム中の上位4bitでアドレス信号
を送る。このアドレス4bitの内、最上位のbitで
送信方向が決定され、次の3bitで送信データの内容
および数が決定される。
本実施例では、最上位のbitがL” (「0」)のと
きにはIPU20からCPU10へ、”H” (rlJ
)のときにはCPU10からIPU20へ送信される。
きにはIPU20からCPU10へ、”H” (rlJ
)のときにはCPU10からIPU20へ送信される。
したがって第4図(A)の場合は、IPU20からCP
U10への通信であり、第4図(B)の場合は、CPU
10からIPU20への通信である。
U10への通信であり、第4図(B)の場合は、CPU
10からIPU20への通信である。
B−CNT端子は、常時は“L”であるが、アドレスデ
ータの内容により、IPU20からCPU10への通信
が検出されたときにはI PU20からCPU10への
入出力切換が行なわれ、この期間中百−薯丁N]1端子
のレベルは“°H”に設定され、抵抗R3の片端をプル
アップしてVddl系の”H”レベルまたはGNDレベ
ルをCPU10に出力する。
ータの内容により、IPU20からCPU10への通信
が検出されたときにはI PU20からCPU10への
入出力切換が行なわれ、この期間中百−薯丁N]1端子
のレベルは“°H”に設定され、抵抗R3の片端をプル
アップしてVddl系の”H”レベルまたはGNDレベ
ルをCPU10に出力する。
アドレスデータにより送信方向がCPUI OからIP
U20であった場合、B−CNT端子のレベルは、”L
”がそのまま保持される。
U20であった場合、B−CNT端子のレベルは、”L
”がそのまま保持される。
第4図(A)では、CPU10は、アドレス=1のデー
タを送信した後に受信準備に切り換わり、一方アドレス
=1のデータを受信したIPU20は、送信準備を開始
すると共にソフトタイマーを作動させる。ソフトタイマ
は、T2時間(600μs)内にシリアルクロックが終
了(データ転送が終了)しなかった場合にはエラーとし
てエラー処理、つまりタイマー起動後に入っていたシリ
アルデータ、またはその通信を無効にするためのもので
ある。
タを送信した後に受信準備に切り換わり、一方アドレス
=1のデータを受信したIPU20は、送信準備を開始
すると共にソフトタイマーを作動させる。ソフトタイマ
は、T2時間(600μs)内にシリアルクロックが終
了(データ転送が終了)しなかった場合にはエラーとし
てエラー処理、つまりタイマー起動後に入っていたシリ
アルデータ、またはその通信を無効にするためのもので
ある。
本発明では、各アドレスの通信データを、軸素に使用す
るものと稀にしか使用しないもの、互いに緊密な関係が
あるものという観点からグループ分けしである。このよ
うにグループ分けすることにより、VDD系の電源投入
時、測光時、露光時等のさまざまな場合に、不要なデー
タの通信をしないので、データ通信時間が短縮される。
るものと稀にしか使用しないもの、互いに緊密な関係が
あるものという観点からグループ分けしである。このよ
うにグループ分けすることにより、VDD系の電源投入
時、測光時、露光時等のさまざまな場合に、不要なデー
タの通信をしないので、データ通信時間が短縮される。
下記の表に、アドレスとそのデータの一例をいくつかを
示す、アドレス1,2はIPU20からCPU10への
通信データで、アドレス9,10はCPU10からIP
U20への通信データである。
示す、アドレス1,2はIPU20からCPU10への
通信データで、アドレス9,10はCPU10からIP
U20への通信データである。
なお、アドレス=2は3フレームであり、アドレス=1
0は、アドレスの後の4bitにデータをのせである。
0は、アドレスの後の4bitにデータをのせである。
第5図(A)には、IPU20の動作チエツクをする場
合のタイミングチャートを示しである。
合のタイミングチャートを示しである。
CPU10は、SCK端子に8個のパルスを出し、SI
O端子にデータオール「0」を出してから、SCK端子
をフローティング状態にし、IPU20から“H”信号
が50μs間以上送られてくるのを待つ。
O端子にデータオール「0」を出してから、SCK端子
をフローティング状態にし、IPU20から“H”信号
が50μs間以上送られてくるのを待つ。
一方IPU20は、上記パルスを受けると、出力モード
に切り換えて、100μs″H”信号(動作信号)をC
PU10に送る。これによりCPU10は、IPU20
が作動可能であることを検知し、種々のデータ通信を開
始する。
に切り換えて、100μs″H”信号(動作信号)をC
PU10に送る。これによりCPU10は、IPU20
が作動可能であることを検知し、種々のデータ通信を開
始する。
第5図(B)に示すように、例^ばIPU20がリセッ
ト状態にあって動作信号を送らない場合、CPU10は
、所定時間後に再度上記8パルスのクロックおよびオー
ル「0」データを出し、IPU20から動作信号がくる
のを待つ、という処理を、動作信号が来るまで繰返す。
ト状態にあって動作信号を送らない場合、CPU10は
、所定時間後に再度上記8パルスのクロックおよびオー
ル「0」データを出し、IPU20から動作信号がくる
のを待つ、という処理を、動作信号が来るまで繰返す。
また、通信中にCCDの積分が終了してAFインタラブ
ドがあると、そのときのSCK端子のレベルに関係なく
、CPU10はSCK端子に“H“信号を出力してイン
クラット処理の実行に移ってしまうので、IPU20側
も通信を中断しなければならなくなる。このことをIP
U20は、通信の開始をlNTl端子の立ち下りでイン
タラブドして受は付け、12時間検出タイマーを作動さ
せ、12時間内に8bitのシリアルクロックが送られ
てこないこと、およびその時点での5CK1端子のレベ
ルが”H゛であることにより検出する。
ドがあると、そのときのSCK端子のレベルに関係なく
、CPU10はSCK端子に“H“信号を出力してイン
クラット処理の実行に移ってしまうので、IPU20側
も通信を中断しなければならなくなる。このことをIP
U20は、通信の開始をlNTl端子の立ち下りでイン
タラブドして受は付け、12時間検出タイマーを作動さ
せ、12時間内に8bitのシリアルクロックが送られ
てこないこと、およびその時点での5CK1端子のレベ
ルが”H゛であることにより検出する。
CPU10の電源がオフしたことの検出も同様にlNT
l端子の立ち下りにより、IPU20がインタラブド処
理の中で所定の時間T2のカウントを行ない、12時間
以上5CK1端子がL“のままの状態を検出してVDD
フラグがオフ、つまりCPU10がオフしていることを
検出する(第5図(D))。
l端子の立ち下りにより、IPU20がインタラブド処
理の中で所定の時間T2のカウントを行ない、12時間
以上5CK1端子がL“のままの状態を検出してVDD
フラグがオフ、つまりCPU10がオフしていることを
検出する(第5図(D))。
次に、上記カメラの主な動作について、第6図〜第14
図に示したフローチャートを参照して説明する。
図に示したフローチャートを参照して説明する。
第6図は、CPU10の基本動作を表わすメインルーチ
ンである。1!源VDDが投入され起動すると、インク
ラブド許可を設定する(ステップ41)0本実施例では
CCD積分終了信号が通信処理よりも優先されるため、
インタラブドを用いて検出する。
ンである。1!源VDDが投入され起動すると、インク
ラブド許可を設定する(ステップ41)0本実施例では
CCD積分終了信号が通信処理よりも優先されるため、
インタラブドを用いて検出する。
次に、スイッチ15からAEおよびAPの演算に必要な
データの入力であるデータ人力1が実行される(ステッ
プ42)、そして、IPU20の状態をチエツクする通
信を行なってIPtJ20が作動状態にあるかどうかを
チエツクする(ステップ43)。
データの入力であるデータ人力1が実行される(ステッ
プ42)、そして、IPU20の状態をチエツクする通
信を行なってIPtJ20が作動状態にあるかどうかを
チエツクする(ステップ43)。
この動作チエツクが終了すると、IPU20から撮影モ
ード、ISO感度補正等のデータ通信を行なう(ステッ
プ44)0本実施例では、説明を簡単にするためレリー
ズ時にあけるフローを省略しである。
ード、ISO感度補正等のデータ通信を行なう(ステッ
プ44)0本実施例では、説明を簡単にするためレリー
ズ時にあけるフローを省略しである。
ステップ45では、上述の通信処理により得られた情報
を基に測光演算処理およびAF演算処理を行なう、そし
て、ステップ46に進む。
を基に測光演算処理およびAF演算処理を行なう、そし
て、ステップ46に進む。
ステップ46では、ステップ45で得られたデータをI
PU20に通信する処理が実行される。
PU20に通信する処理が実行される。
そして、ステップ41に戻り、上述の処理を繰返す。
IPU20の基本的動作について、第7図に示したIP
Uメインルーチンに基いて説明する。
Uメインルーチンに基いて説明する。
IPU20では、スイッチ入力処理(撮影モード切換ス
イッチ、ISO感度設定スイッチ等のスイッチ入力処理
)をおこない、CPU10からのインクラブドを許可し
、上記IPU20担当のデータを処理する(ステップ5
1.52.53)。
イッチ、ISO感度設定スイッチ等のスイッチ入力処理
)をおこない、CPU10からのインクラブドを許可し
、上記IPU20担当のデータを処理する(ステップ5
1.52.53)。
そして、スイッチ入力データおよびCPU10との通信
データに基いてLC025に所定の表示をしくステップ
54)、ステップ51に戻って上述の処理を繰返す。
データに基いてLC025に所定の表示をしくステップ
54)、ステップ51に戻って上述の処理を繰返す。
AFインタラブドがあった場合のCPU10の処理を、
第8図を参照して説明する1通信中にAFインクラブタ
があったら、CPU10はSCK端子に“H”信号を出
力して通信を中断し、SIO人カモードに切り換えて(
ステップ61)、CCDデータの入力処理を行なう(ス
テップ62)、このCCDデータ入力処理が完了したら
スタックポインタをクリアし、SIO端子に“H”信号
を出力し、CPU10メインループの最初のステップ4
1に処理を移す(ステップ63)。
第8図を参照して説明する1通信中にAFインクラブタ
があったら、CPU10はSCK端子に“H”信号を出
力して通信を中断し、SIO人カモードに切り換えて(
ステップ61)、CCDデータの入力処理を行なう(ス
テップ62)、このCCDデータ入力処理が完了したら
スタックポインタをクリアし、SIO端子に“H”信号
を出力し、CPU10メインループの最初のステップ4
1に処理を移す(ステップ63)。
CPU10からの通信におけるCPU10の処理ついて
、第9図に示したフローチャートに基いて説明する。c
puioは、データ間に12時間−280uS以下の“
H”信号を出してインターバル調整を行ない、IPU2
0にデータの処理時間を与える(ステップ71)。
、第9図に示したフローチャートに基いて説明する。c
puioは、データ間に12時間−280uS以下の“
H”信号を出してインターバル調整を行ない、IPU2
0にデータの処理時間を与える(ステップ71)。
ステップ72では、CPU10の8bitシリアルルー
プの初期設定をし、アキュムレータAのパラレルデータ
を上位bitから順にCY(キャリフラグ)に送る(ス
テップ73)。ここで、CYが「1」であればSIO端
子に°°H”を出力し、CYが「0」であればSIO端
子にL”を出力する(ステップ74)、次に、SCK端
子に”L”→“°H”のパルスを出力する(ステップ7
5)。
プの初期設定をし、アキュムレータAのパラレルデータ
を上位bitから順にCY(キャリフラグ)に送る(ス
テップ73)。ここで、CYが「1」であればSIO端
子に°°H”を出力し、CYが「0」であればSIO端
子にL”を出力する(ステップ74)、次に、SCK端
子に”L”→“°H”のパルスを出力する(ステップ7
5)。
そして、8bitのシリアル出力が完了したか否かをチ
エツクしくステップ76)、完了していなければステッ
プ73に戻ってステップ73〜76の処理をシリアル出
力が完了するまで繰返し、完了したらSIO端子に“H
”を出力し、リターンする。
エツクしくステップ76)、完了していなければステッ
プ73に戻ってステップ73〜76の処理をシリアル出
力が完了するまで繰返し、完了したらSIO端子に“H
”を出力し、リターンする。
次に、CPU10がIPU20からデータ通信を受ける
動作におけるCPU10の処理について、第1O図に示
したフローチャートに基いて説明する。
動作におけるCPU10の処理について、第1O図に示
したフローチャートに基いて説明する。
SIO端子を入力モードに切り賛えて(ステップ81)
、データ出力間にIPU20の処理時間のためのウェイ
ト(T 2−280μs以下)を設ける(ステップ82
)。
、データ出力間にIPU20の処理時間のためのウェイ
ト(T 2−280μs以下)を設ける(ステップ82
)。
ステップ83で8bitシリアルループの初期設定をし
、SCK端子に°L”→” H”のパルスを出力し、S
CK端子の立ち下りに同期して出力されるIPU20か
らのシリアルデータを入力する(ステップ84.85)
。
、SCK端子に°L”→” H”のパルスを出力し、S
CK端子の立ち下りに同期して出力されるIPU20か
らのシリアルデータを入力する(ステップ84.85)
。
その入力データが「1」であればCY(キャリフラグ)
をH”に設定し、「0」であればCYを“L”に設定し
、CYとバッファレジスタBとを接続して左シフトを行
なう(ステップ86.87)。
をH”に設定し、「0」であればCYを“L”に設定し
、CYとバッファレジスタBとを接続して左シフトを行
なう(ステップ86.87)。
そして、8bitのパラレルデータの入力が完了したか
否かをチエツクし、未完了であればステップ84に戻り
、ステップ84〜88の処理を繰り返す、8bitのパ
ラレルデータの通信が終了したら、それをアキュムレー
タAに移してリターンする。
否かをチエツクし、未完了であればステップ84に戻り
、ステップ84〜88の処理を繰り返す、8bitのパ
ラレルデータの通信が終了したら、それをアキュムレー
タAに移してリターンする。
通信開始のアドレス出力動作におけるCPU1Oの処理
について、第11図のフローチャートを参照して説明す
る。CPU10は、IPUOKフラグが「1」か否かチ
エツクし、「l」でなければ、つまり「0」であって(
1:PUloにリセットがかかっていることを検出した
ら、エラー処理をする(ステップ91.92)、具体的
には、サブルーチンコールレベルをルベルキャンセルし
てリターンすることにより、アドレス通信に続く以下の
データ通信をとりやめる。
について、第11図のフローチャートを参照して説明す
る。CPU10は、IPUOKフラグが「1」か否かチ
エツクし、「l」でなければ、つまり「0」であって(
1:PUloにリセットがかかっていることを検出した
ら、エラー処理をする(ステップ91.92)、具体的
には、サブルーチンコールレベルをルベルキャンセルし
てリターンすることにより、アドレス通信に続く以下の
データ通信をとりやめる。
IPU OKフラグが立っていれば、シリアル出力モ
ードに設定し、200μ5(Tl用)のウェイト処理を
行なう(ステップ93.94)。
ードに設定し、200μ5(Tl用)のウェイト処理を
行なう(ステップ93.94)。
このウェイトは、SCK端子に°°H″′信号が出され
、これを受けたIPU20がアドレス通信の受信の準備
をする時間を確実に確保するためのものである。
、これを受けたIPU20がアドレス通信の受信の準備
をする時間を確実に確保するためのものである。
ウェイト後8bitシリアルループを初期設定しくステ
ップ95)、アキュムレータAのパラレルデータを上位
から1bitづつCYに出力し、キャリフラグが「1」
であればSIO端子出力な°“H”に、同「0」であれ
ば°L°°に設定し、次にSCK端子から“L“→“H
”のパルスを出力する(ステップ96.97.98)。
ップ95)、アキュムレータAのパラレルデータを上位
から1bitづつCYに出力し、キャリフラグが「1」
であればSIO端子出力な°“H”に、同「0」であれ
ば°L°°に設定し、次にSCK端子から“L“→“H
”のパルスを出力する(ステップ96.97.98)。
そして、8bitのデータが全て出たか否かチエツクし
、出ていなければステップ96に戻って上記処理を、8
bitループが完了するまで繰返し、完了すればリター
ンする(ステップ99)。
、出ていなければステップ96に戻って上記処理を、8
bitループが完了するまで繰返し、完了すればリター
ンする(ステップ99)。
IPU20チエツク動作におけるCPU10の処理フロ
ーついて、第12図に示したフローチャ−トに基いて説
明する。
ーついて、第12図に示したフローチャ−トに基いて説
明する。
CPU10は、IPU20に前述のIPU ADRサ
ブルーチンをコールしてアドレス0(データオール「0
」)を送ってから、SCK端子を入力モードに切換えS
CK端子レベル検出用カウンターを0、ループカウンタ
ーをI PU20にセットして、IPU20からの入力
を待つ(ステップ101.102.103)、SCK端
子はプルダウンされているため、CPU10側、IPU
20側両方とも入力モードの場合は、0しか入力されな
い。
ブルーチンをコールしてアドレス0(データオール「0
」)を送ってから、SCK端子を入力モードに切換えS
CK端子レベル検出用カウンターを0、ループカウンタ
ーをI PU20にセットして、IPU20からの入力
を待つ(ステップ101.102.103)、SCK端
子はプルダウンされているため、CPU10側、IPU
20側両方とも入力モードの場合は、0しか入力されな
い。
IPU20のリセットが解除されていれば、アドレスO
を受は付けたIPU20からSCK端子に“H”レベル
が100μs出力される。CPU10側では、入力モー
ドに切り換えてから12μs間隔で20回SCK端子の
レベルがチエツクされ、この間SCK端子の“H”レベ
ルがチエツクされる毎に、SCK端子レベル検出用カウ
ンターをインクリメントする(ステップ104.105
.106)。
を受は付けたIPU20からSCK端子に“H”レベル
が100μs出力される。CPU10側では、入力モー
ドに切り換えてから12μs間隔で20回SCK端子の
レベルがチエツクされ、この間SCK端子の“H”レベ
ルがチエツクされる毎に、SCK端子レベル検出用カウ
ンターをインクリメントする(ステップ104.105
.106)。
カウンターが20になると、SCK端子に“H”信号が
50μs入っていたかを、SCK端子レベル検出カウン
ターの値が5以上かでチエツクし、50μs以上の“H
”が入力された、つまり、SCK端子レベル検出カウン
ターの値が5以上だったときに、IPU20がリセット
解除されているのでIPU OKフラグを「1」に設
定し、SCK端子およびSIO端子に“H”を出してリ
ターンする(ステップ107.108.109)。
50μs入っていたかを、SCK端子レベル検出カウン
ターの値が5以上かでチエツクし、50μs以上の“H
”が入力された、つまり、SCK端子レベル検出カウン
ターの値が5以上だったときに、IPU20がリセット
解除されているのでIPU OKフラグを「1」に設
定し、SCK端子およびSIO端子に“H”を出してリ
ターンする(ステップ107.108.109)。
SCK端子に“H”信号が50μs以上きていない、つ
まりSCK端子レベル検出用カウンターの値が6以上で
なければ、IPU OKフラグな0に設定し、SCK
端子を“H”にしてSIO端子を出力モードにし、E”
PROMのIPUSTOP bitが「1」に設定
されているかチエツクし、設定されていなければリター
ンし、設定されていればパワーオフ処理に飛ぶ(ステッ
プ110,111%112)。
まりSCK端子レベル検出用カウンターの値が6以上で
なければ、IPU OKフラグな0に設定し、SCK
端子を“H”にしてSIO端子を出力モードにし、E”
PROMのIPUSTOP bitが「1」に設定
されているかチエツクし、設定されていなければリター
ンし、設定されていればパワーオフ処理に飛ぶ(ステッ
プ110,111%112)。
CPU10がメインループを実行中にSCK端子からの
立ち下り(VDD オンのとき)または立ち上り(V
DD 才)のとき)によるインクラットがあった場合
のIPU20の動作について、第13図(A)〜(D)
に示したフローチャートに基づいて説明する。
立ち下り(VDD オンのとき)または立ち上り(V
DD 才)のとき)によるインクラットがあった場合
のIPU20の動作について、第13図(A)〜(D)
に示したフローチャートに基づいて説明する。
通信中にインクラットがあると、IPU20はX、Aレ
ジスタを退避しくステップ121)、VDDフラグが「
l」であるか否か、つまりVDD系の電源がオンしてい
ることを検出しているか否かをチエツクする(ステップ
102)。
ジスタを退避しくステップ121)、VDDフラグが「
l」であるか否か、つまりVDD系の電源がオンしてい
ることを検出しているか否かをチエツクする(ステップ
102)。
VDDフラグが「0」であれば、VDDがオンしたこと
によるインクラブドなので、通信処理なしで第13図(
D)のSIOEND処理に進む(ステップ148)。
によるインクラブドなので、通信処理なしで第13図(
D)のSIOEND処理に進む(ステップ148)。
ステップ150では、VDDフラグを「l」に設定し、
lNTl端子の立ち下りで次のアドレスインタラブドを
受信できるようにIMll−1を実行し、B−CNT端
子を“L”にしてSIO端子を抵抗R3でプルダウンし
てデータの入力準備をし、次のアドレス入力の準備とし
てS工Oレジスター0FFHを行ない、シリアル通信完
了フラグをクリアし、XAレジスタを復帰してリターン
する(ステップ151,152)、SIOEND処理は
、次のアドレス通信によるインクラットのための初期設
定を行なう処理である。
lNTl端子の立ち下りで次のアドレスインタラブドを
受信できるようにIMll−1を実行し、B−CNT端
子を“L”にしてSIO端子を抵抗R3でプルダウンし
てデータの入力準備をし、次のアドレス入力の準備とし
てS工Oレジスター0FFHを行ない、シリアル通信完
了フラグをクリアし、XAレジスタを復帰してリターン
する(ステップ151,152)、SIOEND処理は
、次のアドレス通信によるインクラットのための初期設
定を行なう処理である。
ステップ122において、VDDが1であれば、アドレ
スデータの入力サブルーチンをコールし、所定時間内に
シリアル通信が完了するがどうかをチエツクする。所定
時間内に通信が終了せずシリアルデータ入力NG(未完
)であれば、第13図(D)のSIONG処理に進み、
APインクラットでNGになったのかVDDオフでNG
になったのかを、ステップ148にてSCK端子のレベ
ルをチエツクして判断する。
スデータの入力サブルーチンをコールし、所定時間内に
シリアル通信が完了するがどうかをチエツクする。所定
時間内に通信が終了せずシリアルデータ入力NG(未完
)であれば、第13図(D)のSIONG処理に進み、
APインクラットでNGになったのかVDDオフでNG
になったのかを、ステップ148にてSCK端子のレベ
ルをチエツクして判断する。
ここで“L”でなければAFインタラブドによるNGな
ので、SIOEND処理をしてリターンする。“L”で
あれば、VDDオフによるNGなので、ステップ149
にてVDDフラグを0にし、lNTl端子の立上りでイ
ンタラブドがかかるようにIMI−〇を実行し、B−C
NT端子な“L”にして、SIO端子を抵抗R3でプル
ダウンしてデータ入力の準備をし、X、Aレジスタを復
帰してリターンする(ステップ151,152)。
ので、SIOEND処理をしてリターンする。“L”で
あれば、VDDオフによるNGなので、ステップ149
にてVDDフラグを0にし、lNTl端子の立上りでイ
ンタラブドがかかるようにIMI−〇を実行し、B−C
NT端子な“L”にして、SIO端子を抵抗R3でプル
ダウンしてデータ入力の準備をし、X、Aレジスタを復
帰してリターンする(ステップ151,152)。
ステップ123で所定の時間内にシリアル通信が完了し
、シリアルデータ入力OKとなったときはステップ12
4に進む。
、シリアルデータ入力OKとなったときはステップ12
4に進む。
ステップ124では、アドレスが0、つまりIPUチエ
ツクアドレスかどうかをチエツクし、IPUチエツクア
ドレスであれば、SCK端子に100μsの”H”パル
スを出力し、CPU0Kフラグを「1」にしてCPU1
0からアドレス0の通信があったことを内部的に記憶し
てSIOEND処理に進む。
ツクアドレスかどうかをチエツクし、IPUチエツクア
ドレスであれば、SCK端子に100μsの”H”パル
スを出力し、CPU0Kフラグを「1」にしてCPU1
0からアドレス0の通信があったことを内部的に記憶し
てSIOEND処理に進む。
ステップ124にて、アドレスが0でなければ、第13
図(B)のIN OUTチエツク処理に進む、アドレ
スの最上位bitX3 (Xレジスタのbit3)が
「1」であればCPU10からIPU20へのデータ通
信なので、第13図(D)のアウト・アドレスチエツク
処理に進み、同「O」であればIPU20からCPU1
0へのデータ通信なので、ステップ128からイン・ア
ドレスチエツク処理に進む。
図(B)のIN OUTチエツク処理に進む、アドレ
スの最上位bitX3 (Xレジスタのbit3)が
「1」であればCPU10からIPU20へのデータ通
信なので、第13図(D)のアウト・アドレスチエツク
処理に進み、同「O」であればIPU20からCPU1
0へのデータ通信なので、ステップ128からイン・ア
ドレスチエツク処理に進む。
イン・アドレスチエツク処理では、アドレスの下位の3
bit (X2.Xi、XO)をチエツクするが、本実
施例ではCPU10→IPU20のアドレスは1と2の
みで行なっている。
bit (X2.Xi、XO)をチエツクするが、本実
施例ではCPU10→IPU20のアドレスは1と2の
みで行なっている。
ステップ128では、アドレスが1かどうかチエツクし
、1であれば、つまりx2〜xO=1(OOIB)であ
ればステップ130に進み、アドレスが1でない場合は
131に進む。
、1であれば、つまりx2〜xO=1(OOIB)であ
ればステップ130に進み、アドレスが1でない場合は
131に進む。
ステップ130では、アドレス1に対応するIPU20
からの出力データがXAレジスタにセットされ、IPU
20→CPU10の8bitシリアル出カサブルーチン
がコールされる。所定時間T2内にシリアルデータの出
力が完了してシリアルデータ出力OKのときは、アドレ
スlに対するデータ通信がすべて無事に終了したことに
なるので、SIOEND処理に進み、NGであればSI
ONG処理に進む(ステップ128゜130)。
からの出力データがXAレジスタにセットされ、IPU
20→CPU10の8bitシリアル出カサブルーチン
がコールされる。所定時間T2内にシリアルデータの出
力が完了してシリアルデータ出力OKのときは、アドレ
スlに対するデータ通信がすべて無事に終了したことに
なるので、SIOEND処理に進み、NGであればSI
ONG処理に進む(ステップ128゜130)。
ステップ131では、アドレスが2かどうかチエツクし
、2であれば、つまりX2〜X0=2(010B)であ
れば、ステップ132に進み、2でないときには、アド
レスが定義されていないのでSIOEND処理に進み、
次のアドレス通信のための準備をする。
、2であれば、つまりX2〜X0=2(010B)であ
れば、ステップ132に進み、2でないときには、アド
レスが定義されていないのでSIOEND処理に進み、
次のアドレス通信のための準備をする。
アドレス2を検出すると、これは8bitデータを3個
有するので、各フレーム毎にアドレス2に対するIPU
20の出力データがXAレジスタにセットされて各フレ
ーム毎のシリアル通信に対して所定時間内にシリアル通
信が終了したかどうかをチエツクする。
有するので、各フレーム毎にアドレス2に対するIPU
20の出力データがXAレジスタにセットされて各フレ
ーム毎のシリアル通信に対して所定時間内にシリアル通
信が終了したかどうかをチエツクする。
すべてOKであればSIOEND処理に進み、1個でも
NGがあれば、その時点で5IONG処理に進む(ステ
ップ132.133.134)。
NGがあれば、その時点で5IONG処理に進む(ステ
ップ132.133.134)。
ステップ127にて、bitX3が[1]と判断された
ら、第13図(C)のアウト・アドレスチエツクに進む
1本実施例では、アドレス9.10以外の通信が定義さ
れているが、説明の都合上アドレス9およびのみについ
て説明する。ここでも、イン・アドレスチエツクと同様
にアドレスチエツクを行なう(ステップ135,139
)。
ら、第13図(C)のアウト・アドレスチエツクに進む
1本実施例では、アドレス9.10以外の通信が定義さ
れているが、説明の都合上アドレス9およびのみについ
て説明する。ここでも、イン・アドレスチエツクと同様
にアドレスチエツクを行なう(ステップ135,139
)。
ステップ135において、アドレス=9(1001B)
が検出されたらステップ137に進み、8bitシリア
ルデータ入カサブルーチンをコールする。アドレス≠9
のときは、ステップ139に進む。
が検出されたらステップ137に進み、8bitシリア
ルデータ入カサブルーチンをコールする。アドレス≠9
のときは、ステップ139に進む。
ステップ137で所定時間T2内にシリアル通信が完了
せずにNGとなると、SIONG処理に進み、OKであ
ればステップ137のサブルーチンコールでXAレジス
クにデータが得られているので、XAレジスタの内容を
アドレス9用のデータ格納RAMにストアし、SIOE
ND処理に進む(ステップ137,138)。
せずにNGとなると、SIONG処理に進み、OKであ
ればステップ137のサブルーチンコールでXAレジス
クにデータが得られているので、XAレジスタの内容を
アドレス9用のデータ格納RAMにストアし、SIOE
ND処理に進む(ステップ137,138)。
ステップ139では、アドレス=10 (1010B)
かどうかのチエツクをし、YESならばステップ140
に進み、NOならば本説明ではアドレスが定義されてい
ないのでSIOEND処理に進み、次のアドレス通信の
準備をする。
かどうかのチエツクをし、YESならばステップ140
に進み、NOならば本説明ではアドレスが定義されてい
ないのでSIOEND処理に進み、次のアドレス通信の
準備をする。
ステップ140では、アドレスデータの下位4bitに
データが一緒に送られてきているので、このデータをR
AMのRIPNFという格納場所にストアし、ステップ
141に進む。
データが一緒に送られてきているので、このデータをR
AMのRIPNFという格納場所にストアし、ステップ
141に進む。
ステップ141では、アドレス10で定義されているも
う1回の8bitデータ受信のためにサブルーチンがコ
ールされ、所定時間内に通信が終了しなければ、SIO
NG処理に進み、所定時間内に通信が完了した場合は、
ステップ142に進む。
う1回の8bitデータ受信のためにサブルーチンがコ
ールされ、所定時間内に通信が終了しなければ、SIO
NG処理に進み、所定時間内に通信が完了した場合は、
ステップ142に進む。
ステップ142では、ステップ140で送られてきたデ
ータのREW中bitをチエツクし、REW(リワイン
ド)中ならばステップ144に進み、そうでなければワ
インド時のデータなのでステップ143に進む。
ータのREW中bitをチエツクし、REW(リワイン
ド)中ならばステップ144に進み、そうでなければワ
インド時のデータなのでステップ143に進む。
ステップ143では、ワインド時のパトローネ表示デー
タ(下位bit)をRAMのRIPWINDにストアし
、SIOEND処理に進む。
タ(下位bit)をRAMのRIPWINDにストアし
、SIOEND処理に進む。
ステップ144では、REW中に送られてくるフィルム
枚数減算表示用のデータをRAMのRIPSTMIにス
トアしてS10 END処理に進む。
枚数減算表示用のデータをRAMのRIPSTMIにス
トアしてS10 END処理に進む。
要するにIPU20は、シリアル通信中にSCK端子か
らのクロック入力が止って所定時間内にシリアル通信が
完了しないと、SIONG処理によりAFゼインラット
で止ったか、VDD オフで止ったかをSCK 1端
子のレベルにより判断して、それぞれ適切な処理をして
リターンする。
らのクロック入力が止って所定時間内にシリアル通信が
完了しないと、SIONG処理によりAFゼインラット
で止ったか、VDD オフで止ったかをSCK 1端
子のレベルにより判断して、それぞれ適切な処理をして
リターンする。
所定時間内にシリアル通信が完了していれば、定義され
たアドレスに対応するRAMデータの入出力をアドレス
により定義される数だけ行ない、SIOEND処理にて
次のアドレス受信のための準備をしてリターンするので
ある。
たアドレスに対応するRAMデータの入出力をアドレス
により定義される数だけ行ない、SIOEND処理にて
次のアドレス受信のための準備をしてリターンするので
ある。
次に、IPU20のシリアル通信終了処理について、第
14図のフローチャートを参照して説明する。
14図のフローチャートを参照して説明する。
IPU20からCPU10にデータを送る場合は、B−
CNT端子を“H”にしてSIo端子を抵抗R3でプル
アップして通信スタートに進み(ステップ161)、C
PU10からIPU20にデータを送る場合は、B−C
NT端子を“L”にしてSIO端子を抵抗R3でプルダ
ウンし、シリアルデータを受信するためのデータをXA
レジスクに入れ(XA←0FFH)、XAレジスタの内
容をシリアルI/Oのレジスタに入れてシリアル通信の
送受信をスタートさせてからシリアル通信完了チエツク
に入る(ステップ163)。
CNT端子を“H”にしてSIo端子を抵抗R3でプル
アップして通信スタートに進み(ステップ161)、C
PU10からIPU20にデータを送る場合は、B−C
NT端子を“L”にしてSIO端子を抵抗R3でプルダ
ウンし、シリアルデータを受信するためのデータをXA
レジスクに入れ(XA←0FFH)、XAレジスタの内
容をシリアルI/Oのレジスタに入れてシリアル通信の
送受信をスタートさせてからシリアル通信完了チエツク
に入る(ステップ163)。
まず、ソフトタイマーを600μsにセットしくステッ
プ164)、シリアル通信が完了したか否かをチエツク
しくステップ165)、終了してシリアル通信完了フラ
グがハード的に立つと、シリアルデータをXAレジスタ
に書き込んでリターンスキップする(ステップ166)
。
プ164)、シリアル通信が完了したか否かをチエツク
しくステップ165)、終了してシリアル通信完了フラ
グがハード的に立つと、シリアルデータをXAレジスタ
に書き込んでリターンスキップする(ステップ166)
。
完了していなければ再びシリアル通信が完了したか否か
をチエツクする(ステップ167)、ここで完了してい
れば、ステップ168に進み、ステップ166と同様の
処理を行なってリターンスキップする。
をチエツクする(ステップ167)、ここで完了してい
れば、ステップ168に進み、ステップ166と同様の
処理を行なってリターンスキップする。
上記同様のチエツクを再度繰返しくステップ169)、
ここで通信が終了していればステップ170に進み、ス
テップ166と同様の処理を行なってリターンスキップ
する。
ここで通信が終了していればステップ170に進み、ス
テップ166と同様の処理を行なってリターンスキップ
する。
シリアル通信が終了していないときにはステップ171
にてステップ164で設定したタイマーをカウントダウ
ンしてタイムオーバーか否かをチエツクし、タイムオー
バーしていなければ(タイマー≠0)ステップ165に
戻ってシリアル通信が完了するまで、またはタイムアツ
プするまでステップ165〜171の処理を繰返す。
にてステップ164で設定したタイマーをカウントダウ
ンしてタイムオーバーか否かをチエツクし、タイムオー
バーしていなければ(タイマー≠0)ステップ165に
戻ってシリアル通信が完了するまで、またはタイムアツ
プするまでステップ165〜171の処理を繰返す。
そして、もしタイムオーバーすると(タイマー=0)、
リターンする。
リターンする。
要するに、シリアル通信が所定時間内で終了したかどう
かは、このサブルーチンから戻るときにリターンで戻る
(通信NG)か、リターンスキップ(通信OK)で戻る
かで判断している。
かは、このサブルーチンから戻るときにリターンで戻る
(通信NG)か、リターンスキップ(通信OK)で戻る
かで判断している。
また、本実施例ではIPU20側のシリアルQパラレル
変換はハード的に行なわれるため、ソフトの方では、最
初のシリアルクロックからの時間をカウントし、所定時
間内に通信完了フラグが立つかどうかという処理になっ
ている0通信完了フラグが立った時点では、セットした
出力データは終っており、入力データはバッファに残っ
ているので、レジスフXAにとり込んでからリターンス
キップする。
変換はハード的に行なわれるため、ソフトの方では、最
初のシリアルクロックからの時間をカウントし、所定時
間内に通信完了フラグが立つかどうかという処理になっ
ている0通信完了フラグが立った時点では、セットした
出力データは終っており、入力データはバッファに残っ
ているので、レジスフXAにとり込んでからリターンス
キップする。
以上本実施例では、必要なデータをグループ分けし、C
PU10とIPU20との間でのシリアルデータ転送を
、グループ単位で行なうので、データ通信の効率化、通
信時間の短縮を図ることができ、また、SCKとSIO
の2本という少ないラインで通信を可能にしているので
、メインCPUとサブCPUを実装する上での自由度が
非常に高くなる。
PU10とIPU20との間でのシリアルデータ転送を
、グループ単位で行なうので、データ通信の効率化、通
信時間の短縮を図ることができ、また、SCKとSIO
の2本という少ないラインで通信を可能にしているので
、メインCPUとサブCPUを実装する上での自由度が
非常に高くなる。
また、通信方向の切換は、分割抵抗R1,R3およびB
−CNT端子によるプルアップ、プルダウン構成なので
、電源選択の自由度が高く、構成が簡単で、しかも制御
が簡単である。
−CNT端子によるプルアップ、プルダウン構成なので
、電源選択の自由度が高く、構成が簡単で、しかも制御
が簡単である。
アドレスデータは8bi を中の上位4bitLか使用
していないので、データが4bitで足りる場合は、ア
ドレスデータの下位4bitを使用してアドレスと共に
送ってもよい。
していないので、データが4bitで足りる場合は、ア
ドレスデータの下位4bitを使用してアドレスと共に
送ってもよい。
本実施例では1本発明をカメラに適用した例について説
明したが、本発明は、マイコン間でシリアル通信を行な
うすべての装置、機器に適用できる。
明したが、本発明は、マイコン間でシリアル通信を行な
うすべての装置、機器に適用できる。
「発明の効果」
以上の説明から明らかな通り本発明は、メインCPtJ
とサブCPUとの間でシリアルデータ通信を行なう場合
に、メインCPUからサブCPUに出力されるシリアル
クロックが第1の所定時間T1以上“H”信号を出力し
た後に、複数bit分のシリアルクロックパルスを第2
の所定間隔12以内で発生し、シリアルクロックパルス
に同期してメインCPUからサブCPUに出力されるシ
リアルデータなアドレスデータとし、このアドレスデー
タによりそれ以降の通信データの通信方向およびデータ
内容、データ数を決定するので、必要なデータのみ通信
することにより、送信時間の短縮および処理時間の短縮
、ならびに少ない通信ラインでの通信を図ることができ
る。
とサブCPUとの間でシリアルデータ通信を行なう場合
に、メインCPUからサブCPUに出力されるシリアル
クロックが第1の所定時間T1以上“H”信号を出力し
た後に、複数bit分のシリアルクロックパルスを第2
の所定間隔12以内で発生し、シリアルクロックパルス
に同期してメインCPUからサブ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図は、本実施例の動作を示す
フローチャートである。 第4図(A) 10・・・CPU (メインCPU)、13・・・シリ
アルI10部、20・・・IPU(サブCPU)、23
・・・シリアルI10部、
置の一実施例をブロックで示す回路図、第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図は、本実施例の動作を示す
フローチャートである。 第4図(A) 10・・・CPU (メインCPU)、13・・・シリ
アルI10部、20・・・IPU(サブCPU)、23
・・・シリアルI10部、
Claims (2)
- (1)シリアルクロックとシリアルI/Oの2本の通信
ラインを用いてメインCPUとサブCPUとでデータ通
信を行なうデータ通信方法であって、 上記メインCPUからサブCPUに出力されるシリアル
クロックが、第1の所定時間T1以上“H”信号を出力
した後に、複数bit分のシリアルクロックパルスを第
2の所定時間T2内で上記シリアルクロックパルスに同
期してメインCPUからサブCPUに出力されるシリア
ルデータをアドレスデータとし、このアドレスデータに
よりそれ以降の通信データの通信方向およびデータ内容
、データ数を決定することを特徴とするマイコン間のデ
ータ通信方法。 - (2)請求項1において、アドレスデータ以降のシリア
ルクロックの受信が前記第2の所定時間T2内に終了し
なかった場合には、シリアルクロック受信側のサブCP
U10がそのアドレスに対するシリアルデータを無効に
し、次のアドレスデータの受信に備えて、その時のシリ
アルI/Oの入出力モードにかかわらず入力モードに切
り換えるマイコン間のデータ通信方法。
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 true JPH0247755A (ja) | 1990-02-16 |
| JP2966416B2 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 (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009049737A (ja) * | 2007-08-21 | 2009-03-05 | Yazaki Corp | 通信システム |
| JP2017038791A (ja) * | 2015-08-20 | 2017-02-23 | Necエンベデッドプロダクツ株式会社 | 回路基板及び信号解析システム |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6057843B2 (ja) * | 2013-06-24 | 2017-01-11 | 三菱電機株式会社 | 電気炊飯器 |
Citations (4)
| 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 |
| JPS6267664A (ja) * | 1985-09-20 | 1987-03-27 | Canon Inc | データ転送方法 |
| JPS62281046A (ja) * | 1986-05-30 | 1987-12-05 | Ricoh Co Ltd | 画像形成装置 |
-
1988
- 1988-08-09 JP JP63198676A patent/JP2966416B2/ja not_active Expired - Fee Related
Patent Citations (4)
| 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 |
| JPS6267664A (ja) * | 1985-09-20 | 1987-03-27 | Canon Inc | データ転送方法 |
| JPS62281046A (ja) * | 1986-05-30 | 1987-12-05 | Ricoh Co Ltd | 画像形成装置 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009049737A (ja) * | 2007-08-21 | 2009-03-05 | Yazaki Corp | 通信システム |
| JP2017038791A (ja) * | 2015-08-20 | 2017-02-23 | Necエンベデッドプロダクツ株式会社 | 回路基板及び信号解析システム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2966416B2 (ja) | 1999-10-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS61292608A (ja) | 交換レンズの距離情報出力装置 | |
| SU437319A1 (ru) | Блок управлени дл устройства обработки информации, в частности дл телефонных станций | |
| JPH0610726B2 (ja) | カメラ | |
| JPH0247755A (ja) | マイコン間のデータ通信方法 | |
| EP0729088A2 (en) | Single chip microcomputer having a plurality of timer counters | |
| US4298257A (en) | Display device for camera | |
| US4253750A (en) | Power supply control apparatus for camera | |
| JPS61228427A (ja) | インタ−バル撮影装置 | |
| JPH054652B2 (ja) | ||
| JPH063582A (ja) | カメラシステム | |
| EP0431372B1 (en) | Camera and remote control device thereof | |
| JP2958653B2 (ja) | アクセサリーのデータ取り出し方式 | |
| JPS6370837A (ja) | モ−タドライブカメラの撮影制御装置 | |
| JP2566402B2 (ja) | 情報処理装置 | |
| JPH0651387A (ja) | カメラ | |
| JPS62232628A (ja) | 複数のマイクロコンピユ−タを備えたカメラ | |
| JPH03157628A (ja) | オートブラケティング撮影が可能なカメラシステム | |
| SU1104495A2 (ru) | Устройство управлени вводом-выводом | |
| JPH035568B2 (ja) | ||
| JP2864387B2 (ja) | カメラの電池消耗警告装置 | |
| JPS58132222A (ja) | カメラ用モ−タドライブ装置 | |
| JPH01279230A (ja) | レンズ交換式カメラの表示装置 | |
| JPH0876166A (ja) | 不揮発メモリを有するシステム | |
| JPH0528076A (ja) | シリアルデータ通信装置とマイクロプロセツサ | |
| JPH03136022A (ja) | オートブラケティング撮影が可能なカメラシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |