Testes do controlador I2C no MITT

Os módulos de teste de 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 do MITT I2C.

Interface do barramento Pin-out ACPI e esquemas Solução de conexão
I2C Todas as linhas necessárias (SCL, SDA e GND) Tabela ACPI Bloco masculino simples (no quadro de depuração)
  1. Conecte o adaptador I2C ao JB1 na placa MITT.

    Imagem do cabeçalho MITT I2C.

  2. Utilize o jumper no cabeçalho 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 no painel do adaptador às linhas SCL, SDA e GND expostas no sistema em teste.

    Imagem do adaptador I2C.

  4. Use o jumper na placa do adaptador I2C para selecionar a tensão I2C correta entre 3,3V e 1,8V. Nesta imagem, a 1.8V está selecionada.

  5. No quadro MITT, coloque o interruptor SW0 na posição para cima. Essa posição habilita o modo padrão para I2C quando o MITT é alimentado.

    Foto de SW0 na placa MITT.

  6. Use o botão REDEFINIR para ativar o ciclo da placa MITT. Se as conexões de fios com o controlador I2C estiverem corretas, LD7 (indicador SDA) e LD6 (indicador SCL) acendem. Se algum dos LEDs não acender, há um problema de fiação porque o SDA ou o SCL, ou ambos, estão em nível baixo.

Driver de teste e configuração de 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 o ACPI do sistema e inclua esta tabela ASL. Você pode usar o compilador do Microsoft ASL.

    Observação

    Alterar "\\_SB_. I2C2" para o nome de entrada do ACPI para o controlador I2C a ser testado.

    //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

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

Testes de automação de I2C

  1. Crie uma pasta no sistema em teste.

  2. Copie os binários 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\10\Testing\Runtimes\TAEF .

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

  4. Exiba todos os testes MITT I2C 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 de I2C. Você pode executar um único teste, todos os testes de uma 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.

Esquema do adaptador I2C

Diagrama de esquema do adaptador I2C.