(57)【要約】【課題】プロセッサの暴走検出を効率良く行うことを可能とする。【解決手段】ＭＰＵ１およびＤＳＰ２は、互いにメッセージを授受する場合に、相手に送ったメッセージに対するレスポンスが所定時間内に行われるか否かにより相手の暴走検出を行う。加えて送信チャネルをオープンしているときにＭＰＵ１およびＤＳＰ２は、無線フレーム周期でＭＰＵ用カウンタ３ａおよびＤＳＰ用カウンタ３ｂのカウント値をそれぞれ更新して行き、このように相手が更新するカウント値の変化状況を監視することで相手の暴走検出を行う。【選択図】　　図１
2004096196.tif 000002
【特許請求の範囲】
【請求項１】
並列して処理を行う２つのプロセッサを有する通信装置において、
前記２つのプロセッサのうちの所定の被検査プロセッサに対して他方のプロセッサから所定のメッセージが送られた際にそのメッセージに対応する所定のレスポンスが前記被検査プロセッサにより所定時間内になされないことをもって前記被検査プロセッサが暴走していることを検出する第１検出手段と、
カウンタと、
前記被検査プロセッサの処理により実現されるものであって、送信チャネルがオープンされている所定期間に所定周期で前記カウンタのカウント値を所定規則に従って変更する変更手段と、
前記所定期間に前記所定周期で前記カウンタのカウント値を確認し、そのカウント値が前記所定規則に従って変化していないことをもって前記被検査プロセッサが暴走していることを検出する第２検出手段とを具備した通信装置。
【請求項２】
前記第１検出手段および前記第２検出手段の少なくとも一方は前記被検査プロセッサの他方のプロセッサの処理により実現する請求項１に記載の通信装置。
【請求項３】
前記２つのプロセッサの両方を前記被検査プロセッサとし、前記２つのプロセッサの処理によりそれぞれ実現される２つの変更手段のそれぞれに対応して前記カウンタを２つ備える請求項１に記載の通信装置。
【請求項４】
前記所定周期は前記送信チャネルでのフレーム周期とする請求項１に記載の通信装置。
【請求項５】
前記変更手段および前記第２検出手段は、前記送信チャネルのオープンを通知するオープンメッセージが前記２つのプロセッサの間で授受されてから前記送信チャネルのクローズを通知するクローズドメッセージが前記２つのプロセッサの間で授受されるまでの期間を前記所定期間とする請求項１に記載の通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＭＰＵおよびＤＳＰなどのような２つのプロセッサを有した通信装置に関する。
【０００２】
【従来の技術】
ＭＰＵおよびＤＳＰの２つのプロセッサを備える移動通信端末においては、ＤＳＰの暴走に対処するために、ＭＰＵにてＤＳＰの暴走を検出することが行われる。
【０００３】
この場合の暴走検出の手法としては、ＭＰＵおよびＤＳＰでのメッセージの授受を利用することが考えられる。すなわち、ＭＰＵからＤＳＰに対するメッセージの送信がなされてから一定時間内に、そのメッセージに応じたレスポンスがＤＳＰによりなされなかったなら、ＤＳＰが暴走していると検出する。
【０００４】
なお、中央制御装置から所定周期で出力されるべき信号の実際の出力状態に基づいて上記中央制御装置の暴走を検出する技術が、特開平１１−２８４５２６号公報により知られている。
【０００５】
【発明が解決しようとする課題】
しかしながら、メッセージの授受は何らかのイベントの発生に伴って不定期になされるものである。このため、メッセージの授受がしばらく行われないと、その期間には暴走を検出することができない。従って、確実に短時間のうちに暴走を検出することが困難である。
【０００６】
また、実際に通信を行っているような場合は、様々なメッセージが複雑に授受される場合がある。この場合、各メッセージに関してそれぞれ正しくレスポンスがなされたか否かを正確にチェックすることが困難となる場合がある。
【０００７】
本発明はこのような事情を考慮してなされたものであり、その目的とするところは、プロセッサの暴走検出を効率良く行うことが可能な通信装置を提供することにある。
【０００８】
【課題を解決するための手段】
以上の目的を達成するために本発明は、第１検出手段は、２つのプロセッサのうちの所定の被検査プロセッサに対して他方のプロセッサから所定のメッセージが送られた際にそのメッセージに対応する所定のレスポンスが前記被検査プロセッサにより所定時間内になされないことをもって前記被検査プロセッサが暴走していることを検出する。さらに送信チャネルがオープンされている所定期間には、前記被検査プロセッサの処理により実現される変更手段により所定周期でカウンタのカウント値を所定規則に従って変更するとともに、第２検出手段が前記所定周期で前記カウンタのカウント値を確認し、そのカウント値が前記所定規則に従って変化していないことをもって前記被検査プロセッサが暴走していることを検出することとした。
【０００９】
このような手段を講じたことにより、基本的には、被検査プロセッサに対して送られたメッセージに対するこの被検査プロセッサのレスポンスの実行状況に応じての暴走検出が行われるが、加えて送信チャネルがオープンされている所定期間には、前記被検査プロセッサの処理により所定周期で変更されるカウント値の変化状況に応じての暴走検出が行われる。
【００１０】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態につき説明する。
【００１１】
図１は本実施形態に係る移動通信装置の要部のブロック図である。
【００１２】
この図１に示すように本実施携帯の移動通信端末は、ＭＰＵ（Ｍｉｃｒｏ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１、ＤＳＰ（Ｄｉｇｉｔａｌ　Ｓｉｇｎａｌ　Ｐｒｏｃｅｓｓｏｒ）２および共有メモリ３を含んでいる。
【００１３】
ＭＰＵ１は、移動通信端末としての動作を実現するべく、ＤＳＰ２のほか、図示しない各部を制御する。ＭＰＵ１はこれらの制御を図示しないメモリに記憶されているプログラムに基づくソフトウェア処理により実現する。またＭＰＵ１は上記プログラムに基づくソフトウェア処理を行うことで、第１ＤＳＰ暴走検出部１ａ、ＭＰＵカウンタ書込部１ｂおよび第２ＤＳＰ暴走検出部１ｃとしてそれぞれ機能する。
【００１４】
ここで第１ＤＳＰ暴走検出部１ａは、ＤＳＰ２に対してメッセージを送信した際に、そのメッセージに対するＤＳＰ２のレスポンスの状況に基づいてＤＳＰ２の暴走を検出する。ＭＰＵカウンタ書込部１ｂは、後述する第２暴走検出有効期間に、無線フレーム周期でＭＰＵ用のカウント値を１つずつ増加させる。そして第２ＤＳＰ暴走検出部１ｃは、上記第２暴走検出有効期間に、無線フレーム周期でのＤＳＰ用のカウント値の変化に基づいてＤＳＰ２の暴走を検出する。
【００１５】
ＤＳＰ２は、無線通信に関わる信号処理を行う。ＤＳＰ２はまた、図示しない無線部などの制御を行う。ＤＳＰ２はこれらの処理や制御を内蔵したメモリに記憶されているプログラムに基づくソフトウェア処理により実現する。またＤＳＰ２は上記プログラムに基づくソフトウェア処理を行うことで、第１ＭＰＵ暴走検出部２ａ、ＤＳＰカウンタ書込部２ｂおよび第２ＭＰＵ暴走検出部２ｃとしてそれぞれ機能する。
【００１６】
ここで第１ＭＰＵ暴走検出部２ａは、ＭＰＵ１に対してメッセージを送信した際に、そのメッセージに対するＭＰＵ１のレスポンスの状況に基づいてＭＰＵ１の暴走を検出する。ＤＳＰカウンタ書込部２ｂは、後述する第２暴走検出有効期間に、無線フレーム周期でＤＳＰ用のカウント値を１つずつ増加させる。そして第２ＭＰＵ暴走検出部２ｃは、上記第２暴走検出有効期間に、無線フレーム周期でのＭＰＵ用のカウント値の変化に基づいてＭＰＵ１の暴走を検出する。
【００１７】
共有メモリ３は、例えばＲＡＭなどを用いてなり、ＭＰＵ１およびＤＳＰ２のいずれからもアクセスすることが可能である。この共有メモリ３の記憶領域の一部は、ＭＰＵ用カウンタ３ａおよびＤＳＰ用カウンタ３ｂとして使用される。ＭＰＵ用カウンタ３ａは、ＭＰＵ１によりカウントアップされるカウント値を記憶する。ＤＳＰ用カウンタ３ｂは、ＤＳＰ２によりカウントアップされるカウント値を記憶する。
【００１８】
次に以上のように構成された移動通信端末の動作につき説明する。なお、移動通信端末における一般的な機能に関する動作は従来よりある移動通信端末と同様であるのでその説明は省略する。そしてここでは、ＭＰＵ１およびＤＳＰ２の暴走の検出に関する動作について詳しく説明する。
【００１９】
図２に示すように、電源がＯＮされている期間を第１暴走検出有効期間とする。また、送信チャネルをオープンする際にＭＰＵ１とＤＳＰ２との間でオープンメッセージが授受されてから、その送信チャネルをクローズする際にＭＰＵ１とＤＳＰ２との間でクローズメッセージが授受されるまでの期間を第２暴走検出有効期間とする。
【００２０】
さて、第１暴走検出有効期間においては、ＭＰＵ１とＤＳＰ２との間でのメッセージの授受が行われる毎に、図３に示すような第１暴走検出処理が実行される。この第１暴走検出処理は、ＭＰＵ１がメッセージの送信を行ったことに応じてはＭＰＵ１が第１ＤＳＰ暴走検出部１ａの機能として実行し、またＤＳＰ２がメッセージの送信を行ったことに応じてはＤＳＰ２が第１ＭＰＵ暴走検出部２ａの機能として実行する。なお以下では、ＭＰＵ１およびＤＳＰ２のうちで第１暴走検出処理を実行するほうを検査実行プロセッサと称し、他方を被検査プロセッサと称する。
【００２１】
検査実行プロセッサはステップＳＴ１およびステップＳＴ２において、この第１暴走検出処理を開始するきっかけとなったメッセージに対する正規のレスポンスが被検査プロセッサにより行われるか、あるいは一定時間が経過するのを待受ける。
【００２２】
ここで、一定時間が経過するのより前に正規のレスポンスが行われたことをステップＳＴ１にて確認したならば、検査実行プロセッサはこの第１暴走検出処理を終了する。すなわち、この場合に検査実行プロセッサは、被検査プロセッサが暴走していないとして何ら処置を行わないのである。
【００２３】
しかしながら、正規のレスポンスが行われるよりも前に一定時間が経過したことをステップＳＴ２にて確認したならば、検査実行プロセッサはステップＳＴ３において、暴走対策処理を起動し、この上で第１暴走検出処理を終了する。なお暴走対策処理は、検査実行プロセッサが行うものであって、例えば被検査プロセッサおよび被検査プロセッサにより制御されている回路をリセットするなどの処理である。
【００２４】
一方、第２暴走検出有効期間においては、オープンされている送信チャネルの無線フレームに同期してなされる割り込みが発生する毎に、図４に示すような第２暴走検出処理が実行される。この第２暴走検出処理は、ＭＰＵ１がＭＰＵカウンタ書込部１ｂおよび第２ＤＳＰ暴走検出部１ｃの機能として実行し、またＤＳＰ２がＤＳＰカウンタ書込部２ｂおよび第２ＭＰＵ暴走検出部２ｃの機能として実行する。すなわち第２暴走検出処理は、ＭＰＵ１およびＤＳＰ２のそれぞれが検査実行プロセッサとなってそれぞれ実行される。
【００２５】
検査実行プロセッサはステップＳＴ１１において、自己用のカウンタのカウント値を１つ増加させる。すなわち、ＭＰＵ１の場合はＭＰＵ用カウンタ３ａのカウント値を１つ増加させ、ＤＳＰ２の場合はＤＳＰ用カウンタ３ｂのカウント値を１つ増加させる。
【００２６】
続いて検査実行プロセッサはステップＳＴ１２において、相手用のカウンタのカウント値を取得する。すなわち、ＭＰＵ１の場合はＤＳＰ用カウンタ３ｂのカウント値を取得し、ＤＳＰ２の場合はＭＰＵ用カウンタ３ａのカウント値を取得する。そして検査実行プロセッサは、上記取得値が変数Ａに「１」を加えた数と同一値であるか否かを確認する。なお変数Ａには、前回の第２暴走検出処理の際のステップＳＴ１２での取得値が設定されている。従って検査実行プロセッサは、相手用のカウンタのカウント値が前回の値から１つインクリメントされた値になっているか否かを確認することとなる。
【００２７】
ここで、取得値がＡ＋１と同一値であることを確認したならば、検査実行プロセッサはステップＳＴ１４において、次回の第２暴走検出処理に備えて、変数ＡをステップＳＴ１２での取得値に更新する。そしてこの上で、検査実行プロセッサはこの第２暴走検出処理を終了する。すなわち、相手用のカウンタのカウント値が正しく１つずつインクリメントされているならば検査実行プロセッサは、被検査プロセッサが暴走していないとして何ら処置を行わないのである。
【００２８】
しかしながら、取得値がＡ＋１と同一値ではないことをステップＳＴ１３にて確認したならば、検査実行プロセッサはステップＳＴ１５において、暴走対策処理を起動し、この上で第２暴走検出処理を終了する。なお暴走対策処理は、検査実行プロセッサが行うものであって、例えば被検査プロセッサおよび被検査プロセッサにより制御されている回路をリセットするなどの処理である。
【００２９】
以上のように本実施形態によれば、第１暴走検出有効期間、すなわち電源がＯＮされている期間には、ＭＰＵ１とＤＳＰ２との間でのメッセージの授受に伴って、そのメッセージに対するレスポンスの実行状況に基づく暴走検出が常に行われる。これに加えて第２暴走検出有効期間、すなわち送信チャネルがオープンしている期間には、無線フレーム周期毎のカウント値の書き込みとこのカウント値の監視による暴走検出が行われる。
【００３０】
無線フレーム周期は例えば１０ｍｓと、ＭＰＵ１とＤＳＰ２との間でメッセージが授受される間隔に比べて短周期である。従って第２暴走検出有効期間に暴走が発生した場合には、それを短時間のうちに検出することが可能となる。第２暴走検出有効期間は、無線送信を行っている期間であり、ＭＰＵ１やＤＳＰ２の暴走が他の端末の通信に影響を与える恐れがあるので、このように暴走を短時間のうちに検出することが可能であることは重要である。またこの期間には、多数の処理がＭＰＵ１およびＤＳＰ２で実行されるから、メッセージが授受される頻度が高くなることから、第１暴走検出処理では負荷の増大に起因して万が一、暴走を検出し損なったとしても、これを補完して第２暴走検出処理により暴走を検出することが可能であり、暴走検出の信頼性が大幅に向上する。
【００３１】
一方、第１暴走検出有効期間であって、かつ第２暴走検出有効期間以外である期間には、第１暴走検出処理のみにより暴走の検出が行われる。しかし、この期間には送信が行われていないから、ＭＰＵ１やＤＳＰ２の暴走による影響は比較的低く、暴走検出に多少の時間が掛かっても大きな問題にならない。また、ＭＰＵ１およびＤＳＰ２における処理の実行量も少ないことから、メッセージが授受される頻度も低く、第１暴走検出処理により暴走を検出し損なう可能性も低くなる。そして第１暴走検出処理は、ＭＰＵ１およびＤＳＰ２が何らかの処理を行わない限りは行われないから、バッテリセービングのためのスリープ動作に影響を与えることがない。
【００３２】
なお、本発明は上記実施形態に限定されるものではない。例えばＭＰＵ１およびＤＳＰ２のいずれか一方からのみ暴走検出を行うようにしても良い。
【００３３】
また、第１ＤＳＰ暴走検出部１ａおよび第２ＤＳＰ暴走検出部１ｃはＭＰＵ１から独立した形態で、第１ＭＰＵ暴走検出部２ａおよび第２ＭＰＵ暴走検出部２ｃはＤＳＰ２から独立した形態でそれぞれ実現することとしても良い。
【００３４】
また、第２暴走検出処理を実行する周期は任意であって良い。
【００３５】
また、カウント値を増加させる数は２以上としても良いし、あるいは予め定めたルールに従って増加させる数を変化させるようにしても良い。
【００３６】
また、２つのプロセッサはＭＰＵ１およびＤＳＰ２の組み合わせには限定されない。例えば２つのＭＰＵからなる組み合わせである場合や、あるいは他の種類のプロセッサを含む組み合わせである場合にも本発明の適用が可能である。
【００３７】
また、移動通信端末以外のタイプの通信装置にも本発明の適用が可能である。
【００３８】
このほか、本発明の要旨を逸脱しない範囲で種々の変形実施が可能である。
【００３９】
【発明の効果】
本発明によれば、基本的には、被検査プロセッサに対して送られたメッセージに対するこの被検査プロセッサのレスポンスの実行状況に応じての暴走検出を行うが、加えて送信チャネルがオープンされている所定期間には、前記被検査プロセッサの処理により所定周期で変更されるカウント値の変化状況に応じての暴走検出を行うこととしたので、プロセッサの暴走検出を効率良く行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る移動通信装置の要部のブロック図。
【図２】第１暴走検出有効期間および第２暴走検出有効期間の関係を示す図。
【図３】第１暴走検出処理のフローチャート。
【図４】第２暴走検出処理のフローチャート。
【符号の説明】
１…ＭＰＵ
１ａ…第１ＤＳＰ暴走検出部
１ｂ…ＭＰＵカウンタ書込部
１ｃ…第２ＤＳＰ暴走検出部
２…ＤＳＰ
２ａ…第１ＭＰＵ暴走検出部
２ｂ…ＤＳＰカウンタ書込部
２ｃ…第２ＭＰＵ暴走検出部
３…共有メモリ
３ａ…ＭＰＵ用カウンタ
３ｂ…ＤＳＰ用カウンタ
【図１】
2004096196.tif 000003
【図２】
2004096196.tif 000004
【図３】
2004096196.tif 000005
【図４】
2004096196.tif 000006