MITT 中的I2C控制器測試
MITT 軟體套件中包含的 I2C 測試模組可用來測試 I2C 控制器及其驅動程式的數據傳輸。 MITT 面板可作為連線到 I2C 總線的用戶端裝置。
開始之前
- 取得 MITT 面板和 I2C 配接器面板。 請參閱 購買硬體以使用MITT。
- 下載 MITT 軟體套件。 在受測的系統上安裝它。
- 在 MITT 面板上安裝 MITT 韌體。 請參閱 開始使用MITT。
硬體設定
總線介面 | 釘選輸出 | ACPI 和圖解 | 連線 ion 解決方案 |
---|---|---|---|
I2C | 所有需要線路(SCL、SDA 和 GND) | ACPI 數據表 | 簡單男性區塊 (偵錯面板上) |
連線 MITT 面板上的 I2C 適配卡至 JB1。
使用跳線至 I2C 標頭 (JB1 上方) 以選取介於 3.3V 和 1.8V 之間的正確 I2C 電壓。 在此影像中,已選取 1.8V。
連線 受測系統上公開 SCL、SDA 和 GND 線路的配接器面板上的 SCL、SDA 和 GND 針腳。
使用 I2C 配接器面板上的跳線來選取介於 3.3V 和 1.8V 之間的正確 I2C 電壓。 在此影像中,已選取 1.8V。
在 MITT 面板上,將 SWITCH SW0 設定為高位。 當 MITT 開機時,這個位置會啟用 I2C 的預設模式。
使用 [ 重設 ] 按鈕來迴圈 MITT 面板。 如果連線到 I2C 控制器的連線正確, 則 LD7 (SDA 指示器)和 LD6 (SCL 指示器)會開啟。 如果任一個 LED 未開啟,因為 SDA 或 SCL 或兩者都處於低位,因此發生線路問題。
測試驅動程式和ACPI設定
在測試中具有 I2C 控制器的系統上執行下列步驟:
執行此指令以安裝 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
修改系統 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 自動化測試
在受測的系統上建立資料夾。
將 TAEF 二進位檔複製到資料夾,然後將它新增至您的 PATH 環境變數。 必要的 TAEF 二進位檔位於 %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\TAEF 中。
將Muttutil.dll和Mitti2ctest.dll從MITT軟體套件複製到資料夾。
使用 /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 配接器圖解