4、设备建模(上):光刻机、刻蚀机等核心设备的运动学与逻辑建模

设备建模,说白了就是把物理世界的机器,搬到虚拟空间里。

你想想看,一条半导体产线动辄几十亿投资,谁敢拿真机去试错?所以虚拟调试的第一步,就是先把光刻机、刻蚀机这些核心设备的“魂”给造出来。这个“魂”,我习惯分成两部分:运动学模型和逻辑模型。

4.1 运动学模型:让设备“动”起来

运动学模型解决的是“怎么动”的问题。比如光刻机的掩模台、晶圆台,刻蚀机的机械手、升降机构,它们都有各自的运动轴。

我个人习惯用关节坐标系来描述这些运动。每个轴就是一个关节,关节之间通过连杆连接。你给每个关节一个角度或位移,末端执行器(比如吸盘)的位置就确定了。

核心公式:正运动学与逆运动学

  • 正运动学:已知各关节变量,求末端位姿。说白了就是“我给了电机多少角度,手伸到了哪里”。
  • 逆运动学:已知末端位姿,求各关节变量。也就是“我想让手到那个点,电机该转多少”。

我在项目中遇到过一件事。有一次调试刻蚀机的机械手,正运动学算出来位置都对,但一跑起来就撞腔体。后来发现是逆运动学求解时,有个关节的限位没考虑进去。嗯,这里要注意:逆运动学往往有多解,必须结合物理限位做筛选

4.2 光刻机的运动学建模

光刻机是产线上最精密的设备。它的运动系统主要分三块:

  • 掩模台:承载掩模版,做高速扫描运动。X、Y、Rz三个自由度。
  • 晶圆台:承载晶圆,做步进或扫描运动。同样X、Y、Rz,但精度要求更高。
  • 调焦调平系统:控制晶圆表面的Z向位置和倾斜,保证曝光焦面。

建模时,我通常把它们简化为多刚体系统。每个台子就是一个刚体,刚体之间用运动副连接。比如掩模台和基座之间是平面运动副,允许X、Y平移和绕Z轴旋转。

避坑指南:我曾经在建模时忽略了掩模台和晶圆台的同步误差。结果虚拟调试跑得好好的,一到真机就 overlay 超标。后来在模型里加了同步误差补偿环节,才把问题复现出来。所以,运动学模型不能只考虑理想运动,误差模型也得带上。

4.3 刻蚀机的运动学建模

刻蚀机相对简单一些,但它的机械手系统很关键。典型的刻蚀机内部有一个大气机械手和一个真空机械手,负责在腔体之间传送晶圆。

机械手的运动学建模,我推荐用DH参数法。每个关节建立坐标系,然后推导变换矩阵。举个例子,一个三关节的SCARA机械手,它的DH参数表是这样的:

关节 θ (关节角) d (连杆偏距) a (连杆长度) α (连杆扭角)
1 θ1 d1 a1 0
2 θ2 0 a2 0
3 θ3 0 0 0

有了这个表,你就能写出从基座到末端执行器的齐次变换矩阵。代码实现起来也不复杂:

// 伪代码:SCARA机械手正运动学
function forwardKinematics(theta1, theta2, theta3) {
    // DH参数
    const a1 = 0.3;  // 单位:米
    const a2 = 0.25;
    const d1 = 0.5;

    // 计算末端位置
    let x = a1 * cos(theta1) + a2 * cos(theta1 + theta2);
    let y = a1 * sin(theta1) + a2 * sin(theta1 + theta2);
    let z = d1 - theta3;  // 升降关节

    return {x, y, z};
}

4.4 逻辑建模:让设备“听话”

运动学模型让设备能“动”,但怎么动、什么时候动、动错了怎么办?这些是逻辑模型的事。

逻辑模型说白了就是状态机。每个设备都有几个基本状态:空闲、运行、报警、急停等。状态之间通过事件触发切换。

光刻机的简化状态机:

  • IDLE:待机,等待晶圆传入
  • ALIGN:对准,晶圆和掩模版找位置
  • SCAN:扫描曝光,掩模台和晶圆台同步运动
  • STEP:步进,晶圆台移动到下一个曝光场
  • ERROR:异常,比如同步误差超限

我习惯用有限状态机(FSM)来建模。每个状态里,定义好该状态下允许的运动学动作。比如在SCAN状态下,掩模台和晶圆台必须按固定速度比运动;在STEP状态下,只有晶圆台能动。

注意:逻辑模型里最容易漏掉的是互锁条件。比如刻蚀机的真空机械手在腔体门没关好时绝对不能动作。我曾经在虚拟调试时没加这个互锁,结果仿真里机械手直接穿墙而过……虽然只是虚拟的,但暴露了逻辑漏洞。

4.5 运动学与逻辑的融合

运动学模型和逻辑模型不是孤立的。逻辑模型控制运动学的执行,运动学模型反馈位置、速度给逻辑模型做判断。

举个例子:光刻机在SCAN状态下,逻辑模型会实时读取运动学模型反馈的同步误差。如果误差超过阈值,逻辑模型就触发ERROR状态,然后急停。这个闭环在虚拟调试中必须完整实现。

我的习惯:在建模初期,我会先搭一个最小可行模型。只包含最核心的运动轴和最基础的状态机。然后逐步往里加细节,比如误差、限位、互锁。这样调试起来不会一头雾水。

4.6 本章知识体系

下面这张图,是我对本章核心逻辑的总结。你可以看到,设备建模从运动学和逻辑两条线展开,最终在虚拟调试中汇合。

设备建模核心逻辑 运动学模型 关节坐标系 / DH参数法 正运动学 / 逆运动学 多刚体系统 / 误差模型 逻辑模型 有限状态机(FSM) 状态定义 / 事件触发 互锁条件 / 报警处理 虚拟调试:运动学 + 逻辑融合 设备建模 = 让设备能动 + 让设备听话

好了,这一章就到这里。运动学模型和逻辑模型是虚拟调试的基石。你想想看,如果连模型都建不准,后面的调试还有什么意义?所以,花时间把这两个模型打磨好,绝对值得。