Freigeben über


GPIO-Tests in MITT

GPIO-Testmodule, die im MITT-Softwarepaket enthalten sind, können verwendet werden, um die folgenden Schaltflächen lauter, leiser, ein- und auszuschalten und drehungssperre zu testen. Sie können diese Tests verwenden, um Probleme mit den GPIO-Treibern und Mikrocontrollern zu erkennen und zu ermitteln, ob die Reaktion des Systems auf einen kurzen oder langen Push die gewünschte Antwort ist. Die an den Tasten angebrachten Linien werden vom MITT-Board physisch tief gezogen.

Voraussetzungen

Hardwareeinrichtung

Abbildung der MITT GPIO-Hardwareeinrichtung.

Busschnittstelle Anheften ACPI und Schemas Verbindungslösung
GPIO-Schaltflächen Tasten- und Indikatorlinien: Lautstärke nach oben/unten, Ein/Aus, Drehsperre, Laptop/Slate-Indikator, Andockanzeige Schaltpläne Einfacher männlicher Block (auf Debugboard)
GPIO-Controller Anheften und Index des GPIO-Controllers
  • ACPI-Name des GPIO-Controllers, der für das Anheften verwendet wird.
  • Interrupttriggertyp im Controller (ebene- oder edgebasiert)
  • Beschreibung (einschließlich seiner PNP-ID) des Geräts (falls vorhanden) mithilfe des GPIO-Pins, um es während des Testdurchlaufs zu deaktivieren
Einfacher männlicher Block (auf Debugboard)
  1. Identifizieren Sie auf dem MITT-Board den GPIO-Connector. Es verwendet den linken 12-poligen Header mit der Bezeichnung JA1, wie in dieser Abbildung gezeigt.

    gpio Bild des Headers auf dem MITT-Board.

  2. Verbinden Sie das GPIO-Adapterboard mit dem JA1-Header .

  3. Schließen Sie den Power Jumper auf dem MITT-Board an 3V3 an.

  4. Drücken Sie den Schieberegler auf dem Schalter neben dem GPIO-Header nach oben, um das Board mit Strom zu versorgt.

    Abbildung des GPIO-Stromanschlusses.

  5. Verbinden Sie die Leitungen "Volume up" (volu), "Volume Down" (Vold), "Dock/Abdocken" (Dock) und "Slate/Laptop" (Modus) von der GPIO-Adapterplatine (verbunden mit dem MITT) mit den entsprechenden Pins des zu testierenden Systems.

    Der 12-polige Header ist wie in dieser Abbildung dargestellt mit einzelnen GPIO-Leitungen verbunden.

    Diagramm der gpio-Verdrahtung auf dem ja1-Header.

    Schematic of an output pin on the GPIO board. Der Stift muss parallel mit einem Schalter platziert werden, damit der FET die Linie tief ziehen kann, als ob der Schalter gedrückt wird.

    Schematisches Diagramm des GPIO-Ausgabepins auf MITT.

  6. Optional. Wenn Sie die MITT GPIO-Tests für Volume oder Indikatoren ausführen möchten, aber nicht beide, können Sie die zugehörigen Tests in der GPIO-Automatisierung überspringen, indem Sie diese Registrierungseinträge festlegen. Jeder Eintrag ist ein DWORD, und der Wert 1 aktiviert den Test. 0 deaktiviert es.

    • Volume

      HKEY_CURRENT_USER\Software\Microsoft\MITT\GPIO\RunVolumeTest

    • Indikatoren

      HKEY_CURRENT_USER\Software\Microsoft\MITT\GPIO\RunIndicatorsTest

Ausführen von GPIO-Automatisierungstests

Führen Sie die folgenden Aufgaben aus, um GPIO-Tests manuell mithilfe von WDTF auszuführen:

  1. Kopieren Sie mittsimpleioaction.dll aus dem MITT-Softwarepaket nach %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\WDTF\RunTime\Actions\SimpleIO.
  2. Führen Sie %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\WDTF\RunTime\UnRegisterWDTF.exeaus.
  3. Führen Sie %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\WDTF\RunTime\Actions aus. \RegisterWDTF.exe /nogacinstall
  4. Starten Sie GPIO-Automatisierungstests, indem Sie SimpleIO_MITT_ GPIO-_Sample.vbs ausführen, der im MITT-Softwarepaket enthalten ist.

Beispiel: Benutzerdefinierte GPIO-Eingabeeinschleusung

