【復活求む!】惜しくも解散してしまったバンド|J-ROCK編

信号の与え方(受け取り方)として、正論理と負論理があると思いますが、
これらに関してメリット、デメリットという観点でみるとどのようなものがあるのでしょうか。

別の観点からのみかたとか正論理、負論理を決定する理由とかがあるのでしょうか。

例えば、
マイコンのピンとかを見ているとリセット端子とかは負論理になっています。しかし、アドレスやデーター端子は正論理になっています。

どういう理由で使い分けが行われているのでしょうか。

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

tanceです。



正論理、負論理は些細なことで決まることが多いと思います。
習慣
以前の仕様
配線の数
使うICの入出力仕様
集合抵抗でのプルアップやプルダウン
信号源の仕様と断線時のフェールセイフ
外部機器との電源の入り切り関係
などなど、

たとえば、入力を正論理にすると、スイッチをONにしたら電源につなが
なくてはなりません。外部に電源を出さなくてはならなくなります。
その電源は回路の電源そのものでは少々不安です。もし外部でショート
されたら装置全体がダウンしてしまいますから、ショート保護をつけて
スイッチにあげなくてはなりません。・・・面倒ですね。

負論理でも不具合がある場合もあります。スイッチではなくICの出力を
別な機器に与える場合、負論理だと、信号源側の機器の電源が切れた
だけで信号が来たことになってしまうことがあります。(電源が切れた
機器は絶対に"H"を出力することができないから)

正論理で、受け側の機器の電源が切れるとどうなるでしょうか。電源の
切れた機器に外部から信号線を通して電源を与えることになってしまい
ます。これは受け側の機器にとっては自分の電源(0V)を超える過大
入力となり、故障の原因にもなります。

では、受け側の機器の電源をつかって入力信号をもらえばよいので
しょうか。残念ながらそうとも言えません。受け側の機器の電源を
信号源側の機器に与えなければ信号源側の機器は信号を出せないので
電源の受け渡しが必要になります。すると、今度は信号源機器の
電源だけを切ったとき、受け側が信号源機器の電源まで供給する
ことになってしまいます。

このあたりは、うまい問題の避け方があるのですが、論理を変える
だけで問題が避けられるなら一番簡単です。

以上で、だいたい質問に答えていると思います。
    • good
    • 1
この回答へのお礼

丁寧な説明、ありがとうございました。
色々とわかりました。

もし、回答いただいた内容とかが掲載されている、書籍とかホームページとかをご存知でしたら紹介いただきたいです。

お礼日時:2008/09/20 23:07

tanceです。


正論理、負論理の利害得失について書かれたものは見たことがないですね。
特別な理由がある場合には解説されることはありますが、一般的には
なかなか一概には言えないモノなのだと思います。

汎用論理ICの入出力論理でもわざわざ別の型番として逆論理のバージョン
を用意したりしています。
    • good
    • 0
この回答へのお礼

たびたびの回答、ありがとうございました。

お礼日時:2008/09/25 17:03

制御線が負論理なのはANo3さんのおっしゃる歴史的な背景が大きいでしょうね。



今ではCMOS回路が一般的ですが、一昔前はTTLが主流でした。
TTLは LOW⇒HIGH よりも HIGH⇒LOW への変化の方が急峻に変化します。
したがって負論理のほうが回路の速度が上げられるというメリットがありました。
TTLの閾値はLOWに近い側にありますので、誤動作を防ぐ意味もあったようです。
http://www.m-system.co.jp/mstoday/plan/mame/2000 …

また、負論理だとワイヤードORという手法も使えたりします。
    • good
    • 0
この回答へのお礼

>制御線が負論理なのはANo3さんのおっしゃる歴史的な背景が大きいでしょうね。

なるほど。
------
ホームページ、とても参考になりました。
------
ありがとうございました。

お礼日時:2008/09/20 11:13

正論理か負論理かの選択には別の見方もあります。

負論理は"L"を
アクティブとしますが、"L"は大抵の場合電気的にはGNDであり、他の
システムや外部機器との共通電位になっていることが圧倒的に多いです。
つまり、外部機器との共通点であるGNDをアクティブと定義することで
メリットが出ることがあります。

