MITT 中的 SPI 测试
MITT 软件包中包含的 SPI 测试模块可用于测试受测系统及其驱动程序上的 SPI 控制器的数据传输。 MITT 板充当连接到 SPI 总线的客户端设备。
准备阶段
- 获取 MITT 板和 SPI 或 UART 适配器板。 请参阅 购买硬件以使用 MITT。
- 下载 MITT 软件包。 将其安装在受测系统上。
- 在 MITT 板上安装 MITT 固件。 请参阅 MITT 入门。
硬件设置
总线接口 | Pin-out | ACPI 和示意图 | 连接解决方案 |
---|---|---|---|
SPI | 所有线路都需要 (SCLK、MISO、MOSI、SS、GND) | ACPI 表 | 调试板上的简单块标头 () |
将 SPI 适配器连接到 MITT 板上的 JC1 。
使用 SPI 适配器板上的跳线选择正确的 SPI 电压。 跳线可用于在 3.3V 和 1.8V 之间进行选择。
将 SCLK、MOSI、MISO、SS 和 GND 连接到受测系统。
在 MITT 板上,将开关 SW1 设置为高位。 当 MITT 通电时,此位置将启用 SPI 的默认模式。 如果信号为 3.3V,则可以在没有 SPI 适配器板) 直接连接板 (。
测试驱动程序和 ACPI 配置
在具有 I2C 控制器的受测系统上执行以下步骤:
运行以下命令,安装 MITT 软件包中包含的 WITTTest 驱动程序:
pnputil -a witttest.inf
注意
PnpUtil.exe 包含在 %SystemRoot%\System32 中。
修改系统 ACPI 并包含此 ASL 表。 可以使用 Microsoft ASL 编译器。
注意
更改“\\_SB_.SPI1“为要测试的 SPI 控制器的 ACPI 条目名称,如下所示。 它定义了三个 SPI 频率为 1Mhz、5Mhz 和 20Mhz 的测试目标。
Device(TP1) { Name (_HID, "SPT0001") Name (_CID, "WITTTest") Method(_CRS, 0x0, NotSerialized) { Name (RBUF, ResourceTemplate () { SpiSerialBus (0x0000, PolarityLow, FourWireMode, 0x08,ControllerInitiated, 0x000F4240, ClockPolarityLow,ClockPhaseFirst, "\\_SB.SPI1", 0x00, ResourceConsumer, , ) }) Return(RBUF) } } Device(TP2) { Name (_HID, "SPT0002") Name (_CID, "WITTTest") Method(_CRS, 0x0, NotSerialized) { Name (RBUF, ResourceTemplate () { SpiSerialBus (0x0000, PolarityLow, FourWireMode, 0x08,ControllerInitiated, 0x004c4b40, ClockPolarityLow,ClockPhaseFirst, "\\_SB.SPI1", 0x00, ResourceConsumer, , ) }) Return(RBUF) } } Device(TP3) { Name (_HID, "SPT0003") Name (_CID, "WITTTest") Method(_CRS, 0x0, NotSerialized) { Name (RBUF, ResourceTemplate () { SpiSerialBus (0x0000, PolarityLow, FourWireMode, 0x08,ControllerInitiated, 0x01312d00, ClockPolarityLow,ClockPhaseFirst, "\\_SB.SPI1", 0x00, ResourceConsumer, , ) }) Return(RBUF) } }
SPI 自动化测试
- 在受测系统上创建一个文件夹。
- 将 TAEF 二进制文件复制到 文件夹,然后将其添加到 PATH 环境变量。 所需的 TAEF 二进制文件位于 %ProgramFiles (x86) %\Windows Kits\8.1\Testing\Runtimes\TAEF 中。
- 将 MITT 软件包 Muttutil.dll 和 Mittspitest.dll 复制到 文件夹中。
- 使用 /list 选项查看所有 MITT SPI 测试:
现在可以运行 SPI 测试了。 可以运行单个测试,一次性运行所有测试,也可以手动运行测试。
- 使用 /name:<test name> 选项运行单个测试。 此命令运行 BasicIORead 测试:
- 使用以下命令运行所有测试:
- 使用 MITT 软件包中包含的 SPBCmd.exe 工具来手动运行测试。
SPI 适配器示意图