Dear NXP Tech. Support,
Please help me to evaluate the solution to achieve GUI of 1280*800, 24Bpp and 30fps using RT1062.
One thing I am not sure about is the calculation of frame buffer:
Is the frame buffer size is 1280*800*3 = 3MB or 1280*800*4 = 4MB? The key to this question is whether 4 bytes for one pixel is necessary due to bytes alignment requirement.
Suppose frame buffer size is 3MB, given 30fps, then LCD bandwidth required is 90MB/s, my second question whether SDRAM of 166MHz could provide such bandwidth? What if the LCD bandwidth requirement increases to 120MB/s?
I find NXP provides LCD bus load calculator for LPC MCUs at https://community.nxp.com/message/630104 , could you please provide such bus calculator for RT106x MCU that fits our application: 1280*800, 24Bpp, 30fps?
My feeling is SDRAM could hardly support this bandwidth requirement, and even it could, there would be little margin left. So I am thinking about put the frame buffer into HyperRAM as I was told by NXP that HyperRAM connected to FlexSPI bus of RT1062 could reach 280MB/s read performance.
Regarding to HyperRAM, I have another 2 questions:
Hi Bin Dong,
Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
1) Is the frame buffer size is 1280*800*3 = 3MB or 1280*800*4 = 4MB?
-- The frame buffer size is 1280*800*3, however, 24-bit data is stored in a 32-bit field for each pixel.
2) Could you please provide such bus calculator for RT106x MCU that fits our application: 1280*800, 24Bpp, 30fps?
-- In the https://community.nxp.com/message/630104The calculator is also fit your application
3) Could HyperRAM connected to RT1062 FlexSPI achieve 280 MB/s read performance when it is used as LCD buffer frame?
-- It's feasible.
3) If HyperRAM connects FlexSPI of RT1062, and HyperFlash connect to another FlexSPI interface of RT1062, could both FlexSPI interfaces work at its full speed 166MHz? How to avoid they interfere with each other?
-- Definitely, they can work simultaneously with full speed 166 MHz when connecting the two FlexSPI port of RT1060 respectively.
In my opinion, the SDRAM is capable of storing the frame buffer for the LCD to display in your application, maybe you can refer to the application note: AN12302 to learn more information about this implementation.
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi Jeremy,
Thank you very much for the clever reply.
To completely eliminate my concern of using RT1062 to drive the LCD mentioned above. I am compelled to seek plain, straightforward answers to some critical questions:
1. Since a 32-bit field is required to store a pixel of 24bpp, I think a memory block of size 1280*800*4 = 4MB is needed to store the pixel data of entire frame. Is it correct?
2. Given that pixel data of each frame take up 4MB, then to achieve 30fps, the LCD bandwidth requirement is 120MB/s, is that correct?
3. Regarding to the bandwidth could be achieved on SDRAM connected to RT1062, could you please give a quantitative calculation instead of your feeling? I am afraid I don't find it in the application note https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication...
4. Regarding to the bus load calculator provided in https://community.nxp.com/message/630104 , its calculation is based on 32 bit bus width, while I care about 16 bit bus width, please advise how to update the formula in the provided bus calculator to fit our needs.
Looking forward to receive your reply. Thanks.
Hi Bin Dong,
Thanks for your reply.
1). Since a 32-bit field is required to store a pixel of 24bpp, I think a memory block of size 1280*800*4 = 4MB is needed to store the pixel data of the entire frame. Is it correct?
-- Yes, however, now we will recommend the developer to organize the frame data in a byte unit like the below code does, it can save the save to store the frame data.
SDK_ALIGN(static uint8_t g_frameBuffer[APP_LCD_FB_NUM][SDK_SIZEALIGN(APP_IMG_HEIGHT * APP_IMG_WIDTH * APP_LCD_FB_BPP, APP_CACHE_LINE_SIZE)],
2). Given that pixel data of each frame take up 4MB, then to achieve 30fps, the LCD bandwidth requirement is 120MB/s, is that correct?
-- Yes.
2) Regarding the bandwidth could be achieved on SDRAM connected to RT1062, could you please give a quantitative calculation instead of your feeling?
-- About the SDRAM performance, you can refer to the AN12437.
3) Regarding the busload calculator provided in https://community.nxp.com/message/630104 , its calculation is based on 32-bit bus width, while I care about 16-bit bus width, please advise how to update the formula in the provided bus calculator to fit our needs.
-- As I mentioned before, the calculation is fit for your application, just input the new value in the corresponding parameter to predict a rough bus bandwidth.
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------