無電圧接点という単なる押しボタンスイッチのようなものは信号と
GND間をスイッチでショートするようにすると間違いなく信号が伝わります。
これを正論理にすると、スイッチで電源電圧を与える必要が出てきます。
すると、スイッチのところまで電源線と信号線を引っ張る必要があり、
共通GNDを引っ張るより神経を使います。(ショートすると大変etc.)

細かい気配りですが、共通GNDに対して配線する方が間違いもなく、電源
の投入順序なども気にする必要がなくなります。

さらに歴史的な面もあります。昔は論理ICはバイポーラのTTLが主流
でした。その当時は高速のICを作るためにNPNのトランジスタしか使え
ませんでした。NPNのトランジスタはONすると出力がGNDになります。
つまりONをアクティブと考えると負論理となります。この当時の習慣が
今も受け継がれている部分もあると思います。

この回答への補足

>他のシステムや外部機器との共通電位になっていることが圧倒的に多いです。
>つまり、外部機器との共通点であるGNDをアクティブと定義することで
メリットが出ることがあります。

なるほど。
逆に、電源電圧側をアクティブにすると外部機器との整合が取りにくくなるということでしょうか。その理由は何でしょうか(ノイズとか?)。
------
>正論理にすると、スイッチで電源電圧を与える必要が出てきます。
>すると、スイッチのところまで電源線と信号線を引っ張る必要があり、
>共通GNDを引っ張るより神経を使います。(ショートすると大変etc.)

正論理にすると「回路の引き回しが面倒になる」というデメリットがあるという理解でいいでしょうか。
-----
>細かい気配りですが、共通GNDに対して配線する方が間違いもなく、電源
>の投入順序なども気にする必要がなくなります。

正論理にした場合に「電源の投入順序」を気にしなければならない理由にはどのようなものがあるのでしょうか。
-----
>さらに歴史的な面もあります。

なるほど。
-----
いくつか追加質問をさせていただきました。
よろしくお願いいたします。

補足日時:2008/09/20 10:56
    • good
    • 0

>別の観点からのみかたとか正論理、負論理を決定する理由とかがあるのでしょうか。



理由がある場合もあれば習慣的にそうなっているだけの場合もあるでしょう。

>リセット端子とかは負論理になっています。
これは基本は負論理ですね。正論理というのは無いかあっても特殊でしょう。
これは理由があって、そのほうが都合がよいからです。
たとえば、電源投入してからしばらくはリセットを効かせたいとすると(電源投入直後の不安定な時期にマイコンが動いて暴走しないようにするため)、負論理であれば、抵抗とコンデンサで簡単にそういう遅延が出来ます。

たとえば、正論理であってほしいもので考えると、何かを動作させるような信号線の場合には、正論理の方が安全であるなどの場合があります。
電圧0Vで動作するとすれば、コントロール回路異常や配線の断線などでも動作してしまうからよくありませんよね。
    • good
    • 0
この回答へのお礼

>理由がある場合もあれば習慣的にそうなっているだけの場合もあるでしょう。
「習慣」も理由のひとつなのですね。
-------
>これは理由があって、そのほうが都合がよいからです。
>たとえば、電源投入してからしばらくはリセットを効かせたいとすると(電源投入直後の不安定な時期にマイコンが動いて暴走しないようにするため)、負論理であれば、抵抗とコンデンサで簡単にそういう遅延が出来ます。

なるほど。
-------
>たとえば、正論理であってほしいもので考えると、何かを動作させるような信号線の場合には、正論理の方が安全であるなどの場合があります。
電圧0Vで動作するとすれば、コントロール回路異常や配線の断線などでも動作してしまうからよくありませんよね。

フェイルセーフ動作ということですね。
-------
ありがとうございました。

お礼日時:2008/09/20 10:53

> これらに関してメリット、デメリットという観点でみるとどのようなものがあるのでしょうか。


扱う人の問題ですから、この質問はナンセンスです。

> 別の観点からのみかたとか正論理、負論理を決定する理由とかがあるのでしょうか。

