JP2017004254A - 半導体装置及びそれを備えた半導体システム、半導体装置の制御方法、並びに、チェックリスト生成プログラム - Google Patents

半導体装置及びそれを備えた半導体システム、半導体装置の制御方法、並びに、チェックリスト生成プログラム Download PDF

Info

Publication number
JP2017004254A
JP2017004254A JP2015117558A JP2015117558A JP2017004254A JP 2017004254 A JP2017004254 A JP 2017004254A JP 2015117558 A JP2015117558 A JP 2015117558A JP 2015117558 A JP2015117558 A JP 2015117558A JP 2017004254 A JP2017004254 A JP 2017004254A
Authority
JP
Japan
Prior art keywords
check
modules
circuit
semiconductor device
list
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.)
Pending
Application number
JP2015117558A
Other languages
English (en)
Inventor
宏一朗 野口
Koichiro Noguchi
宏一朗 野口
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2015117558A priority Critical patent/JP2017004254A/ja
Priority to US15/098,148 priority patent/US9965418B2/en
Publication of JP2017004254A publication Critical patent/JP2017004254A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

【課題】優先度の高いモジュールと通信バスとの接続状態を高頻度でチェックすることにより、優先度の高いモジュールの誤動作を速やかに検出することが可能な半導体装置を提供すること。
【解決手段】一実施の形態によれば、ホストコントローラ11は、外部に設けられた複数のモジュール12_1〜12_nと通信バスB1を介してデータ通信を行うモジュール制御回路112と、通信バスB1に接続され、チェックリストL1の情報に基づいてモジュール12_1〜12_nから選択されたモジュール12_1,12_4,12_7,12_8からの応答の有無をチェックする接続状態チェック回路113と、モジュール制御回路112と接続状態チェック回路113とを選択的に動作させる制御回路111と、を備える。
【選択図】図1

Description

