エッジ検出モードで動作したGPIOピンを割り込み入力信号として使うことはできますか?こんにちは、
専用のIRQ(0~5)ピンが6本だけでは不十分なので、他のGPIOピンを割り込み入力信号として使用する必要があります。そこで、以下に2つの質問があります。
1. エッジ検出モードで動作する割り込み信号入力として、任意のGPIOを使用可能か?
2. 上記1が「はい」の場合、専用IRQとGPIOの違いは何ですか?応答を優先すべきでしょうか?
よろしくお願いいたします!
よろしくお願いいたします!
ジェイソン
Re: Could I use any GPIO pin as interrupt input signal which worked at edge detection mode?はい、LS1021A GPIOは、ピンが実際にマルチパクシングされているか、基板上でGPIO入力として利用可能であれば、エッジ検出モードを含む割り込み入力として使用できます。
- エッジ割り込み入力としてのGPIO
GPIOブロックには割り込み制御/ステータス/マスクレジスタ(GPIER、GPIMR、GPICR)があります。GPICRはエッジトリガー動作を含むイベント検出を設定し、GPIO割り込みロジックはシステムに統合されたgpio_intリクエストを出力します。各GPIOポートラインについて、EDnビットは、割り込みが状態変化時に発生するか、ハイからローへの遷移時に発生するかを選択します。したがってGPIO割り込み入力はサポートされていますが、文書化されたエッジの選択は完全に独立した上昇/下降/両エッジセレクタとは異なります。挙げられているモードは「任意の変化」または「高から低」です。
- 専用IRQとGPIO割り込みの比較
主な違いは、割り込みパスと粒度です。
- 専用のIRQ0–IRQ5ピンは、割り込みコントローラ回線に直接接続された外部I/O信号です。割り込み状態は対応するGIC-400レジスタで確認でき、極性はSCFG_INTPCRを通じてプログラム可能です。
- GPIO割り込みは、ピンごとに独立したGIC入力ではありません。GPIOモジュールはGPIER内のピンイベントを検出・保存し、GPIOレジスタを通じてマスキングや制御を適用し、統合されたGPIO割り込み要求を駆動します。参考マニュアルには、すべてのGPIO割り込みがGPIO割り込みソースに対してORでまとめられていると記載されています。
SO、実際のソフトウェア上の違いは、専用IRQはGICレベルで独立した割り込みソースとして扱えるのに対し、GPIO割り込みは通常、ISRがGPIOブロックに入り、どのピンがイベントを引き起こしたかを判別するためにGPIERを読み取り、その後クリアやサービスを行う必要がある点です。
最も遅延に敏感または個別に優先される外部割り込みには専用のIRQピンを使用し、より多くの入力が必要で、共有GPIO割り込み処理に耐えられる場合はGPIO割り込みを使いましょう。
Re: Could I use any GPIO pin as interrupt input signal which worked at edge detection mode?こんにちは、
この質問はLS1021Aに関するものです。どんなご意見でも歓迎いたします!
よろしくお願いいたします!
ジェイソン