論理1,0をH(高い方の電圧レベル),L(低い方の電圧レベル)に対応させるとき、何も入力しないとき、回路動作が無害、何か機能を働かせる為の信号をある意図をもって作って入力したいとき、その能動的にその信号を与えるように信号の論理(正論理・負論理)を決めるのが普通です。
アドレスは1000番地を2進数に直して2進アドレスをアドレス線(ピン)に入力する、データーについても30というデータを2進数に変換しそのまま2進データをデータ線(ピン)に入力する、それが正論理の入力になります。つまり、2進の1をH,2進の0をLの電圧に対応させます。番地のアドレスは2進アドレス値をそのまま正論理で与えます。データについてもそのまま正論理で与えます。
リセット端子は普段プルアップ抵抗で高い電圧(H=1)に保持しておきます。この状態でリセットは無効になっています。リセットしたい時に初めてプルアップされたリセット端子を低い電圧(L=0)にしてやります。ルセットを働かせる(有効にする)のに0を入力しますので、負論理という事です。

>どういう理由で使い分けが行われているのでしょうか。
その信号が意味を持つ、あるいは機能する論理が
H=1であれば正論理、L=0であれば負論理
という事です。

この信号端子を働かせるには論理L=0を入力すれば良いとき、負論理の入力端子という事になります。
この端子に論理H=1を入力すれば機能する、本来の信号の意味になるとき、正論理入力端子という事になります。
出力端子についても、その信号を別の回路の入力信号の論理にあわせて、使いやすいように正論理、負論理の出力が選択されます。

論理0で意味を持つ信号(論理0で機能する信号)を負論理信号、
論理1で意味を持つ信号(論理1で機能する信号)を正論理信号、
と考えればいいですね。実回路では論理回路を使わないとき、
その端子の論理を不確定にしない為、高い電圧にプルアップ
しますが、その場合、ちゃんと回路が正常に動作するように
制御信号ピンの論理が決められており、負論理の制御信号が多い
ですね。

この回答への補足

説明、ありがとうございます。

>扱う人の問題ですから、この質問はナンセンスです。

これは、扱う人によって「自由に決めていい」という理解でいいでしょうか。
---------
>何も入力しないとき、回路動作が無害、何か機能を働かせる為の信号をある意図をもって作って入力したいとき、その能動的にその信号を与えるように信号の論理(正論理・負論理)を決めるのが普通です。

なるほど。
いわゆる、「フェイルセーフという観点」という理解でいいでしょうか。
---------
>番地のアドレスは2進アドレス値をそのまま正論理で与えます。データについてもそのまま正論理で与えます。
>リセット端子は普段プルアップ抵抗で高い電圧(H=1)に保持しておきます。この状態でリセットは無効になっています。リセットしたい時に初めてプルアップされたリセット端子を低い電圧(L=0)にしてやります。ルセットを働かせる(有効にする)のに0を入力しますので、負論理という事です。

マイコンにとってみれば、アドレスも、リセットも入力だと思いますが、どうして正論理と負論理の使い分けをしているのでしょうか。
---------
>実回路では論理回路を使わないとき、
>その端子の論理を不確定にしない為、高い電圧にプルアップ
>しますが、その場合、ちゃんと回路が正常に動作するように
>制御信号ピンの論理が決められており、負論理の制御信号が多いですね。

一つ前の質問とかぶる気もしますが、「その端子の論理を不確定にしない為」ということであれば、アドレスもリセットもすべて負論理にすればいいような気がします。なにがちがうのでしょうか。
---------
たくさんの追加質問で申し訳ございません。

補足日時:2008/09/20 10:37
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q論理回路の負論理が理解できない

論理回路の負論理がなかなか理解できません。
「H」なら 「0」
「L] なら 「1」
ということは分かるんですけど。

論理回路の「Not」の記号は出力部分に丸がありますよね?
これは負論理を表すのですか?
例えば、私の考えはこうです。
この「Not」に「H」を入力すると、出力は「L」になります。
入力は正論理だから「H」は「1」を表します。
出力は負論理だから「L」は「1」を表します。
入力が「1」で出力が「1」??
となってしまうわけです。
「NAND」や「NOR」も同様です。

そもそも実際の回路上で負論理と正論理がどのように使われるのかあやふやな感じです。
実際の回路は「H」と「L」の世界なわけで、そこに「0」や「1」が何時出てくるのかなと...

長文でごめんなさい。
どなたか私の疑問を解消してください。

Aベストアンサー

電圧が高い方がHで低い方がLですね。
1と0は論理の「真」と「偽」ですから、
 正論理の場合は、Hなら1でLなら0
 負論理の場合は、Hなら0でHなら1
ということです。

