Поделиться через


Тесты GPIO в MITT

Тестовые модули GPIO, входящие в пакет программного обеспечения MITT, можно использовать для проверки следующих кнопок увеличения громкости, уменьшения громкости, питания и блокировки поворота. Эти тесты можно использовать для обнаружения проблем с драйверами и микроконтроллерами GPIO и определения того, является ли ответ системы на короткий или длинный push-запрос нужным. Линии, прикрепленные к кнопкам, физически вытягиваются низко с помощью платы MITT.

Подготовка к работе

Настройка оборудования.

Изображение настройки оборудования MITT GPIO.

Интерфейс шины Закрепление ACPI и схемы Решение для подключения
Кнопки GPIO Линии кнопок и индикаторов: увеличение и уменьшение громкости, питание, блокировка поворота, индикатор ноутбука/сланца, индикатор док-станции Схемы Простой мужской блок (на доске отладки)
Контроллер GPIO Используется закрепление контроллера GPIO и индекс
  • ACPI-имя контроллера GPIO, используемого для закрепления.
  • Тип триггера прерывания в контроллере (на уровне или на основе ребер)
  • Описание (включая идентификатор PNP) устройства (если таковой есть) с помощью пин-кода GPIO для отключения его во время прохождения теста
Простой мужской блок (на доске отладки)
  1. На плате MITT определите соединитель GPIO. В нем используется самый левый самый 12-контактный заголовок с меткой JA1, как показано на этом изображении.

    gpio Изображение заголовка на плате MITT.

  2. Подключите плату адаптера GPIO к заголовку JA1 .

  3. Подключите перемычку питания на плате MITT к 3V3.

  4. Нажмите ползунок на переключатель рядом с заголовком GPIO, чтобы включить плату.

    Изображение подключения питания GPIO.

  5. Подключите линии увеличения громкости (volu), уменьшения громкости (vold), док-станции/ отстыковки (док-станции) и планшета (режим) с адаптерной платы GPIO (подключенной к MITT) к соответствующим контактам в тестируемой системе.

    12-контактный заголовок подключен к отдельным линиям GPIO, как показано на этом изображении.

    Схема проводки gpio в заголовке ja1.

    Схема выходного контакта на плате GPIO. Штифт должен быть помещен параллельно с переключателем, чтобы FET смог вытянуть линию на низком уровне, как если бы переключатель был отжат.

    Схема выходного контакта GPIO в MITT.

  6. Необязательный элемент. Если вы хотите запустить тесты MITT GPIO на индикаторах тома или индикаторах, но не на обоих, можно пропустить связанные тесты в автоматизации GPIO, задав эти записи реестра. Каждая запись является DWORD, и значение 1 позволяет тестировать; Значение 0 отключает его.

    • Громкость

      HKEY_CURRENT_USER\Software\Microsoft\MITT\GPIO\RunVolumeTest

    • Индикаторы

      HKEY_CURRENT_USER\Software\Microsoft\MITT\GPIO\RunIndicatorsTest

Запуск тестов автоматизации GPIO

Чтобы запустить тесты GPIO вручную с помощью WDTF, выполните следующие задачи:

  1. Скопируйте mittsimpleioaction.dll из пакета программного обеспечения MITT в папку %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\WDTF\RunTime\Actions\SimpleIO
  2. Запустите %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\WDTF\RunTime\UnRegisterWDTF.exe.
  3. Запустите %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\WDTF\RunTime\Actions .. \RegisterWDTF.exe /nogacinstall
  4. Запустите тесты автоматизации GPIO, запустив SimpleIO_MITT_ GPIO _Sample.vbs в составе пакета программного обеспечения MITT.

Пример. Пользовательское внедрение входных данных GPIO

В этом примере используется файл Example.txt, который содержит последовательность нажатия кнопки питания в течение двух секунд, а затем отпустит кнопку. Вот содержимое этого файла:

'h001E8480
'b0000000000011111
'b0000000100011111
'b0000000000011111

Выполните следующие команды:

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 с 00 указывает, что канал управления будет получать данные.
  • WriteData с 0000 приостанавливает все тестовые модули.
  • Параметр SetChannel , указав значение 01, чтобы указать, что канал GPIO будет получать данные.
  • WriteDataFromFile с именем файла для отправки содержимого примера входного файла в модуль GPIO.
  • SetChannel с 00 для переключения обратно на канал управления получит данные.
  • WriteData с 0001 в канал управления для активации секвенсора GPIO. Модуль GPIO начнет виртуализацию.

Создание входных последовательностей

Для создания последовательности требуются следующие значения:

  • Значение интервала

    Значение интервала — это битовая маска, указывающая, какая кнопка нажата в течение этого интервала. Нулевое значение в битовой маске указывает, что кнопка не нажата в течение интервала времени. Ниже приведены возможные значения битового индекса.

    Битовый индекс в 16-разрядном значении Использование в тестируемой системе
    0 Включение кнопки питания ("1" включает выходные данные)
    1 Индикатор закрепления включает ("1" включает выходные данные)
    2 Включение увеличения громкости ("1" включает выходные данные)
    3 Включение блокировки поворота ("1" включает выходные данные)
    4 Включение уменьшения громкости ("1" включает выходные данные)
    5 Включение переключателя Slate/Laptop ("1" включает выходные данные)
    6-7 Не используется
    8 Значение кнопки питания ("1" нажимает переключатель)
    9 Значение индикатора dock ("1" нажимает переключатель)
    10 Значение увеличения громкости ("1" нажимает переключатель)
    11 Значение блокировки поворота ("1" нажимает переключатель)
    12 Значение уменьшения громкости ("1" нажимает переключатель)
    13 Переключатель "Шифер"/Ноутбук (нажатие переключателя "1")
    14-15 Не используется
  • Множитель часов

    Множитель часов — это время удержания кнопки (с шагом в одну микросекунду) для каждого шаблона данных перед переходом к следующему шаблону данных. Модуль тестирования GPIO содержит последний шаблон данных до сброса цепи.

    Существует компромисс при использовании небольшого и большого множителя часов. Меньшие значения для множителя обеспечивают большую точность, что требует создания большего числа линий в шаблонах данных для охвата интервала времени. При создании файлов шаблонов данных необходимо выбрать правильный баланс между необходимыми пакетами данных и значением множителя часов.

    С помощью приведенного выше примера можно создать входные файлы внедрения. Для создания входных последовательностей требуется протокол связи. Данные, отправляемые с платы MITT в тестируемую систему, упорядочены в следующем формате:

    Схема протокола связи для модуля GPIO.

    Проверка ошибок на уровне протокола в канале тестирования GPIO отсутствует. При возникновении ошибки протокола MITT отображает неизвестную ошибку.

Схема адаптера GPIO

Схема адаптера GPIO.