(57)【特許請求の範囲】
【請求項１】
２種の論理レベルをとる信号を入力する入力動作モードと前記信号を出力する出力動作モードとを有する第１の入出力ポートを備えた第１の回路が、前記入力動作モードおよび前記出力動作モードを有する第２の入出力ポートを備えた第２の回路へ、前記第１の入出力ポートと前記第２の入出力ポートとを直接的に接続したデータラインを介してデータを送信するデータ送信ステップと、
前記第１の回路が、前記第１の入出力ポートの出力信号の論理レベルを予め設定された特定レベルの信号とする第１の設定ステップと、
前記第２の回路が、前記第１の設定ステップの前に、前記データラインを介して前記データを受信するデータ受信ステップと、
前記第２の回路が、前記第１の設定ステップ以降に、前記第２の入出力ポートの出力信号の論理レベルを前記特定レベルとする第２の設定ステップと、
前記第２の設定ステップの後に、前記第１の回路が前記第１の入出力ポートの動作モードを入力動作モードとする切り換えステップと
を有する送信方向切り換え方法。
【請求項２】
前記第１の回路は２種の論理レベルをとる信号を入力する入力ポートを、前記第２の回路は２種の論理レベルをとる信号を出力する出力ポートを備え、
前記第２の回路が、前記設定ステップの後に、予め設定された第１の信号を、前記出力ポートと前記入力ポートとを接続する信号線により前記第１の回路へ送信する第１の信号送信ステップと、
前記第１の回路が、前記第１の信号を受信する第１の信号受信ステップとを有し、
前記切り換えステップでは、前記第１の信号受信ステップにて前記第１の信号を受信したことを契機として、前記第１の回路が前記第１の入出力ポートの動作モードを入力動作モードとする
を特徴とする請求項１に記載の送信方向切り換え方法。
【請求項３】
前記第１の回路は２種の論理レベルをとる信号を出力する出力ポートを、前記第２の回路は２種の論理レベルをとる信号を入力する入力ポートを備え、
前記切り換えステップの後のステップであって、
前記第２の回路が、前記第１の回路へ前記データラインを介してデータを送信するデータ返信ステップと、
前記第２の回路が、前記第２の入出力ポートの出力信号の論理レベルを前記特定レベルとする第３の設定ステップと、
前記第１の回路が、前記第３の設定ステップの前に、前記データ返信ステップにて送信されたデータを受信する返信データ受信ステップと、
前記第１の回路が、前記第１の設定ステップの前に、予め設定された第２の信号を、前記出力ポートと前記入力ポートとを接続する信号線を介して前記第２の回路へ送信し、且つ前記第２の信号を送信中に、前記第１の入出力ポートの出力信号の論理レベルを前記特定レベルとする第２の信号送信ステップと、
前記第２の回路が、前記第２の信号を受信する第２の信号受信ステップと、
前記第２の回路が、前記第２の入出力ポートの動作モードを入力動作モードとする第２の切り換えステップと
を有することを特徴とする請求項１に記載の送信方向切り換え方法。
【請求項４】
２種の論理レベルをとる信号を入力する入力動作モードと前記信号を出力する出力動作モードとを有する第１の入出力ポートを備えた第１の回路と、前記入力動作モードおよび前記出力動作モードを有する第２の入出力ポートを備えた第２の回路とを有し、
前記第１の回路は、前記第１の入出力ポートと前記第２の入出力ポートを直接的に接続するデータラインを介してデータを前記第２の回路へ送信し、前記第１の入出力ポートの出力信号の論理レベルを予め設定された特定レベルとし、
前記第２の回路は、前記データラインを介して送信されてきた前記データを受信し、前記第２の入出力ポートを出力形式に設定し、前記第２の入出力ポートの出力信号の論理レベルを前記特定レベルとし、
前記第１の回路は、前記第２の入出力ポートの出力信号の論理レベルが前記特定レベルである間に前記第１の入出力ポートを入力形式に設定する
ことを特徴とする情報処理装置。
【請求項５】
前記情報処理装置は、ユーザに携帯される装置である
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記情報処理装置は、前記第１の回路と前記第２の回路間でデータを送受信してユーザに提供するデータを生成する装置である
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
２種の論理レベルをとる信号を入力する入力動作モードと前記信号を出力する出力動作モードとを有する第１の入出力ポートを備えた第１のコンピュータ装置に、
前記入力動作モードおよび前記出力動作モードを有する第２の入出力ポートを備えた第２のコンピュータ装置へ、前記第１の入出力ポートと前記第２の入出力ポートを直接的に接続するデータラインを介してデータを送信するデータ送信手順と、
前記第１の入出力ポートの出力信号の論理レベルを前記第２の入出力ポートが次にとる特定の論理レベルと同一の論理レベルとする設定手順と、
前記第２の入出力ポートの出力信号の論理レベルが前記第１の入出力ポートの出力信号の論理レベルと一致している間に前記第１の入出力ポートの動作モードを入力動作モードとする切り換え手順と
を実行させるためのプログラム。
【請求項８】
２種の論理レベルをとる信号を入力する入力動作モードと前記信号を出力する出力動作モードとを有する第２の入出力ポートを備えた第２のコンピュータ装置に、
前記入力動作モードおよび前記出力動作モードを有する第１のポートを備えた第１のコンピュータ装置から前記第１の入出力ポートと前記第２の入出力ポートを直接的に接続するデータラインを介して送信されるデータを受信するデータ受信手順と、
前記第２の入出力ポートの動作モードを出力動作モードとし、前記第１の入力ポートの出力信号の論理レベルを前記第１の入出力ポートの論理レベルと同一の論理レベルとする設定手順と
を実行させるためのプログラム。
【請求項９】
請求項７または請求項８のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、信号線で接続された複数の回路間でデータを送受信する際に、大電流が無駄に流れる事態を回避する技術に関する。
【０００２】
【従来の技術】
信号線で接続された複数の回路を有する装置としては、制御用のメインマイクロコンピュータ（以後、メインマイコンという）と計算用のサブマイクロコンピュータ（以後、サブマイコンという）を内蔵しているダイバーズ用情報処理装置が挙げられる。ダイバーズ用情報処理装置は潜水時に使用され、ダイバーの体内に蓄積されているであろう窒素量等を計算してダイバーに提示する。このような提示を行う際には、メインマイコンからサブマイコンへ計算に用いられるデータ（例えば水深を示すデータ）が送信され、このデータを用いた計算がサブマイコンにて行われ、計算結果を示すデータがサブマイコンからメインマイコンへ送信される。この際、データを表す信号は、同一の信号線（以後、データラインという）により伝送される。すなわち、データラインでは信号の伝送方向が切り換えられる。この切り換えを可能とするために、データラインは両マイコンの入出力ポートに接続されている。
【０００３】
入出力ポートはデータラインからデータを入力するための動作モード（以後、入力モードという）とデータラインへデータを出力するための動作モード（以後、出力モードという）を有し、自身を備えたマイコンにより設定された動作モードで作動する。すなわち、出力モードの入出力ポートは、データラインの接続端の電気的状態を、出力するデータの内容に応じた電位（高レベル：「Ｈ」／低レベル：「Ｌ」）とし、入力モードの入出力ポートは、データラインの接続端の電気的状態をハイインピーダンス状態とする。なお、通常、「Ｈ」となった接続端の電位は電源（Ｖｄｄ）の電位と電気的に等価となり、「Ｌ」となった接続端の電位はグランド（Ｖｓｓ）の電位と電気的に等価となる。
【０００４】
前述のように、窒素量等の計算の際にはデータの送信方向が切り換えられることから、両マイコンの入出力ポートの動作モードが切り換えられることになる。この際、例えば、メインマイコンからサブマイコンへ最後に送信されたデータが「０」であり、かつサブマイコンから最初に送信するデータが「１」であると、データラインの一端が「Ｌ」、他端が「Ｈ」となるから、電源がデータラインを介してグランドに短絡されてしまう。この短絡により、極めて大きな電流がグランドへ流れ込んでしまう。これは無駄である。
そこで、実際のダイバーズ用情報処理装置では、データラインと入出力ポート間に抵抗を介在させることにより、電源とグランドがデータラインを介して短絡してしまう事態が発生し得ないようにし、グランドへ流れ込む電流を抑止している。
【０００５】
【発明が解決しようとする課題】
しかしながら、抵抗の実装はダイバーズ用情報処理装置の製造コストや実装面積に関して不利に働く。また、抵抗が存在すると、接続端の電位を「Ｈ」から「Ｌ」や、「Ｌ」から「Ｈ」にした時に、データラインにより伝送される信号の波形がなまり、データを高速に送受信できないという問題も生じる。また、抵抗を実装しても、データラインの一端が「Ｌ」、他端が「Ｈ」となると、グランドへ流れ込む電流を抑止していても、小であるが電流は流れてしまう。
【０００６】
データの送信方向を切替える際に、データラインの一端が「Ｌ」、他端が「Ｈ」となることを防ぐために、送信を行っていたマイコンの入出力ポートの動作モードを入力モードにした後に、受信を行っていたマイコンの入出力ポートの動作モードを出力モードにするという方法も考えられる。この方法では、データの送信方向が切り替わる際に、データラインの両端の入出力ポートが互いに入力モードとなる。
しかしながら、この方法では、データラインの両端の入出力ポートが互いに入力モードとなった際に、互いのマイコンの入出力ポートの端子に、ノイズ等により中間電位が生じることがある。
入出力ポートの動作モードが入力モードである時に端子に中間電位が生じると、入出力ポートは、例えば図５に示す回路で構成されているため、端子の電位をデータバスに伝えるラインに設けられているバッファを構成するトランジスタのゲートが不定状態となる（以下、この状態をゲート浮きという）。ゲート浮きが生じると、予期せぬタイミングでバッファが頻繁に動作してしまうため、大電流がマイコン内部で流れてしまう可能性がある。したがって、このようなデータの送受信方法、またはこのような状態が生じ得る可能性のあるデータの送受信方法では、無駄な電流を発生させてしまうことにつながる。
【０００７】
本発明は、上述した事情に鑑みてなされたものであり、ゲート浮きと、データラインを電流流路とする短絡の発生を回避することにより、大電流が無駄に流れる事態を回避する技術を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、２種の論理レベルをとる信号を入力する入力動作モードと前記信号を出力する出力動作モードとを有する第１の入出力ポートを備えた第１の回路が、前記入力動作モードおよび前記出力動作モードを有する第２の入出力ポートを備えた第２の回路へ、前記第１の入出力ポートと前記第２の入出力ポートとを直接的に接続したデータラインを介してデータを送信するデータ送信ステップと、前記第１の回路が、前記第１の入出力ポートの出力信号の論理レベルを予め設定された特定レベルの信号とする第１の設定ステップと、前記第２の回路が、前記第１の設定ステップの前に、前記データラインを介して前記データを受信するデータ受信ステップと、前記第２の回路が、前記第１の設定ステップ以降に、前記第２の入出力ポートの出力信号の論理レベルを前記特定レベルとする第２の設定ステップと、前記第２の設定ステップの後に、前記第１の回路が前記第１の入出力ポートの動作モードを入力動作モードとする切り換えステップとを有する送信方向切り換え方法を提供する。
【０００９】
また、本発明は、２種の論理レベルをとる信号を入力する入力動作モードと前記信号を出力する出力動作モードとを有する第１の入出力ポートを備えた第１の回路と、前記入力動作モードおよび前記出力動作モードを有する第２の入出力ポートを備えた第２の回路とを有し、前記第１の回路は、前記第１の入出力ポートと前記第２の入出力ポートを直接的に接続するデータラインを介してデータを前記第２の回路へ送信し、前記第１の入出力ポートの出力信号の論理レベルを予め設定された特定レベルとし、前記第２の回路は、前記データラインを介して送信されてきた前記データを受信し、前記第２の入出力ポートを出力形式に設定し、前記第２の入出力ポートの出力信号の論理レベルを前記特定レベルとし、
前記第１の回路は、前記第２の入出力ポートの出力信号の論理レベルが前記特定レベルである間に前記第１の入出力ポートを入力形式に設定する情報処理装置を提供する。
【００１０】
また、本発明は、２種の論理レベルをとる信号を入力する入力動作モードと前記信号を出力する出力動作モードとを有する第１の入出力ポートを備えた第１のコンピュータ装置に、前記入力動作モードおよび前記出力動作モードを有する第２の入出力ポートを備えた第２のコンピュータ装置へ、前記第１の入出力ポートと前記第２の入出力ポートを直接的に接続するデータラインを介してデータを送信するデータ送信手順と、前記第１の入出力ポートの出力信号の論理レベルを前記第２の入出力ポートが次にとる特定の論理レベルと同一の論理レベルとする設定手順と、前記第２の入出力ポートの出力信号の論理レベルが前記第１の入出力ポートの出力信号の論理レベルと一致している間に前記第１の入出力ポートの動作モードを入力動作モードとする切り換え手順とを実行させるためのプログラムを提供する。
【００１１】
また、本発明は、２種の論理レベルをとる信号を入力する入力動作モードと前記信号を出力する出力動作モードとを有する第２の入出力ポートを備えた第２のコンピュータ装置に、前記入力動作モードおよび前記出力動作モードを有する第１のポートを備えた第１のコンピュータ装置から前記第１の入出力ポートと前記第２の入出力ポートを直接的に接続するデータラインを介して送信されるデータを受信するデータ受信手順と、前記第２の入出力ポートの動作モードを出力動作モードとし、前記第１の入力ポートの出力信号の論理レベルを前記第１の入出力ポートの論理レベルと同一の論理レベルとする設定手順とを実行させるためのプログラムを提供する。
また、本発明は、上記各プログラムのいずれかを記録したコンピュータ読み取り可能な記録媒体を提供する。
【００１２】
以上の態様では、第１の回路がデータの送信に使用していた第１の入出力ポートの動作モードが入力動作モードとなる前に、第１の入出力ポートの出力信号の論理レベルと第２の入出力ポートの出力信号の論理レベルが一致する。よって、第１の入出力ポートと第２の入出力ポートを直接的に接続するデータラインの両端にレベル差は生じない。また、以上の態様では、第１の入出力ポートの動作モードと第２の入出力ポートの動作モードが、共に入力動作モードとなることがない。
【００１３】
【発明の実施の形態】
［１．構成］
図１に示されるように、本発明の一実施形態に係るダイバーズ用情報処理装置１０は、ボタン等の操作子を備えたスイッチ部１０１と、アラーム音等を放音するブザー部１０２と、潜水日時や潜水時間、各種設定データ等を記憶するＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ／Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３と、気圧や水圧等を計測するセンサー部１０４と、各種情報を表示する画面を備えたＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）部１０５と、この画面を照らすＥＬ（Ｅｌｅｃｔｒｏｎｉｃ  Ｌｕｍｉｎｅｓｃｅｎｔ）部１０６とを備え、使用者の操作に応じて各種処理を実行し、潜水中の使用者が必要とするであろう情報（例えば、使用者の体内に蓄積されているであろう窒素量）を画面表示やアラーム音の報音などにより使用者へ通知する。
【００１４】
また、ダイバーズ用情報処理装置１０は、制御用のメインマイコン１００と計算用のサブマイコン２００を、両者を接続した信号線とともに実装した一つの基板（図示略）を備えている。なお、各マイコンは電源（Ｖｄｄ）およびグランド（Ｖｓｓ）を共有している。
【００１５】
メインマイコン１００には、メインマイコン１００へ動作の基準となるクロック信号を供給するメイン発振回路部１０７と、上記各部１０１〜１０６が接続されている。メインマイコン１００はダイバーズ用情報処理装置１０全体の制御を行うものであり、マイクロプロセッサ５０と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５２と、入力専用の入力ポートＰ１３と、出力専用の出力ポートＰ１１，Ｐ１２と、入出力兼用の入出力ポートＰ１４と、これらの各要素を接続するバス（図示略）とを備えている。マイクロプロセッサ５０が、メイン発振回路部１０７から供給されるクロック信号に従って作動し、ＲＡＭ５２をワークエリアとしＲＯＭ５１に記憶されたプログラムを実行することにより、メインマイコン１００はダイバーズ用情報処理装置１０全体の制御を行う。この制御には、サブマイコン２００との間でデータを送受信するための制御が含まれている。
【００１６】
また、サブマイコン２００には、サブマイコン２００へ動作の基準となるクロック信号を供給するサブ発振回路部２０１が接続されている。このクロック信号の周波数は前述のメイン発振回路部１０７がメインマイコン１００へ供給するクロック信号の周波数よりも高い。これにより、サブマイコン２００は、潜水中に人体に蓄積されるであろう窒素量の計算などの複雑な計算を、メインマイコン１００で行うよりも迅速に行うことができる。
サブマイコン２００は、計算や後述する第２の信号線制御等を行っていない場合には、スリープモードになり消費電力を抑える。スリープモードは、マイクロプロセッサ６０に割り込みがかかると解除される。サブマイコン２００は、計算や後述する第２の信号線制御等が終了すると再びスリープモードになる。このようにサブマイコン２００は、消費電力を抑えるように通常はスリープモードで動作している。また、サブマイコン２００は、高い周波数のクロック信号を基準としているので、処理を迅速に行い、動作している時間を短くすることができ、消費電力を抑えることが可能となる。
【００１７】
このサブマイコン２００は、メインマイコン１００と対応した構成となっており、マイクロプロセッサ６０、ＲＯＭ６１、ＲＡＭ６２、入力ポートＰ２１，Ｐ２２、出力ポートＰ２３、入出力ポートＰ２４、及びバス（図示略）を備えている。マイクロプロセッサ６０が、サブ発振回路部２０１から供給されるクロック信号に従って作動し、ＲＡＭ６２をワークエリアとしＲＯＭ６１に記憶されたプログラムを実行することにより、サブマイコン２００は計算や後述の第２の信号線制御等を行う。
【００１８】
なお、上記各ポートは一般的なポートであり、それぞれ、信号線が接続された端子を備えている。入出力ポートは２つの動作モード（入力モード／出力モード）を有し、マイクロプロセッサにより設定された動作モードで作動する。出力モードの入出力ポートは、マイクロプロセッサの制御の下で、端子電位を「Ｈ」または「Ｌ」とする。「Ｈ」の場合の端子電位は、電源（Ｖｄｄ）の電位の９０％以上の電位となり、また、「Ｌ」の場合の端子電位は、電源（Ｖｄｄ）の電位の１０％以下の電位となる。入力モードの入出力ポートは、信号線に対して自身をハイインピーダンス状態とし、端子電位（「Ｈ」／「Ｌ」）を読み込む。また、入力ポートＰ１３は、端子電位が「Ｈ」から「Ｌ」に変化するとマイクロプロセッサ５０に対して割り込みをかける。さらに、入力ポートＰ２１は端子の電位が「Ｈ」から「Ｌ」に変化するとマイクロプロセッサ６０に対して割り込みをかける。
【００１９】
また、図から明らかなように、符号の数字の下一桁が同一のポートは、これらに対応する符号が付された信号線により直接的に接続されている。例えば、メインマイコン１００の入出力ポートＰ１４とサブマイコン２００の入出力ポートＰ２４は、信号線Ｌ４により直結されている。図中の信号線Ｌ１〜Ｌ４のうち、信号線Ｌ４は、送受信されるデータを表す信号を伝送するデータラインである。他の信号線Ｌ１，Ｌ２及びＬ３は、データラインを用いて行われる送受信を制御するための信号を伝送するものである。
【００２０】
［２．動作］
メインマイコン１００とサブマイコン２００との間のデータの送受信は、メインマイコン１００が１バイト分のデータを送信し、このデータをサブマイコン２００が受信し、このデータを用いた計算の結果を示す１バイト分のデータをサブマイコン２００が送信し、このデータをメインマイコン１００が受信する、という流れで行われる。この際、データの送信方向はメインマイコン１００からサブマイコン２００への「順方向」からサブマイコン２００からメインマイコン１００への「逆方向」へ切り換えられる。以降、データの送受信時のダイバーズ用情報処理装置１０の動作について図２〜図４を参照して説明する。ただし、データの送受信が開始される前の時点、即ちサブマイコンがスリープモードであり、メインマイコンが動作しているという状態においては、図２に示すように、入出力ポートＰ１４の動作モードは出力モード、その端子電位は「Ｈ」となっている。また、入出力ポートＰ２４の動作モードは入力モードとなっている。さらに、出力ポートＰ１１、Ｐ１２およびＰ２３の端子電位は「Ｈ」となっている。
【００２１】
［２−１．順方向から逆方向への切り換え］
図３はデータの送受信時にメインマイコン１００が行う処理の流れを示す図であり、この図に示すように、メインマイコン１００は、まず、送信すべき１バイトのデータ（以後、順方向送信データという）の発生を待つ（ステップＳＡ１）。また、図４はデータの送受信時にサブマイコン２００が行う処理の流れを示す図であり、この図に示すように、サブマイコン２００は、まず、入力ポートＰ２１による割り込みがかかるのを待つ（ステップＳＢ１）。
【００２２】
順方向送信データが発生すると、メインマイコン１００は、このデータを送信バッファに書き込み、送信対象となるビット（以後、順方向送信対象ビットという）を第０ビットとし、出力ポートＰ１１から信号線Ｌ１へ出力するＷＲＩＴＥ信号の電位を「Ｌ」（低レベル：グランド電位）とする（ＳＡ２）（時点ｔ１）。具体的には、メインマイコン１００は、出力ポートＰ１１を制御し、このポートＰ１１の端子電位を「Ｈ」から「Ｌ」に変化させる。なお、ＷＲＩＴＥ信号は立ち下がることで順方向の送信の開始を示す信号である。以後、メインマイコン１００は、入力ポートＰ１３にＡＣＫ信号が入力されるのを待つ（ＳＡ３）。
なお、順方向送信データの第０ビット〜第７ビットの値はＤ０〜Ｄ７であるものとして以下の説明を行う。
【００２３】
信号線Ｌ１により伝送され入力ポートＰ２１に入力されるＷＲＩＴＥ信号の電位が「Ｈ」から「Ｌ」に立ち下がると、サブマイコン２００では割り込みがかかり、これを契機として、サブマイコン２００は、割り込み処理において、受信対象となるビット（以後、順方向受信対象ビット）を第０ビットとし、自身がデータを受信できる状態にあることを示すＡＣＫ信号を出力ポートＰ２３から信号線Ｌ３へ出力する（ＳＢ２）（ｔ２）。ＡＣＫ信号は１パルスの信号であり、サブマイコン２００が出力ポートＰ２３の端子電位を時間Ｔ１だけ「Ｌ」としてから「Ｈ」に戻すことで生成される（ｔ３）。以後、サブマイコン２００はポーリング処理を行うことにより入力ポートＰ２２の端子電位を監視する（ＳＢ３）。
【００２４】
ＡＣＫ信号が信号線Ｌ３により伝送され入力ポートＰ１３に入力されると、メインマイコン１００では、入力ポートＰ１３の端子電位が「Ｈ」から「Ｌ」へ変化したことが検出され、割り込みがかかる（ｔ２）。
この割り込みを契機として、メインマイコン１００は、入出力ポートＰ１４の端子電位を、順方向送信データの順方向送信対象ビットの値に応じた電位とする（ＳＡ４）。順方向送信対象ビットの値は１または０のいずれかであることから、入出力ポートＰ１４の端子電位は「Ｈ」または「Ｌ」のいずれかとなる。また、ここでは順方向送信対象ビットは第０ビットであることから、入出力ポートＰ１４の端子電位はＤ０に応じた電位となる。
【００２５】
次に、メインマイコン１００は、出力ポートＰ１２の端子状態を「Ｌ」とする（ＳＡ５）（ｔ４）。出力ポートＰ１２から信号線Ｌ２へ出力される信号は送受信の同期をとるためのクロック信号であり、メインマイコン１００が出力ポートＰ１２の端子状態を時間Ｔ２だけ「Ｌ」とした後に時間Ｔ３だけ「Ｈ」とする処理を繰り返すことで生成される。
【００２６】
信号線Ｌ２により伝送され入力ポートＰ２２へ入力されるクロック信号の電位が「Ｈ」から「Ｌ」に変化すると、サブマイコン２００では入力ポートＰ２２のポーリング処理により、クロック信号の変化が検出される。サブマイコン２００は、これを契機として入出力ポートＰ２４の端子電位に応じた値を受信バッファの順方向受信対象ビットにセットする（ＳＢ４）。入出力ポートＰ２４は信号線Ｌ４により入出力ポートＰ１４に接続されていることから、その端子電位は入出力ポートＰ１４の端子電位（Ｄ０に応じた状態）と一致する。さらに、順方向受信対象ビットは第０ビットである。したがって、サブマイコン２００の受信バッファの第０ビットには、Ｄ０がセットされる。
【００２７】
次に、サブマイコン２００は、データの受信が完了したか否かを判定する（ＳＢ５）。第０ビットの受信しか終えていないことから、サブマイコン２００は、データの受信が完了していないと判定し、順方向受信対象ビットを次のビット（ここでは第１ビット）にした後に（ＳＢ６）、入力ポートＰ２２の端子電位をポーリング処理を行うことにより監視する（ＳＢ３）。
【００２８】
メインマイコン１００は、時点ｔ４から時間Ｔ２経過後の時点ｔ５において、出力ポートＰ１２の端子電位を「Ｌ」から「Ｈ」へ変化させる（ＳＡ６）。さらに、メインマイコン１００は、データの送信が完了したか否かを判定する（ＳＡ７）。第０ビットの送信しか終えていないことから、メインマイコン１００は、データの送信が完了していないと判定し、順方向送信対象ビットを次のビット（ここでは第１ビット）にした後に（ＳＡ８）、入出力ポートＰ１４の端子電位を、順方向送信データの順方向対象ビットの値に応じた電位とする（ＳＡ４）。順方向対象ビットは第１ビットであることから、入出力ポートＰ１４の端子電位はＤ１に応じた電位となる。その後、時点ｔ５から時間Ｔ３経過後の時点ｔ６において、再び、出力ポートＰ１２の端子状態を「Ｌ」とする（ＳＡ５）。
【００２９】
以後、Ｄ１について、上述のＤ０についての動作と同様の動作が行われ、サブマイコン２００の受信バッファの第１ビットにＤ１がセットされる。以降、Ｄ１についての動作と同様の動作がＤ２〜Ｄ７について順に行われる。この結果、サブマイコン２００の受信バッファには、順方向送信データがセットされる。
【００３０】
そして、メインマイコン１００が出力ポートＰ１２の端子電位を「Ｌ」から「Ｈ」へ変化させ（ＳＡ６）、データの送信が完了したか否かを判定する（ＳＡ７）。第７ビットまでの送信を終えていることから、メインマイコン１００は、データの送信が完了したと判定し、入出力ポートＰ１４の端子電位を「Ｈ」とし（ＳＡ９）（ｔ７）、入力ポートＰ１３の端子電位を監視する（ＳＡ１０）。
【００３１】
また、サブマイコン２００では、受信バッファにセットされたデータを使用して窒素量等の計算が行われ（ＳＢ７）、計算結果を示すデータ（以後、逆方向送信対象データ）が得られた後に、入出力ポートＰ２４の動作モードを出力モードへ変更し、入出力ポートＰ２４の端子電位を「Ｈ」とする（ＳＢ８）（ｔ８）。なお、サブマイコン２００は、時点ｔ８が時点ｔ７以降の時点となるように、ステップＳＢ７の処理を行うタイミングを調整する。また、逆方向送信データの第０ビット〜第７ビットの値はＤ０’〜Ｄ７’であるものとして以下の説明を行う。
【００３２】
次に、サブマイコン２００は、送信対象となるビット（以後、逆方向送信対象ビットという）を第０ビットとし、ＤＡＴＡ＿ＳＥＮＤ＿ＳＴＡＲＴ信号を出力ポートＰ２３から信号線Ｌ３へ出力する処理を開始する（ＳＢ９）（ｔ９）。ＤＡＴＡ＿ＳＥＮＤ＿ＳＴＡＲＴ信号は１パルスの信号であり、サブマイコン２００が出力ポートＰ２３の端子電位を時間Ｔ５だけ「Ｌ」としてから「Ｈ」に戻す（ｔ１０）ことで生成される。次に、サブマイコン２００は入力ポートＰ２２の端子電位をポーリング処理を行うことにより監視する（ＳＢ１０）。
【００３３】
ＤＡＴＡ＿ＳＥＮＤ＿ＳＴＡＲＴ信号が信号線Ｌ３により伝送され入力ポートＰ１３に入力されると、メインマイコン１００では、入力ポートＰ１３の端子電位が「Ｈ」から「Ｌ」へ変化することで割り込みがかかる（ＳＡ１０）。この割り込みを契機として、メインマイコン１００は、割り込み処理において、入出力ポートＰ１４の動作モードを入力モードとし、このポートの電気的状態を「ＩＮ」とし、次いで出力ポートＰ１１の端子電位（ＷＲＩＴＥ信号の電位）を「Ｌ」から「Ｈ」へ変化させる（ＳＡ１１）。この処理は、信号線Ｌ３により伝送されるＤＡＴＡ＿ＳＥＮＤ＿ＳＴＡＲＴ信号の電位が「Ｌ」である間（すなわち、時点ｔ９から時間Ｔ５経過後の時点１０前）に行われる。このように、ＤＡＴＡ＿ＳＥＮＤ＿ＳＴＡＲＴ信号は、逆方向の送信が可能となったことをメインマイコン１００へ通知する役割を果たす。
【００３４】
こうして、信号線Ｌ４を用いた送信の方向が順方向から逆方向へ切り換えられる。この切り換えの際に、信号線Ｌ４に接続された入出力ポートＰ１４，Ｐ２４の各端子電位の組み合わせとして生じ得るのは、「Ｈ」と「ＩＮ」の組み合わせと、「Ｈ」と「Ｈ」の組み合わせのみである。すなわち、「Ｈ」と「Ｌ」の組み合わせと、互いが入力モードとなる組み合わせは生じ得ない。したがって、信号線Ｌ４（データライン）が電流流路となる短絡、ならびに両マイコンの入出力ポートの動作モードが共に入力モードになることにより生じるゲート浮きが発生しない。
【００３５】
［２−２．逆方向から順方向への切り換え］
次に、時点ｔ１０にてＤＡＴＡ＿ＳＥＮＤ＿ＳＴＡＲＴ信号の電位が「Ｈ」に変化した後、メインマイコン１００は、クロック信号を出力ポートＰ１２から信号線Ｌ２へ出力する処理を開始する。すなわち、メインマイコン１００は、出力ポートＰ１２の端子電位を「Ｈ」から「Ｌ」に変化させる（ＳＡ１２）（ｔ１１）。このクロック信号は、メインマイコン１００からサブマイコン２００へのデータ送信の際に信号線Ｌ２により伝送されたクロック信号と同一の波形を有する。
【００３６】
クロック信号が信号線Ｌ２により伝送され、入力ポートＰ２２の端子電位が「Ｌ」となると、サブマイコン２００は、これを検出し、入出力ポートＰ２４の端子電位を、逆方向送信データの逆方向送信対象ビットの値に応じた電位とした後（ＳＢ１１）、入力ポートＰ２２の端子電位を監視する（ＳＢ１２）。この結果、信号線２４により入出力ポートＰ２４に接続された入出力ポートＰ１４の端子電位はＤ０’に応じた電位となる。
【００３７】
そして、時点ｔ１１から時間Ｔ２経過後の時点ｔ１２にて、メインマイコン１００は、出力ポートＰ１２の端子電位を「Ｌ」から「Ｈ」へ変化させ（ＳＡ１３）、入出力ポートＰ１４の端子電位に応じた値（Ｄ０’）を受信バッファの逆方向受信対象ビットにセットする（ＳＡ１４）。逆方向受信対象ビットは第０ビットであるから、Ｄ０’がセットされるのは受信バッファの第０ビットである。
【００３８】
次に、メインマイコン１００はデータの受信が完了したか否かを判定する（ＳＡ１５）。第０ビットの受信しか終えていないことから、メインマイコン１００は、データの受信が完了していないと判定し、逆方向受信対象ビットを次のビット（ここでは第１ビット）に変更し（ＳＡ１６）、時点ｔ１２から時間Ｔ３経過後に出力ポートＰ１２の端子の電位（クロック信号の電位）を「Ｈ」から「Ｌ」へ変化させる（ＳＡ１２）。
【００３９】
また、サブマイコン２００は、クロック信号が信号線Ｌ２により伝送され、入力ポートＰ２２の端子電位が「Ｈ」となると、これを検出し、時点１２から時間Ｔ３が経過する前に、データの送信が完了したか否かを判定する（ＳＢ１３）。第０ビットの送信しか終えていないことから、サブマイコン２００は、データの受信が完了していないと判定し、逆方向送信対象ビットを次のビットに変更する（ＳＢ１４）。次に、サブマイコン２００は入力ポートＰ２２の端子電位を監視する（ＳＢ１０）。
【００４０】
以後、上述したステップＳＡ１２〜ＳＡ１６、ＳＢ１０〜ＳＢ１４の処理が繰り返し行われる。そして、Ｄ０’〜Ｄ７’がメインマイコン１００の受信バッファの第０ビット〜第７ビットにされると、サブマイコン２００ではデータの送信が、メインマイコン１００ではデータの受信が完了したと判断される（ＳＡ１５，ＳＢ１３）。この時点で出力ポートＰ１２の端子電位は「Ｈ」となっている。
【００４１】
次に、メインマイコン１００は、データの送受信を終了させるためのダミークロック信号を出力ポートＰ１２から出力する処理を開始する。すなわち、メインマイコン１００は、出力ポートＰ１２の端子電位を「Ｈ」から「Ｌ」へ変化させる（ＳＡ１７）（ｔ１３）。次に、メインマイコン１００は、時点ｔ１３から時間Ｔ６経過後の時点ｔ１４まで待つ（ＳＡ１８）。サブマイコン２００は、入力ポートＰ２２の端子電位を監視する（ＳＢ１５）。この監視において、入力ポートＰ２２の端子電位が「Ｈ」から「Ｌ」へ変化したことを検出すると、サブマイコン２００は、入出力ポートＰ２４の端子電位を「Ｈ」とする（ＳＢ１６）。このようなサブマイコン２００の動作が時点ｔ１３から時点ｔ１４までの間に行われるよう、時間Ｔ６は予め設定されている。
【００４２】
時点ｔ１４では、メインマイコン１００が、入出力ポートＰ１４の動作モードを出力モードとし、その端子電位を「Ｈ」とする（ＳＡ１８）。次に、メインマイコン１００は、出力ポートＰ１２の端子電位を「Ｌ」から「Ｈ」に変化させる（ＳＡ１９）（ｔ１５）。一方、サブマイコン２００は、入力ポートＰ２２の端子電位を監視する（ＳＢ１７）。この監視において、入力ポートＰ２２の端子電位が「Ｌ」から「Ｈ」に変化したことを検出すると、サブマイコン２００は、入出力ポートＰ２４の動作モードを入力モードとする（ＳＢ１８）。すなわち、サブマイコン２００は入出力ポートＰ２４の端子の電気的状態を「ＩＮ」とする。
【００４３】
こうして、信号線Ｌ４を用いた送信の方向を逆方向から順方向へ切り換える処理が完了する。この切り換えの際に、信号線Ｌ４に接続された入出力ポートＰ１４，Ｐ２４の各端子電位の組み合わせとして生じ得るのは、「ＩＮ」と「Ｈ」の組み合わせと、「Ｈ」と「Ｈ」の組み合わせのみである。すなわち、「Ｈ」と「Ｌ」の組み合わせ、および互いが入力モードである状態は生じ得ない。したがって、信号線Ｌ４（データライン）が電流流路となる短絡、ならびに両マイコンの入出力ポートの動作モードが共に入力モードになることにより生じるゲート浮きが発生しない。
【００４４】
以上説明したように、本実施形態によれば、データの送受信の方向を切り換える際に、データラインを電流流路とする短絡は発生しない。また、データラインと入出力ポート間に抵抗が介在しないことから、抵抗を介在させる場合に比較して、製造コストや実装面積の面で有利である。さらに、本実施形態によれば、データラインと入出力ポート間に抵抗が介在しないことから、抵抗に起因した信号の波形なまりは発生し得ない。また、本実施形態によれば、データラインと入出力ポート間に抵抗が介在しないことから、基板上において、電流による熱の発生を抑止できるので、同一基板上の他の回路の誤動作や、基板の焼損などを防ぐことができ、装置の信頼性が向上される。
【００４５】
また、本実施形態では、図２から明らかなように、両マイコンの入出力ポートの動作モードが共に入力モードになることはない。したがって、特にＭＯＳ−ＦＥＴを使用するマイコンの場合、両マイコンの入出力ポートの動作モードが共に入力モードになることにより生じるゲート浮きの問題が生じることはない。
【００４６】
このように、本実施形態では、大電流が無駄に流れる事態を回避することができる。したがって、ダイバーズ用情報処理装置における消費電力を抑制することができる。ところで、ダイバーズ用情報処理装置は携帯されるものであるから、電源として電池が採用されている。電池が供給可能な電力量には限りがあることから、消費電力の抑制はダイバーズ用情報処理装置の使用可能時間の長時間化にもつながる。
【００４７】
ところで、ダイバーズ用情報処理装置は、電池切れになったり電源電圧が低下したりすると、潜水者に対して正確な情報を提示できなくなってしまう。ダイバーズ用情報処理装置が潜水者に提示する情報は人命にかかる重要な情報であるから、このような事態が発生するのは望ましくない。本実施形態によればデータを送受信する際の消費電力が低減されるから、データの送受信が頻繁に行われるダイビング中において長い使用可能時間を確保することができる。したがって、本実施形態によれば、潜水者に対して重要な情報を提示することができないという事態が発生する可能性を低減することができる。
【００４８】
［３．変形例］
上述した実施形態では、データの送受信が切り替わる際に、両マイコンの入出力ポートの端子電位を共に「Ｈ」とするようにしたが、共に「Ｌ」としてもよい。これらの態様のいずれであっても、データラインを電流流路とする短絡は発生しない。
【００４９】
上述した実施形態では、２つのマイコン間でデータを送受信する場合について述べたが、これに限らず、送受信を行うマイコンは２つ以上であってもよい。
【００５０】
また、データの送受信の手順は、データラインを送受信に兼用する手順であれば、他の手順でもよい。例えば、データを受信する側が、入力モードの入出力ポートの端子電位を読み込むタイミングは、クロック信号の立ち下がりであっても立ち上がりであってもよい。要は、送受信が切り換えられる際に、両入出力ポートの端子電位を同一とする手順が含まれていればよい。
【００５１】
また、サブマイコン２００がデータを受信してから、自身の入出力ポートＰ２４を出力モードとし端子電位を「Ｈ」とするタイミングは、計算の終了から予め設定された時間が経過した後であってもよいし、計算の開始から予め設定された時間が経過した後であってもよい。
【００５２】
また、送受信を終了する処理において、メインマイコン１００がポーリング処理を行い、入出力ポートＰ１４の端子電位が「Ｈ」であることを確認してから、入出力ポートＰ１４の動作モードを入力モードへ切り換えるようにしてもよい。
【００５３】
また、上述した実施形態では、サブマイコン２００は、入力ポートＰ２２の端子電圧の変化をポーリング処理により監視しているが、これに限定されず、割り込み機能を有する入力ポートを使用し、割り込みに処理より、端子電圧の変化を監視するようにしても良い。
【００５４】
上述した実施形態では、データを送受信するデータラインは一本であるが、これに限定されず、入出力ポートを複数備え、複数のデータラインを使用し複数のデータを平行に送受信するようにしてもよい。また、送受信されるデータは、８ビットに限定されるものではなく、一回の通信でどのような数のビットのデータを通信してもよい。
また、上述した実施形態では、シリアル通信の方法を用いて、一つのデータラインで１バイト分のデータを送受信しているが、データの送受信の方法は、これに限定されるものではなく、複数のデータラインを用いてパラレル通信を行いデータを送受信するようにしてもよい。このような態様によれば、１バイト分のクロック信号を生成する必要がなくなり、少ないクロックパルスで高速に通信を行うことが可能になる。
【００５５】
また、上述した実施形態では、クロックに同期してデータの送受信を行っているが、これに限定されず、データの送受信は調歩同期のようなクロックを必要としない方法でもよい。また、クロックの生成は、サブマイコン２００が行ってもよい。さらに、メインマイコン１００がデータ送信を行う時は、メインマイコン１００がクロックを生成し、サブマイコン２００がデータ送信を行う時は、サブマイコン２００がクロックを生成する態様でも良い。
【００５６】
また、上述した実施形態では、サブマイコン２００からのデータ送信終了後、ダミークロック信号を送信方向の切り換えの契機としているが、データの送受信を切り換える契機はこれに限定されるものではない。例えば、サブマイコン２００が、信号線Ｌ３を用いてサブマイコン２００からのデータ送信を終了する旨を示す信号を送信し、メインマイコン１００が、この信号を受信したのを契機として入出力ポートＰ１４の動作モードを出力モードとし、その端子電位を「Ｈ」とするようにしてもよい。
【００５７】
また、上述した実施形態では、メインマイコン１００及びサブマイコン２００を同一の基板に実装した例を示したが、各マイコンを別々の基板に実装するようにしてもよい。さらに、上述の実施形態では、ＲＯＭおよびＲＡＭが一つのパッケージに内蔵されているタイプのマイコンについて説明したが、使用されるマイコンは、これに限らず外付けのＲＯＭやＲＡＭを用いるタイプのマイコンであってもよい。また、データを送受信する主体はマイコンに限らず、信号線を介してデータを送受信可能な任意の回路（例えばＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ））でよい。
【００５８】
また、上述した実施形態では、「Ｈ」となった接続端子の電位は、電源（Ｖｄｄ）の電位の９０％以上の電位、「Ｌ」の場合の端子電位は、電源（Ｖｄｄ）の電位の１０％以下の電位としている。
しかし、「Ｈ」となった接続端および「Ｌ」となった接続端の電位は、これに限定されるものではなく、「Ｈ」となった接続端子の電位は、電源（Ｖｄｄ）と電位と電気的に等価、また「Ｌ」となった接続端子の電位はグランド（Ｖｓｓ）と電位と電気的に等価としてもよい。
【００５９】
また、上述した実施形態では、メインマイコン１００は、ＤＡＴＡ＿ＳＥＮＤ＿ＳＴＡＲＴ信号の電位が「Ｌ」である間に、入出力ポートＰ１４の動作モードを入力モードとし、次いで出力ポートＰ１１の端子電位を「Ｌ」から「Ｈ」へ変化させているが、この処理は、ＤＡＴＡ＿ＳＥＮＤ＿ＳＴＡＲＴ信号の電位が「Ｌ」から「Ｈ」へ変化した後に行ってもよい。
【００６０】
【発明の効果】
以上説明したように、本発明によれば、データラインを介する送信の方向が切り換わる際にデータラインの両端に電位差は生じない。したがって、データラインが電流流路となる短絡は発生し得ない。これにより、回路間でデータを送受信するためのデータラインに大電流が無駄に流れる事態を回避することが可能となる。しかも、データラインは入出力ポートを直接的に接続していることから、データラインに抵抗などの部品を設ける必要がなくなり、製造コストや実装の面で有利である。また、本発明によれば、両マイコンの入出力ポートの動作モードが共に入力モードになることがないため、ゲート浮きの問題が生じることがなく、無駄な電流が流れる事態を回避することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るダイバーズ用情報処理装置１０の構成例を示す図である。
【図２】同装置１０が有するメインマイコン１００とサブマイコン２００間で送受される信号を時間軸に沿って示すタイミングチャートである。
【図３】データの送受信時に同マイコン１００が行う処理の流れを示すフローチャートである。
【図４】データの送受信時に同マイコン２００が行う処理の流れを示すフローチャートである。
【図５】同装置１０が有する入出力ポートの構成例を示す図である。
【符号の説明】
１００・・・メインマイコン、１０４・・・センサー部、１０５・・・ＬＣＤ部、１０１・・・スイッチ部、１０３・・・ＥＥＰＲＯＭ、１０７・・・メイン発振回路部、１０２・・・ブザー部、１０６・・・ＥＬ部、２００・・・サブマイコン、２０１・・・サブ発振回路部。
【図１】
0003565208.tif 000002
【図２】
0003565208.tif 000003
【図３】
0003565208.tif 000004
【図４】
0003565208.tif 000005
【図５】
0003565208.tif 000006