cancel
Showing results for 
Search instead for 
Did you mean: 

What MCUs would be appropriate for a low power, high UART count, external RAM and ROM application

magene
Senior II

We need to replace an end of life ARM 9 based SOM and I could use some advice on what ST Micro MCU would be a good replacement. The requirements that seem to be driving the choice are low power, 9 or more UART/USARTs, 2 or more I2C, at least 8 Mbytes of external RAM and something like 4MB of external flash. And enough pins that we can have all of that at the same time. I've been looking at the F413 and the H725 or H730. The H parts have about 30% higher run time current/MHz but have a lot of what appear to be really useful features like 1) they have octoSPI which uses fewer pins for external memory which means more pins for UARTs and I2C. And 2) since I have to do a lot of UART comms that I want to be non-blocking, the MODBUS character match interrupt on the H parts seems really valuable to enable DMA transfers without having to know how many bytes are in the message.

These are the most sophisticated chips I've had to design a board for. The F413 seems pretty straight forward but the H parts seem a little scarier. I'd value input from anyone who has actually designed boards with either of these parts (or even similar parts) and maybe even a recommendation for a consultant who might be able to help or actually do the work.

Thanks

3 REPLIES 3
Pavel A.
Evangelist III

If you must have external RAM, it will consume a lot of pins. Unless it is used for data, then it can be serial.

One of my customers in this case uses UART extender such as this. But they do not need low power.

-- pa

magene
Senior II

Thanks for the input. Can you explain a little more what you mean by "Unless it is used for data, then it can be serial"? The SOM we're using right now has a lot of external RAM and I use if extensively to make sure all my data is statically allocated, for FIFOs between devices and the main code to minimize blocking and things like that. I've been assuming that I2C or SPI RAM would be too slow for this kind of use.

We're using I2C/SPI UARTs like that one right now with our older SOM. As you say, they take a fair amount of power. I've been using STM32CubeIDE to make sure I can actually map 9 UART pins along with external memory and all the other IO we need. I can make it work on the F413 with muxed PSRAM and SPI flash. I haven't tried it yet for the H parts but they're available in packages with more pins so they "should" work also.

> Can you explain a little more what you mean by "Unless it is used for data, then it can be serial"?

RAM used to store data can be accessed in sequential bursts (with a proper controller) to save driving the address with every byte/word.

And you can use DMA to free the CPU from moving data.

Execution of code usually requires full random access, this is reasonable at least with octo-SPI and cache.

> 9 UART pins along with external memory

This is great. In one of our recent projects we could not assign more than 4 UARTs with FMC memory bus, for BGA240 chip.

-- pa