プロの高周波基板、高速基板、ICパッケージ基板、半導体テスト基板、HDI基板、リジットフレッキ基板、PCB設計とPCB メーカー
iPcb会社-信頼できるPCBメーカー! お問い合わせ
0
高周波PCB技術

高周波PCB技術 - I2Cはなぜプル抵抗を接続するのですか。

高周波PCB技術

高周波PCB技術 - I2Cはなぜプル抵抗を接続するのですか。

I2Cはなぜプル抵抗を接続するのですか。
2023-03-13
View:458
Author:Leota      文章を分かち合う

なぜ出力漏れなのか。

 

I2Cプロトコルは、複数のマスタと複数のスレーブが1つのバス上にあることをサポートしており、出力漏れを行わずにプッシュプルで出力すると、マスタ間が短絡する場合があります。したがって、バスは一般的にオープンリーク出力を使用します。

 

なぜプルアップ抵抗を接続するのですか。

 

プルアップ抵抗を接続するのは、I2C通信にはハイレベルを出力する能力が必要があります。一般的にオンドレイン出力はハイレベルを出力することができず、ドレインに抵抗を引っ張るとレベル変換が可能になります。I2C2つのバスSDASCLから構成されています。バスに接続されたデバイスの出力段は、ドレインオープンでなければならず、プルアップ抵抗を介して電源に接続されているため、「線と」機能を実現することができます。バスがアイドルの場合、両方の回線はハイレベルです。


抵抗

図1 抵抗

 

プルアップ抵抗値はどうやって確定しますか?

 

一般的なIOポートの駆動能力は2 mA4 mAのオーダーです。

 

1.電力消費の問題を考慮すると、抵抗値は小さすぎることはできません。

 

プルアップ抵抗値が小さすぎると、VDD注入ポートの電流が大きくなり、消費電力が大きくなり、ポート出力のローレベル値が増大します(I2Cプロトコルでは、ポート出力のローレベルの許容値は0.4 V)。したがって、通常、プルアップ抵抗は1 K以上の抵抗を選択しなければなりません(VDD3 Vの場合、注入電流は3 mAを超えない)。

 

2.速度の問題を考慮すると、抵抗値は大きすぎることはできません。

 

それはプルアップ抵抗と線上容量形成のRC遅延に依存し、RC遅延が大きいほど、波形が方形波から外れて正弦波に向かう傾向があり、データの読み書きが正しい確率は低いため、プルアップ抵抗は過大にはできません。I2Cバス上の負荷容量は400 pFを超えてはなりません。I2Cバス上のデバイスが徐々に増加すると、バス負荷容量も増加します。総負荷容量が400 pFを超えると、確実な動作ができません。これもI2Cの限界です。プルアップ抵抗は1.5 K2.2 K4.7 Kを選択できることを提案しました。

 

I2Cバス基本動作

 

I2Cバス仕様によると、バスがアイドルの場合は2本のラインがハイトする必要があります。メインデバイスAI2Cを起動する必要があると仮定し、SCLハイレベル時にSDAをハイレベルからローレベルに変換して起動信号とする必要があります。マスタASDAを引き上げた後、SDAのレベルをもう一度チェックする必要があります。どうして?ワイヤアンドのため、マスタASDAを引き上げれば、他のマスタがSDAを引き下げることができ、1&0=0のためマスタASDAレベルをチェックしているときに、ハイレベルではなくローレベルであることがわかります。他のプライマリデバイスがバスを占有する時間がそれよりも早く、プライマリデバイスAはバスの占有を放棄するしかないことを示します。SDAがハイレベルである場合は、マスタAがバスを占有することができ、マスタASDAを下げて通信を開始することができます。したがって、シミュレーションI 2 CGPIOポートをオープンリーク出力に設定し、プル抵抗を加えなければなりません