本発明は、半導体装置及びそれを備えた半導体システム、半導体装置の制御方法、並びに、チェックリスト生成プログラムに関し、例えば、優先度の高いモジュールの誤動作を速やかに検出するのに適した半導体装置及びそれを備えた半導体システム、半導体装置の制御方法、並びに、チェックリスト生成プログラムに関する。
ホストコントローラとモジュールとの間のデータ通信には、通信方式としてI2C(Inter-Integrated Circuit)方式が広く用いられている。I2C通信では、ホストコントローラと複数のモジュールとが通信バスを介して接続できるため、信号配線数の低減が可能である。
ここで、システムの振動や信号線の引っ掛かり等により、あるモジュールが通信バスから切断された場合(見かけは切断されていないが接触不良等により電気的に切断された場合を含む)、ホストコントローラはそのモジュールとデータ通信することができなくなってしまう。つまり、そのモジュールは制御不能となってしまう。その結果、システムが誤動作してしまう可能性がある。
このような問題に対する解決策が、特許文献1に開示されている。特許文献1に開示された分散型異常表示装置は、中央処理装置と、複数の入出力ユニットと、中央処理装置と複数の入出力装置とを接続するバスと、異常検出のためのデータを各入出力ユニットの異常検出手段に周期的に送り異常をチェックする巡回チェック手段と、を備える。それにより、分散型異常表示装置は、各入出力ユニットがバスから切断されたことを検出することができるため、システムの誤動作を抑制することができる。
特開平10−74169号公報
特許文献1に開示された構成は、複数の入出力ユニットのそれぞれについて周期的に異常のチェックを行っている。つまり、複数の入出力ユニット(モジュール)のそれぞれについて一つずつ順番にバスとの接続状態のチェックを行っている。
そのため、モータ等のように誤動作に対して速やかな対策が必要なモジュール(以降の説明では、優先度の高いモジュールと称す)と、センサ等のように誤動作に対して速やかな対策が不要なモジュール(以降の説明では、優先度の低いモジュールと称す)と、が混在する場合、優先度の高いモジュールと通信バスとの接続状態のチェックの頻度が低くなってしまう。その結果、優先度の高いモジュールの誤動作を速やかに検出することができなくなるという問題があった。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置は、外部に設けられた複数のモジュールとバスを介してデータ通信を行う通信回路と、前記バスに接続され、第1チェックリストの情報に基づいて前記複数のモジュールから選択された一又は複数の第1モジュールからの応答内容をチェックするチェック回路と、前記通信回路と前記チェック回路とを選択的に動作させる制御回路と、を備える。
また、一実施の形態によれば、半導体装置の制御方法は、通信回路を用いて、外部に設けられた複数のモジュールとバスを介してデータ通信を行い、チェック回路を用いて、前記バスに接続され、第1チェックリストの情報に基づいて前記複数のモジュールから選択された一又は複数の第1モジュールからの応答内容をチェックし、前記通信回路と前記チェック回路とを選択的に動作させる。
また、一実施の形態によれば、チェックリスト生成プログラムは、バスに接続された複数のモジュールを検出する処理と、前記複数のモジュールのうち高い優先度が設定された一又は複数の第1モジュールの情報を含む第1チェックリストを生成する処理と、をコンピュータに実行させる。
前記一実施の形態によれば、優先度の高いモジュールからの応答の有無を高頻度でチェックすることにより、優先度の高いモジュールの誤動作を速やかに検出することが可能な半導体装置及びそれを備えた半導体システム、半導体装置の制御方法、並びに、チェックリスト生成プログラムを提供することができる。
実施の形態1にかかる半導体システムの構成例を示すブロック図である。 図1に示す半導体システムの第1の適用事例及びそれに用いられるチェックリストの内容を示す図である。 図2に示すチェックリストを用いた半導体システムの動作を示すタイミングチャートである。 図1に示す半導体システムの第2の適用事例及びそれに用いられるチェックリストの内容を示す図である。 図4に示すチェックリストを用いた半導体システムの動作を示すタイミングチャートである。 図1に示す半導体システムの第3の適用事例及びそれに用いられるチェックリストの内容を示す図である。 図6に示すチェックリストを用いた半導体システムの動作を示すタイミングチャートである。 実施の形態1にかかる半導体システムの動作を示すフローチャートである。 実施の形態1にかかる半導体システムによる巡回チェック動作の詳細を示すフローチャートである。 図1に示す半導体システム及びそれに用いられるチェックリストを生成するチェックリスト生成装置を示すブロック図である。 チェックリスト生成装置のハードウエア構成の一例を示すブロック図である。 図10に示すチェックリスト生成装置のインターフェース部、及び、チェックリスト生成装置により生成されたチェックリストの内容を示す図である。 図10に示すチェックリスト生成装置の動作を示すフローチャートである。 実施の形態3に係る半導体システムの構成例を示すブロック図である。
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
<実施の形態1>
図1は、実施の形態1にかかる半導体システム1の構成例を示すブロック図である。本実施の形態にかかる半導体システム1では、ホストコントローラ11が、チェックリストL1の情報に基づいてモジュール12_1〜12_nから選択したモジュールと、通信バスB1と、の接続状態を優先的にチェックする。それにより、モータ等のように優先度の高いモジュールを高頻度でチェックすることができるため、これら優先度の高いモジュールの誤動作を速やかに検出することができる。以下、具体的に説明する。
図1に示すように、半導体システム1は、ホストコントローラ(半導体装置)11と、モジュール12_1〜12_n(nは2以上の整数)と、ホストコントローラ11とモジュール12_1〜12_nとを接続する通信バスB1と、を備える。ホストコントローラ11とモジュール12_1〜12_nとの間では、通信バスB1を介してデータ通信が行われる。
通信バスB1は、少なくともクロックの信号線SCL及びデータの信号線SDAにより構成されている。本実施の形態では、ホストコントローラ11とモジュール12_1〜12_nとのデータ通信方式として、I2C方式が採用されている場合を例に説明する。ただし、ホストコントローラ11とモジュール12_1〜12_nとのデータ通信方式には、I2C方式に限られず、一つの通信バスを介して半二重通信が行われる他の通信方式が採用されてもよい。
ホストコントローラ11は、一つ又は複数のチップからなり、制御回路111と、モジュール制御回路(通信回路)112と、接続状態チェック回路113と、チェックリスト格納部114と、を備える。
モジュール制御回路112は、通信バスB1を介して、モジュール12_1〜12_nとデータ通信を行う回路である。
接続状態チェック回路113は、モジュール12_1〜12_nが通信バスB1に接続されているか否か(モジュール12_1〜12_nと通信バスB1との接続状態)をチェックする回路である。例えば、接続状態チェック回路113は、アドレス信号の送信に対する応答の有無により、当該アドレス信号により指定されたモジュールが通信バスB1に接続されているか否かを判断する。
ここで、接続状態チェック回路113は、チェックリスト格納部114に格納されたチェックリストL1〜Lm(mは1以上の整数)の情報に基づいてモジュール12_1〜12_nと通信バスB1との接続状態のチェックの優先度を決定したうえで、これらの接続状態をチェックする。モジュール12_1〜12_nと通信バスB1の接続状態のチェックの詳細については、後述する。
制御回路111は、モジュール制御回路112と接続状態チェック回路113とを選択的に動作させる回路である。ホストコントローラ11とモジュール12_1〜12_nとでは一つの通信バスB1を介して通信が行われる。つまり、制御回路111は、モジュール制御回路112と接続状態チェック回路113とを同時に動作させることができない。そのため、制御回路111は、モジュール制御回路112と接続状態チェック回路113とを排他的に動作させている。
例えば、制御回路111は、モジュール制御回路112を用いてデータ通信を行っているときには、接続状態チェック回路113による接続状態のチェックを停止させ、接続状態チェック回路113を用いて接続状態のチェックを行っているときには、モジュール制御回路112によるデータ通信を停止させる。
また、制御回路111は、例えば、接続状態チェック回路113により何れかのモジュールの接続不良を検出した場合に、モジュール制御回路112によるその後のデータ通信を停止させる等の所定の処理を行う。
(半導体システム1の第1の適用事例)
続いて、半導体システム1の第1の適用事例について図2を用いて説明する。図2の例では、モータ等のように優先度の高いモジュールと、通信バスB1と、の接続状態のみを高頻度でチェックしている。
図2は半導体システム1の第1の適用事例及びそれに用いられるチェックリストの内容を示す図である。なお、図2の例では、チェックリスト格納部114にチェックリストL1のみが格納されている。
図2に示すように、半導体システム1は例えば車両10に搭載される。車両10に搭載された半導体システム1は、モジュール12_1〜12_10を備えている。図2の例では、モジュール12_1,12_4,12_7,12_8が優先度の高いモジュールとしてのモータ、モジュール12_2,12_3,12_5,12_6,12_9,12_10が優先度の低いモジュールとしてのセンサである場合について説明する。
チェックリストL1には、a)アドレスリスト、b)ポインタ、c)チェック数、d)必須フラグ、の情報が少なくとも含まれている。
a)アドレスリスト
アドレスリストには、通し番号、アドレス、及び、期待値の情報が含まれる。
ここで、アドレスとは、通信バスB1に接続されているか否かのチェックが行われるモジュールを指定するアドレス、を表している。以下、アドレスリストにリスト化されたアドレスを、単にチェック対象のアドレスとも称す。通し番号は、チェック対象のアドレスのチェックの順番を表している。期待値は、チェック対象のアドレスにモジュールが接続されているか否かの期待値を表している。例えば、チェック対象のアドレスにモジュールが接続されていることを期待する場合には1が設定され、チェック対象のアドレスにモジュールが接続されていないことを期待する場合には0が設定される。
図2の例では、アドレスリストに、アドレス“1,4,7,8”が設定されるとともに、それら全てに対して期待値“1”が設定されている。ここで、図2の例では、モジュール12_1〜12_10のそれぞれのアドレスを1〜10番地とする。したがって、図2の例では、アドレス“1,4,7,8”により指定されたモータモジュール12_1,12_4,12_7,12_8がチェックの対象となっており、センサモジュール12_2,12_3,12_5,12_6,12_9,12_10がチェックの対象外となっている。
b)ポインタ
ポインタは、アドレスリストにリスト化された複数のアドレスのうち、どのアドレスまでチェックが行われ、次にどのアドレスからチェックが行われるか、の位置を表している。図2の例では、ポインタの値は省略されている。
c)チェック数
チェック数は、該当アドレスリストに含まれるアドレスをチェックする際、連続してチェックされるアドレスの数を表している。チェック数の分だけ連続してアドレスをチェックした後は、他のアドレスリストを用いた処理が行われたり、モジュール制御処理の状態確認が行われたりする等、次の処理へ進む。
図2の例では、チェック数が“4”に設定されており、アドレスリストにリスト化された4つ全てのアドレス“1,4,7,8”に対して連続してチェックが行われることになる。
d)必須フラグ
必須フラグは、アドレスリストにリスト化されたアドレスの中から選択されたチェック数分のアドレスについて、1制御周期毎にモジュール制御処理よりも優先してチェックを行うか否かを表している。例えば、必須フラグが“1”に設定された場合、モジュール制御処理よりもアドレスのチェックのほうが優先度が高いことを意味するため、制御周期が開始するとモジュール制御処理よりも先にチェック数分のアドレスに対するチェックが行われる。他方、必須フラグが“0”に設定された場合、モジュール制御処理よりもアドレスのチェックのほうが優先度が低いことを意味するため、チェック数分のアドレスに対するチェックは、モジュール制御処理の実行されない空き時間ができた場合にのみ行われる。
図2の例では、必須フラグが“1”に設定されており、チェック数分(4つ)のアドレスに対してのチェックは、制御周期が開始するとモジュール制御処理よりも先に行われることになる。
(タイミングチャート)
図3は、図2に示すチェックリストL1を用いた半導体システム1の動作を示すタイミングチャートである。図3に示すように、制御周期T1は、例えばタイマから一定周期で出力されるパルス信号の立ち上がりの間隔によって規定される。
まず、制御回路111は、制御周期T1の開始とともに接続状態チェック回路113を動作させる(時刻t10)。
接続状態チェック回路113は、制御周期T1の初期(開始時)において、チェックリスト格納部114に格納されたチェックリストL1〜Lmのうち必須フラグが“1”に設定されたチェックリストを参照して、チェック対象のアドレスからの応答の有無をチェックする(時刻t10〜t11)。
図3の例では、チェックリストL1の必須フラグが“1”に設定されている。そのため、接続状態チェック回路113は、チェックリストL1にリスト化されたアドレスからの応答の有無をチェックする(時刻t10〜t11)。それにより、チェックリストL1にリスト化されたアドレスにより指定されたモジュールと、通信バスB1と、の接続状態がチェックされる。
ここで、チェックリストL1では、アドレスリストにアドレス“1,4,7,8”がリスト化され、かつ、チェック数が“4”に設定されている。そのため、アドレスリストにリスト化された4つのアドレス“1,4,7,8”により指定されたモジュール12_1,12_4,12_7,12_8と、通信バスB1と、の接続状態がチェックされる(時刻t10〜t11)。
接続状態チェック回路113によるチェックが完了すると(時刻t11)、その旨が制御回路111に通知される。それにより、制御回路111は、接続状態チェック回路113のチェック動作を停止させ、モジュール制御回路112を動作させる(時刻t11)。それにより、ホストコントローラ11とモジュール12_1〜12_10との間でデータ通信が行われる(時刻t11〜t12)。なお、モジュール制御回路112は、データ通信が完了すると(時刻t12)、次の制御周期T1の開始(時刻t13)まで停止状態となる。
その後、制御回路111は、次の制御周期T1の開始とともに、モジュール制御回路112によるデータ通信を停止させ、接続状態チェック回路113を動作させる(時刻t13)。それ以降の制御周期T1でも同様の動作が繰り返される。
このように、図2の例では、ホストコントローラ11が、チェックリストL1の情報に基づいて選択された優先度の高いモジュールと通信バスB1との接続状態を制御周期ごとにチェックする。それにより、ホストコントローラ11は、モータ等のように誤動作に対して速やかな対策が必要な優先度の高いモジュールを高頻度でチェックすることができるため、これら優先度の高いモジュールの誤動作を速やかに検出することができる。
(半導体システム1の第2の適用事例)
続いて、半導体システム1の第2の適用事例について図4を用いて説明する。図4の例では、優先度の高いモジュールと通信バスB1との接続状態を高頻度でチェックしつつ、優先度の低いモジュールと通信バスB1との接続状態についてもチェックしている。
図4は半導体システム1の第2の適用事例及びそれに用いられるチェックリストの内容を示す図である。なお、図4の例では、チェックリスト格納部114にチェックリストL1,L2が格納されている。
図4に示す半導体システム1に用いられるチェックリストL1の内容については、図2に示すチェックリストL1の内容と同様であるため、その説明を省略する。以下では、主にチェックリストL2の内容について説明する。
チェックリストL2の基本構造はチェックリストL1と同じである。
図4の例では、アドレスリストに、アドレス“2,3,5,6,9,10”が設定されるとともに、それらの全てに対して期待値“1”が設定されている。したがって、図4の例では、アドレス“2,3,5,6,9,10”により指定されたセンサモジュール12_2,12_3,12_5,12_6,12_9,12_10がチェック対象となっており、モータモジュール12_1,12_4,12_7,12_8がチェック対象外となっている。
図4の例では、必須フラグが“0”に設定されており、アドレスに対してのチェックは、モジュール制御処理の実行されない空き時間ができた場合にのみ行われることになる。
また、図4の例では、チェック数が“1”に設定されているため、アドレスリストにリスト化された6つのアドレス“2,3,5,6,9,10”のうち1つのアドレスに対してチェックが行われることになる。ここで、1つのアドレスに対するチェックが行われる毎にモジュール制御処理の状況が確認され、まだ空き時間が残っている場合に、次の1つのアドレスに対するチェックが行われる。
(タイミングチャート)
図5は、図4に示すチェックリストL1,L2を用いた半導体システム1の動作を示すタイミングチャートである。図5に示すように、制御周期T1は、例えばタイマから一定周期で出力されるパルス信号の立ち上がりの間隔によって規定される。
まず、制御回路111は、制御周期T1の開始とともに接続状態チェック回路113を動作させる(時刻t20)。
接続状態チェック回路113は、制御周期T1の初期において、チェックリスト格納部114に格納されたチェックリストL1〜Lmのうち必須フラグが“1”に設定されたチェックリストを参照して、チェック対象のアドレスからの応答の有無をチェックする(時刻t20〜t21)。
図5の例では、チェックリストL1の必須フラグが“1”に設定されている。そのため、接続状態チェック回路113は、チェックリストL1にリスト化されたアドレスからの応答の有無をチェックする(時刻t20〜t21)。それにより、チェックリストL1にリスト化されたアドレスにより指定されたモジュールと、通信バスB1と、の接続状態がチェックされる。
ここで、チェックリストL1では、アドレスリストにアドレス“1,4,7,8”がリスト化され、かつ、チェック数が“4”に設定されている。そのため、アドレスリストにリスト化された4つのアドレス“1,4,7,8”により指定されたモジュール12_1,12_4,12_7,12_8と、通信バスB1と、の接続状態がチェックされる(時刻t20〜t21)。
接続状態チェック回路113によるチェックが完了すると(時刻t21)、その旨が制御回路111に通知される。それにより、制御回路111は、接続状態チェック回路113のチェック動作を停止させ、モジュール制御回路112を動作させる(時刻t21)。それにより、ホストコントローラ11とモジュール12_1〜12_10との間でデータ通信が行われる(時刻t21〜t22)。
ここで、制御周期T1の終了(満了)前にデータ通信が完了すると(時刻t22)、その旨が制御回路111に通知される。それにより、制御回路111は、モジュール制御回路112の通信動作を停止させ、接続状態チェック回路113を再び動作させる(時刻t22)。
接続状態チェック回路113は、データ通信の完了から制御周期T1の終了までの空き時間において、チェックリスト格納部114に格納されたチェックリストL1〜Lmのうち必須フラグが“0”に設定されたチェックリストを参照して、チェック対象のアドレスからの応答の有無をチェックする(時刻t22〜t23)。
図5の例では、チェックリストL2の必須フラグが“0”に設定されている。そのため、接続状態チェック回路113は、チェックリストL2にリスト化されたアドレスからの応答の有無をチェックする(時刻t22〜t23)。それにより、チェックリストL2にリスト化されたアドレスにより指定されたモジュールと、通信バスB1と、の接続状態がチェックされる。
ここで、チェックリストL2では、アドレスリストにアドレス“2,3,5,6,9,10”がリスト化され、かつ、チェック数が“1”に設定されている。そのため、アドレスリストにリスト化された6つのアドレス“2,3,5,6,9,10”のうち最初に選択されたアドレス“2”により指定されたモジュール12_2と、通信バスB1と、の接続状態がチェックされる(時刻t22〜t22a)。
接続状態チェック回路113によるアドレス“2”に対するチェックが完了しても、制御周期T1の空き時間が残っている場合、接続状態チェック回路113は、残りの空き時間において、次のアドレス“3”により指定されたモジュール12_3と、通信バスB1と、の接続状態をチェックする(時刻t22a〜t23)。
接続状態チェック回路113によるチェックが完了し、制御周期T1の空き時間が終了すると、制御回路111は、次の制御周期T1の開始とともに引き続き接続状態チェック回路113を動作させる(時刻t23)。
接続状態チェック回路113は、チェックリストL1にリスト化された4つのアドレス“1,4,7,8”により指定されたモジュール12_1,12_4,12_7,12_8と、通信バスB1と、の接続状態をチェックする(時刻t23〜t24)。
接続状態チェック回路113によるチェックが完了すると(時刻t24)、その旨が制御回路111に通知される。それにより、制御回路111は、接続状態チェック回路113のチェック動作を停止させ、モジュール制御回路112を動作させる(時刻t24)。それにより、ホストコントローラ11とモジュール12_1〜12_10との間でデータ通信が行われる(時刻t24〜t25)。
制御周期T1の終了前にデータ通信が完了すると(時刻t25)、その旨が制御回路111に通知される。それにより、制御回路111は、モジュール制御回路112の通信動作を停止させ、接続状態チェック回路113を再び動作させる(時刻t25)。
接続状態チェック回路113は、データ通信の完了から制御周期T1の終了までの空き時間において、チェックリストL2にリスト化された6つのアドレス“2,3,5,6,9,10”のうち次に選択されたアドレス“5”により指定されたモジュール12_5と、通信バスB1と、の接続状態をチェックする(時刻t25〜t25a)。
接続状態チェック回路113によるアドレス“5”に対するチェックが完了しても、制御周期T1の空き時間が残っている場合、接続状態チェック回路113は、残りの空き時間において、次のアドレス“6”により指定されたモジュール12_6と、通信バスB1と、の接続状態をチェックする(時刻t25a〜t25b)。
接続状態チェック回路113によるアドレス“6”に対するチェックが完了しても、制御周期T1の空き時間が残っている場合、接続状態チェック回路113は、残りの空き時間において、次のアドレス“9”により指定されたモジュール12_9と、通信バスB1と、の接続状態をチェックする(時刻t25b〜t25c)。
接続状態チェック回路113によるアドレス“9”に対するチェックが完了しても、制御周期T1の空き時間が残っている場合、接続状態チェック回路113は、残りの空き時間において、次のアドレス“10”により指定されたモジュール12_10と、通信バスB1と、の接続状態をチェックする(時刻t25c〜t26)。
接続状態チェック回路113によるアドレス“10”に対するチェックが完了し、制御周期T1の空き時間が終了すると、制御回路111は、次の制御周期T1の開始とともに引き続き接続状態チェック回路113を動作させる(時刻t26)。それ以降の制御周期T1でも同様の動作が繰り返される。
このように、図4の例では、ホストコントローラ11が、チェックリストL1の情報に基づいて選択された優先度の高いモジュールと通信バスB1との接続状態を制御周期ごとにチェックするだけでなく、チェックリストL2の情報に基づいて選択された優先度の低いモジュールと通信バスB1との接続状態を空き時間にチェックする。それにより、ホストコントローラ11は、優先度の高いモジュールを高頻度でチェックしつつ、優先度の低いモジュールについてもチェックすることができる。
(半導体システム1の第3の適用事例)
続いて、半導体システム1の第3の適用事例について図6を用いて説明する。図6の例では、優先度の高いモジュールと通信バスB1との接続状態を高頻度でチェックしつつ、優先度の低いモジュールと通信バスB1との接続状態についてもチェックし、さらに、新たなモジュールが通信バスB1に接続されたか否かについてもチェックしている。
図6は半導体システム1の第3の適用事例及びそれに用いられるチェックリストの内容を示す図である。なお、図6の例では、チェックリスト格納部114にチェックリストL1〜L3が格納されている。
図6に示す半導体システム1に用いられるチェックリストL1,L2の内容については、図4に示すチェックリストL1,L2の内容と同様であるため、その説明を省略する。以下では、主にチェックリストL3の内容について説明する。
チェックリストL3の基本構造はチェックリストL1,L2と同じである。
図6の例では、アドレスリストに、I2Cのバス規格で取り得る全てのアドレス“1〜128”が設定されている。また、モジュール12_1〜12_10が既に接続されているアドレス“1〜10”に対して期待値“1”が設定され、それ以外のアドレス“11〜128”に対して期待値“0”が設定されている。つまり、チェックリストL3では、アドレス“1〜10”に既にモジュールが接続されることが期待され、アドレス“11〜128”にモジュールが接続されていないことが期待されている。
また、図6の例では、チェック数が“1”に設定されており、アドレスリストにリスト化された128個のアドレス“1〜128”から選択される1つのアドレスに対してチェックが行われることになる。なお、ポインタの値は省略されている。
さらに、図6の例では、必須フラグが“1”に設定されており、チェック数分(1つ)のアドレスに対するチェックは、制御周期が開始するとモジュール制御処理よりも先に行われることになる。
なお、モジュールの追加を検出する場合は、取り得る全てのアドレスの数に応じて、チェック数及び必須フラグの値を注意深く設定する必要がある。
例えば、必須フラグが“0”に設定された場合、上述の空き時間にアドレスのチェックが行われることになる。そのため、モジュール制御処理が長い場合には、空き時間の無い状態が続いてしまい、いつまでもモジュールの追加を検出できなくなってしまう。この場合、ユーザは、追加されたモジュールが壊れているために検出できないのか、単に空き時間が無いため検出できないのか、を判断することができない。
また、必須フラグが“1”に設定された場合でも、アドレスのチェック数が“100”のような大きな値に設定されると、1制御周期のほとんどをアドレスチェックの時間が占めてしまい、本来の目的であるモジュール制御処理を実行することができなくなってしまう。
さらに、必須フラグが“1”に設定され、かつ、アドレスのチェック数が“1”のような小さな値に設定された場合でも、取り得る全てのアドレスの数が例えば10000であると、全てのアドレスについてチェックを行うために10000回分の制御周期の時間が必要になる。この場合、必須フラグが“0”に設定された場合と同様にいつまでもモジュールの追加を検出できなくなってしまう。
ここで、本実施の形態では、バス規格がI2Cである場合を例に説明しているため、取り得る全てのアドレスの数は127程度である。そのため、必須フラグを“1”、アドレスのチェック数を“1”にそれぞれ設定することにより、実用的な時間の範囲内で127個の全てのアドレスについてのチェックをすることができる。例えば、制御周期10msであれば約1sで127個の全てのアドレスのチェックをすることができる。これはUSBメモリ等がパソコンに挿入されてから認識されるまでの時間と同等程度であるため、実用的な時間の範囲内であると言える。このように、チェック数及び必須フラグの値は、取り得る全てのアドレスの数に応じて適切な値を設定する必要がある。
(タイミングチャート)
図7は、図6に示すチェックリストL1〜L3を用いた半導体システム1の動作を示すタイミングチャートである。図7に示すように、制御周期T1は、例えばタイマから一定周期で出力されるパルス信号の立ち上がりの間隔によって規定される。
まず、制御回路111は、制御周期T1の開始とともに接続状態チェック回路113を動作させる(時刻t30)。
接続状態チェック回路113は、制御周期T1の初期において、チェックリスト格納部114に格納されたチェックリストL1〜Lmのうち必須フラグが“1”に設定されたチェックリストを参照して、チェック対象のアドレスからの応答の有無をチェックする(時刻t30〜t32)。
図7の例では、チェックリストL1,L3の必須フラグが“1”に設定されている。そのため、接続状態チェック回路113は、チェックリストL1,L3にリスト化されたアドレスからの応答の有無をチェックする(時刻t30〜t32)。それにより、チェックリストL1,L3にリスト化されたアドレスにより指定されたモジュールと、通信バスB1と、の接続状態がチェックされる。
ここで、チェックリストL1では、アドレスリストにアドレス“1,4,7,8”がリスト化され、かつ、チェック数が“4”に設定されている。そのため、アドレスリストにリスト化された4つのアドレス“1,4,7,8”により指定されたモジュール12_1,12_4,12_7,12_8と、通信バスB1と、の接続状態がチェックされる(時刻t30〜t31)。
また、チェックリストL3では、アドレスリストにアドレス“1〜128”がリスト化され、かつ、チェック数が“1”に設定されている。そのため、アドレスリストにリスト化された128個のアドレス“1〜128”のうち最初に選択されたアドレス“1”に新たなモジュールが追加されたか否かがチェックされる(時刻t31〜t32)。なお、図7の例ではアドレス“1”には既にモジュール12_1が接続されているため、新たなモジュールが追加されたことは検出されない。
接続状態チェック回路113によるチェックが完了すると(時刻t32)、その旨が制御回路111に通知される。それにより、制御回路111は、接続状態チェック回路113のチェック動作を停止させ、モジュール制御回路112を動作させる(時刻t32)。それにより、ホストコントローラ11とモジュール12_1〜12_10との間でデータ通信が行われる(時刻t32〜t33)。
ここで、制御周期T1の終了前にデータ通信が完了すると(時刻t33)、その旨が制御回路111に通知される。それにより、制御回路111は、モジュール制御回路112の通信動作を停止させ、接続状態チェック回路113を再び動作させる(時刻t33)。
接続状態チェック回路113は、データ通信の完了から制御周期T1の終了までの空き時間において、チェックリスト格納部114に格納されたチェックリストL1〜Lmのうち必須フラグが“0”に設定されたチェックリストを参照して、チェック対象のアドレスからの応答の有無をチェックする(時刻t33〜t34)。
図7の例では、チェックリストL2の必須フラグが“0”に設定されている。そのため、接続状態チェック回路113は、チェックリストL2にリスト化されたアドレスからの応答の有無をチェックする(時刻t33〜t34)。それにより、チェックリストL2にリスト化されたアドレスにより指定されたモジュールと、通信バスB1と、の接続状態がチェックされる。
ここで、チェックリストL2では、アドレスリストにアドレス“2,3,5,6,9,10”がリスト化され、かつ、チェック数が“1”に設定されている。そのため、アドレスリストにリスト化された6つのアドレス“2,3,5,6,9,10”のうち最初に選択されたアドレス“2”により指定されたモジュール12_2と、通信バスB1と、の接続状態がチェックされる(時刻t33〜t34)。
接続状態チェック回路113によるチェックが完了し、制御周期T1の空き時間が終了すると、制御回路111は、次の制御周期T1の開始とともに引き続き接続状態チェック回路113を動作させる(時刻t34)。
接続状態チェック回路113は、チェックリストL1にリスト化された4つのアドレス“1,4,7,8”により指定されたモジュール12_1,12_4,12_7,12_8と、通信バスB1と、の接続状態をチェックする(時刻t34〜t35)。
また、接続状態チェック回路113は、チェックリストL3にリスト化された128個のアドレス“1〜128”のうち次に選択されたアドレス“2”に新たにモジュールが追加されたか否かをチェックする(時刻t35〜t36)。なお、図7の例ではアドレス“2”には既にモジュール12_2が接続されているため、新たなモジュールが追加されたことは検出されない。
接続状態チェック回路113によるチェックが完了すると(時刻t36)、その旨が制御回路111に通知される。それにより、制御回路111は、接続状態チェック回路113のチェック動作を停止させ、モジュール制御回路112を動作させる(時刻t36)。それにより、ホストコントローラ11とモジュール12_1〜12_10との間でデータ通信が行われる(時刻t36〜t37)。
ここで、制御周期T1の終了前にデータ通信が完了すると(時刻t37)、その旨が制御回路111に通知される。それにより、制御回路111は、モジュール制御回路112の通信動作を停止させ、接続状態チェック回路113を再び動作させる(時刻t37)。
制御周期T1の空き時間におけるチェックリストL2を用いた接続状態チェック回路113のチェック動作については、上述の通りであるため、その説明を省略する。それ以降の制御周期T1でも同様の動作が繰り返される。
このように、図6の例では、ホストコントローラ11が、優先度の高いモジュールを高頻度でチェックしつつ、優先度の低いモジュールについてもチェックし、さらに、新たなモジュールが追加されたか否かをチェックすることができる。
続いて、半導体システム1の動作及び巡回チェック動作の詳細を、フローチャートを用いて説明する。
(半導体システム1の動作を示すフローチャート)
図8は、半導体システム1の動作を示すフローチャートである。
まず、チェックリストL1〜Lmのポインタの値が何れも“1”に初期化される(ステップS101)。
その後、制御周期が開始すると(ステップS102のYES)、ループ処理Aに移る。なお、ループ処理Aは、制御周期の初期における接続状態チェック回路113によるチェック処理に相当する。
ループ処理Aでは、接続状態チェック回路113によりチェックリストL1〜Lmの読み込みが行われる(ステップS103)。そして、チェックリストL1〜Lmのうち必須フラグが“1”に設定されたチェックリストの情報を基に、チェック数分のアドレスに対するチェックが行われる(ステップS104のYES→ステップS105)。ここで、ループ処理Xによりチェック数分だけポインタの値は増加する。つまり、ポインタは次回のチェック対象のアドレスを示す値に更新される(ステップS106)。
ループ処理Aが完了すると、例えばモジュール制御回路112によるデータ通信(モジュール制御処理)が行われる。
その後、半導体システム1の動作が完了していれば(ステップS111のYES)、半導体システム1の動作が停止する(ステップS112)。他方、半導体システム1の動作が完了していなければ(ステップS111のNO)、制御周期の開始時間であるか否かの判定に戻る(ステップS102)。
例えば、データ通信の完了から制御周期の終了までに空き時間がない場合、次の制御周期の開始時間であるため(ステップS102のYES)、ループ処理Aに移る。
他方、空き時間がある場合、次の制御周期の開始時間ではないため(ステップS102のNO)、ループ処理Bに移る。なお、ループ処理Bは、データ通信の完了から制御周期の終了までの空き時間における接続状態チェック回路113によるチェック処理に相当する。
ループ処理Bでは、接続状態チェック回路113によりチェックリストL1〜Lmの読み込みが行われる(ステップS107)。そして、チェックリストL1〜Lmのうち必須フラグが“0”に設定されたチェックリストの情報を基に、チェック数分のアドレスに対するチェックが行われる(ステップS108のNO→ステップS109)。ここで、ループ処理Yによりチェック数分だけポインタの値は増加する。つまり、ポインタは次回のチェック体調のアドレスを示す値に更新される(ステップS110)。
ループ処理Bの完了後、半導体システム1の動作が完了していれば(ステップS111のYES)、半導体システム1の動作が停止する(ステップS112)。他方、半導体システム1の動作が完了していなければ(ステップS111のNO)、制御周期の開始時間であるか否かの判定に戻る(ステップS102)。
例えば、空き時間が残っていなければ、次の制御周期の開始時間であるため(ステップS102のYES)、ループ処理Aに移る。他方、空き時間が残っていれば、次の制御周期の開始時間でないため(ステップS102のNO)、ループ処理Bに移る。それ以降の制御周期でも同様の動作が繰り返される。
(半導体システム1による巡回チェック動作の詳細を示すフローチャート)
図9は、半導体システム1による巡回チェック動作の詳細を示すフローチャートである。
図9に示すように、ポインタにより指定されたアドレスからの応答の有無がチェックされる(ステップS202)。例えば、ポインタにより指定されたアドレスから応答が無い場合、値“0”が返信され、ポインタにより指定されたアドレスから応答が有る場合、値“1”が返信される。
応答結果と期待値とが一致する場合(ステップS203のYES)、ポインタにより指定されたアドレスにおけるモジュールの接続状態に変化はないため、当該アドレスに対するチェックは終了する。その後、例えば、次のアドレスのチェックに移る。
他方、応答結果と期待値とが一致しない場合(ステップS203のNO)、応答結果に応じた情報が出力される。例えば、応答結果が“0”を示す場合(即ち、ポインタにより指定されたアドレスから応答が無い場合)(ステップS204のNO)、通信バスB1に接続されているはずのモジュールが切断された旨の情報が出力される(ステップS205)。他方、応答結果が“1”を示す場合(即ち、ポインタにより指定されたアドレスから応答が有る場合)(ステップS204のYES)、通信バスB1に新たなモジュールが接続された旨の情報が出力される(ステップS206)。
応答結果に応じた情報が出力されると、当該アドレスに対するチェックは終了する。その後、例えば、次のアドレスのチェックに移る。
本実施の形態では、接続状態チェック回路113が、チェック対象のアドレスからの応答の有無により、当該アドレスにより指定されたモジュールの通信バスB1への接続状態をチェックする場合を例に説明したが、これに限られない。例えば、接続状態チェック回路113は、チェック対象のアドレスからの応答内容(応答の有無、応答レベル、応答速度等)により、当該アドレスにより指定されたモジュールの温度や故障等をチェックする構成とすることもできる。
また、本実施の形態では、最大で3つのチェックリストL1〜L3が用いられた場合について説明したが、これに限られず、任意の数のチェックリストL1〜Lmが用いられてよい。また、各チェックリストL1〜Lmの設定内容については、趣旨を逸脱しない範囲で適宜変更可能である。
<実施の形態2>
本実施の形態では、チェックリストL1〜Lmを生成する方法について説明する。
図10は、半導体システム1及びそれに用いられるチェックリストL1〜Lmを生成するチェックリスト生成装置13を示すブロック図である。
図10に示すように、チェックリスト生成装置13は、例えば、半導体システム1を構成するホストコントローラ11に設けられた制御回路111とデータの送受信を行う。
具体的には、チェックリスト生成装置13は、通信バスB1に既に接続されているモジュール12_1〜12_nのアドレス情報を制御回路111から取得する。そして、チェックリスト生成装置13は、制御回路111から取得したアドレス(以下、検出アドレスと称す)の情報及びユーザによって入力された情報に基づいてチェックリストL1〜Lmを生成し、制御回路111に対して出力する。そして、チェックリストL1〜Lmはチェックリスト格納部114に格納される。
(チェックリスト生成装置13のハードウエア構成)
なお、チェックリスト生成装置13は、汎用的なコンピュータシステムにより実現可能である。以下、図11を用いて簡単に説明する。
図11は、チェックリスト生成装置13のハードウエア構成の一例を示すブロック図である。コンピュータ100は、例えば、制御装置であるCPU(Central Processing Unit)101と、RAM(Random Access Memory)102と、ROM(Read Only Memory)103と、外部とのインターフェースであるインターフェース部104と、不揮発性記憶装置の一例であるHDD(Hard Disk Drive)105と、を備える。さらに、コンピュータ100は、その他図示しない構成として、キーボードやマウス等の入力装置やディスプレイ等の表示装置を備えていても良い。
HDD105には、OS(Operating System)(不図示)と、チェックリスト生成プログラム106と、が記憶されている。チェックリスト生成プログラム106は、本実施の形態に係るチェックリスト生成処理が実装されたコンピュータプログラムである。
CPU101は、コンピュータ100における各種処理、RAM102,ROM103,IF104及びHDD105へのアクセス等を制御する。コンピュータ100は、CPU101がHDD105に記憶されたOS及びチェックリスト生成プログラム106を読み込み、実行する。これにより、コンピュータ100は、本実施の形態にかかるチェックリスト生成装置13を実現する。
(インターフェース部104の概略図)
図12は、チェックリスト生成装置13に設けられたインターフェース部104、及び、チェックリスト生成装置13により生成されたチェックリストの内容を示す図である。なお、図12の例では、チェックリスト生成装置13によりチェックリストL1〜L3が生成される場合について説明する。また、図12の例では、図6の例等と同様に、通信バスB1にモジュール12_1〜12_10が接続されている場合について説明する。
図12に示すように、インターフェース部104は、例えば、表示装置に表示された内容をユーザがマウス等の入力装置を用いて編集することで、ユーザからの情報をコンピュータシステム内部に伝える。図12の例では、表示装置に、検出アドレスの欄1041、検出アドレスに対する優先チェックの欄1042、追加モジュール検出の欄1043、及び、チェックリスト生成開始ボタン1044が表示されている。ユーザは、例えばマウスを操作することで、検出アドレス“1〜10”のうちアドレス“1,4,7,8”に対する優先チェックの欄1042にチェックを入れる(優先チェックを要に設定する)とともに、追加モジュール検出の欄1043にチェックを入れる(追加モジュールの検出を要に設定する)。その後、ユーザは、チェックリスト生成開始ボタン1044をクリックする。
その結果、優先チェックが要に設定されたアドレス“1,4,7,8”がリスト化され、かつ、必須フラグが”1”に設定されたチェックリストL1が生成される。また、それ以外のアドレス“2,3,5,6,9,10”がリスト化され、かつ、必須フラグが“0”に設定されたチェックリストL2が生成される。さらに、追加モジュールの検出が要に設定されたため、追加モジュールの検出対象であるアドレス(ここでは、アドレス1〜128)がリスト化され、かつ、必須フラグが“1”に設定されたチェックリストL3が生成される。
(チェックリスト生成装置13の動作を示すフローチャート)
図13は、チェックリスト生成装置13の動作を示すフローチャートである。
まず、チェックリストL1〜L3が初期化される(ステップS301)。具体的には、各チェックリストL1〜L3のアドレスリストを空にして、それ以外のパラメータを“0”にする。
その後、追加モジュールの検出が要に設定されているか否かの判定が行われる(ステップS302)。
例えば、追加モジュールの検出が要に設定されている場合(ステップS302のYES)、チェックリストL3の初期設定が行われる(ステップS303)。具体的には、アドレス“1〜128”がアドレスリストに追加され、これらアドレス“1〜128”の期待値が全て“0”に設定される。また、ポインタの値が“0”に設定される。また、アドレスのチェック数が“1”に設定される。さらに、必須フラグが“1”に設定される。
追加モジュールの検出が要に設定されていない場合(ステップS302のNO)、又は、チェックリストL3の初期設定が完了した場合(ステップS303)、チェックリストL1の初期設定が行われる(ステップS304)。具体的には、ポインタの値が“0”に設定される。また、アドレスのチェック数が“0”に設定される。さらに、必須フラグが“1”に設定される。
その後、チェックリストL2の初期設定が行われる(ステップS305)。具体的には、ポインタの値が“0”に設定される。また、アドレスのチェック数が“0”に設定される。さらに、必須フラグが“0”に設定される。
その後、ループ処理Cに移行する。
ループ処理Cでは、まず、アドレス“i”(iの初期値は1)にモジュールが接続されているか否かがチェックされる(ステップS306)。
アドレス“i”にモジュールが接続されている場合(ステップS306のYES)、チェックリストL3の更新が行われる(ステップS307)。具体的には、アドレス“i”(ここではi=1)の期待値が“1”に更新される。
なお、アドレス“i”にモジュールが接続されていない場合(ステップS306のNO)、チェックリストL1,L2の更新が行われることなく、iの値が1つカウントアップされて、次のアドレス“i”(ここではi=2)にモジュールが接続されているか否かのチェックに戻る(ステップS306)。
アドレス“i”にモジュールが接続されている場合(ステップS306のYES)において、チェックリストL3の更新が完了すると(ステップS307)、その後、アドレス“i”に対する優先チェックが要に設定されているか否かの判定が行われる(ステップS308)。
例えば、優先チェックが要に設定されている場合(ステップS308のYES)、チェックリストL1の更新が行われる(ステップS309)。具体的には、アドレス“i”がアドレスリストに追加され、そのアドレス“i”の期待値が“1”に設定される。また、アドレスのチェック数が1つ増加する(ここでは、チェック数が“0”から“1”に増加する)。
他方、優先チェックが要に設定されていない場合(ステップS308のNO)、チェックリストL2の更新が行われる(ステップS310)。具体的には、アドレス“i”がアドレスリストに追加され、そのアドレス“i”の期待値が“1”に設定される。また、アドレスのチェック数が“1”に更新される。
チェックリストL1又はチェックリストL2の更新が完了すると、iの値が1つカウントアップされて、次のアドレス“i”(ここではi=2)にモジュールが接続されているか否かのチェックに戻る(ステップS306)。
以降、iがアドレスの最大値(ここでは128)に達するまで、ループ処理Cの動作が繰り返される。
最後に、チェックリストL1〜L3が生成される(ステップS311)。
このように、チェックリスト生成装置13は、ユーザによる簡単な入力操作のみでチェックリストL1〜Lmを容易に生成することができる。なお、チェックリスト生成装置13は、検出モジュールの種類に応じて自動的に優先チェックの欄、及び、追加モジュールの検出の欄を更新する構成にすることも可能である。それにより、ユーザによる簡単な入力操作を省略することができる。
<実施の形態3>
図14は、実施の形態3にかかる半導体システム2の構成例を示すブロック図である。本実施の形態にかかる半導体システム2では、複数の通信バスB2,B3が設けられている場合に、ホストコントローラ21が複数の通信バスB2,B3のそれぞれに対して独立して動作する巡回チェック機能を備える。それにより、半導体システム2は、複数の通信バスB2,B3を設けることで通信対象のモジュール数を増やした場合でも、巡回チェックの頻度の低下を防ぐことができる。以下、具体的に説明する。
図14に示すように、半導体システム2は、ホストコントローラ(半導体装置)21と、モジュール22_1〜22_p(pは2以上の整数)と、モジュール32_1〜32_q(qは2以上の整数)と、ホストコントローラ21とモジュール22_1〜22_pとを接続する通信バスB2と、ホストコントローラ21とモジュール32_1〜32_qとを接続する通信バスB3と、を備える。
ホストコントローラ21は、制御回路211と、モジュール制御回路212,312と、接続状態チェック回路213,313と、チェックリスト格納部214,314と、を備える。なお、ホストコントローラ21は、ホストコントローラ11に対応する。
モジュール制御回路212は、通信バスB2を介して、モジュール22_1〜22_pとデータ通信を行う回路である。モジュール制御回路312は、通信バスB3を介して、モジュール32_1〜32_qとデータ通信を行う回路である。なお、モジュール制御回路212,312は、何れもモジュール制御回路112に対応する。
接続状態チェック回路213は、チェックリスト格納部214に格納されたチェックリストL1〜Lmの情報に基づいてモジュール22_1〜22_pと通信バスB2との接続状態のチェックの優先度を決定したうえで、これらの接続状態をチェックする。なお、接続状態チェック回路213は、接続状態チェック回路113に対応する。
接続状態チェック回路313は、チェックリスト格納部314に格納されたチェックリストL1〜Lmの情報に基づいてモジュール32_1〜32_qと通信バスB3との接続状態のチェックの優先度を決定したうえで、これらの接続状態をチェックする。なお、接続状態チェック回路313は、接続状態チェック回路113に対応する。
制御回路211は、モジュール制御回路212と接続状態チェック回路213とを選択的に動作させるとともに、モジュール制御回路312と接続状態チェック回路313とを選択的に動作させる回路である。なお、制御回路211は、制御回路111に対応する。
このように、半導体システム2では、複数の通信バスB2,B3が設けられている場合に、ホストコントローラ21が複数の通信バスB2,B3のそれぞれに対して独立して動作する巡回チェック機能を備える。それにより、半導体システム2は、複数の通信バスB2,B3を設けることで通信対象のモジュール数を増やした場合でも、巡回チェックの頻度の低下を防ぐことができる。
本実施の形態では、接続状態チェック回路213,313が、チェック対象のアドレスからの応答の有無により、当該アドレスにより指定されたモジュールの通信バスB2,B3への接続状態をチェックする場合を例に説明したが、これに限られない。例えば、接続状態チェック回路213,313は、チェック対象のアドレスからの応答内容(応答レベル、応答速度等)により、当該アドレスにより指定されたモジュールの温度や故障等をチェックする構成とすることもできる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
例えば、上記の実施の形態に係る半導体装置では、半導体基板、半導体層、拡散層(拡散領域)などの導電型(p型もしくはn型)を反転させた構成であってもよい。そのため、n型、及びp型の一方の導電型を第1の導電型とし、他方の導電型を第2の導電型とした場合、第1の導電型をp型、第2の導電型をn型とすることもできるし、反対に第1の導電型をn型、第2の導電型をp型とすることもできる。
1,2 半導体システム
11 ホストコントローラ
12_1〜12_n モジュール
13 チェックリスト生成装置
21 ホストコントローラ
22_1〜22_p モジュール
32_1〜32_q モジュール
100 コンピュータ
101 CPU
102 RAM
103 ROM
104 インターフェース部
105 HDD
106 チェックリスト生成プログラム
111 制御回路
112 モジュール制御回路
113 接続状態チェック回路
114 チェックリスト格納部
211 制御回路
212 モジュール制御回路
213 接続状態チェック回路
214 チェックリスト格納部
312 モジュール制御回路
313 接続状態チェック回路
314 チェックリスト格納部
1041 検出アドレスの欄
1042 優先チェックの欄
1043 追加モジュール検出の欄
1044 チェックリスト生成開始ボタン
L1〜Lm チェックリスト

