インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

20.5.5.1. 送信FIFOのアンダーフロー

I2Cシリアル転送中に、送信FIFOのエントリー数がDMA Transmit Data Level Register (IC_DMA_TDLR) の値以下になると、送信FIFOの要求がDMAコントローラーに発行されます。この値は、ウォーターマーク・レベルとも呼ばれます。DMAコントローラーは、DMAバースト長に指定されている長さのデータバーストを送信FIFOバッファーに書き込むことで応答します。†

注: データは、送信FIFOがシリアル転送を継続的に実行するのに十分な頻度でDMAからフェッチされる必要があります。つまり、FIFOが空の状態に近づいた際に、新たなDMA要求がトリガーされる必要があります。これに従わない場合は、FIFOのデータが不足するため (アンダーフロー)、マスターはSCLラインをLowに保持することで転送をストールします。この状態を回避するには、ウォーターマーク・レベルを正しく設定する必要があります。†