Programmable analog devices give the design engineer the freedom to configure exactly the combination of analog functions that their product needs, integrated into a single device. To what extent, though, do they provide an alternative to circuits built with standard parts from analog suppliers such as National Semiconductor, Maxim and Linear Technology?
Programmable devices suffer from one fundamental drawback: to perform any given analog or digital function in a programmable fabric (such as the Flash memory cells of a Fusion FPGA) requires a larger die, and produces slower performance, than a hard-wired alternative performing the same function.
But there are benefits to programmability that can offset the size and performance constraints of implementing a design in a programmable fabric:
Integration: A programmable mixed-signal device can integrate a large number of functions into one device. Most obviously, this can reduce component count, save board space and lower assembly costs. Less obviously, it also might improve system reliability, as there are fewer parts to fail.
Flexibility: A programmable part allows design teams to make system modifications, such as changing an amplifier's gain value or a device's pinout, without cost at any part of the design/production cycle – even after volume production has begun.
Productivity: By performing all design work within a single, integrated development environment, design teams can take advantage of their knowledge of this one tool to improve design productivity. This is not possible when each sub-system is designed separately with separate tools.
Intellectual property protection: unlike discrete components, or fixed-function peripherals, programmable mixed-signal devices integrate and conceal analog and digital components into a single chip. Thus they are harder to reverse-engineer, and the cost of copying them is prohibitively expensive.
Programmability, then, promises a range of benefits that enable the rapid development of devices that are smaller, cheaper and more secure than their hard-wired counterparts. So how do commercial devices set out to deliver on this promise in practice?
Cypress and Actel have found different ways to implement true mixed-signal capability within a programmable fabric. Cypress' PSoC can most obviously be compared to a microcontroller (MCU), whereas Actel's Fusion behaves more like a traditional FPGA, but with the added ability to integrate the discrete devices that are often found around an FPGA.
PSoC is a family of devices that incorporates common analog functions (amplifiers, ADCs, DACs, filters and comparators), common MCU digital functions (timers, counters, PWMs, SPI and UARTs) and communications interfaces (I2C, SPI, USB) (see Figure 1). While many standard MCUs incorporate a certain number of analog functions, the difference with PSoC is that these analog functions offer higher performance: rail-to-rail inputs, sophisticated programmable gain amplifiers and up to 14bit ADCs. PSoC devices in general include up to 32kB of flash memory, 2kB of SRAM, an 8×8 multiplier with 32-bit accumulator, and power and sleep monitoring circuits.
Fig. 1: PSoC block diagram
While the range of functions provided by Actel's programmable Fusion devices is somewhat similar to that of PSoC, the way in which it implements programmability is rather different (see Figure 2). In a PSoC device, the emphasis is on the peripheral functions implemented through programmable digital and analog blocks; the processor core occupies a small portion of the die. In contrast, Fusion devices are based on Actel's ProASIC3 FPGA fabric and incorporate a choice of high-performance processor cores such as the ARM Cortex-M1. Configurable analog functions, such as an ADC and temperature, voltage and current monitors, are then bolted on to the same die as the FPGA fabric.
A Fusion device offers up to 30 high voltage-tolerant analog inputs to enable direct connection to signals from “10.5V to +12V, eliminating the need for signal pre-conditioning through the provision of internal amplifiers. The ADC is configurable and supports resolutions up to 12bits, and sample rates up to 600ksamples/s in 8bit mode. Up to ten high-current drive outputs suit MOSFET control or Pulse-Width Modulation (PWM) functions, such as direct fan control.
Actel also provides a 500mA voltage regulator that could be driven by a hard-wired 40bit Real-Time Counter (RTC). This enables the implementation of a wide variety of power-saving functions, including Sleep, Standby and Periodic Wake-Up modes, and low-speed/low-power operation. The addition of a 1% RC oscillator and a two-pin crystal oscillator circuit, plus integrated PLLs, eliminates the need for external clock sources. On the digital side, the devices sport up to 1MB of embedded flash memory and up to 34kB of SRAM and a 1kbit Flash ROM.
Fig. 2: block diagram of Actel's Fusion mixed-signal FPGA
Both Actel and Cypress provide excellent design tools for system development using their programmable devices. In the case of Cypress' PSoC Designer tool, certain applications (such as capacitive touch sensing and LED driving and control) are catered for specifically. Application design in general is facilitated by an intuitive graphical interface and the use of drop-down menus to allow the quick selection and configuration of interfaces and peripheral components.
Fusion users will use Actel's SmartGen Core Configurator tool, which supports the generation and configuration of analog peripherals. SmartGen is integrated with Actel's Libero integrated development environment for its FPGAs.
Fusion and PSoC are also attractive options for digital designers who need to incorporate some analog functionality, as they can develop their circuits with a single design tool for both digital and analog domains.
While there are some highly flexible and capable programmable analog devices now available, it is important to stress that they are not suited to the highest-performance analog applications. For instance, high-fidelity audio applications typically require 24bit ADC/DAC resolution and sampling rates of 200Msamples/s or more. Such applications, which call for extreme analog capability, expose the limitations of programmable fabrics compared to their hard-wired counterparts. As we saw above, the Fusion devices are capable of a maximum rate of 600ksamples/s.
Where the programmable parts offer the strongest benefit is in applications that draw on their ability to integrate many analog functions that would otherwise be provided by external peripherals. Perhaps the best way to illustrate the potential for integrating analog functions is through real examples. Motor control and power management are two common applications that require a large number of analog inputs – this makes them ideal candidates for the 'mopping up' of analog peripherals that programmable analog devices can perform.
Fusion devices are well suited to power management. Driven from a single 3.3V supply, they eliminate the need for special power-up sequencers. With its built-in voltage and current monitors, Fusion can be configured to monitor and sequence a multi-voltage system for both voltage and current. Some devices, such as large FPGAs, require as many as five voltage rails that need to be ramped up in a particular sequence (e.g. 0.9V, 1.0V, 1.1V, 1.5V, 2.5V and 3V rails). Fusion can ramp those rails following a set timing and sequence to ensure proper power-up for these devices.
The potential for system power control extends beyond this, however, because of the combination of Fusion's integrated temperature monitoring capability and its high-performance processor core. With both on-chip (internal diode) and remote temperature monitoring capabilities, Fusion can flag the temperature and power at programmable thresholds to trigger a warning, turn on a fan or shut down the system. It can also use external temperature sensor inputs to control heating or cooling elements.
Certain applications also require tight control of the temperature of key devices on the board. In this case, Fusion's internal temperature monitor can be used to ensure the devices controlling life-critical systems are operating within their specified temperature range and alert the main controller when this is not the case.
Figures 4 and 5 show the extent to which the design of a power management sub-system can be simplified by using a Fusion FPGA.
Fig. 4: system power management application implemented traditionally with multiple external peripherals
Fig. 5: the same application, implemented within a Fusion FPGA
A similar level of integration can be provided by a PSoC device in a battery-charging application, including a fuel-gauging capability: a traditional implementation using four separate circuits can be integrated within a single device (see Figures 6 and 7). PSoC stores various correction look-up tables and calculations in its non-volatile memory to provide the fuel-gauging capability. When the designer wants to update the algorithm with the latest fuel gauging technology, to add calculations for a new fuel gauge parameter, or include new correction factors, all changes can be made at the level of application firmware, without any need to change the device or its pinout.
Fig. 6: traditional battery charger implementation
Fig. 7: implementing battery-charger circuit in PSoC
Everyone who now uses discrete analog components in mainstream applications needs to consider programmable alternatives as a mechanism for reducing cost, complexity and manufacturing challenges. However, high-performance analog applications, such as audio and video processing, remain better suited to discrete analog.
About the author: Cyril Carsalade is technical solutions manager, Future Electronics (France)
Future Electronics, a broadline technical distributor, provides sales and technical support for Cypress Semiconductor and Actel products throughout Europe (www.futureelectronics.com).