Claims (15)

  1. 外部に設けられた複数のモジュールとバスを介してデータ通信を行う通信回路と、
    前記バスに接続され、第1チェックリストの情報に基づいて前記複数のモジュールから選択された一又は複数の第1モジュールからの応答内容をチェックするチェック回路と、
    前記通信回路と前記チェック回路とを選択的に動作させる制御回路と、
    を備えた、半導体装置。
  2. 前記制御回路は、制御周期毎に、前記チェック回路を動作させた後、前記通信回路を動作させ、
    前記チェック回路は、前記制御周期毎に、前記一又は複数の第1モジュールのうち順番に選択される所定数の第1モジュールからの応答内容をチェックする、
    請求項1に記載の半導体装置。
  3. 前記第1チェックリストを格納するチェックリスト格納部をさらに備えた請求項1に記載の半導体装置。
  4. 前記制御回路は、前記制御周期毎に、前記チェック回路及び前記通信回路を順番に動作させた後、前記制御周期の満了までに空き時間が有る場合には、再び前記チェック回路を動作させ、
    前記チェック回路は、
    前記制御周期の開始時に、所定数の前記第1モジュールからの応答内容をチェックし、
    さらに前記制御周期満了までの空き時間に、第2チェックリストの情報に基づいて前記複数のモジュールから選択された一又は複数の第2モジュールのうち、前記空き時間に応じた数の第2モジュールからの応答内容をチェックする、
    請求項2に記載の半導体装置。
  5. 前記第1及び前記第2チェックリストを格納するチェックリスト格納部をさらに備えた請求項4に記載の半導体装置。
  6. 前記チェック回路は、前記制御周期の開始時に、所定数の前記第1モジュールからの応答内容をチェックするとともに、前記バスに接続されるモジュールを指定する複数のアドレスのうち第3チェックリストの情報に基づいて順番に選択される何れかのアドレスからの応答内容をさらにチェックする、
    請求項4に記載の半導体装置。
  7. 前記第1乃至前記第3チェックリストを格納するチェックリスト格納部をさらに備えた請求項6に記載の半導体装置。
  8. 請求項1に記載の半導体装置と、
    前記複数のモジュールと、
    前記半導体装置と前記複数のモジュールのそれぞれとを接続するバスと、
    を備えた半導体システム。
  9. 通信回路を用いて、外部に設けられた複数のモジュールとバスを介してデータ通信を行い、
    チェック回路を用いて、前記バスに接続され、第1チェックリストの情報に基づいて前記複数のモジュールから選択された一又は複数の第1モジュールからの応答内容をチェックし、
    前記通信回路と前記チェック回路とを選択的に動作させる、
    半導体装置の制御方法。
  10. 制御周期毎に、前記チェック回路を動作させた後、前記通信回路を動作させ、
    前記チェック回路の動作では、前記制御周期毎に、前記一又は複数の第1モジュールのうち順番に選択される所定数の第1モジュールからの応答内容をチェックする、
    請求項9に記載の半導体装置の制御方法。
  11. 前記制御周期毎に、前記チェック回路及び前記通信回路を順番に動作させた後、前記制御周期の満了までに空き時間が有る場合には、再び前記チェック回路を動作させ、
    前記チェック回路の動作では、
    前記制御周期の開始時に、所定数の前記第1モジュールからの応答内容をチェックし、
    さらに前記制御周期満了までの空き時間に、第2チェックリストの情報に基づいて前記複数のモジュールから選択された一又は複数の第2モジュールのうち、前記空き時間に応じた数の第2モジュールからの応答内容をチェックする、
    請求項10に記載の半導体装置の制御方法。
  12. 前記チェック回路の動作では、前記制御周期の開始時に、所定数の前記第1モジュールからの応答内容をチェックするとともに、前記バスに接続されるモジュールを指定する複数のアドレスのうち第3チェックリストの情報に基づいて順番に選択される何れかのアドレスからの応答内容をさらにチェックする、
    請求項11に記載の半導体装置の制御方法。
  13. バスに接続された複数のモジュールを検出する処理と、
    前記複数のモジュールのうち高い優先度が設定された一又は複数の第1モジュールの情報を含む第1チェックリストを生成する処理と、
    をコンピュータに実行させるチェックリスト生成プログラム。
  14. 前記複数のモジュールのうち低い優先度が設定された一又は複数の第2モジュールの情報を含む第2チェックリストを生成する処理を、さらにコンピュータに実行させる請求項13に記載のチェックリスト生成プログラム。
  15. 前記バスの複数のアドレスの情報と、前記複数のモジュールのそれぞれが前記複数のアドレスの何れに接続されているかの情報と、を含む第3チェックリストを生成する処理を、さらにコンピュータに実行させる請求項14に記載のチェックリスト生成プログラム。
