I’m looking for an inexpensive IC that has a USB PHY, USB-MSC stack (composite MSC/CDC a bonus), FATFS capabilities, flash memory (or a fast interface to one), and a serial interface (I2C, SPI, etc.). The goal is to have very low power and low cost data storage accessible locally via, say, I2C, and accessible remotely from a PC or OTG phone via USB flash drive.
I’ve been able to do this with a Cortex-M0+ MCU that has half of its 256kB flash dedicated to a FATFS. The local MCU (MSP430FR4xxx) turns on power to the M0 and sends it data via I2C. The M0 (if it’s not connected to a USB host) saves the new data into a file on the FATFS.
That works great! Two problems, though:
- There is only 128KB of flash.
- The M0 is a $4+ IC.
For item 1, I’ve tried using an SD card (while preparing to use an eMMC IC). The problem there (other than cost, again) was that the M0 only had SPI access to the SD card. That, paired with the M0’s USB stack, resulted in extremely long (> 3 minutes) mount times on a PC (win/lin/osx/android).
I’ve also successfully used an M4 with an SDMMC interface to the SD card. That is super fast, but now the cost has gone way up.
An even higher cost (and higher complexity, though it does work) option is to use a TI 6ch DPST chip to switch an SD card between a USB2244 IC (USB to MMC) and a local MCU. But now the local MCU must have MMC.
Thanks for any ideas.