Freigeben über


I2C-Controllertests in MITT

I2C-Testmodule, die im MITT-Softwarepaket enthalten sind, können verwendet werden, um Datenübertragungen für einen I2C-Controller und seinen Treiber zu testen. Das MITT-Board fungiert als Clientgerät, das mit dem I2C-Bus verbunden ist.

Voraussetzungen

Hardwareeinrichtung

Abbildung des MITT I2C-Hardwaresetups.

Busschnittstelle Anheften ACPI und Schematik Verbinden ion-Lösung
I2C Alle benötigten Zeilen (SCL, SDA und GND) ACPI-Tabelle Einfacher männlicher Block (auf Debugboard)
  1. Verbinden der I2C Adapter auf JB1 auf dem MITT-Board.

    Abbildung des MITT I2C-Headers.

  2. Verwenden Sie den Jumper auf den I2C-Header (über JB1), um die richtige I2C-Spannung zwischen 3,3V und 1,8V auszuwählen. In dieser Abbildung ist 1,8V ausgewählt.

  3. Verbinden SCL-, SDA- und GND-Pins auf dem Adapterboard an die verfügbaren SCL-, SDA- und GND-Leitungen des getesteten Systems.

    Abbildung des I2C-Adapters.

  4. Verwenden Sie den Jumper auf der I2C-Adapterplatte, um die richtige I2C-Spannung zwischen 3,3V und 1,8V auszuwählen. In dieser Abbildung ist 1,8V ausgewählt.

  5. Setzen Sie auf der MITT-Tafel den Schalter SW0 auf die hohe Position. Diese Position aktiviert den Standardmodus für I2C, wenn das MITT eingeschaltet ist.

    Bild von SW0 auf der MITT-Tafel.

  6. Verwenden Sie die RESET-Taste , um die MITT-Tafel zu einschalten. Wenn die Drahtverbindungen mit dem I2C-Controller korrekt sind, aktivieren LD7 (SDA-Indikator) und LD6 (SCL-Indikator). Wenn entweder LED nicht aktiviert ist, liegt ein Verkabelungsproblem vor, da SDA oder SCL oder beide niedrig gezogen werden.

Testtreiber und ACPI-Konfiguration

Führen Sie die folgenden Schritte auf dem System unter Test mit dem I2C-Controller aus:

  1. Installieren Sie den WITTTest-Treiber, der im MITT-Softwarepaket enthalten ist, indem Sie den folgenden Befehl ausführen:

    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
    

    Hinweis

    PnpUtil.exe ist in %SystemRoot%\System32 enthalten.

  2. Ändern Sie die SYSTEM-ACPI, und fügen Sie diese ASL-Tabelle ein. Sie können den Microsoft ASL-Compiler verwenden.

    Hinweis

    Ändern Sie "\\_SB_. I2C2" zum ACPI-Eintragsnamen für den zu testenden I2C-Controller.

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

    Hinweis

    Zum Ausführen von MITT I2C-Tests sind nur TP1-3 erforderlich. TP4 und TP5 sind optionale Ziele.

I2C Automatisierungstests

  1. Erstellen Sie einen Ordner im System unter Test.

  2. Kopieren Sie die TAEF-Binärdateien in den Ordner, und fügen Sie sie dann ihrer PATH-Umgebungsvariable hinzu. Die erforderlichen TAEF-Binärdateien befinden sich in %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\TAEF.

  3. Kopieren Sie Muttutil.dll und Mitti2ctest.dll aus dem MITT-Softwarepaket in den Ordner.

  4. Zeigen Sie alle MITT I2C-Tests mithilfe der Option "/list " an:

    "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
    

Sie sind jetzt bereit, I2C-Tests auszuführen. Sie können einen einzelnen Test, alle Tests gleichzeitig ausführen oder Tests manuell ausführen.

  • Führen Sie einen einzelnen Test mithilfe der Option "/name:<test name"> aus. Dieser Befehl führt den BasicIORead-Test aus:

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

  • Führen Sie alle Tests mit diesem Befehl aus:

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

  • Führen Sie Tests manuell aus, indem Sie SPBCmd.exe Tool verwenden, das im MITT-Softwarepaket enthalten ist.

I2C Adapter schematisch

Schemadiagramm des I2C-Adapters.