MITT の I2C コントローラー テスト
MITT ソフトウェア パッケージに含まれている I2C テスト モジュールは、I2C コントローラーとそのドライバーのデータ転送をテストするのに使用できます。 MITT ボードは、I2C バスに接続されたクライアント デバイスとして機能します。
開始する前に
- MITT ボードと I2C アダプター ボードを入手します。 「MITT を使用するためのハードウェアの購入」を参照してください。
- MITT ソフトウェア パッケージのダウンロード。 テスト対象のシステムにインストールします。
- MITT ボードに MITT ファームウェアをインストールします。 「MITT の使用」をご覧ください。
ハードウェアのセットアップ
バス インターフェイス | ピン配置 | ACPI と回路図 | 接続ソリューション |
---|---|---|---|
I2C | 必要なすべてのライン (SCL、SDA、GND) | ACPI テーブル | 単純なオスブロック (デバッグ ボード上) |
MITT ボードの JB1 に I2C アダプターを接続します。
I2C ヘッダー (JB1 より上 ) のジャンパーを使用して、3.3V ~ 1.8V の間の正しい I2C 電圧を選択します。 この画像では、1.8V が選択されています。
アダプター ボード上の SCL、SDA、GND ピンを、テスト対象のシステム上の露出された SCL、SDA、GND ラインに接続します。
I2C アダプタ ボードのジャンパーを使用して、3.3V ~ 1.8V の間の正しい I2C 電圧を選択します。 この画像では、1.8V が選択されています。
MITT ボードで、スイッチ SW0 を上位に設定します。 この位置では、MITT の電源が入っているときに I2C の既定のモードが有効になります。
[RESET] ボタンを使用して 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
Note
PnpUtil.exe は %SystemRoot%\System32 に含まれています。
システム ACPI を変更して、この ASL テーブルを含めます。 Microsoft ASL コンパイラを使用できます。
Note
"\\_SB_.I2C2" をテストする I2C コントローラーの 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) } }
Note
MITT I2C テストを実行するには、TP1-3 のみが必要です。 TP4 と TP5 は任意のターゲットです。
I2C オートメーション テスト
テスト対象のシステムにフォルダーを作成します。
TAEF バイナリをフォルダーにコピーして、PATH 環境変数に追加します。 必要な TAEF バイナリは %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\TAEF にあります。
MITT ソフトウェア パッケージからフォルダーに Muttutil.dllとMitti2ctest.dll をコピーします。
/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> オプションを使用して 1 つのテストを実行します。 このコマンドは、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 アダプタ回路図