NUCLEO-H7A3ZI-Q: Internal RAM w/ Display
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-28 8:29 AM
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?
Solved! Go to Solution.
- Labels:
-
LCD-LTDC
-
STM32H7 Series
-
TouchGFX
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-28 10:39 AM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-28 9:03 AM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-28 9:19 AM
Hello MM,
Thank you for confirming this. I did a quick search in the datasheet and found the following:
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-28 9:22 AM
Hello MM,
Thank you for confirming this. I did a quick search in the datasheet and found the following:
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-28 9:23 AM
Repeat message. Ignore
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-28 10:39 AM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-28 10:51 AM
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-28 10:55 AM
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.
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-28 10:36 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-11-29 6:43 AM
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?
