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
- Obtenha uma placa MITT e uma placa adaptadora I2C. Consulte Comprar hardware para usar MITT.
- Faça o download do pacote de software MITT. Instale-o no sistema em teste.
- Instale o firmware MITT na placa MITT. Consulte Introdução ao MITT.
Configuração de hardware
Interface de barramento | Pinagem | ACPI e esquemas | Solução de conexão |
---|---|---|---|
I2ºC | Todas as linhas necessárias (SCL, SDA e GND) | Tabela ACPI | Bloco macho simples (na placa de depuração) |
Conecte o adaptador I2C ao JB1 na placa MITT.
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.
Conecte os pinos SCL, SDA e GND na placa adaptadora às linhas SCL, SDA e GND expostas no sistema em teste.
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.
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.
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:
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
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
Crie uma pasta no sistema em teste.
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 .
Copie Muttutil.dll e Mitti2ctest.dll do pacote de software MITT para a pasta.
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