1 / 39

DSP Lecture 01

DSP Lecture 01. Chapter 1 Introduction. Learning Objectives. Why process signals digitally? Definition of a real-time application. Why use D igital S ignal P rocessing processors? What are the typical DSP algorithms? Parameters to consider when choosing a DSP processor.

monte
Download Presentation

DSP Lecture 01

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DSP Lecture 01 Chapter 1 Introduction

  2. Learning Objectives • Why process signals digitally? • Definition of a real-time application. • Why use Digital Signal Processing processors? • What are the typical DSP algorithms? • Parameters to consider when choosing a DSP processor. • Programmable vs ASIC DSP. • Texas Instruments’ TMS320 family.

  3. Present Day Applications • Wireless / Cellular • Voice-band audio • RF codecs • Voltage regulation • HDD • PRML read channel • MR pre-amp • Servo control • SCSI tranceivers DSP:TechnologyEnabler • Consumer Audio • Stereo A/D, D/A • PLL • Mixers • Automotive • Digital radio A/D/A • Active suspension • Voltage regulation • Multimedia • Stereo audio • Imaging • Graphics palette • Voltage regulation • DTAD • Speech synthesizer • Mixed-signalprocessor

  4. Why go digital? • Digital signal processing techniques are now so powerful that sometimes it is extremely difficult, if not impossible, for analogue signal processing to achieve similar performance. • Examples: • FIR filter with linear phase. • Adaptive filters.

  5. Why go digital? • Analogue signal processing is achieved by using analogue components such as: • Resistors. • Capacitors. • Inductors. • The inherent tolerances associated with these components, temperature, voltage changes and mechanical vibrations can dramatically affect the effectiveness of the analogue circuitry.

  6. Why go digital? • With DSP it is easy to: • Change applications. • Correct applications. • Update applications. • Additionally DSP reduces: • Noise susceptibility. • Chip count. • Development time. • Cost. • Power consumption.

  7. Why NOT go digital? • High frequency signals cannot be processed digitally because of two reasons: • Analog to Digital Converters, ADC cannot work fast enough. • The application can be too complex to be performed in real-time.

  8. Real-time processing • DSP processors have to perform tasks in real-time, so how do we define real-time? • The definition of real-time depends on the application. • Example: a 100-tap FIR filter is performed in real-time if the DSP can perform and complete the following operation between two samples:

  9. Real-time processing • We can say that we have a real-time application if: • Waiting Time  0 WaitingTime Processing Time n n+1 Sample Time

  10. Why do we need DSP processors? • Why not use a General Purpose Processor (GPP) such as a Pentium instead of a DSP processor? • What is the power consumption of a Pentium and a DSP processor? • What is the cost of a Pentium and a DSP processor?

  11. Why do we need DSP processors? • Use a DSP processor when the following are required: • Cost saving. • Smaller size. • Low power consumption. • Processing of many “high” frequency signals in real-time. • Use a GPP processor when the following are required: • Large memory. • Advanced operating systems.

  12. What are the typical DSP algorithms? • The Sum of Products (SOP) is the key element in most DSP algorithms:

  13. What Problem Are We Trying To Solve? DSP ADC DAC x Y Digital sampling of an analog signal: Most DSP algorithms can be expressed with MAC: A count Y =  ai * xi i = 1 t for (i = 1; i < count; i++){ sum += m[i] * n[i]; } What does it take to do this fast … and easy?

  14. Fast MAC using only C Multiply-Accumulate (MAC) in Natural C Code for (i = 0; i < count; i++){ sum += m[i] * n[i]; } • Fastest Execution of MACs • The ‘C6x roadmap ... from 200 to 2400 MMACs • Ease of C Programming • Even using natural C, the ‘C6000 Architecture can perform 2 to 4 MACs per cycle • Compiler generates 80-100% efficient code How does the ‘C6000 achieve such performance from C?

  15. 'C6000 Architecture: Built for Speed Memory A0 B0 .D1 .D2 .M1 .M2 .L1 .L2 .. .. A15 B15 .S1 .S2 .. .. A31 B31 Controller/Decoder • ‘C6000 Compiler excels at Natural C • While dual-MAC speeds math intensive algorithms, flexibility of 8 independent functional units allows the compiler to quickly perform other types of processing • All ‘C6000 instructions are conditional allowing efficient hardware pipelining • Instruction set and CPU hardware orthogonality allow the compiler to achieve 80-100% efficiency

  16. Fastest MAC using Natural C Memory A0 B0 .D1 .D2 .M1 .M2 .L1 .L2 .. .. A15 B15 .S1 .S2 .. .. A31 B31 Controller/Decoder float mac(float *m, float *n, int count) { int i, float sum = 0; for (i=0; i < count; i++) { sum += m[i] * n[i]; } … ;** --------------------------------------------------* LOOP: ; PIPED LOOP KERNEL LDDW .D1 A4++,A7:A6 || LDDW .D2 B4++,B7:B6 || MPYSP .M1X A6,B6,A5 || MPYSP .M2X A7,B7,B5 || ADDSP .L1 A5,A8,A8 || ADDSP .L2 B5,B8,B8 || [A1] B .S2 LOOP || [A1] SUB .S1 A1,1,A1 ;** --------------------------------------------------*

  17. 'C6000 System Block Diagram P E R I P H E R A L S External Memory Internal Buses .D1 .D2 Register Set A Register Set B .M1 .M2 .L1 .L2 .S1 .S2 CPU InternalMemory Looking at the internal buses ...

  18. ‘C6000 Internal Buses Program Addr x32 PC Internal Memory Program Data x256 Data Addr - T1 x32 A regs Data Data - T1 x32/64 External Memory Data Addr - T2 x32 B regs Data Data - T2 x32/64 DMA Addr - Read DMA Peripherals DMA Data - Read DMA Addr - Write DMA Data - Write

  19. 'C6000 System Block Diagram InternalMemory External Memory Internal Buses .D1 .D2 Register Set A Register Set B .M1 .M2 .L1 .L2 .S1 .S2 CPU Next, the internal memory ...

  20. ‘C6711 Memory 0000_0000 64KB Internal 128MB External 128MB External 128MB External 128MB External 1 0 3 2 4K ProgramCache 64K Prog / Data(Level 2) 0180_0000 On-chip Peripherals CPU 8000_0000 9000_0000 4K DataCache A000_0000 B000_0000 FFFF_FFFF cache logic cache details

  21. 'C6000 System Block Diagram P E R I P H E R A L S InternalMemory External Memory Internal Buses .D1 .D2 Register Set A Register Set B .M1 .M2 .L1 .L2 .S1 .S2 CPU Looking at each peripheral ...

  22. Hardware vs. Microcode multiplication • DSP processors are optimised to perform multiplication and addition operations. • Multiplication and addition are done in hardware and in one cycle. • Example: 4-bit multiply (unsigned). Hardware Microcode 1011 x 1110 1011 x 1110 Cycle 1 10011010 0000 Cycle 2 1011. Cycle 3 1011.. Cycle 4 1011... 10011010 Cycle 5

  23. Parameters to consider when choosing a DSP processor Parameter TMS320C6211 (@150MHz) TMS320C6711 (@150MHz) Arithmetic format Extended floating point Extended Arithmetic Performance (peak) Number of hardware multipliers Number of registers Internal L1 program memory cache Internal L1 data memory cache Internal L2 cache 32-bit N/A 40-bit 1200MIPS 2 (16 x 16-bit) with 32-bit result 32 32K 32K 512K 32-bit 64-bit 40-bit 1200MFLOPS 2 (32 x 32-bit) with 32 or 64-bit result 32 32K 32K 512K • C6711 Datasheet: \Links\TMS320C6711.pdf • C6211 Datasheet: \Links\TMS320C6211.pdf

  24. Parameters to consider when choosing a DSP processor Parameter TMS320C6211 (@150MHz) TMS320C6711 (@150MHz) I/O bandwidth: Serial Ports (number/speed) DMA channels Multiprocessor support Supply voltage Power management On-chip timers (number/width) Cost Package External memory interface controller JTAG 2 x 75Mbps 16 Not inherent 3.3V I/O, 1.8V Core Yes 2 x 32-bit US$ 21.54 256 Pin BGA Yes Yes 2 x 75Mbps 16 Not inherent 3.3V I/O, 1.8V Core Yes 2 x 32-bit US$ 21.54 256 Pin BGA Yes Yes

  25. Floating vs. Fixed point processors • Applications which require: • High precision. • Wide dynamic range. • High signal-to-noise ratio. • Ease of use. Need a floating point processor. • Drawback of floating point processors: • Higher power consumption. • Can be more expensive. • Can be slower than fixed-point counterparts and larger in size.

  26. Floating vs. Fixed point processors • It is the application that dictates which device and platform to use in order to achieve optimum performance at a low cost. • For educational purposes, use the floating-point device (C6711) as it can support both fixed and floating point operations.

  27. General Purpose DSP vs. DSP in ASIC • Application Specific Integrated Circuits (ASICs) are semiconductors designed for dedicated functions. • The advantages and disadvantages of using ASICs are listed below: Advantages Disadvantages • High throughput • Lower silicon area • Lower power consumption • Improved reliability • Reduction in system noise • Low overall system cost • High investment cost • Less flexibility • Long time from design to market

  28. General-purpose DSP market in 2003

  29. System Considerations Performance Interfacing Power Size • Ease-of Use • Programming • Interfacing • Debugging • Integration • Memory • Peripherals • Cost • Device cost • System cost • Development cost • Time to market

  30. Texas Instruments’ TMS320 family C5000 C6000 Lowest Cost Control Systems • Motor Control • Storage • Digital Ctrl Systems Efficiency Best MIPS per Watt / Dollar / Size • Wireless phones • Internet audio players • Digital still cameras • Modems • Telephony • VoIP Performance & Best Ease-of-Use C2000 • Multi Channel and Multi Function App's • Comm Infrastructure • Wireless Base-stations • DSL • Imaging • Multi-media Servers • Video • Different families and sub-families exist to support different markets.

  31. Texas Instruments’ TMS320 family TMS320C64x: The C64x fixed-point DSPs offer the industry's highest level of performance to address the demands of the digital age. At clock rates of up to 1 GHz, C64x DSPs can process information at rates up to 8000 MIPS with costs as low as $19.95. In addition to a high clock rate, C64x DSPs can do more work each cycle with built-in extensions. These extensions include new instructions to accelerate performance in key application areas such as digital communications infrastructure and video and image processing. TMS320C62x: These first-generation fixed-point DSPs represent breakthrough technology that enables new equipments and energizes existing implementations for multi-channel, multi-function applications, such as wireless base stations, remote access servers (RAS), digital subscriber loop (xDSL) systems, personalized home security systems, advanced imaging/biometrics, industrial scanners, precision instrumentation and multi-channel telephony systems. TMS320C67x:  For designers of high-precision applications, C67x floating-point DSPs offer the speed, precision, power savings and dynamic range to meet a wide variety of design needs. These dynamic DSPs are the ideal solution for demanding applications like audio, medical imaging, instrumentation and automotive.

  32. C6000 Roadmap Floating Point Multi-core C64x™ DSP 1.1 GHz 2nd Generation C6416 C6414 C6415 DM642 C6412 C6411 HighestPerformance Object Code Software Compatibility Performance 1st Generation C6713 C6203 C6202 C6204 C6205 C6201 C62x/C64x/DM642: Fixed Point C67x: Floating Point C6211 C6701 C6712 C6711 Time

  33. C67x 3 GFLOPS and beyond C6701 C6711 1 GFLOPS C6712 Performance 900 MFLOPS 600 MFLOPS C33 C31 C32 C30 150 MFLOPS Time ’C6000 Floating-Point

  34. TI Floating-Point Innovation TI Floating Point - A History of Firsts: First commercially-successful floating-point DSP ‘C30 (1987) First floating-point DSP with multiprocessing support ‘C40 (1991) First $10 floating-point DSP ‘C32 (1995) First 1-GFLOPS DSP ‘C6701 (1998) First $5 floating-point DSP ‘C33 (1999) First 2-level cache floating-point DSP ‘C6711 (1999) First to offer 600 MFLOPS for under $10 ‘C6712 (2000)

  35. Useful Links • Selection Guide: • \Links\DSP Selection Guide.pdf \Links\DSP Selection Guide.pdf (3Q 2004) \Links\DSP Selection Guide.pdf (4Q 2004)

  36. Looking for Literature on DSP? • “A Simple Approach to Digital Signal Processing”by Craig Marven and Gillian Ewers; ISBN 0-4711-5243-9 • “DSP Primer (Primer Series)”by C. Britton Rorabaugh; ISBN 0-0705-4004-7 • “Understanding Digital Signal Processing”by Richard G. Lyons;Prentice Hall; 2nd edition (March 15, 2004) ISBN 0-1310-8989-7 • “DSP First : A Multimedia Approach”James H. McClellan, Ronald W. Schafer, and Mark A. Yoder;ISBN 0-1324-3171-8

  37. “Digital Signal Processing Implementation using the TMS320C6000TM DSP Platform” by Naim Dahnoun; ISBN 0201-61916-4 • “C6x-Based Digital Signal Processing” by Nasser Kehtarnavaz and Burc Simsek;ISBN 0-13-088310-7 • “Real-Time Digital Signal Processing: Based on the TMS320C6000” by Nasser Kehtarnavaz; Newnes; Book & CD-Rom (July 14, 2004) ISBN 0-7506-7830-5 • “Digital Signal Processing and Applications with the C6713 and C6416 DSK (Topics in Digital Signal Processing)” Wiley-Interscience; Book&CD-Rom (December 3, 2004) by Rulph Chassaing; ISBN 0-4716-9007-4 Looking for Books on ‘C6000 DSP?

  38. “Real-Time Digital Signal Processingfrom Matlab to C with the TMS320C6x DSK” by Thad B. Welch; Cameron Wright; Michael Morrow; Book & CD-Rom (2006) ISBN 0-8493-7382-4 Looking for Books on ‘C6000 DSP?

  39. Chapter 1 Introduction - End -

More Related