JP2015117558A 2015-06-10 2015-06-10 半導体装置及びそれを備えた半導体システム、半導体装置の制御方法、並びに、チェックリスト生成プログラム Pending JP2017004254A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015117558A JP2017004254A (ja) 2015-06-10 2015-06-10 半導体装置及びそれを備えた半導体システム、半導体装置の制御方法、並びに、チェックリスト生成プログラム
US15/098,148 US9965418B2 (en) 2015-06-10 2016-04-13 Semiconductor device, semiconductor system including the same, control method of semiconductor device, and check list generation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015117558A JP2017004254A (ja) 2015-06-10 2015-06-10 半導体装置及びそれを備えた半導体システム、半導体装置の制御方法、並びに、チェックリスト生成プログラム

Publications (1)

Publication Number Publication Date
JP2017004254A true JP2017004254A (ja) 2017-01-05

Family

ID=57516107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015117558A Pending JP2017004254A (ja) 2015-06-10 2015-06-10 半導体装置及びそれを備えた半導体システム、半導体装置の制御方法、並びに、チェックリスト生成プログラム

Country Status (2)

Country Link
US (1) US9965418B2 (ja)
JP (1) JP2017004254A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457244B (zh) * 2018-05-08 2021-09-17 深圳市优必选科技有限公司 一种串口的通信方式转换方法、系统及处理器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074169A (ja) 1996-07-05 1998-03-17 Fujitsu Ltd 分散型異常表示装置
US20060059325A1 (en) * 2004-09-10 2006-03-16 Milne Alan L Apparatus and method for assigning addresses to components or modules in a system
US8909833B2 (en) * 2012-09-26 2014-12-09 The United States Of America As Represented By The Secretary Of The Navy Systems, methods, and articles of manufacture to stream data

