(57)【要約】【課題】  極めて簡単な構成にてＩ２Ｃバスの伝送データを蓄積することができ、もって容易にＩ２Ｃバスのエラー解析を行うことができるＩ２Ｃバスのデータ伝送装置等を得る。【解決手段】  マスタ１とスレーブ２との間をバス３を介して接続するＩ２Ｃバスにメモリ回路４を接続し、スレーブ２に対して書き込み動作がある場合に、メモリ回路４のＩ２Ｃアドレスをスレーブ２のＩ２Ｃアドレスと同じＩ２Ｃアドレスに設定してスレーブ２に対する書き込みデータをメモリ回路４に保存し、書き込み完了後に前記メモリ回路のＩ２Ｃアドレスを変更前のＩ２Ｃアドレスに再設定する。これにより、書き込み時にはスレーブに対する書き込みデータをメモリ回路に記憶させることができるとともに、読出し時には、スレーブからの読み出しに影響を与えないようにした。【選択図】図１
2007172363.tif 000002
【特許請求の範囲】
【請求項１】
マスタとスレーブとの間をバスを介して接続するＩ２Ｃバスのデータ伝送装置であって、
前記バスに接続されるメモリ回路と、
前記スレーブに対して書き込みがある場合に、前記メモリ回路のＩ２Ｃアドレスを当該スレーブのＩ２Ｃアドレスと同じＩ２Ｃアドレスに設定した上で、前記スレーブに対する書き込みデータを前記メモリ回路に保存し、書き込み完了後に前記メモリ回路のＩ２Ｃアドレスを変更前のＩ２Ｃアドレスに再設定するメモリ回路制御部と
を備えてなるＩ２Ｃバスのデータ伝送装置。
【請求項２】
請求項１に記載のＩ２Ｃバスのデータ伝送装置において、
前記スレーブが複数ある場合において、いずれかのスレーブに対し書き込みがある場合、前記メモリ回路制御部は前記メモリ回路のＩ２Ｃアドレスを書き込みがあるスレーブ毎に制御することを特徴とするＩ２Ｃバスのデータ伝送装置。
【請求項３】
マスタとスレーブとの間をバスを介して接続するＩ２Ｃバスのデータ伝送方法であって、
前記バスにメモリ回路を接続し、前記スレーブに対して書き込みがある場合に、前記メモリ回路のＩ２Ｃアドレスを当該スレーブのＩ２Ｃアドレスと同じＩ２Ｃアドレスに設定した上で、前記スレーブに対する書き込みデータを前記メモリ回路に保存し、書き込み完了後に前記メモリ回路のＩ２Ｃアドレスを変更前のＩ２Ｃアドレスに再設定するようにしたＩ２Ｃバスのデータ伝送方法。
【請求項４】
請求項３に記載のＩ２Ｃバスのデータ伝送方法において、
前記スレーブが複数ある場合において、いずれかのスレーブに対して書き込みがある場合は、前記メモリ回路のＩ２Ｃアドレスを書き込みがあるスレーブ毎に対応させて設定するようにしたことを特徴とするＩ２Ｃバスのデータ伝送方法。
【請求項５】
マスタとスレーブとの間をバスを介して接続するＩ２Ｃバスのデータ伝送方法をコンピュータに実行させるＩ２Ｃバスのデータ伝送プログラムであって、
前記スレーブに対して書き込みがある場合に、前記バスに接続されたメモリ回路のＩ２Ｃアドレスを当該スレーブのＩ２Ｃアドレスと同じＩ２Ｃアドレスに設定するステップと、
前記スレーブに対する書き込みデータを前記メモリ回路に保存するステップと、
書き込み完了後、前記メモリ回路のＩ２Ｃアドレスを変更前のＩ２Ｃアドレスに再設定するステップと
をコンピュータに実行させるＩ２Ｃバスのデータ伝送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｉ２Ｃバスのエラー解析等を容易におこなうことができるＩ２Ｃバスのデータ伝送装置、及びその方法、並びにＩ２Ｃバスのデータ伝送プログラムに関するものである。
【背景技術】
【０００２】
従来、Ｉ２Ｃバスのエラー解析のためには、シンクロスコープなどのエラー解析に必要な計測器をトレーサとして組み込んだ上で、その事象を再現させる手法が採られている。
【０００３】
なお、バスアクセスに係る信号をサンプリングし、得られたサンプリングデータをトレース用メモリに記憶するバストレーサが知られている（例えば特許文献１参照）。
【特許文献１】特開平８−３１４７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の技術では、上述したように、Ｉ２Ｃバスのエラー解析のために、計測器を組み込んだ上で、事象を再現させるようにしているため、極めて煩わしく、時間及び手間がかかるという問題があった。なお、上記特許文献１の技術は、Ｉ２Ｃバスのような極めて簡単なバスに適用するには、装置が複雑で、コスト高となるという問題がある。
【０００５】
本発明は、上述した問題点を解決するため、極めて簡単な構成にてＩ２Ｃバスの伝送データを蓄積することができ、もって容易にＩ２Ｃバスのエラー解析を行うことができるＩ２Ｃバスのデータ伝送装置及びその方法並びにＩ２Ｃバスのデータ伝送プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明は、マスタとスレーブとの間をバスを介して接続するＩ２Ｃバスのデータ伝送装置であって、前記バスに接続されるメモリ回路と、前記スレーブに対して書き込みがある場合に、前記メモリ回路のＩ２Ｃアドレスを当該スレーブのＩ２Ｃアドレスと同じＩ２Ｃアドレスに設定した上で、前記スレーブに対する書き込みデータを前記メモリ回路に保存し、書き込み完了後に前記メモリ回路のＩ２Ｃアドレスを変更前のＩ２Ｃアドレスに再設定するメモリ回路制御部とを備えたものである。これにより、書き込み時にはスレーブに対する書き込みデータをメモリ回路に記憶させることができるとともに、読出し時には、スレーブからの読み出しに影響を与えないようにしたものである。
【０００７】
また、本発明のＩ２Ｃバスのデータ伝送装置において、前記スレーブが複数ある場合において、いずれかのスレーブに対し書き込みがある場合、前記メモリ回路制御部は前記メモリ回路のＩ２Ｃアドレスを書き込みがあるスレーブ毎に制御することを特徴とする。
【０００８】
また、本発明は、マスタとスレーブとの間をバスを介して接続するＩ２Ｃバスのデータ伝送方法であって、前記バスにメモリ回路を接続し、前記スレーブに対して書き込みがある場合に、前記メモリ回路のＩ２Ｃアドレスを当該スレーブのＩ２Ｃアドレスと同じＩ２Ｃアドレスに設定した上で、書き込み完了後に前記メモリ回路のＩ２Ｃアドレスを変更前のＩ２Ｃアドレスに再設定するようにしたものである。
【０００９】
また、本発明のＩ２Ｃバスのデータ伝送方法において、前記スレーブが複数ある場合において、いずれかのスレーブに対して書き込みがある場合は、前記メモリ回路のＩ２Ｃアドレスを書き込みがあるスレーブ毎に対応させて設定するようにしたことを特徴とする。
【００１０】
また、本発明は、マスタとスレーブとの間をバスを介して接続するＩ２Ｃバスのデータ伝送方法をコンピュータに実行させるＩ２Ｃバスのデータ伝送プログラムであって、前記スレーブに対して書き込みがある場合に、前記バスに接続されたメモリ回路のＩ２Ｃアドレスを当該スレーブのＩ２Ｃアドレスと同じＩ２Ｃアドレスに設定するステップと、
前記スレーブに対する書き込みデータを前記メモリ回路に保存するステップと、
書き込み完了後、前記メモリ回路のＩ２Ｃアドレスを変更前のＩ２Ｃアドレスに再設定するステップとをコンピュータに実行させるものである。
【発明の効果】
【００１１】
本発明によれば、極めて簡単な構成にてＩ２Ｃバスの伝送データを蓄積することができ、もって容易にＩ２Ｃバスのエラー解析を行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面を参照して説明する。
実施の形態１．
図１、図２は本発明の実施の形態１におけるブロック図である。これらの図において、例えば集積回路で構成されるマスタ１とデータ記憶部を有するスレーブ２がＩ２Ｃバス３で接続されている。Ｉ２Ｃバス３には、メモリ回路４が接続され、そのＩ２Ｃアドレスがファームウェアにより制御される。ファームウェアは本発明のCPU５上で動作している。メモリ回路４は簡単なメモリデバイス（例えば不揮発性メモリ）により構成される。
【００１３】
なお、Ｉ２Ｃバスはデータ伝送ライン３ａとクロック伝送ライン３ｂを有している。メモリ回路４及びスレーブ２には、CPU５からそれぞれのアドレスライン６が接続されている。
【００１４】
以上の構成において、ファームウェアは書き込み時に限りメモリ回路（Ｉ２Ｃ‐メモリデバイス）４のＩ２Ｃアドレスを書き込み先デバイス（スレーブ）のＩ２Ｃアドレスと同じＩ２Ｃアドレスに切り替え設定する。なお、Ｉ２Ｃアドレスは外部ＰＩＮ設定により定められている。
【００１５】
メモリ回路４自身は書き込み動作に対するアクノリッジ応答を返さず、Ｉ２Ｃアドレスの初期値は、どのスレーブのＩ２Ｃアドレスとも重複しない固有のＩ２Ｃアドレスに設定されている。メモリ回路４にはＩ２Ｃ経由の書き込みコマンドにより書き換えられたデータのみが蓄積されており、Ｉ２Ｃエラーが発生したときには、エラー解析において、メモリ回路の記憶値を読出し、期待値と比較することでＩ２Ｃコマンドが正しく伝わっていたかどうか等の現象、原因の区別を容易にすることができる。
【００１６】
以下、本発明の動作であるメモリ回路４における書き込み動作について図３のフローチャートを用いて説明する。なお、この動作は本実施の形態においてはＣＰＵ５において行われる。
【００１７】
まず、書き込み動作か否か判断され、書き込み動作時には（ステップＳ１、Ｙｅｓ）、ファームウェアはメモリ回路４のＩ２Ｃアドレスをスレーブ２のＩ２Ｃアドレスと同じＩ２Ｃアドレスに切り替え設定する（ステップＳ２）。
これにより、スレーブ２への書き込み動作時に、それと同じデータがメモリ回路４にも書込まれ蓄積される（ステップＳ３）。なおこの時、メモリ回路４はアクノリッジ応答を返すことはしない。
【００１８】
そして、データの書き込み動作が完了すると、ファームウェアは、メモリ回路４のＩ２Ｃアドレスを元の値に再設定する（ステップＳ４）。
【００１９】
次に、読み込み動作の場合（ステップＳ１、Ｎｏ）、ファームウェアは何も行わないので、図１に示すように、メモリ回路４のＩ２Ｃアドレスはスレーブ２のＩ２Ｃアドレス（例えば“０１”）と違うＩ２Ｃアドレス（例えば“００”）のままとなっている。
【００２０】
これにより、それぞれのデバイスに対する読み込み動作に対しては、互いに影響を及ぼし合うことは無く、互いの読み込み動作時にそれぞれが干渉することはない。
【００２１】
以上の構成において、Ｉ２Ｃバスにおいてトラブルが生じた場合は、メモリ回路４に記憶されたデータを読み出してエラー解析を行うことが可能となる。従って、極めて簡単な構成にてＩ２Ｃバスの伝送データを蓄積することができ、もって容易にＩ２Ｃバスのエラー解析を行うことができる
【００２２】
実施の形態２．
図４、図５は実施の形態２におけるブロック図であり、それぞれ図１、図２に対応している。
実施の形態２はスレーブ２ａ，２ｂが複数設けられる場合の例を示し、Ｉ２Ｃバスには、複数のスレーブが接続され、一つのメモリ回路４が接続されている。
【００２３】
以上の構成においても、書き込み時においては、図５に示すようにメモリ回路４のＩ２Ｃアドレスは書き込み対象となるスレーブ２ｂのＩ２Ｃアドレス（例えば“０２”）と同じＩ２Ｃアドレスが設定される。一方、アイドル時(および読み出し時)は、図４に示すようにメモリ回路４のＩ２Ｃアドレスはいずれのスレーブ２ａ，２ｂのＩ２Ｃアドレスとも異なるアドレス（例えば“００”）に設定されている。
【００２４】
上述した実施の形態においては、本発明のCPU上で動作するファームウェアで構成したがマスタ側にあるようにしても良い。
【００２５】
また、ファームウェアにおいて本発明のＩ２Ｃバスのデータ伝送プログラムを構成するようにしたが、このプログラムは、コンピュータにより読取り可能な記録媒体に記憶されている。ここで、記録媒体とは、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施の形態１におけるアイドル時(および読み出し時)のブロック図である。
【図２】本発明の実施の形態１における書き込み時のブロック図である。
【図３】本発明の実施の形態における動作を示すフローチャートである。
【図４】本発明の実施の形態２におけるアイドル時(および読み出し時)のブロック図である。
【図５】本発明の実施の形態２における書き込み時のブロック図である。
【符号の説明】
【００２７】
１  マスタ、２，２ａ，２ｂ  スレーブ、３  Ｉ２Ｃバス、４  メモリ回路（Ｉ２Ｃ‐メモリデバイス）、５  CPU
【図１】
2007172363.tif 000003
【図２】
2007172363.tif 000004
【図３】
2007172363.tif 000005
【図４】
2007172363.tif 000006
【図５】
2007172363.tif 000007