1. 개요
차세대 3D 적층 반도체 패키징(HBM, CoWoS)의 마이크로 범프(Micro-bump) 박리, 첨단 세라믹의 미세 균열 및 생체 세포 내부의 탄성 계수 분포를 비파괴 단층 진단하는 주사 음향 현미경(Scanning Acoustic Microscopy, SAM)은 1 GHz 이상의 초고주파 극초음파(Hypersound)를 활용합니다. 사파이어 단결정 로드 끝단에 정밀 연마된 구면 음향 렌즈(Spherical Acoustic Lens)와 산화아연(ZnO) 압전 박막 변환기를 결합하여, 물(Coupling Fluid) 매질을 통해 음향 빔을 서브-미크론 크기의 초점으로 집속합니다. 렌즈와 시료 표면 간의 수직 거리(\(z\))를 주사할 때 측정되는 음향 반사 신호 \(V(z)\) 곡선은 표면 탄성파(Rayleigh Wave)의 간섭 특성을 담고 있어, 재료의 국소 밀도 및 탄성 상수를 정밀 정량화합니다. 그러나 고주파 음향파의 액체 내 감쇠율이 극도로 높고 시료 표면의 미세 기울기(Tilt) 및 열 팽창은 초점면 이탈을 유발합니다. 본 고에서는 10,000Hz 주기로 압전 액추에이터의 높이를 고속 제어하여 최적 초점 및 탄성파 결맞음을 유지하는 0-Alloc C# 엔진을 구현합니다.
2. 수학적 모델링 및 지배 방정식
1.5 GHz 초음파의 결합 매질(물) 내 음향 파장 \(\lambda_w\) 및 감쇠 계수 \(\alpha_w\) 방정식은 다음과 같습니다:
음향 렌즈 출력 신호 \(V(z)\)와 레일리 표면 탄성파(SAW) 속도 \(v_R\) 간의 간섭 주기 \(\Delta z\) 방정식은 다음과 같습니다:
여기서 레일리 임계각 \(\theta_R\) 및 탄성 속도 \(v_R\) 계산식은 다음과 같습니다:
서브-미크론 초점 유지 허용 오차 부등식은 다음과 같습니다:
3. 실시간 C# 서보 제어기 구현
다음은 반사 음향 펄스의 피크 에코 진폭과 비행 시간(ToF)을 10,000Hz 주기로 분석하여 Z-피에조를 서보 제어하는 0-Alloc C# 엔진 구현체입니다:
using System;
using System.Runtime.CompilerServices;
namespace ZeliDesk.Stem.AcousticMicroscopy
{
public readonly ref struct SamEchoSignalFrame
{
public readonly double PeakEchoAmplitudeMv;
public readonly double TimeOfFlightPicoseconds;
public readonly double TargetToFPicoseconds;
public readonly double WaterCouplantTempCelsius;
public readonly double AcousticFrequencyGhz;
public SamEchoSignalFrame(
double peakEchoAmplitudeMv,
double timeOfFlightPicoseconds,
double targetToFPicoseconds,
double waterCouplantTempCelsius,
double acousticFrequencyGhz)
{
PeakEchoAmplitudeMv = peakEchoAmplitudeMv;
TimeOfFlightPicoseconds = timeOfFlightPicoseconds;
TargetToFPicoseconds = targetToFPicoseconds;
WaterCouplantTempCelsius = waterCouplantTempCelsius;
AcousticFrequencyGhz = acousticFrequencyGhz;
}
}
public ref struct SamFocusControlCommand
{
public double ZPiezoDriveVoltageVolts;
public double FocusErrorNanometers;
public double EstimatedRayleighVelocityMps;
public double AcousticImpedanceMrayl;
public bool IsAcousticFocusLocked;
}
public ref struct SamAcousticLensServoEngine
{
private const double WaterBaseVelocityMps = 1482.0;
private readonly double _kpZ;
private readonly double _kiZ;
private readonly double _dt;
private double _focusErrorIntegral;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public SamAcousticLensServoEngine(double kpZ, double kiZ, double dt)
{
_kpZ = kpZ;
_kiZ = kiZ;
_dt = dt;
_focusErrorIntegral = 0.0;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ComputeFocusCorrection(in SamEchoSignalFrame frame, out SamFocusControlCommand cmd)
{
cmd = default;
// Temperature-corrected sound velocity in water: v = v0 + 4.5*(T - 20)
double vw = WaterBaseVelocityMps + 4.5 * (frame.WaterCouplantTempCelsius - 20.0);
// ToF error to distance error (dz = v * dt_tof / 2)
double tofErrSec = (frame.TimeOfFlightPicoseconds - frame.TargetToFPicoseconds) * 1e-12;
double focusErrNm = (vw * tofErrSec * 0.5) * 1e9;
_focusErrorIntegral += (focusErrNm * 1e-3) * _dt;
if (_focusErrorIntegral > 10.0) _focusErrorIntegral = 10.0;
else if (_focusErrorIntegral < -10.0) _focusErrorIntegral = -10.0;
double vPiezo = (_kpZ * focusErrNm * 1e-3) + (_kiZ * _focusErrorIntegral);
vPiezo = Math.Clamp(vPiezo, -100.0, 100.0);
// Rayleigh velocity approximation for silicon substrate (~4920 m/s)
double vrEst = 4920.0 * (1.0 + (frame.PeakEchoAmplitudeMv - 500.0) * 1e-4);
double zImpedance = 19.8; // Silicon ~19.8 MRayl
cmd.ZPiezoDriveVoltageVolts = vPiezo;
cmd.FocusErrorNanometers = focusErrNm;
cmd.EstimatedRayleighVelocityMps = vrEst;
cmd.AcousticImpedanceMrayl = zImpedance;
cmd.IsAcousticFocusLocked = Math.Abs(focusErrNm) <= 150.0; // <= 150nm error
}
}
}
4. 교육 및 실무 적용 방안
- 한국방송통신대학교 AI 교구: 파동 음향학, 표면 탄성파(SAW), 압전 변환기 및 초음파 비파괴 검사 시뮬레이션.
- 첨단 HBM/2.5D 패키징 신뢰성 연구소: 마이크로 범프 계면 보이드(Void) 및 박리 결함 자동 전수 검사기 탑재.