Background and Motivation

Modern embedded systems work most naturally with digital signals. For example, you might toggle a pin to blink an LED. Or send some bytes over a serial interface. The machine understands two values: high and low. To interact with the physical world, you need to convert signals into digital form and vice versa.

Zrna hardware on the other hand works in terms of signals that can take any value between high and low. This is similar to a traditional analog circuit but instead of being etched into silicon or traced onto a PCB, your design is expressed in software and has the associated nice properties: it can be rapidly and easily changed, copied, stored and loaded.

We achieve this with the union of a field-programmable analog array (FPAA), an ARM processor and state-of-the-art firmware. An FPAA is similar in concept to a field-programmable gate array, but instead of logic elements, it is composed of analog elements: opamps, comparators, capacitors and switches. These fundamental elements are used to build higher level modules like filters, oscillators and gain stages.

An FPAA, like an FPGA, must be programmed with a bitstream that describes what function the user wants. In both cases the bitstream describes how the fundamental elements are configured and connected. In the past, users of these devices have been forced to generate a single, static bitsream for an application with an external toolchain or hardware description language.

In Zrna's case, the firmware generates this bitstream dynamically as needed in response to user requests. As a result, the system can change its behavior while the application is running. This change could be as simple as adjusting the gain of a gain stage. Or as complex as building an entirely different circuit design on the fly to adapt to an event.

This is the kind of flexibility we have come to expect from classical computers. We should expect it from analog systems as well.

Zrna's architecture provides a gateway to analog prototyping for hobbyists, musicians and makers who tend to be more comfortable writing software than doing traditional analog design. It also provides a standard library of reusable analog building blocks that free a more advanced engineer or scientist to work on the problem at hand rather than reinventing the wheel.


© 2019 Zrna Research