Shop OBEX P1 Docs P2 Docs Learn Events
A Thinking about Project using this IC Chip DS1220AB 16k Nonvolatile SRAM Has — Parallax Forums

A Thinking about Project using this IC Chip DS1220AB 16k Nonvolatile SRAM Has

sam_sam_samsam_sam_sam Posts: 2,286
edited 2009-09-21 18:56 in General Discussion
·Dose· any one have a Demo code for this type of chip

Feed back need

Thank to any one that can help

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
··Thanks for any·idea.gif·that you may have and all of your time finding them smile.gif

·
·
·
·
Sam

Comments

  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2009-09-18 03:31
    Sam,

    I have used this chip in the early nineties, as well as the DS1225AB. These chips are not serial in nature and are not intended for use with microcontrollers. They have a parallel 3-bus interface and are intended for use with a CPU such as the Z80 (which is what I have used them with). They contain a parallel address bus, data bus and a control bus. I think what you need is an NV solution with a serial interface.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage

    Parallax Engineering
    50 72 6F 6A 65 63 74 20 53 69 74 65
    ·
  • sam_sam_samsam_sam_sam Posts: 2,286
    edited 2009-09-18 22:26
    Thank Chirs for your reply

    Are there any that are· serial interface that like the DS1302 Time Chip that a back up battery or cap hold the memory

    I want write to it every second an do not want to wear it out

    Thanks for your help

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··Thanks for any·idea.gif·that you may have and all of your time finding them smile.gif

    ·
    ·
    ·
    ·
    Sam
  • Mike GreenMike Green Posts: 23,101
    edited 2009-09-18 22:50
    Why not use Ramtron's FRAM? This works just like EEPROM except that you can write to it over and over again without wearing it out. You don't need a backup battery and any code that you can find that works with an EEPROM should work and you can leave out any write delays. It comes in SPI and I2C versions up to 64K bytes. Google "Ramtron".

    It does eventually wear out, but would take years and years and years to do so.
  • sam_sam_samsam_sam_sam Posts: 2,286
    edited 2009-09-19 17:45
    Thanks Mike Green for the info

    That what·I was looking for



    I order some samples to try out

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··Thanks for any·idea.gif·that you may have and all of your time finding them smile.gif

    ·
    ·
    ·
    ·
    Sam
  • davejamesdavejames Posts: 4,047
    edited 2009-09-19 18:55
    ....sooooo, what would be the chances of using a RAMTRON FM24C256 FRAM in place of the standard Microchip 24LC256 EEPROM in BS2-based OEM applications?

    The related FRAM is pin compatable with the EEPROM. I guess the question is: would the FRAM be a drop-in replacement? Or is the standard EEPROM write/read timing hard coded into PBASIC?

    Even with the hard coded timing aspect, having "unlimited" writes would be an immediate benefit.


    DJ

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Instead of:

    "Those who can, do.· Those who can't, teach." (Shaw)
    I prefer:
    "Those who know, do.· Those who understand, teach." (Aristotle)
    ·
  • Mike GreenMike Green Posts: 23,101
    edited 2009-09-19 19:23
    You can't use either the FM24C256 or 24LC256 EEPROM for BS2 OEM applications since the BS2 uses a 24LC16B EEPROM. You could use either the 24LC256 or the FM24C256 for the BS2pe OEM. Theoretically, you could use an FM24C256 for the BS2e OEM, BS2p OEM, or BS2px OEM even though 1/2 of it would be unused. The PBasic interpreter would just ignore the rest of the memory.
  • sam_sam_samsam_sam_sam Posts: 2,286
    edited 2009-09-19 19:42
    Mike· Green

    Would this be a better choice

    FM24C16A-G Here is the Data Sheet· http://www.ramtron.com/files/datasheets/FM24C16Ads_r3.1.pdf

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··Thanks for any·idea.gif·that you may have and all of your time finding them smile.gif

    ·
    ·
    ·
    ·
    Sam
  • Mike GreenMike Green Posts: 23,101
    edited 2009-09-19 20:34
    Yes, this FM24C16A is supposed to be a "drop-in" replacement for the 24LC16B used in the BS2 OEM design. It should work.
  • sam_sam_samsam_sam_sam Posts: 2,286
    edited 2009-09-20 02:02
    Mike Green

    Thanks for your help

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··Thanks for any·idea.gif·that you may have and all of your time finding them smile.gif

    ·
    ·
    ·
    ·
    Sam
  • RDL2004RDL2004 Posts: 2,554
    edited 2009-09-20 14:31
    I have experimented with Ramtron's serial FRAM in the past and it works well (and is very fast). Note that these devices are available in both I2C and SPI versions. Depending on your intended use, the SPI may be a better choice.

    If you are already planning to use I2C in this project, then that's the way to go. If not then consider the SPI type which will require less code, but at the expense of a dedicated "Chip Select" connection for each device.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Rick
  • sam_sam_samsam_sam_sam Posts: 2,286
    edited 2009-09-20 15:32
    Rick

    Thanks for the info when i was at there web page I saw they SPI type·and the I2C type and they also have·Parallel· type as well

    Do the SPI type and 12C type use the same Demo code for the one that Parallax sells

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··Thanks for any·idea.gif·that you may have and all of your time finding them smile.gif

    ·
    ·
    ·
    ·
    Sam

    Post Edited (sam_sam_sam) : 9/20/2009 3:38:04 PM GMT
  • davejamesdavejames Posts: 4,047
    edited 2009-09-21 04:04
    @Mr. Green,

    Yes, sorry - the "16" instead of the "256".

    My other concern is that the speed of the RAMTRON part might not be realized if the BS Interpreter code for writing the default EEPROM device still waits the 4ms or so for the write to complete...or, maybe the Interpreter looks for a "ready" condition. If that was the case, then we'd see the RAMTRON's quicker access.

    Rambling thoughts,

    DJ

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Instead of:

    "Those who can, do.· Those who can't, teach." (Shaw)
    I prefer:
    "Those who know, do.· Those who understand, teach." (Aristotle)
    ·
  • Mike GreenMike Green Posts: 23,101
    edited 2009-09-21 04:21
    I have no idea how the PBasic interpreter determines when the EEPROM write operation is complete. You could always just try the Ramtron part and see what happens as far as EEPROM write speed goes. If the PBasic interpreter uses a fixed delay, there's nothing you can do about it. If it does wait for the EEPROM to respond successfully to a read operation, then you will see better write speeds. The PBasic interpreter is proprietary to Parallax and they usually don't provide much information about how it works internally.
  • RDL2004RDL2004 Posts: 2,554
    edited 2009-09-21 14:59
    The code will be different for the two types. SPI requires less code.

    Most projects I do, I tend to run out of code space long before I run out of I/O pins, therefore I prefer SPI devices.

    Attached is an example program for the BS2. Jon wrote several articles in Nuts and Volts on I2C, look them up.

    attachment.php?attachmentid=63937

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Rick
    752 x 500 - 57K
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2009-09-21 16:56
    Mike Green said...(trimmed)
    I have no idea how the PBasic interpreter determines when the EEPROM write operation is complete. You could always just try the Ramtron part and see what happens as far as EEPROM write speed goes. If the PBasic interpreter uses a fixed delay, there's nothing you can do about it. If it does wait for the EEPROM to respond successfully to a read operation, then you will see better write speeds.
    Hello everyone,

    For a given BASIC Stamp model, the EEPROM speed is fixed in the interpreter based on the timing of the EEPROM used on the module.· Putting a faster chip in place of the EEPROM will not increase the overall speed of the module even when doing writes.· I hope this helps.· Take care.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage

    Parallax Engineering
    50 72 6F 6A 65 63 74 20 53 69 74 65
    ·
  • davejamesdavejames Posts: 4,047
    edited 2009-09-21 17:04
    @Mr. Savage,

    Does this mean that I do not have to place a·PAUSE of 4ms after a WRITE to allow·the EEPROM to complete its write operation?

    Sorry to be so anal about this, but it's kinda important for my current project.

    DJ

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Instead of:

    "Those who can, do.· Those who can't, teach." (Shaw)
    I prefer:
    "Those who know, do.· Those who understand, teach." (Aristotle)


    Post Edited (davejames) : 9/21/2009 5:14:20 PM GMT
  • photomankcphotomankc Posts: 943
    edited 2009-09-21 17:05
    RDL2004 said...
    The code will be different for the two types. SPI requires less code.

    Most projects I do, I tend to run out of code space long before I run out of I/O pins, therefore I prefer SPI devices.

    Attached is an example program for the BS2. Jon wrote several articles in Nuts and Volts on I2C, look them up.

    attachment.php?attachmentid=63937

    Nifty.... where's that little break-out board from?
  • Mike GreenMike Green Posts: 23,101
    edited 2009-09-21 17:17
    davejames,
    The WRITE statement includes any necessary delay for the write operation to complete properly.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2009-09-21 17:26
    Is there example code where a PAUSE is being used? I would find it hard to believe the interpreter was running so fast that the EEPROM can't keep up. If there is an example there might be a specific reason for it. In any LCD when you clear the screen the LCD is unresponsive for a couple of mS after the command is issued. So you can write anything you want to the LCD, but if you clear the screen using the command, you must have the PAUSE. That is why I am trying to find out if your example is specific.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage

    Parallax Engineering
    50 72 6F 6A 65 63 74 20 53 69 74 65
    ·
  • T&E EngineerT&E Engineer Posts: 1,396
    edited 2009-09-21 17:48
    Would any of these FRAM chips also work with the SX48? I have written software that I have reached the 4K limit on program space. I'm thinking adding an EEPROM like the 24LC256 would not help as this is for DATA only not program code - if I am correct?
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2009-09-21 17:59
    Correct…you can access additional memory for data, but not using any of the internal memory access commands. You would need to write a subroutine to access the external memory. There are examples for some EEPROMS.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage

    Parallax Engineering
    50 72 6F 6A 65 63 74 20 53 69 74 65
    ·
  • Mike GreenMike Green Posts: 23,101
    edited 2009-09-21 18:13
    Adding an EEPROM (or FRAM) would only help for storing data, not for adding to the program space. Very few microcontrollers these days have any kind of external memory bus option.
  • T&E EngineerT&E Engineer Posts: 1,396
    edited 2009-09-21 18:15
    Thanks Chris and Mike. That's what I assumed also but it's nice to get confirmation from the experts.

    I appreciate it.
  • davejamesdavejames Posts: 4,047
    edited 2009-09-21 18:56
    @Mr. Green and Mr. Savage,

    The Programming and Syntax manual doesn't specifically say anything, either way, about requiring a delay after issuing a WRITE statement. So, erring on the side of caution (assuming the worst), I insert a delay after writing to the EEPROM. Now that I know I don't have to, so much the better!

    Thanks both,

    DJ

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Instead of:

    "Those who can, do.· Those who can't, teach." (Shaw)
    I prefer:
    "Those who know, do.· Those who understand, teach." (Aristotle)
    ·
Sign In or Register to comment.