MITT의 GPIO 테스트

MITT 소프트웨어 패키지에 포함된 GPIO 테스트 모듈을 사용하여 볼륨 크게, 볼륨 작게, 전원 및 회전 잠금을 테스트할 수 있습니다. 이러한 테스트를 사용하여 GPIO 드라이버 및 마이크로 컨트롤러와 관련된 문제를 감지하고 짧거나 긴 푸시에 대한 시스템 응답이 원하는 응답인지 확인할 수 있습니다. 단추에 연결된 선은 MITT 보드에 의해 물리적으로 낮게 당겨집니다.

시작하기 전에

하드웨어 설정

MITT GPIO 하드웨어 설정의 사진입니다.

버스 인터페이스 핀아웃 ACPI 및 도식 연결 솔루션
GPIO 단추 단추 및 표시기 줄: 볼륨 업/다운, 전원, 회전 잠금, 노트북/슬레이트 표시기, 도크 표시기 회로도 단순 남성 블록(디버그 보드)
GPIO 컨트롤러 사용된 GPIO 컨트롤러 핀아웃 및 인덱스
  • 핀아웃에 사용되는 GPIO 컨트롤러의 ACPI 이름입니다.
  • 컨트롤러의 인터럽트 트리거 형식(수준 또는 에지 기반)
  • GPIO 핀을 사용하여 테스트 통과 중에 사용하지 않도록 설정하는 디바이스의 설명(PNP ID 포함)
단순 남성 블록(디버그 보드)
  1. MITT 보드에서 GPIO 커넥터를 식별합니다. 이 이미지와 같이 JA1 레이블이 지정된 가장 왼쪽의 12핀 헤더를 사용합니다.

    gpio MITT 보드의 헤더 그림입니다.

  2. GPIO 어댑터 보드를 JA1 헤더에 연결합니다.

  3. MITT 보드의 파워 점퍼를 3V3에 연결합니다.

  4. GPIO 헤더 옆의 스위치에서 슬라이더를 위로 밀어 보드의 전원을 켭다.

    GPIO 전원 연결의 그림입니다.

  5. GPIO 어댑터 보드(MITT에 연결됨)의 볼륨 업(volu), 볼륨 다운(vold), 도크/도킹 해제(도크) 및 슬레이트/노트북(모드) 라인을 테스트 중인 시스템의 해당 핀에 연결합니다.

    12핀 헤더는 이 이미지와 같이 개별 GPIO 라인에 연결됩니다.

    ja1 헤더의 gpio 배선 다이어그램

    GPIO 보드의 출력 핀의 도식입니다. FET가 스위치를 밀고 있는 것처럼 선을 낮게 당길 수 있도록 핀을 스위치와 병렬로 배치해야 합니다.

    MITT의 GPIO 출력 핀에 대한 도식 다이어그램

  6. 선택 사항입니다. 볼륨 또는 지표에서 MITT GPIO 테스트를 실행하지만 둘 다 실행하지 않으려면 이러한 레지스트리 항목을 설정하여 GPIO 자동화에서 관련 테스트를 건너뛸 수 있습니다. 각 항목은 DWORD이고 값 1은 테스트를 사용하도록 설정합니다. 0은 사용하지 않도록 설정합니다.

    • 볼륨

      HKEY_CURRENT_USER\Software\Microsoft\MITT\GPIO\RunVolumeTest

    • 표시기

      HKEY_CURRENT_USER\Software\Microsoft\MITT\GPIO\RunIndicatorsTest

GPIO 자동화 테스트 실행

WDTF를 사용하여 GPIO 테스트를 수동으로 실행하려면 다음 작업을 수행합니다.

  1. MITT 소프트웨어 패키지에서 %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\WDTF\RunTime\Actions\SimpleIO로 mittsimpleioaction.dll 복사합니다.
  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. MITT 소프트웨어 패키지에 포함된 SimpleIO_MITT_ GPIO _Sample.vbs 실행하여 GPIO 자동화 테스트를 시작합니다.

