这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

设备与驱动

Quatm 设备驱动系统:如何配置、使用和开发实验仪器驱动。

Quatm 通过 configuration/device_db.py 统一管理所有仪器设备,支持三种接入模式。

设备类型

type行为适用场景
local实例化驱动类,作为完整对象使用实时控制器、相机等需要方法调用的设备
attr将通道映射为 Python 属性DAC 输出、TTL 数字信号
generic_attr调用驱动的任意函数DDS 频率设置等灵活映射

属性设备详解

TTLOut — 数字输出

映射硬件控制器的 TTL 通道为实验属性,支持正/反逻辑:

"cooling_aom": {
    "type": "attr",
    "module": "quatm.experiment.attributes",
    "class": "TTLOut",
    "arguments": {"channel": 5, "logic": "a"},
}

实验中直接赋值:self.cooling_aom = True

DAC — 模拟输出

映射硬件控制器的 DAC 通道,支持校准曲线:

"trap_x": {
    "type": "attr",
    "module": "quatm.experiment.attributes",
    "class": "DAC",
    "arguments": {"channel": 2, "gauge": "gauge-trap-x.txt"},
}

校准文件

对于非线性设备,使用两列文本文件校准。第一列为期望物理量,第二列为实际 DAC 值。系统自动线性插值。

自定义驱动

编写驱动类后在 device_db 中以 type: "local" 注册:

"my_laser": {
    "type": "local",
    "module": "my_lab.laser_driver",
    "class": "LaserController",
    "arguments": {"port": "/dev/ttyUSB0"},
}

驱动类建议实现 is_ready() 方法用于状态检查。

已内置驱动

驱动模块路径用途
ADwinquatm.drivers.adwinFPGA 实时控制与数据采集
BlackFlyquatm.drivers.blackflyFLIR 工业相机
Valon 5009quatm.drivers.valon微波频率合成器
Andorquatm.drivers.andoriCCD、EMCCD
Rigolquatm.drivers.rigol信号发生器、直流源、示波器
Thorlabsquatm.drivers.thorlabs位移台、功率计
Pi Stagequatm.drivers.pistage精密位移台
DDS AD9959quatm.drivers.dds直接数字频率合成