(57)【要約】【課題】ＩＩＣバスに接続したＩＩＣデバイスがＬｏ出力状態にあっても、ＩＩＣデバイスにストップをかけ、正常な通信状態にすることができるＩＩＣバスを備えた制御回路のＩＩＣデバイスアクセス方法を提供する。【解決手段】ＩＩＣバスに接続したＩＩＣデバイス７１とデバイス制御機器１０を備え、デバイス制御機器１０が前記ＩＩＣバスを介して行うＩＩＣデバイスアクセス方法において、デバイス制御機器１０がＩＩＣバスからＩＩＣデバイス７１にアクセスを開始する際、ＩＩＣバスのデータライン２００がＬｏの場合は、データライン２００がＨｉになるまでクロック信号を出力し、その後、ストップ信号を生成した後にＩＩＣデバイス７１にアクセスを行う。【選択図】        図２
2004252702.tif 000002
【特許請求の範囲】
【請求項１】
ＩＩＣバスに接続したＩＩＣデバイスとデバイス制御機器を備え、デバイス制御機器が前記ＩＩＣバスを介して行うＩＩＣデバイスアクセス方法において、デバイス制御機器がＩＩＣバスからＩＩＣデバイスにアクセスを開始する際、ＩＩＣバスのデータラインがＬｏの場合は、データラインがＨｉになるまでクロック信号を出力し、その後ストップ信号を生成した後にＩＩＣデバイスにアクセスを行うことを特徴とするＩＩＣバスを備えた制御回路のＩＩＣデバイスアクセス方法。
【請求項２】
ＩＩＣバスに接続した複数のＩＩＣデバイスとデバイス制御機器を備え、デバイス制御機器が前記ＩＩＣバスを介して行うＩＩＣデバイスアクセス方法において、デバイス制御機器がＩＩＣバスからＩＩＣデバイスにアクセスを開始する際、ＩＩＣバスのデータラインの状態に関係なく９回以上クロックを発生し、それぞれのクロックにおいてストップ信号を生成した後にＩＩＣデバイスにアクセスを行うことを特徴とするＩＩＣバスを備えた制御回路のＩＩＣデバイスアクセス方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デバイス制御機器がＩＩＣバス・シリアルインターフェースによりＩＩＣデバイスにアクセスするＩＩＣバスを備えた制御回路のＩＩＣデバイスアクセス方法に関するものである。
【０００２】
【従来の技術】
従来のＩＩＣ（Ｉｎｔｅｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）バスを用いたデータ通信においては、ＩＩＣバス制御回路に供給される電源電圧が所定電圧より低い時データ出力手段のデータ出力を禁止するようにしている（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開２００２−２６８９５７号公報（第３−４頁、第１図）
【０００４】
【発明が解決しようとする課題】
しかし、特許文献１に示される従来のＩＩＣバス制御回路は、ＩＩＣバス制御回路に供給される電源電圧が所定電圧より低い時データ出力手段のデータ出力を禁止するようにしているから、データ出力中に瞬時低電が発生し、ＩＩＣデバイス制御機器にのみリセットがかかった場合には、ＩＩＣデバイスはデータ出力状態で停止し、以後、電源が復帰してもＩＩＣバスが使用できなくなるという問題点があった。
【０００５】
本発明は、上記のような課題を解消するためになされたもので、ＩＩＣバスに接続したＩＩＣデバイスがＬｏ出力状態にあっても、ＩＩＣデバイスにストップをかけ、正常な通信状態にできるＩＩＣバスを備えた制御回路のＩＩＣデバイスアクセス方法を提供することを目的としている。
【０００６】
【課題を解決しようとするための手段】
本発明に係るＩＩＣバスを備えた制御回路のＩＩＣデバイスアクセス方法は、ＩＩＣバスに接続したＩＩＣデバイスとデバイス制御機器を備え、ＩＩＣバスからＩＩＣデバイスにアクセスする際、ＩＩＣバスのデータラインがＬｏの場合は、データラインがＨｉになるまでクロック信号を出力し、その後ストップ信号を生成した後にＩＩＣデバイスにアクセスを行うものである。
【０００７】
また、本発明に係るＩＩＣバスを備えた制御回路のＩＩＣデバイスアクセス方法は、ＩＩＣバスに接続した複数のＩＩＣデバイスとデバイス制御機器を備え、前記デバイス制御機器はＩＩＣバスからＩＩＣデバイスにアクセスする際、データラインの状態に関係なく９回以上クロックを発生し、それぞれのクロックにおいてストップ信号を生成した後にＩＩＣデバイスにアクセスを行うものである。
【０００８】
【発明の実施の形態】
実施の形態１
図１は本発明の実施の形態１におけるＩＩＣバスを備えた制御回路のブロック図である。
図１において、２００はＩＩＣバスのデータライン、３００はＩＩＣバスのクロックライン、前記データライン２００とクロック３００でＩＩＣバスを構成する。７１はＩＩＣバスに接続したＩＩＣデバイス（例えば、ＥＥＰＲＯＭ等）で、４１はその出力トランジスタである。１０は前記ＩＩＣバスに接続したデバイス制御機器で、一般にはマイクロコンピュータがその機能を果たしており、クロックライン３００にクロックを出力し、データライン２００を介してＩＩＣデバイス７１を制御する。７はデバイス制御機器１０の出力トランジスタである。
【０００９】
次に、本発明の実施の形態１におけるデバイス制御機器５の動作を図２のフローチャートにより説明する。本例では、デバイス制御機器１０はマイクロコンピュータにより構成されている。また、電源は５Ｖであり、ＨｉとはＩＩＣデバイス７１の出力トランジスタ４１がオフの状態、ＬｏとはＩＩＣデバイス７１の出力トランジスタ４１がオンの状態である。また、各ステップではＩＩＣデバイス７１の動作に必要な時間は確保しているものとする。
【００１０】
まず、プログラムがスタートすると、ステップ２０でクロックライン３００、データライン２００を開放（出力トランジスタ７をオフ）する。
【００１１】
次に、ステップ２１でクロックライン３００の状態を読み込む。クロックライン３００がＬｏ状態であれば、故障が考えられる。なぜなら、クロックライン３００にＬｏを出力できるのはデバイス制御機器１０だけであり、クロックライン３００はステップ２０で開放にしてあり（デバイス制御機器１０の出力トランジスタ７オフ）、Ｌｏになるのは回路上何らかの故障が発生しているに他ならない。この場合、クロックライン３００は使用不可なので、他の処理は行わずに次の処理に移る。
【００１２】
ステップ２１でクロックライン３００がＨｉの場合は、正常であると仮定してステップ２２に移る。ステップ２２では、データライン２００の状態を読み込む。データライン２００がＬｏの場合は、ＩＩＣデバイス７１がＬｏを出力中であると考えられる。
【００１３】
その場合、ステップ２６〜ステップ２７で、ＩＩＣデバイス７１のデータを切り替える為のクロックを生成する。
つまり、ＩＩＣデバイス７１はデータにＬｏを出力中であるから、このＬｏ出力を解除しないと、ＩＩＣデバイス７１に制御信号を入力する事ができないので、デバイス制御機器１０からクロックを与えてデータを切り替え、データがＨｉ（ＩＩＣデバイス７１の出力トランジスタ４１がオフ）になるか、アクノリッジの受信状態（アクノリッジを確認する為、ＩＩＣデバイス７１の出力トランジスタ４１がオフ）になるまで、デバイス制御機器１０はクロックをＩＩＣデバイス７１に送る。
【００１４】
クロックを生成する毎にステップ２２に戻り、データライン２００の状態を判定する。データライン２００がＨｉになるまで、この動作を繰り返す。Ｈｉになったら、ストップ信号を生成する（ステップ２３〜ステップ２４）。この動作により、ＩＩＣデバイス７１はストップし、以降、正常な通信状態になる。
ストップ信号入力後、ＩＩＣデバイス７１にアクセスを行う（ステップ２５）。
【００１５】
この様にデータライン２００がＨｉになってから、ストップ信号を生成することによりデバイスにストップがかけられ、正常な通信が行える。
【００１６】
実施の形態２
図３は本発明の実施の形態２におけるＩＩＣバスを備えた制御回路のブロック図である。
図３において、７１ａ、７１ｂはＩＩＣバスに接続したＩＩＣバス・シリアルインターフェースを備えたＩＩＣデバイス（たとえばＥＥＰＲＯＭ等）である。それ以外は前述した実施の形態１と同じであり、相異点は複数のＩＩＣデバイス７１ａ，７１ｂがＩＩＣバスに接続されている点のみである。
【００１７】
次に、本発明の実施の形態２におけるデバイス制御機器１０の動作を図４のフローチャートにより説明する。ステップ２０、２１は前述した実施の形態１と同じなので、省略する。
【００１８】
ステップ２１で、クロックライン３００がＨｉであると、ステップ３１に移行する。
ステップ２９で、クロック発生数のカウンタｎを０にする。その後、ステップ３０で、データライン２００にＬｏを出力した後、ステップ３１で、データライン２００にＨｉを出力する。ここで、クロックライン３００はＨｉであるので、データライン２００がＬｏからデータＨｉになることで、ストップ命令をＩＩＣデバイス７１ａ、７１ｂに与えたことになる。
【００１９】
次に、ＩＩＣデバイス７１ａ、７１ｂに次のデータを出力させる為、ステップ３２でクロックライン３００にＬｏを出力する。そして、ストップを生成するためにステップ３３で、一旦データライン２００にＬｏを出力し、その後、ステップ３４で、クロックライン３００にＨｉを出力する。
【００２０】
ステップ３５、３６はクロック（ストップ）の生成回数をカウントしていて、１０回クロック（ストップ）を生成すると、ステップ２５へ移り、終了する。ステップ３６でカウント値が１０回未満の場合はステップ３１へ戻り、再度、ステップ３１でデータにＨｉを出力し、ストップを生成する。クロックとストップを１０回生成すると、ステップ２５に移り、どちらか一方のＩＩＣデバイスにアクセスを開始する。
【００２１】
図５は本発明の実施の形態２におけるＩＩＣバスのタイミングチャートである。
図５に示すように、ＩＩＣデバイスにアクセスする前に１０回クロックを生成し、クロック毎にストップを生成する。（ＳＴＯＰ１〜ＳＴＯＰ１０）  本チャートはＩＩＣデバイス７１ａ，７１ｂの出力がＨｉ（出力トランジスタオフ）状態でのチャートであり、純粋なＩＩＣデバイス制御機器１０の出力である。ＩＩＣデバイス７１ａ，７１ｂの出力がＬｏ（出力トランジスタ４１オン）の場合は、見た目の波形は異なる。
【００２２】
この様に１０回クロックを生成し、クロック毎にストップを生成することにより、ＩＩＣデバイス７１ａ，７１ｂが出力中であっても、クロックにより出力が切り替わり、データがＨＩになるか、９ビット間隔にあるアクノリッジのタイミングでＩＩＣデバイスにストップがかけられる。
【００２３】
また、デバイスによっては、８ビットのデータ出力後、アクノリッジを返さずに、次のクロックでストップを生成しなければならないものもあり、この場合でも、データラインの状態に関わらず、９回以上のクロック＋ストップを生成することで、全ての種類のＩＩＣデバイスにおいてストップをかけられる。
【００２４】
また、ＩＩＣデバイスにアクセスを行う前に、毎回９回以上のクロック＋ストップを生成すれば、いつＩＩＣデバイスが出力状態で停止してしまっていても、常に正確な通信が行える。
【００２５】
この操作を行うことで、デバイスによっては、８ビットのデータ出力後、アクノリッジを返さずに、次のクロックでストップを生成しなければならないものもあり、この場合でもデータラインの状態に関わらず、９回以上のクロック＋ストップを生成することで、全ての種類のＩＩＣデバイスにおいて、ストップをかけられる。
【００２６】
【発明の効果】
以上のように本発明によれば、ＩＩＣバスに接続したＩＩＣデバイスとデバイス制御機器を備え、デバイス制御機器が前記ＩＩＣバスを介して行うＩＩＣデバイスアクセス方法において、デバイス制御機器がＩＩＣバスからＩＩＣデバイスにアクセスする際、ＩＩＣバスのデータラインがＬｏの場合は、データラインがＨｉ（開放）になるまでクロック信号を出力し、その後ストップを生成した後にＩＩＣデバイスにアクセスを行うようにしたので、ＩＩＣデバイスが出力中であっても、出力を解除し、正常な通信が行えるという効果が得られる。
【００２７】
また、読み出し中は、ストップをかけられないＩＩＣデバイスの場合でも、９回以上のクロックを生成して、クロック毎にストップをかけることにより、ＩＩＣデバイスが出力中であっても、出力を解除し、正常な通信が行える。さらに、本動作をＩＩＣデバイスにアクセスする前に毎回９回以上のストップを行うことで、何時ＩＩＣデバイスの出力が停止しても、正常な通信が行える。
【図面の簡単な説明】
【図１】本発明の実施の形態１におけるＩＩＣバスを備えた制御回路のブロック図である。
【図２】本発明の実施の形態１におけるＩＩＣデバイス制御機器の制御を示すフローチャートである。
【図３】本発明の実施の形態２におけるＩＩＣバスを備えた制御回路のブロック図である。
【図４】本発明の実施の形態２におけるＩＩＣデバイス制御機器の制御を示すフローチャートである。
【図５】本発明の実施の形態２におけるＩＩＣバスのタイミングチャートである。
【符号の説明】
７  ＩＩＣデバイス制御機器の出力トランジスタ
１０  ＩＩＣデバイス制御機器
４１  ＩＩＣデバイスの出力トランジスタ
７１  ＩＩＣデバイス
２００  ＩＩＣバスのデータライン
３００  ＩＩＣバスのクロックライン
【図１】
2004252702.tif 000003
【図２】
2004252702.tif 000004
【図３】
2004252702.tif 000005
【図４】
2004252702.tif 000006
【図５】
2004252702.tif 000007