私のキャリアでは、アクティブローの信号に頻繁に遭遇しました(リセットが最も一般的です)。私はすべての制御信号がアクティブに低いインターフェースを見てきました。
私にとって、これは非常に直感的でわかりにくいものです。なぜ積極的に低く使用する必要があるのですか?それは単に歴史的なものですか、それともそれを説明する実際のゲート数/電力の懸念がありますか?
私のキャリアでは、アクティブローの信号に頻繁に遭遇しました(リセットが最も一般的です)。私はすべての制御信号がアクティブに低いインターフェースを見てきました。
私にとって、これは非常に直感的でわかりにくいものです。なぜ積極的に低く使用する必要があるのですか?それは単に歴史的なものですか、それともそれを説明する実際のゲート数/電力の懸念がありますか?
回答:
歴史的なデジタル設計では、アクティブLOW信号を使用することで設計内のゲート数を削減できるため、回路のコストを削減できる場合は常に使用されます。すべてのロジックは基本的に反転(NAND)ゲートから構築されているため、ディスクリートロジックよりもICデザインでさらに一般的だったと想像できますが、私はその分野では経験がありません。
このレベルの最適化は、今日ではめったに必要とされないか、少なくとも合成ツールによって自動的に実行されるため、設計者には透過的です。お気づきのように、アクティブLOW信号が依然として非常に一般的に見られるのはごくわずかです。
リセットや割り込みなどの機能のアクティブLow信号の利点の1つは、オープンコレクター出力を使用するだけで、アクティブLow信号の「ワイヤードOR」ロジックを簡単に作成できることです。
つまり、リセットまたは割り込みを引き起こすことができる必要があるいくつかの異なる回路がある場合、それぞれは〜RESETまたは〜INTワイヤに接続されたオープンコレクタ出力を持つことができます。その後、それらのいずれかがラインをローに引き下げ、信号を結合するための追加のロジックを必要とせずに適切な応答を引き起こすことができます。
TTLなどのロジックファミリでは、オープン端子はHighとして解釈されます。これは、ロジック0入力を検出するために電流シンクロジックに依存しているためです。
ピンをアクティブLOWに設計すると、意図的な論理状態が適用される場合にのみ機能します。あいまいな浮動入力条件を回避します。
アクティブLOW信号は、一部のロジックファミリ、特に古いTTLでノイズに対する耐性が高くなっています。
高TTL信号は、少なくとも2.8Vの出力で、2.0Vの入力まで低くする必要があります。これにより、電圧降下とノイズのマージンが0.8Vになります。さらに、マージンを増やすために、5V電源にプルアップ抵抗を追加できます。
低TTL信号は、0.4Vを超えないようにする必要があり、最大0.8Vを入力できます。これにより、電圧降下とノイズに対するマージンは0.4Vになります。
いずれかのレベルを使用して、いずれかの論理状態を表すことができます。ただし、信号が最も時間を費やす状態に対して最もノイズ耐性の高いレベルを選択することは理にかなっています。
多くの信号は、ほとんどすべての時間を非アクティブにします。したがって、ノイズが発生しやすい低レベルを使用して、頻繁に発生しないアクティブ状態を表し、よりノイズ耐性の高い高レベルを使用して、頻繁に発生する非アクティブ状態を表すことをお勧めします。
論理信号には2つの状態があります。どちらをオンまたはオフにするか、またはオンまたはオフの通信に使用するかは完全にあなた次第です。高いことをオンにしたり、真実にしたりすることは、低いほど正しいことはありません。
それがあなたにとって直感的でないという事実は、システムを設計する際には無関係です。高は真を示すべきだと思うかもしれませんが、それは他の誰かにとって完全に逆の場合があります。優れた技術者は、宗教的な意味にこだわるのではなく、意味のあることをしようとします。時々それは重要ではありません、そして、あなたはあなたの好みが何でも選ぶようになります。時々それは重要です。
たとえば、通信する必要がある回路は、通常グラウンドと呼ばれる1つの共通ネットを共有するのが便利であり、ほとんどのロジック回路は、正の電源を必要とするように進化しました(それについて考えてみてください、逆も同様です) 、ロジック信号は通常、グランドまたは正電源レベルのいずれかになります。通常開いている押しボタンからデジタル入力を駆動する必要があるとしましょう。特に、そのプッシュボタンが物理的に回路に正しく取り付けられていない場合、プッシュボタンの片側をグランドに接続すると便利です。つまり、ボタンが押されると反対側が地面に駆動されます。これは本質的に負のロジックを作成します。つまり、ローは押されたことを示し、ハイ(パッシブプルアップあり)は解放されたことを意味します。このラインがマイクロコントローラーに接続された場合、宗教上の理由だけでインバーターを追加するのは愚かなことです。マイクロのファームウェアは、押されていることを表すどちらの極性にも対応できるため、迷信を飽和させる以外に、インバーターはスペース、電力、およびコストの無駄になります。