I2Cのスルーレートとは何ですか?


10

ドキュメントのセクション2.4で説明されているように、C18コンパイラの組み込み関数を使用して、PIC18でI 2 Cを構成しています

void OpenI2C2( unsigned char sync_mode,
    unsigned char slew );

どうすればよいかわかりませんslew。で定義されている2つのオプションから選択できますi2c.h

  • SLEW_OFF:100 kHzモードではスルーレートが無効
  • SLEW_ON:スルーレートは400 kHzモードで有効

257ページのレジスタ15-1 のデータシートでは、2つのオプションについてもう少し詳しく説明しています。

  • 1 =標準速度モード(100 kHzおよび1 MHz)のスルーレート制御が無効
  • 0 =高速モード(400 kHz)のスルーレート制御が有効

私にはわかりませんが、いくつか質問があります。

  1. スルーレートと何ですか?

  2. 私にとって、2つのオプションは意味がありません-400kHzのスルーレートを無効にし、100kHzで有効にしたい場合はどうなりますか?どうしてこれなの?

  3. いつSLEW_OFF、いつを選択すればよいSLEW_ONですか?

pic  c  i2c  software  c18 

回答:


8

スルーレートは、信号が低から高、またはその逆に変化する速度です。この急激な遷移を制限することで、信号反射によるリンギングを低減し、信号ライン間のクロストークを制限できます。

ただし、うまくいく方法は、100kHzでは信号レートが非常に遅いため、スルーレートはそれほど重要ではないということです。400kHzでは、それを制限することで、問題のある回路を修正できる場合があります。しかし、1MHzに到達するときは、取得できるすべての遷移速度が本当に必要なので、信号を適切にマッチングし、ラインをより注意深くルーティングする必要があります。

問題のビットは、機能を有効または無効にする以外に何もしません。残りは単にアドバイスです。速度は単なる提案であるため、括弧内にあります。


ありがとう!それは素晴らしいオプションのようです-なぜスルーレート制御を使用しないのですか?

2
@CamilStaps-私の理解では、答えを誤解しているようです。急激な遷移(SLEW_ON)があると、余分なEMIノイズとリンギングが発生します。遷移が遅い(SLEW_OFF)と、EMIは減少しますが、リンクの使用可能な最大周波数は減少します。それはトレードオフです。
Tim、

@gbarry:ああ、スルーレート制御をオフにすると、信号はuCが作成できるのと同じくらい矩形波に近くなります。波のスルーレート制御を使用すると、高/低遷移が他の場合よりも傾斜が大きくなります(=垂直が少なくなります)?
angelatlarge 2013

1
それは正しいですが、PICでどれほど劇的かはわかりません(チェックする必要があります)。歴史的メモ:RS232仕様にはスルーレートの制限があったため、誰かが優れたスロープy出力信号を備えたドライバーチップを開発しました。そして、私たちは全員、
ますます

1
3年後、同じ質問がありましたが、実際に測定しました。将来の参考のために、4.7kプルアップとバス上の単一スレーブを備えたPIC16F1454の場合、立ち下がり時間はスルーレート制限なしで2.9 ns(おそらく150 MHzプローブによって制限されます)、およびスルーレート制限付きで151 ns です。立ち上がり時間には影響しません。
パイプ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.