ZHCSWO7 May 2024 MCT8316A-Q1
PRODUCTION DATA
MCT8316A-Q1 在內部使用緩沖區來存儲在 I2C 上接收到的數據。收集 I2C 總線上的數據具有最高的優先級。有 2 個緩沖區(乒乓)用于 I2C Rx 數據,有 2 個緩沖區(乒乓)用于 I2 Tx 數據。
來自外部 MCU 的寫入請求存儲在 Rx 緩沖區 1 中,然后觸發解析塊以處理 Rx 緩沖區 1 中的該數據。當 MCT8316A-Q1 正在處理 Rx 緩沖區 1 中的寫入數據包時,如果有另一個新的讀取/寫入請求,則來自 I2C 總線的全部數據都存儲在 Rx 緩沖區 2 中,在當前請求之后進行處理。
MCT8316A-Q1 最多可以容納兩個連續的讀取/寫入請求。如果 MCT8316A-Q1 由于高優先級中斷而處于忙狀態,則發送的數據將存儲在內部緩沖區(Rx 緩沖區 1 和 Rx 緩沖區 2)中。此時,如果有第三個讀取/寫入請求,則目標 ID 將被否定確認,因為緩沖區已滿。
在讀取操作期間,讀取請求會得到處理,并且從寄存器讀取的數據與 CRC 字節(如果啟用)一起存儲在 Tx 緩沖區中。現在,如果外部 MCU 啟動 I2C 讀取(目標 ID + R 位),則該 Tx 緩沖區中的數據將通過 I2C 進行發送。由于有兩個 Tx 緩沖區,因此可以緩沖來自 2 次 MCT8316A-Q1 讀取的寄存器數據。在給定該情形時,如果存在第三個讀取請求,則控制字將存儲在 Rx 緩沖區 1 中,但 MCT8316A-Q1 不會對其進行處理,因為 Tx 緩沖區已滿。
從 Tx 緩沖區中讀取數據后,該數據將不再存儲在 Tx 緩沖區中。緩沖區被清除,可以用于下一個要存儲的數據。如果讀取事務在中間被中斷并且 MCU 未讀取所有字節,則外部 MCU 可以啟動另一個 I2C 讀取(僅 I2C 讀取,沒有任何控制字信息)從第一個數據字節開始讀取所有數據字節。