Also Published As

Publication number Publication date
US20160364351A1 (en) 2016-12-15
US9965418B2 (en) 2018-05-08

Similar Documents

Publication Publication Date Title
US8972754B2 (en) Computer device and frequency adjusting method for central processing unit
US9261940B2 (en) Memory system controlling peak current generation for a plurality of memories by monitoring a peak signal to synchronize an internal clock of each memory by a processor clock at different times
TWI620061B (zh) 伺服器的偵錯裝置及其偵錯方法
US10496062B2 (en) Programmable controller for controlling automatic machines, having CPU to received control with respect to own apparatus, when external storage is authenticated based on authentication information
JP2006251886A (ja) マイクロコンピュータ
CN104123167A (zh) 具有配置字自检功能的mcu上电启动方法及其自检方法
JP2007134031A (ja) 温度検出装置
US11215957B2 (en) Functional unit and control apparatus wherein a functional unit synchronized with another functional unit on basis of an outside trigger signal having a synchronized period
CN106155706B (zh) 保存电子设备启动信息的系统及方法
US8627119B2 (en) Script engine for control of power management controllers
EP3314416B1 (en) Firmware block dispatch based on fuses
TWI464583B (zh) 取得觸發功能之指令的方法
JP2017004254A (ja) 半導体装置及びそれを備えた半導体システム、半導体装置の制御方法、並びに、チェックリスト生成プログラム
TW201140303A (en) System and method for sequentially distributing power among one or more modules
JP2016170666A (ja) 半導体装置及びその制御方法
CN102445907A (zh) 微控制器及其驱动方法以及利用其的显示装置
CN109117299A (zh) 服务器的侦错装置及其侦错方法
CN111475432A (zh) 一种从机启动控制装置、单总线系统及其控制方法
TW201441932A (zh) 處理裝置與系統程式更新方法
US9619355B2 (en) Booting verification method of computer and electronic device
US8954717B2 (en) System capable of booting through a universal serial bus device and method thereof
US9367332B2 (en) Sensing data reading device and method
CN100367147C (zh) 具检测基本输入输出系统状态的工作时钟设定方法及装置
US20140340974A1 (en) Apparatus and method for writing data into storage of electronic device
CN111897763A (zh) 控制方法、控制装置、电子设备