Expand
Expand
 
  • My Products
  • No Products in your history
  • My Technical Documents
  • No documents in your history
  • My Searches
  • No Search in your history

Digital Signal Processors

Getting Started with Digital Signal Processing

Picking the right digital signal processing architecture depends upon your system & design needs. What are the tradeoffs? What are the advantages?

Digital Signal Processors (DSP) | ARM & General-Purpose Processors (GPP) | Microcontrollers (MCU) | Application-Specific Integrated Circuits (ASIC) | Field Programmable Gate Array (FPGA) | Application-Specific Standard Products (ASSP)

  • Digital signal processing (DSP) has become the foundation of the digital revolution. You'll find digital signal processing happening at the heart of cell phones, audio and video players, digital cameras, telephony infrastructure, motor control systems, and even biometric security equipment. Fundamentally, a majority of digital signal processing functions multiply two series of numbers and sum the results:

    result = x1 * c1 + x2 * c2 + x3 * c3 …xn * cn

    DSPs are optimized for signal processing applications compared to general purpose processors (GPP). DSPs offer many architectural features that actually reduce the number of instructions necessary for efficient signal processing. In other words, comparing performance is much more than counting instructions. What you really want to measure is how much work is actually done. For example, the VLIW architecture of TI's C64x generation of DSPs can initiate up to 8 operations each cycle clock. Integrated specialized compute engines increase performance by executing complex functions in hardware. DSPs are also optimized for specific applications by providing a balanced mix of performance, integrated peripherals, and on-chip memory.

    The programmable flexibility of DSPs enables developers to implement complex algorithms in software. Not only can a DSP support a video codec like MPEG-2 and easily handle different resolutions with a simple software upgrade, it can implement emerging codecs and standards as they arise without a hardware redesign. DSPs are a great choice when low power, high performance, feature flexibility and time to market are key concerns.

    This section provides overviews of the KeyStone Multicore Processors, C6000 Multicore DSPs, fixed & floating-point C6000™ Power Optimized DSPs, C5000™ Ultra Low Powere DSPs, DaVinci™ video processors & OMAP™ applications processor platforms and provides access to the cross-platform DSP Selection Tool to help identify your optimal device.

    Top of Page

  • ARM & General purpose processors (GPP) offer programmability and therefore flexibility. However, many non-signal processing applications such as email, database management, and word processing don't require extensive use of multiplication. In order to keep silicon costs down for these applications, GPPs typically offer a moderately efficient multiplication instruction that takes several cycles to complete. In addition, adding the result of each multiplication requires another instruction. As result, this makes them less than ideal for signal processing applications. ARM processors are often utilized to provide a rich human machine interface and to realize the benefits of running advanced operating systems such as Linux and WinCE. To get the best of both worlds, general purpose ARM microprocessors (ex: ARM9, Cortex A-8) are often combined with DSPs for video, multimedia and industrial applications.


  • Top of Page

  • Microcontrollers (MCU) are programmable processors and thus can utilize software programmability to achieve different functions and features, saving time to market versus similar hard-coded logic implementations. MCU has a broad product, toolset and value web, although it is not a strong match for real time-applications. Compared to a RISC/GPP, the MCU has lower mathematical processing resources and typically slower operating frequency. MCU typically has a small chip size and thus a relatively low price. Typically MCUs are general in nature, making them less power efficient than DSPs, ASSPs or what configurable should be able to achieve. However, they typically use less silicon resources than RISC or FPGAs, rendering them more power-efficient than those alternatives. MCU programmability of existing chips allows for faster development cycles for the desired function, versus having to develop application-specific chips or ASICS. With proper use of high-level programming and/or use of standard code modules, development time can be significantly reduced, saving development cost. MCU is a programmable processor and thus can utilize software programmability to achieve different functions and features, saving time versus similar hard coded logic implementations.

    Top of Page

  • Application-Specific Integrated Circuits (ASIC) Designing their own chip is a route that few developers take on lightly. While ASICs give the best performance for specific applications, they are limited in their flexibility. If any design parameters change, the entire ASIC must be respun, a process that consumes months and potentially hundreds of thousands of dollars in NRE (non-reoccurring engineering) costs. Given the complexity of designing with ASICs, the lack of adaptability to changing markets, and slow time-to-market, ASICs are most often a less than ideal choice.
  • Top of Page

  • Field Programmable Gate Array (FPGA) devices provide performance close to ASICs without the delays and costs associated with respinning an ASIC. FPGAs, however, are as complex to design with as ASICs, and even small changes can result in the need to completely relayout a design. FPGA devices also come with a price premium that makes them unviable in high volume applications. In certain applications, FPGA can be used to complement the DSP.
  • Top of Page

  • Application-specific standard products (ASSP) are ASICs that can serve a wide market. Such devices include dedicated processing engines such as MPEG-2 decoders or communications links such as USB. While these devices are low in cost because of the high market volume they typically experience, they still lack flexibility. For example, an MPEG-2 ASSP will only support a limited range of display resolutions; to introduce a new resolution requires a new ASSP and accompanying hardware redesign.

Top of Page

