Skip to content

AXI Host Controller for Embedded Multi Media Card

Baktiiar Kukanov edited this page Jun 2, 2017 · 7 revisions

Scope

This RTL design is to develop open hardware SD/eMMC host controller. Speed up the data exchange with memory cards in a low power consumption technology. It creates a basis for a flexible extension of a memory card massive that allows to increase capacity, read/write data rate, reliability and security by using technology like RAID.

Introduction

This controller has been developed on standard SD and eMMC specifications and integrated with embedded Linux Arasan SDHCI driver. The controller can be separated to control and user plane. It has two AXI ports to communicate with ARM processor and one SD bus to connect with memory card (figure below). AXI4 or as well known as AXI4_full interface is mainly used for transferring data to/from memory card. Controller is a master in AXI4 interface and directly driven by DMA. AXI4_Lite protocol cares control transactions to manage controller. Controller is slave in AXI4_Lite interface and PS side writes/reads data to control registers to manage controller.

img_1

Features

The eMMC/SD card host controller provides following features:

  • 1/4/8-bit eMMC/SD SDR50 mode (does not support SPI mode)
  • 8-bit eMMC DDR50 mode
  • Compliant to ARM® AMBA® AXI4
  • ADMA engine for data transfers
  • Interrupt generation on completion of data and command transactions
  • Configurable data transfer block size
  • Compatible with Arasan SDHC driver

Content:

  1. Control register map
  2. Advanced DMA
  3. Auto CMD23 feature
  4. Reference list
  5. Performance tests