Tests de contrôleur I2C dans MITT
Les modules de test I2C inclus dans le package logiciel MITT peuvent être utilisés pour tester les transferts de données pour un contrôleur I2C et son pilote. La carte MITT agit en tant qu’appareil client connecté au bus I2C.
Avant de commencer
- Obtenez une carte MITT et une carte d’adaptateur I2C. Consultez Acheter du matériel pour utiliser MITT.
- Téléchargez le package logiciel MITT. Installez-le sur le système sous test.
- Installez le microprogramme MITT sur la carte MITT. Consultez Bien démarrer avec MITT.
Configuration matérielle
Interface de bus | Épingler | ACPI et schémas | solution de Connecter ion |
---|---|---|---|
I2C | Toutes les lignes nécessaires (SCL, SDA et GND) | Table ACPI | Bloc mâle simple (sur la carte de débogage) |
Connecter l’adaptateur I2C à JB1 sur la carte MITT.
Utilisez le jumper sur l’en-tête I2C (ci-dessus JB1) pour sélectionner la tension I2C correcte entre 3,3V et 1,8V. Dans cette image, la version 1.8V est sélectionnée.
Connecter broches SCL, SDA et GND sur la carte d’adaptateur aux lignes SCL, SDA et GND exposées sur le système testés.
Utilisez le jumper sur la carte d’adaptateur I2C pour sélectionner la tension I2C correcte entre 3,3V et 1,8V. Dans cette image, la version 1.8V est sélectionnée.
Sur la carte MITT, définissez sw0 sur la position haute. Cette position active le mode par défaut pour I2C lorsque le MITT est alimenté.
Utilisez le bouton RESET pour alimenter la carte MITT. Si les connexions de câble au contrôleur I2C sont correctes, LD7 (indicateur SDA) et LD6 (indicateur SCL) s’activent. Si la LED n’est pas activée, il existe un problème de câblage, car SDA ou SCL, ou les deux sont tiré bas.
Tester la configuration du pilote et de l’ACPI
Effectuez ces étapes sur le système testé avec le contrôleur I2C :
Installez le pilote WITTTest inclus dans le package logiciel MITT en exécutant cette commande :
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
Modifiez l’ACPI système et incluez cette table ASL. Vous pouvez utiliser le compilateur Microsoft ASL.
Remarque
Modifiez « \\_SB_. I2C2 " au nom d’entrée ACPI pour le contrôleur I2C à tester.
//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) } }
Remarque
Seul TP1-3 est requis pour exécuter des tests MITT I2C. TP4 et TP5 sont des cibles facultatives.
Tests d’automatisation I2C
Créez un dossier sur le système sous test.
Copiez les fichiers binaires TAEF dans le dossier, puis ajoutez-le à votre variable d’environnement PATH. Les fichiers binaires TAEF requis sont dans %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\TAEF .
Copiez Muttutil.dll et Mitti2ctest.dll à partir du package logiciel MITT dans le dossier.
Affichez tous les tests MITT I2C à l’aide de l’option /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
Vous êtes maintenant prêt à exécuter des tests I2C. Vous pouvez exécuter un seul test, tous les tests à la fois ou exécuter manuellement des tests.
Exécutez un test unique à l’aide de l’option /name :<test name>. Cette commande exécute le test BasicIORead :
"C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\TAEF\te" MITTI2CTest.dll /name:MITTI2CTest::BasicIORead
Exécutez tous les tests à l’aide de cette commande :
"C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\TAEF\te" MITTI2CTest.dll
Exécutez des tests manuellement à l’aide de SPBCmd.exe outil inclus dans le package logiciel MITT.
Schéma de l’adaptateur I2C