Pic0rick: Bo mạch siêu âm mã nguồn mở sử dụng RP2040 thay thế FPGA

Phần cứng14 tháng 5, 2026·3 phút đọc

Pic0rick là thế hệ mới nhất trong dòng sản phẩm siêu âm mã nguồn mở, sử dụng vi điều khiển RP2040/RP2350 để thay thế các thiết kế FPGA phức tạp. Dự án này giúp giảm chi phí và độ khó khi xây dựng thiết bị y tế DIY, cho phép lập trình bằng C thay vì Verilog.

Pic0rick: Bo mạch siêu âm mã nguồn mở sử dụng RP2040 thay thế FPGA

Pic0rick là đại diện mới nhất trong dòng sản phẩm siêu âm mã nguồn mở un0rick, đánh dấu một bước tiến quan trọng khi chuyển từ thiết kế dựa trên FPGA sang sử dụng vi điều khiển RP2040/RP2350 phổ biến. Sự thay đổi này giúp giảm đáng kể chi phí và độ phức tạp, đồng thời loại bỏ nhu cầu sử dụng các chuỗi công cụ FPGA hay kiến thức phần cứng chuyên sâu.

Kích thước khoKích thước kho Số lượng ngôn ngữSố lượng ngôn ngữ

Cấu trúc hệ thống mô-đun

Pic0rick được thiết kế dưới dạng một hệ thống gồm ba bo mạch riêng biệt, hoạt động kết hợp với nhau:

  • Main board (Bo mạch chính): Đây là trái tim của hệ thống, chứa vi điều khiển RP2040, bộ chuyển đổi A/D (ADC) 10-bit tốc độ 60 Msps, bộ khuếch đại TGC AD8331 với đường cong khuếch đại được điều khiển qua SPI, và bảo vệ đầu vào điện áp cao trên đường thu tín hiệu. Bo này cũng chứa các kết nối PMOD và giao diện USB.
  • Pulser board (Bo mạch tạo xung): Được kết nối qua một cổng PMOD, bo mạch này chịu trách nhiệm tạo xung truyền thay cho bo mạch chính. Nó sử dụng cặp chip MD1210 và TC6320 để tạo ra các xung ba mức.
  • HV board (Bo mạch điện áp cao): Một bo mạch đơn giản tạo ra điện áp +-25V, cắm vào Pulser board để cung cấp nguồn điện cao cần thiết cho việc tạo xung.

Ngôn ngữ lập trình chínhNgôn ngữ lập trình chính

Tận dụng PIO để thay thế FPGA

Trước đây, các bo mạch như un0rick hay lit3rick sử dụng FPGA Lattice iCE40 để kiểm soát thời gian chính xác cho chuỗi xung-echo. Tuy nhiên, Pic0rick đã đạt được độ chính xác tương tự bằng cách sử dụng các máy trạng thái Programmable Input/Output (PIO) tích hợp trên RP2040.

Hai đơn vị PIO của RP2040 được sử dụng cho mục đích thời gian chính xác: một đơn vị điều khiển chuỗi thu thập dữ liệu (kích hoạt xung + lấy mẫu ADC), và đơn vị kia có thể điều khiển đầu ra VGA để trực quan hóa thời gian thực. Điều này giúp giải phóng hai lõi Cortex-M0+ để bạn chạy mã ứng dụng của riêng mình.

"Các chương trình PIO chạy xác định theo tốc độ xung nhịp hệ thống, cung cấp độ trễ dưới micro giây cần thiết cho việc thu thập siêu âm — mà không yêu cầu kiến thức HDL hay công cụ tổng hợp FPGA."

Lợi ích cho lập trình viên

Việc chuyển từ FPGA sang vi điều khiển mang lại lợi ích lớn về mặt phát triển phần mềm. Thay vì phải viết mã Verilog hoặc VHDL và chạy các chuỗi công cụ tổng hợp phức tạp, người dùng giờ đây có thể sửa đổi thời gian thu thập, mẫu xung và các tham số lấy mẫu bằng cách chỉnh sửa mã C trong môi trường giống như Arduino tiêu chuẩn.

Lần commit cuốiLần commit cuối

So sánh và kết luận

Đối với các dự án mới, tác giả khuyến nghị sử dụng pic0rick, trừ khi bạn có nhu cầu đặc biệt về khả năng kiểm soát thời gian cấp FPGA hoặc dải khuếch đại 92 dB của dòng lit3-32.

Dự án này dựa trên các dự án TAPR trước đây như echOmods, un0rick và lit3rick, với phần cứng và phần mềm đều là mã nguồn mở. Pic0rick là một minh chứng rõ ràng cho việc các vi điều khiển giá rẻ hiện nay ngày càng có khả năng thay thế các phần cứng chuyên dụng đắt đỏ trong các ứng dụng kỹ thuật phức tạp.

Hỗ trợ PatreonHỗ trợ Patreon

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