Interfacing external SRAM - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 31st May 2005, 07:15 AM   #1
kostix is offline kostix  Mexico
diyAudio Member
 
Join Date: Apr 2005
Location: Mexico City
Question Interfacing external SRAM

Hello everybody!

I am working on a project bout digital audio processing based on a dspic from microchip, but I have a little problem with RAM memory as of the dspics 8kb onboard ram present.
So i was considering on using a NVSRAM i had around.
its a 8bit 2megabyte chip, with 70ns access time.

I was hoping to hear any advice on what would be the FASTEST and simpliest way of interfacing such a memory to a dspic (or any 16bit dsp/uc)

One of my limitations is that i only have 512 assembler instruction cycles to process every 2 (L/R) samples.
I program in C, so that way, that cycle number decreases of course.

What do people usually use for this kind of stuff ?
Is it good to simply use the dsp's ports to write data and address the ram? or maybe some external circuitry could speed up the process of writing and retrieving data from the ram?

Should i consider using inline assembler to speedup ?


thats pretty much it


thanks in advance
  Reply With Quote
Old 31st May 2005, 07:27 AM   #2
diyAudio Member
 
Carondimonio's Avatar
 
Join Date: Jun 2004
Location: Bern
Let' s see...
2 MB = 21 Address lines, 8 bit data...
If you have 29 I/O lines free to use on your DSPic, you can address directly the RAM and read/write the data (very fast), otherwise you will have to latch/multiplex the address and data lines, loosing some machine cycles.
Some more data about your chips would be useful...
And yes, some inline assembler could be necessary, as in all time-critical applications.

Cheers,

Bruno
  Reply With Quote
Old 31st May 2005, 09:24 AM   #3
kostix is offline kostix  Mexico
diyAudio Member
 
Join Date: Apr 2005
Location: Mexico City
Ok thank you

I do have enough free pins on the dsp, being the chip tqfp 80, dsPIC30F6014 , with several 16bit parallel ports. I will do it this way then, direct addressing and writing

lets see


setup address - 1 or 2 instructions
write a byte - 1 instruction
toggle write - 1 instruction

so i'd need 4 cycles to write 1 byte
16 instructions for writing 2 16bit words
say top 20 instructions for either writing or reading
i think i can live with that

thanks for clarifying my mind
  Reply With Quote
Old 31st May 2005, 10:00 AM   #4
seoman is offline seoman  Netherlands
diyAudio Member
 
Join Date: Apr 2004
Location: Nijmegen
You could consider a seccond ram.
That way you can read and write 16Bits in a cycle

Regards Simon
  Reply With Quote
Old 31st May 2005, 09:16 PM   #5
sync40 is offline sync40  Mexico
diyAudio Member
 
Join Date: Mar 2005
Location: Mexico
Just do not forget to check the setup and write times of the SRAM. It is advisable to use a nop instruction to let settle the pins.

By the way, I beleive that you are in Mexico, it is right? It is for a commercial purpose, some school project, etc.? Regards.
  Reply With Quote
Old 1st June 2005, 06:27 AM   #6
kostix is offline kostix  Mexico
diyAudio Member
 
Join Date: Apr 2005
Location: Mexico City
Hey, thanx for all the replies !

Second RAM sounds nice didnt think of it that way hehe
i actually happen to have a couple of BQ4015 here, which is a 512kbyte 8bit NVSRAM, one with 70ns access time, the other with 85ns. 19 address lines, 8 bit data bus, and Write Enable, Chip Enable and Output Enable pins.
I'd need 19 shared address lines, 8 bits for one ram, 8 bit for another, and 1 write enable.. 36 pins

I could position the data on a single 16bit port.

For address I would need another whole 16bit port , plus 3 more pins from some other port. Now this makes me wonder how would i implement fast 19bit addressing on a 16bit processor?
or maybe there is some alternative way of doing this?

With 24.576MIPS, i have a 40.6ns instruction period. The ram, 1 chip is 70ns the other 85ns.
so then i guess i would need a couple or 3 "nop"'s after every action to get an acceptable settle down time for both chips.

I am russian but living in Mexico for 15years now
Bout the project... its my own design, pure work at home no school. Maybe if lucky sometime something could be sold, but yet a lot of stuff to do
First thing will be an audio digital dynamic range compressor which will be my repay to a friend of mine who sponsored me with cash for an oscilloscope
... actually the system will allow other audio fx/processing.

I am looking forward to using another dsp processor, the Analog Devices Shark. Seems a very promising chip, running at 200mhz allowing 1200MFLOPs, with 24 digital audio data channels
got couple of these for free as samples, but i have yet to attempt solder a 144TQFP with .5mm pitch by hand .. another thing is how i am going to get the firmware into it, need to look for some diy programmer or design one myself, because i cant afford getting development boards for every thing i do ... so this will be next project hehe

think thats it

Good luck!
  Reply With Quote
Old 1st June 2005, 12:43 PM   #7
seoman is offline seoman  Netherlands
diyAudio Member
 
Join Date: Apr 2004
Location: Nijmegen
Why 19bit adressing?
Why not 16bit adressing and 3bit banking!
The switch between a bank woud not happen that often to justify a 19bit routine.

regards, simon
  Reply With Quote
Old 1st June 2005, 01:43 PM   #8
macboy is offline macboy  Canada
diyAudio Member
 
Join Date: Oct 2003
Location: Ottawa, Canada
Quote:
Originally posted by seoman
Why 19bit adressing?
Why not 16bit adressing and 3bit banking!
The switch between a bank woud not happen that often to justify a 19bit routine.

regards, simon
Even, better, determine whether you need more than 128 kB of RAM, and if you don't then just use 16 bit addressing with no banking or anything else.
  Reply With Quote
Old 1st June 2005, 07:49 PM   #9
kostix is offline kostix  Mexico
diyAudio Member
 
Join Date: Apr 2005
Location: Mexico City
Banking indeed!

I was talking with a buddy on #electronics on EFnet and he suggested me that. I havent thought of it that way but very true, easy and fast to implement

thanks for all the replies!
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
24 bit ADC interfacing with ARM using I2S sukhdeep Digital Line Level 2 20th June 2009 03:37 PM
Interfacing the I2S bus to an Atmel Daryl Digital Line Level 15 25th January 2009 09:39 AM
3.3v to 5v CMOS interfacing Zodiac Digital Source 9 15th May 2006 10:11 PM
PCM1733 Interfacing poynton Digital Source 6 3rd February 2006 06:29 PM
Interfacing to TDA1543A Ian Wilson Parts 0 13th November 2004 09:17 PM


New To Site? Need Help?

All times are GMT. The time now is 02:51 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2