例えば、RESETという信号を持っているICがあるとしましょう。
リセットの状態が論理的に真(1)です。
この信号がHの時にICがリセット状態になるのならこの信号は正論理の信号です。
逆にLの時にICがリセットされればこの信号は負論理の信号です。
回路図でICのこのピンの信号は負論理ですよ~と明示したいときに○がついてます。

普通に回路を見るときは正論理・負論理を気にすることはないと思います。すべて正論理で考えて○=NOTでもあまり不都合はないのでは?

Qデジタル回路の正論理と負論理の用語について教えてください。

デジタル回路の正論理と負論理の用語について教えてください。

正論理の場合、電圧が高いときが「真」、低いときが「偽」
負論理の場合、電圧が高いときが「偽」、低いときが「真」
ですよね。。

ここで、H/Lとか、0/1という記号であらわす場合は、
正論理はH=真/L=偽、1=真/0=偽
負論理はH=偽/L=真、1=偽/0=真
でよいのでしょうか?
ネットで調べてみたら、負論理について
電圧が低いときが0、高いときが1
電圧が低いときが1、高いときが0
と、逆の説明があって混乱しています。

あと、
正論理で電圧が高いとき、負論理で電圧が低い時を「アクティブ」と表現することがありますが、
この逆は英語で何というのでしょうか?
英語的には「インアクティブ」な気もするのですが・・・Googleで検索すると少数派な感じです。。

Aベストアンサー

正論理はH=真/L=偽、1=真/0=偽  これは正しい
負論理はH=偽/L=真、1=偽/0=真  これは間違い

正しくは 負論理はH=偽/L=真、1=真/0=偽

正論理、負論理を使っていたのは昔の話です。

正論理、負論理に分類できない信号というのもあります。
例えばHで読み出し信号、Lで書き込み信号に使う信号線があります。
この場合、読み出しから見れば正論理で、書き込みから見れば負論理です。
正負にこだわると読み出し時は正論理の1を出力し、書き込み時は負論理の1を出力するなどとなって間違いの元になります。
他の例では、バスの方向を変える信号があります。
HではバスA入力→バスB出力、LではバスB入力→バスA出力に切り替えます。

「アクティブ」/「インアクティブ」ではなく、「アサート」/「ネゲート」という言葉を使う場合も有りました。

昔は正論理を負論理に変換することでゲートの数を減らすなどということをしていましたが
今ではそのような問題はソフトウエアが解決してくれます。
教養としては知っていたほうが良いですが、論理設計の主流は回路図からVHDLなどの言語に移行しています。
テストの点数を取るためには必要ですけどね。

正論理はH=真/L=偽、1=真/0=偽  これは正しい
負論理はH=偽/L=真、1=偽/0=真  これは間違い

正しくは 負論理はH=偽/L=真、1=真/0=偽

正論理、負論理を使っていたのは昔の話です。

正論理、負論理に分類できない信号というのもあります。
例えばHで読み出し信号、Lで書き込み信号に使う信号線があります。
この場合、読み出しから見れば正論理で、書き込みから見れば負論理です。
正負にこだわると読み出し時は正論理の1を出力し、書き込み時は負論理の1を出力するなどとなって間違いの元になりま...続きを読む

QCMOSゲートはなぜ負論理(NAND、NOR)?

大学でCMOSについて勉強をしました。
ここでひとつ疑問を持ちました。
なぜCMOSゲートはAND、ORではなくNAND、NORを使うのでしょうか?
人間の感覚から言って、AND,ORを使用したほうが自然だと思います。
NANDとNORだけで全ての論理が記述可能だそうですが、きっと実際はNOTも使うでしょう。
またゲートを構成する際に必要な面積は、ANDでもORでも
NMOS2個、PMOS2個で変わらないと思います。
わざわざドモルガンの法則で論理式を変換するのが面倒です。
お解りになられる方がいらっしゃいましたら力を貸してください。
お願いします。

Aベストアンサー

実は、CMOSの場合は、AND OR の方が作りやすいのです。
ICの内部等値回路をしらべて見てください。1段ではスレッショルドが不安定でファンアウトが不足。で、バッファを入れると論理が反転して、ANDとORに。初期のCMOS-ICはANDとORとNOTが基本でした。現在のNAND-NORは3段構成になっています。わざわざ反転しているのは・・・

