The FV-1 Design Philosophy
Digital Signal Processing (DSP) represents a wonderful improvement to the otherwise analog world of audio, allowing systems that are of higher quality, greater stability, and of vastly increased capability. Unfortunately, DSP parts available today are designed at great cost to the developer, forcing design choices that allow the devices to be useful in as wide a range of applications as possible. Audio processors though, do not require much of the functionality found in general purpose DSP chips, and often can benefit from features not found in standard DSP parts. Because general purpose DSP chips have so many features to suit the needs of so many different customers, it becomes difficult to pour through the provided user's and programmer's guides to gain even a rough understanding of their capabilities. The implementation of a standard DSP device in an audio system can require a significant investment in development time. If the engineers involved have no prior DSP or high speed logic experience, this can seem to be an insurmountable obstacle.
Further, standard DSP parts are developed using high speed logic processes and will generate radio frequency interference that will make a product unmarketable (FCC) if not dealt with through the use of multilayer PCBs, bus termination, extensive supply bypassing, and in some cases, shielded enclosures. This is not the 'stuff' from which traditional audio devices are built. Even simple things such as the attachment of ADC/DAC converters can cause RFI radiation through their interconnections to a standard DSP device.
The FV-1 was designed to cater to audio effects applications specifically, and for all practical purposes, to be used as an analog part. To meet this end, stereo ADC and DAC converters were built in, allowing the connection of analog signals through simple coupling caps to and from the processor. Supply bypassing, internal to the FV-1, lowers any possible RFI emissions that may result from the use of consumer grade single or two-sided PCBs. The clock oscillator was designed to accept a signal at the desired sample rate, or work directly from a low-cost watch crystal, setting the sample rate at 32.768 KHz. Although the FV-1 is not restricted to this sample rate, a 32.768 KHz clocking frequency does allow a signal bandwidth of 15KHz, which is entirely adequate for most audio effects applications, and allows full use of the FV-1 internal memory, allowing a full second of audio delay time. The internal clock of the FV-1 is all the while running at 1024 times the crystal frequency, and when running at 32.768KHz, the circuitry of the FV-1 is running internally at 33.55 MHz, but then, you don't need to know that to use the FV-1.
Earlier dedicated audio DSP chips were often produced with internal ROM that would allow the selection of different programs. In this case, even simple modifications to an algorithm, such as changing the decay time of a reverb, would require the selection of a different program. In this case, no number of different programs would suffice; as there is a wide range of decay times that could be useful. As an alternative to multiple program variations, the FV-1 is equipped with three analog inputs that are essentially voltage controls to be set by any external source, most conveniently potentiometers that are wired across the power supply. These analog inputs are converted within the FV-1 into control values that can expand the utility of a selected program, allowing a wide range of options within a single program. The need for a large number of possible programs diminishes quickly on account of this feature.
Although 8 programs are stored in ROM within the FV-1, it is doubtful they will be used universally. To allow expansion of the program set, a 2 wire interface has been provided so that an inexpensive EEPROM (32K bit) can be added, containing an additional 8 programs that can be custom built by the user. This allows each manufacturer to have products that exhibit their own characteristic sound. If desired, the EEPROM can be written by a microprocessor added to the target product, allowing an unlimited expansion of program capability.
The FV-1 is really a parallel processor, executing program instructions while also managing memory addresses and generating low frequency oscillators (LFO) in the background. Two sine/cosine LFOs and two linear ramp LFOs are constantly at the ready to manipulate addresses (variable delays) and continuously modify amplitudes, filter frequencies and so forth. These LFOs run independently from the instructions executed; once set up, they continuously calculate their own process in the background, and make their results immediately available to the running program.
The FV-1 instruction set was designed to be powerful from an effects standpoint, with a single instruction often taking the place of many standard DSP chip instructions. This allows the programmer to carefully craft an effect with very few instruction lines. The FV-1 instructions include 2 instruction all-pass filters (very useful in reverb algorithms), and two instruction shelving high pass and low pass filters. Instructions like logarithm and exponent are included, which are unusual for a standard DSP. These have been included because audio processing can benefit so much from these natural functions, as in performing RMS signal detection and providing exponential scales for musical filters.
All of the information required to write programs for the FV-1 is provided on the SpinSemi website, in a relatively few, easily understood documents. An engineer with analog experience can easily master the progression to digital processing with the FV-1, without the need to fully learn the mathematics of DSP. In fact, the documents at the SpinSemi website address the issues of audio effects with a minimum of math, and actually encourage a programmer to spend more time developing a particular sound than the otherwise unnecessary mathematics of traditional DSP.