2021-09-23 03:57 AM
Hello,
I would like to use a microcontroller which keeps around 600x800 pixel one image comes from a camera and compresses it. They are very simple functions. It needs at least 600 kB RAM to keep one image. However I could not find a low-cost microcontroller less than 10 $.
Could you recommend me a MCU for that usage?
Thank you,
BA
2021-09-23 04:33 AM
The RAM requirement is much larger than you would find on most microcontrollers. Physically, this is probably much larger than the arm processor core of a "simple" stm32. You might find a cheaper solution by having an external RAM chip.
Having said that, the $10 limit might be possible to beat subject to two issues:
2021-09-23 05:22 AM
Thank you for the reply. I have considered the STM32H7 series MCUs and adding extra RAM solution. But I doubt adding an extra RAM to the MCUs properly. Do STM32H7 series MCUs support it?
What do you think about buffering the one receiving image in extra IC and processing partially in the MCU?
2021-09-23 07:21 AM
There is a solution though kind of, there are these 64 Mb (8 MB) SPI PS RAM
https://www.aliexpress.com/item/1005001922515989.html
https://www.aliexpress.com/item/1005001839058261.html
https://www.aliexpress.com/item/4001237378912.html
https://www.aliexpress.com/item/4000218445956.html
I'd think for real volume use cases, you could approach more formal manufacturers directly.
These can be combined, say with the STM32F4xx series and connecting an image device such as an OV2640.
A main trouble with the design aspects is serial, i.e. SPI do have some pretty real throughput limits. Even if say you can get 50 MHz SPI clocks, that's about 6.25 MB/s max. Then there is the DMA controller, normally only one of them, the fastest or is capable of memory to memory or memory to peripheral transfers.
The contention for DMA use may further limit speeds, as that may need to be shared between the SPI PS RAM and the image device.
This may mean you could hit limits if you are trying to do 'video'.
If you can get something (e.g. an STM32F4xx) that can do QSPI, but I'm not sure if that PS RAM supports it, you may be able to push beyond the simple SPI limits.
I found one from a Google search
http://www.emcu.eu/how-to-program-an-external-qspi-connected-to-the-stm32/
https://www.st.com/en/microcontrollers-microprocessors/stm32f4-series.html
https://www.st.com/en/microcontrollers-microprocessors/stm32f446.html
The good thing about SPI is, it is just about 4 wires SCK, MISO, MOSI, /CS and 2 more for power VDD / GND.
2021-09-23 07:38 AM
can you find a stock of that MCU?
2021-09-23 10:43 AM
You aren't going to find any in the retail distributors at this point, the broker/arbitrage guys saw the short squeeze ages ago.
I bought some of the last stock of H750ZB's out of Mouser in January..
2021-09-23 10:50 AM
They don't support SDRAM on the low pin count devices.
Perhaps look at the OPENMV CAM implementation
https://openmv.io/products/openmv-cam-h7-plus
Clearly in a different budgetary league, but food for thought..
On other platforms people have used FIFO memories to handle high/low bandwidth and capacity mismatches.
2021-09-23 11:22 PM
Thank you the reply. I'll check it out the link. So, I must find a microcontroller which supports SDRAM and less than 10$.
2021-09-24 02:51 AM
You should probably be looking for cameras that have sensor and memory buffering integrated
2021-09-24 03:12 AM
It is a good idea yes, we'll consider it, too. There are really few cameras that provides around 640x480 resolution images nowadays. I doubt that they have these features.