초음파 하드웨어 민주화: pic0rick 오픈소스 플랫폼

Ultrasound hardware는 전통적으로 전문 의료기기 제조업체와 산업용 비파괴 검사(NDT) 업체의 영역이었습니다. 정밀 타이밍, 고속 아날로그-디지털 변환, 고전압 펄스 발생이 필요하기 때문에 초기 비용이 높아 독립 연구자와 취미 개발자들이 음향 영상을 실험하기 어려웠습니다.

Enter the pic0rick, an open-source hardware platform designed to bring ultrasound acquisition into the realm of accessible, low-cost electronics. By shifting from FPGA-based architectures to the RP2040/RP2350 microcontroller, the project significantly lowers the barrier to entry for anyone interested in pulse-echo systems and tomography.

pic0rick의 아키텍처

pic0rick은 단일 보드가 아니라 초음파 획득의 전체 신호 체인을 처리하도록 설계된 모듈식 3부 시스템입니다:

  1. The Main Board: 시스템의 두뇌 역할을 합니다. RP2040 마이크로컨트롤러와 60 Msps 10비트 ADC를 탑재했습니다. 초음파가 재료를 통과하면서 발생하는 감쇠를 처리하기 위해 AD8331 Time Gain Compensation (TGC) 증폭기를 포함하고 있으며, 이는 SPI DAC를 통해 제어되는 가변 이득(7.5 dB ~ 55.5 dB)을 제공합니다.
  2. The Pulser Board: 초음파는 트랜스듀서를 자극하기 위해 고전압 트리거가 필요합니다. 이 PMOD 기반 보드는 MD1210과 TC6320 부품을 조합하여 3단계 펄스를 생성합니다.
  3. The HV Board: 펄서 보드에 필요한 $\pm 25\text{V}$ 전원을 공급하는 전용 전원 보드입니다.

신호 체인

데이터 흐름은 결정적이며 선형적입니다: RP2040 $\rightarrow$ PIO triggers pulse $\rightarrow$ Pulser board $\rightarrow$ Transducer $\rightarrow$ Echo returns $\rightarrow$ HV clipping (protection) $\rightarrow$ AD8331 TGC $\rightarrow$ 60 Msps ADC $\rightarrow$ RP2040 $\rightarrow$ USB $\rightarrow$ Computer.

FPGA를 PIO로 대체하기

pic0rick의 가장 중요한 기술적 성과 중 하나는 이전 버전인 un0ricklit3rick에서 사용된 Lattice iCE40 FPGA를 RP2040의 Programmable Input/Output (PIO) 상태 머신으로 교체한 것입니다.

초음파 획득에서는 마이크로초 이하의 타이밍이 중요합니다. 전통적으로 이는 펄스 트리거와 ADC 샘플링이 완벽히 동기화되도록 보장하기 위해 FPGA가 필요했습니다. RP2040의 PIO를 사용하면 개발자는 시스템 클럭 속도로 실행되는 작고 결정적인 프로그램을 작성할 수 있어, 이 특정 사용 사례에 대해 “충분히 좋은” FPGA 역할을 합니다.

한 커뮤니티 구성원이 Hacker News에 이렇게 언급했습니다:

"In many cases it seems to be a PIO is a ‘good enough’ FPGA on absurdly cheap hardware."

PIO로 전환함으로써 프로젝트는 Verilog 또는 VHDL과 같은 복잡한 HDL(하드웨어 기술 언어) 툴체인의 필요성을 없앴습니다. 이제 사용자는 Arduino와 유사한 환경에서 표준 C/C++를 사용해 획득 타이밍과 펄스 패턴을 수정할 수 있어 개발 주기가 크게 단축됩니다.

확장성 및 활용 사례

플랫폼이 단순 펄스-에코 테스트를 넘어 유용하게 사용될 수 있도록 pic0rick은 다양한 확장을 위한 이중 PMOD 커넥터를 포함합니다:

  • VGA Output: PIO1을 사용해 모니터에 초음파 데이터를 실시간으로 시각화합니다.
  • MUX Board: 여러 트랜스듀서 사용을 가능하게 하는 멀티플렉서로, 어레이 이미징 및 합성 개구 기술의 문을 엽니다.
  • PSRAM: 더 긴 획득 버퍼를 위한 추가 메모리를 제공하며, 이는 더 깊은 물체를 이미지화하는 데 필수적입니다.

실용적인 적용

하드웨어는 다재다능하지만, 이 플랫폼의 주요 적용 분야는 다음과 같습니다:

  • Pulse-Echo Testing: 물체까지의 거리 측정 또는 재료 내 결함 탐지.
  • Non-Destructive Testing (NDT): 산업 부품을 손상 없이 구조적 무결성을 검사.
  • Tomography: 초음파 반사를 기반으로 물체의 단면 이미지를 생성.

레거시 보드와의 비교

un0rick 계열에서 온 분들에게 pic0rick은 접근성으로의 전환을 의미합니다. 레거시 보드들은 전체 FPGA 유연성을 제공했으며, 경우에 따라(예: lit3-32) 92 dB의 높은 이득 범위를 제공했지만, pic0rick은 가장 낮은 비용과 가장 간단한 프로그래밍 모델을 제공합니다. 극단적인 이득이나 FPGA 수준의 타이밍 제어가 반드시 필요하지 않은 한, 새로운 프로젝트의 시작점으로 권장됩니다.

결론

pic0rick 프로젝트는 오픈소스 하드웨어와 최신 마이크로컨트롤러 기능 간의 강력한 시너지를 보여줍니다. RP2040의 PIO를 활용함으로써 복잡하고 고속인 획득 시스템을 교육 및 연구용 모듈식, 저비용 도구로 변환합니다. 맞춤형 NDT 스캐너를 구축하든 음향 이미징을 실험하든, pic0rick은 견고한 오픈소스 기반을 제공하여 확장할 수 있게 합니다.

Sources