In diesem Beispiel wird eine Datei Example.txtverwendet, die die Sequenz enthält, um den Netzschalter zwei Sekunden lang zu drücken und dann die Schaltfläche loszulassen. Hier ist der Inhalt der Datei:

'h001E8480
'b0000000000011111
'b0000000100011111
'b0000000000011111

Führen Sie diese Befehle aus:

Muttutil.exe -SetChannel 00

Muttutil.exe -WriteData 0000

Muttutill.exe –SetChannel 01

Muttutil.exe –WriteDataFromFile Example.txt

Muttutil.exe –SetChannel 00

Muttutil.exe –Writedata 0001
  • SetChannel mit 00 gibt an, dass der Steuerungskanal Daten empfängt.
  • WriteData mit 0000 hält alle Testmodule an.
  • SetChannel-Option , indem Sie 01 angeben, um anzugeben, dass der GPIO-Kanal Daten empfängt.
  • WriteDataFromFile mit dem Namen der Datei, die den Inhalt der Beispieleingabedatei an das GPIO-Modul senden soll.
  • SetChannel mit 00, um zurück zum Steuerungskanal zu wechseln, empfängt die Daten.
  • WriteData mit 0001 in den Steuerungskanal, um den GPIO-Sequenzer zu aktivieren. Das GPIO-Modul beginnt mit der Sequenzierung.

Generieren von Eingabesequenzen

Um eine Sequenz zu generieren, benötigen Sie die folgenden Werte:

  • Intervallwert

    Der Intervallwert ist eine Bitmaske, die angibt, welche Schaltfläche während des Intervalls gedrückt wird. Ein Nullwert in der Bitmaske gibt an, dass die Schaltfläche während des Zeitintervalls nicht gedrückt wird. Dies sind die möglichen Werte für Bitindexwerte:

    Bitindex im 16-Bit-Wert Verwendung auf dem getesteten System
    0 Netzschalter aktivieren ("1" aktiviert die Ausgabe)
    1 Dock-Indikator aktiviert ("1" aktiviert die Ausgabe)
    2 Aktivieren der Lautstärke nach oben ("1" aktiviert die Ausgabe)
    3 Drehungssperre aktiviert ("1" aktiviert die Ausgabe)
    4 Leiser ("1" aktiviert die Ausgabe)
    5 Slate/Laptop-Umschaltfläche aktiviert ("1" aktiviert die Ausgabe)
    6-7 Nicht verwendet
    8 Netzschalterwert ("1" drückt den Schalter)
    9 Andockindikatorwert ("1" drückt den Schalter)
    10 Lautstärke nach oben ("1" drückt den Schalter)
    11 Drehungssperrwert ("1" drückt den Schalter)
    12 Leiserer Wert ("1" drückt den Schalter)
    13 Slate/Laptop-Umschaltwert ("1" drückt den Schalter)
    14-15 Nicht verwendet
  • Uhrmultiplikator

    Der Taktmultiplikator ist die Haltezeit der Schaltfläche (in einer Mikrosekunden-Inkremente) für jedes Datenmuster, bevor zum nächsten Datenmuster verschoben wird. Das GPIO-Testmodul enthält das letzte Datenmuster, bis die Verbindung zurückgesetzt wird.

    Es gibt einen Kompromiss für die Verwendung eines kleinen im Vergleich zu einem großen Taktmultiplikator. Kleinere Werte für den Multiplikator ermöglichen mehr Genauigkeit, sodass Sie mehr Zeilen in den Datenmustern erstellen müssen, um einen Zeitraum abzudecken. Beim Erstellen der Datenmusterdateien müssen Sie das richtige Gleichgewicht zwischen den benötigten Datenpaketen und dem Wert des Taktmultiplikators festlegen.

    Mithilfe des vorherigen Beispiels können Sie Eingabeinjektionsdateien erstellen. Zum Generieren von Eingabesequenzen benötigen Sie das Kommunikationsprotokoll. Daten, die von der MITT-Platine an das zu testende System gesendet werden, sind in diesem Muster angeordnet:

    Diagramm des Kommunikationsprotokolls für das GPIO-Modul.

    Es gibt keine Fehlerüberprüfung auf Protokollebene in der GPIO-Testleitung. Wenn ein Protokollfehler vorliegt, zeigt das MITT einen unbekannten Fehler an.

GPIO-Adapterschema

Schemadiagramm des GPIO-Adapters.