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 本章知识体系
下面这张图,是我对本章核心逻辑的总结。你可以看到,设备建模从运动学和逻辑两条线展开,最终在虚拟调试中汇合。
好了,这一章就到这里。运动学模型和逻辑模型是虚拟调试的基石。你想想看,如果连模型都建不准,后面的调试还有什么意义?所以,花时间把这两个模型打磨好,绝对值得。