基于Linux的单机全数字控制的扫描探针显微镜
扫描探针显微镜(SPM),包括扫描隧道显微镜(STM)、原子力显微镜(AFM)等,已成为纳米结构表征和操纵的重要手段。它通常是将针尖接近样品表面产生相互作用,然后反馈控制系统通过实时改变针尖的位置来调整相互作用的大小,从而实现包括扫描成像在内的各种功能。早期的扫描探针显微镜通常采用模拟的负反馈电路进行反馈控制,近十年来逐渐为数字控制所取代[1~5]。数字控制通常是将针尖和样品之间相互作用的信号,例如STM的隧道电流或AFM的原子力,直接通过模拟/数字(A/D)转换成数字量,经过比例-积分(PI)反馈运算后,再由数字/模拟(D/A)转换输出来调整针尖位置。因此数字控制比模拟控制精度更高,控制更灵活[6~8]。为了满足SPM控制对实时性能的苛刻要求,目前的数字反馈计算通常是由一块单独的数字信号处理器(DSP)来完成的[3~5],PC机只是用于和DSP进行通讯来获取数据,并进行处理和显示。本文描述一种新的全数字控制方案,即仅使用一台安装有Linux操作系统的普通PC机实现对扫描探针显微镜的多线程、高精度、实时性的全数字控制,简称为“L-PC软控制”方法。
1 L-PC软控制
1·1 硬件配置
L-PC软控制的架构如图1所示。针尖和样品之间相互作用的信号,经过前置放大后通过A/D采集卡进入计算机,计算机计算得到的各种控制量,包括针尖X、Y和Z方向坐标等,通过D/A卡输出,经过放大后连接到扫描头。其中PC机的CPU主频为1·8 GHz,内存512 MB,A/D采集卡为12位精度,一次A/D转换时间约为8μs,D/A转换卡为16位精度,一次D/A转换时间约为2μs。
在上述硬件配置中,PC机本身配置并不重要,关键是根据扫描速度等具体要求,选用合适转换速率的A/D和D/A卡。整个控制程序对内存的要求很低,包括处理数据的图形用户界面在内,大约只需要占用10兆字节的内存。而对于CPU,当前主流的GHz主频的CPU已经足够强大,所以每次反馈用于运算的时间小于1μs,相比A/D和D/A转换时间完全可以忽略不计。基于上述A/D和D/A的转换速率,SPM反馈运算的速度可达每秒钟约30 000次。在实验中,考虑到外部电路的带宽和压电陶瓷形变响应速度等具体情况,通常SPM反馈速度低于10000次/s。特殊情况如需要更快的反馈速率,则可选择更快转换速率的A/D和D/A卡即可。
1·2 反馈控制
在PC机上,我们按照图2所示的流程,用C语言编写了反馈控制程序。这个反馈控制程序会被A/D卡上的时钟周期性地触发。在每一个周期里,A/D卡上的时钟脉冲首先触发一次A/D转换,从而将当前针尖和样品相互作用信号转换成数字量,然后发送一个中断信号通知反馈控制程序进行一系列运算,最后反馈控制程序将针尖位置等控制量通过D/A转换输出,就进入空闲状态。目前在PC机上常用的操作系统,包括Windows和Linux都无法满足上述的反馈过程对实时性能的要求,其原因主要是:从A/D卡的中断信号发出,到反馈控制程序得到通知开始启动,这段延时过长且不确定。无论Windows还是Linux操作系统,延时往往在20μs到200μs不等,这就导致无法及时的进行反馈运算。为了解决这个问题,我们选择了开放源代码的Linux操作系统,应用Xenomai开源软件项目[9]修改了Linux内核源代码后,使得上述延时被缩短到2μs以内,从而让我们编写的反馈控制程序可以在操作系统的最底层快速响应A/D卡产生的中断信号。
相关文章
- 2023-05-28锁相红外热成像技术在无损检测领域的应用
- 2021-12-20DSP和FPGA在大尺寸激光数控加工系统中的运用
- 2023-04-12全电子包装秤故障原因分析及策略
- 2023-04-04基于NX的FANUC系统四轴加工中心后置处理器构建
- 2023-03-22SolidWorks在管路补偿接头系列化设计中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。