예: 사용자 지정 GPIO 입력 삽입

이 예제에서는 2초 동안 전원 단추를 누른 다음 단추를 놓는 시퀀스가 포함된 파일을 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이면 컨트롤 채널이 데이터를 수신한다는 것을 나타냅니다.
  • 0000이 있는 WriteData는 모든 테스트 모듈을 일시 중지합니다.
  • GPIO 채널이 데이터를 수신함을 나타내기 위해 01을 지정하여 SetChannel 옵션을 선택합니다.
  • 예제 입력 파일의 내용을 GPIO 모듈로 보낼 파일 이름을 가진 WriteDataFromFile입니다.
  • 제어 채널로 다시 전환할 00이 있는 SetChannel은 데이터를 받습니다.
  • 컨트롤 채널에 0001이 있는 WriteData를 사용하여 GPIO 시퀀서를 활성화합니다. GPIO 모듈이 시퀀싱을 시작합니다.

입력 시퀀스 생성

시퀀스를 생성하려면 다음 값이 필요합니다.

  • 간격 값

    간격 값은 간격 중에 누를 단추를 나타내는 비트 마스크입니다. 비트 마스크의 값이 0이면 시간 간격 동안 단추를 누르지 않음을 나타냅니다. 가능한 값 비트 인덱스 값은 다음과 같습니다.

    16비트 값의 비트 인덱스 테스트 중인 시스템의 사용량
    0 전원 단추 사용("1"은 출력을 사용하도록 설정)
    1 도크 표시기 사용("1"은 출력을 사용하도록 설정)
    2 볼륨 업 사용("1"은 출력을 사용하도록 설정)
    3 회전 잠금 사용("1"은 출력을 사용하도록 설정)
    4 볼륨 다운 사용("1"은 출력을 사용하도록 설정)
    5 슬레이트/노트북 토글 사용("1"은 출력을 사용하도록 설정)
    6-7 사용되지 않음
    8 전원 단추 값("1"이(가) 스위치를 누릅니다.
    9 도크 표시기 값("1"은 스위치를 누릅니다).
    10 볼륨 업 값("1"은 스위치 누르기)
    11 회전 잠금 값("1"은 스위치를 누릅니다).
    12 볼륨 작게 값("1"은 스위치 누름)
    13 슬레이트/노트북 토글 값("1"이(가) 스위치를 누릅니다.
    14-15 사용되지 않음
  • 클록 승수

    클록 승수는 다음 데이터 패턴으로 이동하기 전에 각 데이터 패턴에 대한 단추의 보류 시간(1 마이크로초 단위)입니다. GPIO 테스트 모듈은 회로가 다시 설정될 때까지 마지막 데이터 패턴을 유지합니다.

    작은 클록 승수와 큰 클록 승수를 사용하는 것에 대한 절충이 있습니다. 승수에 대한 값이 작으면 정밀도를 높일 수 있으므로 데이터 패턴에 더 많은 줄을 만들어 시간 범위를 포함해야 합니다. 데이터 패턴 파일을 만들 때 필요한 데이터 패킷과 클록 승수 값 간의 적절한 균형을 결정해야 합니다.

    앞의 예제를 사용하여 입력 삽입 파일을 만들 수 있습니다. 입력 시퀀스를 생성하려면 통신 프로토콜이 필요합니다. MITT 보드에서 테스트 중인 시스템으로 전송된 데이터는 다음 패턴으로 정렬됩니다.

    GPIO 모듈에 대한 통신 프로토콜의 다이어그램

    GPIO 테스트 회로에는 프로토콜 수준 오류 검사가 없습니다. 프로토콜 오류가 있는 경우 MITT는 알 수 없는 오류를 표시합니다.

GPIO 어댑터 도식

GPIO 어댑터 도식 다이어그램.