Interfacing EEPROM

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi! I'm a newbie to the world of PSoC and amazing electronics. Im doing a fairly complicated project using PSoC, however I notice that a simple application like blinking an LED consumes a fairly large percentage of the memory. Can anyone please help me on how to interface an external EEPROM and which EEPROM is compatible with PSoC so that I can buy the right components.

   

My project has a complex algorithm, so a large C code and I'll also need to store a vast amount of data. Please help! 

0 Likes
10 Replies
Anonymous
Not applicable

 PS : I'm using PSoC 4 Pioneer kit.

0 Likes
Anonymous
Not applicable

1. PSoC4 only has max. 32k flash and 4k RAM, not a lot. Are you sure you it is enough for your project?

   

2. What kinds of EEPROM you want to interface, there are normal byte wide and serial versions as well.

   

3. You can post your requirment here so we can help you to see if the chip is good enough for your project.

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Basically you can connect any EEPROM which uses a serial interface (SPI or I2C). Which one to choose depends whether one of these interfaces is already occupied in your solution. Apart from that, choose whatever fits your needs.

   

What is 'a vast amount of data'? Could it be that a PSoC4 is not the right tool for your problem, and maybe a PSoC5 would be more suited?

   

You should think about moving parts of your algorithm into the PSoC hardware (UDBs) - this makes it faster and consumes less CPU resources.

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

If you describe the basic application the forum can potentialy guide you to

   

the right family.

   

 

   

Your blink LED project, was it FLASH or SRAM consumed you feel was excessive ?

   

 

   

The release of Creator 3.0 changed the way SRAM is reported -

   

 

   

0 Likes
Anonymous
Not applicable

I am trying to make  device to detect and store IR message packets from different remote controls. To make it compatible with the numerous data formats, I want to detect the rising and falling edges in a packet, which translates to storing 60-80 32 bit values from a timer, and I want to store atleast 15-20 such packets in my device.

   

I assume that I'll need a serial EEPROM, because I want to quickly store the  rising/falling edge so that I dont miss the net edge. Also, I may need to interface a keypad and screen at a later stage if project, so I may need EEPROM to store data as well as code memory.

   

Thanks to all for the prompt reply!! 

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Some thoughts about your design:

   

Having a timer resolution of 32 bits @ 48MHz would give a time of max 90 seconds with a resolution of about 0.02µs. I think that 16 bit resolution would be sufficent.

   

 

   

Writing to eeprom between two edges will not work since the required time can easily be in the range of some ms.

   

 

   

Solution can be: Buffer a single complete sequence to sram and when verified store to eeprom.

   

Reverse this when a sequence has to be played: from eeprom to sram and then play.

   

 

   

Try to estimate the number of pins needed for your display + eeprom + keypad so that you will not exceed PSoC4's pincount.

   

 

   

Bob

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

You might look at serial NOR FLASH, write times, 256 bytes, 5 mS for the page.

   

 

   

100K erase cycles limitation typical however.

   

 

   

Or FLASH/RAM combo parts.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

1. As most IR using the Philips or the NEC protocol, would it be easier to decode the IR code and store the code rather then the pulse train?
 

   

2. If you want to make a learning remote and with a simple character LCD display , PSoC4 should be OK and you can use the EEPROM emulator to store the IR code.

   

3. The good thing about PSoC series is if you need a bigger chip or more resources, you can switch to PSoC5 and port your project across with little or no change to your project.

0 Likes
Anonymous
Not applicable

Yes, I thought of decoding the NEC or philips format and then storing the data in the memory. Because of the vast number of formats available i was wondering if this could be a better solution.

0 Likes
Anonymous
Not applicable

 Well, the two format would be the most commonly used. Storing th raw timing may be the only solution for 100% of every format. 

   

Again, you should be able to use the EEPROM emulator on the PSoC4 to store the data.

0 Likes