こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

RS485コントローラーについて

リニアテクノロジーのRS485コントローラーに、LTC485CN8があります。
このデバイスは、5V単一電源で動作するとデータシートにあります。
これは、5V動作するマイクロコントローラーと接続可能ということだと思います。
また、データシートの最大値にはSupply Voltage 12Vとあります。

質問は、3つあります。
LTC485CN8のVCCに12Vを接続してもよいか?
接続できた場合、RS485の信号レベルは0-12Vとなるか?
3.3Vマイコンと組み合わせる場合、3.3V-5Vのレベルコンバート+LTC485CN8の組み合わせと、LTC1480(3.3V動作)を使うののどちらが良いか。

3番目の質問は、LTC1480もVCCに3.3V以上の電源が接続できればですが。
ちなみに、LTC1480のデータシートの最大値にはSupply Voltage 7Vとありますので、12Vは入れられないのだと思います。

RS485で安定した通信を行うなら信号は12Vレベルで送りたいと思いますが、どうでしょう?
3.3VでRS485通信を行うと安定性や転送距離等で十分なものが得られないように思うのですが。

ご教授願えればと思います。

投稿日時 - 2014-07-12 21:15:09

QNo.8675606

困ってます

質問者が選んだベストアンサー

1)
>LTC485CN8のVCCに12Vを接続してもよいか?
接続できた場合、RS485の信号レベルは0-12Vとなるか?


回答>>電源電圧は絶対最大定格電圧が12Vになってます。12Vを少しでも超えたら保証外とデータシートには記載されてます。したがって、12Vが温度やバラツキで少しでも超える可能性があるならやめておいた方が良いと思います。しかし、もし、趣味で使うのならばOKでしょう(自己責任という意味で)

 信号レベルはデータシートに

VOD2 Differential Driver Output Voltage (with Load)
  R = 50Ω (RS422) 2 Vmin
  R = 27Ω (RS485), Figure 1 1.5min で最大値は 5 Vmax
とありますので、12Vの電源で使っても差動出力は0-12Vにはならないと言うことです。
通信ラインの終端抵抗が50Ωの場合で0-2Vmin、27Ωの場合で0-1.5Vminになります。通信ラインの信号に対する受信端での入力スレッショールド電圧|VTH|は200mV以内でヒステリシス電圧は∆VTH Receiver Input Hysteresis VCM = 0V 70 mVになってますので70mVを超えるか超えないかで通信のデータの1-0判定を行っているわけです。

2)
>3.3Vマイコンと組み合わせる場合、3.3V-5Vのレベルコンバート+LTC485CN8の組み合わせと、LTC1480(3.3V動作)を使うののどちらが良いか。

回答>>ロジック入力はデータシートに

VIH Input High Voltage DE, DI, RE 2 V
VIL Input Low Voltage DE, DI, RE 0.8 V

とありますので、3.3Vロジックで変換なしに使用可能のようです。
しかしロジック出力はデータシートに

VOH Receiver Output High Voltage IO = –4mA, VID = 200mV 3.5 V
VOL Receiver Output Low Voltage IO = 4mA, VID = –200mV 0.4 V

とありますので、VOHが3.5Vと少し3.3Vを超えてますのでそのままでは使えませんがロジック出力とマイコン側入力の間を510Ω程度の抵抗でつなぎ、マイコン側の入力端子とマイコンの電源Vdd(3.3V)間にショットキーダイオードを接続(マイコンの入力端子をアノードに)すれば使えます。

3)
>3番目の質問は、LTC1480もVCCに3.3V以上の電源が接続できればですが。
ちなみに、LTC1480のデータシートの最大値にはSupply Voltage 7Vとありますので、12Vは入れられないのだと思います。

回答>>LTC1480の絶対最大定格電圧は 7V ですのでその通りです。

4)
>RS485で安定した通信を行うなら信号は12Vレベルで送りたいと思いますが、どうでしょう?3.3VでRS485通信を行うと安定性や転送距離等で十分なものが得られないように思うのですが。

回答>>信号(通信ラインの)はどちらのICも1)で回答したように12Vではなく、
VOD2は通信ラインの終端抵抗が50Ωの場合で0-2Vmin、27Ωの場合で0-1.5Vminになります。ただ最大値がLTC1480は3.3Vmaxになってるだけなので、通信ラインをつなげるのは問題ありません。
 通信ラインの信号に対する受信端での入力スレッショールド電圧|VTH|も200mV以内でヒステリシス電圧は∆VTH Receiver Input Hysteresis VCM = 0V 70 mVになってますので両ICとも同じ受信感度で動作します。結論として RS485通信を行う場合、安定性や転送距離等で両者はそん色ない性能が得られる ということになります。

投稿日時 - 2014-07-15 12:31:07

お礼

お礼が遅くなりまして申し訳ありません。
No.3の方の御回答にもあるように、12Vは、ノイズを含めた最大値ということですね。

データシートのVod2で説明しているMAX値5Vは、Vcc=5V+-5%時という条件によるものなので、もしVccに7Vを入れた時は7Vになるのではないでしょうか。
(もう考えないですけど)
抵抗とダイオードを使うレベルシフト回路は、ダイオードクリップ型というのですね。
5V->3.3Vにするときに3.3V+ダイオードのVf値に変換されるようです。
勉強になりました。
また、200mVという小さい値でのO/1判定を考えると3.3Vと5Vでの信号電圧降下の違いは考えなくていいのですね。
ありがとうございました。

