概述
本文列出 Lager 平台当前支持的仪器。所有受支持的设备都可以通过lager CLI
在本地或远程控制,并直接集成到自动化硬件测试流程和 CI/CD 系统中。
Lager 把传统的台式设备变成嵌入式工程团队可编程的基础设施。
如果您使用的设备不在此列,我们也提供定制集成支持。
1. 电源控制
Lager 提供对台式电源设备的自动控制,用于确定性的硬件测试、故障注入,以及由 CI 驱动的验证。电源
* 仅支持 RS-232 —— 它通过 USB 转串口适配器连接,并且需要用
lager nets assign 做一次性的手动分配。
DP711 还需要在电源和 RS232 转 USB 适配器之间加一根零调制解调器(交叉)线缆。两端都按 DTE 接线,因此直通连接无法通信。请参阅
RS-232 仪器。
可以实现:
- 自动的电压/电流控制
- 电源时序控制
- 掉电和电压毛刺测试
- 集成到 CI 的硬件验证
电池模拟器
可以实现:
- 可编程的电池仿真
- 充放电曲线仿真
- 低电压测试
电子负载
可以实现:
- 负载阶跃测试
- 电流吸收验证
- 自动化的电源完整性测试
2. 测量与分析
Lager 把测量设备整合进可编程的测试流程,实现自动化的信号检查和功耗分析。示波器与逻辑分析仪
Box 打开 PicoScope 时,会从设备读取它的通道数、电压量程、带宽、存储深度和 ADC 分辨率。它不根据型号假定这些值,因此受支持系列中的示波器无需配置即可工作。要查看 Box 检测到的内容,请在 Web UI 的控制台中输入
capabilities,或者在 Python 中调用 capabilities()。8 通道的 4824 作为四通道示波器使用,通道为 A 到 D。
可以实现:
- 自动化的波形采集
- 基于触发的信号验证
- 数字与模拟信号的关联分析
- 连续串流,并在
http://<box>:9000/scope提供实时 Web 视图(PicoScope) - 测量:由 Box 根据采集数据计算(PicoScope),或通过 SCPI 查询(Rigol)
lager scope cursor time 和 cursor volts)仅适用于 PicoScope。
功率测量
可以实现:
- 电流消耗曲线分析
- 能量和电荷积分
- 功率统计量(均值/最小值/最大值/标准差)
- 功耗回归测试
温度监视
可以实现:
- 硬件测试期间的温度监视
- 环境验证
- 长时间的老化测试
3. 嵌入式接口
Lager 支持可编程的硬件接口控制,用于自动化的通信测试与验证。多协议适配器
LabJack T7
控制命令:lager i2c、lager spi、lager adc、
lager dac、lager gpi、lager gpo
接口:
- I2C(1 条总线)
- SPI(1 条总线)
- 14 个 ADC 通道
- 2 个 DAC 通道
- 23 个 GPIO 引脚
LabJack U3
控制命令:lager i2c、lager spi、lager adc、
lager dac、lager gpi、lager gpo
接口:
- I2C(1 条总线,需要外部上拉电阻)
- SPI(1 条总线)
- 16 个 ADC 通道
- 2 个 DAC 通道(0.04 V 至 4.95 V)
- 16 个 GPIO 引脚
- U3 使用 LabJack Exodriver 和 LabJackPython,而不是 LJM。一台 T7 和一台 U3 可以共用一台 Lager Box。
FIO0-FIO3不是 GPIO 引脚。Lager 把每一台 U3 都当作 U3-HV 对待,在 U3-HV 上这四个引脚是固定的高压模拟输入。AIN4-AIN15与FIO4-FIO7和EIO0-EIO7共用引脚。一次读取会设定该引脚的模拟或数字模式。- DAC 没有回读功能。读取返回的是 Box 上次设置的值。
- SPI 和 I2C 需要 U3 硬件版本 1.21 或更高。一次传输最多 50 字节,时钟速率是近似值。
- U3 没有 MIO 引脚。它的 EIO 和 CIO 线位于 DB15 连接器上。
- U3 不报告序列号,因此它的地址标明它所插入的 USB 端口,例如
USB0::0x0CD5::0x0003::port-1-1.3::INSTR。因此,同一台 Lager Box 上的两台 U3 地址不同,并且各自都可以创建 Net。 - U3 的 Net 跟随 USB 端口。如果把 U3 移到另一个端口,请重新添加它的 Net。早期版本创建的 Net 序列号字段为空,会打开 Box 找到的第一台 U3。
Total Phase Aardvark
控制命令:lager i2c、lager spi、lager gpi、
lager gpo
接口:
- I2C(1 条总线)
- SPI(1 条总线)
FTDI FT232H
控制命令:lager i2c、lager spi、lager gpi、
lager gpo
接口:
- I2C(1 条总线)
- SPI(1 条总线)
- 12 个 GPIO 引脚
Measurement Computing USB-202
控制命令:lager adc、lager dac、lager gpi、
lager gpo
接口:
- 8 个 ADC 通道
- 2 个 DAC 通道
- 8 个 GPIO 引脚
- 自动化的外围通信测试
- 传感器验证
- 协议层面的故障注入
- 硬件在环仿真
4. 调试与烧录
Lager 支持业界标准的 ARM 调试探针,全部通过同一条lager debug 命令驱动,因此探针的选择对您的脚本和 CI 流水线是透明的。
能力:
- 烧录固件
- 擦除设备
- 复位目标
- 启动 GDB 服务器
- 内存读写
- 对上表中的芯片,基于 OpenOCD 的探针会根据 USB VID/PID 自动选择接口配置。
FT4232H 受支持,但没有安全的默认值,因为四路 MPSSE 的板子接线变体太多。您必须传入一个指向适合您板子的接口 cfg 的
openocd_config。同样的方式也适用于接线非标准的 FT232H/FT2232H,以及表中没有的任何探针(例如 Black Magic Probe、Glasgow Interface Explorer)。 - 多通道 FTDI(FT2232H、FT4232H)把每个 MPSSE 通道作为独立的调试 Net 提供。通道以
@A/@B/@C/@D后缀写在设备字段上,因此单颗芯片可以独立驱动多个目标。FT4232H 上的 C 和 D 通道没有 MPSSE 引擎。它们可以承载gpio和uartNet,但不能承载debug、i2c或spiNet。gpio、i2c和spiNet 的通道请用lager nets add --interface指定。通道后缀的写法请参阅 nets 参考。 - 对 STM32、nRF5x、RP2040/RP2350、ATSAM、LPC、i.MX RT 和 ESP32 系列, Lager 会根据设备名称选择目标芯片配置。其他芯片则由自定义的 OpenOCD 目标配置驱动。
5. 连接与控制
USB 电源切换
Plugable 扩展坞上哪些端口真正会切换供电
Plugable 扩展坞会枚举为两个级联的 4 端口集线器,描述符完全相同。两者都声称支持按端口电源切换(wHubCharacteristics=0x00a9、
PortPwrCtrlMask=0xff),因此仅凭描述符无法区分它们。只有拓扑才能区分:
Lager 只暴露用户层。因此 lager 的四个端口就是那四个外部 Type-A 插座。在已验证的型号上,三个在后面,一个在前面。扩展坞自己的网络适配器永远不会被误关掉。
lager 的端口编号对应哪个物理插座是不确定的。 没有任何机制把 USB
集线器的端口顺序与机壳上接口的顺序绑定,而且不同型号之间顺序可能不同。请一次性地通过实验确定它:把一个能被枚举的设备依次插到每个插座上(任何 U 盘或调试探针都可以),然后读回它落在哪个端口:
SuperSpeed 扩展坞未经测试。 通过 USB 3 连接的扩展坞会枚举为两个虚拟集线器,只有在两半都清除供电时 VBUS 才会掉电。Lager 实现了这种配对,但当时没有可用的 SuperSpeed 扩展坞来验证它。对于无法明确配对的拓扑,
Lager 会拒绝操作,而不是只切换一半。已验证的配置是 USB 2.0 连接。
lager usb <net> recover 会为该扩展坞的每个端口重新加电。如果它无法访问该集线器,那么解绑再重新绑定内核的 hub 驱动也可以为所有端口重新加电,并重新枚举其子设备。这必须在 Box 宿主机上运行,而不是在容器中运行,因为容器以只读方式挂载 /sys —— 请把路径替换为您集线器的路径:
- 自动化的 USB 设备断电再上电
- 远程对被测设备做电源复位
- 由 CI 控制的外设管理
串口 / UART 适配器
可以实现:
- 自动化的日志采集
- 与引导加载程序交互
- 基于串口的测试自动化
无线
可以实现:
- 无线设备测试
- 远程连通性验证
- 自动化的配网测试
网络路由器
可以实现:
- 接口和 Wi-Fi 故障注入
- 网络韧性测试
- 查看无线客户端和 DHCP 租约
6. 视觉与自动化
摄像头
可以实现:
- 对被测设备做目视检查
- 自动化的视觉验证
机器人自动化
能力:
- 位置读写
- 归位
- 电机使能/断开
- 加速度配置
- 自动化地与硬件发生物理交互
- 自动按键
- 机械测试流程
自定义仪器支持
Lager 的模块化架构允许通过后端扩展快速集成新仪器。 如果您使用的设备不在本文之列,请与我们联系,讨论集成支持事宜。联系方式
Lager Data GitHub GitHub IssuesFootnotes
-
与 Acroname 和 Yepkit 集线器不同,Plugable 不提供 SDK。控制方式采用标准 USB hub class 的按端口电源切换(PPPS),因此支持程度取决于具体的集线器是否真正实现了它。通过 VID:PID
2230:5411匹配 —— Plugable 在它整条 RTS5411 扩展坞产品线上复用这个 ID;已在 UD-CAM 上验证。只有四个外部 Type-A 插座会切换 VBUS —— 见下文。需要针对厂商2230的 udev 规则(随99-instrument.rules提供);没有它,libusb 打不开该集线器,所有操作都会因权限错误而失败。 ↩