Step-by-Step with Digital Signal Processing: Starting Your Design

Key design considerations for the various architectures and technologies include: programmability; throughput; on-chip memory; power; integration; real-time responsiveness; and performance.

Since the requirements and design constraints of a portable MP3 player are quite different from those of a medical scanner, product design begins with determining what customer needs to address, and what technical hurdles must be to overcome to do so. How do you get going? What resources are available?

This section provides quick access to the specific pages within each product section as well as some simple, high level step-by-step instructions and links to various tools & software, system block diagrams and design support available for your particular designing needs.

Step One: Processor Selection | Step Two: Evaluation of Technology and Tools | Step Three: Initial Development | Step Four: Product Development

Step One: Processor Selection – Determine your system tradeoffs, and identify which processor will best suit your product design.

Selecting Your Processor – If you have decided that that you need the flexibility, programmability, and quality that digital signal processors or arm microprocessors enable, but are not sure which processor will best suit your application.

Access the DSP Selection Tool to help identify your optimal device.

Go to individual devices for Datasheets, Application Notes, User Guides, related Tools & Software, etc.

Back to Beginning of Step-by-Step

Step Two: Evaluation of Technology and Tools – Successfully introducing a product to market requires control of costs and accurate market timing. As a result, the success of any complex engineering design project depends upon the quality and breadth of the development tools available. In this stage, you will evaluate your device as a possible processor solution, and evaluate development tools.

Resources include:
  • Tools & Software
    • Runtime Software & SDKs for DSPs
    • Development Tools including the free FET version of TI's Code Composer Studio™ IDE
    • Starter & Experimenter Boards - including the USB sticks, can have you building applications in less than an hour out of the box. Designed with a variety of peripherals and open on-board interfaces, many seamlessly interface with a variety of evaluation modules, integrating complementary technologies such as wireless interfaces and LAN connectivity. For DSP based kits, full integration with Code Composer Studio means DSP/BIOS™ Real-Time Kernel, and all necessary Device Drivers are already in place. Low-profile pods and long, flexible cables make for a painless transition to a developer's own prototype hardware. The kits are low-cost, entry-level tools starting at $49 USD. In addition there are community based boards from a variety of organizations based on TI technology that let you take advantage of open source Linux and a host of available software to evaluate the processors and discuss designs with a vibrant community.
  • Technical Documentation - A vast library of various items including:
    • Datasheets
    • Application Notes
    • User Guides
    • Simulation Models
  • Online Training – Pertinent free courses (available 24/7) assist in a broad range of categories, including:
    • Signal Processing Applications
    • Silicon Products
    • Tools and Software
    • Applications

Back to Beginning of Step-by-Step

Step Three: Initial Development – At this stage, you have already decided which processor to use, but beta boards have not been built.

Key tools include:
  • Code Composer Studio IDE – Offering robust, mature core functions with easy-to-use configuration and graphical visualization tools for faster system design, CCStudio™ IDE is designed for all stages of product development. Code Composer Studio IDE pricing starts at $495 USD.
  • Development Boards / Evaluation Modules – A wide variety of development boards, development kits and EVMs are available from TI and TI’s Developer Network. Designed for use in this initial stage of system development, and up to production, EVMs offer platform-specific hardware and software tools to begin any high performance or low power design. Pricing ranges from $295 USD to more than $1000 USD.
  • Development Platforms – Combining production-ready application-specific software and hardware, and reducing design complexity, Development Platforms allow focus on system differentiation. Development Platforms are available for a wide variety of applications including Video and Imaging, Audio, Telecommunications and other DSP or ARM-based systems. Pricing ranges from $245 USD to several thousand dollars.
Additional resources for Initial Development include:
  • Seminars, One-Day and Multi-Day Workshops – Face-to-face training ranging from high-level overview Seminars, to deep-dive hands-on programming Workshops with TI technical experts.
  • TI's Design Network – Products, tools, software and consulting services offered by TI’s Design Network companies.

Back to Beginning of Step-by-Step

Step Four: Product Development – In the Product Development stage, you need full development capabilities – including debugging of product hardware and software. Tools designed to meet those needs include:

  • Code Composer Studio IDE – Developers spend about 60% of their development time in the debug phase, alone. Mentioned in Step Two (above), CCStudio Integrated Development Environment supports you throughout production – including debugging and tuning your system. Code Composer Studio IDE pricing starts at $495.
  • Emulators / Analyzers – TI provides XDS510™ – and XDS560™ – class emulators that support real-time JTAG scan-based emulation with product support across the complete line of TI DSPs. These emulators are tightly integrated with the Code Composer Studio debugger interface, to make all of TI’s real-time emulation control and visualization capabilities available to you. TI Third Parties provide logic analyzers, hardware testing equipment, and a wide array of emulators that support different host I/O interfaces, including USB, Ethernet, PCI, parallel port, PCMCIA, and ISA bus. TI’s XDS emulator pricing starts at $1500 USD.
TI offers a full range of technical documentation including application notes and user guides to aid design. In addition, visit community.ti.com for design support. Get answers from your peers and TI experts to speed your way.

Back to Beginning of Step-by-Step