JAJSDD1D July 2017 – February 2021 HDC2010
PRODUCTION DATA
デバイスのステータスに関連するデータを保持するアドレス・レジスタは、ポインタ・メカニズムによりアクセスし、以下の書き込み / 読み取り手順でアクセス、変更できます。レジスタ・アドレス値は、デバイス・スレーブ・アドレス・バイトの R/W ビットが LOW になった後、最初に送られるバイトです。HDC2010 への書き込み動作にはすべて、レジスタ・アドレスに対する値が必要です (表 7-2 を参照)。
HDC2010 から読み取ると、現在のポインタ位置を使用して、読み取り動作でどのレジスタを読み取るかが判定されます。このポインタ位置は、最後に書き込まれたレジスタ・アドレスを指しています。読み取り動作に対応するアドレスを変更するには、新しい値をポインタに書き込む必要があります。この処理を実行するには、R/W ビットを 0 に設定したスレーブ・アドレス・バイトを発行し、続いて、ポインタ・バイトを送信します。追加データは必要ありません (表 7-4 を参照)。
その後、マスタは START 条件を生成し、R/W ビットを 1 に設定したスレーブ・アドレス・バイトを送信して、読み取りコマンドを開始します。アドレス・レジスタは自動的にインクリメントされ、マルチ・バイトの読み取り / 書き込み動作をイネーブルにします (表 7-3 と 表 7-5 を参照)。レジスタ・バイトは、MSB が最初に送信され、その後、LSB が送信されることに注意してください。デバイス ID、メーカー ID、シリアル ID などの読み取り専用レジスタへの書き込み動作は、データ・バイトごとに NACK を返します。未使用のアドレスに対する読み取りまたは書き込み動作は、ポインタの後に NACK を返し、誤った I2C アドレスによる読み取りまたは書き込み動作では、I2C アドレスの後に NACK を返します。
マスタ | START | スレーブ・アドレス (W) | アドレス | DATA | STOP | |||
スレーブ | ACK | ACK | ACK |
マスタ | START | スレーブ・アドレス (W) | アドレス | DATA | DATA | ……… | STOP | ||||
スレーブ | ACK | ACK | ACK | ACK |
マスタ | START | スレーブ・アドレス (W) | アドレス | START | スレーブ・アドレス (R) | NACK | STOP | ||||
スレーブ | ACK | ACK | ACK | DATA |
マスタ | START | スレーブ・アドレス (W) | アドレス | START | スレーブ・アドレス (R) | ACK | ACK | …… | NACK | STOP | |||||
スレーブ | ACK | ACK | ACK | DATA | DATA |