Compartir a través de


Pruebas de controlador I2C en MITT

Los módulos de prueba I2C que se incluyen en el paquete de software MITT se pueden usar para probar las transferencias de datos de un controlador I2C y su controlador. La placa MITT actúa como un dispositivo cliente conectado al bus I2C.

Antes de empezar

Configuración de hardware

Imagen de la configuración de hardware de MITT I2C.

Interfaz de bus Anclar ACPI y esquemas solución Conectar ion
I2C Todas las líneas necesarias (SCL, SDA y GND) Tabla ACPI Bloque macho simple (en la placa de depuración)
  1. Conectar el adaptador I2C a JB1 en la placa MITT.

    Imagen del encabezado MITT I2C.

  2. Utilice el jumper en el encabezado I2C (por encima de JB1) para seleccionar el voltaje I2C correcto entre 3.3V y 1.8V. En esta imagen, se selecciona 1.8V.

  3. Conectar patillas SCL, SDA y GND en la placa adaptadora a las líneas SCL, SDA y GND expuestas en el sistema sometido a prueba.

    Imagen del adaptador I2C.

  4. Utilice el jumper en la placa del adaptador I2C para seleccionar el voltaje I2C correcto entre 3.3V y 1.8V. En esta imagen, se selecciona la versión 1.8V.

  5. En la placa MITT, establezca el conmutador SW0 a la posición alta. Esta posición habilita el modo predeterminado para I2C cuando el MITT está encendido.

    Imagen de SW0 en la placa MITT.

  6. Use el botón RESET para encender el ciclo de la placa MITT. Si las conexiones de cable al controlador I2C son correctas, encendido LD7 (indicador SDA) y LD6 (indicador SCL). Si el LED no se activa, hay un problema de cableado porque SDA o, SCL, o ambos se extraen bajo.

Configuración del controlador de prueba y ACPI

Realice estos pasos en el sistema en prueba que tiene el controlador I2C:

  1. Instale el controlador WITTTest incluido en el paquete de software MITT ejecutando 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
    

    Nota:

    PnpUtil.exe se incluye en %SystemRoot%\System32.

  2. Modifique el ACPI del sistema e incluya esta tabla ASL. Puede usar el compilador ASL de Microsoft.

    Nota:

    Cambie "\\_SB_. I2C2" al nombre de entrada ACPI del controlador I2C que se va a probar.

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

    Nota:

    Solo se requiere TP1-3 para ejecutar pruebas MITT I2C. TP4 y TP5 son destinos opcionales.

Pruebas de automatización de I2C

  1. Cree una carpeta en el sistema en prueba.

  2. Copie los archivos binarios de TAEF en la carpeta y agréguelos a la variable de entorno PATH. Los archivos binarios de TAEF necesarios se encuentran en %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\TAEF .

  3. Copie Muttutil.dll y Mitti2ctest.dll del paquete de software MITT en la carpeta .

  4. Vea todas las pruebas de MITT I2C mediante la opción /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
    

Ya está listo para ejecutar pruebas de I2C. Puede ejecutar una sola prueba, todas las pruebas a la vez o ejecutarlas manualmente.

  • Ejecute una sola prueba mediante la opción /name:<test name> . Este comando ejecuta la prueba BasicIORead:

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

  • Ejecute todas las pruebas mediante este comando:

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

  • Ejecute pruebas manualmente mediante SPBCmd.exe herramienta incluida en el paquete de software MITT.

Esquema del adaptador de I2C

Diagrama esquemamático del adaptador de I2C.