Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).
|
Hi all We need to do some real-time processing trials using the DSK 6711. I have got the RF3 reference, and the benchmark FFT. I am having major problems getting the FFT working under the RF3 application. It is probably because I do not yet know much about this sytem please can anyone help with any questions below: 1- how do you specify a the constant section eg twiddle factors - and also fix them in memory with the correct boundry? 2- Does anyone know of a real-time (256 or 512) FFT, filter, IFFT implementation for the DSK - or something simmilar? 3- Even a reference use of EDMA with 256 sample buffer with straight through that works would be helpful - we also have the doughterboard stereo ADC/DAC - but I can't get the edma to work properly with this. Thank you |
|
|
|
Code attached --- Vincent W <> wrote: > Date: Fri, 22 Nov 2002 12:32:39 -0800 (PST) > From: Vincent W <> > Subject: Re: 6711 DSK FFT with RF3 HELP!! > To: > > Hi joiedsp, > > Here are some pointers to assist you in your > trials: > > 1- You can specify a constant section for twiddle > factors by doing the following: > > In a .c file, use these pragmas to throw the array > into a data memory section and align it on say, > 32-bit > boundary : > > #pragma DATA_SECTION(w, ".twiddle"); > #pragma DATA_ALIGN(w, 4); //align on 32-bit > boundary > > ... > > #define FFTSIZE 4 //Length of FFT > short w[FFTSIZE] = {0.1 0.2 0.3 0.4} ; // array of > twiddle factors > The data section can then be assigned to any > DSP/BIOS > defined memory section in the link.cmd file. > > 2- If you haven't already done so, download the > latest > dsplib for c62x/c67x from TI's website (http://focus.ti.com/docs/tool/toolfolder.jhtml?PartNumber=SPRC091) > along with its new documentation. Dsplib has > functions > that allow you to easily do common signal > processing > tasks (e.g. FFTs, autocorrelation, FIR, IIR, etc.). > To > show usage of dsplib functions in RF3, I have > attached > a zip file containing an thrAudioproc.c file from > RF3 > which has been modified to do the following: > > input audio frame ----> | FFT | -> | IFFT | -> | > some > other time domain processing from the existing RF3 > | > ----> output audio frame > > You may insert any frequency domain processing > between > the FFT and the IFFT operations. > > To make RF3 take an FFT of the whole audio frame, > the > FRAMELEN variable in appResources.h has been > incremented to 128 instead of 80 so that the radix > 2 > FFT can work properly. To this effect, you also > need > to change the PIP frame sizes in the app.cdb file > to > 64 words long. The files bitrev_index.c and > tw_radix2.c (both taken from the dsplib) need to be > included into the CCS project for RF3 for this > example > to work, as it tries to generate at run-time the > twiddle factors and the indices for the bit > reversal > operation. To reduce code size later on you might > want > to obtain these values in advance and store them in > static arrays. > > The 32-bit aligned twiddle factor arrays and the > work > buffer have been put into separate data sections at > the top of the thrAudioproc.c file, using the > pragmas > DATA_SECTION and DATA_ALIGN. The file link.cmd has > been updated to place these two sections into > internal > IRAM. Alternatively, you can also define your own > memory sections using DSP/BIOS and place the > .twiddle > and/or .temp_buffer sections into those instead. > > You can find all modified RF3 files and added files > in > the attached zip file. Simply replace the > corresponding files in the rf3 directories, and > deposit the new files in > \referenceframeworks\apps\rf3\dsk6x11 > > 3- For an example of how the mcbsp (Multichannel > bidirectional serial port) is used to drive the > EDMA, > take a look at \referenceframeworks\src\c6x1x_edma_mcbsp\c6x1x_edma_mcbsp.c. > It is somewhat detailed but shows everything from > submitting transfers to the edma ISR. It relies on > the > linking mechanism available on the EDMA device to > queue up transfers. > > For help with stereo, take a look at \referenceframeworks\src\teb6416pcm3002\teb6416_edma_pcm3002.c > which configures a stereo codec on the teb6416 to > run > with the mcbsp. It also uses the > c6x1x_edma_mcbsp.l62 > library to set up the edma. > > Hope this helps! > > Best regards, > Vincent > > --- In c6x@y..., "joiedsp" <joiedsp@y...> wrote: > > > Hi all > > > > > > We need to do some real-time processing trials > > using > > the DSK 6711. I > > > have got the RF3 reference, and the benchmark > FFT. > > > > I am having major > > > problems getting the FFT working under the RF3 > > application. > > > > > > It is probably because I do not yet know much > > about > > this sytem please > > > can anyone help with any questions below: > > > > > > 1- how do you specify a the constant section eg > > twiddle factors - and > > > also fix them in memory with the correct > boundry? > > > > > > 2- Does anyone know of a real-time (256 or 512) > > FFT, > > filter, IFFT > > > implementation for the DSK - or something > > simmilar? > > > > > > 3- Even a reference use of EDMA with 256 sample > > buffer with straight > > > through that works would be helpful - we also > have > > the doughterboard > > > stereo ADC/DAC - but I can't get the edma to > work > > properly with this. > > > > > > Thank you > > > > > > > > __________________________________________________ > > > > > ATTACHMENT part 2 application/x-zip-compressed > name=example.zip > | |||
|