(57)【要約】  クロック診断装置（１００）は、ソフトウェアにより一定の間隔で繰り返しクロック値を取得する。クロック診断部（１０３）は、ソフトウェアにより取得されたクロック値の中から、取得タイミングにおいて、ソフトウェアによるクロック値の取得の際に発生するジッタに比べて十分大きい規定時間の隔たりがある２つのクロック値を選択する。また、クロック診断部（１０３）は、選択した２つのクロック値の差を算出する。
2016189688.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアにより一定の間隔で繰り返しクロック値を取得するクロック診断装置であって、
前記ソフトウェアにより取得されたクロック値の中から、取得タイミングにおいて、前記ソフトウェアによるクロック値の取得の際に発生するジッタに比べて十分大きい規定時間の隔たりがある２つのクロック値を選択する選択部と、
前記選択部により選択された２つのクロック値の差を算出する演算部とを有するクロック診断装置。
【請求項２】
前記クロック診断装置は、
前記ソフトウェアにより一定の間隔で繰り返し複数のクロックのクロック値を取得し、
前記選択部は、
クロックごとに、前記取得タイミングにおいて前記規定時間の隔たりがある２つのクロック値を選択し、
前記演算部は、
クロックごとに、前記選択部により選択された２つのクロック値の差を算出する請求項１に記載のクロック診断装置。
【請求項３】
前記演算部は、
算出したクロックごとの差を比較する請求項２に記載のクロック診断装置。
【請求項４】
前記選択部は、
前記規定時間として、前記ジッタの１００倍以上の時間を用いる請求項１に記載のクロック診断装置。
【請求項５】
前記クロック診断装置は、更に、
前記ソフトウェアにより取得されたクロック値を格納するクロック値格納部を有し、
前記選択部は、
前記ソフトウェアにより新たにクロック値が取得された際に、前記新たなクロック値の取得タイミングから前記規定時間遡ったタイミングで前記ソフトウェアにより取得されたクロック値を前記クロック値格納部から読み出し、
前記２つのクロック値として、前記クロック値格納部から読み出したクロック値と前記新たなクロック値とを選択する請求項１に記載のクロック診断装置。
【請求項６】
ソフトウェアにより一定の間隔で繰り返しクロック値を取得するクロック診断装置が、
前記ソフトウェアにより取得されたクロック値の中から、取得タイミングにおいて、前記ソフトウェアによるクロック値の取得の際に発生するジッタに比べて十分大きい規定時間の隔たりがある２つのクロック値を選択し、
選択した２つのクロック値の差を算出するクロック診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロックの故障診断に関する。
【背景技術】
【０００２】
クロックの故障診断に関して、例えば、特許文献１に開示の技術がある。
特許文献１では、２つのクロックのクロック値を解析することで、クロックの故障診断を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１５６７３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クロックの故障診断では、ソフトウェアによりクロック値を取得する方式がある。
ソフトウェアによりクロック値を取得する場合には、クロック値の取得処理に要する時間（以下、クロック値取得処理時間という）にジッタ（揺らぎ）が発生する。
例えば、ソフトウェアに対する割込みがあった場合は、割込みによる遅延により、クロック値取得処理時間が長くなる。
一般に、クロックの故障診断で求められる精度は、数百ｐｐｍ（ｐｐｍ：１０−６）である。
これは、「１秒に対し０．１ミリ秒ずれているかどうか」ということを検出する必要があることを意味する。
ソフトウェアによるクロック値の取得では、クロック値取得処理時間に、マイクロ秒オーダ又はミリ秒オーダの揺らぎが発生する場合がある。【０００５】
このように、ソフトウェアによりクロック値を取得する方式では、クロックの故障診断の精度に与えるジッタの影響が大きく、クロックの故障を正確に検出するためにはジッタの影響を抑制する必要がある。【０００６】
本発明は、かかる事情に鑑みたものであり、ソフトウェアによりクロック値を取得するクロックの故障診断において、クロック値を取得する際に生じるジッタの影響を抑制することを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るクロック診断装置は、
ソフトウェアにより一定の間隔で繰り返しクロック値を取得するクロック診断装置であって、
前記ソフトウェアにより取得されたクロック値の中から、取得タイミングにおいて、前記ソフトウェアによるクロック値の取得の際に発生するジッタに比べて十分大きい規定時間の隔たりがある２つのクロック値を選択する選択部と、
前記選択部により選択された２つのクロック値の差を算出する演算部とを有する。
【発明の効果】
【０００８】
本発明によれば、ジッタに比べて十分大きい規定時間分離れている２つのクロック値を用いるため、クロックの故障診断においてジッタの影響を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るクロック値の比較例を示す図。
【図２】実施の形態１に係るクロック診断装置の構成例を示す図。
【図３】実施の形態１に係るクロック診断装置の動作例を示すフローチャート図。
【発明を実施するための形態】
【００１０】
実施の形態１．
＊＊＊故障診断の概要＊＊＊
本実施の形態では、ソフトウェアによりクロック値を取得する際にジッタが発生しても、正確にクロックの故障が検出できるクロック診断装置を説明する。
【００１１】
本実施の形態に係るクロック診断装置では、クロック値の取得の際に発生するジッタに比べて十分大きい時間が規定時間として設定されている。
そして、クロック診断装置は、ソフトウェアにより一定の間隔で繰り返し２つのクロックのクロック値を取得する。
また、クロック診断装置は、ソフトウェアにより取得されたクロック値の中から、取得タイミングにおいて規定時間の隔たりのある２つのクロック値を選択する。
更に、クロック診断装置は、クロックごとに、選択した２つのクロック値の差を算出し、クロックごとのクロック値の差を比較してクロックの故障診断を行う。
クロック診断装置は、クロック間で、クロック値の差が異なっている場合は、２つのクロックのうちのいずれかのクロックが故障していると判定する。
【００１２】
例えば、クロック値取得処理時間のジッタが平均１マイクロ秒である場合に、１０ミリ秒間隔でクロック値の差をとると１マイクロ秒のジッタの影響は大きく、数百ｐｐｍの精度を満たすことができない。
一方で、１秒間隔でクロック値の差をとる場合では、１マイクロ秒のジッタの影響は吸収され、数百ｐｐｍの精度を満たすことができる。
このように、本実施の形態では、クロック値の取得の際に発生するジッタに比べて十分大きい間隔を規定時間とし、ソフトウェアによる取得タイミングにおいて規定時間の隔たりのある２つのクロック値をクロックの故障診断に用いる。
規定時間は、例えば、ジッタの１００倍以上の時間である。
【００１３】
図１は、本実施の形態に係るクロック診断装置の動作の概要を示す。
図１では、クロック診断装置が、クロック１（ＣＬＫ１と表記する）とクロック２（ＣＬＫ２と表記する）から周期的に取得されたクロック値の中から、取得タイミングにおいて規定時間の隔たりのある２つのクロック値を選択し、選択した２つのクロック値の差をとる動作を示している。
クロック値取得周期は、ＣＬＫ１及びＣＬＫ２からクロック値を取得する周期である。
図１では、Ｔ０〜Ｔ１０の１１回で、ＣＬＫ１及びＣＬＫ２からクロック値が取得されている。
クロック値取得周期Ｔ０では、ＣＬＫ１から取得されたクロック値は１００であり、ＣＬＫ２から取得されたクロック値は１００である。
クロック値取得周期Ｔ１では、ＣＬＫ１から取得されたクロック値は１２０であり、ＣＬＫ２から取得されたクロック値は１２２である。
クロック値取得周期Ｔ２では、ＣＬＫ１から取得されたクロック値は１４０であり、ＣＬＫ２から取得されたクロック値は１４４である。
以降のクロック値取得周期でも、それぞれのクロック値取得周期で取得されたＣＬＫ１のクロック値とＣＬＫ２のクロック値が示されている。
図１の例では、規定時間をクロック値取得周期の５つ分に相当する時間としている。
【００１４】
本実施の形態に係るクロック診断装置は、ソフトウェアによる取得タイミングが５周期分離れている２つのクロック値を選択する。
具体的には、クロック診断装置は、クロック値取得周期＝Ｔ０で取得されたＣＬＫ１のクロック値［１００］とクロック値取得周期＝Ｔ５で取得されたＣＬＫ１のクロック値［２００］とを選択する。
また、クロック診断装置は、クロック値取得周期＝Ｔ０で取得されたＣＬＫ２のクロック値［１００］とクロック値取得周期＝Ｔ５で取得されたＣＬＫ１のクロック値［２１０］とを選択する。
更に、クロック診断装置は、ＣＬＫ１について、クロック値［１００］とクロック値［２００］の差をとり、ＣＬＫ２について、クロック値［１００］とクロック値［２１０］の差をとる。
更に、クロック診断装置は、ＣＬＫ１のクロック値の差：１００と、ＣＬＫ２のクロック値の差：１１０とを比較する。
ＣＬＫ１の差とＣＬＫ２の差とが一致しなければ、クロック診断装置は、ＣＬＫ１とＣＬＫ２のいずれが故障している判定する。
以降の周期についても、クロック診断装置は、Ｔ１とＴ６、Ｔ２とＴ７、Ｔ３とＴ８というように、５周期分離れたクロック値を選択し、同様の演算を行う。
図１の例では、それぞれのクロック値が１００であるとき（Ｔ＝０）はＣＬＫ１とＣＬＫ２は同期しているが、以降は、ＣＬＫ２のクロック値が早く進んでしまっている。
【００１５】
＊＊＊構成の説明＊＊＊
図２は、本実施の形態に係るクロック診断装置１００の構成例を示す。
クロック診断装置１００は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサで実現される。
【００１６】
クロック値取得部１０１は、後述するクロック診断部１０３からのクロック値取得要求に基づき、クロック値取得周期ごとに、タイマ１（１０４）を用いてＣＬＫ１のクロック値を取得し、タイマ２（１０５）を用いてＣＬＫ２のクロック値を取得するソフトウェアである。
タイマ１（１０４）及びタイマ２（１０５）は、それぞれ、クロック値取得周期を計測する。
クロック値取得部１０１によるクロック値取得処理時間には、前述したように、割込み等によりジッタが発生する。
クロック値取得部１０１は、取得したＣＬＫ１及びＣＬＫ２のクロック値をクロック診断部１０３に出力する。
【００１７】
クロック値格納部１０２は、クロック値取得部１０１により取得されたＣＬＫ１及びＣＬＫ２のクロック値を格納する。
より具体的には、クロック値取得部１０１からクロック診断部１０３に出力されたＣＬＫ１及びＣＬＫ２のクロック値が、クロック診断部１０３により、クロック値格納部１０２に書き込まれる。
また、クロック値格納部１０２は、クロック診断部１０３からのクロック値読み出し要求に基づき、格納しているＣＬＫ１及びＣＬＫ２のクロック値をクロック診断部１０３に出力する。
【００１８】
クロック診断部１０３は、クロック値取得部１０１にクロック値取得要求を出力して、クロック値取得周期ごとに、クロック値取得部１０１にＣＬＫ１とＣＬＫ２のクロック値を取得させる。
また、クロック診断部１０３は、クロック値取得部１０１から新たにＣＬＫ１及びＣＬＫ２のクロック値を取得した際に、クロック値取得部１０１により新たなＣＬＫ１及びＣＬＫ２が取得された周期から規定時間遡った周期でクロック値取得部１０１により取得されていたＣＬＫ１及びＣＬＫ２のクロック値をクロック値格納部１０２から読み出す。
図１の例のように規定時間を５周期としている場合は、クロック診断部１０３は、５周期前にクロック値取得部１０１により取得されたＣＬＫ１のクロック値とＣＬＫ２のクロック値を読み出す。
例えば、現在の周期がＴ＝５であれば、クロック診断部１０３は、Ｔ＝０のＣＫ１及びＣＫ２のクロック値を読み出す。
そして、クロック診断部１０３は、新たなＣＬＫ１のクロック値と、クロック値格納部１０２から読み出したＣＬＫ１のクロック値との差を算出し、また、新たなＣＬＫ１のクロック値と、クロック値格納部１０２から読み出したＣＬＫ１のクロック値との差を算出する。
そして、クロック診断部１０３は、ＣＬＫ１のクロック値の差とＣＬＫ２のクロック値の差とを比較する。
ＣＬＫ１のクロック値の差とＣＬＫ２のクロック値の差が異なっていれば、クロック診断部１０３は、ＣＬＫ１及びＣＬＫ２のいずれかで故障が発生していると判定する。
なお、クロック診断部１０３は、選択部及び演算部の例に相当する。
【００１９】
クロック値取得部１０１は、前述のように、ソフトウェア（プログラム）で実現される。
また、クロック診断部１０３もソフトウェア（プログラム）で実現される。
クロック値格納部１０２は、例えば、ＣＰＵ内のレジスタで実現される。
クロック値取得部１０１及びクロック診断部１０３の機能を実現するプログラムは、図２に図示していないメモリに格納されており、ＣＰＵがメモリから、クロック値取得部１０１及びクロック診断部１０３の機能を実現するプログラムをロードし、実行することで、前述のクロック値取得部１０１及びクロック診断部１０３の処理が行われる。
【００２０】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係るクロック診断装置１００の動作例を、図３のフローチャートを参照して説明する。
図３のフローチャートに示す手順は、クロック診断方法の例に相当する。
【００２１】
先ず、クロック診断部１０３は、周期Ｔｎにおいて、クロック値取得要求をクロック値取得部１０１に出力し、一定の周期で、クロック値取得部１０１にＣＬＫ１及びＣＬＫ２のクロック値を取得させる。
また、クロック診断部１０３は、クロック値取得部１０１からＣＬＫ１及びＣＬＫ２のクロック値を取得する（Ｓ１１）。
【００２２】
次に、クロック診断部１０３は、規定時間が経過しているかどうかを判定する（Ｓ１２）。
つまり、クロック診断部１０３は、現在の周期（現在の周期を周期Ｔｎとする）から、規定時間遡った周期に取得されたクロック値がクロック値格納部１０２に格納されているかを判定する。
図１の例のように規定時間を５周期としている場合は、クロック診断部１０３は、現在の周期Ｔｎから５周期遡った周期Ｔ（ｎ−５）のクロック値がクロック値格納部１０２に格納されているかを判定する。
【００２３】
Ｓ１２において規定時間が経過していないと判定した場合は、クロック診断部１０３は、Ｓ１１で新たに取得したクロック値をクロック値格納部１０２に格納する（Ｓ１７）。
【００２４】
Ｓ１２において規定時間が経過していると判断した場合は、クロック診断部１０３は、クロック値読み出し要求を出力して、クロック値格納部１０２から、現在の周期から規定時間遡った周期に取得されたクロック値を読み出す（Ｓ１３）。
図１の例のように規定時間を５周期としている場合は、クロック診断部１０３は、周期Ｔ（ｎ−５）におけるＣＬＫ１のクロック値とＣＬＫ２のクロック値を読み出す。
次に、クロック診断部１０３は、ＣＬＫ１のクロック値の差とＣＬＫ２のクロック値の差が異なるか否かを判定する（Ｓ１４）。
つまり、クロック診断部１０３は、ＣＬＫ１及びＣＬＫ２の各々に対して、Ｓ１１で取得した新たなクロック値と、Ｓ１３で読み出したクロック値との差を算出する。
そして、ＣＬＫ１のクロック値の差とＣＬＫ２のクロック値の差が異なるか否かを判定する。
【００２５】
ＣＬＫ１のクロック値の差とＣＬＫ２のクロック値の差が異なる場合は、クロック診断部１０３は、ＣＬＫ１及びＣＬＫ２のいずれかが故障していると判定する（Ｓ１５）。
【００２６】
一方、ＣＬＫ１のクロック値の差とＣＬＫ２のクロック値の差が同じであれば、クロック診断部１０３は、Ｓ１３で読み出したクロック値を破棄して（Ｓ１６）、Ｓ１１で新たに取得したクロック値をクロック値格納部１０２に格納する（Ｓ１７）。
【００２７】
なお、図１に示したように、クロック値取得部１０１による取得タイミングにおいて規定時間の隔たりのある２つのクロック値の差を算出することができるのであれば、クロック診断装置１００の処理フローは図３のフローチャートの通りでなくてもよい。
【００２８】
＊＊＊実施の形態の効果＊＊＊
以上のように、本実施の形態によれば、ジッタに比べて十分大きい規定時間分離れている２つのクロック値を用いるため、ジッタの影響を抑制して、高精度にクロックの故障診断を行うことができる。
また、本実施の形態では、クロックの故障診断をソフトウェアで実現しているので、診断専用のハードウェアを必要とせず、回路規模が抑えることができる。
また、本実施の形態では、タイマなど一般的なＣＰＵに備わる機能を利用してクロック診断を行っているため、本実施の形態に係るクロック診断方法を様々なＣＰＵに適用することができる。
【００２９】
なお、以上の説明では、２つのクロック（ＣＬＫ１とＣＬＫ２）のクロック値の差を比較してクロックの故障を判定する例を説明したが、３つ以上のクロックのクロック値の差を比較してクロックの故障を判定するようにしてもよい。
【符号の説明】
【００３０】
１００  クロック診断装置、１０１  クロック値取得部、１０２  クロック値格納部、１０３  クロック診断部、１０４  タイマ１、１０５  タイマ２。
【図１】
2016189688.tif 000003
【図２】
2016189688.tif 000004
【図３】
2016189688.tif 000005
【手続補正書】
【提出日】平成29年8月17日(2017.8.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
クロック診断部１０３は、クロック値取得部１０１にクロック値取得要求を出力して、クロック値取得周期ごとに、クロック値取得部１０１にＣＬＫ１とＣＬＫ２のクロック値を取得させる。
また、クロック診断部１０３は、クロック値取得部１０１から新たにＣＬＫ１及びＣＬＫ２のクロック値を取得した際に、クロック値取得部１０１により新たなＣＬＫ１及びＣＬＫ２が取得された周期から規定時間遡った周期でクロック値取得部１０１により取得されていたＣＬＫ１及びＣＬＫ２のクロック値をクロック値格納部１０２から読み出す。
図１の例のように規定時間を５周期としている場合は、クロック診断部１０３は、５周期前にクロック値取得部１０１により取得されたＣＬＫ１のクロック値とＣＬＫ２のクロック値を読み出す。
例えば、現在の周期がＴ＝５であれば、クロック診断部１０３は、Ｔ＝０のＣＬＫ１及びＣＬＫ２のクロック値を読み出す。
そして、クロック診断部１０３は、新たなＣＬＫ１のクロック値と、クロック値格納部１０２から読み出したＣＬＫ１のクロック値との差を算出し、また、新たなＣＬＫ２のクロック値と、クロック値格納部１０２から読み出したＣＬＫ２のクロック値との差を算出する。
そして、クロック診断部１０３は、ＣＬＫ１のクロック値の差とＣＬＫ２のクロック値の差とを比較する。
ＣＬＫ１のクロック値の差とＣＬＫ２のクロック値の差が異なっていれば、クロック診断部１０３は、ＣＬＫ１及びＣＬＫ２のいずれかで故障が発生していると判定する。
なお、クロック診断部１０３は、選択部及び演算部の例に相当する。
【国際調査報告】
2016189688.tif 000006
2016189688.tif 000007