Artikel-ID: 000086590 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 24.06.2021

Was sollte bei der Platzierung von I2C-Pins in Intel Agilex® 7 Geräten beachtet werden, angesichts der Einschränkung, dass jede x4 DQ-Gruppe das gleiche OE-Signal teilt?

Umgebung

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Gemäß den Anforderungen an die Pin-Platzierung in Intel Agilex® 7 FPGA Allzweck-I/O- und LVDS-SERDES-Benutzerhandbuch teilt sich jede x4 DQ-Gruppe die gleichen OE-, Reset- und Takt-Aktivierungssignale, daher können Sie die OE-, Reset- oder Takt-Aktivierungssignale nicht innerhalb einer x4 DQ-Gruppe aufteilen. Angesichts der Einschränkung gibt es hier einige Überlegungen bei der Platzierung von I2C-Pins.

     


     

      Lösung

      1. FPGA wird als I2C-Master verwendet und erfordert einen Multi-Master-Modus:

      (i) Eine typische Implementierung von I2C verwendet OE sowohl auf SCL als auch auf SDA, wie unten gezeigt. So können Sie SCL und SDA nicht in der gleichen x4 DQ-Gruppe platzieren.

      Zuweisen i2c_serial_scl_in = arduino_adc_scl;

      Zuweisen arduino_adc_scl = i2c_serial_scl_oe? 1'b0: 1'bz;

      zuweisen i2c_serial_sda_in = arduino_adc_sda;

      zuweisen arduino_adc_sda = i2c_serial_sda_oe? 1'b0: 1'bz;

      (ii) Eine andere Möglichkeit ist die Verwendung von GPIO-Intel FPGA IP. Sie können Open-Drain für SCL und SDA aktivieren, beide OE-Ports für SCL und SDA mit 1 (hoch) verbinden und die invertierten Signale der ursprünglichen OE-Steuerungssignale verbinden. Auf diese Weise können Sie die Einschränkung umgehen. Folgendes ist ein Beispiel:

            

      gpioip gpioip_scl (

      .dout (i2c_serial_scl_in),

      .din (~i2c_serial_scl_oe),

      .oe (1'b1),

      .pad_io (arduino_adc_scl)

      );

      gpioip gpioip_sda (

      .dout (i2c_serial_sda_in),

      .din (~i2c_serial_sda_oe),

      .oe (1'b1),

      .pad_io (arduino_adc_sda)

      );

       

      2. FPGA wird als I2C Master-Einzelmodus verwendet:

      SCL ist ein Ausgangsstift ohne OE. SDA ist ein bidirektionaler Pin mit OE.

       

      3. FPGA wird als I2C-Slave verwendet:

      SCL ist ein Eingabestift ohne OE. SDA ist ein bidirektionaler Pin mit OE.

       

      In 2 und 3 oben, da SCL keine OE hat,

      • Ein SCL und ein SDA können in der gleichen x4 DQ-Gruppe zugewiesen werden
      • Mehrere SCL und ein SDA können in der gleichen x4 DQ-Gruppe zugewiesen werden
      • Mehrere SDA können nicht in der gleichen x4 DQ-Gruppe zugewiesen werden
      • Wenn mehrere SDA in der gleichen x4 DQ-Gruppe zugewiesen werden, ist die Verwendung von GPIO-Intel FPGA IP wie oben erwähnt auch eine Problemumgehung.

      Zugehörige Produkte

      Dieser Artikel bezieht sich auf 1 Produkte

      Intel® Agilex™ FPGAs und SoC FPGAs

      Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.