USB Flash Memories are an important accessory in today’s embedded systems without which, they would be limited in space. Many devices such as digital cameras, PDAs, mobile phones and laptops would like easy access to data. What could be easier or more flexible as the USB Flash drive? Flash memories have paved way in all kinds of portable and non-portable devices. Any system with or without a USB port can read from or write to the flash memory with the help of a flash memory controller.
To have a better understanding of the design of USB flash controllers, let’s walk through some reference designs of USB Flash Controllers with complete schematics, design files, source code and application notes.
- High Speed USB Controller: This reference design describes a USB Mass Storage device using a SD/MMC-card for storage using high Speed USB for communication. The design is based on AT32UC3A3 which performs high-Speed data transfer between MCU and PC. An SD/eMMC interface between MCU and SD card allows data transfer between the two devices. An optional AES encryption/decryption feature can be enabled to secure the data from unauthorized access. The design includes schematics, application note and a high-level description of the source code involving the USB and SD stacks. More on this Reference Design
- USB Flash Drive Controller Using SPI: This is a programmable USB host controller that allows mass storage devices to exchange data from one point to another without the aid of the PC. Some embedded systems that do not have a Windows or Linux OS and a USB host can easily access data with the help of flash drive. The embedded system reads and writes data to and from the flash drive using the SPI interface. The main component of this design is the Cypress’s CY7C67300, a programmable USB host/peripheral controller that adds USB host functionality to the system. More on this Reference Design
- High-speed Flash Drive Controller based on 8-bit MCU: Here is a high-speed Flash drive controller suitable for interfacing a wide range of NAND Flash memory devices. The design provides a high data transfer rate solution using the USB 2.0 high-speed interface. An embedded ST7 8-bit MCU performs data transfers. With support for Windows (Vista, XP, 2000, ME), Linux and MacOS operating systems, the design consumes less than 100 mA during write operation with two NAND Flash devices and less than 500 μA in suspend mode. The design supports 2KB-page NAND Flash devices from many companies such as Samsung, Toshiba and Renesas. LEDs and write protect switch control are available. This reference design includes schematics, BOM and Gerber files. More on this Reference Design