I2Cは1Mohmでプローブまたはロードされた場合にのみ機能します
msp430fr5847(マスター)とI2Cチップが不明なスレーブセンサー(産業用センサーの一部)の間の通信をトラブルシューティングしようとしています データがすべてゼロで返されるセンサーの新しいバッチで問題が発生していますが、Saleae logic pro(2Mohm、10pf)、またはオシロスコープ(10Mohm、50pf)でトラブルシューティングしようとすると、システムはプローブ時に完全に機能しますSDAピン。 さらにトラブルシューティングを行うと、SDAとグランドの間に1Mオームの抵抗を追加しても回路は正しく機能しますが、10pfまたは100pfのコンデンサを追加しただけでは機能しません。 3.3vレールに4.7kのプルアップ抵抗を使用しています。 この問題の原因となるもの、および意図せずに問題を修正せずにトラブルシューティングを行うために実行できること。 編集:19/07/2017これが私の信号のクイックスコープトレースです。 SDAをプローブするだけでボードが機能し、SCLをプローブするか、または割り込みラインがボードを適切に動作させないことについて、私が言及するのを忘れていました。 編集:21/07/2017 プロットが厚くなり、別のオシロスコープを接続しても回路が正しく機能しないように見え、唯一の違いはACKが送信されていないことです。 上の図では、回路が正しく動作していない場合の青と緑のトレースがSCLとSDAです。黄色とピンクのトレースは、SaleaeロジックもSDAピンとグラウンドに接続したときのものですが、USBを接続していません(グラウンドループを回避しようとしている)。 センサーにもう少し背景を追加するのは、メーカーから購入した工業用圧力センサーです。私たちは以前に、これらのPCBをセンサーの最初のバッチで設計およびテストしました。最近、新しいバッチを受け取り、これらの問題が発生しています。私は、PDFデータシート、内部センサーがZSC31014または類似を使用していること(データシートからユニークな探して文章をグーグル後)私は強く容疑者捜査のビットを行っているとHERE 編集:2017年7月26日 したがって、この問題を解決する最後の記事として、SamGibsonの詳細な回答に従って、アドレスの上位ビットを設定して、開始ビットの最後のグリッチをマスクするという修正を実装しました。 これは主に期待通りにデータを処理することで機能しましたが、書き込み後の最初の読み取りコマンドで(i2cビットのグループの正しい用語である場合)、スレーブは1ビット早く(書き込みビットの位置)。スレーブがSDAラインと直列に小さな(47オーム)抵抗を追加することでラインをプルダウンしていることがわかります。 私は通常、これを新しい質問として開始しますが、上記のトラブルシューティングで効果がなかった同じスコープをアタッチすると、この問題は解消されるようです。スコーププローブをアタッチしても、これは実際には境界線の問題のようです。スコープに接続しなくても問題は解決されるので、容量の問題だと思います。 スコープが接続されていない問題のプロット スコーププローブが接続されているが、接続されていない問題のプロット。スレーブがACKビットではなく書き込みビットをプルダウンすると、電圧がわずかに高くなります。