By BDTI, 8/22/2007
Texas Instruments recently introduced what it calls "the first floating-point digital signal controller (DSC)." (The term DSC is relatively new in the industry; it refers to a low-cost embedded processor that combines DSP and microcontroller characteristics.) The new chip family, the TMS320F2833x, is based on the company's mature 32-bit fixed-point microcontroller architecture, the 'C28x, but adds a floating-point unit that can perform (among other operations) one 32x32-bit floating-point multiplication per cycle.
Initially the family will include three members. The "F" in the name indicates that the chips contain flash memory (up to 512 KB); on-chip peripherals include a 6-channel DMA controller, a 16- or 18-channel PWM controller, and a 12-bit A/D converter. 'F2833x chips are expected to sample in September 2007, with prices ranging from $13 - $20 in 1K quantities. The chips target digital motor control, power supply, sensor, and automotive applications. The block diagram for an 'F2833x family member is shown in Figure 1.

Figure 1: TMS320F28335 block diagram. Diagram courtesy of TI.
The new chips operate at up to 150 MHz, which is the same maximum clock rate as the fixed-point 'C28x. TI claims, however, that the new chips offer a 50% performance boost over the 'C28x. The reasoning here is that the increased dynamic range associated with using a floating-point data type reduces the number of instructions needed to implement many algorithms. For example, with floating-point data, there's no need to perform signal scaling, and no need to check for overflows.
The actual speedup will vary depending on the specific application, but TI's 50% figure is a reasonable one—and that's a significant bump up. Plus, using a floating-point processor has another big advantage: it means that algorithms originally developed using floating-point data (on a PC using MATLAB, say) won't need to be converted to fixed-point implementations in the final product. As we've written about before, the float-to-fixed conversion process is not simply a matter of changing data types; it typically requires a complete overhaul of the software and tends to be time-consuming and error prone.
So if floating-point is all that, why aren't all DSCs using it?
In signal processing applications, floating-point processors are much less common than fixed-point processors because their relatively complex arithmetic circuitry tends to make them more expensive, more power-hungry, and less speedy than fixed-point chips. Motor control applications typically don't need particularly fast processors, but they do tend to be highly cost- and (sometimes) power-sensitive. For these reasons, floating-point processors are quite rare in this domain. Furthermore, for cost, speed, and power reasons, many low-cost fixed-point microcontrollers and DSCs use 16-bit data. The fixed-point 'C28x is an exception; it uses 32-bit data. This difference made it relatively straightforward for TI to add 32-bit floating-point capabilities. As you'd expect, the 'F2833x is binary compatible with the 'C28x, though of course 'C28x software that's run on the 'F2833x as-is won't see any performance improvement.
Competitors to the 'F2833x include DSCs and microcontrollers from Microchip, Freescale, and Infineon. The closest match is Infineon's TC11xx, a 150 MHz, 32-bit microcontroller with a floating-point unit, based on the TriCore architecture. (This chip is probably the true first floating-point DSC, though Infineon doesn't refer to it as such.) Microchip's dsPIC DSC family and Freescale's DSP5685x DSC family both use 16-bit fixed-point data and have lower top clock speeds than the 'F2833x (40 MHz and 120 MHz, respectively). But they're also a lot cheaper—both start at around $2-3 in 10K quantities. (These chips are comparable to TI's 16-bit, 40 MHz 'C24x microcontroller, which has similar pricing.)
The 'F2833x DSC is not nearly as fast as mainstream floating-point DSPs, such as TI's own 350 MHz, dual-MAC 'C67x and Analog Devices' 400 MHz, dual-MAC SHARC family. It's not necessarily cheaper, either—in 10K quantities, a low-end 'C67x costs about $5.75, while a low-end SHARC costs about $5. But these processors don't provide the on-chip integration needed for motor control and other target DSC applications—and their architectures are significantly more complicated and harder to program.
TI's combination of floating-point data type and control-oriented peripherals will likely appeal to many system developers who need a processor that lies between the low-end fixed-point DSCs and the higher-end, more-complex floating-point DSPs. Though the $13-$20 price tag will rule these chips out for very cost-sensitive apps, we expect there to be plenty of others that will want to use that additional horsepower to create more efficient motors, add new features, or conserve energy.