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.
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
@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:
// 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);