エッジトリガーおよびレベルトリガーとはどういう意味ですか?


35

8085マイクロプロセッサアーキテクチャとワードエッジトリガーとレベルトリガーを勉強しているので、非常に混乱しています。誰でもそれを素人の言葉で説明できますか?

RST 7.5、RST 6.5、RST 5.5、およびTRAPという名前の8085の割り込みを調べているときに、これらの言葉に出くわし、混乱させられました。ここで、私が読んでいた1つのドキュメントリンクを添付し、混乱図について言及しました。

文書RST 7.5->エッジトリガーRST 5.5->レベルトリガー。TRAP-> EdgeトリガーおよびLevelトリガー。(なぜですか?違いがありますか?)。

文書リンク


それはpdfではありません。
スターブルー

はい、pdfドキュメントへのリンクです。正しい変更を加えました。
trapaank

回答:


34

私はあなたのドキュメントを本当に読みませんでしたが、なぜあなたが混乱しているのか理解できます。しかし、それは本当に非常に単純な概念です。説明させてください。

トリガー:これは、回路をアクティブにすることを意味します。回路をアクティブにするということは、回路が入力を取得して出力を許可することを意味します。たとえば、フリップフロップがあるとします。回路がトリガーされない場合、たとえ入力データを与えたとしても、フリップフロップ内に保存されているデータは変更されず、出力QまたはQ 'も変更されません。現在、基本的に2種類のトリガーがあります。トリガーは、クロックパルスまたはゲーティング信号の形式で与えられます。使用されるトリガーメカニズムのタイプに応じて、回路はクロックパルスの特定の状態でアクティブになります。

  1. レベルトリガー:レベルトリガーでは、ゲーティングまたはクロックパルスが特定のレベルになると、回路がアクティブになります。このレベルは設計者が決定します。クロック信号が低いときに回路がアクティブになる負のレベルのトリガー、またはクロック信号が高いときに回路がアクティブになる正のレベルのトリガーを使用できます。

  2. エッジトリガー:エッジトリガーでは、クロック信号の負または正のエッジで回路がアクティブになります。たとえば、回路が正のエッジトリガーである場合、クロック信号がLowからHighになる正確な時間に入力を受け取ります。同様に、ネガティブエッジトリガーでクロック信号がHighからLowに移行するタイミングで入力が行われます。ただし、入力後は、次の入力が取得されるまで常に処理できることに注意してください。

これは、トリガーメカニズムの一般的な説明であり、8085割り込みにも適用されます。


よく..エッジトリガーに関しては、通常、エッジの前の少なくとも特定の時間の間、データを短時間安定させなければなりません(データシートを参照してください)。しかし、これらの時間は通常かなり短いです。
ジャストジェフ

私はあなたが説明したいことを理解していますが、8085 TRAPに言及しているもう1つの質問は、エッジトリガーとレベルトリガーの両方です(ドキュメントを参照)。そのため、回路がレベル感知とエッジトリガーの両方である場合の機能は何ですか
trapaank

その場合、エッジも一定のレベルを超えてほしいです。我々は立ち上がりエッジとレベル> 3Vのような何か必要があるので、
スティーブンGoldade

7

8085では、TRAPは通常、電源障害などのエラーを処理するために使用されるマスク不能割り込みです。

レベルトリガーされた場合、マスクできない割り込みであるため、そのコードは実行できません。ハンドラーはアクティブになると実行を開始しますが、アクティブのままなので、ハンドラーは実行を開始しますが、アクティブのままなので、ハンドラーは実行を開始します。など。 。

ただし、ラインにグリッチがある場合、エッジトリガーが問題になります。グリッチにより、回線のグリッチ時にハンドラーが複数回呼び出される場合があります。TRAPはマスク不能であり、RSTが発生するため、TRAPでは非常に大きな問題です。

妥協案として、TRAPはレベルがトリガーされたように動作しますが、前回認識されてからローになった場合にのみ認識されます。これにより、TRAPハンドラーが1回だけ呼び出されます。

これが、「エッジトリガーおよびレベルトリガー」という意味です。


2

* トリガー *は、回路をアクティブにすることを意味します。レベルトリガゲートまたはクロックパルスが特定のレベルにあるとき、回路はアクティブになります。エッジトリガ回路を、クロック信号の負または正のエッジでアクティブになります。


3
これは上で述べたこととほぼ同じです。
ブライアンカールトン

-1

Golažとvszはそれをうまく述べています。

まさにそのとおりです。

エッジ割り込みが設定されている場合、ISRはパルスの立ち下がり/立ち上がりエッジでのみ起動します。レベルセンシティブな割り込み(おっしゃるように)が設定されている場合、対応するピンに低レベル/高レベルの信号があるたびにISRが起動します。

つまり、エッジ割り込みは変化するエッジでのみ発生し、レベル割り込みはパルスがローまたはハイである限り発生します。

したがって、低レベルの割り込みが設定されている場合、ピンがLowである限りMCUはISRの実行を続けます。

つまり、ピンがローである限り、ISRを何度も出て再入力します。

私の印象では、レベルトリガーとエッジトリガーの両方の意味を誰も実際に答えていません。そして、私もそうではありません。

Dクルーガーの答えは、レベルトリガーとエッジトリガーの両方が意味することを正しく説明しています。(少なくとも、私は8085に精通していなくても、彼の答えは正しいように聞こえます。)Golazとvszの答えは、割り込みがマスクされていると仮定しています。「最後に認識されてから低値になったときにのみ認識されることを除いて」、どのように認識されているのかはまだわかりません。ただし、エッジトリガーとは異なります。


ご回答ありがとうございます。しかし、OPは他の何かに移り、おそらく5年前に質問と回答があったので、おそらく妻と子供がいると思います。代わりに新しい質問に答えてみませんか?
MaximGi

3
@MaximGi:私は同意しません。古い質問への回答に問題はありません。フォーラムは、ポスターだけでなく、同じ質問に対する回答を自分で探しているときにここにたどり着く他の人たちも対象としています。新しい答えは、すでに存在するものに情報を追加するだけです。
ミスターミステア

1
@MisterMystère古い質問に答えることに何か問題があるとは決して言わなかった。しかし、この遅い回答は有用なコンテンツを追加しません。質問はすでに適切に回答されています。また、最後のステートメントは偽であり、ルールに違反しています。
MaximGi

@MaximGiよく調べてみると、あなたは正しいと思います。私の最後の声明は間違っていました。修正しました。Golazとvszからの私の引用は、エッジセンシティブまたはレベルセンシティブが自分で意味するものに慣れていない新しいユーザーにとって役立つかもしれません。
ジョサイアヨーダー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.