JP5120639B2 - バスシステム、機器システム及びバスドライバプログラム - Google Patents

バスシステム、機器システム及びバスドライバプログラム Download PDF

Info

Publication number
JP5120639B2
JP5120639B2 JP2008217685A JP2008217685A JP5120639B2 JP 5120639 B2 JP5120639 B2 JP 5120639B2 JP 2008217685 A JP2008217685 A JP 2008217685A JP 2008217685 A JP2008217685 A JP 2008217685A JP 5120639 B2 JP5120639 B2 JP 5120639B2
Authority
JP
Japan
Prior art keywords
bus
driver
initialization
unit
devices
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.)
Expired - Fee Related
Application number
JP2008217685A
Other languages
English (en)
Other versions
JP2010055242A (ja
Inventor
裕康 石島
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2008217685A priority Critical patent/JP5120639B2/ja
Publication of JP2010055242A publication Critical patent/JP2010055242A/ja
Application granted granted Critical
Publication of JP5120639B2 publication Critical patent/JP5120639B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、バスシステム、機器システム及びバスドライバプログラムに関するものである。
特許文献1は、ディジタルバスのリセットがかかってからディジタルバスの初期化作業が完了するまでの期間に、ディジタルバスに流れる子ノードから親ノードへの通知を示す信号の受け取りの有無を検出することによりディジタルバスの故障診断を行うディジタルバス故障検出装置を開示する。また、特許文献2は、接続手続きに先立って自己診断モードが成立するときに自装置の自己診断処理を実行し、その診断結果に基づいて自装置に異常がある場合にデータ転送制御回路の接続手続きを実行しないインタフェイス装置を開示する。
特開平10−224384号公報 特開2001−282569号公報
本発明は、バス及びバスに接続される機器の少なくともいずれかが故障しているか否かを、簡易な構成のバスドライバによって判定することができるバスシステム、機器システム及びバスドライバプログラムを提供することを目的とする。
上記目的を達成するため、請求項1に係る本発明は、バスに対する複数の機器の接続状態の変化を検出する検出手段と、この検出手段の検出結果に基づいて、バスを初期化する初期化手段と、この初期化手段がバスを初期化した後に、バスの初期化が完了したことを通知する通知手段と、前記初期化手段によりバスの初期化が指示されてから、前記通知手段によりバスの初期化が完了したことを通知されるまでの間の時間経過を計数する計数手段と、前記計数手段により計数された時間が予め設定された閾値未満である場合は、バスが初期化完了待ちの状態であると判定し、前記計数手段により計数された時間が予め設定された閾値以上である場合は、バス及び複数の機器の少なくともいずれかが故障していると判定する故障判定手段と、前記故障判定手段の判定結果を出力する判定結果出力手段を有し、前記判定結果出力手段は、動作モードがアプリケーションの動作チェック及び負荷テストを行うためのデバッグモードである場合には、他の機器からのバスの初期化が完了した旨の通知を無効にして、前記故障判定手段によりバス及び複数の機器の少なくともいずれかが故障していると判定された場合の判定結果を出力しないことを特徴とするバスシステムである。
請求項2に係る本発明は、複数の機器と、前記複数の機器を接続するバスと、このバスに対する前記複数の機器の接続状態の変化を検出する検出手段と、この検出手段の検出結果に基づいて、前記バスを初期化する初期化手段と、この初期化手段が前記バスを初期化した後に、前記バスの初期化が完了したことを通知する通知手段と、前記初期化手段によりバスの初期化が指示されてから、前記通知手段によりバスの初期化が完了したことを通知されるまでの間の時間経過を計数する計数手段と、前記計数手段により計数された時間が予め設定された閾値未満である場合は、バスが初期化完了待ちの状態であると判定し、前記計数手段により計数された時間が予め設定された閾値以上である場合は、バス及び複数の機器の少なくともいずれかが故障していると判定する故障判定手段と、前記故障判定手段の判定結果を出力する判定結果出力手段を有し、前記判定結果出力手段は、動作モードがアプリケーションの動作チェック及び負荷テストを行うためのデバッグモードである場合には、他の機器からのバスの初期化が完了した旨の通知を無効にして、前記故障判定手段によりバス及び複数の機器の少なくともいずれかが故障していると判定された場合の判定結果を出力しないことを特徴とする機器システムである。
請求項1に係る本発明によれば、バス及びバスに接続される機器の少なくともいずれかが故障しているか否かを、本構成を有していない場合に比較して、簡易な構成のバスドライバによって判定することができる。
請求項に係る本発明によれば、バス及びバスに接続される機器の少なくともいずれかが故障しているか否かを、本構成を有していない場合に比較して、簡易な構成のバスドライバによって判定することができる。
[本発明の背景]
本発明の理解を容易にするために、まず、本発明がなされるに至った背景を説明する。
図1は、本発明の実施形態に係る機器システム1の構成例を概念的に示す構成概念図である。ただし、機器システム1は、後述する本発明の背景を説明するためのドライバ2a並びに本発明の実施形態に係るドライバ2b、ドライバ2c及びドライバ2dのいずれもドライバ2に代えて適用可能にされている。
図1に示すように、機器システム1は、例えば機器10−1〜10−4がIEEE(Institute of Electrical and Electronics Engineers)により定められたIEEE1394の規格に対応したケーブル12−1〜12−3によって接続されることにより構成され、トポロジーが例えばデイジーチェーンとなっている。
以下、機器10−1〜10−4など、複数ある構成部分のいずれかを、特定せずに示す場合には、単に機器10などと記載することがある。
機器10−1〜10−4は、それぞれIEEE1394の規格に対応した接続ハードウェア14及びバスドライバプログラムであるドライバ2並びにアプリケーション16を有する電子機器である。機器10−1〜10−4のアプリケーション16は、例えばソフトウェアからなるものであってもよいし、ハードウェア及びソフトウェアからなるものであってもよく、それぞれ異なるものであってもよいし、同じものであってもよい。
このように、機器システム1は、機器10−1〜10−4それぞれの接続ハードウェア14及びアプリケーション16並びにケーブル12−1〜12−3が用いられることにより、機器10−1〜10−4のいずれかがルートノードとなるネットワークを構成し、機器10−1〜10−4が相互に制御情報及びデータをIEEE1394の規格に沿って送受することができるようにされている。
[機器10]
図2は、図1に示した機器10のハードウェア構成を示すハードウェア構成図である。
図2に示すように、機器10は、CPU100、メモリ102、ハードディスクドライブ(HDD)等の記憶装置104、データの送受信を行う通信インタ−フェイス(I/F)106及びUI(ユーザインターフェイス)装置108が制御バス110を介して互いに接続されることにより構成されている。
CPU100は、メモリ102又は記憶装置104に格納されたプログラムに応じて予め定められた処理を実行し、機器10の動作を制御する。また、CPU100は、時刻を示す時刻信号生成部(図示せず)を含み、機器10内の各部に対して時刻信号を出力することができるようにされている。記憶装置104には、上述したドライバ2及びアプリケーション16も記憶されている。通信I/F106には、上述した接続ハードウェア14も含まれている。UI装置108は、例えばタッチパネルなどからなり、ユーザの入力を受け入れるとともに、機器システム1に関する情報を表示する。
なお、CPU100が実行するプログラムは、メモリ102又は記憶装置104から提供されるのではなく、CD−ROM等の記録媒体105に格納されて提供さててもよい。
[ドライバ2a]
図3は、本発明の背景を説明するためのドライバ2aの概要を示すプログラム構成図である。
ドライバ2aは、検出部200、初期化部202、初期化完了通知部204及び通信制御部206を有するIEEE1394の規格に対応したバスドライバプログラムであり、図1に示したIEEE1394のドライバ2に代えて機器10に適用されるものである。
以下、ケーブル12−1〜12−3を用いて構成されるIEEE1394のバスを、単にバスと記述する。
検出部200は、機器システム1(図1)において、ケーブル12−1〜12−3の抜き差し並びに機器10−1〜10−4の電源の投入及び切断(接続状態の変化)を検出する。
初期化部202は、検出部200がケーブル12−1〜12−3の抜き差し又は機器10−1〜10−4の電源の投入若しくは切断を検出した場合に、バスリセット信号を送信し、バスリセット信号を受け入れた他の機器10はバスの初期化を開始し、機器10−1〜10−4の親子の関係付けによりツリー構造を作成することにより、ネットワークを構成する処理を行う。また、初期化部202は、接続ハードウェア14を介してバスリセット信号(バスリセット割り込み:図4等参照)を受け入れた場合にも、機器10−1〜10−4の全てにバスリセット信号が伝わるように、他の機器10に対してバスリセット信号を送信する。
初期化完了通知部204は、機器システム1におけるバスの初期化が完了したことを通知する信号(初期化完了割り込み:図4等参照)を送出することにより、バスの使用が可能になったことを示す。つまり、初期化完了通知部204は、機器10−1〜10−4の全てに対し、IEEE1394のバスが初期化されている間にはバスの使用が不可であることを決定し、IEEE1394のバスが初期化された後にはバスの使用が可能となったことを決定する決定部となっている。
通信制御部206は、バスの使用権を得るためのアービトレーション(調停)を含むバスの制御を行う。
[ドライバ2aを適用された機器10の基本動作]
図4は、機器システム1におけるドライバ2aを適用された機器10の基本動作を示すタイミングチャートである。
図4に示すように、アクション100(A100)において、ドライバ2aは、接続ハードウェア14を介してバスリセット割込みを受け入れると、バスの初期化を開始する。ここで、ドライバ2aは、上述した初期化完了割り込みを受け入れるまで、バスが初期化完了待ちの状態であると判定している。
アクション102(A102)において、ドライバ2aは、データの送信を依頼する送信依頼(送信要求信号)をアプリケーション16から受け入れる。
アクション104(A104)において、ドライバ2aは、未だ初期化完了割り込みを受け入れていないので、バスが初期化完了待ちの状態であることを示すエラーをアプリケーション16に対して出力する。
アクション106(A106)において、ドライバ2aは、接続ハードウェア14を介して初期化完了割り込み受け入れると、バスの初期化が完了し、バスが送受信可能状態になったと判定する。
アクション108(A108)において、ドライバ2aは、データの送信を再び依頼する送信再依頼(送信要求信号)をアプリケーション16から受け入れる。そして、ドライバ2aは、バスが送受信可能状態になっているので、アプリケーション16から送信されるデータを送信する送信処理を行う。なお、アプリケーション16からの送信再依頼は、アプリケーション16がA104のアクションにおいてエラーを受け入れて予め定められた時間が経過した時などに行われる。
アクション110(A110)において、ドライバ2aは、接続ハードウェア14を介して、アプリケーション16が出力するデータを送信先へ送信する。
[ドライバ2aを適用された機器10の第1の動作例]
図5は、機器システム1におけるドライバ2aを適用された機器10の第1の動作例を示すタイミングチャートである。
なお、ドライバ2aを適用された機器10の第1の動作例において、図4に示したアクション(A100〜A108)と実質的に同一のものには、同一の符号が付してある。
図5に示すように、アプリケーション16がA102のアクションにより送信依頼を行い、A106のアクションによりバスが送受信可能状態になった後のアクション108において、ドライバ2aは、データの送信を再び依頼する送信再依頼(送信要求信号)をアプリケーション16から受け入れる。
ただし、最初のA108のアクションよりも前に行われたアクション112(A112)において、ドライバ2aは、接続ハードウェア14を介して、新たにバスリセット割込み(最初のA100のアクションと同じ)を受け入れて、バスの初期化を開始している。ここで、ドライバ2aが新たにバスリセット割り込みを受け入れる場合として、新たに他のケーブル12が抜き差しされた場合、又は新たに他の機器10の電源が投入若しくは切断された場合などが挙げられる。
アクション114(A114)において、ドライバ2aは、未だ初期化完了割り込みを受け入れていないので、バスが初期化完了待ちの状態であることを示すエラーをアプリケーション16に対して出力する。
アクション116(A116)において、ドライバ2aは、接続ハードウェア14を介して初期化完了割り込み受け入れると、バスの初期化が完了し、バスが送受信可能状態になったと判定する。
アクション118(A118)において、ドライバ2aは、A112のアクションと同様に、バスの初期化を開始する。
アクション120(A120)において、ドライバ2aは、A108のアクションと同様に、データの送信を再び依頼する送信再依頼(送信要求信号)をアプリケーション16から受け入れる。
アクション122(A122)において、ドライバ2aは、A114のアクションと同様に、バスが初期化完了待ちの状態であることを示すエラーをアプリケーション16に対して出力する。
アクション124(A124)において、ドライバ2aは、A106のアクションと同様に、バスが送受信可能状態になったと判定する。
アクション126(A126)において、ドライバ2aは、A118のアクションと同様に、バスの初期化を開始する。
アクション128(A128)において、ドライバ2aは、A120のアクションと同様に、データの送信を再び依頼する送信再依頼(送信要求信号)をアプリケーション16から受け入れる。
このように、ドライバ2aを適用された機器10は、アプリケーション16がエラー(バスが初期化完了待ちの状態であることを示す)を受け入れて送信再依頼を行う前に、送受信可能状態であったバスが再び初期化完了待ちの状態になってしまうと、アプリケーション16からデータを送信することができない状態が続く。つまり、アプリケーション16が送信再依頼を行う前にバスの初期化が開始されることが繰り返されると、機器システム1に故障などの異常がない場合にも、アプリケーション16からデータを送信することができない状態が続いてしまう。
[ドライバ2aを適用された機器10の第2の動作例]
図6は、機器システム1におけるドライバ2aを適用された機器10の第2の動作例を示すタイミングチャートである。
なお、ドライバ2aを適用された機器10の第2の動作例において、図5に示したアクション(A100〜A128)と実質的に同一のものには、同一の符号が付してある。
図6に示すように、ドライバ2aは、A100のアクションにおいてバスリセット割込みを受け入れてバスの初期化を開始した後に初期化完了割り込みを受け入れない場合、バスが初期化完了待ちの状態であると判定し続ける。したがって、ドライバ2aは、アプリケーション16からA108、A120及びA128のアクションによって送信再依頼を受け入れても、バスが初期化完了待ちの状態であることを示すエラーをアプリケーション16に対して出力し続ける。
このように、バスが連続した初期化完了待ちの状態であるとドライバ2aが判定する期間に、ドライバ2aがアプリケーション16から送信再依頼を繰り返して受け入れる場合、機器システム1において、ケーブル12−1〜12−3及び機器10−1〜10−4の少なくともいずれかが故障していると考えられる。
ここで、アプリケーション16は、図4に示した第1の動作例(正常状態)において受け入れる信号(制御情報)と、図5に示した第2の動作例(異常状態)において受け入れる信号とが同じである。つまり、アプリケーション16が上述の第1の動作例と第2の動作例との区別をつけることができないので、ユーザも、機器10のアプリケーション16及びUI装置108を介して上述の第1の動作例と第2の動作例との区別をつけることができない。
[第1の実施形態]
図7は、本発明に係るドライバ(バスドライバプログラム)2bの概要を示すプログラム構成図である。
上述したように、ドライバ2bは、図1に示したドライバ2に代えて機器システム1に適用可能にされており、図3に示したドライバ2aを包含するものである。
図7に示すように、ドライバ2bは、ドライバ2aに加えて、割込時刻記憶部208、消去部210、経過時間算出部212、故障判定部214、設定部216及び通知部218を有する。
ドライバ2aは、接続ハードウェア14を介してバスリセット割り込み及び初期化完了割込みを受け入れるとともに、予め定められた制御信号(上述した送信要求信号なども含む)及びデータを受け入れ、バスを制御する制御信号及びデータを出力する。
割込時刻記憶部208は、接続ハードウェア14を介してバスリセット割り込みを受け入れた時に、CPU100が出力する時刻信号を受け入れて、バスリセット割り込みを受け入れた時刻(割込時刻)を記憶するとともに、記憶した割込時刻を経過時間算出部212に対して出力する。ただし、割込時刻記憶部208は、消去部210が割込時刻を消去することができるようにされている。
消去部210は、接続ハードウェア14を介して初期化完了割込みを受け入れると、割込時刻記憶部208が記憶する割込時刻を消去する。
経過時間算出部212は、アプリケーション16から送信(使用)要求信号を受け入れると、割込時刻記憶部208が出力する割込時刻とCPU100が出力する時刻信号とを受け入れて、割込時刻記憶部208が記憶した割込時刻から送信要求信号を受け入れるまでの経過時間を算出し、算出した経過時間を故障判定部214に対して出力する。
故障判定部214は、経過時間算出部212から受け入れた経過時間と後述するスレッショルド時間とを比較し、経過時間がスレッショルド時間未満である場合にはバスが初期化完了待ちの状態であると判定し、経過時間がスレッショルド時間以上である場合にはケーブル12−1〜12−3及び機器10−1〜10−4の少なくともいずれかが故障(ハードウェア故障)であると判定し、判定結果を通知部218に対して出力する。スレッショルド時間は、設定部216により設定可能にされている。
設定部216は、例えばユーザがUI装置108を介して入力した情報に応じて、スレッショルド時間を故障判定部214に対して設定する。また、設定部216は、アプリケーション16からの指示に応じてスレッショルド時間を故障判定部214に対して設定するようにされてもよい。
通知部218は、故障判定部214から受け入れる判定結果に応じて、バスが初期化完了待ちの状態であること又はハードウェア故障のいずれかの判定結果を通知する。ここで、通知部218は、アプリケーション16に対して判定結果を通知するとともに、UI装置108を介して判定結果をユーザに通知する。
[ドライバ2bを適用された機器10の動作例]
図8は、機器システム1におけるドライバ2bを適用された機器10の動作例を示すタイミングチャートである。
なお、ドライバ2bを適用された機器10の動作例において、図6に示したアクション(A100〜A128)と実質的に同一のものには、同一の符号が付してある。
図8に示すように、ドライバ2bは、A100のアクションにおいてバスリセット割込みを受け入れると、バスリセット割り込みを受け入れた時刻(割込時刻)を記憶する(アクション101:A101)。また、ドライバ2bは、バスリセット割込みを受け入れてバスの初期化を開始した後に初期化完了割り込みを受け入れない場合、割込時刻後の経過時間がスレッショルド時間以上になるまで、バスが初期化完了待ちの状態であると判定し続ける。したがって、ドライバ2bは、アプリケーション16からA108のアクションによって送信再依頼を受け入れても、バスが初期化完了待ちの状態であることを示すエラーをアプリケーション16に対して出力する。そして、ドライバ2bは、アクション120(A120)において、割込時刻後の経過時間がスレッショルド時間以上になった後に送信再依頼を受け入れると、アクション130(A130)としてハードウェア故障を示すエラーをアプリケーション16に対して出力する。つまり、アプリケーション16は、ドライバ2bからの通知により、ハードウェア故障が生じていることを把握する。
[ドライバ2bの動作例]
図9は、CPU100が実行するドライバ2bの動作例(S10)を示すフローチャートである。
図9に示すように、ステップ100(S100)において、ドライバ2bは、アプリケーション16から送信依頼などの通信処理依頼を受信する。
ステップ102(S102)において、ドライバ2bは、バスの初期化中であるか否かを判定し、バスの初期化中でない場合にはS104の処理に進み、バスの初期化中である場合にはS106の処理に進む。
ステップ104(S104)において、ドライバ2bは、バスドライバプログラムとしての通信処理を行う。
ステップ106(S106)において、ドライバ2bは、バスリセット割り込みを受け入れた時刻からの経過時間を算出する。
ステップ108(S108)において、ドライバ2bは、S106の処理で算出した経過時間がスレッショルド時間未満か否かを判定し、スレッショルド時間未満の場合にはS110の処理に進み、スレッショルド時間以上の場合にはS112の処理に進む。
なお、ドライバ2bがS108の処理を行うタイミングは、ドライバ2bが送信再依頼を受信した時にされてもよいし、ドライバ2bが送信再依頼を受信することなく単に経過時間がスレッショルド時間以上になった時にされてもよい。
ステップ110(S110)において、ドライバ2bは、例えばアプリケーション16に対してバスが初期化完了待ちの状態であることを示すエラー通知を行う。
ステップ112(S112)において、ドライバ2bは、例えばアプリケーション16に対してハードウェア故障が生じていることを示すエラー通知を行う。
[第2の実施形態]
図10は、本発明に係るドライバ(バスドライバプログラム)2cの概要を示すプログラム構成図である。
上述したように、ドライバ2cは、図1に示したドライバ2に代えて機器システム1に適用可能にされており、図3に示したドライバ2aを包含するものである。
図10に示すように、ドライバ2cは、ドライバ2aに加えて、第1の計数部220、第1の記憶部222、差分演算部224、第2の計数部226、第2の記憶部228、消去部230、故障判定部232、設定部234及び通知部236を有する。
ドライバ2aは、上述したように接続ハードウェア14を介してバスリセット割り込み及び初期化完了割込みを受け入れるとともに、予め定められた制御信号(送信要求信号なども含む)及びデータを受け入れ、バスを制御する制御信号及びデータを出力する。
第1の計数部220は、接続ハードウェア14を介してバスリセット割込みを受け入れるごとにバスリセット割込みを受け入れた回数を計数し、計数した回数を第1の記憶部222に対して出力する。なお、第1の計数部220は、例えば第1の計数部220自身が実装された機器10の電源投入の検出信号が入力されると、計数した回数をリセットする(0にする)ようにされている。
第1の記憶部222は、第1の計数部220が出力する回数を受け入れて記憶するとともに、差分演算部224からの要求に応じて記憶している回数を差分演算部224に対して出力する。なお、第1の記憶部222は、例えば第1の記憶部222自身が実装された機器10の電源投入の検出信号が入力されると、記憶した回数をリセットする(0にする)ようにされている。
差分演算部224は、アプリケーション16から送信(使用)要求信号を受け入れるごとに第1の記憶部222が記憶している回数を受け入れ、送信要求信号を前回受け入れた時の回数と送信要求信号を今回受け入れた時の回数との差分を演算し、演算結果を故障判定部232に対して出力する。
第2の計数部226は、アプリケーション16から送信(使用)要求信号を受け入れるごとに送信要求信号を受け入れた回数(依頼回数)を計数し、計数した回数を第2の記憶部228に対して出力する。ただし、第2の計数部226は、計数した回数を消去部230が消去することができるようにされている。
第2の記憶部228は、第2の計数部226が計数した回数を受け入れて記憶するとともに、故障判定部232に対して出力する。ただし、第2の記憶部228は、記憶した回数を消去部230が消去することができるようにされている。
消去部230は、接続ハードウェア14を介して初期化完了割込みを受け入れると、第2の計数部226が計数した回数及び第2の記憶部228が記憶した回数を消去してリセットする(0にする)。
故障判定部232は、第2の記憶部228から受け入れた回数と後述する閾値(最大依頼回数)とを比較し、受け入れた回数(依頼回数)が閾値(最大依頼回数)以下である場合にはバスが初期化完了待ちの状態であると判定し、受け入れた依頼回数が最大依頼回数よりも多い場合にはケーブル12−1〜12−3及び機器10−1〜10−4の少なくともいずれかが故障(ハードウェア故障)であると判定し、判定結果を通知部236に対して出力する。閾値(最大依頼回数)は、設定部234により設定可能にされている。
また、故障判定部232は、差分演算部224から受け入れた演算結果が1以上である場合にも、バスが初期化完了待ちの状態であると判定する。
設定部234は、例えばユーザがUI装置108を介して入力した情報に応じて、故障判定部232が判定を行うための閾値(最大依頼回数)を故障判定部232に対して設定する。また、設定部234は、アプリケーション16からの指示に応じて最大依頼回数を故障判定部232に対して設定するようにされてもよい。
通知部236は、故障判定部232から受け入れる判定結果に応じて、バスが初期化完了待ちの状態であること又はハードウェア故障のいずれかの判定結果を通知する。ここで、通知部236は、アプリケーション16に対して判定結果を通知するとともに、UI装置108を介して判定結果をユーザに通知する。
[ドライバ2cを適用された機器10の動作例]
図11は、機器システム1におけるドライバ2cを適用された機器10の動作例を示すタイミングチャートである。
なお、ドライバ2cを適用された機器10の動作例において、図6に示したアクション(A100〜A128)と実質的に同一のものには、同一の符号が付してある。
図11に示すように、ドライバ2cは、A100のアクションによりバスリセット割込みを受け入れてバスの初期化を開始した後に初期化完了割り込みを受け入れない場合、アプリケーション16からの送信依頼の回数(依頼回数)が最大依頼回数よりも多くなるまで、バスが初期化完了待ちの状態であると判定し続ける。したがって、ドライバ2cは、アプリケーション16からA108のアクションによって送信再依頼を受け入れても、バスが初期化完了待ちの状態であることを示すエラーをアプリケーション16に対して出力する。そして、ドライバ2cは、アクション120(A120)により依頼回数が最大依頼回数よりも多くなると、アクション130(A130)としてハードウェア故障を示すエラーをアプリケーション16に対して出力する。つまり、アプリケーション16は、ドライバ2cからの通知により、ハードウェア故障が生じていることを把握する。
[ドライバ2cの動作例]
図12は、CPU100が実行するドライバ2cの動作例(S20)を示すフローチャートである。
図12に示すように、ステップ200(S200)において、ドライバ2cは、アプリケーション16から送信依頼などの通信処理依頼を受信する。
ステップ202(S202)において、ドライバ2cは、バスの初期化中であるか否かを判定し、バスの初期化中でない場合にはS204の処理に進み、バスの初期化中である場合にはS206の処理に進む。
ステップ204(S204)において、ドライバ2cは、バスドライバプログラムとしての通信処理を行う。
ステップ206(S206)において、ドライバ2cは、送信要求信号を前回受け入れた時のバスリセット割込みの回数と送信要求信号を今回受け入れた時のバスリセット割込みの回数との差分を演算する。
ステップ208(S208)において、ドライバ2cは、S206の処理で演算した結果に応じて、送信要求信号を今回受け入れた時にバスリセット割込みを受け入れた回数の増加があったか否かを判定し、増加があった場合にはS210の処理に進み、増加がなかった場合にはS212の処理に進む。
ステップ210(S210)において、ドライバ2cは、例えばアプリケーション16に対してバスが初期化完了待ちの状態であることを示すエラー通知を行う。
ステップ212(S212)において、ドライバ2cは、アプリケーション16からの依頼回数が最大依頼回数以下であるか否かを判定し、依頼回数が最大依頼回数以下である場合にはS210の処理に進み、依頼回数が最大依頼回数よりも多い場合にはS214の処理に進む。
ステップ214(S214)において、ドライバ2cは、例えばアプリケーション16に対してハードウェア故障が生じていることを示すエラー通知を行う。
[第3の実施形態]
次に、機器システム1に適用されるドライバ2dについて説明する。
ドライバ2dは、ドライバ2bの機能に加えて、アプリケーション16の動作チェック及び負荷テスト等を行うためのデバッグモードが設けられている。ここで、ドライバ2dには、例えばデバッグモードであることを示すフラグビット(図示せず)が設けられている。
図13は、機器システム1におけるドライバ2dを適用された機器10の動作例を示すタイミングチャートである。
なお、ドライバ2dを適用された機器10の動作例において、図6に示したアクション(A100〜A128)と実質的に同一のものには、同一の符号が付してある。
図13に示すように、ドライバ2dは、A100のアクションにおいてバスリセット割込みを受け入れると、バスリセット割り込みを受け入れた時刻(割込時刻)を記憶する(アクション101:A101)。ただし、ドライバ2dは、上述したフラグビットが立てられると初期化完了割込みがマスクされ、初期化完了割込みがない状態を維持する。また、ドライバ2dは、上述したフラグビットが立てられると、バスリセット割り込みを受け入れた時刻後の経過時間がスレッショルド時間以上になっても、ハードウェア故障を示すエラーをアプリケーション16に対して出力しないようにされている。
本発明の実施形態に係る機器システムの構成例を概念的に示す構成概念図である。 図1に示した機器のハードウェア構成を示すハードウェア構成図である。 本発明の背景を説明するためのドライバの概要を示すプログラム構成図である。 機器システムにおいて、本発明の背景を説明するためのドライバを適用された機器の基本動作を示すタイミングチャートである。 機器システムにおいて、本発明の背景を説明するためのドライバを適用された機器の第1の動作例を示すタイミングチャートである。 機器システムにおいて、本発明の背景を説明するためのドライバを適用された機器の第2の動作例を示すタイミングチャートである。 本発明に係るドライバ(バスドライバプログラム)の第1の実施形態の概要を示すプログラム構成図である。 機器システムにおいて、本発明に係るドライバの第1の実施形態を適用された機器の動作例を示すタイミングチャートである。 CPUが実行する本発明に係るドライバの第1の実施形態の動作例(S10)を示すフローチャートである。 本発明に係るドライバ(バスドライバプログラム)の第2の実施形態の概要を示すプログラム構成図である。 機器システムにおいて、本発明に係るドライバの第2の実施形態を適用された機器の動作例を示すタイミングチャートである。 CPUが実行する本発明に係るドライバの第2の実施形態の動作例(S20)を示すフローチャートである。 機器システムにおいて、本発明に係るドライバの第3の実施形態を適用された機器の動作例を示すタイミングチャートである。
符号の説明
1・・・機器システム
10−1〜10−4・・・機器
12−1〜12−3・・・ケーブル
14・・・接続ハードウェア
16・・・アプリケーション
100・・・CPU
102・・・メモリ
104・・・記憶装置
106・・・通信I/F
108・・・UI装置
2,2a,2b,2c,2d・・・ドライバ(バスドライバプログラム)
200・・・検出部
202・・・初期化部
204・・・初期化完了通知部
206・・・通信制御部
208・・・割込時刻記憶部
210・・・消去部
212・・・経過時間算出部
214・・・故障判定部
216・・・設定部
218・・・通知部
220・・・第1の計数部
222・・・第1の記憶部
224・・・差分演算部
226・・・第2の計数部
228・・・第2の記憶部
230・・・消去部
232・・・故障判定部
234・・・設定部
236・・・通知部

Claims (2)

  1. バスに対する複数の機器の接続状態の変化を検出する検出手段と、
    この検出手段の検出結果に基づいて、バスを初期化する初期化手段と、
    この初期化手段がバスを初期化した後に、バスの初期化が完了したことを通知する通知手段と、
    前記初期化手段によりバスの初期化が指示されてから、前記通知手段によりバスの初期化が完了したことを通知されるまでの間の時間経過を計数する計数手段と、
    前記計数手段により計数された時間が予め設定された閾値未満である場合は、バスが初期化完了待ちの状態であると判定し、前記計数手段により計数された時間が予め設定された閾値以上である場合は、バス及び複数の機器の少なくともいずれかが故障していると判定する故障判定手段と、
    前記故障判定手段の判定結果を出力する判定結果出力手段を有し、
    前記判定結果出力手段は、動作モードがアプリケーションの動作チェック及び負荷テストを行うためのデバッグモードである場合には、他の機器からのバスの初期化が完了した旨の通知を無効にして、前記故障判定手段によりバス及び複数の機器の少なくともいずれかが故障していると判定された場合の判定結果を出力しない
    ことを特徴とするバスシステム。
  2. 複数の機器と、
    前記複数の機器を接続するバスと、
    このバスに対する前記複数の機器の接続状態の変化を検出する検出手段と、
    この検出手段の検出結果に基づいて、前記バスを初期化する初期化手段と、
    この初期化手段が前記バスを初期化した後に、前記バスの初期化が完了したことを通知する通知手段と、
    前記初期化手段によりバスの初期化が指示されてから、前記通知手段によりバスの初期化が完了したことを通知されるまでの間の時間経過を計数する計数手段と、
    前記計数手段により計数された時間が予め設定された閾値未満である場合は、バスが初期化完了待ちの状態であると判定し、前記計数手段により計数された時間が予め設定された閾値以上である場合は、バス及び複数の機器の少なくともいずれかが故障していると判定する故障判定手段と、
    前記故障判定手段の判定結果を出力する判定結果出力手段を有し、
    前記判定結果出力手段は、動作モードがアプリケーションの動作チェック及び負荷テストを行うためのデバッグモードである場合には、他の機器からのバスの初期化が完了した旨の通知を無効にして、前記故障判定手段によりバス及び複数の機器の少なくともいずれかが故障していると判定された場合の判定結果を出力しない
    ことを特徴とする機器システム。
JP2008217685A 2008-08-27 2008-08-27 バスシステム、機器システム及びバスドライバプログラム Expired - Fee Related JP5120639B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008217685A JP5120639B2 (ja) 2008-08-27 2008-08-27 バスシステム、機器システム及びバスドライバプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008217685A JP5120639B2 (ja) 2008-08-27 2008-08-27 バスシステム、機器システム及びバスドライバプログラム

Publications (2)

Publication Number Publication Date
JP2010055242A JP2010055242A (ja) 2010-03-11
JP5120639B2 true JP5120639B2 (ja) 2013-01-16

Family

ID=42071113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008217685A Expired - Fee Related JP5120639B2 (ja) 2008-08-27 2008-08-27 バスシステム、機器システム及びバスドライバプログラム

Country Status (1)

Country Link
JP (1) JP5120639B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806132B (zh) * 2021-09-22 2023-12-26 京东方科技集团股份有限公司 异常复位的处理方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298458A (ja) * 1987-05-28 1988-12-06 Nec Corp デ−タ転送回路
JPH03230248A (ja) * 1990-02-06 1991-10-14 Nissin Electric Co Ltd バス使用権獲得回路
JPH08115226A (ja) * 1994-10-18 1996-05-07 Pfu Ltd 情報処理装置
JPH11296209A (ja) * 1998-04-07 1999-10-29 Nissan Motor Co Ltd シーケンスプログラムの動作制御装置
JPH11345193A (ja) * 1998-05-29 1999-12-14 Canon Inc シリアルバスインタフェースデバイスおよびバスの構成方法、記録媒体、シリアルバスインタフェ−スシステム
JP2002064513A (ja) * 2000-08-22 2002-02-28 Minolta Co Ltd ループ回避システムおよびループ回避方法
JP4747909B2 (ja) * 2006-03-30 2011-08-17 日本電気株式会社 ファイバチャネルスイッチにおける障害装置の切り離し方法

Also Published As

Publication number Publication date
JP2010055242A (ja) 2010-03-11

Similar Documents

Publication Publication Date Title
US9454505B2 (en) Chip select (‘CS’) multiplication in a serial peripheral interface (‘SPI’) system
US9146797B2 (en) Method for ensuring remediation of hung multiplexer bus channels
JP2012239170A (ja) 障害状態における信号処理
WO2015043380A1 (en) Enhanced mechanisms for granting access to shared resources
JP6398329B2 (ja) 制御装置、制御方法及びプログラム
JP5120639B2 (ja) バスシステム、機器システム及びバスドライバプログラム
CN109074343B (zh) 通信设备、通信方法、程序、以及通信系统
CN109542198B (zh) 一种控制pcie卡上电的方法及设备
CN109828855B (zh) 多处理器错误检测系统及其方法
JP5810998B2 (ja) 試験装置,試験方法および試験プログラム
JP2006252015A (ja) データ転送制御装置
JP7189474B2 (ja) 推定システム、付加装置、推定方法、付加方法、推定プログラム、及び付加プログラム
CN114564334A (zh) 一种mrpc数据处理方法、系统及相关组件
US20230113776A1 (en) Traffic application amount calculation apparatus, method and program
JP6921357B2 (ja) ネットワーク検査システムおよびネットワーク検査プログラム
JP2018095142A (ja) 車載制御装置
US8832341B2 (en) Dynamically determining a primary or slave assignment based on receiving a power signal from the cable at the port of a device
JP2016218943A (ja) 通信装置、通信制御方法および通信制御プログラム
TWI612780B (zh) 網路裝置與其直接連接的自動偵測方法
JP2005182380A (ja) 記録装置、電子機器
JP5933642B2 (ja) ネットワーク試験装置及びネットワーク試験方法
JP2011028734A (ja) デバッグシステム、エミュレータ、デバッグ方法、及び、デバッグプログラム
CN113626279B (zh) 一种i2c通信监控方法、装置、cpld及介质
JP6856876B2 (ja) 情報処理装置及び情報処理システム
JP2011040965A (ja) データリンク層処理回路および通信回路

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120312

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120508

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: 20120927

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: 20121010

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

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees