Compartilhar via


Testes de controladores I2C no MITT

Os módulos de teste I2C incluídos no pacote de software MITT podem ser usados para testar transferências de dados para um controlador I2C e seu driver. A placa MITT atua como um dispositivo cliente conectado ao barramento I2C.

Antes de começar

Configuração de hardware

Imagem da configuração de hardware MITT I2C.

Interface de barramento Pinagem ACPI e esquemas Solução de conexão
IC Todas as linhas necessárias (SCL, SDA e GND) Tabela ACPI Bloco macho simples (na placa de depuração)
  1. Conecte o adaptador I2C ao JB1 na placa MITT.

    Imagem do cabeçalho MITT I2C.

  2. Use o jumper no conector I2C (acima de JB1) para selecionar a tensão I2C correta entre 3,3V e 1,8V. Nesta imagem, 1.8V está selecionado.

  3. Conecte os pinos SCL, SDA e GND na placa adaptadora às linhas SCL, SDA e GND expostas no sistema em teste.

    Imagem do adaptador I2C.

  4. Use o jumper na placa adaptadora I2C para selecionar a tensão I2C correta entre 3,3V e 1,8V. Nesta imagem, o 1.8V é selecionado.

  5. Na placa MITT, ajuste o interruptor SW0 para a posição alta. Essa posição habilita o modo padrão para I2C quando o MITT é alimentado.

    Imagem de SW0 na placa MITT.

  6. Use o botão RESET para ligar a placa MITT. Se as conexões de fio para o controlador I2C estiverem corretas, LD7 (indicador SDA) e LD6 (indicador SCL) ligam. Se um dos LEDs não acender, há um problema de fiação porque o SDA ou o SCL ou ambos são puxados para baixo.

Driver de teste e configuração ACPI

Execute estas etapas no sistema em teste que tem o controlador I2C:

  1. Instale o driver WITTTest incluído no pacote de software MITT executando este comando:

    pnputil -a WittTest.inf

    Microsoft PnP Utility
    
    Processing inf :            WittTest.inf
    Driver package added successfully.
    Published name :            oem6.inf
    
    Total attempted:              1
    Number successfully imported: 1
    

    Observação

    PnpUtil.exe está incluído em %SystemRoot%\System32.

  2. Modifique a ACPI do sistema e inclua esta tabela ASL. Você pode usar o compilador Microsoft ASL.

    Observação

    Altere "\\_SB_. I2C2" para o nome de entrada ACPI para o controlador I2C testar.

    //TP1 100Khz Standard Target Device(TP1)
    Device(TP1) {
        Name (_HID, "STK0001")
        Name (_CID, "WITTTest")
        Method(_CRS, 0x0, NotSerialized)
        {
          Name (RBUF, ResourceTemplate ()
          {
            I2CSerialBus ( 0x11, ControllerInitiated, 100000,AddressingMode7Bit, "\\_SB_.I2C2",,, , )
          })
          Return(RBUF)
        }
    }
    
    //TP2 400Khz  Fast Target
    Device(TP2) {
        Name (_HID, "STK0002")
        Name (_CID, "WITTTest")
        Method(_CRS, 0x0, NotSerialized)
        {
          Name (RBUF, ResourceTemplate ()
          {
            I2CSerialBus ( 0x12, ControllerInitiated, 400000,AddressingMode7Bit, "\\_SB_.I2C2",,, , )
          })
          Return(RBUF)
        }
    }
    
    //TP3 1 Mhz  FastPlus Target
    Device(TP3) {
        Name (_HID, "STK0003")
        Name (_CID, "WITTTest")
        Method(_CRS, 0x0, NotSerialized)
        {
          Name (RBUF, ResourceTemplate ()
          {
            I2CSerialBus ( 0x13, ControllerInitiated, 1000000,AddressingMode7Bit, "\\_SB_.I2C2",,, , )
          })
          Return(RBUF)
        }
    }
    
    //TP4 1.4 Mhz High Speed, optional target
    Device(TP4) {
        Name (_HID, "STK0004")
        Name (_CID, "WITTTest")
        Method(_CRS, 0x0, NotSerialized)
        {
          Name (RBUF, ResourceTemplate ()
          {
            I2CSerialBus ( 0x14, ControllerInitiated, 1400000,AddressingMode7Bit, "\\_SB_.I2C2",,, , )
          })
          Return(RBUF)
        }
    }
    
    //TP5 3.4 Mhz High Speed, optional target
    Device(TP5) {
        Name (_HID, "STK0005")
        Name (_CID, "WITTTest")
        Method(_CRS, 0x0, NotSerialized)
        {
          Name (RBUF, ResourceTemplate ()
          {
            I2CSerialBus ( 0x15, ControllerInitiated, 3400000,AddressingMode7Bit, "\\_SB_.I2C2",,, , )
          })
          Return(RBUF)
        }
    }
    

    Observação

    Apenas TP1-3 são necessários para executar testes MITT I2C. TP4 e TP5 são alvos opcionais.

I2C testes de automação

  1. Crie uma pasta no sistema em teste.

  2. Copie os binários do TAEF para a pasta e adicione-os à variável de ambiente PATH. Os binários TAEF necessários estão em %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\TAEF .

  3. Copie Muttutil.dll e Mitti2ctest.dll do pacote de software MITT para a pasta.

  4. Veja todos os testes MITT I2 C usando a opção /list:

    "C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\TAEF\te" MITTI2CTest.dll /list

    Test Authoring and Execution Framework v3.7k for x64
    
    
            C:\Program Files(x86)\MITT\x64\MITTI2CTest.dll
                MITTI2CTest
                    MITTI2CTest::BasicIORead
                    MITTI2CTest::BasicIOWrite
                    MITTI2CTest::BasicIOSeq
                    MITTI2CTest::BasicIOKernel
                    MITTI2CTest::DeviceNACK
                    MITTI2CTest::LockUnlock
                    MITTI2CTest::CancelRead
                    MITTI2CTest::CancelWrite
                    MITTI2CTest::CancelSequence
                    MITTI2CTest::ClockStretching
                    MITTI2CTest::PerfRead
                    MITTI2CTest::PerfWrite
                    MITTI2CTest::PerfSequence
                    MITTI2CTest::BusRecovery
                    MITTI2CTest::Power
                    MITTI2CTest::Stress
    

Agora você está pronto para executar testes I2C. Você pode executar um único teste, todos os testes de uma só vez ou executar testes manualmente.

  • Execute um único teste usando a opção /name:test name.<> Este comando executa o teste BasicIORead:

    "C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\TAEF\te" MITTI2CTest.dll /name:MITTI2CTest::BasicIORead

  • Execute todos os testes usando este comando:

    "C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\TAEF\te" MITTI2CTest.dll

  • Execute testes manualmente usando SPBCmd.exe ferramenta incluída no pacote de software MITT.

I2C adaptador esquemático

Diagrama esquemático do adaptador I2C.