説明

アクティブケーブル

【課題】電気コネクタの受信機側、送信機側のいずれもがセルフリセットすることで、電気コネクタが接続される電子機器間の通信障害、あるいは、受信機側または送信機側電気コネクタの少なくとも一方のハードウェア的なエラーから回復できるアクティブケーブルを提供する。
【解決手段】第1のMCU(マスター側MCUb4)は、データ受信制御における処理に支障があるか否かをセルフモニタするとともに、第2のMCU(スレーブ側MCUb5)の送信制御における処理に支障があるか否かをモニタし、第1のMCUは、データ受信制御における処理またはデータ送信制御における処理のいずれか一方に支障があると判定した場合、第1のMCUを、データ受信制御を再起動させるリセット状態に移行するとともに、第2のMCUを、データ送信制御を再起動させるリセット状態に移行させることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器間を接続し、大容量のデータを伝送させるためのアクティブケーブルに関する。
【背景技術】
【0002】
従来、電子機器間で光信号によりデータ伝送を行うには、光コネクタを介して光ファイバケーブルで電子機器間を繋ぎ、送信側の電子機器に設けられた光電変換モジュールで電気信号を光信号に変換し、受信側の電子機器に設けられた光電変換モジュールで光信号を電気信号に変換することが行われていた。
しかし、従来の方式では、ユーザが光コネクタに対して光ファイバの抜き差しを行う際、光ファイバ端面にゴミが付着した場合、光信号の強度が低下することで信号の劣化が起こるという問題があった。
そこで、光ファイバ端面におけるゴミの付着による信号劣化を抑えるため、従来、電子機器に設けられていた光電変換モジュールと光ファイバ両端とを一体化した伝送ケーブルがある。すなわち、光電変換モジュールを電気コネクタに内蔵し、電気コネクタの金属ピンのみを外部に露出させて電子機器と接続できるようにした伝送ケーブルが提案されている。
この伝送ケーブルとして、光電気複合ケーブルを用い、電力も同時に送ることができるものもある。例えば、特許文献1には、光ファイバ及び電力線の複合ケーブルの両端に、光電変換モジュール(光トランシーバ)を設け、電気コネクタを電源コンセント形状にした光電気複合ケーブルが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−325783号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年、家電の小型化と家電のデジタル化による情報伝送量の増大に伴い、より小さな電気コネクタで、多種類の信号を高速に伝送する必要がある。このため、コネクタケーブルのコネクタ部に電気回路部を設け、電気回路部において様々な処理を行うアクティブケーブルが登場している。
一方、コネクタ部に電気回路部がない従来のケーブルでは、ケーブルは電気信号の経路としての役割のみである。このため、ケーブルを含む電子機器間の伝送エラーは、ケーブルの両端に接続された電子機器によるエラーが原因であるケース、あるいはケーブル断線が原因であるケースがほとんどであった。しかしながら、アクティブケーブルを含む電子機器間の伝送では、上記原因以外に、アクティブケーブルに搭載した電気回路部のハードウェア的なエラーが起因となるエラー(通信障害)が起こり得る。
【0005】
つまり、従来の技術では、アクティブケーブルにエラーが発生した場合に、両端に接続された電子機器間のエラーから回復できないという問題があった。例えば、送信側あるいは受信側の電気コネクタ内部で、IC(Integrated Circuit)、レーザー等の発光素子、またはフォトダイオード等の受光素子が故障する場合、供給される電源電圧低下による機能低下あるいは機能停止が発生する場合などがある。
こうした場合、従来技術では、ケーブル両端に接続された送信側の電子機器、受信側の電子機器は正常であるにも関わらず、受信側の電子機器が、送信側の電子機器が出力するデータを正しく受信できなくなるという問題があった。
また、このような故障時にも動作を継続することで、ケーブルに接続された電子機器の故障を誘発する危険性があるという問題もあった。
【課題を解決するための手段】
【0006】
本発明は、ケーブルと、前記ケーブルの一端に設けられ、前記ケーブルを介してデータを送信する送信側電気コネクタと、前記ケーブルの他端に設けられ、前記データを受信する受信側電気コネクタと、を備えたアクティブケーブルであって、前記受信側電気コネクタはデータ受信制御を行う第1のMCUを、前記送信側電気コネクタはデータ送信制御を行う第2のMCUをそれぞれ搭載し、前記第1のMCUは、データ受信制御における処理に支障があるか否かをセルフモニタするとともに、前記第2のMCUの送信制御における処理に支障があるか否かをモニタし、前記第1のMCUは、前記データ受信制御における処理または前記データ送信制御における処理のいずれか一方に支障があると判定した場合、前記第1のMCUを、前記データ受信制御を再起動するリセット状態に移行させるとともに、前記第2のMCUに前記ケーブルが含む制御信号線を介してリセット信号を送信し、前記第2のMCUを、データ送信制御を再起動するリセット状態に移行させる、ことを特徴とする。
【0007】
また、前記ケーブルは、光ファイバと電線とを含む光電気複合ケーブルであって、前記制御信号線は前記電線である、ことを特徴とする。
【0008】
また、前記第2のMCUは、前記リセット信号の論理によりデータが書き込まれるリセットフラグを有し、前記第1のMCUは、リセット状態に移行すると、前記リセットフラグにデータ1を書き込む指示を示す前記リセット信号を前記第2のMCUに出力し、前記第2のMCUは、前記リセットフラグのデータがデータ1のとき、前記データ送信制御を終了し、リセット状態に移行する、ことを特徴とする。
【0009】
また、前記第2のMCUは、リセット状態への移行に成功した場合に、データ1を書き込むスレーブ初期化完了フラグを有し、前記第1のMCUは、前記スレーブ初期化完了フラグのデータがデータ1であるか否かを判定し、データ1の場合、前記リセットフラグのデータをデータ1にするリセット信号を前記第2のMCUに出力し、前記リセット信号送信後、前記スレーブ初期化完了フラグのデータがデータ1であるか否かを判定し、データ1の場合、前記リセットフラグのデータをデータ0にするリセット解除信号を前記第2のMCUに出力し、前記第2のMCUは、前記リセットフラグのデータがデータ0のとき、前記データ送信制御を実行する、ことを特徴とする。
【0010】
また、前記第1のMCUは、前記スレーブ初期化完了フラグのデータがデータ0の場合、当該判定処理を継続して実行する、ことを特徴とする。
【0011】
また、前記第1のMCUは、予め設定された送信チェックデータを記憶する送信データ記憶領域を有し、前記第2のMCUは、前記送信側電気コネクタと前記受信側電気コネクタとの間のデータ送受信が可能か否かを示すデータを書き込むリンク成立フラグ、及び前記送信チェックデータを記憶する受信データ記憶領域を有し、前記第1のMCUは、リセット状態から前記データ受信制御を行うメインループへ移行する前に、前記送信チェックデータを、前記制御信号線を介して前記第2のMCUに送信し、前記第2のMCUは、前記送信チェックデータを前記受信データ記憶領域に記憶し、前記第1のMCUは、前記第2のMCUが前記受信データ記憶領域に記憶する前記送信チェックデータを、前記制御信号線を介して受信し、受信した前記送信チェックデータと送信した前記送信チェックデータとを比較し、一致した場合、前記第2のMCUに前記リンク成立フラグにデータ1を設定させ、前記メインループへ移行し、前記第2のMCUは、前記リンク成立フラグのデータがデータ1である場合、リセット状態から前記データ送信制御を行うメインループへ移行する、ことを特徴とする。
【0012】
また、前記第2のMCUは、リセット状態へ移行すると、前記リンク成立フラグにデータ0を設定し、前記第1のMCUは、前記メインループにおいて、前記リンク成立フラグのデータがデータ0の場合、MCU自身をリセットしてリセット状態へ移行する、ことを特徴とする。
【発明の効果】
【0013】
本発明によれば、アクティブケーブルにエラーが発生すると、受信側及び送信側の電気コネクタに搭載されたMCU各々が、データ受信制御またはデータ送信制御を再起動させるリセット状態(電源投入時と同様の初期化状態)に移行する。これにより、受信側及び送信側の電気コネクタ各々は、電源投入時と同様の初期化状態となり、その後、ともに起動状態へ移行し、アクティブケーブルは、データ送受信におけるエラーから回復できる。
さらに、移行したリセット状態において、エラーが検出された場合、受信側及び送信側の電気コネクタに搭載されたMCU、MCUの周辺デバイスの動作を停止した状態としておくことができる。これにより、アクティブケーブルは、内部回路(MCU及び周辺デバイス)の誤動作を防止することができ、また、アクティブケーブル及び電子機器から構成されるデータ送受信システムが誤ったデータを送受信することを防止することができる(アクティブケーブルのフェール・セーフ機能)。
【図面の簡単な説明】
【0014】
【図1】本発明のアクティブケーブルの接続形態、及び回路ブロックを示す図である。
【図2】本発明のアクティブケーブルのメインループにおける処理、セルフリセットへの移行動作、及びセルフリセット処理を説明するための処理フロー図である。
【図3】本発明のアクティブケーブルの、電源投入時の処理、及び起動中からリセット状態へ移行する際の処理を説明するための処理フロー図である。
【発明を実施するための形態】
【0015】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について説明する。
図1は、電子機器におけるアクティブケーブルを説明する図である。
図1(a)は、本実施形態におけるアクティブケーブルを、光カメラリンクケーブルに適用した場合の接続形態を示す図である。
図1(a)に示すように、アクティブケーブルは、光電気複合ケーブルa1と、送信機である電気コネクタa2と、受信機である電気コネクタa3とから構成される。
光電気複合ケーブルa1は、デジタル制御信号ラインb3(制御信号線)と光ファイバから構成される。なお、光電気複合ケーブルa1は電線として、デジタル制御信号ラインb3とは異なる電力線(電気コネクタa3から電気コネクタa2へと電力を供給する電力線)を含んで構成される。
電気コネクタa2は、光電気複合ケーブルa1の一端に設けられ、電子機器であるカメラからの主信号(電気信号)を、光に変換して、光電気複合ケーブルa1における光ファイバに送信する送信機である。
また、電気コネクタa3は、光電気複合ケーブルa1の他端に設けられ、光電気複合ケーブルa1における光ファイバを介して入力される光信号(主信号)を受信する受信機であり、受信した光信号を電気信号に変換して、電子機器である画像入力ボードへ出力する。
【0016】
次に、図1(b)は、電気コネクタa2及び電気コネクタa3各々の回路ブロック構成を示す図である。
なお、図1(b)において、電気信号をP,Sで示しており、Pはパラレルデータ、Sはシリアルデータを示す。また、I2C(Inter-Integrated Circuit)バスは、フィリップス社が提唱しているシリアル・バスで、図2(b)に示すデバイスの間を、シリアル・クロックとシリアルデータの2本の信号で結んでやり取りを行うバスである。なお、図2(b)に示すデバイスの間のデータのやり取りを、RS−422等の他の通信方式により行うことも可能であり、I2Cバスを用いることに限定されるものではない。
電気コネクタa2は、パラレルシリアル変換ICb1(Mux)、マイクロコントロールユニットMCUb5(Micro Control Unit)、LD(Laser Diode)ドライバ、及びVCSEL(Vertical Cavity Surface Emitting Laser、垂直共振器面発光レーザー)を有する。
【0017】
マイクロコントローラMCUb5(以下、スレーブ側MCU)は、電気コネクタa2に共通に搭載される周辺デバイス(パラレルシリアル変換回路b1、及びLDドライバ)を制御して、カメラからのパラレルデータを光信号(主信号)へ変換する動作、及び変換後の光信号を光ファイバへ送信する動作を実行させる。
また、電気コネクタa3は、シリアルパラレル変換ICb2(Demux)、マイクロコントロールユニットMCUb4、及びPD(Photodiode)を有する。
マイクロコントローラMCUb4(以下、マスター側MCU)は、電気コネクタa3に共通に搭載される周辺デバイス(シリアルパラレル変換回路b2)を制御して、光ファイバからの光信号を電気信号に変換する動作、変換後の時系列に入力されるシリアルデータとしての電気信号をパラレルデータへ変換する動作、及び画像入力ボードへパラレルデータを出力する動作を実行させる。
スレーブ側MCUとマスター側MCUは、上述の通り、それぞれデータ送信制御、データ受信制御を行うとともに、デジタル制御信号ラインb3を用いて、双方向で信号のやり取り(通信)を実行する。
【0018】
双方向での通信(詳細は後述)を実行するため、スレーブ側MCUとマスター側MCUは、図1(c)に示す構成を備えている。
図1(c)に示すように、マスター側MCU(図1に示すb4)は、制御部b41、ウォッチドッグタイマb42(以下、マスター側内蔵WDTb42)、及びEEPROM(Electrically Erasable Programmable Read-Only Memory、以下マスター側内蔵EEPROM)を備えている。
制御部b41は、上述したデータ受信制御を実行するため、周辺デバイスに不図示のIOから制御信号を出力し、各処理を実行させる。制御部b41は、その際、マスター側内蔵WDTb42に処理時間を設定して、WDTを起動し、WDTに設定された処理時間内に、各処理を実行させる周辺デバイスから処理終了信号を受け取ることで、各処理が時間内に終了したか否かを判定する(後述するマスター側MCUのメインループにおける処理)。
【0019】
マスター側内蔵EEPROMは、送信データ記憶領域を有している。送信データ記憶領域は、制御部b41が、デジタル制御信号ラインb3を介して、スレーブ側MCUに送信するデータを記憶している。
制御部b41は、送信データ記憶領域が記憶するデータ(以下、送信チェックデータ)を、デジタル制御信号ラインb3を介して、スレーブ側MCUに送信する。その後、制御部b41は、スレーブ側MCUに送信した送信チェックデータをマスター側MCUに再送信させ、受信した送信チェックデータと先に送信した送信チェックデータとを比較する。制御部b41は、比較結果が一致した場合、リンク成立信号をスレーブ側MCUに送信し、マスター側MCU及びスレーブ側MCUの両方が、それぞれのメインループへ移行することを許可する(後述するマスター側MCU及びスレーブ側MCUの初期化ルーチンにおける処理)。
【0020】
スレーブ側MCU(図1に示すb5)は、制御部b51、ウォッチドッグタイマb52(以下、スレーブ側内蔵WDTb52)、及びRAM(Random Access Memory、以下スレーブ側内蔵RAM)を備えている。
制御部b51は、上述したデータ送信制御を実行するため、マスター側MCUにおける制御部b41と同様に、周辺デバイスに不図示のIOから制御信号を出力し、各処理を実行させる。制御部b51は、その際、マスター側内蔵WDTb42に処理時間を設定して、WDTを起動し、WDTに設定された処理時間内に、制御部b51が各処理を実行させている周辺デバイスから処理終了信号を受け取ることで、周辺デバイスの各処理が時間内に終了したか否かを判定する(後述するスレーブ側MCUのメインループにおける処理)。
【0021】
スレーブ側内蔵RAMは、スレーブ初期化完了フラグ9a、リンク成立フラグ10、リセットフラグ13、及び受信データ記憶領域16を有している。
制御部b51は、周辺デバイスの初期化(データ送信制御を再起動するため、リセット状態へ移行させる処理)を行った後、スレーブ初期化完了フラグ9aにデータ1を設定する。(後述するスレーブ側MCUの初期化ルーチンにおける処理)。
受信データ記憶領域16は、マスター側MCUにおける制御部b41がデジタル制御信号ラインb3を介して送信する、送信データ記憶領域が記憶するデータを受信し、記憶する領域である。
【0022】
制御部b51は、周辺デバイスの初期化を行った後、リンク成立フラグ10にデータ0を設定する。また、制御部b51は、マスター側MCUにおける制御部b41から、上記リンク成立信号を受け取ると、リンク成立フラグ10にデータ1を設定する。制御部b51は、このリンク成立フラグ10に1が設定されているか否かをポーリングにより検出する(後述するスレーブ側MCUの初期化ルーチンにおける処理)。
マスター側MCUにおける制御部b41は、メインループにおいて周辺デバイスを制御してデータ受信制御を実行している時に、このリンク成立フラグ10に設定されているデータを制御部b51から受信し、データ0が設定されているときは、周辺デバイスを制御する各処理を終了し、周辺デバイスを初期化する処理へ移行する(後述するマスター側MCUのメインループにおける処理)。
【0023】
制御部b51は、マスター側MCUにおける制御部b41が送信するリセット信号を受け取ると、リセットフラグ13にデータ1を設定する。また、制御部b51は、マスター側MCUにおける制御部b41が送信するリセット解除信号を受け取ると、リセットフラグ13にデータ0を設定する。(後述するマスター側MCU及びスレーブ側MCUの初期化ルーチンにおける処理)。
スレーブ側MCUにおける制御部b51は、メインループにおいて周辺デバイスを制御してデータ送信制御を実行している時に、このリセットフラグ13に設定されているデータが0であるか1であるかを判定し、データ1が設定されているときは、周辺デバイスを制御する各処理を終了し、周辺デバイスを初期化する処理へ移行する(後述するスレーブ側MCUのメインループにおける処理)。
【0024】
上記構成により、本実施形態におけるアクティブケーブルは、電気コネクタa2及び電気コネクタa3において、電源投入時における初期化ルーチンの各処理、電源投入後の稼動時におけるメインループにおける各処理(稼動における初期化ルーチンへの移行を含む)を実行する。
続いて、図2及び図3を用いて、電気コネクタa2及び電気コネクタa3において行われる各処理について説明する。
図2は、本発明のアクティブケーブルのメインループにおける処理、セルフリセットへの移行動作、及びセルフリセット処理を説明するための処理フロー図である。また、図3は、本発明のアクティブケーブルの、電源投入時の処理、及び起動中からリセット状態へ移行する際の処理を説明するための処理フロー図である。
まず、図2及び図3を用いて、電源投入時におけるマスター側MCU及びスレーブ側の初期化ルーチンにおける各処理を説明し、続いて、図2を用いて、初期化ルーチン後のマスター側MCU及びスレーブ側のメインルーチンにおける各処理について説明する。
【0025】
[初期化ルーチンにおける処理]
アクティブケーブルの電気コネクタa3(マスター側)に、接続された電子機器(画像入力ボード)から電源が供給されると、電気コネクタa2(スレーブ側)にも、アクティブケーブルが含む電力線を介して、電源が供給される(ステップS1)。
これにより、マスター側MCU及びスレーブ側MCUは、メインルーチンに移行する(ステップS2、ステップS6)。
マスター側MCUは、電源投入後メインルーチンに移行すると、最初に初期化ルーチンを開始する(ステップS3)。マスター側MCUは、周辺デバイスの初期化(データ受信制御を起動させるため、リセット状態に移行させること)を実行する(ステップS4)。
【0026】
マスター側MCUは、デバイス初期化終了後、スレーブ側MCUの初期化が終了したことを確認するため、スレーブ初期化完了フラグ9aのポーリングを開始する(ステップS5)。
具体的には、マスター側MCUは、スレーブ初期化完了フラグ9aのデータ送信を要求する送信要求信号をスレーブ側MCUに送信し、スレーブ側MCUは、これを受けて、スレーブ初期化完了フラグ9aのデータをマスター側MCUへ送信する。マスター側MCUは、スレーブ初期化完了フラグ9aのデータがデータ1である場合、ステップS12の処理に移行する(ステップS5−Yes)。
一方、スレーブ初期化完了フラグ9aのデータがデータ0である場合、本ステップS5(ポーリングによる検出)を、繰り返し実行することとなる(ステップS5−No)。このことは、電気コネクタa2においてデバイス初期化が完了しないという不具合が発生したことを意味している。つまり、電気コネクタa2における周辺デバイスは稼動状態(データ送信制御)に移行することはなく、内部回路(MCU及び周辺デバイス)の誤動作を防止することができる(アクティブケーブルのフェール・セーフ機能)。
ここでは、スレーブ側MCUが、スレーブ初期化完了フラグ9aにデータ1を設定するものとし、マスター側MCUは、ステップS12の処理へ移行する(ステップS5−Yes)。
【0027】
一方、スレーブ側MCUは、電源投入後メインルーチンに移行すると、最初に初期化ルーチンを実行する(ステップS7)。
スレーブ側MCUは、周辺デバイスの初期化(データ送信制御を起動させるため、リセット状態に移行させること)を実行する。なお、この初期化に先立って、スレーブ側MCUは、スレーブ初期化完了フラグ9aのデータをデータ0へリセットする。
続いて、スレーブ側MCUは、リンク成立フラグ10に、データ0を設定する(ステップS8)。
続いて、スレーブ側MCUは、内蔵RAM内のスレーブ初期化完了フラグ9aに、データ1をセットする(ステップS9)。
【0028】
続いて、スレーブMCUは、リンク成立フラグ10のポーリングを開始する(ステップS11)。
具体的には、スレーブ側MCUは、リンク成立フラグ10のデータがデータ1である場合、ステップS23の処理に移行する(ステップS11−Yes)。
一方、リンク成立フラグ10のデータがデータ0である場合、本ステップS11(ポーリングによる検出)を、繰り返し実行することとなる(ステップS11−No)。このことは、電気コネクタa2及び電気コネクタa3の間にリンクが成立しないことを意味している。つまり、アクティブケーブル及び電子機器から構成されるデータ送受信システムが誤ったデータを送受信することを防止することができる(アクティブケーブルのフェール・セーフ機能)。
【0029】
一方、マスター側MCUは、スレーブ初期化完了フラグ9aにデータ1が設定されたことを確認すると、スレーブ側MCUに対してリセット信号を送信する(ステップS12)。スレーブ側MCUは、このリセット信号を受けて、内蔵RAMにおけるリセットフラグ13にデータ1を設定する。
マスター側MCUは、リセット信号を送信終了後、スレーブ側のデバイス初期化処理(ステップS8)が終了したことを確認するため、スレーブ初期化完了フラグ9aのポーリングを実行する(ステップS14)。
マスター側MCUは、スレーブ初期化完了フラグ9aにデータ1が設定されたことを確認すると、スレーブ側MCUに対してリセット解除信号を送信する(ステップS15)。スレーブ側MCUは、このリセット解除信号を受けて、内蔵RAMにおけるリセットフラグ13にデータ0を設定する。
なお、ステップS12、ステップS14、及びステップS15における処理は、メインルーチンにおける処理に関連する処理であり、詳細については後述する。
【0030】
次に、マスター側MCUは、内蔵EEPROMにおける送信データ記憶領域の送信チェックデータをスレーブ側MCUに送信する(ステップS17)。スレーブ側MCUは、マスター側MCUが送信する送信チェックデータを受信し、内蔵RAMにおける受信データ記憶領域16に記憶する。
続いて、マスター側MCUは、スレーブ側MCUに対して、受信データ記憶領域16が記憶する、自身が送信した送信チェックデータを送信するよう、送信要請信号を送信する。スレーブ側MCUは、この送信要請信号を受けると、内蔵RAMにおける受信データ記憶領域16が記憶する、マスター側MCUが送信した送信チェックデータを、マスター側MCUに送信する。
マスター側MCUは、内蔵RAMにおける受信データ記憶領域16が記憶する、自身が送信した送信チェックデータを受信する(ステップS18)。
【0031】
次に、マスター側MCUは、ステップ17において送信した送信チェックデータと、ステップS18において受信したデータが一致するか否かを判定する(ステップS21)。
マスター側MCUは、自身が送信した送信チェックデータと、自身が受信した送信チェックデータ(送受信データ)が一致する場合、ステップS19の処理に移行する(ステップS21−Yes)。一方、マスター側MCUは、送受信データが一致しない場合、ステップ17及びステップ18の処理、つまり、内蔵EEPROMにおける送信データ記憶領域の送信チェックデータをスレーブ側MCUに送信し、マスター側MCUにおける受信データ記憶領域16が記憶する、自身が送信した送信チェックデータを受信する処理を、送受信データが一致するまで実行する(ステップS21−No)。
なお、一致しない場合、ステップS17、ステップS18、及びステップ21は繰り返し、実行されることとなる。このことは、電気コネクタa2及び電気コネクタa3が起動状態へ移行できないという不具合が発生したことを意味している。これにより、電気コネクタa2及び電気コネクタa3における周辺デバイスは動作せず、アクティブケーブル及び電子機器から構成されるデータ送受信システムが誤ったデータを送受信することを防止することができる(アクティブケーブルのフェール・セーフ機能)。
ここでは、送受信データが一致したとして、マスター側MCUは、ステップS19の処理へ移行する(ステップS21−Yes)。
マスター側MCUは、リンク成立信号をスレーブ側MCUに送信し、スレーブ側MCUは、リンク成立フラグ10にデータ1を設定する。マスター側MCUは、ステップS20の処理に移行する(ステップS19)。スレーブ側MCUは、リンク成立フラグ10にデータ1が設定されたので、ステップS23の処理に移行する(ステップS11−Yes)。
【0032】
このように、マスター側MCU及びスレーブ側MCU各々は、自身が搭載されている電気コネクタにおける周辺デバイスの初期化が終了し、さらに、マスター側MCUからスレーブ側MCUへのデータ送受信により電子機器間でデータを送信するためのリンクを成立させることが可能か否かを判定してから、初期化ルーチンを終了する(それぞれステップS20、ステップS23)。
【0033】
[メインループにおける処理とセルフリセットへの移行動作]
引き続き、アクティブケーブルの稼働中におけるマスター側MCU及びスレーブ側MCUが、初期化ルーチン終了後行う各処理について説明する。
マスター側MCUは、初期化ルーチンを完了して(ステップS20)、メインループに移行する(ステップS22)。
マスター側MCUは、マスター側内蔵WDTb42を起動する(ステップS28)。
次に、マスター側MCUは、スレーブ側MCUに対して、リンク成立フラグ10のデータを送信するよう送信要請信号を出力する。スレーブ側MCUは、マスター側MCUに対して、リンク成立フラグ10のデータを送信する。
マスター側MCUは、リンク成立フラグ10のデータがデータ1か否かを判定する(ステップS26)。マスター側MCUは、リンク成立フラグ10のデータがデータ1の場合、ステップS31の処理に移行する。一方、リンク成立フラグ10のデータがデータ0の場合、ステップS27の処理に移行する。
【0034】
マスター側MCUは、リンク成立フラグ10のデータがデータ1の場合(S26−Yes)、電気コネクタa2及び電気コネクタa3間のリンクは正常であり、電気コネクタa2(スレーブ側)が送信するデータ(主信号)を、電気コネクタa3(マスター側)で処理しても支障はないと判定する。これにより、マスター側MCUは、電気コネクタa3における周辺デバイスを制御して、各種処理(データ処理動作、及び電子機器(ここでは画像入力ボード)へのデータ出力動作)を実行させる(ステップS31)。
マスター側MCUは、周辺デバイスに指示した各処理がマスター側内蔵WDTb42に定められた時間内に終了するか否かを判定する(ステップS32)。
マスター側MCUは、マスター側内蔵WDTb42に定められた時間内に各処理が終了する場合(WDTがタイムオーバーしない場合)、ステップS22の処理へ移行する(ステップS32−No)。次に、次の各処理を実行できるか否かの判定を行い(ステップS26)、実行できる場合(ステップS26−Yes)、上記各種処理を周辺デバイスに実行させる(ステップS31)。
一方、マスター側MCUは、マスター側内蔵WDTb42に定められた時間内に各処理が終了しない場合(WDTがタイムオーバーした場合)、ステップS29の処理へ移行する(ステップS32−Yes)。マスター側MCUは、各種処理を時間内に実行できないため、MCU自身または周辺デバイスに不具合があると判定し、まずMCU自身をリセット状態へ移行させる(ステップS29)。
【0035】
マスター側MCUは、リンク成立フラグ10のデータがデータ0の場合(S26−No)、電気コネクタa2及び電気コネクタa3間のリンクは正常でなく、電気コネクタa2(スレーブ側)が送信するデータ(主信号)を、電気コネクタa3(マスター側)で処理することに支障があると判定する。また、電気コネクタa2及び電気コネクタa3間のリンクは正常である場合であっても、電気コネクタa2(スレーブ側)でエラーが発生した場合、リンク成立フラグ10のデータはデータ0となる(後述するスレーブ側MCUのステップS8における処理。段落「0042」参照。)。この場合、マスター側MCUは、上記各種処理(ステップS31における処理)を実行することに支障があると判定する。
次に、マスター側MCUは、再度ステップS26と同じ処理を実行する(ステップS27)。マスター側MCUが、ステップS26と同じ処理を行う理由は、デジタル制御信号ラインb3が他の信号線(例えば電力線)からのノイズを受け、リンク成立フラグ10のデータがデータ1であるにも関らず、データ0と判定する可能性もあるので、より判定の信頼性を向上させるためである。
マスター側MCUは、リンク成立フラグ10のデータがデータ1の場合(S27−Yes)、上記の通り、電気コネクタa3における周辺デバイスを制御して、各種処理を実行させる(ステップS31)。
一方、マスター側MCUは、リンク成立フラグ10のデータがデータ0の場合(S27−No)、電気コネクタa3(マスター側)おいて電子機器からのデータを処理することに支障があると判定し、ステップS28の処理へ移行する。
マスター側MCUは、マスター側内蔵WDTb42を再起動する(ステップS28)。
マスター側MCUは、マスター側内蔵WDTb42に定められた時間が経過するのを待って(WDTがタイムオーバー)、ステップS29の処理へ移行し(ステップS30−Yes)、まずMCU自身をリセット状態へ移行させる(ステップS29)。
【0036】
スレーブ側MCUは、初期化ルーチンを完了して(ステップS23)、メインループに移行する(ステップS24)。
スレーブ側MCUは、スレーブ側内蔵WDTb52を起動する(ステップS33)。
次に、スレーブ側MCUは、内蔵RAMのリセットフラグ13のデータがデータ0であるか否かを判定する(ステップS34)。スレーブ側MCUは、リセットフラグ13のデータがデータ0の場合、ステップS37の処理に移行する。一方、リセットフラグ13のデータがデータ1の場合、ステップS35の処理に移行する。
【0037】
スレーブ側MCUは、リセットフラグ13のデータがデータ0の場合(S34−Yes)、マスター側MCUがスレーブ側MCUのリセットを要求していないと判定する。これにより、スレーブ側MCUは、電気コネクタa2における周辺デバイスを制御して、各種処理(電子機器(ここではカメラ)からのデータ入力動作、データ処理動作、及び受信機である電気コネクタa3へのデータ送信動作)を実行させる(ステップS37)。
スレーブ側MCUは、周辺デバイスに指示した各処理がスレーブ側内蔵WDTb52に定められた時間内に終了するか否かを判定する(ステップS38)。
スレーブ側MCUは、スレーブ側内蔵WDTb52に定められた時間内に各処理が終了する場合(WDTがタイムオーバーしない場合)、ステップS24の処理へ移行し(ステップS38−No)、次の各処理を実行できるか否かの判定を行い(ステップS34)、実行できる場合(ステップS34−Yes)、上記各種処理を周辺デバイスに実行させる(ステップS37)。
一方、スレーブ側MCUは、スレーブ側内蔵WDTb52に定められた時間内に各処理が終了しない場合(WDTがタイムオーバーした場合)、ステップS36の処理へ移行する(ステップS38−Yes)。スレーブ側MCUは、各種処理を時間内に実行できないため、MCU自身または周辺デバイスに不具合があると判定し、まずMCU自身をリセット状態へ移行させる(ステップS36)。
【0038】
スレーブ側MCUは、リセットフラグ13のデータがデータ1の場合(S34−No)、マスター側MCUがスレーブ側MCUのリセットを要求していると判定する。スレーブ側MCUは、ステップS35の処理へ移行する。
これにより、スレーブ側MCUは、スレーブ側内蔵WDTb52を再起動する(ステップS35)。スレーブ側MCUは、スレーブ側内蔵WDTb52に定められた時間が経過するのを待って(WDTがタイムオーバー)、ステップS36の処理へ移行し(ステップS39−Yes)、まずMCU自身をリセット状態へ移行させる(ステップS36)。
【0039】
マスター側MCUは、ステップS29においてMCU自身をリセットした後、電源投入時と同様に、メインルーチンへ移行し(ステップS2)、続いて初期化ルーチンを開始する(ステップS3)。
まず、マスター側MCUは、上記の通りデバイスの初期化(周辺デバイスをリセット状態へ移行させること)を行う(ステップS4)。
マスター側MCUは、スレーブ初期化完了フラグ9aのデータがデータ1であるか否かを判定する(ステップS5)。マスター側MCUは、スレーブ側MCUが正常に初期化ルーチンを完了し、メインルーチンに移行している場合、スレーブ初期化完了フラグ9aのデータはデータ1であるので、ステップS12の処理へ移行する(ステップS5−Yes)。
一方、マスター側MCUは、スレーブ側MCUが電源投入時において正常に周辺デバイスの初期化を終了していない場合、スレーブ初期化完了フラグ9aのデータはデータ0であるので、上述の通り、本ステップを繰り返し行う。電気コネクタa3(マスター側)はリセット状態を継続することとなり、電気コネクタ(a2)からのデータ受信動作、電気機器へのデータ出力を実行しない。また、電気コネクタa2(スレーブ側)も、リセット状態を継続し、電子機器からのデータ受信動作、及びデータを実行しない。このように、アクティブケーブルは、アクティブケーブル及び電子機器から構成されるデータ送受信システムが誤ったデータを送受信することを防止することができる。
【0040】
マスター側MCUは、スレーブ初期化完了フラグ9aのデータがデータ1である場合、スレーブ側MCUにリセット信号を送信し、リセットフラグ13にデータ1をセットさせる(ステップS12)。
スレーブ側MCUは、リセットフラグ13のデータがデータ1であるので、メインループにおいて上述の各種処理を行っている場合であっても、初期化ルーチンへ移行し、デバイス初期化を行う(ステップS34−Noからステップ35、ステップS39、ステップS36、ステップS6、ステップS7を経てステップS8の処理へ移行する)。
このように、マスター側MCUは、初期化ルーチンに移行すると、スレーブ側MCUを初期化ルーチンへ移行させる。
【0041】
そして、マスター側MCUは、スレーブ側MCUが初期化を行い(ステップS8)、スレーブ初期化完了フラグ9aにデータ1を設定したことを確認してから(ステップS14−Yes)、リセット解除信号をスレーブ側へ送信し、リセットフラグ13にデータ0を設定させる(ステップS15)。これにより、スレーブ側MCUは、リンクが成立すること条件に(ステップS19、ステップS11)、メインルーチンへ移行し、その後、各種処理(ステップS34)を実行することができる(ステップS34−Yes)。
【0042】
また、マスター側MCUは、スレーブ側MCUがデバイス初期化を行うことで、リンク成立フラグ10のデータがデータ0となる(ステップS8)ので、メインループにおいて上述の各種処理を行っている場合であっても、初期化ルーチンへ移行し、デバイス初期化を行う(ステップS26−NoからステップS27−No、ステップ28、ステップS30、ステップS29、ステップS2、ステップS3を経てステップS4の処理へ移行する)。
つまり、スレーブ側MCUが、スレーブ側デバイス(スレーブ側MCU、あるいはスレーブ側周辺デバイス)の不具合により初期化ルーチンへ移行すると、マスター側MCUも初期化ルーチンへ移行する。
【0043】
このように、アクティブケーブルは、マスター側MCUまたはスレーブ側MCUの少なくとも一方がリセットされると、電源投入時と同様の手順で、マスター側MCUは初期化ルーチンに移行して周辺デバイスを初期化し、スレーブ側MCUは初期化ルーチンに移行して周辺デバイスを初期化する。
また、マスター側MCUまたはスレーブ側MCUいずれもが初期化ルーチンへ移行し、電気コネクタ間のリンクが成立することを条件に、両方のMCUが、ともにメインループへ移行する。
【0044】
よって、本発明によれば、アクティブケーブルにエラーが発生すると、受信側及び送信側の電気コネクタに搭載されたMCU各々が、データ受信制御またはデータ送信制御を再起動させるリセット状態(電源投入時と同様の初期化状態)に移行する。これにより、受信側及び送信側の電気コネクタ各々は、電源投入時と同様の初期化状態となり、その後、ともに起動状態へ移行し、アクティブケーブルは、データ送受信におけるエラーから回復できる。
さらに、移行したリセット状態において、エラーが検出された場合、受信側及び送信側の電気コネクタに搭載されたMCU、MCUの周辺デバイスの動作を停止した状態としておくことができる。これにより、アクティブケーブルは、内部回路(MCU及び周辺デバイス)の誤動作を防止することができ、また、アクティブケーブル及び電子機器から構成されるデータ送受信システムが誤ったデータを送受信することを防止することができる(アクティブケーブルのフェール・セーフ機能)。
【0045】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の変更等も含まれる。例えば、上記実施形態の説明においては、光ファイバと電線とを含む光電気複合ケーブルを例にして説明をした。しかし、これは例示であって、本発明は、光ファイバのみから構成されるケーブル、あるいは電気ケーブルのみから構成されるケーブルも含み、広くアクティブケーブル一般に適用することができる。
【符号の説明】
【0046】
a1…光電気複合ケーブル、a2,a3…電気コネクタ、9a…スレーブ初期化完了フラグ、10…リンク成立フラグ、13…リセットフラグ、16…受信データ記憶領域