CMOSロジックICが登場した頃、デジタルICの主流はDTLからTTLに移ってましたが、どちらもICの構成上NANDが基本でした。最初にの頃のCMOS-ICにはNANDやNORはありませんでしたが、後にNANDやNORも登場しました。設計者としては、応用例の豊富さや馴染みの点でAND-OR型よりもNAND-NOR型を使方が気楽で、ピン接続がTTLと同じ74Cや74HCシリーズが出てからは置き換え等も可能なので、こちらのシリーズ圧倒的にが売れた(4500シリーズなどすぐに消滅した)ようです。つまり、すでに普及していたTTLの74シリーズと動作を揃えるために敢えてNAND-NOR型にしたと言えるでしょう。

DTLやTTLでロジック設計始めた頃は、馴染むまでは何となく違和感がありましたが、性能や価格のためなど(DTLではNAND-NORでの回路構成にはいろいろ技があったし)の理由もあり、「そんな物」と思ってやってました。一度慣れてしまうと、正負どちらの論理(というかどちらとも言い難い)でも組めるようになりますし。

実装やコスト面も考えると、NAND-NORは余りゲートがあればNOTとして使えますが、AND-OR型だと、1ゲートでも反転が必要な時にはICが1個増えてしまいます。回路の中で1個のNOTが必要な場合、遠くにあるICのゲートまで配線するよりも、近いNANDやNORを代用する方が合理的な事が多いです。案外これがいちばんの理由かも。

実は、CMOSの場合は、AND OR の方が作りやすいのです。
ICの内部等値回路をしらべて見てください。1段ではスレッショルドが不安定でファンアウトが不足。で、バッファを入れると論理が反転して、ANDとORに。初期のCMOS-ICはANDとORとNOTが基本でした。現在のNAND-NORは3段構成になっています。わざわざ反転しているのは・・・

CMOSロジックICが登場した頃、デジタルICの主流はDTLからTTLに移ってましたが、どちらもICの構成上NANDが基本でした。最初にの頃のCMOS-ICにはNANDやNORはありませんでしたが、後にN...続きを読む

Qプルアップ抵抗値の決め方について

ほとんどこの分野に触れたことがないので大変初歩的な質問になると思います。

図1のような回路でプルアップ抵抗の値を決めたいと思っています。
B点での電圧を4.1Vとしたい場合について考えています。その場合、AB間での電圧降下は0.9Vとなります。

抵抗値×電流=0.9Vとなるようにプルアップ抵抗の値を決めるべきだと考えていますが、この抵抗に流れる電流が分からないため、決めるのは不可能ではないでしょうか?

抵抗値を決めてからやっと、V=IRより流れる電流が決まるため、それから再度流れる電流と抵抗を調節していって電圧降下が0.9Vとなるように設定するのでしょうか。どうぞご助力お願いします。



以下、理解の補足です。
・理解その1
ふつう、こういう場合は抵抗値を計算するためには、電圧降下と抵抗に流れる電流が決まっていることが前提だと考えていました。V=IRを計算するためには、この変数のうち2つを知っていなければならないからです。
また、例えば5V/2Aの電源を使った場合、マイコン周りは電源ラインからの分岐が多いため、この抵抗に2A全てが流るわけではないことも理解しています。

電源ラインからは「使う電流」だけ引っ張るイメージだと理解しているのですが、その「使う電流」が分からないため抵抗値を決定できません。(ポート入力電流の最大定格はありますが…)


・理解その2
理解その1で書いたように、抵抗値を計算するためには、電圧降下と抵抗に流れる電流が必要だと理解しています。図2を例に説明します。Rの値を決めたいとします。
CD間の電圧降下が5Vであることと、回路全体を流れる電流が2Aであることから、キルヒホッフの法則より簡単にRの値とそれぞれの抵抗に流れる電流が分かります。今回の例もこれと同じように考えられないのでしょうか。

ほとんどこの分野に触れたことがないので大変初歩的な質問になると思います。

図1のような回路でプルアップ抵抗の値を決めたいと思っています。
B点での電圧を4.1Vとしたい場合について考えています。その場合、AB間での電圧降下は0.9Vとなります。

抵抗値×電流=0.9Vとなるようにプルアップ抵抗の値を決めるべきだと考えていますが、この抵抗に流れる電流が分からないため、決めるのは不可能ではないでしょうか?

抵抗値を決めてからやっと、V=IRより流れる電流が決まるため、それから再度流れる電流と抵抗を調...続きを読む

Aベストアンサー

NO1です。

