RL78での外部ICからの割り込みの際のチャタリングについて

外部割込みの際、メカニカルなスイッチ(パルスでの割り込み)などではチャタリングが起こるかと思いますが、

例えばICで一度HIGHになって割り込み要因を読み出すまで、HIGH状態が続くようなもの(ステータスでの割り込み)では

チャタリングは発生しないという理解でいいでしょうか?

(割り込みハンドラ内でタイマをつかって割り込みポートが安定するまで何度も読みだす必要はないという理解でいいでしょうか?)

それとも、ICとの間にRSフリップフロップを間に嚙ませてあげる必要があるのでしょうか?

それともLOW->HIGHの中間電位の間に割り込みハンドラは起動されるのでしょうか?

  • こんにちは
    マニュアルを見るとディジタルサンプルなどのノイズフィルタは入ってないように思えます。
    外部回路で対策なさった方がいいと思います。
  • わわいです
    チャタリングというのは、機械式接点が閉じる/開く時に、接点が振動するためにON/OFFを繰り返すというものです
    外部割り込みに限らず、ポート入力などの場合でも、メカニカルスイッチと繋ぐ場合にはチャタリング対策というのは必要になってきます
    ということで、機械式接点でなければ、チャタリングというのは存在しませんので、ロジック出力と繋ぐ場合は、こういうチャタリング対策というのは不要です。

    まあ、ところが、ロジック出力でも、パターンを長く伸ばす、とかすれば、信号の立ち上がり/立ち下がりにオーバーシュートやリンギングなんかが発生することがあったりするので、油断は禁物ですが。

    んで、割り込み入力に限らず、すべてのロジック入力には、Lowと判断するレベル、Highと判断するレベル、というのが決まってまして、それはCPUのデータシートに書いてありますんで、いっぺん見てみましょう。
    #というより、必ず見とけ!というレベルの話ですが
  • チョコです。
    チャタリングはメカニカルなスイッチ等で発生するもので,通常のロジックではあまり考えられません。
    ただし,信号の引き回しが長くて,信号が暴れる場合には,その特性に応じた対応が必要になる
    こともあります。ここらは,ケース・バイ・ケースです。

    >それともLOW->HIGHの中間電位の間に割り込みハンドラは起動されるのでしょうか?
    RL78の兼用機能のDC特性はポートと同じなので,LOW->HIGHのエッジが検出された時点では,
    ポートで読んでもHIGHになっているはずです。エッジ検出には必ず遅延回路を使うので,エッジ
    検出はその分遅れますし,割り込みのオーバヘッドもあるので,ポートは安定していると考え
    られます。
    ただし,信号の立ち上がり緩やかになっていると,ノイズの影響でエッジの誤検出をする可能性も
    考えられます。ここらは,波形を確認することをお勧めします。
  • こんにちは
    申し訳ありません。メカニカルなチャタリングと思い込んでました。
    ICからの入力であればわわいさんのおっしゃる通りメカニカルと同じようなチャタリングは発生しないと思います。
    FAQをチャタリングで検索したら以下の様なFAQを見つけました。
    設計の参考になさってはいかがですか?
    support.renesas.com/.../212774547
  • 参考になる情報、たくさんありがとうございます!

    やはりメカニカルな場合がメインですよね。ちょっと混乱していました。。。
    ICの浮きや信号状態を確認してみます。

    ありがとうございます。
  • こんにちは

    RL78の外部割込み端子INTPxは、ひげパルスに反応しないように、最低1uSのパルス幅を必要としています。これよりも短い幅で反応させるには、キーボード用のインタラプトKRINTですが、これも250nSのパルス幅が必要です。チャタリングと考えているパルス幅は、どれぐらいでしょうか?またタイマ入力にはノイズ除去回路にてサンプリングクロック2カウント以上のレベル保持にて、信号を有効にしてから、カウントする仕組みも入れてありますので、どれぐらいの、パルス幅で動作させたいか、情報をいれていただいたほうが、回答するほうも、より正しく、回答してくれると思います。

    ひげパルスとかあいまいな時間軸での始まりですみません。
  • チョコです。
    INTPn端子の特性ですが,1μsはあくまで,全ての使用条件において,確実に割り込みを認識させる
    ための時間です。1μs以下のパルスに反応しないことが保証されているわけではありません。
    INTPn端子はSTOPモードの解除に使えるように,アナログでの遅延を使用しています。このため,
    遅延時間は大きく変動する(電源電圧が低いほど長くなる)ようです。
    電源電圧が3.3V程度以上なら数十ns程度の遅延にしかならないと考えられますし,1μsを保証して
    いるということはそれに対してマージンがあるはずなので,最大でも数百nsと考えられます。
    スペックの解釈にご注意ください。。
  • チョコです。
    タイマの方を忘れていたので,そちらにもコメントしておきます。
    RL78のタイマのノイズ除去の動作はマニュアルのTAUの章の「6.7.2 ノイズ・フィルタ」の
    タイミング図に記載されています。
    これを見ると明らかなように,サンプリングクロック(fMCK)で2回の一致をみているだけ
    です。つまり,この場合も,2クロックあれば確実に認識するので,2クロック以下のノイズを
    除去するわけではありません。場合によっては,1クロックより若干長いだけでも認識して
    しまいます。
    つまり,ここでも2クロックの幅があれば,確実に認識されるというだけです。
  • こんにちは

    RL78の外部割込み端子INTPxは、ひげパルスに反応しないように、最低1uSのパルス幅を必要としています。これよりも短い幅で反応させるには、キーボード用のインタラプトKRINTですが、これも250nSのパルス幅が必要です。チャタリングと考えているパルス幅は、どれぐらいでしょうか?またタイマ入力にはノイズ除去回路にてサンプリングクロック2カウント以上のレベル保持にて、信号を有効にしてから、カウントする仕組みも入れてありますので、どれぐらいの、パルス幅で動作させたいか、情報をいれていただいたほうが、回答するほうも、より正しく、回答してくれると思います。

    ひげパルスとかあいまいな時間軸での始まりですみません。