たった今、I 2 Cデータとクロックライン(SDAとSCL)にプルアップ抵抗が必要であることに気付きました。
さて、以下の回路図に従って、DS1307 RTC(データシートを参照)を使用していくつかのクロックを作成しました。両方のプルアップ抵抗が省略されていることに注意してください。
どちらの時計も正常に動作し、そのうちの1つは現在3か月以上動作しています。そんなことがあるものか?いずれにせよ、私は知りたいと思いました:
I 2 Cプルアップが省略されるとどうなりますか?
プルアップがないと、ボードのこれら2つのICのいずれかが損傷する可能性がありますか?
私が提供した回路図のようにATmega328PをDS1307 RTCに接続する私の特定のケースに対処する答えを求めていますが、質問が広すぎない場合、プルアップが一般的に省略されたときに何が起こるかを知ることは役立ちます、つまり、I 2 C操作の他のシナリオで。
PS。ネットで検索して答えを見つけましたが、プルアップの寸法に関する記事を見つけることができました。
更新:私はArduino IDE 1.03を使用しており、ファームウェアはDS1307RTC Arduino libを使用してRTCを処理します(その機能RTC.read()
とを通じてRTC.write()
)。そのライブラリはWire.h
、RTCとの対話に使用されます。
更新2:以下は、外部プルアップなしでI 2 Cがどのように動作するかを説明するために撮影した一連のスコープショットです。
更新3(I 2 Cプルアップを追加した後):適切な(4K7)プルアップ抵抗を(同じボードの)I 2 Cラインに追加した後に撮影した別のスコープショットです。立ち上がり時間は約5 µsから290 nsに低下しました。I 2 Cは今ではずっと幸せです。