スイッチがONした時に抵抗に流れる電流というのは、最大入力電流や最大入力電圧
という仕様から読めば良いのでしょうか。
→おそらくマイコンの入力端子の電流はほとんど0なので気にしなくてよいと思われます。
入力電圧は5Vかけても問題ないかは確認必要です。

マイコンの入力電圧として0Vか5Vを入れたいのであれば、抵抗値は、NO3の方が
言われているとおり、ノイズに強くしたいかどうかで決めれば良いです。
あとは、スイッチがONした時の抵抗の許容電力を気にすれば良いです。
例えば、抵抗を10KΩとした場合、抵抗に流れる電流は5V/10kΩ=0.5mAで
抵抗で消費する電力は5V×0.5mA=0.0025Wです。
1/16Wの抵抗を使っても全く余裕があり問題ありません。
しかし、100Ωとかにしてしまうと、1/2Wなどもっと許容電力の大きい抵抗を
使用しなければいけません。
まあ大抵、NO3の方が書かれている範囲の中間の、10kΩ程度付けておけば
問題にはならないのでは?

Q回路の用語でNCとは何ですか?

http://jp.hamamatsu.com/resources/products/ssd/pdf/s7379-01_etc_kmpd1053j06.pdf

このページの「外形寸法図」のところに書いてある
NCって何なのでしょうか?
お願い致します。

Aベストアンサー

ノーコネクト(NoConnect)の略で、どこにもつながらないと言うことです。

QIC未使用端子処理のプルダウン/プルアップ抵抗

2点質問させて頂きます。

1点目
ICの未使用端子処理は、抵抗を介してプルダウンまたはプルアップ抵抗を接続して下さいという記述を多々見ます。普段、10kΩを繋いでいるのですが疑問があります。

この抵抗はどれだけ小さくても、またどれだけ大きくても良いのでしょうか。理由も併せて教えて頂けないでしょうか。抵抗が必要な理由も理解できません。

2点目
常にHレベル入力 / 常にLレベル入力の端子は抵抗を介さずに電源ライン / GNDに繋いでも良いのではないでしょうか。そのような回路は見たことがないので問題があるためだと思いますが、何故なのでしょうか…。

以上、よろしくお願い致します。

Aベストアンサー

こんにちは。

ごもっともな疑問と思います。私も悩んだことがあります。
2点まとめて回答してみましょう。
ポイントは、「基本的には、おっしゃるとおり、電源/GNDに直付けでよい。まあ、わずかながらの”消費電流”を考えると・・・」

 まず、プルアップ/ダウンの必要性はご理解のようですね。入力端子については、周囲の雑音(電磁波)により電圧が変動すると中にある(増幅または増幅同等の機能のある)回路が動作してしまい、それにより回路内部にさらなる雑音を発生させたり消費電流が大きくなったりするので、これを止めたいというもの。

 これを止めるためには入力端子の電圧を確定させればよいので、電源やGNDに直付けでも良いだろうというご意見はそのとおりで、質問者さんはご経験になっていないようですが、私は実用回路でもしばしば目にしています。(特にGNDに直付け。)

 さて、他方、抵抗を介してのプルアップ/ダウンも多いですね。これは、主に「消費電流」に関する次のような考え方によります。
・ICなどの入力端子が流れ出し型なのか流れ込み型なのかわからない
 話の単純化のためにバイポーラトランジスタ(FETではない旧来型トランジスタ)を前提にしてお話しましょう。
トランジスタにはPNP型とNPN型があり、いずれも入力端子は「ベース」と呼ばれますが、PNP型はベースから電流が流れ出そうとしており、大きく流れ出させる(Lo。GNDにつなぐ)とオンになります。
この際、入力端子回路そのもので電流(電力)を食うほか、内部の(少なくとも初段の)トランジスタも大きな電流を消費します。
NPN型では流れ込み型なので、入力電流を大きく流れ込ませる(Hi。電源ラインにつなぐ)と消費電流が大きくなります。
 このため、プルアップ/ダウンはPNPならアップ、NPNならダウンにしたいところですが、ICごとにいちいち内部回路(等価回路)を確認するのは大変。
 そこで、適当に抵抗をつないで妥協を図る・・・というのはご理解いただけるでしょう。
(消費電力を極限まで低下させる場合で量産品として社会的影響が大きい場合などはIC内部の等価回路まで確認してアップ/ダウンを決めます)

