電源が違う信号接続のはなし
電源が違う信号接続のはなしとは
アナログ用とデジタル用とが電源が別だったり、マイコン用の5Vとリレー駆動用の電源が24Vなどで異なり、駆動部の電源が別などの場合、タイミングによっては相手先がまだ電源ONになっていない場合や、省電力のため電源を落としている場合があったりして、マイコン側で High を出力した場合に、思わぬ大電流が流れてトラブることがあります。
左の図の一番上は、このようなトラブルが起こる原因を示しています。特に CMOS出力とCMOS入力が接続された場合、相手側の電源が入っていないと、入力側ICのポートの保護ダイオードによって入力されたHighレベルの信号が相手側のVdd電源ラインを通じてGNDに落ちてしまうからです。
相手側電源にあまり他のデバイスが繋がっていない場合には相手側 Vcc が0Vより上昇する程度ですが、他に繋がっている場合電流が流れ、出力側の ICが発熱したり、壊れたりします。
解決策は?
一番単純なのは、受け側にトランジスタ等を使って、抵抗で電流制限して ON/OFFを受け取る方法です。(図の中央)、出力された High 信号は比較的大きな抵抗 R で制限されますので、受け側の電源に関係なく出力出来ます。リレー等のドライブに電源電圧が異なる場合等の対策にも使われます。
しかしながら、比較的高速で ON/OFFしたい場合は、トランジスタでは問題になります。その場合は出力側のポートをオープンドレイン出力にします。
マイコン等のポート設定で Vdd側のトランジスタを OFFしてオープンドレイン出力が出来るものも多くなっていますので、この設定にして、出力ポートを Hign レベルにするのには、プルアップ抵抗R を使ってHighレベルを確保します。この抵抗は高速にする場合は数 kΩまで下げる場合が必要ですが、 I2C 通信等では相手先のドライブ能力等も考慮して通常 10kΩ〜4.7kΩ程度が用いられます。
またオープンドレインで、プルアップ抵抗を相手側の Vdd に接続することにより、例えば出力側電源が 5Vであり、相手先が 3.3Vなどの電圧が異なる場合の伝達にも使われます。
左の図の一番上は、このようなトラブルが起こる原因を示しています。特に CMOS出力とCMOS入力が接続された場合、相手側の電源が入っていないと、入力側ICのポートの保護ダイオードによって入力されたHighレベルの信号が相手側のVdd電源ラインを通じてGNDに落ちてしまうからです。
相手側電源にあまり他のデバイスが繋がっていない場合には相手側 Vcc が0Vより上昇する程度ですが、他に繋がっている場合電流が流れ、出力側の ICが発熱したり、壊れたりします。
解決策は?
一番単純なのは、受け側にトランジスタ等を使って、抵抗で電流制限して ON/OFFを受け取る方法です。(図の中央)、出力された High 信号は比較的大きな抵抗 R で制限されますので、受け側の電源に関係なく出力出来ます。リレー等のドライブに電源電圧が異なる場合等の対策にも使われます。
しかしながら、比較的高速で ON/OFFしたい場合は、トランジスタでは問題になります。その場合は出力側のポートをオープンドレイン出力にします。
マイコン等のポート設定で Vdd側のトランジスタを OFFしてオープンドレイン出力が出来るものも多くなっていますので、この設定にして、出力ポートを Hign レベルにするのには、プルアップ抵抗R を使ってHighレベルを確保します。この抵抗は高速にする場合は数 kΩまで下げる場合が必要ですが、 I2C 通信等では相手先のドライブ能力等も考慮して通常 10kΩ〜4.7kΩ程度が用いられます。
またオープンドレインで、プルアップ抵抗を相手側の Vdd に接続することにより、例えば出力側電源が 5Vであり、相手先が 3.3Vなどの電圧が異なる場合の伝達にも使われます。
| 固定リンク
「トラブル対策」カテゴリの記事
- SwitchBot スマートプラグ 修理のはなし(2024.08.02)
- ソーラ発電その後のはなし(2024.03.28)
- シリアル通信トラブル集( インターフェイス2024年3月号)のはなし(2024.02.29)
- パワーアンプ PROTECT故障のはなし(2023.11.16)
- ダイナミックマイクのロー抜け修理のはなし(2021.05.24)
コメント