Normally, if you want to blast out samples to a DAC in a hurry, you’d rely on an FPGA, what with their penchant for doing things very quicky and in parallel. However, [Anabit] figured out a way to do the same thing with a microcontroller, thanks to the magic of the Raspberry Pi Pico 2.

The design in question is referred to as the PiWave 150 MS/s Bipolar DAC, and as the name suggests, it’s capable of delivering a full 150 million samples per second with 10, 12, or 14 bits of resolution. Achieving that with a microcontroller would normally be pretty difficult. In regular linear operation, it’s hard to clock bits out to GPIO pins at that sort of speed. However, the Raspberry Pi Pico 2 serves as a special case in this regard, thanks to its Programmable I/O (PIO) subsystem. It’s a state machine, able to be programmed to handle certain tasks entirely independently from the microcontroller’s main core itself, and can do simple parallel tasks very quickly. Since it can grab data from RAM and truck it out to a bank of GPIO pins in a single clock cycle, it’s perfect for trucking out data to a DAC in parallel at great speed. The Pi Pico 2’s clock rate tops out at 150 MHz, which delivers the impressive 150 MS/s sample rate.

The explainer video is a great primer on how this commodity microcontroller is set up to perform this feat in detail. If you’re trying for accuracy over speed, we’ve explored solutions for that as well. Video after the break.


From Blog – Hackaday via this RSS feed