Kenny Adedara
← Writing

Driving 128 ultrasound channels without melting anything

Thermal budgets, high-voltage switching, and the calibration loop that keeps a focused-ultrasound array in spec.

Published
Reading time
2 min
Filed under
hardware, electrical, firmware

The naïve way to read “128 high-voltage channels” is as a power problem. It isn’t. Power is the easy part — you can always buy more supply. The hard part is that 128 channels have to agree: agree on time, agree on phase, and agree to back off before anything gets warm. Disagreement shows up as a smeared focal point or a hot spot against someone’s skin, and neither is acceptable.

Take software out of the firing loop

The first prototype timed channels in firmware and drifted the moment the board warmed up. The fix was structural: a single FPGA owns the time base and generates every pulse sequence off one clock. The host never participates in firing — it compiles a treatment into a per-channel delay-and-amplitude table and streams that table down. The interface is data, not commands, which means there’s no clever code to mis-fire at the worst possible microsecond.

Calibrate every element, every time

No two transducer elements or high-voltage stages are the same. Instead of hand-tuning each board at bring-up, the system drives a known step into each channel, measures the response, and stores a correction. At runtime the sequencer applies it, so the focal point lands where the spec asked rather than where the hardware happened to drift. Bring-up went from a ritual to a step.

Budget average power, sense it continuously

Skin contact makes average power — not peak — the ceiling. A separate sense path samples per-element current and array temperature and feeds two things: a closed loop that trims duty cycle to hold the thermal budget, and the interlocks. Over-current, over-temp, and loss-of-heartbeat trip in hardware and latch. Clearing a fault is a deliberate, human act.

The one place I refused to be clever was safety. Interlocks that depend on firmware are interlocks that fail with firmware.

The result holds: 128 channels, ±90 V swing, under two degrees of array rise, and zero safety faults across the HIL suite. None of that came from a bigger supply. It came from deciding, up front, who owns time and who owns intent — and never letting the two blur.

Keep reading