・抵抗値の適正な値は?
 さて、基本的には短絡(0オーム)でも良いので、抵抗値問題としては「どのくらい大きくできるか」・・・になりますね。
 抵抗を入れるのが妥協策である以上、最終的には消費電流と耐ノイズ性の妥協点であり、経験という面になってきますが、関係するのは「入力インピーダンス」になります。
「入力インピーダンス」は見かけ上の入力端子(とGND間)の抵抗で、通常はこれが極めて大きい故に端子電圧が「あばれる」ことになりますので、外付け抵抗はこれより十分に小さい必要があります。
 これも、結局はICごとに異なるので、最適な値というのは内部等価回路を知って決めることになりますが、もともと大した問題ではないので、経験的に多くのICが100kオーム~1Mオームのインピーダンスを持つことを前提に、それより十分小さい値として1k~10kオーム程度を選ぶ・・・というところでしょう。
 さらに、余談ですが、私は、自分で作った回路(装置)に後日、臨時のテストや修正、改造を加えることが多く、その際には配線が小さすぎてプルアップ抵抗を切り離すのに苦労することがあるので、大き目の10k~50kオームを選んでおきます。すると、プルアップ(hi)に固定したものを臨時にLo(GNDに短絡)したり、プルアップを放置したまま前段に別の回路を接続するといった無茶なことも可能です。(事前に短絡してあると変更の際は必ず切らなければならない)

 さてさて、いかがでしょうか。
私が見落としている理由もあるかもしれませんが、お役に立てば幸いです。

こんにちは。

ごもっともな疑問と思います。私も悩んだことがあります。
2点まとめて回答してみましょう。
ポイントは、「基本的には、おっしゃるとおり、電源/GNDに直付けでよい。まあ、わずかながらの”消費電流”を考えると・・・」

 まず、プルアップ/ダウンの必要性はご理解のようですね。入力端子については、周囲の雑音(電磁波)により電圧が変動すると中にある(増幅または増幅同等の機能のある)回路が動作してしまい、それにより回路内部にさらなる雑音を発生させたり消費電流が大きくなったりするの...続きを読む

QC-MOS ICの未使用ピンの処理について

C-MOSのICの未使用の入力端子を電源や、GNDに固定しないといけないのはなぜですか?
絶縁破壊と関係がありますか?
それともラッチアップと関係があるのですか?

Aベストアンサー

入力を固定しないと、それを受けた2つのトランジスタスイッチ(P-ch、N-ch)が同時にONになるため貫通電流が流れます。
これが原因で、CMOS構造の中に出来ている寄生トランジスタやサイリスタが反応してしまって、
大電流が流れ、入力を固定しても元に戻らない場合があります。これがラッチアップ現象です。

2つのスイッチは信号が0->1、1->0に切り替わるときに嫌でもONしてしまいますが
瞬間的なら大丈夫なのです。余談ですが、PCのCPUが速くなるにつれて電流を食ってしまうのは
同時にONする周期が速くなっているためです。

ラッチアップが起きてもその時間がそれぞれのLSIで耐えうる時間であれば電源を切って復帰できますが、
耐えられなかった場合、絶縁膜破壊を起こし、そのLSIは2度と使えなくなります。

QTera Term の使い方について

お世話になります。
Tera Termの使い方が分からず、ご教授いただけませんでしょうか。
具体的には、下記リンクの画面6のように、
http://www.atmarkit.co.jp/fnetwork/rensai/tcp01/01.html

Tera Termの画面に、
GET http://www.atmarkit.co.jp/fnetwork/accesstest/at.html
を入力し、その結果を表示させたいのですが、画面自体に入力ができないのです。

ご存知の方、アドバイス方、よろしくお願いします。

Aベストアンサー

ringo105さん
>カラ打ちとなり、画面に入力自体ができません

ではカラ打ちのままでいいので、何か適当な文字で
「get dddd」のように打って
リターンキーを押してみても反応はありませんか?

↓下のようになものが返って来たら、NO.2さんのおっしゃるように、
ローカルエコーがオフで表示されてないだけだと思います。

-----------------------------------------------
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
Invalid URI in request get dddd<P>
</BODY></HTML>
-----------------------------------------------


@ITのページの説明にあった、
Teraterm.iniの
TCPLocalEcho=on
TCPCRSend=CRLF

をもう一度確認してもみてください。

