Forums

newbie h/w memory help, sharc dsp

Started by omal...@gmail.com February 6, 2006
Hi,

I'm creating a guitar effects system using the new generation of Analog
Devices SHARC board (ADSP-21364 to be precise).

I am sampling at 48kHz and have created a buffer of 30,000 samples to
create an echo effect.  This all works fine, however when I increase
the buffer size any more there isn't enough internal memory left to
facilitate the buffer.

Using VisualDSP++'s very handy expert linker memory map i transfered
the buffer from internal data memory to external memory.

However now I am not getting any sound on the output, and I presume
this is because it is taking to long to read and write the samples to
and from external memory.

Is this a correct assumption?  What should I do?

Many Thanks

Ronan

"omalley.ronan@gmail.com" <omalley.ronan@gmail.com> wrote in 
news:1139237394.423438.105030@g44g2000cwa.googlegroups.com:

> Hi, > > I'm creating a guitar effects system using the new generation of Analog > Devices SHARC board (ADSP-21364 to be precise). > > I am sampling at 48kHz and have created a buffer of 30,000 samples to > create an echo effect. This all works fine, however when I increase > the buffer size any more there isn't enough internal memory left to > facilitate the buffer. > > Using VisualDSP++'s very handy expert linker memory map i transfered > the buffer from internal data memory to external memory. > > However now I am not getting any sound on the output, and I presume > this is because it is taking to long to read and write the samples to > and from external memory. > > Is this a correct assumption? What should I do? > > Many Thanks > > Ronan > >
I don't think this is your problem (or at least it shouldn't be). If you want to make a delay line in external memory, you can use a combination of internal memory and dma transfers from external memory. We did this with a package we put together last year with ADI and Altera using an ADSP-21261 (slower version of the 21364). In the demo, we created a 5 second echo by storing the samples in an SDRAM. -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
Could you elaborate a little more on using the combination of internal
and external memory and dma transfers?

Thanks very much for the fast reply

Ronan

"omalley.ronan@gmail.com" <omalley.ronan@gmail.com> wrote in 
news:1139241090.166814.271260@g47g2000cwa.googlegroups.com:

> Could you elaborate a little more on using the combination of internal > and external memory and dma transfers? > > Thanks very much for the fast reply > > Ronan > >
The transfer will be dependent on the type of memory, etc. We use an FPGA in this design to implement an SDRAM controller so the interface is more complicated and different than yours if you are using SRAM. I would read the chapter on the parallel port very carefully. They have some sample code. Basically you create in internal memory, an input block and and output block. You DMA from the input block to external memory and you DMA from external memory to the output block. You signal processing works with the internal memory. -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
Hi,

What is the context of your question??

-- 
------------------------------
Jaime Andr&#2013265929;s Aranguren Cardona
jaac@sanjaac.com
SanJaaC Electronics
Soluciones en DSP
www.sanjaac.com

<omalley.ronan@gmail.com> escribi&#2013265923; en el mensaje 
news:1139241090.166814.271260@g47g2000cwa.googlegroups.com...
> Could you elaborate a little more on using the combination of internal > and external memory and dma transfers? > > Thanks very much for the fast reply > > Ronan >
context is as outlined in my first post above.

I am doing all my sample prossesing within the serial port ISR when the
sample is received, and the large buffers that i want to use are too
big for my chips internal data-memory, however fetching them from
external memory is too slow.  The solution appears to be to create
smaller buffers in internal memory any transfer to and from external
memory outside the serial port ISR.  This is my first DSP project and I
am coding in C, sampling at 48kHz and using an Analog Devices
ADSP-21364 EZKIT.

Thanks

Ronan