# 碎碎念

\quad 原来我的本科毕设是有一章专门介绍离子阱系统中的多路激光时序控制程序,且这一章内容我也是花了点心思去写的。但后来给老师看了初稿后,他说这一章需有一些介绍内容来说明与主题的关联,不然内容就太割裂了。我想也的确是这样的,这一章加上去的确显得太强行了。然而当时不知道该怎么改,所以干脆痛痛快快地删除了。
\quad 但我觉得这一章内容还是有一些参考价值的,所以就在这里把它写出来吧!另外,这一章的内容其实是按照文献[1]魔改来的,所以以后有需要的画,直接参考该文献更好。

# 基于 Python 和 PXIe-6536 的多路激光时序控制

\quad 任何离子阱实验平台都需要精确且灵活地控制多个激光束的持续时间、频率和幅度,以此来完成一系列的实验步骤,例如一个典型的实验序列就包括多普勒冷却、边带冷却、相干操纵和态探测[2]。这些量子操作通常需要激光在微秒至毫秒级别上快速开启或关闭。
\quad 利用 AOM 作为光学开关,控制入阱激光的打开或关闭。我们使用型号为 DG4202 的函数信号发生器通过功率放大来驱动声光晶体。这种函数信号发生器拥有支持 SCPI 远程命令的接口,可以利用计算机实现对其的远程控制。但直接使用 SCPI 命令对函数信号发生器进行控制的操作灵敏度较低,无法实现微秒至毫秒级别的开启和关闭。因此,我们使用了 Mini-Circuits 公司的射频开关(RF switch ZYSWA-2-50DR),将其连接在信号发生器和 AOM 之间,用于阻断或开启信号发生器向 AOM 发送的射频信号。为了使计算机能够对多个射频开关进行控制,我们使用了 NI 公司开发的 PXIe-6536 板卡。该板卡含有 32 路数字输出通道(Digital I/O),可以 Python 编程控制实现数模转换来产生时序脉冲序列,从而控制射频开关的开启和关闭。此外,为了避免实际控制过程中受控设备的故障对板卡造成影响,我们在板卡和射频开关之间添加了隔离器,以确保数据单向传输。图 11 展示了整套控制设备的连接简化图。

图1

\quad 用 Python 编写时序脉冲序列的产生有两种编程方法。下面来分别介绍。
\quad 第一种方法是 “延迟输出法”。它的思路如图 22 所示,先输出低电平,然后保持低电平并延迟一段时间,再输出高电平,再保存并延迟一段时间,依此类推,直至一个周期结束后回到开头,这就实现了周期性的脉冲序列输出。

图2

\quad 该方法的脉冲序列的脉宽精度取决于延迟时间精度,这是由软件定时精度决定的。虽然它能达到 ms 量级,但该精度很容易受到计算机多任务运行的影响,当同时设定多个通道的延迟时,输出的脉冲序列就会不稳定。因此对于我们实验的要求,这种方法不适用。
\quad 另一种方法是 “数字 I/O 法”。我们通过设置采样率,将时间序列转换为数字序列,并存储到板卡的缓存区中,之后板卡可以直接读取数字序列并输出。例如图 33 所示,我们设置的采样率为 103/s10^3\mathrm{/s},这意味着我们所能输出的最小脉宽为 1ms1\mathrm{~ms}。若我们想要更窄的脉宽和更高的调节精度,就要设置更高采样率,但这也就意味着有更多的数字信息写入板卡的缓存区。例如同样是 2ms 的高电平输出,若采样率设置为 103/s10^3\mathrm{/s},只需两个数字 “1” 信号,但当采用率设置为 106/s10^6\mathrm{/s} 时,则需要 3000 个数字 “1” 信号。这无疑增大了写入数据的工作量,这对于一些需要自适应调节脉冲时序的实验可能会成为不可忽视的负担。

图3

\quad 数字 I/O 法的同步时钟是采用板卡自带的硬件时钟定时的,相比延迟输出法有更好的稳定性。我们的 PXIe-6536 板卡最高具有 25MHz25\mathrm{~MHz} 的采样时钟,这意味着理论上可以实现 40ns40\mathrm{~ns} 的最窄脉冲脉宽。因此,我们采用数字 I/O 法来完成多路激光时序控制程序的编写。图 44 为程序测试结果。

图4

# 参考文献


  1. 秦承彬。铝离子光频标时序控制系统 [D]. 华中科技大学,2014. ↩︎

  2. Schindler P , Nigg D , Monz T ,et al.A quantum information processor with trapped ions[J].New Journal of Physics, 2013, 15(2):123012.DOI:10.1088/1367-2630/15/12/123012. ↩︎