【特許請求の範囲】
【請求項1】
ケーブルと、
前記ケーブルの一端に設けられ、前記ケーブルを介してデータを送信する送信側電気コネクタと、
前記ケーブルの他端に設けられ、前記データを受信する受信側電気コネクタと、を備えたアクティブケーブルであって、
前記受信側電気コネクタはデータ受信制御を行う第1のMCUを、前記送信側電気コネクタはデータ送信制御を行う第2のMCUをそれぞれ搭載し、
前記第1のMCUは、データ受信制御における処理に支障があるか否かをセルフモニタするとともに、前記第2のMCUの送信制御における処理に支障があるか否かをモニタし、
前記第1のMCUは、前記データ受信制御における処理または前記データ送信制御における処理のいずれか一方に支障があると判定した場合、前記第1のMCUを、前記データ受信制御を再起動するリセット状態に移行させるとともに、前記第2のMCUに前記ケーブルが含む制御信号線を介してリセット信号を送信し、前記第2のMCUを、データ送信制御を再起動するリセット状態に移行させる、
ことを特徴とするアクティブケーブル。
【請求項2】
前記ケーブルは、光ファイバと電線とを含む光電気複合ケーブルであって、
前記制御信号線は前記電線である、
ことを特徴とする請求項1に記載のアクティブケーブル。
【請求項3】
前記第2のMCUは、前記リセット信号の論理によりデータが書き込まれるリセットフラグを有し、
前記第1のMCUは、リセット状態に移行すると、前記リセットフラグにデータ1を書き込む指示を示す前記リセット信号を前記第2のMCUに出力し、
前記第2のMCUは、前記リセットフラグのデータがデータ1のとき、前記データ送信制御を終了し、リセット状態に移行する、
ことを特徴とする請求項1または請求項2いずれか一項に記載のアクティブケーブル。
【請求項4】
前記第2のMCUは、リセット状態への移行に成功した場合に、データ1を書き込むスレーブ初期化完了フラグを有し、
前記第1のMCUは、前記スレーブ初期化完了フラグのデータがデータ1であるか否かを判定し、データ1の場合、前記リセットフラグのデータをデータ1にするリセット信号を前記第2のMCUに出力し、
前記リセット信号送信後、前記スレーブ初期化完了フラグのデータがデータ1であるか否かを判定し、データ1の場合、前記リセットフラグのデータをデータ0にするリセット解除信号を前記第2のMCUに出力し、
前記第2のMCUは、前記リセットフラグのデータがデータ0のとき、前記データ送信制御を実行する、
ことを特徴とする請求項3に記載のアクティブケーブル。
【請求項5】
前記第1のMCUは、前記スレーブ初期化完了フラグのデータがデータ0の場合、当該判定処理を継続して実行する、
ことを特徴とする請求項4に記載のアクティブケーブル。
【請求項6】
前記第1のMCUは、予め設定された送信チェックデータを記憶する送信データ記憶領域を有し、
前記第2のMCUは、前記送信側電気コネクタと前記受信側電気コネクタとの間のデータ送受信が可能か否かを示すデータを書き込むリンク成立フラグ、及び前記送信チェックデータを記憶する受信データ記憶領域を有し、
前記第1のMCUは、リセット状態から前記データ受信制御を行うメインループへ移行する前に、前記送信チェックデータを、前記制御信号線を介して前記第2のMCUに送信し、
前記第2のMCUは、前記送信チェックデータを前記受信データ記憶領域に記憶し、
前記第1のMCUは、前記第2のMCUが前記受信データ記憶領域に記憶する前記送信チェックデータを、前記制御信号線を介して受信し、受信した前記送信チェックデータと送信した前記送信チェックデータとを比較し、一致した場合、前記第2のMCUに前記リンク成立フラグにデータ1を設定させ、前記メインループへ移行し、
前記第2のMCUは、前記リンク成立フラグのデータがデータ1である場合、リセット状態から前記データ送信制御を行うメインループへ移行する、
ことを特徴とする請求項1から請求項5のいずれか一項に記載のアクティブケーブル。
【請求項7】
前記第2のMCUは、リセット状態へ移行すると、前記リンク成立フラグにデータ0を設定し、
前記第1のMCUは、前記メインループにおいて、前記リンク成立フラグのデータがデータ0の場合、MCU自身をリセットしてリセット状態へ移行する、
ことを特徴とする請求項6に記載のアクティブケーブル。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−209790(P2012−209790A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−74208(P2011−74208)
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000005186)株式会社フジクラ (4,463)
【Fターム(参考)】