Hello, I've been strugling with de micro-sd card in Nexys-4 for quite some time.
I'm using the code at sd_spi.vhd by Lawrence Wilkinson, but the FPGA never gets a valid answer from the card so it keeps looping forever (CMD8)
I think I've checked all the obvious things :
- Trying an old card, just in case SDHC was not properly suported
- Booting the FPGA from the SD card (not USB), to check that the physical circuits were working properly
- Trying with 3 different Nexys 4 boards
- Lowering clock frequency to only a few hertzs (normal speed should be 50MHz, and a counter insides L.W. code slows it down for start-up)
- Making sure that all jumper settings were put to SD
So it's time to ask if someone has tryed to do the same with this board. I just need a simple way to read data from the SD card. I don't need a file system and using an embedded processor is too much hassle.
Also, to avoid you the burden of downloading it, these are the pins I've being using (just in case is something that embarrasing obvious as using the wrong pin):
Question
Roberto_UDC
Hello, I've been strugling with de micro-sd card in Nexys-4 for quite some time.
I'm using the code at sd_spi.vhd by Lawrence Wilkinson, but the FPGA never gets a valid answer from the card so it keeps looping forever (CMD8)
I think I've checked all the obvious things :
- Trying an old card, just in case SDHC was not properly suported
- Booting the FPGA from the SD card (not USB), to check that the physical circuits were working properly
- Trying with 3 different Nexys 4 boards
- Lowering clock frequency to only a few hertzs (normal speed should be 50MHz, and a counter insides L.W. code slows it down for start-up)
- Making sure that all jumper settings were put to SD
So it's time to ask if someone has tryed to do the same with this board. I just need a simple way to read data from the SD card. I don't need a file system and using an embedded processor is too much hassle.
If anybody wants to give it a try, the code is here: Project code (Constraints only for Vivado)
Also, to avoid you the burden of downloading it, these are the pins I've being using (just in case is something that embarrasing obvious as using the wrong pin):
set_property -dict { PACKAGE_PIN E2 IOSTANDARD LVCMOS33 } [get_ports { SD_RESET }];
set_property -dict { PACKAGE_PIN A1 IOSTANDARD LVCMOS33 } [get_ports { SD_CD }];
set_property -dict { PACKAGE_PIN B1 IOSTANDARD LVCMOS33 } [get_ports { SD_SCK }];
set_property -dict { PACKAGE_PIN C1 IOSTANDARD LVCMOS33 } [get_ports { SD_CMD }];
set_property -dict { PACKAGE_PIN C2 IOSTANDARD LVCMOS33 } [get_ports { SD_DAT[0] }];
set_property -dict { PACKAGE_PIN E1 IOSTANDARD LVCMOS33 } [get_ports { SD_DAT[1] }];
set_property -dict { PACKAGE_PIN F1 IOSTANDARD LVCMOS33 } [get_ports { SD_DAT[2] }];
set_property -dict { PACKAGE_PIN D2 IOSTANDARD LVCMOS33 } [get_ports { SD_DAT[3] }];
Thanks in advance
Roberto
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.