Skip to main content
KMew
Senior III
November 28, 2022
Solved

NUCLEO-H7A3ZI-Q: Internal RAM w/ Display

  • November 28, 2022
  • 4 replies
  • 2543 views

Hello,

I am looking to use the NUCLEO-H7A3ZI-Q, which utilizes a STM32H7A3ZI MCU. It has the following memory specifications:

  • 2MBytes of Flash
  • 1376 kBytes of SRAM

I am looking to do the following things on my product:

1) LCD Display (480x272 resolution), potentially with animations (animations TBD. For this question, assume we are using animations)

2) CAN communication

3) Basic GPIO signaling

My goal is to minimize PCB cost, so I am trying to see if I can get away with no additional, external RAM/Flash. I am trying to determine if that is possible, but want to confirm my logic.

For the SRAM, it needs to be able to display each pixel of the full 480x272 resolution. If we assume 1 frame buffer (no animation) and a 24 bit depth (RBG888), then the RAM requirement is:

480 x 272 x 24 / 8 / 1000 = 391.68 kBytes

If I want to do animations (Basic TouchGFX screen transitions. Not anything fancier than that), then an additional frame buffer would be needed. Therefore, the needed SRAM is:

480 x 272 x 24 / 8 / 1000 * 2 = 783.36 kBytes

This gives approximately 593 kBytes of remaining RAM for other uses. Therefore, the internal SRAM would be sufficient.

Is this logic correct, or am I missing anything?

This topic has been closed for replies.
Best answer by MM..1

No correct, your framebuffer RGB888 is 382,5kB perfect for SRAM2 and second buff SRAM3 (kB = 1024B)

But you can use RGB565 or L8 based on your graphics.

4 replies

MM..1
Chief III
November 28, 2022

Your resolution and MCU power can do animations maybe too with single buffer only. Some screen transitions require triple buffer... And RGB888 is required only if you plan show photos or perfect gradients.

Plus need care SRAM isnt one piece 1,3M, but more parts. Only some usable with LTDC.

Accept all this your logic is correct.

KMew
KMewAuthor
Senior III
November 28, 2022

Hello MM,

Thank you for confirming this. I did a quick search in the datasheet and found the following:

0693W00000WJfBVQA1.png 

It does seem the AXI SRAM is broken into 3 parts. None of which are big enough, based on my previous calculation.

So based on this, it is not sufficient and external RAM would be needed, correct?

KMew
KMewAuthor
Senior III
November 28, 2022

Hello MM,

Thank you for confirming this. I did a quick search in the datasheet and found the following:

0693W00000WJfBVQA1.png 

It does seem the AXI SRAM is broken into 3 parts. None of which are big enough, based on my previous calculation.

So based on this, it is not sufficient and external RAM would be needed, correct?

KMew
KMewAuthor
Senior III
November 28, 2022

Repeat message. Ignore

MM..1
MM..1Best answer
Chief III
November 28, 2022

No correct, your framebuffer RGB888 is 382,5kB perfect for SRAM2 and second buff SRAM3 (kB = 1024B)

But you can use RGB565 or L8 based on your graphics.

KMew
KMewAuthor
Senior III
November 28, 2022

Hello MM,

Thank you! You've been an absolute life saver! I wasn't sure if you could separate the buffers like that.

When you say "use RGB565," is it as simple as just changing the setting? For example, if a display has 24 pins (R 0-7, G 0-7, B 0-7) for the RGB portion, can you use the RGB666 configuration setting in CubeMX?

In other words, can I use these interchangeably and the only difference will be picture quality?

0693W00000WJfU3QAL.png

MM..1
Chief III
November 29, 2022
Display setings leave as hw is connected RGB888, but frame layer can be any .
Tesla DeLorean
Guru
November 28, 2022

Would definitely look at QSPI NOR FLASH memory device, relatively simple to add (small, low pin count, high capacity), provide a means of staging imagery and updates.

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
KMew
KMewAuthor
Senior III
November 29, 2022

Hello Tesla,

Yes, I fully agree. I will likely add one! Is there any compatibility things I should look for on my MCU to know if the QSPI will work on that chip?