View Full Version : PIC RAM Interface
cc1984
- 7th January 2011, 22: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, 02: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, 16: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
- 8th January 2011, 23: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, 15: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, 10: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, 14: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, 00: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.