View Full Version : PIC RAM Interface
  
cc1984
- 7th January 2011, 23:33
Hi,
I'm a little puzzled by the fact that a search for RAM returns nothing.  Which makes me think I am about to ask a stupid question (probably).  I have an application that I would like to distribute the processing between multiple PICs.  One PIC to create output values and another to receive data from other sources.  I would like the one that is receiving data to populate an external RAM interface in advance of the one creating outputs.  In order to do this I need a shared memory area that one can fill and one can read.  Is the thought of using a I2C RAM chip to perform this function not a good idea?  Timing is in the microsecond time frame for the output PIC, but the data collection PIC can be constantly filling/refilling the external RAM ahead of the output PIC.
I would appreciate thoughts on my approach.
cc1984
mackrackit
- 8th January 2011, 03:17
Not sure off the top the best way to do what you want. 
But you can use this search tool 
http://www.picbasic.co.uk/forum/showthread.php?t=4751
Might turn something up.
ScaleRobotics
- 8th January 2011, 17:43
I have an application that I would like to distribute the processing  between multiple PICs.  One PIC to create output values and another to  receive data from other sources.
Just curious why you need two PICs to do that. A couple people pointed to these types of devices for fast writes. And some of them are good for a 100 trillion read/writes (wonder who had to count those). http://www.ramtron.com/products/nonvolatile-memory/serial.aspx (The 3volt type are even faster)
Ramtron FM24W256
256Kbit Ferroelectric Nonvolatile RAM 
• Organized as 32,768 x 8 bits
• High Endurance 100 Trillion (1e14) Read/Writes 
• 38 year Data Retention
• NoDelay™ Writes
• Advanced High-Reliability Ferroelectric Process 
Fast Two-wire Serial Interface
• Up to 1 MHz Maximum Bus Frequency
• Supports Legacy Timing for 100 kHz & 400 kHz 
Low Power Operation
• Wide Voltage Operation 2.7V-5.5V
• 100 uA Active Current (100 kHz)
• 15 uA Standby Current (typ.)
Industry Standard Configuration
• Industrial Temperature -40°C to +85°C
• 8-pin SOIC (-G)
• 8-pin EIAJ SOIC (-EG)
Ordering Information
• FM24W256-G  (8-pin "Green"/RoHS SOIC)
• FM24W256-EG  (8-pin "Green"/RoHS EIAJ SOIC)
cncmachineguy
- 9th January 2011, 00:14
I'm pretty sure I2C will be too slow. Even if you could take advantage of the 1Mhz bus timing, you state the "output PIC" will be operating in the uS time frame. I take this to mean you will be doing something every couple uS or so. It will take at least 20 or so bits per memory access (address + command + data)at 1Mhz thats 20uS. Not to mention having issues finding devices to support the 1Mhz bus speed. So that puts you at 400K, now your timing just got 60% slower.
cc1984
- 9th January 2011, 16:19
Just curious why you need two PICs to do that. A couple people pointed to these types of devices for fast writes. And some of them are good for a 100 trillion read/writes (wonder who had to count those). http://www.ramtron.com/products/nonvolatile-memory/serial.aspx (The 3volt type are even faster)
Ramtron FM24W256
256Kbit Ferroelectric Nonvolatile RAM 
 Organized as 32,768 x 8 bits
 High Endurance 100 Trillion (1e14) Read/Writes 
 38 year Data Retention
 NoDelay Writes
 Advanced High-Reliability Ferroelectric Process 
Fast Two-wire Serial Interface
 Up to 1 MHz Maximum Bus Frequency
 Supports Legacy Timing for 100 kHz & 400 kHz 
Low Power Operation
 Wide Voltage Operation 2.7V-5.5V
 100 uA Active Current (100 kHz)
 15 uA Standby Current (typ.)
Industry Standard Configuration
 Industrial Temperature -40°C to +85°C
 8-pin SOIC (-G)
 8-pin EIAJ SOIC (-EG)
Ordering Information
 FM24W256-G  (8-pin "Green"/RoHS SOIC)
 FM24W256-EG  (8-pin "Green"/RoHS EIAJ SOIC)
 
I was planning to use one pic to collect data and populate the memory and then let the other (the one creating the output) keep banging away without having to wait to collect data.  I considered looking a the propeller chip to do this, but thought I would try multiple PICs running simultaneously to do the trick.  The timing is an issue because I am creating a weather radar simulation that creates weather pattern returns.  I have a 5us trigger pulse and then use a dac to create a waveform to represent the return pattern, this repeats every 5000us.  Sounds like accessing external memory is going to be too slow.
Thanks.
ScaleRobotics
- 10th January 2011, 11:21
Their parallel chips are faster. 
FM28V010
128Kbit Ferroelectric Nonvolatile RAM
 Organized as 16,384 x8
 High Endurance 100 Trillion (1e14) Read/Writes
 NoDelay Writes
 Page Mode Operation to 33MHz
 Advanced High-Reliability Ferroelectric Process
 Superior to Battery-backed SRAM Modules
 No battery concerns
 Monolithic reliability
 True surface mount solution, no rework steps
 Superior for moisture, shock, and vibration
 Resistant to negative voltage undershoots
 SRAM Replacement
 JEDEC 16Kx8 SRAM pinout
 60 ns Access Time, 90 ns Cycle Time
 Low Power Operation
 2.0V  3.6V Power Supply
 Standby Current 90 μA (typ)
 Active Current 7 mA (typ)
 Industry Standard Configurations
 Industrial Temperature -40° C to +85° C
 28-pin Green/RoHS SOIC (-SG)
 Ordering Information
 FM28V010-SG (28-pin Green/RoHS SOIC)
 FM28V010-SGTR (28-pin Green/RoHS SOIC, Tape & Reel)
cc1984
- 10th January 2011, 15:46
Thanks.  I will try.  I just ordered samples of the memory RAMTRON.  I'll see if I can make it work.
cc1984
- 18th January 2011, 01:53
OK, 
I hooked up a Radar Dispaly to my circuit.  I have now determined that I need to create the video output level at the 5000us rate, but I have the liberty of updating as I update the antenna syncro angle (since it holds it last scan value).  That way I can update at the end of each 180 scan.  With the PIC18F4520 clocked upto 16 MHz it seems to work pretty fast when receiving new data with a RS-232 u1pdate rate of 38400.
 
Powered by vBulletin® Version 4.1.7 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.