文章 ID: 000086590 內容類型: 疑難排解 最近查看日期: 2021 年 06 月 24 日

如果每個 x4 DQ 群組共用相同的 OE 訊號,在 Intel Agilex® 7 個裝置中放置 I2C 針腳時應該考慮什麼?

環境

  • Intel® Quartus® Prime Pro Edition 軟體
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    描述

    根據Intel Agilex® 7 FPGA一般用途 I/O 和 LVDS SERDES 使用者指南 中的針腳放置要求,每個 x4 DQ 群組共用相同的 OE、重設和頻率啟用訊號,因此您無法在 x4 DQ 群組中分割 OE、重設或頻率啟用訊號。有鑑於此限制,在放置 I2C 針腳時,以下是一些考慮因素。

     


     

      解決方法

      1. FPGA用作 I2C 主機,需要多主機模式:

      (i) I2C 的一般實作是在 SCL 和 SDA 上使用 OE,如下所示。因此,您無法將 SCL 和 SDA 放在相同的 x4 DQ 群組中。

      指派i2c_serial_scl_in = arduino_adc_scl;

      指派arduino_adc_scl = i2c_serial_scl_oe?1'b0:1'bz;

      指派i2c_serial_sda_in = arduino_adc_sda;

      指派arduino_adc_sda = i2c_serial_sda_oe?1'b0:1'bz;

      (ii) 另一種方法是使用 GPIO Intel FPGA IP。您可以啟用 SCL 和 SDA 的開放式排空功能、將 SCL 和 SDA 的 OOE 埠連接到 1(高),並連接原始 OE 控制訊號的倒轉訊號。透過這種方式,您可以解決此限制問題。以下是一個範例:

            

      gioip gpioip_scl (

      .dout (i2c_serial_scl_in),

      .din (~i2c_serial_scl_oe),

      .oe (1'b1),

      .pad_io(arduino_adc_scl)

      );

      gioip gpioip_sda (

      .dout (i2c_serial_sda_in),

      .din (~i2c_serial_sda_oe),

      .oe (1'b1),

      .pad_io(arduino_adc_sda)

      );

       

      2. FPGA用作 I2C 主機單一模式:

      SCL 是一個沒有 OE 的輸出針腳。SDA 是具有 OOE 的雙向針腳。

       

      3. FPGA用作 I2C 從機:

      SCL 是一個沒有 OE 的輸入針腳。SDA 是具有 OOE 的雙向針腳。

       

      在 2 和 3 以上,因為 SCL 沒有 OE,

      • SCL 與 SDA 可在同一 x4 DQ 群組中分配
      • 多個 SCL 與 SDA 可在同一 x4 DQ 群組中分配
      • 無法在同一 x4 DQ 群組中指派多個 SDA
      • 當在同一 x4 DQ 群組中指派多個 SDA 時,使用上述的 GPIO Intel FPGA IP也是一個解決方法。

      相關產品

      本文章適用於 1 產品

      Intel® Agilex™ 7 FPGA 與 SoC FPGA

      這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。