Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Verilogシミュレーションでは、Microchip社の64KI2CEEPROMと通信する必要があります。スレーブからACKを取得するたびに、特定のクロック期間、SDAを高インピーダンスに駆動しています。さて、スレーブからデータを取得するために、SDAについても同じことに従う必要がありますか?簡単に言うと、SDAポートを高インピーダンス状態に駆動する必要がありますか?
物理的な I2C 回路には、出力が高インピーダンス状態のときに SCL と SDA を High にするプルアップ抵抗があります。プルアップ抵抗に相当する Verilog は TRI1 です。これにより、信号が高インピーダンス状態にあるときに、ラインがフローティングではなく定義されます。
一般的に、SDAラインがオープンドレイン設計の場合、高インピーダンス状態にする必要はありません(おそらくできません)が、論理「1」に設定する必要があります。ただし、トライステートIOピンの場合は、はい、ハイインピーダンス状態にする必要があります。そうしないと、回路が損傷する可能性があります。
SDA