MITT의 I2C 컨트롤러 테스트
MITT 소프트웨어 패키지에 포함된 I2C 테스트 모듈은 I2C 컨트롤러 및 해당 드라이버에 대한 데이터 전송을 테스트하는 데 사용할 수 있습니다. MITT 보드는 I2C 버스에 연결된 클라이언트 디바이스 역할을 합니다.
시작하기 전에
- MITT 보드와 I2C어댑터 보드를 가져옵니다. MITT 사용에 대한 하드웨어 구입을 참조하세요.
- MITT 소프트웨어 패키지를 다운로드합니다. 테스트 중인 시스템에 설치합니다.
- MITT 보드에 MITT 펌웨어를 설치합니다. MITT 시작 참조
하드웨어 설정
버스 인터페이스 | 핀아웃 | ACPI 및 도식 | 커넥트ion 솔루션 |
---|---|---|---|
I2C | 필요한 모든 줄(SCL, SDA 및 GND) | ACPI 테이블 | 단순 남성 블록(디버그 보드) |
MITT 보드에서 I2C 어댑터를 JB1로 커넥트.
점퍼를 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
시스템 ACPI를 수정하고 이 ASL 테이블을 포함합니다. Microsoft ASL 컴파일러를 사용할 수 있습니다.
참고 항목
"\\_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) } }
참고 항목
MITT I2C 테스트를 실행하려면 TP1-3만 필요합니다. TP4 및 TP5는 선택적 대상입니다.
I2C자동화 테스트
테스트 중인 시스템에 폴더를 만듭니다.
TAEF 이진 파일을 폴더에 복사한 다음 PATH 환경 변수에 추가합니다. 필요한 TAEF 이진 파일은 %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\TAEF에 있습니다.
MUTTUTIL.DLL 복사하고 MITT 소프트웨어 패키지에서 폴더로 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> 옵션을 사용하여 단일 테스트를 실행합니다. 이 명령은 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어댑터 도식