

The adapter should present to the host a formatted disk. It includes an FPGA, a DRAM, the voltage regulator, and a micro SD card socket. I have to figure out how to fit everything in 2.1mm by 32mm by 24mm. This problem is partly mitigated with the MMC specification. But the simplified specification is badly written besides having some parts omitted. I don't have the latest SD full specification. sd_host_if_dat3_pullup is connected to CD/DAT3 through a 47KOhm resistor. sd_host_if_dat, sd_host_if_cmd, and sd_host_if_clk connect to the corresponding pins of an USB SD card reader. My connection is configured in the file adapter/adapter.srcs/constrs_1/new/sd_host_if.xdc. Since I don't have a PCB yet, I am testing my code on a Digilent Arty S7-50. I'm currently using the Microblaze, but I don't mind switching.

A soft CPU is also used for things like initialization and updating image metadata. Encryption and decryption of the disk image is done in hardware. This adapter should take a fraction of that.Ī DRAM stores the grain mapping. The maximum power of a removable SD card is 1.80W (data from SD simplified spec v6.00, might change in v7.0). Why not a cheaper FPGA? Because I want it to eventually support SD Express (PCIe 3 with 1GB/s of throughput) without consuming too much power. My plan is to use a Xilinx Artix FPGA and a DRAM. Next I should be making the PCB and case. I can connect my development board to a normal card adapter and access it as a normal SD card.
