プロが教えるわが家の防犯対策術!

マイコン(atmega328p Vcc=3.3V)とPCをUSB/UART変換ケーブル(TTL-232R-3V3 http://www.ftdichip.com/Support/Documents/DataSh … でつなごうとしています。
マイコンのVccは、このUSB/UART変換ケーブルのVccピン(5V)をレギュレータを使って3.3Vに落としてつくろうとしています。
この時、マイコンのUART用のピンと、ケーブルのピンは直接つないでもよいものでしょうか?

マイコン側の3.3Vは、ケーブルの5Vから私の作っている回路にのせるレギュレータでつくっていて、
ケーブル側の3.3Vはケーブルに内蔵しているFT232RQを使ってつくっているので、
元の5Vが同じとはいえ微妙に異なる可能性がありますが、
これがどういう問題につながりえるのでしょうか?

そして簡単な回路で問題なく通信できるようにするにはどういった回路を入れればよいのでしょうか?
教えてください。

A 回答 (4件)

>元の5Vが同じとはいえ微妙に異なる可能性がありますが、



3.3V電源が2つあり、電圧の差を気にされてるようですが、
電圧差はごく僅かなのでこれは問題ありません。

高い電源電圧側の出力端子がHighを出し、これを低い電源電圧側が受ける時に
「信号電圧が電源電圧より高いとNG」に該当しそうですが、大抵は電源電圧+0.5V程度は
大丈夫です。

むしろ、問題点は「2つの電源ON/OFFが完全に同時でない」ことにあります。
「一方が電源ONだが他方がOFF」という状態が、短時間でもある事がまずいです。

電源ON側回路がHighを出し、これを電源OFF側回路が受けると
「信号電圧が電源電圧より高いとNG」に該当します。

このような結線の場合の対策として
方法1. 受側回路の電源がONになるまでは出力をLowかHigh-Z(ハイインピーダンス)に保つ
トライステートゲートを挿入しハイインピーダンスコントロールを行うとか
マイコンの汎用IOなら相手電源がOFFなら出力をHigh-ZかLowに保つようソフトウェアを作るとか
方法2. クランプダイオードを入れ高い電圧をカットする。電流制限の為に抵抗器を入れる。

この回答への補足

回答ありがとうございます。
"2つの電源ON/OFFが完全に同時でない"問題の解決方法についてもう少し詳しく教えていただけますか。

UARTの場合には、TX,RX,RTS,CTSともに通信のない時にHighになっていると思いますが、
この4つの信号それぞれについて、マイコン側の電源がOFFの間、ケーブル側のHighがマイコンに入らないようにすればよい、ということですね?

"トライステートゲート"というのは、
http://www.ti.com/product/sn74lvc2g125
このようなICでしょうか。
このICのVccをマイコン側の電源につないでおき、以下のようにつなぐと
マイコン側と SN74LVC2G125 は同時に電源がONになるので問題は回避できる、という理解であっていますか?

マイコン TX -> A SN74LVC2G125 Y -> ケーブル側 RX
マイコン RTS -> A SN74LVC2G125 Y -> ケーブル側 CTS
マイコン RX <- Y SN74LVC2G125 A <- ケーブル側 TX
マイコン CTS <- A SN74LVC2G125 Y <- ケーブル側 RTS

ただこの場合、SN74LVC2G125 は電源OFFの間ケーブル側のHighが入ってきますが、、

SN74LVC2G125のデータシートに
VO Voltage range applied to any output in the high-impedance or power-off state(2)
-0.5 - 6.5
となっているので大丈夫と考えてよいのでしょうか。

補足日時:2013/10/07 09:51
    • good
    • 0

No.1 です。


追加回答遅くてすみません。
また少し調べてから書き込みます。

>この4つの信号それぞれについて、マイコン側の電源がOFFの間、ケーブル側のHighがマイコンに入らないようにすればよい、ということですね?

そういう事です。

>UARTの場合には、TX,RX,RTS,CTSともに通信のない時にHighになっていると思いますが、

UARTの出力 TX,RTS# の2つについて、相手(マイコン)の電源OFF状態を考慮する必要があります。
RX,CTS 入力については、逆方向の考慮が要ります。


>"トライステートゲート"というのは、
http://www.ti.com/product/sn74lvc2g125
>このようなICでしょうか。

そうです。
74LVC2G125 の電源は、出力信号を出してる回路と同じものを使います。
つまり RX,CTS# はマイコンと同じ電源、TX,RTS# はUARTと同じ電源を使います。
相手の電源ONを確認するまでは出力バッファをHigh-Z に維持する、というコントロールを
行います。マイコン出力の場合は、ポート初期化により出力がONするのを待てばよいです。

ここで1つ問題に気付きましたが、「UART と同じ電源を取り出して使う」のは可能か?ですね。

あと、自分で書いておいて何ですが、2つの3.3V電源、両方共シリーズレギュレータで得てるなら時間差は殆どなく問題ないとも思います。
気にしてたのはスイッチング電源やDC/DCコンバータなど、起動に少々時間がかかる電源の場合なので。

更に、ICによっては電源OFFの間にある程度のHighレベルが与えられても平気なものもある(うろ憶え)ので
これの場合はハイインピーダンスコントロールは不要です。
インターフェースICなどは殆どそうです。相手の電源が入ってないのは普通にありますし。

また、製品用でなくあくまでホビー用に、と割り切れば、多少のストレスなら耐えるので
目をつぶるのもアリだと思います。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
何度もすみません。

> ここで1つ問題に気付きましたが、「UART と同じ電源を取り出して使う」のは可能か?ですね。

ケーブルに入っているものを取り出せない、という条件で考えています。

> つまり RX,CTS# はマイコンと同じ電源、TX,RTS# はUARTと同じ電源を使います。

これは以下のような理解であっていますか?

マイコン側の 74LVC2G125 は
Vcc: マイコンのVcc
1A: マイコンからTX
2A: マイコンからRTS#
1Y: UARTのRX
2Y: UARTのCTS#
1!OE, 2!OE: UARTのVccを反転させて入力する(負論理なので)

ケーブル側の 74LVC2G125 はその逆。
というつなぎ方であっていますか?
この場合、Vcc がオフの間に !OE に 3.3V 入力しても問題ない、
と考えてよいのでしょうか。

> あと、自分で書いておいて何ですが、2つの3.3V電源、両方共シリーズレギュレータで得てるなら時間差は殆どなく問題ないとも思います。

これは両方ともレギュレータです。
おそるおそる試したところ問題なく動くのですが、、、
安全な方法があれば考えたいです。

お礼日時:2013/10/10 14:18

No.1>方法2. クランプダイオードを入れ高い電圧をカット


について。
実は大抵のICの入力端子には保護用クランプダイオードが入っていて、
端子にVcc以上の電圧がかかるとVccラインに逃がす事で端子電圧が上がらないように働きます。
もちろん強力に駆動されれば大電流が流れ壊す事になります。
これを防ぐ為に電流制限として100オーム程度の抵抗を入れておくといいです。
(100オームなら5Vでも5mA)
トライステートコントロールでなくこれだけでも充分かも知れません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

使用しているマイコンのデータシートには以下のようにダイオードが入っています。
http://gyazo.com/39f876f4147354da1b534d4b72cfc60f

が、これは電源オフ時に入力端子にVccレベルの電圧がかかった時にも機能するのでしょうか。

お礼日時:2013/10/10 15:02

No.2補足欄


>> ここで1つ問題に気付きましたが、「UART と同じ電源を取り出して使う」のは可能か?ですね。
>ケーブルに入っているものを取り出せない、という条件で考えています。

3.3V版の場合もケーブルに出てる電源は元の5Vらしいのでいずれにせよ3.3Vを使えませんね。

>1!OE, 2!OE: UARTのVccを反転させて入力する(負論理なので)
125 でなく 126 というタイプだと Highアクティブなので反転不要です。

ですが細かく見ると電源が低い時にONするのかOFFするのか?という曖昧さが残ります。

>この場合、Vcc がオフの間に !OE に 3.3V 入力しても問題ない、
>と考えてよいのでしょうか。

No.1補足欄
>SN74LVC2G125のデータシートに
>VO Voltage range applied to any output in the high-impedance or power-off state(2)
-0.5 - 6.5
>となっているので大丈夫と考えてよいのでしょうか。
に関係しますが、内蔵のクランプダイオードが効くことで端子が保護されます。ただし

>IIK Input clamp current max50mA

クランプダイオードに流れる電流が50mA を越えてはいけないので、
例えば他の電源を直結するようだと強力に駆動されるので大電流が流れます。
電流制限のために1kΩ以上の抵抗を入れるといいです。(1kΩなら3.3Vでも 3.3mA)
あまり抵抗値が大きいと、浮遊容量との影響で波形のエッジが鈍りますが。

No.3補足欄

>使用しているマイコンのデータシートには以下のようにダイオードが入っています。
http://gyazo.com/39f876f4147354da1b534d4b72cfc60f

保護用ダイオードが入ってるんですね。

>が、これは電源オフ時に入力端子にVccレベルの電圧がかかった時にも機能するのでしょうか。
もちろんです。単体のダイオードと同じです。

UART の方にも入ってると思いますので、125 や 126 の使用はやめ、
クランプダイオードを頼りにするだけでも充分かも。電流制限抵抗は入れるとして。
    • good
    • 0
この回答へのお礼

長々とおつきあいいただきありがとうございました!
非常にわかりやすかったです。

お礼日時:2013/10/11 19:14

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