ringo105さん
>カラ打ちとなり、画面に入力自体ができません

ではカラ打ちのままでいいので、何か適当な文字で
「get dddd」のように打って
リターンキーを押してみても反応はありませんか?

↓下のようになものが返って来たら、NO.2さんのおっしゃるように、
ローカルエコーがオフで表示されてないだけだと思います。

-----------------------------------------------
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Ba...続きを読む

Q計算値と理論値の誤差について

交流回路の実験をする前に、ある回路のインピーダンスZ(理論値)を計算で求めたあと、実験をしたあとの測定値を利用して、同じ所のインピーダンスZ(計算値)を求めると理論値と計算値の間で誤差が生じました。
そこでふと思ったのですが、なぜ理論値と計算値の間で誤差が生じるのでしょうか?また、その誤差を無くすことはできるのでしょうか? できるのなら、その方法を教えてください。
あと、その誤差が原因で何か困る事はあるのでしょうか?
教えてください。

Aベストアンサー

LCRのカタログ値に内部損失や許容誤差がありますが、この誤差は
1.Rの抵抗値は±5%、±10%、±20% があり、高精度は±1%、±2%もあります。
2.Cの容量誤差は±20% 、+50%・ー20% などがあり
3.Lもインダクタンス誤差は±20%で、
3.C・Rは理想的なC・Rでは無く、CにL分、Lに抵抗分の損失に繋がる成分があります。
これらの損失に繋がる成分は、試験周波数が高くなると、周波数依存で増大します。
また、周囲温度やLCRの素子自身で発生する自己発熱で特性が変化します。
測定器や測定系にも誤差が発生する要因もあります。
理論値に対する測定値が±5%程度発生するのは常で、実際に問題にならないように、
LCRの配分を工夫すると誤差やバラツキを少なく出来ます。
 

QUDP通信する時に、相手にどうやって自分のポート番号を教える?

UDP通信する時に、相手(送信側)にどうやって自分(受信側)のポート番号を教えるのでしょうか?

例えば、下記のページのサンプルだと、受信側は5555で待ち受けていますが、この場合は送信側はあらかじめ受信側が5555で待ち受けていると知っています。送信側が知らない場合に、どうやって受信側のポート番号を知らせればよいのでしょうか?

http://www.hellohiro.com/datagram.htm

Aベストアンサー

#1です。

> 受信側は
> DatagramSocket
> を引数なしでインスタンス化して、receiveメソッドを動かせば、そこに返ってくる、ということなのでしょうか?

「返ってくる」というのはレスポンスのことでしょうか。その前提で話をします。

最初の回答のA→B(リクエスト)とB→A(レスポンス)のうち,Aがこの質問のとおりに動作するには,Bが以下のような動作を行う必要があります。逆にBが以下のような動作をするならAの動作はご質問のとおりです。

1)Aは引数なし,Bは固定のポートを指定してインスタンス化。
2)Aは送信するリクエストパケット(DatagramPacket)を作り,これにBのIPアドレスとポートをセットして送信。
3)BのIPアドレス・ポートにAからのパケット到着。Bはこれをreceiveメソッドで受け取る。
4)BはAからのパケットに含まれるAのIPアドレスとポート番号を取得する(DatagramPacketのgetSocketAddressメソッドで多分取得可)。
5)Bはレスポンスを作成し,取得したAのIPアドレスとポートをレスポンスパケット(DatagramPacket)にセットしてこれを送信。
6)AのIPアドレス・ポートにBからのパケット到着。Aはこれをreceiveメソッドで受け取る。

UDPでは,リクエストを送って相手がそれを受け取れば,UDP通信はそれでおわりです。リクエストに対してレスポンスを返す場合,送信側と受信側が入れ替わって新規のUDP通信を始めることになります。

#1です。

> 受信側は
> DatagramSocket
> を引数なしでインスタンス化して、receiveメソッドを動かせば、そこに返ってくる、ということなのでしょうか?

「返ってくる」というのはレスポンスのことでしょうか。その前提で話をします。

最初の回答のA→B(リクエスト)とB→A(レスポンス)のうち,Aがこの質問のとおりに動作するには,Bが以下のような動作を行う必要があります。逆にBが以下のような動作をするならAの動作はご質問のとおりです。

1)Aは引数なし,Bは固定のポートを指定し...続きを読む


人気Q&Aランキング