Please fill in the form and we will get back to you soon!
We appreciate you contacting iWave. Our representative will get in touch with you soon!
Get in Touch
We appreciate you contacting iWave. Our representative will get in touch with you soon!
Thank you for subscribing to our newsletter!
Design and Implementation of SD/SDIO Host Controller 3.0
For many years, SD cards have been the de facto standard in the industry for data storage. It is a flash-based memory card well known for its high capacity, compact package, and security. SD cards are used in thousands of products, including digital cameras, smartphones & tablets, and other portable devices.
SD/SDIO Host Controller IP Core allows an embedded system to access an SD card or SDIO device via I/O pins of the FPGA and enables easy integration with the rest of the system. It acts as a mediator between a processor and an SD card enabling the command and data communication between the SD driver and SD card.
The iWave SD/SDIO Host Controller IP is fully compliant with SD Host Controller Specification Version 3.0 and Physical Layer Specification Version 3.0. It enables the host to access SD memory cards or SDIO devices. The IP has native support for all SD/SDIO commands and supports SD, MicroSD, SDHC, SDXC, and SDIO cards.
Following is the block diagram of SD/SDIO Host Controller 3.0 IP, which consists of the following main blocks:
Command Path Logic to implement the logic required for sending commands to the SD card and receiving the response from the SD card.
Data Path Logic manages the process of writing and reading the data between the host and the SD card. The buffer block can handle up to 2KB of FIFO on each read and write direction.
The standard SD Host Register Set stores all the SD host controller configuration and status information of the SD host controller. Several registers are implemented as per the SD host specification, including the Response register, Command Generation register, Buffer Port, Configuration, and interrupt Control register.
The ADMA module manages the data transfer to and from the host memory during write and read operations.
Tuning block implements the tuning logic as per the SD specification using the FPGA device-specific IO primitives.
The SD Host Controller IP supports default speed, high-speed and operations up to 104Mbps and 1-bit and 4-bit SD transactions. The built-in 2KB data buffer enables efficient communication with the host processor at low interrupt latency.
Key features of the SD/SDIO Host Controller are
Support Default speed and High-Speed including SDR12, SDR25, DDR50, SDR50 andSDR104 modes
Includes ADMA2 (scatter-gather) engine
Programmable 1-bit, 4-bit bus width
Supports both single block and multi-block data transfer
Supports 32-bit AXI4 memory mapped interface towards host processor
Supports 32-bit AXI4 lite interface toward SD Host Controller
Cyclic Redundancy Check (CRC) for command and data
Supports timeout monitoring for the response, data, CRC token & busy
Support for the following UHS –I modes of operations ensure compatibility with any card available in the market.
SDR12 – SDR up to 25MHz 1.8V signalling
SDR25 – SDR up to 50MHz 1.8V signalling
SDR50 – SDR up to 100MHz 1.8V signalling
SDR104 – SDR up to 208MHz 1.8V signalling
Benefits
The IP architecture leverages power management techniques, making it ideal for low-power applications
Highly configurable IP offering fast system integration and reduced design risk and cost
Low latency and high bandwidth for best system performance
Support for a wide range of standards enables system flexibility for embedded and extended storage
The IP ensures compatibility with previous and next generation SD standards
The SD Host Controller IP is developed in Verilog HDL and validated on multiple FPGA platforms including Xilinx, Intel, Lattice, and Microchip. Check out the resource utilization document for more information.
The SD Host Controller IP is available in two variants
Simplified Bare-metal driver for non-SoC FPGA devices
FPGA vendors support bare-metal SD drivers on their soft cores to configure the registers using the AXI4-lite interface, while the AXI4-MM interface is used for data transfer in DMA mode
Bare-metal SD driver supports the SD card initialization and basic write/read operations required for proving the IP functionality
Linux Driver for SoC devices
Linux SD driver running on the Arm cores supported by SOC devices will configure the registers using the AXI4-lite interface and the AXI4-MM interface is used for the data transfer in DMA mode
User can perform all operations such as mount, patriation, and other operations supported by the standard Linux driver
iWave offers a complete IP solution for its SD/SDIO Host Controller IP consisting of RTL code or netlist, synthesis scripts, test environments, and comprehensive documentation, all backed by its world-class customer support.
iWave is an embedded systems engineering and solutions company, designing solutions for the Industrial, Medical, Automotive and Avionics vertical markets, and building on our core competency of embedded expertise since 1999. Read More…
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. Read more about our Privacy Policies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.