共用方式為


MITT 中的I2C控制器測試

MITT 軟體套件中包含的 I2C 測試模組可用來測試 I2C 控制器及其驅動程式的數據傳輸。 MITT 面板可作為連線到 I2C 總線的用戶端裝置。

開始之前

硬體設定

MITT I2C 硬體設定的圖片。

總線介面 釘選輸出 ACPI 和圖解 連線 ion 解決方案
I2C 所有需要線路(SCL、SDA 和 GND) ACPI 數據表 簡單男性區塊 (偵錯面板上)
  1. 連線 MITT 面板上的 I2C 適配卡至 JB1

    MITT I2C 標頭的圖片。

  2. 使用跳線至 I2C 標頭 (JB1 上方) 以選取介於 3.3V 和 1.8V 之間的正確 I2C 電壓。 在此影像中,已選取 1.8V。

  3. 連線 受測系統上公開 SCL、SDA 和 GND 線路的配接器面板上的 SCL、SDA 和 GND 針腳。

    I2C 配接器的圖片。

  4. 使用 I2C 配接器面板上的跳線來選取介於 3.3V 和 1.8V 之間的正確 I2C 電壓。 在此影像中,已選取 1.8V。

  5. 在 MITT 面板上,將 SWITCH SW0 設定為高位。 當 MITT 開機時,這個位置會啟用 I2C 的預設模式。

    MITT 面板上的SW0 圖片。

  6. 使用 [ 重設 ] 按鈕來迴圈 MITT 面板。 如果連線到 I2C 控制器的連線正確, 則 LD7 (SDA 指示器)和 LD6 (SCL 指示器)會開啟。 如果任一個 LED 未開啟,因為 SDA 或 SCL 或兩者都處於低位,因此發生線路問題。

測試驅動程式和ACPI設定

在測試中具有 I2C 控制器的系統上執行下列步驟:

  1. 執行此指令以安裝 MITT 軟體套件中包含的 WITTTest 驅動程式:

    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
    

    注意

    PnpUtil.exe包含在 %SystemRoot%\System32 中。

  2. 修改系統 ACPI 並包含此 ASL 資料表。 您可以使用 Microsoft ASL 編譯程式

    注意

    變更 “\\_SB_。要測試之 I2 C 控制器的 I2C2“ 至 ACPI 項目名稱。

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

    注意

    執行MITT I2C測試只需要 TP1-3。 TP4 和 TP5 是選擇性目標。

I2C 自動化測試

  1. 在受測的系統上建立資料夾。

  2. 將 TAEF 二進位檔複製到資料夾,然後將它新增至您的 PATH 環境變數。 必要的 TAEF 二進位檔位於 %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\TAEF 中。

  3. 將Muttutil.dll和Mitti2ctest.dll從MITT軟體套件複製到資料夾。

  4. 使用 /list 選項檢視所有 MITT I2C 測試:

    "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
    

您現在已準備好執行 I2C 測試。 您可以一次執行單一測試、所有測試,或手動執行測試。

  • 使用 /name:<test name> 選項執行單一測試。 此指令會執行 BasicIORead 測試:

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

  • 使用此指令執行所有測試:

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

  • 使用MITT軟體套件中包含的SPBCmd.exe工具手動執行測試。

I2C 配接器圖解

I2C 配接器圖解圖。