投稿日時 - 2014-07-18 22:11:43

ANo.4

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(5)

ANo.5

回答NO.4の訂正があります。

以下の部分:

通信ラインの終端抵抗が50Ωの場合で0-2Vmin、27Ωの場合で0-1.5Vminになります。通信ラインの信号に対する受信端での入力スレッショールド電圧|VTH|は200mV以内でヒステリシス電圧は∆VTH Receiver Input Hysteresis VCM = 0V 70 mVになってますので70mVを超えるか超えないかで通信のデータの1-0判定を行っているわけです。

で最後の部分:「70mVを超えるか超えないかで通信のデータの1-0判定を行っているわけです。」は間違いです。以下のように訂正します。

通信ラインの終端抵抗が50Ωの場合で0-2Vmin、27Ωの場合で0-1.5Vminになります。通信ラインの信号に対する受信端での入力スレッショールド電圧|VTH|は200mV以内でヒステリシス電圧は∆VTH Receiver Input Hysteresis VCM = 0V 70 mVになってますので70mV以内の変動(ノイズ)はヒステリス特性で無視するように動作します。

4)の回答の最後の部分も同様に訂正します。

投稿日時 - 2014-07-15 12:40:55

お礼

重ねての御回答ありがとうございます。
3.3Vロジックで、RS485だけに5Vを作って入力するのは面倒です。3.3Vと5Vで通信品質に差がないのあれば3.3VのRS485デバイスを使用するのがいいですね。
でも3.3VのRS485デバイスは少し高いですね。
ありがとうございました。

投稿日時 - 2014-07-18 22:15:04

ANo.3

私も勉強中の身ですが

RS485は差動信号なので、A=5V の時 B=0V 、A=0V の時 B=5V となり ツイストペアケーブルを使用することにより、A,B両信号に同じノイズが加わります
A,B信号にノイズが乗り、A=5+7V=12V になれば B=0+7V=7V 、A=5-7V=-2V で B=0-7V=-7V これで±7Vのノイズマージンがあり、A/Bの電位差が200mV(0.2V)あればH/Lを判別できます

RS485は末端抵抗が100Ω×2だとすると、5V/((100+100)/2))=100mA流れます、(銅線抵抗は無視して)
仮にRS485を12V駆動すると、12/((100+100)/2)=240mA 末端抵抗を見直す必要があると思われ、速度も低下します


LTC485CN8ですが3.3VのI/Oピンに繋ぐのに問題になるのは、RO のみ抵抗分圧で3.3Vへ電圧を落とせば問題無いと考えます、(5V電源は必要)
http://blogs.yahoo.co.jp/gomisai/25240358.html
また3.3V対応のRS485ドライバは他にもあります
http://www.marutsu.co.jp/ichiran/?CN=1

投稿日時 - 2014-07-13 17:40:24

お礼

お礼が遅くなりまして申し訳ありません。
差動信号とノイズの関係の説明大変わかりやすかったです。
つまり、12Vの信号だとノイズが乗った時のマージンが無いということでしょうか。
推奨されている終端抵抗値が120Ωなのは、ケーブルインピーダンスと合わせているようです。
Vccに5Vを入れた時は、DE,DI,REは、2V以上でInputを判断しROは、Outputで5Vを出すということですね。
教えていただいてからデータシートを見ることで理解できるようになる時が多いです。
ありがとうございました。

投稿日時 - 2014-07-18 21:18:52

ANo.2

調べてみました

RS485は,0-5V信号レベルで,1200m伝送可能と規定されています、入力信号が±12Vまで可能なのはノイズマージンです、(RS485を12V駆動するのは、ノイズマージンが狭くなります)
http://www.miyazaki-gijutsu.com/series3/denso032a.html

RS485は差動信号の為ツイストペアケーブルが必須になります
http://blog.livedoor.jp/rs485/archives/1604660.html

余談、USBも+D/-Dの差動信号を使用しています、(3.3V信号レベル)

投稿日時 - 2014-07-13 09:48:32

お礼

ご回答ありがとうございます。
RS485の信号レベルは0-5Vで、LTC485CN8にある+-12Vとは信号に乗ったノイスも含めての許容有力レベルということでしょうか。
差動信号のH/Lを決める信号差は200mA程度だということのようですので、RS485を12V駆動すると12V/200mAは5V/200mAに対して不利ということでしょうか。
3.3Vマイコンには、3.3VのRS485トランシーバのほうが相性がいいのでしょうが、3.3VRS485トランシーバは5V版に対して高価です。
3.3VのRS485信号の安定性はどうなのでしょうか。

投稿日時 - 2014-07-13 13:44:38

ANo.1

すべてデーターシートを見れば解決する問題です。
http://cds.linear.com/docs/en/datasheet/1480fa.pdf
http://cds.linear.com/docs/en/datasheet/485fk.pdf

投稿日時 - 2014-07-12 23:00:36

お礼

ご回答ありがとうございます。
まあ、おっしゃることはそうなのですが、

投稿日時 - 2014-07-13 12:13:29

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-