TxおよびRxと直列の抵抗


10

私は自分のボードを作り、ArduinoブートローダーでATmega 328を使用しています。ATMegaのRxおよびTxに接続するFTDIチップ(プログラミング用)、または接続するシリアルを出力するGPSを選択するDIPスイッチがあります。私は参照のためにこの回路図を見ていました:http : //arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf

ATMegaからのRxとTxに2つの抵抗があるのはなぜですか?これらはFTDIチップへの接続のためだけに必要ですか、それともGPSのためにも必要ですか?


それらは終端抵抗を意図したものだと思いますが、PCBトレースに1Kのインピーダンスがある場合、より大きな問題が発生します。
drxzcl

1
設計者に聞いてみませんか?
エンドリス'19年

回答:


10

それらの1つは、AVRにRxDが出力としてプログラムされている場合に発生する可能性のある損傷を防ぐためのものです。AVRピンが大量の電流をソースおよびシンクできるため、両方のデバイスのピンが損傷する可能性があります。他の抵抗器は必要ないと思います。


ファームウェアのバグの可能性を補うためにハードウェアを追加する場合は、リストが終わることはありません。AVRについてはあまり知りませんが、ほとんどのマイクロコントローラーは、まさにこの理由により、ピンが高インピーダンス状態でウェイクアップします。ファームウェアが明示的にそうするまで、一般的なピンは出力になりません。プロトタイプでは、可能性のあるバグに対処するための追加のハードウェアが理にかなっている場合がありますが、テスト済みのファームウェアを備えた大容量製品の場合、これは無駄です。ほとんどのデジタル出力は、私が意図的にこれを行うことはしませんが、一緒にジャムされた場合は問題なく存続します。
Olin Lathrop

8
Arduinoは通常、芸術やデザインの学生などの人々によって使用されているため、そのような保護手段が必要です。OPはそこに抵抗を必要としません。
Leon Heller

1
ビットバンモードでは、FT232のRxを出力として設定できる可能があると思います。
コナーウルフ

2
@Olinピンを出力ピンとして転用することは非常に一般的であり、プログラミングと一般的なIOの両方に使用できることが特徴です。PORTDは、arduinoで使用できる唯一のフル8ビットポートです。通常の操作中にシリアルを話す必要がない場合、tx / rxラインの再利用は標準的な方法です。
ジョン

5

それらの抵抗器に正当な理由があるようには見えません。その回路図の両方の部品は、共通のグランドを備えた5Vで動作しているように見えます。2つのチップ間のラインに抵抗は必要ありません。

ラインがボードから外れている場合は、オンボードパーツを保護するために抵抗を直列に配置する必要があるかもしれませんが、それはその回路図で起こっているようには見えません。

これはArduinoの回路図であることを覚えておいてください。これは、設計した人がこれを専門的に実行しない可能性が高いことを意味します。迷信はたくさんあります。何かがネット上にあるからといって、それが正しく行われたとは限りません。


6
Arduinoは、特にこれに慣れていない人を対象としています。したがって、バスの競合を引き起こす可能性のあるソフトウェアエラーを許容できるようにハードウェアを設計することは、常識です。抵抗器の非常に適切な理由がわかります。TX/ RXラインを出力する必要がないときに誤って出力に設定してしまうことがあります。
コナーウルフ2011年

抵抗が存在するのには十分な理由があります。他の答えを確認してください。
Marcelo

5

これは古く、すでに回答されている質問ですが、抵抗が存在するための良い理由の1つとおそらく最も重要な理由の1つを回答で見つけられませんでした。

ほとんどの人はRX / TXを使用してArduinoをPCに接続し、チップのプログラミングやシリアルデバッグを行いますが、他の人はArduinoのRX / TXピンを使用して他のシリアルデバイスと通信します。この場合、FTDIチップとこの他のデバイスは競合し、短絡により両方が損傷する可能性が非常に高くなります。AVR RX / TXピンに1つが​​接続されている場合、これらの抵抗は他のデバイスからFTDIを「分離」し、両方を保護し、それらを同時に配線および接続できるようにします。

覚えておくべきことの1つは、ArduinoのRX / TXピンに別のシリアルデバイスを接続すると、プルアップ/プルダウン抵抗で発生するのと同じように、抵抗がFTDIからの論理レベルをマスクするため、外部デバイスがFTDI通信よりも「優先」します。


1
これはまさに私が答えたかったことであり、以前にこの主題を検索したことがあるので非常に正確です。
ElectronS

あなたはこのような意味ですか?electronics.stackexchange.com/questions/77562/...
通行人

4

これは、電源がオフのときに、他のオフボードデバイスがAtmelに電源を供給しているのを防ぐために実行できます。Atmelの内部クランプダイオードを介して流れる電流のため...


EE.SEへようこそ!一般に、質問が信頼でき、回答がない場合を除き、古い質問には回答しないようにユーザーにアドバイスします。そうは言っても、この特定の質問は3年以上前のものであり、受け入れられた答えがあります。フロントページの質問フィードの上部に質問が表示され、EE.SEが乱雑に見えるため、将来は古い質問への回答を控えてください。ありがとう!
Funkyguy 2014年

2
@Funkyguy受け入れられた答えは、不正確な観察ではありませんが、おそらく本当の理由ではありません。
Chris Stratton、

2

ボード外に送信される信号に小さな値(100オーム程度)の直列抵抗を追加すると、RFエミッションを低減できます。ただし、図に示されている回路図の抵抗は、適切に配置されていないようです。抵抗器のもう1つの用途は、非常に安価なマルチプレクサとしてです。FTDIチップがArduinoのRXピンを駆動しようとし、ヘッダー上で何もしようとしない場合、FTDIチップは「勝ち」ますが、ヘッダー上の何かが直列抵抗なしでそのピンを駆動しようとすると、ヘッダー上のデバイスは「勝つ"。これは、ArduinoのRXピンの抵抗の有用性を説明している可能性があります。ただし、TXの目的が何の目的に役立つのかはわかりませんが、FTDIのRXピンに配線されている「TX」ワイヤー用の別の外部接続があり、それが表示されない場合(このような外部接続がある場合、


2

I2CおよびUARTバスで100オームの抵抗を以前に見たことがありますが、それらは多くの場合ESD保護用です。これらは、MCUに組み込まれたクランプダイオードと連携して動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.