メニュー

九州・中国地方密着型!組み込み機器のお悩み、当社が解決します!

組み込み機器 受託開発・生産センター.com
組み込み機器 受託開発・生産センター.com

Produced by株式会社サンエス

設計のポイント

割り込み内でのポート入力には注意が必要

分類マイコンファームウェア設計のポイント

設計のポイント

信号の立上りエッジまたは立下りエッジで割り込みを発生させ、ノイズ対策等の目的で
割り込み処理内で信号のレベルを再度確認する場合、以下の点に注意する必要があります。

1.割り込み要因の信号と、ポートのレベルを読み取る信号が、CPU内で分岐している場合(例、H8 300H)

CPUによっては、割り込み要因はシュミットトリガー回路を通して処理され、
ポート読み取りはシュミットトリガー回路は通さずに値を読み取ることになります。
立上りの遅い信号や、ノイズがのりやすい信号の場合では、割り込み内でポートを読み取ったときに
割り込みを発生したときと High/Lowのレベルが異なる可能性があります。

下図の(A)のタイミングで割り込みを発生し、割り込み処理が開始されて(B)の時間帯で
割り込み処理のポートレベルの判定処理を行うと、(B)時間帯では、信号レベルが
”ポート読み取り値の閾値”より小さいので”Low”レベルを検知することになります。
したがって、割り込み内では、処理を行わず割り込みを終了してしまうことになります。
その後、信号レベルは割り込みレベルのLowのレベルまで下がらない((C)の区間)ので、
割り込みは発生せず、割り込み処理が1回分実行しないことになってしまいます。

割り込み内でのポート入力には注意が必要

2.割り込み要求フラグのクリアタイミングとポートレベルの確認タイミングによる不具合の可能性

前記のように割り込み要因とポート読み取りの回路が分岐していない回路でも、
処理のタイミングによっては同様の問題が発生する可能性があります。

下図の(A)の時点で割り込み発生し、(B)~(C)の時点で割り込み信号のレベルの判定を行って
割り込み信号がLowだと割り込み内の処理を行わずに、(C)のタイミングより後で割り込み要求フラグを
クリアするようなタイミングになった場合、割り込み処理は実行されないことになります。
これを回避するには、(C)のタイミングより前に割り込み要求フラグをクリアする必要があります。

割り込み内でのポート入力には注意が必要

※補足

両エッジ割り込みを設定し、割り込み処理内でHighかLowを判定する場合も
上記同様の不具合が発生する可能性があるので、十分検証する必要があります。

補足情報

当設計のポイントを含む、技術資料「ファームウェア 設計開発のポイント」のダウンロードが可能です。是非ご確認下さい。

>>ダウンロードはこちら!

設計開発のポイント

 

お気軽にご相談ください

組み込み機器 受託開発・生産センター.comを運営する株式会社サンエスは、九州・中国地方に特化したサービス提供を行っており、ものづくりのパートナーとして選ばれています。回路・基板設計~メカ設計までの一貫対応と、部品実装や組立まで任せられるODM企業として、皆様の困難な課題を解決します。

[受付時間] 9:00〜17:00
土日祝 定休
084-960-6370
制御システム事業部 業務推進室 宛
技術資料のダウンロードはこちらから 技術資料ダウンロ―ド メールフォームでのお問い合わせはこちらから ご相談お問合せ