JP2010055474A - シリアルバスシステム及びハングアップスレーブリセット方法 - Google Patents

シリアルバスシステム及びハングアップスレーブリセット方法 Download PDF

Info

Publication number
JP2010055474A
JP2010055474A JP2008221322A JP2008221322A JP2010055474A JP 2010055474 A JP2010055474 A JP 2010055474A JP 2008221322 A JP2008221322 A JP 2008221322A JP 2008221322 A JP2008221322 A JP 2008221322A JP 2010055474 A JP2010055474 A JP 2010055474A
Authority
JP
Japan
Prior art keywords
slave device
bus
bus slave
serial
serial data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008221322A
Other languages
English (en)
Other versions
JP4988671B2 (ja
Inventor
Takuya Ishikawa
拓也 石川
Hiroyuki Miyoshi
浩之 三好
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008221322A priority Critical patent/JP4988671B2/ja
Publication of JP2010055474A publication Critical patent/JP2010055474A/ja
Application granted granted Critical
Publication of JP4988671B2 publication Critical patent/JP4988671B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】バスマスタ装置からバススレーブ装置へのリセット専用線が不要なシリアルバスシステムを提供する。
【解決手段】シリアルデータ線2、シリアルクロック線3、プルアップ抵抗4,5、バスマスタ装置61,62、及び通常のバススレーブ装置71,72を備えたシリアルバスシステム14において、バススレーブ装置のハングアップを検出すると、バススレーブ装置をシリアルデータ線から切り離すハングアップ検出回路81,82と、リセット用バススレーブ装置16とを設ける。バスマスタ装置は、通常のバススレーブ装置のうち、コマンドを送信したにもかかわらず応答しないバススレーブ装置をハングアップしたものとして特定し、そのバススレーブ装置をリセットするようにリセットコマンドをI2Cバス経由でリセット用バススレーブ装置に送信する。
【選択図】図1

Description

本発明は、シリアルバスシステムに関し、さらに詳しくは、IC(Inter Integrated Circuit、以下「I2C」と表記する。)バスを利用したシリアルバスシステムに関する。
I2Cバスは、IC(集積回路)間の通信用にオランダのフィリップス社が開発した二線式双方向シリアルバスで、コンピュータ製品等のほぼ全てに採用されている。I2Cバスの代表的な用途としては、シリアルEEPROM(Electrically Erasable Programmable Read Only Memory)へのアクセス、DIMM(Dual Inline Memory Module)におけるSPD(Serial Presence Detect)、温度センサの読み取り、GPIO(General Purpose I/O)エキスパンダの制御、モニタプラグアンドプレイ等の通信がある。
図6は、I2Cを利用したシリアルバスシステムの一例を示す。図6を参照して、このシリアルバスシステム1は、シリアルデータ線2と、シリアルクロック線3と、プルアップ抵抗4,5と、バスマスタ装置6と、バススレーブ装置7とを備える。プルアップ抵抗4は、電源Vcc(たとえば5.0V)とシリアルデータ線2との間に接続される。プルアップ抵抗5は、電源Vccとシリアルクロック線3との間に接続される。バスマスタ装置6の各々は、シリアルデータ線2及びシリアルクロック線3に接続される。バススレーブ装置7の各々は、シリアルデータ線2及びシリアルクロック線3に接続される。バスマスタ装置6はCPU(Central Processing Unit)等で構成され、バススレーブ装置7に各種制御を行うよう指令する。バススレーブ装置7は、バスマスタ装置6からの指令に従って各種制御を行う。シリアルクロック線3は、バスマスタ装置6からバススレーブ装置7へシリアルクロック信号SCLを供給するためのものである。シリアルデータ線2は、シリアルクロック信号SCLに同期して、バスマスタ装置6からバススレーブ装置7へ又はバススレーブ装置7からバスマスタ装置6へシリアルデータ信号SDAを供給するためのものである。
シリアルバスシステム1では、シリアルデータ線2及びシリアルクロック線3からなるI2Cバスが複数のバスマスタ装置6及び複数のバススレーブ装置7によって共用されている。もしバススレーブ装置7の1つが何らかの原因でハングアップすると、シリアルデータ線2の電圧を0Vまで引き下げてしまう。そのため、ハングアップしているバススレーブ装置7以外のバススレーブ装置7もI2Cバスを使用できなくなる。この状態では、バスマスタ装置6はいずれのバススレーブ装置7とも通信することができないので、ハングアップしているバススレーブ装置7を特定することは不可能である。
バススレーブ装置7の1つがハングアップしている場合、バスマスタ装置6はそのバススレーブ装置7を特定することができないので、全てのバススレーブ装置7をリセットするしかない。具体的には、各バスマスタ装置6はリセット信号RSTをOR回路8経由で全てのバススレーブ装置7に送信する。したがって、ハングアップしているバススレーブ装置7だけでなくハングアップしていないバススレーブ装置7もリセット信号RSTに応答してリセットされる。ハングアップしていないバススレーブ装置7は現在の制御状態を正常に記憶しているにもかかわらず、初期化されてしまう。そのため、シリアルバスシステム1が誤動作する場合がある。
リセット信号RSTをバスマスタ装置6からバススレーブ装置7へ送信するためには、リセット専用線9を追加し、バスマスタ装置6にリセット信号RSTの出力ピンを追加する必要もある。バスマスタ装置6及びバススレーブ装置7が同一基板上に搭載される場合であれば、リセット専用線9を追加することは比較的容易である。しかしながら、図6に示すように、バスマスタ装置6がマザーボードのようなメインカード10側に配置され、バススレーブ装置7がオプションボードのようなサブカード11側に配置される場合、リセット専用線9を追加することは容易ではない。すなわち、メインカード10側のI2Cバスとサブカード11側のI2Cバスとはコネクタ12で相互に接続されているため、コネクタ12に2ピンしかなければ、もう1つピンを増設しなければならない。また、コネクタ12にピンを増設できなければ、もう1つコネクタ13を増設しなければならない。
一方、特表2004−528627号公報(特許文献1)は、ハングアップしているバススレーブ装置の特定を可能にしたシリアルバスシステムを開示する。このシステムは、複数のバススレーブ装置に対応して設けられる複数のスイッチを備える。各スイッチは、I2Cバスの途中であって、対応するバススレーブ装置よりもバスマスタ装置に近い側に挿入される。バススレーブ装置の1つがハングアップすると、スイッチは全てオフにされる。その後、スイッチはバスマスタ装置に近い方から順にオンにされる。これにより、ハングアップしているバススレーブ装置が特定される。しかしながら、バススレーブ装置と同じ数のスイッチが必要で、しかも、それらのスイッチを順にオンにしていく必要があるので、回路構成が複雑になるという問題がある。
また、特開平10−303950号公報(特許文献2)は、三線式双方向シリアルバスに接続された複数の機能ユニットのうちのある機能ユニットが故障しても、シリアルバスには影響を与えず、他の機能ユニット間での通信を可能にし、さらに障害発生機能ユニットの特定を容易にするシリアルバス接続装置を開示する。障害時においては、シリアルバス出力制御部の故障によってシリアルバス出力線のいずれかがオン状態のまま解除されないため、自己スタック検出回路内のカウンタがカウントアップをし続ける。そして、予め設定されたカウンタオーバーフロー値に達すると、カウンタがキャリー端子からキャリー信号を出力する。キャリー信号が出力されると、これがインバータ素子で反転され、出力イネーブル線がオフになる。これにより、実際にシリアルバス出力線に出力されているデータが、シリアルバスに出力されることを抑えることが可能となる。また、出力イネーブル線の信号は、自己スタック検出回路内で、アンド素子を介してカウンタのイネーブル端子に入力され、このイネーブル端子がオフになる。すると、カウントアップ動作が停止すると共に、キャリー端子からキャリー信号を出力し続ける。以降、シリアルバス出力線がオフになり、カウンタのリセット端子がオンになるまで、出力イネーブル線がオフのままである。
しかしながら、カウンタのリセット端子には、入力端子が3本のシリアルバス出力線に接続された3入力オア素子及びインバータ素子を介してシリアルバス出力制御部が接続されており、カウンタはシリアルバス出力制御部によってリセットされるようになっている。したがって、シリアルバス出力制御部が故障しているにもかかわらず、どのようにしてカウンタをリセットするのか、その詳細は記載されていない。
特表2004−528627号公報 特開平10−303950号公報 特開2004−61448号公報 特開平10−143463号公報
本発明の目的は、バスマスタ装置からバススレーブ装置へのリセット専用線が不要なシリアルバスシステム及びハングアップスレーブリセット方法を提供することである。
課題を解決するための手段及び発明の効果
本発明によるシリアルバスシステムは、シリアルデータ線と、第1のプルアップ抵抗と、シリアルクロック線と、第2のプルアップ抵抗と、第1のバススレーブ装置と、第1のハングアップ検出回路と、第2のバススレーブ装置と、バスマスタ装置とを備える。第1のプルアップ抵抗は、シリアルデータ線と電源との間に接続される。第2のプルアップ抵抗は、シリアルクロック線と電源との間に接続される。第1のバススレーブ装置は、シリアルデータ線及びシリアルクロック線に接続される。第1のハングアップ検出回路は、シリアルデータ線と第1のバススレーブ装置との間に接続され、第1のバススレーブ装置のハングアップを検出すると、第1のバススレーブ装置をシリアルデータ線から切り離す。第2のバススレーブ装置は、シリアルデータ線及びシリアルクロック線に接続され、所定のリセットコマンドに応答して第1のバススレーブ装置をリセットする。バスマスタ装置は、シリアルデータ線及びシリアルクロック線に接続され、第1のバススレーブ装置のハングアップを検出すると、所定のリセットコマンドをシリアルデータ線経由で第2のバススレーブ装置に送信する。
本発明によれば、第1のバススレーブ装置がハングアップしてシリアルデータ線の電圧が引き下げられても、第1のハングアップ検出回路がそのハングアップを検出すると、第1のバススレーブ装置をシリアルデータ線から切り離す。そのため、シリアルデータ線の使用が可能になり、バスマスタ装置はシリアルデータ線経由でリセットコマンドを第2のバススレーブ装置に送信し、第2のバススレーブ装置がリセットコマンドに応答して第1のバススレーブ装置をリセットする。その結果、バスマスタ装置からバススレーブ装置へのリセット専用線は不要である。
好ましくは、第1のバススレーブ装置は複数設けられる。バスマスタ装置は、複数の第1のバススレーブ装置のうち、所定のコマンドを送信したにもかかわらず応答しない第1のバススレーブ装置をハングアップしたものとして特定し、その特定した第1のバススレーブ装置をリセットするように所定のリセットコマンドをシリアルデータ線経由で第2のバススレーブ装置に送信する。
この場合、第2のバススレーブ装置がハングアップした第1のバススレーブ装置だけをリセットする。
好ましくは、シリアルバスシステムはさらに、第2のハングアップ検出回路を備える。第2のハングアップ検出回路は、シリアルデータ線と第2のバススレーブ装置との間に接続され、第2のバススレーブ装置のハングアップを検出すると、第2のバススレーブ装置をシリアルデータ線から切り離し、第2のバススレーブ装置をリセットする。
この場合、第2のバススレーブ装置がハングアップしても、第2のハングアップ検出回路がそのハングアップを検出すると、第2のバススレーブ装置をシリアルデータ線から切り離し、かつ、第2のバススレーブ装置をリセットする。
本発明によるハングアップスレーブリセット方法は、第1のハングアップ検出回路が第1のバススレーブ装置のハングアップを検出すると、第1のバススレーブ装置をシリアルデータ線から切り離すステップと、バスマスタ装置が第1のバススレーブ装置のハングアップを検出すると、所定のリセットコマンドをシリアルデータ線経由で第2のバススレーブ装置に送信するステップと、第2のバススレーブ装置が所定のリセットコマンドに応答して第1のバススレーブ装置をリセットするステップとを含む。
好ましくは、ハングアップスレーブリセット方法はさらに、第2のハングアップ検出回路が第2のバススレーブ装置のハングアップを検出すると、第2のバススレーブ装置をシリアルデータ線から切り離し、第2のバススレーブ装置をリセットするステップを含む。
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
図1を参照して、本発明の実施の形態によるシリアルバスシステム14は、シリアルデータ線2と、シリアルクロック線3と、プルアップ抵抗4,5と、バスマスタ装置61,62と、バススレーブ装置71〜7nとを備える。シリアルデータ線2及びシリアルクロック線3はI2Cバスを構成する。プルアップ抵抗4は、電源Vcc(たとえば5.0V)とシリアルデータ線2との間に接続される。プルアップ抵抗5は、電源Vccとシリアルクロック線3との間に接続される。バスマスタ装置61,62の各々は、シリアルデータ線2及びシリアルクロック線3に接続される。バススレーブ装置71〜7nの各々は、シリアルデータ線2及びシリアルクロック線3に接続される。
本例では、バスマスタ装置が2つ例示されているが、バスマスタ装置は1つだけでもよい。また、バススレーブ装置が複数例示されているが、バススレーブ装置は1つだけでも又は3つ以上でもよい。
バスマスタ装置61,62はCPU(Central Processing Unit)等で構成され、バススレーブ装置71〜7nに各種制御を行うよう指令する。バススレーブ装置71〜7nは、バスマスタ装置61,62からの指令に従って各種制御を行う。
シリアルクロック線3は、バスマスタ装置61,62からバススレーブ装置71〜7nへシリアルクロック信号SCLを供給するためのものである。シリアルデータ線2は、シリアルクロック信号SCLに同期して、バスマスタ装置61,62からバススレーブ装置71〜7nへ又はバススレーブ装置71〜7nからバスマスタ装置61,62へシリアルデータ信号SDAを供給するためのものである。
プルアップ抵抗4,5及びバスマスタ装置61,62はマザーボードのようなメインカード10側に配置され、バススレーブ装置71〜7nはオプションボードのようなサブカード11側に配置される。メインカード10側のI2Cバスとサブカード11側のI2Cバスとはコネクタ12で相互に接続される。
シリアルバスシステム14はさらに、ハングアップ検出回路81〜8nを備える。ハングアップ検出回路81〜8nは、バススレーブ装置71〜7nに対応して設けられる。ハングアップ検出回路81は、シリアルデータ線2と対応するバススレーブ装置71との間に接続される。ハングアップ検出回路81は、対応するバススレーブ装置71のハングアップを検出すると、そのバススレーブ装置71をシリアルデータ線2から切り離す。ハングアップ検出回路82は、シリアルデータ線2と対応するバススレーブ装置72との間に接続される。ハングアップ検出回路82は、対応するバススレーブ装置72のハングアップを検出すると、そのバススレーブ装置72をシリアルデータ線2から切り離す。同様に、ハングアップ検出回路8nは、シリアルデータ線2と対応するバススレーブ装置7nとの間に接続される。ハングアップ検出回路8nは、対応するバススレーブ装置7nのハングアップを検出すると、そのバススレーブ装置7nをシリアルデータ線2から切り離す。
シリアルバスシステム14は、バススレーブ装置(以下、リセット用バススレーブ装置16と区別するために、「通常のバススレーブ装置」という場合がある。)71〜7n以外に、リセット用バススレーブ装置16を備える。リセット用バススレーブ装置16は、シリアルデータ線2及びシリアルクロック線3に接続される。リセット用バススレーブ装置16は、バスマスタ装置61,62から送信される所定のリセットコマンドに応答してバススレーブ装置71〜7nをリセットする。バスマスタ装置61,62は、バススレーブ装置71〜7nのハングアップを検出すると、所定のリセットコマンドをI2Cバス経由でバススレーブ装置16に送信する。
シリアルバスシステム14はさらに、リセット機能付きハングアップ検出回路18を備える。ハングアップ検出回路18は、シリアルデータ線2とリセット用バススレーブ装置16との間に接続される。ハングアップ検出回路18は、リセット用バススレーブ装置16のハングアップを検出すると、リセット用バススレーブ装置16をシリアルデータ線2から切り離すとともに、リセット用バススレーブ装置16をリセットする。
図2を参照して、ハングアップ検出回路81は、スイッチング素子であるN型電界効果トランジスタ20と、ターンオフ回路22とを含む。N型電界効果トランジスタ20は、充放電ノード24に接続されるゲート(制御電極)と、シリアルデータ線2に接続されるドレイン(一方導通電極)と、バススレーブ装置71のシリアルデータ入出力端子26に接続されるソース(他方導通電極)とを有する。ターンオフ回路22は、バススレーブ装置71がハングアップしてから所定時間経過後にN型電界効果トランジスタ20をオフにする。
ターンオフ回路22は、キャパシタ28と、抵抗30とを含む。キャパシタ28は、充放電ノード24と接地GNDとの間に接続される。抵抗30は、充放電ノード24とバススレーブ装置71のシリアルデータ入出力端子26との間に接続される。キャパシタ28及び抵抗30は時定数回路を構成する。バススレーブ装置71のシリアルデータ入出力端子26と電源Vccとの間にはプルアップ抵抗32が接続される。
ハングアップ検出回路82〜8nも上記と同じ構成を有するので、その図示及び説明は繰り返さない。
図3を参照して、リセット機能付きハングアップ検出回路18は、スイッチング素子であるN型電界効果トランジスタ34と、ターンオフ回路36と、バッファ38とを含む。N型電界効果トランジスタ34は、充放電ノード40に接続されるゲートと、シリアルデータ線2に接続されるドレインと、リセット用バススレーブ装置16のシリアルデータ入出力端子42に接続されるソースとを有する。ターンオフ回路36は、リセット用バススレーブ装置16がハングアップしてから所定時間経過後にN型電界効果トランジスタ34をオフにする。
ターンオフ回路36は、キャパシタ44と、抵抗46とを含む。キャパシタ44は、充放電ノード40と接地GNDとの間に接続される。抵抗46は、充放電ノード40とリセット用バススレーブ装置16のシリアルデータ入出力端子42との間に接続される。キャパシタ44及び抵抗46は時定数回路を構成する。リセット用バススレーブ装置16のシリアルデータ入出力端子42と電源Vccとの間にはプルアップ抵抗48が接続される。
バッファ38は、充放電ノード40の電圧に応答してリセット用バススレーブ装置16をリセットするためのリセット信号/RST0(スラッシュ「/」はローアクティブ信号を示す。以下同じ。)を生成する。
図4を参照して、リセット用バススレーブ装置16は、コマンドデコーダ50と、複数の出力トランジスタ(N型電界効果トランジスタ)51〜5nとを含む。複数の出力トランジスタ51〜5nは複数のバススレーブ装置71〜7nに対応して設けられる。コマンドデコーダ50は、バスマスタ装置61,62から送信されるリセットコマンドをデコードしてバススレーブ装置71〜7nをリセットするためにハイレベルのリセット信号RST1〜RSTnを生成する。出力トランジスタ51〜5nは、リセット信号RST1,RST2〜RSTnに応答して選択的にオンになる。出力トランジスタ51〜5nはオンになると、ローレベルのリセット信号/RST1〜/RSTnを生成する。図1に示したように、リセット信号/RST1はバススレーブ装置71に送信され、リセット信号/RST2はバススレーブ装置72に送信され、リセット信号/RSTnはバススレーブ装置7nに送信される。
次に、シリアルバスシステム14の動作を説明する。
再び図1を参照して、たとえばバススレーブ装置71がハングアップすると、バススレーブ装置71はシリアルデータ線2の電圧を接地電圧(0V)まで引き下げる。この間、ハングアップしたバススレーブ装置71だけでなく、バスマスタ装置61,62、その他のバススレーブ装置72〜7n、及びリセット用バススレーブ装置16もI2Cバスを使用できない。
図2を参照して、バススレーブ装置71がハングアップする前の正常状態においては、ハングアップ検出回路81のキャパシタ28はプルアップ抵抗32及び抵抗30により充電されているので、充放電ノード24の電圧は電源電圧である。このとき、N型電界効果トランジスタ20はオンになっているので、バススレーブ装置71はシリアルデータ線2に接続されている。
しかしながら、バススレーブ装置71がハングアップすると、そのシリアルデータ入出力端子26の電圧を接地電圧まで引き下げ、かつ、その状態を維持するので、キャパシタ28は抵抗30により放電され、充放電ノード24の電圧は接地電圧になる。そのため、N型電界効果トランジスタ20はオフになり、バススレーブ装置71はシリアルデータ線2から切り離される。すなわち、図5に示すように、ハングアップ検出回路81がバススレーブ装置71のハングアップを検出すると(S10でYES)、バススレーブ装置71をシリアルデータ線2から切り離す(S11)。これにより、シリアルデータ線2の電圧は接地電圧(0V)から電源電圧Vccに復帰し、バスマスタ装置61,62、バススレーブ装置72〜7n及びリセット用バススレーブ装置16は、I2Cバスを使用できるようになる。なお、バススレーブ装置71がハングアップしてからシリアルデータ線2から切り離されるまでの時間は、キャパシタ28及び抵抗30の時定数及びN型電解効果トランジスタ20のゲートのオン電圧によってあらかじめ決定される。N型電解効果トランジスタ20のゲートのオン電圧は、ハングアップを誤検出しないように、十分低いものを選択するのが好ましい。
図5を参照して、バスマスタ装置61,62は各種コマンドをI2Cバス経由でバススレーブ装置71〜7nへ送信する(S20)。バススレーブ装置71〜7nは正常に動作している限り各種コマンドに応答して応答信号をバスマスタ装置61,62へ返信する。バスマスタ装置61,62がコマンドを送信したにもかかわらず、バススレーブ装置71〜7nから応答信号が返信されて来ず、所定時間が経過したとき(S21でNO)、バスマスタ装置61,62はリセットコマンドをリセット用バススレーブ装置16へ送信する(S22)。応答信号を待つ時間はハングアップ検出回路81のキャパシタ28及び抵抗30の時定数で決定される時間よりも少し長く設定されれば、ハングアップしたバススレーブ装置71がシリアルデータ線2から切り離された後に、バスマスタ装置61,62はI2Cバス経由でリセットコマンドをリセット用バススレーブ装置16へ送信することができる。
また、バスマスタ装置61,62は複数のバススレーブ装置71〜7nの中から1つを特定し、その特定したバススレーブ装置に各種コマンドを送信しているので、応答信号が返信されて来ないバススレーブ装置をハングアップしたものとして特定することができる。したがって、バスマスタ装置61,62は、ハングアップしたバススレーブ装置をリセットするようにリセット機能付きハングアップ検出回路18を介してリセット用バススレーブ装置16に指令している。
図4を参照して、リセット用バススレーブ装置16内のコマンドデコーダ50は、バスマスタ装置61,62から送信されて来たリセットコマンドをデコードし、バスマスタ装置61,62がリセットしようとするバススレーブ装置用のリセット信号を生成する。たとえばバススレーブ装置71がハングアップしている場合、バススレーブ装置71用のリセット信号RST1がハイレベルになる。ハイレベルのリセット信号RST1に応答して出力トランジスタ51がオンになるので、リセット信号/RST1がローレベルになる。ローレベルのリセット信号/RST1に応答してバススレーブ装置71はリセットされ、ハングアップは解消される。すなわち、図5に示すように、バススレーブ装置16はバスマスタ装置61,62から送信されて来たリセットコマンドを受信し(S30)、リセットコマンドをデコードしてバススレーブ装置71〜7nをリセットする(S31)。
再び図3を参照して、リセット用バススレーブ装置16がハングアップすると、そのシリアルデータ入出力端子42の電圧を接地電圧まで引き下げるので、リセット機能付きハングアップ検出回路18のキャパシタ44は抵抗46により放電され、充放電ノード40の電圧は接地電圧になる。そのため、N型電界効果トランジスタ34はオフになり、リセット用バススレーブ装置16はシリアルデータ線2から切り離される。また、充放電ノード40の電圧は接地電圧になると、バッファ38はローレベルのリセット信号/RST0を生成する。リセット信号/RST0に応答してリセット用バススレーブ装置16はリセットされ、ハングアップは解消される。すなわち、図5に示すように、リセット機能付きハングアップ検出回路18は、リセット用バススレーブ装置16のハングアップを検出すると(S40でYES)、リセット用バススレーブ装置16をシリアルデータ線2から切り離し、かつ、リセット用バススレーブ装置16をリセットする(S41)。
なお、ハングアップ検出回路81〜8nの代わりに、リセット機能付きハングアップ検出回路18をバススレーブ装置71〜7nにも対応して設ける方法も考えられる。しかしながら、バスマスタ装置61,62からの指令の有無に関係なく、リセット機能付きハングアップ検出回路18が通常のバススレーブ装置71〜7nを勝手にリセットしてしまうと、バスマスタ装置61,62が通常のバススレーブ装置71〜7nの制御状態を把握できなくなる。そのため、シリアルバスシステム14が誤動作する場合があるという問題がある。これに対し、このシリアルバスシステム14は、リセット用バススレーブ装置16のみに対応してリセット機能付きハングアップ検出回路18を備えているため、上記のような問題はない。一方、リセット用バススレーブ装置16は通常のバススレーブ装置71〜7nのように現在の制御状態を記憶していないので、バスマスタ装置61,62からの指令の有無に関係なく、リセット機能付きハングアップ検出回路18がリセット用バススレーブ装置16を勝手にリセットしても問題はない。
以上のように、本発明の実施の形態によれば、たとえば通常のバススレーブ装置71がハングアップしてシリアルデータ線2の電圧が引き下げられても、ハングアップ検出回路81がそのハングアップを検出すると、バススレーブ装置71をシリアルデータ線2から切り離す。そのため、I2Cバスの使用が可能になり、バスマスタ装置61,62はI2Cバス経由でリセットコマンドをリセット用バススレーブ装置16に送信し、リセット用バススレーブ装置16がリセットコマンドに応答してコマンドデコーダ50及び出力トランジスタ51を介してリセット信号/RST1を生成して通常のバススレーブ装置71をリセットする。その結果、バスマスタ装置61,62からバススレーブ装置71〜7nへのリセット専用線は不要である。特に、バスマスタ装置61,62がメインカード10側に配置され、バススレーブ装置71〜7nがサブカード11側に配置される場合であっても、バスマスタ装置61,62からバススレーブ装置71〜7nへのリセット専用線は不要であるため、コネクタ12にピンを増設したり、もう1つコネクタを増設したりする必要はない。
また、バスマスタ装置61,62は、複数の通常のバススレーブ装置71〜7nのうち、所定のコマンドを送信したにもかかわらず確認信号を返信して来ない通常のバススレーブ装置、たとえばバススレーブ装置71をハングアップしたバススレーブ装置として特定することができる。また、バスマスタ装置61,62は、その特定したバススレーブ装置71をリセットするようにリセットコマンドをI2C経由でリセット用バススレーブ装置16に送信するため、リセット用バススレーブ装置16がハングアップした通常のバススレーブ装置71だけをリセットすることができる。したがって、ハングアップしていないバススレーブ装置72〜7nはリセットによって初期化されることなく、現在記憶している制御状態をそのまま維持する。そのため、シリアルバスシステム14の誤動作を防止することができる。
また、リセット用バススレーブ装置16がハングアップしても、リセット機能付きハングアップ検出回路18がそのハングアップを検出すると、リセット用バススレーブ装置16をシリアルデータ線2から切り離し、かつ、リセット用バススレーブ装置16をリセットするため、リセット用バススレーブ装置16自体がハングアップしてしまってもシステムとして自己修復が可能である。
上記実施の形態はバスマスタ装置が2つあるが、少なくとも1つあればよい。また、通常のバススレーブ装置は複数あるが、少なくとも1つあればよい。また、図1に示したようにシリアルバスシステム14はメインカード10及びサブカード11上に分離して配置されている必要はない。
上記実施の形態は、ターンオン時にしきい値電圧だけ電圧降下が生じないようにN型電界効果トランジスタ20,34,51,52〜5nを用いているが、代わりに、P型電界効果トランジスタ、PNP型トランジスタ、NPN型トランジスタ、N型電界効果トランジスタ及びP型電界効果トランジスタを並列接続したトランスファゲートなどを用いてもよい。また、ローアクティブの信号はハイアクティブの信号でもよく、逆に、ハイアクティブの信号はローアクティブの信号でもよい。
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
本発明の実施の形態によるシリアルバスシステムの構成を示す機能ブロック図である。 図1中の通常のバススレーブ装置に対応するハングアップ検出回路の構成を示す回路図である。 図1中のリセット用バススレーブ装置に対応するハングアップ検出回路の構成を示す回路図である。 図1中のリセット用バススレーブ装置の構成を示す回路図である。 図1中のバスマスタ装置によるリセット処理を示すフロー図である。 従来のシリアルバスシステムの構成を示す機能ブロック図である。
符号の説明
2 シリアルデータ線
3 シリアルクロック線
4,5,32,48 プルアップ抵抗
14 シリアルバスシステム
16 リセット用バススレーブ装置
18 ハングアップ検出回路
20,34 N型電界効果トランジスタ
22,36 ターンオフ回路
24、40 充放電ノード
26,42 シリアルデータ入出力端子
28、44 キャパシタ
30,46 抵抗
38 バッファ
61,62 バスマスタ装置
71〜7n バススレーブ装置
81〜8n ハングアップ検出回路

Claims (11)

  1. シリアルデータ線と、
    前記シリアルデータ線と電源との間に接続される第1のプルアップ抵抗と、
    シリアルクロック線と、
    前記シリアルクロック線と電源との間に接続される第2のプルアップ抵抗と、
    前記シリアルデータ線及び前記シリアルクロック線に接続される第1のバススレーブ装置と、
    前記シリアルデータ線と前記第1のバススレーブ装置との間に接続され、前記第1のバススレーブ装置のハングアップを検出すると、前記第1のバススレーブ装置を前記シリアルデータ線から切り離す第1のハングアップ検出回路と、
    前記シリアルデータ線及び前記シリアルクロック線に接続され、所定のリセットコマンドに応答して前記第1のバススレーブ装置をリセットする第2のバススレーブ装置と、
    前記シリアルデータ線及び前記シリアルクロック線に接続され、前記第1のバススレーブ装置のハングアップを検出すると、前記所定のリセットコマンドを前記シリアルデータ線経由で前記第2のバススレーブ装置に送信するバスマスタ装置とを備える、シリアルバスシステム。
  2. 請求項1に記載のシリアルバスシステムであって、
    前記第1のバススレーブ装置は複数設けられ、
    前記バスマスタ装置は、前記複数の第1のバススレーブ装置のうち、所定のコマンドを送信したにもかかわらず応答しない第1のバススレーブ装置をハングアップしたものとして特定し、その特定した第1のバススレーブ装置をリセットするように前記所定のリセットコマンドを前記シリアルデータ線経由で前記第2のバススレーブ装置に送信する、シリアルバスシステム。
  3. 請求項1に記載のシリアルバスシステムであって、
    前記第1のハングアップ検出回路は、
    前記シリアルデータ線と前記第1のバススレーブ装置との間に接続される第1のスイッチング素子と、
    前記第1のバススレーブ装置がハングアップしてから所定時間経過後に前記第1のスイッチング素子をオフにする第1のターンオフ手段とを含む、シリアルバスシステム。
  4. 請求項1に記載のシリアルバスシステムであってさらに、
    前記第1のバススレーブ装置のシリアルデータ入出力端子と電源との間に接続される第3のプルアップ抵抗を備え、
    前記第1のハングアップ検出回路は、
    第1の充放電ノードと接地との間に接続される第1のキャパシタと、
    前記第1の充放電ノードに接続される制御電極と、前記シリアルデータ線に接続される一方導通電極と、前記第1のバススレーブ装置のシリアルデータ入出力端子に接続される他方導通電極とを有するトランジスタと、
    前記第1の充放電ノードと前記第1のバススレーブ装置のシリアルデータ入出力端子との間に接続される第1の抵抗とを含む、シリアルバスシステム。
  5. 請求項1に記載のシリアルバスシステムであってさらに、
    前記シリアルデータ線と前記第2のバススレーブ装置との間に接続され、前記第2のバススレーブ装置のハングアップを検出すると、前記第2のバススレーブ装置を前記シリアルデータ線から切り離し、前記第2のバススレーブ装置をリセットする第2のハングアップ検出回路を備える、シリアルバスシステム。
  6. 請求項5に記載のシリアルバスシステムであって、
    前記第2のハングアップ検出回路は、
    前記シリアルデータ線と前記第2のバススレーブ装置との間に接続される第2のスイッチング素子と、
    前記第2のバススレーブ装置がハングアップしてから所定時間経過後に前記第2のスイッチング素子をオフにする第2のターンオフ手段とを含む、シリアルバスシステム。
  7. 請求項5に記載のシリアルバスシステムであってさらに、
    前記第2のバススレーブ装置のシリアルデータ入出力端子と電源との間に接続される第4のプルアップ抵抗を備え、
    前記第2のハングアップ検出回路は、
    第2の充放電ノードと接地との間に接続される第2のキャパシタと、
    前記第2の充放電ノードに接続される制御電極と、前記シリアルデータ線に接続される一方導通電極と、前記第2のバススレーブ装置のシリアルデータ入出力端子に接続される他方導通電極とを有するトランジスタと、
    前記第2の充放電ノードと前記第2のバススレーブ装置のシリアルデータ入出力端子との間に接続される第2の抵抗と、
    前記第2の充放電ノードの電圧に応答して前記第2のバススレーブ装置をリセットするためのリセット信号を生成するバッファとを含む、シリアルバスシステム。
  8. 請求項1又は2に記載のシリアルバスシステムであって、
    前記第2のバススレーブ装置は、前記所定のリセットコマンドをデコードして前記第1のバススレーブ装置をリセットするためのリセット信号を生成するコマンドデコーダを含む、シリアルバスシステム。
  9. シリアルデータ線と、
    前記シリアルデータ線と電源との間に接続される第1のプルアップ抵抗と、
    シリアルクロック線と、
    前記シリアルクロック線と電源との間に接続される第2のプルアップ抵抗と、
    各々が前記シリアルデータ線及び前記シリアルクロック線に接続される複数の第1のバススレーブ装置と、
    前記シリアルデータ線と前記第1のバススレーブ装置との間に接続され、前記第1のバススレーブ装置のハングアップを検出すると、前記第1のバススレーブ装置を前記シリアルデータ線から切り離す複数の第1のハングアップ検出回路と、
    前記シリアルデータ線及び前記シリアルクロック線に接続され、所定のリセットコマンドに応答して前記第1のバススレーブ装置をリセットする第2のバススレーブ装置と、
    前記シリアルデータ線と前記第2のバススレーブ装置との間に接続され、前記第2のバススレーブ装置のハングアップを検出すると、前記第2のバススレーブ装置を前記シリアルデータ線から切り離し、前記第2のバススレーブ装置をリセットする第2のハングアップ検出回路と、
    前記シリアルデータ線及び前記シリアルクロック線に接続され、前記第1のバススレーブ装置のハングアップを検出すると、前記複数の第1のバススレーブ装置のうち、所定のコマンドを送信したにもかかわらず応答しない第1のバススレーブ装置をハングアップしたものとして特定し、その特定した第1のバススレーブ装置をリセットするように前記所定のリセットコマンドを前記シリアルデータ線経由で前記第2のバススレーブ装置に送信するバスマスタ装置とを備える、シリアルバスシステム。
  10. シリアルデータ線と、前記シリアルデータ線と電源との間に接続される第1のプルアップ抵抗と、シリアルクロック線と、前記シリアルクロック線と電源との間に接続される第2のプルアップ抵抗と、前記シリアルデータ線及び前記シリアルクロック線に接続されるバスマスタ装置と、前記シリアルデータ線及び前記シリアルクロック線に接続される第1のバススレーブ装置と、前記シリアルデータ線及び前記シリアルクロック線に接続される第2のバススレーブ装置とを備えたシリアルバスシステムにおけるハングアップスレーブリセット方法であって、
    前記シリアルバスシステムはさらに、前記シリアルデータ線と前記第1のバススレーブ装置との間に接続される第1のハングアップ検出回路を備え、
    前記ハングアップスレーブリセット方法は、
    前記第1のハングアップ検出回路が前記第1のバススレーブ装置のハングアップを検出すると、前記第1のバススレーブ装置を前記シリアルデータ線から切り離すステップと、
    前記バスマスタ装置が前記第1のバススレーブ装置のハングアップを検出すると、所定のリセットコマンドを前記シリアルデータ線経由で前記第2のバススレーブ装置に送信するステップと、
    前記第2のバススレーブ装置が前記所定のリセットコマンドに応答して前記第1のバススレーブ装置をリセットするステップとを含む、ハングアップスレーブリセット方法。
  11. 請求項10に記載のハングアップスレーブリセット方法であって、
    前記シリアルバスシステムはさらに、前記シリアルデータ線と前記第2のバススレーブ装置との間に接続される第2のハングアップ検出回路を備え、
    前記ハングアップスレーブリセット方法はさらに、
    前記第2のハングアップ検出回路が前記第2のバススレーブ装置のハングアップを検出すると、前記第2のバススレーブ装置を前記シリアルデータ線から切り離し、前記第2のバススレーブ装置をリセットするステップを含む、ハングアップスレーブリセット方法。
JP2008221322A 2008-08-29 2008-08-29 シリアルバスシステム及びハングアップスレーブリセット方法 Expired - Fee Related JP4988671B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008221322A JP4988671B2 (ja) 2008-08-29 2008-08-29 シリアルバスシステム及びハングアップスレーブリセット方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008221322A JP4988671B2 (ja) 2008-08-29 2008-08-29 シリアルバスシステム及びハングアップスレーブリセット方法

Publications (2)

Publication Number Publication Date
JP2010055474A true JP2010055474A (ja) 2010-03-11
JP4988671B2 JP4988671B2 (ja) 2012-08-01

Family

ID=42071301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008221322A Expired - Fee Related JP4988671B2 (ja) 2008-08-29 2008-08-29 シリアルバスシステム及びハングアップスレーブリセット方法

Country Status (1)

Country Link
JP (1) JP4988671B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097420A (ja) * 2011-10-28 2013-05-20 Kyocera Document Solutions Inc 情報処理装置および画像形成装置
EP2608049A1 (en) 2011-12-20 2013-06-26 Fujitsu Limited Control system and relay apparatus
JP2015524122A (ja) * 2013-05-20 2015-08-20 華為技術有限公司Huawei Technologies Co.,Ltd. ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置
CN108073540A (zh) * 2018-02-11 2018-05-25 云丁网络技术(北京)有限公司 I2c总线系统、异常设备排查方法
CN109388526A (zh) * 2018-11-01 2019-02-26 郑州云海信息技术有限公司 一种控制电路及复位操作的方法
US20190272252A1 (en) * 2018-01-09 2019-09-05 Shenzhen GOODIX Technology Co., Ltd. Method of processing deadlock of i2c bus, electronic device and communication system
US10649933B1 (en) 2019-04-22 2020-05-12 International Business Machines Corporation Select state detection and signal generation
WO2020152852A1 (ja) * 2019-01-25 2020-07-30 三菱電機株式会社 映像表示システム及び複数の映像表示装置の制御方法
CN113342725A (zh) * 2021-06-09 2021-09-03 上海南芯半导体科技有限公司 一种用于i2c从机设备地址重置的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02170638A (ja) * 1988-12-22 1990-07-02 Sony Corp バスラインで接続されたic回路網
JPH09284314A (ja) * 1996-04-17 1997-10-31 Mitsubishi Electric Corp 通信装置
JPH11312139A (ja) * 1998-04-28 1999-11-09 Nec Corp シリアルバス拡張回路
JP2000172525A (ja) * 1998-12-08 2000-06-23 Nec Corp 情報処理装置の障害通知装置
JP2007257462A (ja) * 2006-03-24 2007-10-04 Nec Corp バスリセット・システム及び方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02170638A (ja) * 1988-12-22 1990-07-02 Sony Corp バスラインで接続されたic回路網
JPH09284314A (ja) * 1996-04-17 1997-10-31 Mitsubishi Electric Corp 通信装置
JPH11312139A (ja) * 1998-04-28 1999-11-09 Nec Corp シリアルバス拡張回路
JP2000172525A (ja) * 1998-12-08 2000-06-23 Nec Corp 情報処理装置の障害通知装置
JP2007257462A (ja) * 2006-03-24 2007-10-04 Nec Corp バスリセット・システム及び方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097420A (ja) * 2011-10-28 2013-05-20 Kyocera Document Solutions Inc 情報処理装置および画像形成装置
EP2608049A1 (en) 2011-12-20 2013-06-26 Fujitsu Limited Control system and relay apparatus
US9111052B2 (en) 2011-12-20 2015-08-18 Fujitsu Limited Control system for controlling electronic circuit, and signal relaying apparatus
JP2015524122A (ja) * 2013-05-20 2015-08-20 華為技術有限公司Huawei Technologies Co.,Ltd. ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置
US9323635B2 (en) 2013-05-20 2016-04-26 Huawei Technologies Co., Ltd. Method, computer system, and apparatus for accessing peripheral component interconnect express endpoint device
US9384110B2 (en) 2013-05-20 2016-07-05 Huawei Technologies Co., Ltd. Method, computer system, and apparatus for accessing peripheral component interconnect express endpoint device
US20190272252A1 (en) * 2018-01-09 2019-09-05 Shenzhen GOODIX Technology Co., Ltd. Method of processing deadlock of i2c bus, electronic device and communication system
CN108073540A (zh) * 2018-02-11 2018-05-25 云丁网络技术(北京)有限公司 I2c总线系统、异常设备排查方法
CN109388526A (zh) * 2018-11-01 2019-02-26 郑州云海信息技术有限公司 一种控制电路及复位操作的方法
CN109388526B (zh) * 2018-11-01 2023-01-24 郑州云海信息技术有限公司 一种控制电路及复位操作的方法
WO2020152852A1 (ja) * 2019-01-25 2020-07-30 三菱電機株式会社 映像表示システム及び複数の映像表示装置の制御方法
US10649933B1 (en) 2019-04-22 2020-05-12 International Business Machines Corporation Select state detection and signal generation
CN113342725A (zh) * 2021-06-09 2021-09-03 上海南芯半导体科技有限公司 一种用于i2c从机设备地址重置的方法

Also Published As

Publication number Publication date
JP4988671B2 (ja) 2012-08-01

Similar Documents

Publication Publication Date Title
JP4988671B2 (ja) シリアルバスシステム及びハングアップスレーブリセット方法
US9684361B2 (en) Devices routing wakeup signals using physical layer directly to power management circuit without waking up link layer
US9558144B2 (en) Serial bus electrical termination control
US7849244B2 (en) Apparatus for resolving conflicts happened between two I2C slave devices with the same addressed address in computer system
US9740261B2 (en) USB power delivery dead-battery control
US20120131243A1 (en) Multiplexing pin control circuit for computer system
US9819518B2 (en) Semiconductor device, semiconductor system including the same, and control method of semiconductor device
CN106610712A (zh) 基板管理控制器复位系统及方法
US10235185B2 (en) Computer and controlling method thereof
US20120217823A1 (en) Display device and power-supply necessity determination method of branch device connected to display device
US10274534B2 (en) Chip and reading circuit for die ID in chip
US8433837B2 (en) System for connecting electronic devices
US10031870B2 (en) Semiconductor device and control method thereof
US9235246B2 (en) Computing device and power supply method of connection module
TW201308058A (zh) 電腦主機板及其電壓調節電路
TWI647913B (zh) 電子裝置和熱插保護電路
US9013200B2 (en) Circuitry for hot-swappable circuit boards
US20140115312A1 (en) Server and booting method thereof
US11163348B2 (en) Connectors that connect a storage device and power supply control device, and related power supply control devices and host interface devices
US10181684B1 (en) Power connector
TW202215199A (zh) 主從互換式電源供應裝置及其主機、主從互換式電源供應方法及其電腦可讀取記錄媒體
CN110688260B (zh) 基于耳机接口的ec复位电路以及电子设备
TWI792840B (zh) Usb晶片及其操作方法
CN113572621B (zh) Poe供电系统以及poe供电方法
CN111142916B (zh) 快闪存储器的配置装置及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120104

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120426

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees