Page 1 of 1
SPI RAM - Support for other chips
Posted: Mon Jun 04, 2018 6:09 am
by caseymdk
Hi all,
I love the fact that the ESP32 supports SPI RAM. I understand that there are limitations to putting a lot of RAM on-die, so I appreciate the option of being able to implement external RAM.
However, I was surprised to see that the only chip that's supported is the PSRAM chip manufactured by Espressif. There are a lot of SPI RAM chips available on Digikey that only use a slightly different instruction set. Is it difficult to modify the code to support these chips?
I looked at the "PSRAM.c" code, but it's a bit over my head, and I suspect there may be some hardware functionality that's going on that I can't see...(the file looks too small to implement all functionality). So I'm wondering, what's the limiting factor to supporting other types of external SPI SRAM chips?
Thanks!
Casey
Re: SPI RAM - Support for other chips
Posted: Mon Jun 04, 2018 6:42 am
by loboris
caseymdk wrote:Hi all,
I love the fact that the ESP32 supports SPI RAM. I understand that there are limitations to putting a lot of RAM on-die, so I appreciate the option of being able to implement external RAM.
However, I was surprised to see that the only chip that's supported is the PSRAM chip manufactured by Espressif. There are a lot of SPI RAM chips available on Digikey that only use a slightly different instruction set. Is it difficult to modify the code to support these chips?
I looked at the "PSRAM.c" code, but it's a bit over my head, and I suspect there may be some hardware functionality that's going on that I can't see...(the file looks too small to implement all functionality). So I'm wondering, what's the limiting factor to supporting other types of external SPI SRAM chips?
Thanks!
Casey
I couldn't find any SPI RAM chip available on DigiKey, could you give a link to any.
Except Espressif SPIRAM,
Lyontek's psRAM chips also works with ESP32.
I have also tested
IPUS IPS6404 SPIRAM (the 3.3V version available at
Electrodragon and it works without issues.
Re: SPI RAM - Support for other chips
Posted: Mon Jun 04, 2018 9:47 am
by WiFive
Re: SPI RAM - Support for other chips
Posted: Mon Jun 04, 2018 12:56 pm
by loboris
And max size 128
KB + max clock 20 MHz, quite unusable as ESP32 external RAM.
Re: SPI RAM - Support for other chips
Posted: Mon Jun 04, 2018 7:58 pm
by caseymdk
loboris wrote:
And max size 128 KB + max clock 20 MHz, quite unusable as ESP32 external RAM.
Yes, but even more unusable is the lack of the ESP-PSRAM chip from distributors...I would much rather use a different, 128KB chip than nothing.
Is the 20MHz a deal-breaker? Looks like the ESP32 runs external RAM at 40MHz by default...could this be decreased to 20MHz?
Re: SPI RAM - Support for other chips
Posted: Tue Jun 05, 2018 8:12 am
by WiFive
caseymdk wrote:
Yes, but even more unusable is the lack of the ESP-PSRAM chip from distributors.
Did you try to buy direct from espressif?
Re: SPI RAM - Support for other chips
Posted: Wed Jun 20, 2018 7:11 pm
by caseymdk
I have not, I'm not at a point where I can buy large volumes, which I assume I'd need to in order to get it direct.
Re: SPI RAM - Support for other chips
Posted: Wed Jun 20, 2018 7:44 pm
by WiFive
Usually the first 2 sample orders have no volume requirements. Especially if the part is not available through distribution I think they will be more accommodating.
Re: SPI RAM - Support for other chips
Posted: Wed Nov 07, 2018 3:15 am
by mrbhou
loboris wrote:
Except Espressif SPIRAM,
Lyontek's psRAM chips also works with ESP32.
I have also tested
IPUS IPS6404 SPIRAM (the 3.3V version available at
Electrodragon and it works without issues.
Hi loboris,
I also add more Rams for ESP32 Wroom 32D by using IPUS IPS6404, what you recommend.
But it doesn't work.
Do you have to modify anything in code ?
Of cousre, I connect it following reference design of ESp32 Wrover, which has 4Mb Psram External.
Can you help me?
Thanks.
Re: SPI RAM - Support for other chips
Posted: Wed Nov 07, 2018 9:25 am
by loboris
mrbhou wrote:Hi loboris,
I also add more Rams for ESP32 Wroom 32D by using IPUS IPS6404, what you recommend.
But it doesn't work.
Do you have to modify anything in code ?
Of cousre, I connect it following reference design of ESp32 Wrover, which has 4Mb Psram External.
Can you help me?
Thanks.
You just have to connect SPI-RAM chip to the right pins and use one 10K pull-up on CS pin.
You can check my post
here.