2015年10月1日木曜日

シーケンサー基板のI2Cプルアップ

前回、I2Cの信号線をプルアップしなくても動いたのでもう少し実験してみた。

PSoC 4 Pioneer Kit



シーケンサー基板とPSoC 4 Pioneer Kit プルアップなし

ch1: SDA ch2:SCL

シーケンサー基板とPSoC 4 Pioneer Kit 10kΩのRでVCC(3.3V)にプルアップ

比較するとプルアップしたほうが出力電圧が若干(1目盛り:400mV程度)上がっているが、どちらもI2C通信はうまく行っている。

拡大

シーケンサー基板とPSoC 4 Pioneer Kit プルアップなし

シーケンサー基板とPSoC 4 Pioneer Kit 10kΩのRでVCC(3.3V)にプルアップ

波形も大差ない。

Arduino

PSoCの問題かも?と思いArduinoでもテスト

シーケンサー基板とArduino プルアップなし

シーケンサー基板とArduino 10kΩでプルアップ

Arduinoでも同様。

シーケンサー基板単体

ということはシーケンサー基板のAVRで内部プルアップされてる?と思って単体で3.3V電源を繋いでみた



スレーブなので信号は何も現れないが、信号線がプルアップされていればオープン状態でGNDレベルではなくVCCあたりになるはずだ

あ、いや違うのか?スレーブは待機状態でLに引っ張るのかな?

わけがわからん(^q^;;;


ほんとはもっと簡単な回路でテストするべきだと思うが、I2Cバスのどこか1箇所でプルアップすればいいのでこの件は保留。