(57)【特許請求の範囲】
【請求項１】
スレーブデバイスと、アドレスを指定することにより前記スレーブデバイスとデータを送受信するマスタデバイスとが、前記マスタデバイスから送信されるクロックを伝達するクロック信号線と、データを双方向に送信するシリアルデータ信号線とで接続される通信システムであって、
前記シリアルデータ信号線の一部を構成し、前記マスタデバイスから前記スレーブデバイスに対して所定のデータを送信する第１の信号線と、
前記シリアルデータ信号線の一部を構成し、前記スレーブデバイスから前記マスタデバイスに対して前記所定のデータを送信する第２の信号線と、
前記第１の信号線と前記第２の信号線とのいずれか一方が前記シリアルデータ信号線として有効となるように選択する信号線選択部と、
前記信号線選択部における前記選択動作を制御するための信号方向切替信号を出力する端子を備える信号制御部と、
を備え、
前記信号線選択部は、第１の信号線選択部及び第２の信号線選択部により構成され、
前記第１の信号線選択部は、前記第１の信号線上に設けられた第１オア回路及び第１スリーステートバッファ回路と、前記第２の信号線上に設けられた第１バッファとを有し、
前記第２の信号線選択部は、前記第２の信号線上に設けられた第２オア回路及び第２スリーステートバッファ回路と、前記第１の信号線上に設けられた第２バッファと、前記信号制御部の前記端子と前記第２オア回路との間に設けられたインバータ回路と、を有することを特徴とする通信システム。
【請求項２】
前記信号制御部は、前記シリアルデータ信号線において前記マスタデバイスと前記スレーブデバイスとの間で送受信されるデータの種別に応じて、前記第１の信号線と前記第２の信号線とのいずれか一方が前記シリアルデータ信号線として有効となるように選択するよう前記信号線選択部における前記選択動作を制御する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記信号制御部は、前記マスタデバイスから前記スレーブデバイスに前記所定のデータを送信する際には、前記第１の信号線が前記シリアルデータ信号線として有効となるように選択し、前記マスタデバイスが前記スレーブデバイスからの前記所定のデータを受信する受信ビット時の際のみ、前記第２の信号線が前記シリアルデータ信号線として有効となるように選択するよう前記信号線選択部における前記選択動作を制御することを特徴とする請求項１に記載の通信システム。
【請求項４】
前記信号制御部は、前記第１の信号線が前記シリアルデータ信号線として有効とする場合、所定の信号レベルの前記信号方向切替信号を前記信号線選択部に出力し、前記第２の信号線が前記シリアルデータ信号線として有効とする場合、前記所定の信号レベルを反転させた前記信号方向切替信号を前記信号線選択部に出力することを特徴とする請求項１に記載の通信システム。
【請求項５】
前記第１オア回路の２つの入力端子の一方には、前記第２バッファの出力端子が接続され、
前記第１オア回路の前記２つの入力端子の他方には、前記信号制御部の前記端子が接続されることを特徴とする請求項１に記載の通信システム。
【請求項６】
前記第１スリーステートバッファ回路の入力端子には、前記第１オア回路の出力端子が接続され、
前記第１スリーステートバッファ回路の制御入力端子には、前記信号制御部の前記端子が接続されることを特徴とする請求項１に記載の通信システム。
【請求項７】
前記第１スリーステートバッファ回路は、前記信号制御部の前記端子から出力された前記信号方向切替信号に従って、出力端子からの出力信号を制御することを特徴とする請求項６に記載の通信システム。
【請求項８】
前記インバータ回路の入力端子には、前記信号制御部の前記端子が接続され、
前記第２オア回路の２つの入力端子の一方には、前記第１バッファの出力端子が接続され、
前記第２オア回路の２つの入力端子の他方には、前記インバータ回路の出力端子が接続されることを特徴とする請求項１に記載の通信システム。
【請求項９】
前記第２スリーステートバッファ回路の入力端子には、前記第２オア回路の出力端子が接続され、
前記第２スリーステートバッファ回路の制御入力端子には、前記インバータ回路の出力端子が接続されることを特徴とする請求項１に記載の通信システム。
【請求項１０】
前記第２スリーステートバッファ回路は、前記信号制御部の前記端子から出力され前記インバータ回路により反転された前記信号方向切替信号に従って、出力端子からの出力信号を制御することを特徴とする請求項９に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像素子としてＣＭＯＳセンサを搭載する内視鏡を有する内視鏡システムにおける通信システムに関する。
【背景技術】
【０００２】
従来、複数の素子間を通信により接続するための汎用のシリアル接続方式として、いわゆるＩ２Ｃ（Inter-Integrated Circuit）と呼ばれるシリアル通信規格が知られている。【０００３】
このＩ２Ｃは、抵抗でプルアップされた双方向の２本のオープンコレクタ信号線（シリアルデータＳＤＡおよびシリアルクロックＳＣＬ）により通信する同期式のシリアル通信規格であり、これらＳＤＡおよびＳＣＬを用いて指定したデバイスへの書き込み、および、読み出しを行うものである。これらＳＤＡおよびＳＣＬはいずれもバス信号であり、Ｉ２Ｃではこのバスにより複数の素子間を接続するようになっている。【０００４】
そしてＩ２Ｃでは、これらＳＤＡとＳＣＬのバス信号を利用してデータの読み取りおよび書き込みの要求を行うマスタと、マスタの要求に応じてデータを受け取りまたは送出するスレーブとを設け、さらにバスには複数のスレーブが接続可能となっている。また、マスタは個別に決められたスレーブのアドレスを指定してスレーブを選択した後に当該スレーブと通信を行うようになっている。【０００５】
一方、従来、医療用分野及び工業用分野において撮像素子を備えた内視鏡が広く用いられている。また、内視鏡に着脱自在に接続され、内視鏡に係る各種信号処理をプロセッサと称する信号処理装置により担い、内視鏡システムを構成する技術も知られるところにある。【０００６】
また、近年、撮像素子としてＣＭＯＳセンサを採用する内視鏡も提案されている。この種のＣＭＯＳセンサは、そのセンサチップ内に撮像部と共にＡ／Ｄ変換部を備え、センサとしての出力信号はデジタル信号となっている。【０００７】
そして、この種のＣＭＯＳセンサを採用する内視鏡を有する内視鏡システムにおいて、ＣＭＯＳセンサと信号処理部であるプロセッサとの間における通信制御を、上述したＩ２Ｃにより行う技術が知られている（特許第５３５６６３２号公報）。【０００８】
ところで、上述したＩ２Ｃにより通信制御を行うＣＭＯＳセンサを内視鏡先端に採用した内視鏡システムの場合、ＣＭＯＳセンサをスレーブの一つとし、マスタはプロセッサに実装される構成が考えられる。【０００９】
このような内視鏡システムの場合、内視鏡先端部に配設されたＣＭＯＳセンサとプロセッサとは、数ｍの長さのケーブルで接続されることとなるが、これは、スレーブの一つであるところのＣＭＯＳセンサと、マスタであるプロセッサとが数ｍものケーブルで接続されることを意味する。【００１０】
一方、この種の内視鏡システムは、いわゆる電気メス等のノイズ源の近傍で用いられることも多く、前記マスタ（プロセッサ）とスレーブ（ＣＭＯＳセンサ）とを結ぶケーブルはこの種のノイズに曝されることとなる。【００１１】
ここで、上述した電気メス等の周辺機器は比較的強力なノイズ源となり得えることから、前記マスタ（プロセッサ）とスレーブ（ＣＭＯＳセンサ）とを結ぶケーブルに当該ノイズが印可された場合、このケーブルがたとえ十分なノイズ耐性を備えていたとしても、Ｉ２Ｃバスに接続されたスレーブ（ＣＭＯＳセンサ）側では、当該外来ノイズをシリアルクロックＳＣＬの立上りエッジと誤認する虞がある。【００１２】
そして、Ｉ２Ｃシステムが前記外来ノイズをシリアルクロックＳＣＬの立上りエッジと誤認した場合、スレーブ（ＣＭＯＳセンサ）とマスタ（プロセッサ）との通信シーケンス上でｂｉｔズレが発生し、シリアルデータＳＤＡの信号出力の方向がかみ合わず、いわゆる出力信号の衝突（以下、単に衝突）と呼ばれる現象を引き起こすこととなる。【００１３】
ところで、Ｉ２Ｃでは、マルチ・マスタ・バスで衝突検知とバス・アービトレーションでバス調停（バスの所有権の調停）することを前提とするので、Ｉ２Ｃバス上において衝突が生じた場合、それは複数のマスタが同時にアクセスしていると解釈し、また、これら他マスタ同士の衝突は保障されているので問題はない。【００１４】
しかしながら、Ｉ２Ｃシステムにおいて、マスタ−スレーブ間においてのｂｉｔズレによる衝突は想定外の挙動である。【００１５】
そして上述した内視鏡システムにおいて、スレーブであるＣＭＯＳセンサが外来ノイズをシリアルクロックＳＣＬの立上りエッジと誤認したような場合、マスタであるプロセッサは、他マスタとの同時アクセスと誤解し、シリアルクロックＳＣＬおよびシリアルデータＳＤＡを停止し、すなわちバスをフリー状態にしてしまう虞がある。【００１６】
さらに、マスタによる上記シリアルクロックＳＣＬおよびシリアルデータＳＤＡの停止タイミングが、スレーブ側のＬドライブ（例えば、Ａｃｋによる）と重なった場合、シリアルデータＳＤＡは“Ｌ”に引張られたまま停止することになるので、バスはビジー状態と同等となる。【００１７】
その結果、マスタであるプロセッサは、ＣＭＯＳセンサ以外のスレーブにアクセスすることが不可能になってしまうという不都合が生じる。すなわち、マスタからは、バスがビジー状態のように見え続けるので、マスタは待機したままで復帰しないこととなり、いわゆるシステムフリーズ状態となる。【００１８】
上述のごとき内視鏡システムにおいてシステムフリーズ状態になると、例えば、ユーザへのプロセッサ再起動の手間（電源スイッチオフからオン動作等）、検査中の記録データ（観察動画キャプチャ等の一時保管データ等）がすべて無効になるという不都合を生じる。【００１９】
ところで、上述のごとき双方向のオープンコレクタ信号線によるＩ２Ｃバスは、ワイヤードＯＲを構成するが、このワイヤードＯＲを構成することが上述した問題を引き起こしやすい要因となっている。すなわち、ワイヤードＯＲでは、バスに接続されたデバイスのどれか一つがＬドライブ状態となると、バスは物理的にその論理に強制的に従うことになる。【００２０】
Ｉ２Ｃは、ｂｉｔシーケンスルール上、Ｌドライブが可能なデバイスが単一であるというルールを規定することで双方向を実現するものである。すなわち、Ｉ２Ｃでは、このルールを遵守することにより双方向通信を可能とするものである。【００２１】
しかしながら、上述したごとき内視鏡先端部に配設されたスレーブであるところのＣＭＯＳセンサと、マスタであるプロセッサとの間を数ｍものケーブルで接続する構成をなす内視鏡システムにおいては、当該ケーブルに混入する外来ノイズの影響により、上述したようにそのルールが破綻しやすい状況下にあるため、バス上の出力信号の衝突を起こしやすいという問題がある。【００２２】
本発明は上述した点に鑑みてなされたもので、撮像素子としてＣＭＯＳセンサを搭載する内視鏡を有する内視鏡システムにおける通信システムにおいて、外来ノイズによるシステムフリーズの発生を回避することができる通信システムを提供することを目的とする。
【発明の開示】
【課題を解決するための手段】
【００２３】
本発明の一態様の通信システムは、スレーブデバイスと、アドレスを指定することにより前記スレーブデバイスとデータを送受信するマスタデバイスとが、前記マスタデバイスから送信されるクロックを伝達するクロック信号線と、データを双方向に送信するシリアルデータ信号線とで接続される通信システムであって、前記シリアルデータ信号線の一部を構成し、前記マスタデバイスから前記スレーブデバイスに対して所定のデータを送信する第１の信号線と、前記シリアルデータ信号線の一部を構成し、前記スレーブデバイスから前記マスタデバイスに対して前記所定のデータを送信する第２の信号線と、前記第１の信号線と前記第２の信号線とのいずれか一方が前記シリアルデータ信号線として有効となるように選択する信号線選択部と、前記信号線選択部における前記選択動作を制御するための信号方向切替信号を出力する端子を備える信号制御部と、を備え、前記信号線選択部は、第１の信号線選択部及び第２の信号線選択部により構成され、前記第１の信号線選択部は、前記第１の信号線上に設けられた第１オア回路及び第１スリーステートバッファ回路と、前記第２の信号線上に設けられた第１バッファとを有し、前記第２の信号線選択部は、前記第２の信号線上に設けられた第２オア回路及び第２スリーステートバッファ回路と、前記第１の信号線上に設けられた第２バッファと、前記信号制御部の前記端子と前記第２オア回路との間に設けられたインバータ回路と、を有する。
【図面の簡単な説明】
【００２４】
【図１】図１は、本発明の第１の実施形態の内視鏡システムにおけるＩ２Ｃシステムの構成を示す図。
【図２】図２は、第１の実施形態の内視鏡システムにおけるシリアルデータＳＤＡのバス信号方向切替機構の論理回路の真理値表を示した図。
【図３】図３は、第１の実施形態の内視鏡システムにおいて、通常時の各シリアルバス信号の状態を示したタイミングチャート。
【図４】図４は、第１の実施形態の内視鏡システムにおいて、シリアルデータＳＤＡのバス信号方向切替機構を備えないと仮定した際にシリアルクロックＳＣＬバス上に異常信号が印可された際の各シリアルバス信号の状態を示したタイミングチャート。
【図５】図５は、第１の実施形態の内視鏡システムにおいて、シリアルクロックＳＣＬバス上に異常信号が印可された際の各シリアルバス信号の状態を示したタイミングチャート。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して本発明の実施形態を説明する。  
図１は、本発明の第１の実施形態の内視鏡システムにおいてＩ２Ｃシステムの構成を示す図である。【００２６】
図１に示すように本発明の第１の実施形態である内視鏡システム１は、撮像素子としてＣＭＯＳセンサを採用した内視鏡２と、前記内視鏡２に着脱自在に接続され、内視鏡２に係る各種信号処理を行うプロセッサ３と、により主要部が構成される。【００２７】
前記内視鏡２は、被検体に挿入される挿入部の先端に設けられ、被検体の光学像を撮像して所定のデジタル撮像信号を出力するＣＭＯＳセンサ１１と、前記ＣＭＯＳセンサ１１に接続され前記デジタル撮像信号のほかＣＭＯＳセンサ１１に対する制御信号等を伝送するケーブル２０と、当該ケーブル２０の他端に配設され前記プロセッサ３に接続するためのコネクタ部２１と、を備える。【００２８】
ＣＭＯＳセンサ１１は、プロセッサ３において生成された所定のクロックおよび垂直同期信号ＶＤ・水平同期信号ＨＤにより、被検体の光学像を撮像して所定のアナログ撮像信号を生成する撮像部１２（ＰＤ１２）と、当該撮像部１２に対して所定の信号処理を施すと共にデジタル撮像信号に変換して出力するＡ／Ｄ変換部を備える図示しないＡＦＥ回路と、当該ＡＦＥ回路からのデジタル撮像信号をパラレル／シリアル変換して後段に出力する図示しないＰ／Ｓ回路と、を有して構成される。【００２９】
上述したように本実施形態における内視鏡は撮像素子としてＣＭＯＳセンサ１１を採用するが、本第実施形態の内視鏡システムにおいては、内視鏡先端に配設された当該ＣＭＯＳセンサ１１と信号処理部であるプロセッサ３との間における通信制御に、上述したＩ２Ｃを適用することを特徴とする。【００３０】
また、本実施形態においては、Ｉ２Ｃ制御においてＣＭＯＳセンサ１１をスレーブの１つとし、一方マスタはプロセッサ３に実装し、これらマスタ−スレーブ間を２本のシリアルバス信号線（シリアルデータＳＤＡおよびシリアルクロックＳＣＬ）により接続することを特徴とする。【００３１】
そして本実施形態の如き内視鏡システムの場合、内視鏡先端部に配設されたスレーブの１つであるところのＣＭＯＳセンサとマスタであるプロセッサ３とは、前記シリアルデータＳＤＡおよび前記シリアルクロックＳＣＬの一部を内設する数ｍの長さのケーブル２０とで接続されることとなる。【００３２】
一方、上述したように、本実施形態の内視鏡システムは、電気メス等の強力なノイズ源の近傍で用いられることも多いことから前記マスタ−スレーブ間を結ぶケーブルについては強力なノイズに曝されることとなる。【００３３】
すなわち、上述したように、マスタ（プロセッサ）とスレーブ（ＣＭＯＳセンサ）とを結ぶ前記ケーブル２０に電気メス等の強力なノイズが印可された場合、このケーブル２０がたとえ十分なノイズ耐性を備えていたとしても、特にＩ２Ｃバスに接続されたスレーブ（ＣＭＯＳセンサ）側では、当該外来ノイズによりシリアルクロックＳＣＬが乱される虞がある。【００３４】
本願は係る事情に鑑みてなされたものであり、当該外来ノイズによりシリアルクロックＳＣＬが乱されたとしても、システムフリーズを避けることができることを特徴とする。【００３５】
図１に戻って、プロセッサ３には、２本のシリアルバス信号線（シリアルデータＳＤＡおよびシリアルクロックＳＣＬ）が接続された、マスタとしてのＩ２Ｃマスタ３０が配設される。【００３６】
一方、内視鏡２の先端に配設されたＣＭＯＳセンサ１１には、同じく２本のシリアルバス信号線（シリアルデータＳＤＡおよびシリアルクロックＳＣＬ）が接続された、スレーブとしてのＩ２Ｃスレーブ１０が配設される。なお、このＩ２Ｃスレーブ１０は、撮像部１２（ＰＤ１２）を制御するＩ２Ｃコントーラとして機能する。【００３７】
前記Ｉ２Ｃスレーブ１０から延出された前記２本のシリアルバス信号線（シリアルデータＳＤＡおよびシリアルクロックＳＣＬ）は、内視鏡２内においてケーブル２０内に挿通され、前記コネクタ部２１を経由してプロセッサ３内に延設される。【００３８】
前記コネクタ部２１は、シリアルクロックＳＣＬ用端子２１ａおよびシリアルデータＳＤＡ用端子２１ｂを備え、それぞれ対向するプロセッサ３に設けられたシリアルクロックＳＣＬ用端子３ａまたはシリアルデータＳＤＡ用端子３ｂに接続されるようになっている。【００３９】
＜シリアルデータＳＤＡのバス信号方向切替機構＞
以下、本第１の実施形態におけるシリアルデータＳＤＡのバス信号の方向切替機構について説明する。【００４０】
本第１の実施形態においては、前記プロセッサ３における前記シリアルクロックＳＣＬ用端子３ａおよびシリアルデータＳＤＡ用端子３ｂ以降の前記Ｉ２Ｃマスタ３０との間において、シリアルデータＳＤＡのバス信号方向、すなわち第１の方向「マスタ側→スレーブ側」と第２の方向「スレーブ側→マスタ側」とのバス信号の方向を切り替える機構を配設する。【００４１】
このシリアルデータＳＤＡのバス信号方向切替機構は、いわゆるＦＰＧＡ（field-programmable gate array）３２により構成され、Ｉ２Ｃマスタ３０からＩ２Ｃスレーブ１０に対して所定のデータを送信する第１の信号線４１と、Ｉ２Ｃスレーブ１０からＩ２Ｃマスタ３０に対して所定のデータを送信する第２の信号線４２と、第１の信号線４１と第２の信号線４２とのいずれか一方がシリアルデータＳＤＡのバス信号線として有効となるように選択する第１の信号線選択部５１および第２の信号線選択部５２と、前記第１の信号線選択部５１および第２の信号線選択部５２における前記選択動作を制御する信号制御部３１と、を具備する。【００４２】
ここで、前記第１の信号線４１は、当該バス信号方向切替機構において前記第１の方向「マスタ側→スレーブ側」が選択された際に用いられる信号線であり、前記第２の信号線４２は同前記第２の方向「スレーブ側→マスタ側」が選択された際に用いられる信号線であって、これら第１の信号線４１および第２の信号線４２の具体的な経路については後に詳述する。【００４３】
なお、プロセッサ３内には、当該Ｉ２Ｃシステムにおける他のスレーブとして機能するＩ２Ｃスレーブ６１およびＩ２Ｃスレーブ６２が設けられている。【００４４】
前記信号制御部３１は、前記シリアルクロックＳＣＬのバスからマスタ側シリアルクロックＳＣＬ（MASTER_SCL）を入力する端子３１ａ、前記シリアルデータＳＤＡのバス（後述する第１の信号線４１）からマスタ側シリアルデータＳＤＡ（MASTER_SDA）を入力する端子３１ｂ、前記シリアルデータＳＤＡのバス（後述する第２の信号線４２）からスレーブ側シリアルデータＳＤＡ（SLAVE_SDA）を入力する端子３１ｃ、シリアルデータＳＤＡのバス信号方向切替信号（DIRECTION）を出力する端子３１ｄ、前記ＣＭＯＳセンサ１１におけるＩ２Ｃスレーブ１０のスレーブアドレス（ASSIGN_ADDR）を入力する端子３１ｅをそれぞれ備えている。【００４５】
第１の信号線選択部５１は、シリアルデータＳＤＡにおける第１の信号線４１上に設けられた第１オア回路５４および第１スリーステートバッファ回路５５と、シリアルデータＳＤＡにおける第２の信号線４２上に設けられた第１バッファ５６とを有する。【００４６】
より具体的に前記第１の信号線選択部５１における第１オア回路５４の入力端子には、第２バッファ５３（後述する）の出力端子“Ｏ”が接続されるとともに前記信号制御部３１における端子３１ｄが接続され、前記第１の信号線４１におけるマスタ側シリアルデータＳＤＡ信号と、前記信号制御部３１における端子３１ｄから出力される前記バス信号方向切替信号DIRECTIONと、を入力する。【００４７】
前記第１の信号線選択部５１における第１スリーステートバッファ回路５５は、その入力端子“Ｉ”には第１オア回路５４の出力信号が入力され、また制御入力端子“Ｔ”には、前記信号制御部３１における端子３１ｄから出力される前記バス信号方向切替信号DIRECTIONが入力され、当該バス信号方向切替信号DIRECTIONに従って出力端子“Ｉ／Ｏ”からの出力信号が制御されるようになっている。【００４８】
前記第１の信号線選択部５１における第１バッファ５６の入力端には、第２の信号線４２上における前記シリアルクロックＳＣＬ用端子３ａから入力するスレーブ側シリアルデータＳＤＡが入力され、また、前記第１スリーステートバッファ回路５５の出力端子“Ｉ／Ｏ”が接続される。なお、第１バッファ５６の出力端子“Ｏ”は、第２オア回路５７（後述する）の入力端子に接続されるようになっている。【００４９】
一方、第２の信号線選択部５２は、シリアルデータＳＤＡにおける第２の信号線４２上に設けられた第２オア回路５７および第２スリーステートバッファ回路５８と、シリアルデータＳＤＡにおける第１の信号線４１上に設けられた第２バッファ５３と、信号制御部３１における前記端子３１ｄと前記第２オア回路５７間に設けられたインバータ回路５９と、を有する。【００５０】
より具体的に前記第２の信号線選択部５２における第２オア回路５７の入力端子には、前記第１バッファ５６の出力端子“Ｏ”が接続されるとともに前記信号制御部３１における端子３１ｄが接続され、前記第２の信号線４２におけるスレーブ側シリアルデータＳＤＡ信号であって前記第１バッファ５６の出力信号と、前記信号制御部３１における端子３１ｄから出力され前記インバータ回路５９により反転された前記バス信号方向切替信号DIRECTIONと、を入力する。【００５１】
前記第２の信号線選択部５２における第２スリーステートバッファ回路５８は、その入力端子“Ｉ”には第２オア回路５７の出力信号が入力され、また制御入力端子“Ｔ”には、前記信号制御部３１における端子３１ｄから出力され前記インバータ回路５９により反転された前記バス信号方向切替信号DIRECTIONが入力され、当該反転されたバス信号方向切替信号DIRECTIONに従って出力端子“Ｉ／Ｏ”からの出力信号が制御されるようになっている。【００５２】
前記第２の信号線選択部５２における第２バッファ５３の入力端には、第１の信号線４１上における前記Ｉ２Ｃマスタ３０側から入力するマスタ側シリアルデータＳＤＡが入力され、また、前記第２スリーステートバッファ回路５８の出力端子“Ｉ／Ｏ”が接続される。なお、第２バッファ５３の出力端子“Ｏ”は、第１オア回路５４の入力端子に接続され、マスタ側シリアルデータＳＤＡとして入力されるようになっている。【００５３】
前記第２の信号線選択部５２における前記インバータ回路５９は、前記信号制御部３１における端子３１ｄから出力された前記バス信号方向切替信号DIRECTIONを入力し、反転出力を第２オア回路５７に入力するようになっている。【００５４】
＜シリアルデータＳＤＡのバス信号方向切替機構の仕組＞
上述したシリアルデータＳＤＡのバス信号の方向切替機構の仕組みについて説明する。【００５５】
図２は、第１の信号線選択部５１および第２の信号線選択部５２における、第１スリーステートバッファ回路５５および第２スリーステートバッファ回路５８における論理回路の真理値表である。【００５６】
上述したように、第１の信号線選択部５１における第１スリーステートバッファ回路５５における制御入力端子“Ｔ”には、バス信号方向切替信号DIRECTIONが入力され、一方、第２の信号線選択部５２における第２スリーステートバッファ回路５８における制御入力端子“Ｔ”には、インバータ回路５９により反転されたバス信号方向切替信号DIRECTIONが入力されるようになっている。【００５７】
また、本第１の実施形態においては、信号制御部３１の端子３１ｄから第１の方向選択時（マスタ→スレーブ）には、“Ｌ”信号が、一方、第２の方向選択時（スレーブ→マスタ）には、“Ｈ”信号が出力されるようになっている。【００５８】
ここで、図２における真理値表に示すように、第１スリーステートバッファ回路５５または第２スリーステートバッファ回路５８の制御入力端子“Ｔ”に“Ｈ”信号が入力すると、入力信号の状態に拘わらず出力端子“Ｉ／Ｏ”はハイインピーダンス“Ｚ”となる。このとき、第２バッファ５３または第１バッファ５６の出力端子“Ｏ”は、入力した信号をそのまま出力することとなる。【００５９】
具体的に、例えば今、信号制御部３１がバス信号方向切替機構として、前記第１の信号線４１を用いる前記第１の方向「マスタ側→スレーブ側」を選択したとする。【００６０】
このとき、信号制御部３１は、そのDIRECTION端子３１ｄから前記バス信号方向切替信号DIRECTIONとして第１の方向を選択する“Ｌ”信号を出力する。【００６１】
そして当該バス信号方向切替信号DIRECTIONは、一方で前記第１スリーステートバッファ回路５５の制御入力端子“Ｔ”に“Ｌ”信号として入力されるとともに、他方でインバータ回路５９に入力し、当該インバータ回路５９により反転され、これにより第２スリーステートバッファ回路５８の制御入力端子“Ｔ”には“Ｈ”信号が入力される。【００６２】
すると、上述したように、第２スリーステートバッファ回路５８における出力端子“Ｉ／Ｏ”は ハイインピーダンス“Ｚ”となり、マスタ側シリアルデータＳＤＡにおけるＩ２Ｃマスタ３０からの信号は、第２バッファ５３側に流れることとなる。そして、第２バッファ５３における出力端子“Ｏ”には、Ｉ２Ｃマスタ３０側から入力されたマスタ側シリアルデータＳＤＡがそのまま現れることとなる。【００６３】
一方、第１スリーステートバッファ回路５５の制御入力端子“Ｔ”には、上述したように、信号制御部３１の端子３１ｄから出力された“Ｌ”状態のバス信号方向切替信号DIRECTIONが入力される。【００６４】
このとき第１スリーステートバッファ回路５５における出力端子“Ｉ／Ｏ”には、入力端子“Ｉ”に入力した信号、今の場合、第２バッファ５３を経由したＩ２Ｃマスタ３０側から入力されたマスタ側シリアルデータＳＤＡがそのまま出力さることとなる。【００６５】
ここで、本実施形態においては、Ｉ２Ｃマスタ３０→第２バッファ５３→第１オア回路５４→第１スリーステートバッファ回路５５→シリアルデータＳＤＡ用端子３ｂへの経路を第１の信号線４１とする。【００６６】
すなわち、バス信号方向切替機構として、前記第１の方向「マスタ側→スレーブ側」への切替を所望した際は、上述した仕組みにより前記第１の信号線４１を選択することができる。【００６７】
他方、例えば今、信号制御部３１がバス信号方向切替機構として、前記第２の信号線４２を用いる前記第２の方向「スレーブ側→マスタ側」を選択したとする。【００６８】
このとき、信号制御部３１は、そのDIRECTION端子３１ｄから前記バス信号方向切替信号DIRECTIONとして第１の方向を選択する“Ｈ”信号を出力する。【００６９】
そして当該バス信号方向切替信号DIRECTIONは、一方で第１スリーステートバッファ回路５５の制御入力端子“Ｔ”に“Ｈ”信号として入力されるとともに、他方でインバータ回路５９に入力され当該インバータ回路５９により反転され、これにより第２スリーステートバッファ回路５８の制御入力端子“Ｔ”には“Ｌ”信号が入力される。【００７０】
すると、上記とは逆に、第１スリーステートバッファ回路５５における出力端子“Ｉ／Ｏ”が ハイインピーダンス“Ｚ”となり、スレーブ側シリアルデータＳＤＡにおけるＩ２Ｃスレーブ１０からの信号が、第１バッファ５６側に流れることとなる。そして、第１バッファ５６における出力端子“Ｏ”には、Ｉ２Ｃスレーブ１０側から入力されたスレーブ側シリアルデータＳＤＡがそのまま現れることとなる。【００７１】
一方で、第２スリーステートバッファ回路５８の制御入力端子“Ｔ”には、上述したようにインバータ回路５９を経由した“Ｌ”状態のバス信号方向切替信号DIRECTIONが入力される。【００７２】
このとき第２スリーステートバッファ回路５８における出力端子“Ｉ／Ｏ”には、入力端子“Ｉ”に入力した信号、今の場合、第１バッファ５６を経由したＩ２Ｃスレーブ１０側から入力されたスレーブ側シリアルデータＳＤＡがそのまま出力さることとなる。【００７３】
ここで、本実施形態においては、Ｉ２Ｃスレーブ１０→シリアルデータＳＤＡ用端子３ｂ→第１バッファ５６→第２オア回路５７→第２スリーステートバッファ回路５８→Ｉ２Ｃマスタ３０への経路を第２の信号線４２とする。【００７４】
すなわち、バス信号方向切替機構として、前記第２の方向「スレーブ側→マスタ側」への切替を所望した際は、上述した仕組みにより前記第２の信号線４２を選択することができる。【００７５】
＜第１の実施形態の作用＞
次に、本第１の実施形態の作用について説明する。【００７６】
＜シリアルクロックＳＣＬのバス信号方向の固定＞
本第１の実施形態は、上述したように、プロセッサ３に配設したマスタ側（Ｉ２Ｃマスタ３０）と、内視鏡２に配設したスレーブ側（ＣＭＯＳセンサ１１におけるＩ２Ｃスレーブ１０）との通信制御にＩ２Ｃシステムを採用するが、本第１の実施形態においては、まず、シリアルクロックＳＣＬを常時、「マスタ側→スレーブ側」に固定することを特徴とする。【００７７】
＜シリアルデータＳＤＡのバス信号方向の切替作用＞
本第１の実施形態においては、上述したバス信号方向切替機構により、原則としてシリアルデータＳＤＡにおけるバス信号の方向を前記第１の方向「マスタ側→スレーブ側」に設定し、Ｉ２Ｃマスタ３０側が、ＣＭＯＳセンサ１１におけるＩ２Ｃスレーブ１０からのデータを受信する受信ｂｉｔ時（例えば、ＡｃｋまたはＲｅａｄＤａｔａ）の際にのみ、シリアルデータＳＤＡにおけるバス信号の方向を前記第２の方向「スレーブ側→マスタ側」に設定することを特徴とする。【００７８】
図３は、第１の実施形態の内視鏡システムにおいて、通常時の各シリアルバス信号の状態を示したタイミングチャートである。【００７９】
図３は、Ｉ２Ｃマスタ３０からのマスタシリアルクロックＳＣＬ（MASTER_SCL）に従って、マスタシリアルデータＳＤＡ（MASTER_SDA）によりＩ２Ｃマスタ３０からＣＭＯＳセンサ１１におけるＩ２Ｃスレーブ１０に対して所定のデータが送信されている様子を示している。【００８０】
上述したように、本実施形態においてはシリアルデータＳＤＡにおけるバス信号の方向を前記第１の方向「マスタ側→スレーブ側」に設定することから、信号制御部３１は、バス信号方向切替機構として、前記第１の信号線４１を用いる前記第１の方向「マスタ側→スレーブ側」を選択する。【００８１】
すなわち、信号制御部３１は、そのDIRECTION端子３１ｄから前記バス信号方向切替信号DIRECTIONとして第１の方向を選択する“Ｌ”信号を出力する。【００８２】
これにより、第２スリーステートバッファ回路５８の制御入力端子“Ｔ”には前記インバータ回路５９により反転された“Ｈ”信号が入力され、一方、第１スリーステートバッファ回路５５の制御入力端子“Ｔ”には、“Ｌ”信号が入力される。【００８３】
このとき、上述したように、第２スリーステートバッファ回路５８における出力端子“Ｉ／Ｏ”は ハイインピーダンス“Ｚ”となり、マスタ側シリアルデータＳＤＡにおけるＩ２Ｃマスタ３０からの信号は、第２バッファ５３側に流れ、第２バッファ５３、第１スリーステートバッファ回路５５を経由してシリアルデータＳＤＡ用端子３ｂには、Ｉ２Ｃマスタ３０側から入力されたマスタ側シリアルデータＳＤＡがそのまま出力さることとなる。【００８４】
図３において、MASTER_SDAにおいてＩ２Ｃマスタ３０から８ｂｉｔ分のデータが送信されている際は、上述したように第１の信号線４１を用いた第１の方向「マスタ側→スレーブ側」が選択されている。【００８５】
一方、この８ｂｉｔ分のデータが送信され終わった次ｂｉｔである、Ｉ２Ｃマスタ３０がＣＭＯＳセンサ１１のＩ２Ｃスレーブ１０側からのデータを受信する受信ｂｉｔ時、この場合は、Ａｃｋの際には、信号制御部３１は、バス信号方向切替機構として、前記第２の信号線４２を用いる前記第２の方向「スレーブ側→マスタ側」を選択する。【００８６】
すなわち、信号制御部３１は、そのDIRECTION端子３１ｄから前記バス信号方向切替信号DIRECTIONとして第２の方向を選択する“Ｈ”信号を出力する。【００８７】
これにより、第２スリーステートバッファ回路５８の制御入力端子“Ｔ”には前記インバータ回路５９により反転された“Ｌ”信号が入力され、一方、第１スリーステートバッファ回路５５の制御入力端子“Ｔ”には、“Ｈ”信号が入力される。【００８８】
このとき、上述したように、第１スリーステートバッファ回路５５における出力端子“Ｉ／Ｏ”は ハイインピーダンス“Ｚ”となり、スレーブ側シリアルデータＳＤＡにおけるＩ２Ｃスレーブ１０からの信号は、第１バッファ５６側に流れ、第１バッファ５６、第２スリーステートバッファ回路５８を経由してＩ２Ｃマスタ３０に対しては、Ｉ２Ｃスレーブ１０側から入力されたスレーブ側シリアルデータＳＤＡがそのまま出力さることとなる。【００８９】
図３において、MASTER_SDAにおいてＩ２Ｃマスタ３０がSLAVE_SDAからのＡｃｋ信号を受信している際は、上述したように第２の信号線４２を用いた第２の方向「スレーブ側→マスタ側」が選択されている。【００９０】
次に、上述した本実施形態におけるバス信号方向切替機構を備えないと仮定した際にシリアルクロックＳＣＬバス上に異常信号が印可された際の各シリアルバス信号が如何なる状態になるか説明する。【００９１】
図４は、第１の実施形態の内視鏡システムにおいて、シリアルデータＳＤＡのバス信号方向切替機構を備えないと仮定した場合にシリアルクロックＳＣＬバス上に異常信号が印可された際の各シリアルバス信号の状態を示したタイミングチャートである。【００９２】
本実施形態の如き内視鏡システムは、いわゆる電気メス等のノイズ源の近傍で用いられることも多く、ＣＭＯＳセンサ１１におけるＩ２Ｃスレーブ１０とプロセッサ３におけるＩ２Ｃマスタ３０とを接続するシリアルデータＳＤＡおよびシリアルクロックＳＣＬの一部を内設するケーブル２０はこの種のノイズに曝されることとなる。【００９３】
そして、上述したように、電気メス等の周辺機器は比較的強力なノイズ源となり得えることから、ケーブル２０がたとえ十分なノイズ耐性を備えていたとしても、シリアルクロックＳＣＬにおける特にＩ２Ｃスレーブ１０（ＣＭＯＳセンサ）側では、当該外来ノイズをシリアルクロックＳＣＬの立上りエッジと誤認する虞がある。【００９４】
図４は、スレーブ側シリアルクロックＳＣＬ（SLAVE_SCL）において、Ｉ２Ｃシステムが前記外来ノイズをシリアルクロックＳＣＬの立上りエッジと誤認した場合の様子を示している。【００９５】
図４に示すように、前記外来ノイズによりＩ２Ｃスレーブ１０側ではシリアルクロックＳＣＬが１個多く見え、ｂｉｔずれが生じることとなる。一方、Ｉ２Ｃマスタ３０側では、１ｂ（Ｒｅａｄ）と０ｂ（Ａｃｋ）とが衝突しているように見える。【００９６】
ところで、Ｉ２Ｃでは、マルチ・マスタ・バスで衝突検知とバス・アービトレーションでバス調停（バスの所有権の調停）することを前提とするので、Ｉ２Ｃバス上において衝突が生じた場合、それは複数のマスタが同時にアクセスしていると解釈し、また、これら他マスタ同士の衝突は保障されているので問題はない。【００９７】
しかしながら、Ｉ２Ｃシステムにおいて、図４に示す如く、マスタ−スレーブ間においてのｂｉｔズレによる衝突は想定外の挙動である。【００９８】
よって本実施形態の如きシリアルデータＳＤＡのバス信号方向切替機構を備えないと仮定すると、外来ノイズをシリアルクロックＳＣＬの立上りエッジと誤認したような場合、マスタであるプロセッサは、他マスタとの同時アクセスと誤解し、シリアルクロックＳＣＬおよびシリアルデータＳＤＡを停止し、すなわちバスをフリー状態にしてしまう。【００９９】
そして、Ｉ２Ｃマスタ３０による上記シリアルクロックＳＣＬおよびシリアルデータＳＤＡの停止タイミングが、スレーブ側のＬドライブ（例えば、上述したＡｃｋによる）と重なった場合、シリアルデータＳＤＡは“Ｌ”に引張られたまま停止することになるので、バスはビジー状態となり復帰することができない。【０１００】
すなわち、Ｉ２Ｃマスタ３０からは、バスがビジー状態のように見え続けるので、Ｉ２Ｃマスタ３０は待機したままで復帰しないこととなり、いわゆるシステムフリーズ状態となる。その結果、Ｉ２Ｃマスタ３０は、Ｉ２Ｃスレーブ１０（ＣＭＯＳセンサ１１）以外のスレーブにアクセスすることが不可能になってしまうという不都合が生じる。【０１０１】
図５は、上述の如き構成されたバス信号方向切替機構を備える本第１の実施形態において、シリアルクロックＳＣＬバス上に異常信号が印可された際の各シリアルバス信号の状態について説明する。【０１０２】
上述したように、本第１の実施形態においてはバス信号方向切替機構により原則としてシリアルデータＳＤＡにおけるバス信号の方向を前記第１の方向「マスタ側→スレーブ側」に設定する。すなわち、信号制御部３１からのバス信号方向切替信号DIRECTIONは“Ｌ”状態に設定される。【０１０３】
そして、Ｉ２Ｃマスタ３０側が、ＣＭＯＳセンサ１１におけるＩ２Ｃスレーブ１０からのデータを受信する受信ｂｉｔ時（例えば、ＡｃｋまたはＲｅａｄＤａｔａ）の際にのみ、シリアルデータＳＤＡにおけるバス信号の方向を前記第２の方向「スレーブ側→マスタ側」に設定する。【０１０４】
これにより、図４に示すようなタイミングでSLAVE_SCLに外来ノイズが混入され、シリアルクロックＳＣＬが１個多く見え擬似クロックが生じたとしても、この擬似クロックが生じるタイミングにおいてバス信号方向切替信号DIRECTIONは未だ“Ｌ”状態であるため、この直後にＩ２Ｃスレーブ１０からＩ２Ｃマスタ３０に対してＡｃｋ信号が送信されたとしても、バス信号方向切替信号DIRECTIONが“Ｌ”状態である限りＩ２Ｃマスタ３０はこのＡｃｋ信号を受信することはない。【０１０５】
この後、シリアルデータＳＤＡにおいてＩ２Ｃスレーブ１０からＩ２Ｃマスタ３０に対してＲｅａｄＤａｔａが送信されたとしても（このとき、信号制御部３１は、第２の方向「スレーブ側→マスタ側」を選択するとしてバス信号方向切替信号DIRECTIONを“Ｈ”状態にしている）、Ｉ２Ｃマスタ３０はＡｃｋ信号を受信しない状態でＲｅａｄＤａｔａを受けることからＮｏＡｃｋであるとして処理する。【０１０６】
すなわち、Ｉ２Ｃマスタ３０は、ＮｏＡｃｋであってＲｅａｄＤａｔａを受信したとしてＳｔｏｐ  ｂｉｔを発行して双方ｂｉｔシーケンスはリセットされ、再度Ｒｅａｄ処理を行う。【０１０７】
そして、図５に示すように、受け取ったＲｅａｄＤａｔａが０ｂであれば、Ｉ２Ｃマスタ３０はこれをＡｃｋと解釈することになり、１ｂｉｔずれたＤａｔａを読み出すこととなるが、２，３度読みで確認する等、誤ったＤａｔａのＲｅａｄは、Ｉ２Ｃマスタ３０のソフトシーケンスを工夫することで上述した図４に示すような不具合は回避することができる。【０１０８】
以上説明したように本実施形態によると、撮像素子としてＣＭＯＳセンサを搭載する内視鏡を有する内視鏡システムにおける通信システムにおいて、外来ノイズによるシステムフリーズの発生を回避することができる。【０１０９】
なお、上述した実施形態においては、ＦＰＧＡ３２により構成される、シリアルデータＳＤＡのバス信号方向切替機構をプロセッサ３内に設けたが、当該バス信号方向切替機構の配設位置はこれに限らない。すなわち、当該バス信号方向切替機構をＩ２Ｃマスタ３０とＩ２Ｃスレーブ１０の間、例えば内視鏡２側におけるコネクタ部２１または操作部等に配設しても同等の効果を奏することができる。【０１１０】
また、本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能であり、上述した実施形態等を部分的に組み合わせる等して構成される実施形態も本発明に属する。【０１１１】
本出願は、２０１４年１２月２５日に日本国に出願された特願２０１４−２６３１８８号公報を優先権主張の基礎として出願するものであり、上記の開示内容は、本願明細書、請求の範囲、図面に引用されたものとする。
【図１】
0006054006.tif 000002
【図２】
0006054006.tif 000003
【図３】
0006054006.tif 000004
【図４】
0006054006.tif 000005
【図５】
0006054006.tif 000006