(57)【要約】【課題】非同期の複数のクロックを用いて動作する制御回路において、クロックの異常を容易に検出する。【解決手段】ＡＳＩＣ１０は、第１周波数ｆ１の第１クロックＣＬＫ１と、第１周波数ｆ１より高く且つ非同期である第２周波数ｆ２の第２クロックＣＬＫ２とを受信する受信部１１と、第１クロックＣＬＫ１の１つのハイレベル期間またはローレベル期間における第２クロックＣＬＫ２の立ち上がりエッジをカウントするカウント部１２と、カウント部１２のカウント値ｍに基づいて第１クロックＣＬＫ１および／または第２クロックＣＬＫ２の異常を検出する異常検出部１３とを備える。【選択図】図１
2014102723.tif 000002
【特許請求の範囲】
【請求項１】
第１周波数の第１クロックと、前記第１周波数より高く且つ非同期である第２周波数の第２クロックとを受信する受信部と、
前記第１クロックの１つのハイレベル期間またはローレベル期間における前記第２クロックの立ち上がりまたは立ち下がりエッジをカウントするカウント部と、
前記カウント部のカウント値に基づいて前記第１クロックおよび／または前記第２クロックの異常を検出する異常検出部と、
を備えることを特徴とする回路装置。
【請求項２】
前記異常検出部は、前記カウント部のカウント値が前記第１周波数および前記第２周波数により定まる所定値でない場合、前記第１クロックおよび／または前記第２クロックに異常が発生したと判定することを特徴とする請求項１に記載の回路装置。
【請求項３】
前記第１周波数をｆ１とし、前記第２周波数をｆ２とし、ｆ２／ｆ１−１（小数点以下切り捨て）をＸとしたとき、
前記異常検出部は、前記カウント部のカウント値がＸ，Ｘ−１，Ｘ＋１のいずれかでない場合、前記第１クロックおよび／または前記第２クロックに異常が発生したと判定することを特徴とする請求項２に記載の回路装置。
【請求項４】
前記カウント部は、ｆ２／ｆ１が３未満である場合、ｆ２／ｆ１が３以上となるように前記第１クロックを分周し、分周された前記第１クロックの１つのハイレベル期間またはローレベル期間における前記第２クロックの立ち上がりまたは立ち下がりエッジをカウントすることを特徴とする請求項３に記載の回路装置。
【請求項５】
前記カウント部は、ｆ２／ｆ１が３未満である場合、ｆ２／ｆ１が３以上となるように前記第２クロックを逓倍し、前記第１クロックの１つのハイレベル期間またはローレベル期間における逓倍された前記第２クロックの立ち上がりまたは立ち下がりエッジをカウントすることを特徴とする請求項３に記載の回路装置。
【請求項６】
前記カウント部は、ｆ２／ｆ１が３未満である場合、ｆ２／ｆ１が３以上となるように前記第１クロックを分周および前記第２クロックを逓倍し、分周された前記第１クロックの１つのハイレベル期間またはローレベル期間における逓倍された前記第２クロックの立ち上がりまたは立ち下がりエッジをカウントすることを特徴とする請求項３に記載の回路装置。
【請求項７】
前記異常検出部により前記第１クロックおよび／または前記第２クロックの異常が検出された場合、当該回路装置をリセットするリセット部をさらに備えることを特徴とする請求項１から６のいずれかに記載の回路装置。
【請求項８】
前記異常検出部により前記第１クロックおよび／または前記第２クロックの異常が検出された場合、警報を発出する警報部をさらに備えることを特徴とする請求項１から７のいずれかに記載の回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路装置に関し、特に非同期の複数のクロックを用いて動作する回路装置に関する。
【背景技術】
【０００２】
従来、ＳＤＨ（Synchronous Digital Hierarchy）／ＳＯＮＥＴ（Synchronous Optical NETwork）/ＥＴＨＥＲＮＥＴ（登録商標）の信号を伝送する伝送装置では、１つのＡＳＩＣ（Application Specific Integrated Circuit）でＳＤＨ／ＳＯＮＥＴ系、ＥＴＨＥＲＮＥＴ系、制御系など複数の系が動作している。これらの系は動作周波数が異なるため、ＡＳＩＣには周波数の異なる複数のクロックが入力されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３１１３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
通常、ＡＳＩＣは、クロック断検出回路を用いて入力クロックの異常を検出しているが、クロック断検出回路は、数クロックにわたって断状態が継続しないと異常を検出することが難しい。また、クロックの瞬断や、クロックの瞬間的な周波数異常を検出する周波数監視回路は回路的な規模が大きいので、それぞれの入力クロックに対する周波数監視回路をＡＳＩＣ内に設けることは難しい。
【０００５】
本発明はこうした状況に鑑みてなされたものであり、その目的は、非同期の複数のクロックを用いて動作する制御回路において、クロックの異常を容易に検出できる技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の回路装置は、第１周波数の第１クロックと、第１周波数より高く且つ非同期である第２周波数の第２クロックとを受信する受信部と、第１クロックの１つのハイレベル期間またはローレベル期間における第２クロックの立ち上がりまたは立ち下がりエッジをカウントするカウント部と、カウント部のカウント値に基づいて第１クロックおよび／または第２クロックの異常を検出する異常検出部と、を備える。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、非同期の複数のクロックを用いて動作する制御回路において、クロックの異常を容易に検出することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るＡＳＩＣが搭載されたパッケージの構成を示す図である。
【図２】本実施形態に係るＡＳＩＣの動作を説明するための図である。
【図３】カウント部のカウント値ｍを説明するための図である。
【図４】図４（ａ）および（ｂ）は、１＜ｆ２／ｆ１＜２であるときの第１クロックおよび第２クロックを示す図である。
【図５】図５（ａ）および（ｂ）は、２≦ｆ２／ｆ１＜３であるときの第１クロックおよび第２クロックを示す図である。
【図６】図６（ａ）〜（ｄ）は、３≦ｆ２／ｆ１＜４であるときの第１クロックおよび第２クロックを示す図である。
【図７】本実施形態に係るＡＳＩＣの別の動作を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しつつ、本発明の実施形態について説明する。
【００１１】
図１は、本発明の実施形態に係るＡＳＩＣ１０が搭載されたパッケージ１００の構成を示す。このパッケージ１００は、シェルフ（図示せず）のスロットに挿入され、主信号処理を行う。例えば、パッケージ１００は、クライアント回線から入力されたＥＴＨＥＲＮＥＴ信号を処理し、ＳＤＨ／ＳＯＮＥＴ信号として出力するパッケージであってよい。
【００１２】
パッケージ１００は、主信号を処理するＡＳＩＣ１０と、ＡＳＩＣ１０に動作クロックを供給する第１発振器２１および第２発振器２２とを備える。
【００１３】
第１発振器２１は、第１周波数ｆ１（Ｈｚ）の第１クロックＣＬＫ１とをＡＳＩＣ１０に供給する。第２発振器２２は、第２周波数ｆ２（Ｈｚ）の第２クロックＣＬＫ２をＡＳＩＣ１０に供給する。第１クロックＣＬＫ１と第２クロックＣＬＫ２は、非同期である。第２クロックＣＬＫ２の第２周波数ｆ２は、第１クロックＣＬＫ１の第１周波数ｆ１よりも高い。例えばＡＳＩＣ１０がＥＴＨＥＲＮＥＴ信号とＳＤＨ／ＳＯＮＥＴ信号を処理する場合、第１発振器２１は、ＳＤＨ／ＳＯＮＥＴ信号の処理用として第１周波数ｆ１＝１５５ＭＨｚの第１クロックＣＬＫ１を供給し、第２発振器２２は、ＥＴＨＥＲＮＥＴ信号の処理用として第２周波数ｆ２＝２００ＭＨｚの第２クロックＣＬＫ２を供給する。
【００１４】
ＡＳＩＣ１０は、受信部１１と、カウント部１２と、異常検出部１３と、警報部１４と、リセット部１５と、主信号処理部２０とを備える。
【００１５】
受信部１１は、第１発振器２１からの第１クロックＣＬＫ１と、第２発振器２２からの第２クロックＣＬＫ２とを受信する。
【００１６】
カウント部１２は、第１クロックＣＬＫ１の１つのハイレベル期間における第２クロックの立ち上がりエッジをカウントする。カウント部１２のカウント値ｍは、異常検出部１３に送られる。
【００１７】
異常検出部１３は、カウント部１２のカウント値ｍに基づいて第１クロックＣＬＫ１および／または第２クロックＣＬＫ２の異常を検出する。より具体的には、異常検出部１３は、カウント部１２のカウント値ｍが第１周波数ｆ１および第２周波数ｆ２により定まる所定値でない場合、第１クロックＣＬＫ１および／または第２クロックＣＬＫ２に異常が発生したと判定する。
【００１８】
警報部１４は、異常検出部１３により第１クロックＣＬＫ１および／または第２クロックＣＬＫ２の異常が検出された場合、上位装置に警報を発出する。
【００１９】
リセット部１５は、異常検出部１３により第１クロックＣＬＫ１および／または第２クロックＣＬＫ２の異常が検出された場合、ＡＳＩＣ１０をリセットする。第１クロックＣＬＫ１および／または第２クロックＣＬＫ２に瞬断などの異常が発生した場合、ＡＳＩＣ１０がデットロック状態となるおそれがある。このような場合にリセット部１５によりＡＳＩＣ１０をリセットすることで、デットロック状態が長時間続くのを回避できる。
【００２０】
主信号処理部２０は、外部から入力された主信号に所定の処理を施した後、出力する。例えば、主信号処理部２０は、入力されたＥＴＨＥＲＮＥＴ信号を処理し、ＳＤＨ／ＳＯＮＥＴ信号として出力するものであってよい。主信号処理部２０は、受信部１１で受信した第１クロックＣＬＫ１および第２クロックＣＬＫ２を動作クロックとして主信号処理を行う。
【００２１】
図２は、本実施形態に係るＡＳＩＣ１０の動作を説明するための図である。図２に示すように、カウント部１２は、第１クロックＣＬＫ１の１つのハイレベル期間における第２クロックの立ち上がりエッジをカウントする。第１クロックＣＬＫ１と第２クロックＣＬＫ２とが非同期であっても、第１周波数ｆ１および第２周波数ｆ２は各発振器で決まっているので、カウント部１２のカウント値ｍは第１周波数ｆ１および第２周波数ｆ２により定まる所定値となる。従って、カウント部１２のカウント値ｍが所定値となっていれば第１クロックＣＬＫ１および第２クロックＣＬＫ２に瞬断等の異常が発生していないと判定できる。一方、カウント部１２のカウント値ｍが所定値となっていない場合、第１クロックＣＬＫ１および／または第２クロックＣＬＫ２に瞬断等の異常が発生していると判定できる。
【００２２】
図３は、カウント部１２のカウント値ｍを説明するための図である。本実施形態では、第１クロックＣＬＫ１と第２クロックＣＬＫ２は非同期であるので、図３に示すように第１クロックＣＬＫ１の立ち上がりエッジのタイミングと第２クロックＣＬＫ２の立ち上がりエッジのタイミングが一致することがある。このような場合、第２クロックＣＬＫ２の立ち上がりエッジで第１クロックＣＬＫ１のレベルが不定となる。すなわち、第２クロックＣＬＫ２の立ち上がりエッジで第１クロックＣＬＫ１がハイレベルであるかローレベルであるか判定できない。同様のことが、第１クロックＣＬＫ１の立ち下がりエッジのタイミングと第２クロックＣＬＫ２の立ち上がりエッジのタイミングが一致した場合にも起こる。従って、第１クロックＣＬＫ１と第２クロックＣＬＫ２の位相関係によって、カウント部１２のカウント値ｍは増減する。
【００２３】
そこで、本実施形態に係るＡＳＩＣ１０においては、以下のようにクロックの異常判定を行う。まず、異常検出部１３は、ｆ２／ｆ１−１（小数点以下切り捨て）を算出する（これをＸとする）。そして、異常検出部１３は、レベル不定領域に起因するカウント値ｍの増減を考慮して、カウント値ｍがＸ，Ｘ−１，Ｘ＋１のいずれかである場合、第１クロックＣＬＫ１および第２クロックＣＬＫ２が正常であると判定する。一方、異常検出部１３は、カウント値ｍがカウント値ｍがＸ，Ｘ−１，Ｘ＋１のいずれかでない場合、第１クロックＣＬＫ１および／または第２クロックＣＬＫ２に異常が発生したと判定する。このような判定方法を用いることにより、クロック異常の判定精度を向上できる。
【００２４】
但し、第１周波数ｆ１と第２周波数ｆ２が近い場合、第１クロックＣＬＫ１の１つのハイレベル期間にカウントできる第２クロックＣＬＫ２の立ち上がりエッジ数が制限されるので、上記の判定方法ではクロック異常を判定できない可能性がある。この点について以下説明する。
【００２５】
図４（ａ）および（ｂ）は、１＜ｆ２／ｆ１＜２であるときの第１クロックＣＬＫ１および第２クロックＣＬＫ２を示す。ここでは、第１周波数ｆ１＝１５５ＭＨｚ、第２周波数ｆ２＝２００ＭＨｚとする。この場合、ｆ２／ｆ１−１＝２００／１５５−１≒０．２９０３となるので、小数点以下を切り捨てると、Ｘ＝０となる。従って、上記の判定方法では、カウント値ｍが−１，０，１のいずれかとなれば正常であり、カウント値ｍが−１，０，１のいずれかでなければ異常ということになる。
【００２６】
図４（ａ）は、第１クロックＣＬＫ１および第２クロックＣＬＫ２が正常の場合を示す。この場合、図４（ａ）に示すように、第１クロックＣＬＫ１の１つのハイレベル期間にカウントされる第２クロックＣＬＫ２の立ち上がりエッジ数は、０または１個となる。上述の方法を用いると、第１クロックＣＬＫ１および第２クロックＣＬＫ２が正常であるとを判定される。
【００２７】
図４（ｂ）は、第１クロックＣＬＫ１に１クロック抜けが発生した場合を示す。この場合も、第１クロックＣＬＫ１の１つのハイレベル期間にカウントされる第２クロックＣＬＫ２の立ち上がりエッジ数は、０または１個となる。従って、上述の方法を用いると、第２クロックＣＬＫ２にクロック抜けが発生しているにもかかわらず、第１クロックＣＬＫ１および第２クロックＣＬＫ２が正常であると判定されてしまう。このように、１＜ｆ２／ｆ１＜２のとき、上記の判定方法は使えない。
【００２８】
図５（ａ）および（ｂ）は、２≦ｆ２／ｆ１＜３であるときの第１クロックＣＬＫ１および第２クロックＣＬＫ２を示す。ここでは、第１周波数ｆ１＝１５５ＭＨｚ、第２周波数ｆ２＝４００ＭＨｚとする。この場合、ｆ２／ｆ１−１＝４００／１５５−１≒１．５８０６となるので、小数点以下を切り捨てると、Ｘ＝１となる。従って、上記の判定方法を用いると、カウント値ｍが０，１，２のいずれかとなれば正常であり、カウント値ｍが０，１，２のいずれかでなければ異常ということになる。
【００２９】
図５（ａ）は、第１クロックＣＬＫ１および第２クロックＣＬＫ２が正常の場合を示す。この場合、図５（ａ）に示すように、第１クロックＣＬＫ１の１つのハイレベル期間にカウントされる第２クロックＣＬＫ２の立ち上がりエッジ数は、１または２個となる。上述の方法を用いると、第１クロックＣＬＫ１および第２クロックＣＬＫ２が正常であるとを判定される。
【００３０】
図５（ｂ）は、第１クロックＣＬＫ１に１クロック抜けが発生した場合を示す。この場合も、第１クロックＣＬＫ１の１つのハイレベル期間にカウントされる第２クロックＣＬＫ２の立ち上がりエッジ数は、０，１，２個のいずれかとなる。従って、上述の方法を用いると、第２クロックＣＬＫ２にクロック抜けが発生しているにもかかわらず、第１クロックＣＬＫ１および第２クロックＣＬＫ２が正常であると判定されてしまう。このように、２≦ｆ２／ｆ１＜３のとき、上記の判定方法は使えない。
【００３１】
図６（ａ）〜（ｄ）は、３≦ｆ２／ｆ１＜４であるときの第１クロックＣＬＫ１および第２クロックＣＬＫ２を示す。ここでは、第１周波数ｆ１＝１５５ＭＨｚ、第２周波数ｆ２＝６００ＭＨｚとする。この場合、ｆ２／ｆ１−１＝６００／１５５−１≒２．８７０９となるので、小数点以下を切り捨てると、Ｘ＝２となる。従って、上記の判定方法を用いると、カウント値ｍが１，２，３のいずれかとなれば正常であり、カウント値ｍが１，２，３のいずれかでなければ異常ということになる。
【００３２】
図６（ａ）は、第１クロックＣＬＫ１および第２クロックＣＬＫ２が正常の場合を示す。図６（ａ）では、第１クロックＣＬＫ１の１つのハイレベル期間にカウントされる第２クロックＣＬＫ２の立ち上がりエッジ数は２個である。図６（ｂ）もまた、第１クロックＣＬＫ１および第２クロックＣＬＫ２が正常の場合を示す。図６（ｂ）は、第１クロックＣＬＫ１と第２クロックＣＬＫ２の位相関係が図６（ａ）と異なる。図６（ｂ）では、第１クロックＣＬＫ１の立ち上がりエッジと第２クロックＣＬＫ２の立ち上がりエッジが一致しており、第１クロックＣＬＫ１の立ち下がりエッジと第２クロックＣＬＫ２の立ち上がりエッジが一致している。この場合、第１クロックＣＬＫ１の立ち上がりエッジおよび立ち下がりエッジがハイレベルとローレベルのいずれに判断されるか不定であるので、第１クロックＣＬＫ１の１つのハイレベル期間にカウントされる第２クロックＣＬＫ２の立ち上がりエッジ数は１，２，３個のいずれかとなる。図６（ａ）および（ｂ）において上述の方法を用いると、第１クロックＣＬＫ１および第２クロックＣＬＫ２が正常であるとを判定される。
【００３３】
図６（ｃ）は、第１クロックＣＬＫ１に１クロック抜けが発生した場合を示す。図６（ｃ）では、第１クロックＣＬＫ１の１つのハイレベル期間にカウントされる第２クロックＣＬＫ２の立ち上がりエッジ数は、２個である。図６（ｄ）もまた、第１クロックＣＬＫ１に１クロック抜けが発生した場合を示す。図６（ｄ）は、第１クロックＣＬＫ１と第２クロックＣＬＫ２の位相関係が図６（ｃ）と異なる。図６（ｄ）では、第１クロックＣＬＫ１の立ち上がりエッジと第２クロックＣＬＫ２の立ち上がりエッジが一致しており、第１クロックＣＬＫ１の立ち下がりエッジと第２クロックＣＬＫ２の立ち上がりエッジが一致している。この場合、クロック抜けが発生した箇所では、カウント値ｍが０個となる。すなわち、第１クロックＣＬＫ１の１つのハイレベル期間にカウントされる第２クロックＣＬＫ２の立ち上がりエッジ数が１，２，３個のいずれかとはならないので、第１クロックＣＬＫ１の異常を検出できる。
【００３４】
以上、１＜ｆ２／ｆ１＜３の範囲について考察したが、４≦ｆ２／ｆ１の範囲についても上記の判定方法は有効である。従ってまとめると、ｆ２／ｆ１が３以上のとき上記の判定方法は有効である。
【００３５】
なお、上記では第１クロックＣＬＫ１に１クロック抜けが発生した場合について説明したが、第１クロックＣＬＫ１に複数のクロック抜けが発生した場合も同様に異常を検出できる。また、第２クロックＣＬＫ２に抜けが発生した場合も、カウント値ｍがＸ，Ｘ−１，Ｘ＋１のいずれかとは異なる値になるので、異常を検出できる。
【００３６】
本実施形態において、カウント部１２は、ｆ２／ｆ１が３未満の場合、ｆ２／ｆ１が３以上となるように第１クロックＣＬＫ１を分周し、分周された第１クロックＣＬＫ１の１つのハイレベル期間における第２クロックＣＬＫ２の立ち上がりエッジをカウントする。これにより、異常検出部１３は、上記の判定方法を用いて好適にクロックの異常を判定できる。
【００３７】
また、カウント部１２は、ｆ２／ｆ１が３未満である場合、ｆ２／ｆ１が３以上となるように第２クロックＣＬＫ２を逓倍し、第１クロックＣＬＫ１の１つのハイレベル期間における逓倍された第２クロックＣＬＫ２の立ち上がりエッジをカウントしてもよい。この場合も、異常検出部１３は、上記の判定方法を用いて好適にクロックの異常を判定できる。
【００３８】
また、カウント部１２は、ｆ２／ｆ１が３未満である場合、ｆ２／ｆ１が３以上となるように第１クロックＣＬＫ１を分周および第２クロックＣＬＫ２を逓倍し、分周された第１クロックＣＬＫ１の１つのハイレベル期間における逓倍された第２クロックの立ち上がりエッジをカウントしてもよい。
【００３９】
図７は、本実施形態に係るＡＳＩＣ１０の別の動作を説明するための図である。カウント部１２は、図７に示すように、第１クロックＣＬＫ１の１つのハイレベル期間における第２クロックの立ち下がりエッジをカウントしてもよい。この場合も、カウント部１２のカウント値ｎがＸ，Ｘ−１，Ｘ＋１のいずれかとなっているか否か判定することで、第１クロックＣＬＫ１および／または第２クロックＣＬＫ２の異常を判定できる。
【００４０】
また、カウント部１２は、第１クロックＣＬＫ１の１つのローレベル期間における第２クロックの立ち下がりまたは立ち上がりエッジをカウントしてもよい。上記と同様に第１クロックＣＬＫ１および／または第２クロックＣＬＫ２の異常を判定できる。
【００４１】
以上説明したように、本実施形態に係るＡＳＩＣ１０によれば、第１クロックＣＬＫ１の１つのハイレベル期間またはローレベル期間における第２クロックＣＬＫ２の立ち上がりまたは立ち下がりエッジをカウントするだけの簡単な構成で、第１クロックＣＬＫ１および／または第２クロックＣＬＫ２の異常を検出できる。クロックの異常を検出した場合、リセット部１５でＡＳＩＣ１０をリセットすることで、デットロック状態が長時間続くのを回避でき、パッケージ１００を安定して動作させることができる。
【００４２】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せによりいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４３】
例えば、上述の実施形態では、入力クロックは２つであったが、複数の非同期クロックがＡＳＩＣに入力されてもよい。
【符号の説明】
【００４４】
１０  ＡＳＩＣ、  １１  受信部、  １２  カウント部、  １３  異常検出部、  １４  警報部、  １５  リセット部、  ２０  主信号処理部、  ２１  第１発振器、  ２２  第２発振器、  １００  パッケージ。
【図１】
2014102723.tif 000003
【図２】
2014102723.tif 000004
【図３】
2014102723.tif 000005
【図４】
2014102723.tif 000006
【図５】
2014102723.tif 000007
【図６】
2014102723.tif 000008
【図７】
2014102723.tif 000009