The RAM size for the E-Series that we are using is 128KByte. The video buffer size for our E-paper display with 2400x1034 resolution is 302KByte. Any advice on how to overcome this memory space limitation?
What EPaper display are you using?
Many displays support partial updates.
Eink display size 11.3
@iquita2005, are you using a open source library for driving the epaper? Can you provide a link to the epaper product page?
You could build your display buffer in external SPI 512KB FRAM and then write it out to the display. Or, there may be a driver board for this display which provides a high-level graphics language. That’s why the link would be good.
The display size we are using is proprietary so it is not listed on Eink webste. Yes, there is a timing controller that drives the display, there is no product page either. But the data sheet for both the display and timing controller
@peekay123 we decided to add an external SRAM to the board.
@iquita2005, good choice since you don’t need the retention of FRAM or the higher cost!
Great. Thanks for the update.
Is this enough memory? You stated in your first post you needed 302KBytes. This chip though is only 64KBytes (512 Kbits).
@iquita2005, @picsil is correct (I missed that)! What is needed is a 4Mb or 512K x 8 SRAM chip. The only one I could find is the IS62WVS5128 which is made using two 2Mb (256K x 8) dyes. Though totalling 512KB, special conditions need to be observed when switching between 256KB boundaries which will affect the driver library.
@picsil @peekay123 so this SRAM 512kbit 64 x 8 is not the same as 512k x 8?
Correct, according to the datasheet.
This https://www.mouser.com/ProductDetail/ISSI/IS62WVS5128FBLL-20NLI-TR?qs=byeeYqUIh0MVWOLDS41N2g%3D%3D might be more appropriate for your application. 4Mbits, 512Kx8
@picsil Great, thanks
@picsil @peekay123 any guidance on what specific SPI pins on the E-Series board to connect the external SRAM to?
@iquita2005, if you want to use the SPI
port, then you will use pins A3 (SCK), A4 (MISO) and A5 (MOSI). You can select whatever GPIO pin you want for SS (aka CS) including A2. You can also use SPI1
with pins D4 (SCK), D3 (MISO) and D2 (MOSI), again with your choice of CS pin.
Do note that you will need to write your own code to use this device. The reason is that the two-die design (2 x 256KB chips) means that you have to take precautions when crossing the die boundary at 256KB. This is especially important when you use Sequential operating mode:
@peekay123 Thanks
@peekay123 @picsil This is the connection we went with.
@picsil @peekay123 We are getting an incorrect reading from the SRAM. My developer said he is getting a read back value of 0x00 from a write mode of 0x01. code is below
// SRAM SPI1 INIT
SPI1.setClockSpeed(10, MHZ);
SPI1.setBitOrder(MSBFIRST);
SPI1.setDataMode(SPI_MODE0);
SPI1.begin(SPI_MODE_MASTER, D5);
// Write Mode register
int mode = 0x01;
digitalWrite(D5, LOW);
SPI1.transfer(0x01);
SPI1.transfer(mode << 6);
digitalWrite(D5, HIGH);
// Read back mode register
digitalWrite(D5, LOW);
int readBuff = SPI1.transfer(0x05);
digitalWrite(D5, HIGH);
Serial.printlnf("SPI Mode: 0x%x ", readBuff);