Application of DSP On Tms320c6713 DSK
Application of DSP On Tms320c6713 DSK
Application of DSP On Tms320c6713 DSK
A PROJECT REPORT Submitted in partial fulfillment of the requirements for the award of the degree Of
Department of Electronics and Communication Engineering National Institute Of Technology, Rourkela Pin-769008, Orissa, INDIA 2007 2008
Department of Electronics and Communication Engineering National Institute Of Technology, Rourkela Pin-769008, Orissa, INDIA 2007 2008
CERTIFICATE
This is to certify that the thesis entitled, Application of digital signal processing on TMS320C6713 DSK submitted by Sri Manas Murmu in partial fulfillments for the requirements for the award of Bachelor of Technology Degree in Electronics & Instrumentation Engineering at National Institute of Technology, Rourkela (Deemed University) is an authentic work carried out by him under my supervision and guidance.
To the best of my knowledge, the matter embodied in the thesis has not been submitted to any other University / Institute for the award of any Degree or Diploma.
Date:
Prof. S. K. PATRA Dept. of Electronics & Communication Engg National Institute of Technology Rourkela - 769008
ACKNOWLEDGEMENT
We place on record and warmly acknowledge the continuous encouragement, invaluable supervision, timely suggestions and inspired guidance offered by our guide Prof. S.K.Patra, Professor, Department of Electronics and Communication Engineering, National Institute of Technology, Rourkela, in bringing this report to a successful completion.
We are grateful to Prof. G.Panda, Head of the Department of Electronics and Communication Engineering, for permitting us to make use of the facilities available in the department to carry out the project successfully. Last but not the least we express our sincere thanks to all of our friends who have patiently extended all sorts of help for accomplishing this undertaking.
Finally we extend our gratefulness to one and all who are directly or indirectly involved in the successful completion of this project work. .
ABSTRACT
Signal processing concepts are often presented in a very mathematical and abstract format. This can discourage students from further exploration because of the apparent irrelevance to real world problems. A common solution is to provide a hands-on laboratory to illustrate applications of abstract concepts. However, hardware-based digital signal processing (DSP) laboratories which are typically incorporated into senior-level signal processing courses usually emphasize programming the DSP chip rather than exploring algorithms and applications.
This paper is an report on the familiarization process of the TMS320C6713 and the implementation of digital signal processing projects. The Texas Instruments C6713 DSK platform, which can be programmed using SIMULINK (The Mathworks, Inc.). This gives us added advantage of easily writing codes on MATLAB and implementing it on the DSP processors.
ii
TABLE OF CONTENTS
Acknowledgements Abstract Table of Contents List of Figures and Tables Chapter 1: Introduction 1.1 Introduction 1.2 History, Development, and Advantages of TMS320 DSPs 1.3 Difference between DSPs and other Microprocessors 1.4 Important feature of DSPs 1.5 Typical Applications for the TMS320 Family i ii iii v 1 2 3 3 4 7
Chapter 2: TMS320C6713 DSK 2.1 Introduction 2.2 Diagrams of TMS320C6713 DSK 2.3 Features 2.4 Functional Overview 2.5 Architecture 2.6 Peripherals of TMS320C6713
8 9 9 10 11 11 15
Chapter 3: Programming the TMS320C6713 3.1 Introduction 3.2 Power On Self Test (POST) 3.3 Code Composer Studio 3.4 Steps involved in programming 3.5 Matlab Simulink Modelling 3.6 Problems faced during the implementation of Chassaing/kehtarnavaz examples
21 22 22 23 26 30 31
iii
Chapter 4: Programming the TMS320C6713 4.1.Sinegraph 4.2.Create a project in CCS 4.3.Building and running of project
33 34 37 37
Chapter 5: Conclusion
40
References
42
iv
Chapter 1
INTRODUCTION
1.1. Introduction
Digital signal processing is one of the core technologies, in rapidly growing application areas, such as wireless communications, audio and video processing and industrial control. The number and variety of products that include some form of digital signal processing has grown dramatically over the last few years. DSP has become a key component, in many of the consumer, communications, medical and industrial products which implement the signal processing using microprocessors, Field Programmable Gate Arrays (FPGAs), Custom ICs etc. Due to increasing popularity of the above mentioned applications, the variety of the DSP-capable processors has expanded greatly. DSPs are processors or microcomputers whose hardware, software, and instruction sets are optimized for high-speed numeric processing applications, an essential for processing digital data, representing analog signals in real time. The DSP processors have gained increased popularity because of the various advantages like reprogram ability in the field, cost-effectiveness, speed, energy efficiency etc. Digital signal processors such as the TMS320C6x (C6x) family of processors are like fast special-purpose microprocessors with a specialized type of architecture and an instruction set appropriate for signal processing. The C6x notation is used to designate a member of Texas Instruments (TI) TMS320C6000 family of digital signal processors. The architecture of the C6x digital signal processor is very well suited for numerically intensive calculations. Based on a very-long-instruction-word (VLIW) architecture, the C6x is considered to be TIs most powerful processor. Digital signal processors are used for a wide range of applications, from ommunications and controls to speech and image processing. The general-purpose digital signal processor is dominated by applications in communications (cellular). Applications embedded digital signal processors are dominated by consumer products. They are found in cellular phones, fax/modems, disk drives, radio, printers, hearing aids, MP3 players, high-definition television (HDTV), digital cameras, and so on. These processors have become the products of choice for a number of consumer applications, since they have become very cost-effective.They can handle different tasks, since they can be reprogrammed readily for a different application.
DSP techniques have been very successful because of the development of low-cost software and hardware support. For example, modems and speech recognition can be less expensive using DSP techniques. DSP processors are concerned primarily with real-time signal processing. Realtime processing requires the processing to keep pace with some external event, whereas non-real-time processing has no such timing constraint.The external event to keep pace with is usually the analog input.Whereas analog-based systems with discrete electronic components such as resistors can be more sensitive to temperature changes, DSP-based systems are less affected by environmental conditions. DSP processors enjoy the advantages of microprocessors. They are easy to use, flexible, and economical.
Advantages of DSPs over Analog Circuits Can implement complex linear or nonlinear algorithms. Can modify easily by changing software. Reduced parts count makes fabrication easier. High reliability
1.3. DifferencebetweenDSPsandOtherMicroprocessors
Over the past few years it is seen that general purpose computers are capable of performing two major tasks. (1) Data Manipulation, and (2) Mathematical Calculations All the microprocessors are capable of doing these tasks but it is difficult to make a device which can perform both the functions optimally, because of the involved technical trade offs like the size of the instruction set, how interrupts are handled etc. As a broad generalization these factors have made traditional microprocessors such as Pentium Series, primarily directed at data manipulation. Similarly DSPs are designed to perform the mathematical calculations needed in Digital Signal Processing,
Data manipulation involves storing and sorting of information. For instance, a word processing program does a basic task of storing, organizing and retrieving of the information. This is achieved by moving data from one location to another and testing for inequalities (A=B, A<B etc.). While mathematics is occasionally used in this type of application, it is infrequent and does not significantly affect the overall execution speed. In comparison to this, the execution speed of most of the DSP algorithms is limited almost completely by the number of multiplications and additions required. In addition to performing mathematical calculations very rapidly, DSPs must also have a predictable execution time, [1]. Most DSPs are used in applications where the processing is continuous, not having a defined start or end. The cost, power consumption, design difficulty etc increase along with the execution speed, which makes an accurate knowledge of the execution time, critical for selecting proper device, as well as algorithms that can be applied. DSPs can also perform the tasks in parallel instead of serial in case of traditional microprocessors.
1.4.1 MACsandMultipleExecutionUnits
The most commonly known and used feature of a DSP processor is the ability to perform one or more multiply-accumulate operation (also called as MACs) in a single instruction cycle. The MAC operation is useful in DSP algorithms that involve computing a vector dot product, such as digital filters, correlation, and Fourier transforms. The MAC operation becomes useful as the DSP applications typically have very high computational requirements in comparison to other types of computing tasks, since they often must execute DSP algorithms (such as FIR filtering) in real time on lengthy segments of signals sampled at 10-100 KHz or higher. To facilitate this DSP processors often include several independent execution units that are capable of operating in parallel.
1.4.2 EfficientMemoryAccess
DSP processors also share a feature of efficient memory access i.e. the ability to complete several accesses to memory in a single instruction cycle. Due to Harvard architecture in DSPs, i.e. physically separate storage and signal pathways for instructions and data, and pipelined structure the processor is able to fetch an instruction while simultaneously fetching operands and/or storing the result of previous instruction to memory. In some recently available DSPs a further optimization is done by including a small bank of RAM near the processor core, often termed as L1 memory, which is used as an instruction cache. When a small group of instructions is executed repeatedly, the cache is loaded with these instructions thus making the bus available for data fetches, instead of instruction fetches.
1.4.3 CircularBuffering
The need of processing the digital signals in real time, where in the output (processed samples) have to be produced at the same time at which the input samples are being acquired, evolves the concept of Circular Buffering. For instance this is needed in telephone communication, hearing aids, radars etc. Circular buffers are used to store the most recent values of a continually updated signal. Circular buffering allows processors to access a block of data sequentially and then automatically wrap around to the beginning address exactly the pattern used to access
5
coefficients in FIR filter. Circular buffering also very helpful in implementing first-in, first-out buffers, commonly used for I/O and for FIR delay lines
1.4.4 DedicatedAddressGenerationUnit
The dedicated address generation units also help speed up the performance of the arithmetic processing on DSP. Once an appropriate addressing registers have been configured, the address generation unit operates in the background. (i.e. without using the main data path of the processor). The address required for operand access is now formed by the address generation unit in parallel with the execution of the arithmetic instruction. DSP processor address generation units typically support a selection of addressing modes tailored to DSP applications. The most common of these is register-indirect addressing with post-increment, which is used in situations where a repetitive computation is performed on data stored sequentially in memory. Some processors also support bit-reversed addressing, which increases the speed of certain fast Fourier transform (FFT) algorithms.
Chapter 2
TMS320C6713 DSK
2.1. Introduction
The TMS320C6x are the first processors to use velociTI architecture, having implemented the VLIW architecture. The TMS320C62x is a 16-bit fixed point processor and the 67x is a floating point processor, with 32-bit integer support. The discussion in this chapter is focused on the TMS320C67x processor. The architecture and peripherals associated with this processor are also discussed.
The C6713 DSK is a low-cost standalone development platform that enables users to evaluate and develop applications for the TI C67xx DSP family. The DSK also serves as a hardware reference design for the TMS320C6713 DSP. Schematics, logic equations and application notes are available to ease hardware development and reduce time to market.
10
2.5. Architecture
The simplified architecture of TMS320C6713 is shown in the Figure 3.1 below. The processor consists of three main parts: CPU, peripherals and memory.
11
12
The functional units execute logic, multiply, shifting and data address operation. Figure 2.2 shows the simplified block diagram of the two data paths.
All instructions except loads and stores operate on the register. All data transfers between the register files and memory take place only through two data-addressing units (.D1 and .D2). The CPU also has various control registers, control logic and test, emulation and logic. Access to control registers is provided from data path B.
13
15
Split operation: A single channel may be used simultaneously to perform both receive and transmit element transfers to or from two peripherals and memory. Programmable priority: Each channel has independently programmable priorities versus the CPU. Each channels source and destination address registers can have configurable indexes for each read and write transfer. The address may remain constant, increment, decrement, or be adjusted by a programmable value.
Programmable-width transfers: Each channel can be independently configured to transfer bytes, 16-bit half words, or 32-bit words. Authentication: Once a block transfer is complete, an EDMA channel may automatically reinitialize itself for the next block transfer. Linking: Each EDMA channel can be linked to a subsequent transfer to perform after completion. Event synchronization: Each channel is initiated by a specific event. Transfers may be either synchronized by element or by frame.
16
There are two data ordering standards in byte-addressable microcontrollers exist: Little-endian ordering, in which bytes are ordered from right to left, the most significant byte having the highest address. Big-endian ordering, in which bytes are ordered from left to right, the most significant byte having the lowest address. The EMIF reads and writes both big- and little-endian devices. There is no distinction between ROM and asynchronous interface. For all memory types, the address is internally shifted to compensate for memory widths of less than 32 bits.
Full-duplex communication Double-buffered data registers, which allow a continuous data stream Independent framing and clocking for reception and transmission Direct interface to industry-standard codecs, analog interface chips (AICs), and other serially connected A/D and D/A devices External shift clock generation or an internal programmable frequency shift clock
17
Multichannel transmission and reception of up to 128 channels. An element sizes of 8-, 12-, 16-, 20-, 24-, or 32-bit. -Law and A-Law companding. 8-bit data transfers with LSB or MSB first. Programmable polarity for both frame synchronization and data clocks. Highly programmable internal clock and frame generation.
Data communication between McBSP and the devices interfaced takes place via two different pins for transmission and reception data transmit (DX) and data receive (RX) respectively. Control information in the form of clocking and frame synchronization is communicated via CLKX, CLKR, FSX, and FSR. 32-bit wide control registers are used to communicate McBSP with peripheral devices through internal peripheral bus. CPU or DMA write the DATA to be transmitted to the Data transmit register (DXR) which is shifted out to DX via the transmit shift register (XSR). Similarly, receive data on the DR pin is shifted into the receive shift register (RSR) and copied into the receive buffer register (RBR). RBR is then copied to DRR, which can be read by the CPU or the DMA controller. This allows internal data movement and external data communications simultaneously.
2.6.5 Timers
The C62x/C67x has two 32-bit general-purpose timers that can be used to: Time events Count events Generate pulses Interrupt the CPU Send synchronization events to the DMA controller
The timer works in one of the two signaling modes depending on whether clocked by an internal or an external source. The timer has an input pin (TINP) and an output pin (TOUT). The TINP pin can be used as a general purpose input, and the TOUT pin can be used as a general-purpose output.
18
When an internal clock is provided, the timer generates timing sequences to trigger peripheral or external devices such as DMA controller or A/D converter respectively. When an external clock is provided, the timer can count external events and interrupt the CPU after a specified number of events.
19
PLL. Wake-up from PD3 takes longer than wake-up from PD2 because the PLL needs to be relocked, just as it does following power up.
20
Chapter 3
21
3.1. Introduction
22
23
The CCS icon should be on the desktop as C6713DSK CCS and is used to launch CCS.The code generation tools (C compiler, assembler, linker) are used with CCS version 2.x. CCS provides useful documentations included with the DSK package on the following (see the Help icon): 1. Code generation tools (compiler, assembler, linker, etc.) 2. Tutorials on CCS, compiler, RTDX 3. DSP instructions and registers 4. Tools on RTDX, DSP/basic input/output system (DSP/BIOS), and so on. An extensive amount of support material (pdf files) is included with CCS.There are also examples included with CCS within the folder c:\C6713\examples. They illustrate the board and chip support library files, DSP/BIOS, and so on. CCS Version 2.x was used to build and test the examples included in this book.A number of files included in the following subfolders/directories within c:\C6713 (suggested structure during CCS installation) can be very useful: 1. myprojects: a folder supplied only for your projects. All the folders in the accompanying book CD should be placed within this subdirectory. 2. bin: contains many utilities. 3. docs: contains documentation and manuals. 4. c6000\cgtools: contains code generation tools. 5. c6000\RTDX: contains support files for real-time data transfer. 6. c6000\bios: contains support files for DSP/BIOS. 7. examples: contains examples included with CCS. 8. tutorial: contains additional examples supplied with CCS.
6. file.lib: library file, such as the run-time support library file rts6700.lib 7. file.cmd: linker command file that maps sections to memory 8. file.obj: object file created by the assembler 9. file.out: executable file created by the linker to be loaded and run on the C6713 processor 10. file.cdb: configuration file when using DSP/BIOS
25
26
3.4.2 Programming
1 Create a folder called myprojects on the desktop.
2 3 4 5 6
Run the C6713 DSK Code Composer Studio (C6713 DSK CCS). Go to Project New, create a project called dtmf. Make sure the Project Type is Executalble (.out) and Target is TMS329C67XX. Download the dtmf.cdb file from http://www.ece.mtu.edu/labs/EElabs/EE3306/resources. Once the project is created, go to Project Add files to project, add the DSK6713 Board support Library (BSL)file. This library will simplify the communication with the board using C language. The file is located at C:\ti\c6000\dsk6713\lib\dsk6713bsl.lib. More information about this library can be found in Help Library. TMS320C6713 DSK Software Board Support
27
7 8
Next, include the dtmf.cdb file from the webpage. This configuration file will setup all the DSP/BIOS correctly for the use of this lab. Finally, you can create a new file and begin the laboratory assignment. Remember to save the file as dtmf.c and include it to the project in order for it to run.
28
Run.
3.6 Problems faced during the implementation of Chassaing/kehtarnavaz examples 3.6.1. During the compilation, the compiler cant find some header (.h) files Solution:Add C:\CCStudio_v3.1\C6000\dsk6713\include to the search path
31
3.6.2. During Compilation, the linker cant find some libraries ? Solution :Remove hard links to libraries and add libraries and add libraries and manually to the project.
3.6.3. During Compilation, you get warnings about far calls to data ? Solution :Set the memory model to data = far
32
Chapter 4
IMPLEMENTATION
33
4.1. Sinegraph
The main loop of the code writes each data point in the sine wave table out to the codec using the AIC23 codec package of the BSL. Each write function sends a single 16 bit sample to the codec. In this case the same data is sent out twice, once to the left channel and once to the right channel. The codec is configured to accept data at a rate of 48,000 stereo samples per second. Since the sine table is 48 entries long, the resulting output wave will be a 1KHz sine wave with the same output on both the left and right channels. The serial port is used to transmit data to the codec at a much slower rate than the DSP can process data. It accepts data 16 bits at a time and shifts them out slowly one at a time. The write function returns a 1 if the write is completed successfully or a 0 if the serial channel is busy. The while() loop around the writes waits while the serial port is busy so program can be synchronized to the data rate of the codec. Program :-// sine graph . c // The C6713 Board Support Library (BSL) has s e v e r a l // modules , each of which has it s own inc l u d e f i l e . // The f i l e dsk6713 . h must be used in e very program // t h a t us e s the BSL. This example a l s o i n c l u d e s // d s k 6 7 1 3 l e d . h and ds k6713 dip . h because it uses // the LED and DIP c o n t r o l on the board #include dsk6713 . h #include dsk671 3 aic23 . h #include dsk6713 led . h #include dsk6713 dip h // t a b l e index short loop = 0 ; // gain f a c t o r short gain = 1 0 ; // output b u f f e r Int16 o u t b u f f e r [ 2 5 6 ] // s i z e o f b u f f e r const short BUFFERLENGTH = 256; // counter f o r b u f f e r int i = 0 ; // Codec c o n f i g u r a t i o n DSK6713 AIC23 Config c o n f i g = { \ 0x0017 , /_ 0 DSK6713 AIC23 LEFTINVOL\ 0x0017 , /_ 1 DSK6713 AIC23 RIGHTINVOL\ 0x00d8 , /_ 2 DSK6713 AIC23 LEFTHPVOL\ 0x00d8 ,
34
/_ 3 DSK6713 AIC23 RIGHTHPVOL\ 0x0011 , /_ 4 DSK6713 AIC23 ANAPATH\ 0x0000 , /_ 5 DSK6713 AIC23 DIGPATH\ 0x0000 , /_ 6 DSK6713 AIC23 POWERDOWN\ 0x0043 , /_ 7 DSK6713 AIC23 DIGIF\ 0x0081 , /_ 8 DSK6713 AIC23 SAMPLERATE\ 0x0001 /_ 9 DSK6713 AIC23 DIGACT\ }; // Lookup t a b l e Int16 s i n e t a b l e [ 4 8 ] = { 0x0000 , 0x10b4 , 0x2120 , 0 x30fb , 0 x 3 f f f , 0x4dea , 0x5a81 , 0x658b , 0x6ed8 , 0 x763f , 0x7ba1 , 0 x7ee5 , 0 x 7 f f d , 0 x7ee5 , 0x7ba1 , 0 x76ef , 0x6ed8 , 0x658b , 0x5a81 , 0x4dea , 0 x 3 f f f , 0 x30fb , 0x2120 , 0x10b4 , 0x0000 , 0 xe f4c , 0xdee0 , 0 xcf06 , 0xc002 , 0xb216 , 0 xa57f , 0x9a75 , 0x9128 , 0x89c1 , 0 x845f , 0x811b , 0x8002 , 0x811b , 0 x845f , 0x89c1 , 0x9128 , 0x9a76 , 0 xa57f , 0xb216 , 0xc002 , 0 xcf06 , 0xdee0 , 0 xe f 4 c }; Uint32 f s = DSK6713 AIC23 FREQ 48KHZ ; // main ( ) Main code rout ine , i n i t i a l i z e s BSL and // runs LED a p p l i c a t i o n void main ( ) { DSK6713 AIC23 CodecHandle hCodec ; // I n i t i a l i z e the board suppor t l i b r a r y , must be f i r s t // BSL c a l l DSK6713 init ( ) ; // I n i t i a l i z e the LED and DIP swi t c h modules o f the BSL DSK6713 LED init ( ) ; DSK6713 DIP init ( ) ; // St a r t the codec hCodec = DSK6713 AIC23 openCodec ( 0 , &c o n f i g ) ; // DIP Swi tch API // DSK6713 DIP get ( Uint32 dipNum) // Return v a lue 0 S p e c i f i e d swi t c h i s o f f // Return v a lue 1 S p e c i f i e d swi t c h i s on // i n f i n i t e loop while ( 1 ) { i f (DSK6713 DIP get ( 0 ) == 0) {// turn LED#0 on DSK6713 LED on ( 0 ) ; o u t b u f f e r [ i ] = s i n e t a b l e [ loop ] ; // wh i l e ( r e t u r n v a l u e i s not z e ro ) // s e e DSK6713 AIC23 write ( . . . ) // send data to l e f t channel // output e v e ry Ts SW0 0x5a81 , 0x4dea , 0 x 3 f f f , 0 x30fb , 0x2120 , 0x10b4 , 0x0000 , 0 xe f4c , 0xdee0 , 0 xcf06 , 0xc002 , 0xb216 , 0 xa57f , 0x9a75 , 0x9128 , 0x89c1 , 0 x845f , 0x811b ,
35
0x8002 , 0x811b , 0 x845f , 0x89c1 , 0x9128 , 0x9a76 , 0 xa57f , 0xb216 , 0xc002 , 0 xcf06 , 0xdee0 , 0 xe f 4 c }; Uint32 f s = DSK6713 AIC23 FREQ 48KHZ ; // main ( ) Main code rout ine , i n i t i a l i z e s BSL and // runs LED a p p l i c a t i o n void main ( ) { DSK6713 AIC23 CodecHandle hCodec ; // I n i t i a l i z e the board suppor t l i b r a r y , must be f i r s t // BSL c a l l DSK6713 init ( ) ; // I n i t i a l i z e the LED and DIP swi t c h modules o f the BSL DSK6713 LED init ( ) ; DSK6713 DIP init ( ) ; // St a r t the codec hCodec = DSK6713 AIC23 openCodec ( 0 , &c o n f i g ) ; // DIP Swi tch API // DSK6713 DIP get ( Uint32 dipNum) // Return v a lue 0 Specified switch i s o f f // Return v a lue 1 Specified switch i s on // i n f i n i t e loop while ( 1 ) { i f (DSK6713 DIP get ( 0 ) == 0) {// turn LED#0 on DSK6713 LED on ( 0 ) ; o u t b u f f e r [ i ] = s i n e t a b l e [ loop ] ; // while ( r e t u r n v a l u e i s not z e ro ) // see DSK6713 AIC23 write ( . . . ) // send data to l e f t channel // output every Ts SW0 The array out_buffer[]stores the sine data for plotting within CCS The statement while(1) within the function main creates an infinite loop. When dip switch #0 is pressed, LED#0 turns on and the sinusoid is generated. The loop index is incremented until the end of the table is reached, after which it is re-initialized to zero. The following two commands are used to initialize and shut down the audio codec and are found at the beginning and end of all programs that use the BSL codec module. DSK6713 openCodec ( ) returns a handle that is passed to each of the other codec functions.
36
hCodec = DSK6713 AIC23 openCodec ( 0 , &c o n f i g ) ; opens the codec and hCodec = DSK6713 AIC23 closeCodec ( 0 , &c o n f i g ) ; closes the codec.
6 Set the appropriate compiler options (Project ! Build options). The following compiler options are suggested. For the Basic category: target version : C670x gen. debug info : full opt speed vs size: speed most critical prog level opt :none For Feedback category: interlisting : opt/c and ASM(-s) For Preprocessor category : Define symbols:CHIP_6713
Select File ! Load Program in order to load sinegraph.outto the DSK. It should be in the folder sinegraph\Debug.Select Debug ! Run or use the toolbar with the running man. Connect a speaker to the LINE OUT connector on the DSK. Press the dip switch #0.
Plotting with CCS The output buffer is updated continuously every 256 points .CCS can be used to plot the current output data stored in the buffer out_buffer. 1 Select View!Graph!Time/Frequency. Change the Graph Property Dialog so that the options are as indicated in figure 3. The starting address of the output buffer is out_buffer.The other options can be left as default. 2 Choose a fast Fourier transform (FFT) order so that the frame size is 2 order. Press OK and verify that the FFT magnitude plot is as shown (figure 4) .The spike at 1000 Hz represents the frequency of the sinusoid generated.
38
39
Chapter 5
CONCLUSION
40
There are many applications for which the Digital Signal Processor becomes an ideal choice as they provide the best possible combination of performance, power and cost. Most of the DSP applications can be simplified into multiplications and additions, so the MAC formed a main functional unit in early DSP processors. The designers later incorporated more features, like pipelining, SIMD, VLIW etc, in the processors to deliver improved performance. There has been a drive to develop new benchmarking schemes as the improvement in the processor architecture made the earlier benchmarking schemes, obsolete and less reliable. Power issues are gaining importance as DSP processors are incorporated in to handheld, mobile and portable devices. This leads to development of an important class of DSP processors namely fixed-point processors. Based on the current trends seen in the DSP processor development we may predict that the manufacturers will follow the path of general purpose processors. With new IC manufacturing technologies available we may expect to see more on-chip peripherals and memory; and in fact the system on chip may not be too far away.
41
References :[1] Steven W. Smith, The Scientist and Engineers Guide to Digital Signal Processing, Second Edition, California Technical Publishing, 1999. [2] Berkeley Design Technology, Inc., The Evolution of DSP Processors, World Wide Web, http://www.bdti.com/articles/evolution.pdf, Nov. 2006. [3] Berkeley Design Technology, Inc., Choosing a Processor: Benchmark and Beyond, World Wide Web, http://www.bdti.com/articles/20060301_TIDC_Choosing.pdf, Nov. 2006. [4] University of Rochester, DSP Architectures: Past, Present and Future, World Wide Web, http://www.ece.rochester.edu/research/wcng/papers/CAN_r1.pdf, Nov. 2006. [5] Gene Frantz, Digital Signal Processor Trends, Proceedings of the IEEE Micro, Vol. 20, No. 6, 2000, pp. 52-59. [6] Texas Instruments, TMS320VC5510/5510A, Fixed-Point Digital Signal Processors, Data Manual, Dallas, TX, July 2006. [7] Texas Instruments, TMS320C62X/C67X, Programmers Guide, Dallas, TX, May 1999. [8] Texas Instruments, TMS320C6000, Peripherals, Reference Guide, Dallas, TX, March 2001. [9] Texas Instruments, Inc TMS320C55x, Technical Overview, Dallas, TX, Feb. 2000. [10] Texas Instruments, TMS320C6713B, Floating-Point Digital Signal Processors, Data Sheet, Dallas, TX, June 2006. [11] Texas Instruments, TMS320C55x DSP Peripherals Overview Reference Guide, Dallas, TX, April 2006.
42