|
HOUSTON (April 1, 2002) - Accelerating the software development process for designers of DSP-based applications, Texas Instruments Inc today introduced the first and only DSP software reference frameworks. The design-ready reference frameworks are getting-started solutions for designers in the early stages of application development, featuring easy-to-use source code that is common to many applications. This empowers development teams with fast application development ramp and a structure to easily integrate custom or eXpressDSP compliant algorithms into their design. For more information, please see www.dspvillage.ti.com/rframeworks
By implementing TI's reference frameworks, adaptable to a variety of customer applications, TI has eliminated much of the initial low-level design decisions for the developer allowing them more time to focus on the code that truly differentiates their products. TI has analyzed common customer requirements such as data rates, the number of algorithms, number of channels, memory constraints, static or dynamic configuration and other characteristics, and used this information to optimize the three reference frameworks announced today. Designers can choose from TI's three reference frameworks for the one that best meets their system needs.
Designers will take these frameworks and populate them with any of the more than 500 available eXpressDSP-compliant algorithms available from TI third parties or they can use their own algorithms, creating specific applications for a range of end-equipments such as broadband, voice, video imaging, biometrics and wireless infrastructure.
"In talking to designers, we discovered that whether you're building an MP3 player or a fingerprint recognition system, there are many similarities in the system design," said Steve Blonstein, technical director software development systems, TI. "Designers are spending a lot of valuable time developing generic resource management code. The new frameworks package that code for designers, allowing them to increase their productivity and concentrate on code that adds real value to their applications."
Reference frameworks available today from Web
TI's new Reference Frameworks include:
- The "Compact" framework (RF1) targeted at portable applications, has been highly tuned for systems with a very limited footprint, and is suitable for compact, low cost products such as those on the TMS320C5000(tm) DSP platform. Applications that will benefit from this framework include digital scanners, smart toys and low-power pay phones.
- The "Flexible" framework (RF3) is more flexible because it has the ability to be used in a wide spectrum of systems that range from a single channel, single algorithm configuration to a more complicated multi-channel, multi-rate, multi-algorithm system. It is well suited for a number of TI DSPs across both the low-power C5000(tm) DSP platform and the high performance TMS320C6000(tm) DSP platform. Designers of hands free voice kits, multi-channel phone systems and digital video cameras will benefit from this framework.
- The "Extensive" framework (RF5), scheduled to be available in the second half of 2002, is for system designers who are looking for extensive flexibility. It supports static object creation, plus both static and dynamic memory management. The Extensive framework supports up to a very large number of algorithms and channels, plus allows both single-rate and multi-rate operation.
- "These products are unique in the DSP space and are made possible by TI's commitment to developing a standard operating system for its devices," said Will Strauss, president, Forward Concepts. "The development and adoption of the eXpressDSP strategy has continued to distinguish TI in terms of easily getting developers started and enabling them to get their products to market."
The Compact (RF1) and Flexible frameworks (RF3) are licensed royalty-free with every TMS320 device and are ready to implement with Code Composer Studio v2.1 on TI DSPs or DSP Starter Kits (DSKs). Each framework includes:
- Design-ready, tested reusable C-language source code
- Simple algorithms that act as placeholders for any of the hundreds of eXpressDSP-compliant TI third party algorithms or in-house proprietary algorithms
- Detailed memory and instruction cycle budgets
- An adaptation guide for adding algorithms, channels and drivers
- An API reference manual to document the functions of new modules
- Consistent documentation in application notes
"After working with TI's Flexible framework (RF3) we have found that we can quickly build applications without going back to the drawing board for each new development. This has drastically improved our productivity when integrating our algorithms into various platforms," said Scott Kroeker, director of business development, Imagine Technologies. "We have several customers using our DSP demos based on the Flexible framework (RF3) design and can now offer our own customizable solution for audio, full-duplex speakerphones and VoIP applications such as IP phones."
TI's reference frameworks enable true ease of design for both seasoned DSP designers and those using DSP for the first time. Designers who are new to DSP can access TI's "Getting Started" Web site at http://www.dspvillage.ti.com/cocostu to help them quickly and easily begin their real-time signal processing design. Highly tuned, application-optimized software frameworks and algorithms are also available from TI's network of third parties.
Pricing and availability
The Compact (RF1) and Flexible (RF3) frameworks are available today and can be downloaded from TI's Web site at www.dspvillage.ti.com/rframeworks, with the Extensive framework (RF5) scheduled to be available in the second half of 2002. Additional frameworks are in development. The Compact and Flexible frameworks are licensed royalty free for all TMS320 devices.
|
With this announcement, TI discusses three reference frameworks, two of which are now available for free downloading. The third is slated for delivery later this year, and it's possible that TI might charge a small amount of money for it because of the amount of code it supplies. Whether you pay anything or not, what exactly are you getting? Indeed, "framework" is one of those vague words that can mean whatever you want it to. In terms of programming a DSP, it could mean a block diagram, it could mean a code skeleton with empty function calls, or it could mean a complete development environment.
I would describe what TI has supplied here as a collection of functional bare-bones sample programs along with detailed instructions that show engineers how they can quickly enhance that skeleton. The firm also supplies the tools and algorithms that make it a quick job to do so. You don't have to get slogged down in programming low-level system-management tasks and instead can work with function blocks that solve your unique task. The fact that I dub them sample programs implies that they can actually run and indeed they can, however, to do so they require some specific hardware. And while you can modify the C code to run on a number of devices, these sample programs compile and run directly on specific DSKs (DSP Starter Kits) from TI.
But first let's return to a more general investigation of these frameworks. How do they actually help? What's really new here - can't an applications engineer just as easily help you make certain basic design decisions and recommend a specific DSP?
These frameworks, says Steve Blonstein, technical director of software development systems for TI, are particularly useful for engineers who are familiar with general-purpose processors (GPPs) but who are moving into the DSP world. He notes that applications in the GPP world tend to be bursty with long periods of idle times between tasks. On the other hand, for many DSP-based applications the idea is to get the system revved up and then run it flat out all the time. They come to a DSP for raw performance, but because of their background these engineers often aren't in a position to make the best design decisions. "Building a DSP system is similar to working on a sports car," explains Blonstein. "When you're tuning a sports car for peak performance, just one or two wrong tweaks can have dramatic negative effects." That's just where the frameworks come in; they take care of many of the low-level system management tasks for the programmer so you don't have to worry about such system tweaks.
For instance, in the past an inexperienced DSP engineer might spend hours trying to get 1 channel of digital audio to work. With the frameworks, the decision is simpler - simply a question of how many channels do I need? And the engineer chooses from algorithm modules that handle one, two, three or even more channels.
Now seems like a good time to summarize some key features of the three frameworks that TI has announced. The "Compact" framework (RF1) handles from one to three I/O channels and is intended for those applications that must fit in the smallest memory footprint. In fact, the total RAM needed, less algorithms but including the BIOS plus the algorithm containers and some glue code, is 3.5k words. The RF3 (aka the "Flexible' framework) increases the number of I/O channels to more than ten but the footprint increases to 11k words. The RF5 ("Extensive") framework has a footprint of 25k words, but with that you get more than 100 channels plus dynamic memory reallocation, multitrate operation, control functionality, thread preemption/blocking and DSP-GPP functionality. Note that this latter one is not yet shipping, and because it includes all this functionality, TI is considering putting a price tag on it although no decision has been finalized.
As you can see, there are tremendous benefits to having these prewritten simple applications. However, it's also reasonable to expect that because they can do so much, they must be tied to some very specific system configuration. That's indeed the case.
First, these frameworks make three major assumptions about the underlying system infrastructure: first, that you run the application under TI's DSP/BIOS; second, that you are developing the application with Code Composer Studio; third, that any modules you plug into the framework adhere to the TMS320 DSP algorithm standard. There are different BIOS scheduling schemes used based on the reference design.
Further, each framework is targeted at a specific chip or device families depending on the size of the application. For instance, RF1 (the "Compact" framework) is targeted at the TMS3205402; RF3 is intended to work with the C54X, C55X, C62X, C67X, C69X, while the RF5 fits on the high-end processors such as the C62X, C64X and C67X.
Finally, each framework is written to take advantage of the hardware features of specific DSKs or evaluation modules. For instance, the RF1 Compact framework is intended to support only the TMS3205402 DSK directly. In other words, you can compile and run the RF1 code directly on the 5402 DSK. However, there's nothing to stop you from taking the C code and porting it to another platform or a DSK for another processor.
Note that none of the already announced frameworks handle dynamic object creation, so that's the kind of capability you might expect in future frameworks and in fact it's on the future roadmap for RF6 or RF7.
And how many more frameworks might we expect to see? TI realizes that these three frameworks won't cover all possible bases, but they also don't want to confuse engineers with too many frameworks and create too much granularity. The total number you can eventually expect to see long term might range between five and ten, says Blonstein. Already in the works are RF4 (which is designed for systems that use both a DSP and a GPP, such as an ARM, MIPS or PowerPC type devices), and the RF2 (intended for compact, high-density applications with more than 100 channels).
|