ID do artigo: 000086590 Tipo de conteúdo: Solução de problemas Última revisão: 24/06/2021

O que deve ser considerado ao colocar pinos I2C em Intel Agilex 7 dispositivos, dada a® restrição de cada grupo de DQ x4 compartilhando o mesmo sinal de OE?

Ambiente

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descrição

    De acordo com os requisitos de colocação de pinos no guia de usuário de E/S e LVDS SERDES de 7 FPGA de uso geral, cada grupo de DQ x4 compartilha os mesmos sinais de OE, redefinição e habilitação do clock, portanto, você não pode dividir os sinais de EE, Redefinir ou ativar clock dentro de um grupo de DQ x4. Intel Agilex® Dada a restrição, aqui estão algumas considerações ao colocar pinos I2C.

     


     

      Resolução

      1. FPGA é usado como mestre I2C, exigindo modo multi-mestre:

      (i) Uma implementação típica de I2C está usando OE em SCL e SDA, conforme mostrado abaixo. Assim, você não pode colocar SCL e SDA no mesmo grupo de DQ x4.

      atribuir i2c_serial_scl_in = arduino_adc_scl;

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

      atribuir i2c_serial_sda_in = arduino_adc_sda;

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

      (ii) Outra maneira é usar o GPIO Intel FPGA IP. Você pode habilitar o esvaziamento aberto para SCL e SDA, conectar ambas as portas OE para SCL e SDA a 1 (alta) e conectar os sinais invertidos dos sinais de controle de OE originais. Desta forma, você pode trabalhar em torno da restrição. A seguir, um exemplo:

            

      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 é usado como modo único mestre I2C:

      SCL é um pino de saída sem OE. SDA é um pino bidirecional com OE.

       

      3. FPGA é usado como escravo I2C:

      SCL é um pino de entrada sem OE. SDA é um pino bidirecional com OE.

       

      Em 2 e 3 acima, porque a SCL não tem OE,

      • Uma SCL e uma SDA podem ser atribuídas no mesmo grupo de DQ x4
      • Vários SCL e um SDA podem ser atribuídos no mesmo grupo de DQ x4
      • Vários SDA não podem ser atribuídos no mesmo grupo de DQ x4
      • Quando vários SDA são atribuídos no mesmo grupo de DQ x4, o uso do GPIO Intel FPGA IP como mencionado acima também é uma solução alternativa.

      Produtos relacionados

      Este artigo aplica-se a 1 produtos

      FPGAs e FPGAs SoC Intel® Agilex™ 7

      O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.