2013年7月16日火曜日

PIC C18 メモ( I2C 設定)

-----------------------------
I2C 設定( PIC18F2520 )
-----------------------------
//I2C Init( 100kHz, マスターモード )
  OpenI2C(MASTER, SLEW_OFF);
  SSPADD = 24;//(10M/(4*0.1)-1=24)
//I2C Init( 400kHz, マスターモード )
  OpenI2C(MASTER, SLEW_ON);
  SSPADD = 9;  //(16M/(4*0.400)-1=9)

  • 100kHz はOK
  • 400kHz で使った時、実測波形 360kHz 程度だった(333kHz以上は適合しない)
  • IOポートの方向は、マスターは「出力」に、スレーブは「入力」に設定する
-----------------------------
プルアップ抵抗
-----------------------------
  • 「送信」だけなら単独でテストできるが、SDA,SCL 両方ともプルアップ必要
  • 5Vの場合、2~5kΩ
    3Vの場合、1~3kΩ
  • 抵抗値が小さいとシンク電流制限を超えるし、大き過ぎると波形が鈍る
2009.02 - 2013.07.16