JAJSO67 january 2023 MCT8329A
PRODUCTION DATA
MCT8329A は、I2C で受信したデータを格納するため、内部でバッファを使います。I2C バスでのデータの収集に、最も高い優先順位が与えられています。I2C Rx データ用に 2 つのバッファ (ピンポン)、I2C Tx データ用に 2 つのバッファ (ピンポン) が備わっています。
外部 MCU からの書き込み要求は Rx バッファ 1 に格納され、Rx バッファ 1 内のこのデータを解析するために構文解析ブロックがトリガされます。MCT8329A が Rx バッファ 1 からの書き込みパケットを処理している間に、別の新しい読み出し / 書き込み要求が発行された場合、I2C バスからのデータ全体は Rx バッファ 2 に格納され、現在の要求の後に処理されます。
MCT8329A は、最大 2 回の連続読み出し / 書き込み要求に対応できます。高優先度の割り込みにより MCT8329A がビジーの場合、送信されたデータは内部バッファ (Rx バッファ 1、Rx バッファ 2) に格納されます。この時点で第 3 の読み出し / 書き込み要求が発行された場合、バッファがすでに満杯であるため、ターゲット ID は NACK されます。
読み出し動作中、読み出し要求が処理され、レジスタからの読み出しデータと CRC バイト (有効化されている場合) は Tx バッファに格納されます。外部 MCU が I2C 読み出し (ターゲット ID + R ビット) を開始すると、この Tx バッファからのデータは I2C を介して転送されます。2 つの Tx バッファが備わっているため、MCT8329A の 2 つの読み出しからのレジスタ・データをバッファできます。このシナリオでは、第 3 の読み出し要求が発行されると、制御ワードは Rx バッファ 1 に格納されますが、Tx バッファが満杯であるため、MCT8329A では処理されません。
Tx バッファからデータが読み出されると、そのデータは Tx バッファにはもはや格納されません。バッファはクリアされ、次のデータを格納できるようになります。読み出しトランザクションが中断され、MCU が全バイトの読み出しを完了していない場合、最初からすべてのデータ・バイトを読み出すため、外部 MCU は再度 I2C 読み出し (I2C 読み出しのみ、制御ワード情報なし) を開始できます。