• 0
Mahdi

Setting up ZYNQ on Arty Z7-10 to write to the SD card on PL side

Question

Hello,

I am trying to develop a simple verilog code on Arty-Z7-10 that writes to the SD card on the PL side, without having to use SDK software. To do so, I believe I need to setup my SD card pins as EMIO in the ZYNQ and modify the constraint file to uses correct pin mapping. However, I wonder if anyone has done such type of coding before and is able to provide me with more detailed information. I found this tutorial which has tried to do same thing with SPI, but it was not very detailed.

https://forums.xilinx.com/t5/Xcell-Daily-Blog-Archived/Adam-Taylor-s-MicroZed-Chronicles-Part193-The-Zynq-SoC-s-EMIO/ba-p/764971

I also found such SD card controller for Nexys4 board, while it seems a bit challenging to get it to work with Arty Z7 board due to different pin mappings.

https://web.mit.edu/6.111/www/f2015/tools/sd_controller.v

Any help is appreciated.

 

Thanks,

Mahdi

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Hi @Mahdi,

I have not written to the sd card in hardware only with a ZYNQ processor. When I have some more bandwidth towards the end of next week I will attempt this kind of project.  In the  mean time I did find a forum thread that discusses adding a second SD card to a zynq processor here. I would also look as the reference manual under 7 microSD Slot as well.

thank you,

Jon

 

Share this post


Link to post
Share on other sites
  • 0

Hi @jpeyron

I have been looking at the references provided and had some success communicating with a PmodSD using a modified version of the code from the MIT website. However, I am having difficulty interfacing this code with the on-board SD card slot. What is confusing is that the SD input/output ports on the ZYNQ are split when exposed through EMIO. Do you have any recommendation on how to interface with the EMIO ports directly?

Thanks,

Mahdi

Share this post


Link to post
Share on other sites
  • 0

Hi @jpeyron

I looked at the link you shared and if it is true what it says, I can only access the SD slot through SDIO controller when enabled through MIO. Does this mean that I can not control the SD card using a Verilog source code and I have to communicate with it only on PS side?

My question is exactly similar to the forum you shared. I am trying to access SD slot on-board of Arty-Z7 on the PL side, rather than PS side which is normally what people do. I used the PmodSD because I did not know how to get the on-board SD slot to work and PmodSD was for testing. At the end, my purpose is to write to the SD card mounted on the on-board SD slot in the PL side, but apparently nobody has an straight answer for that.

Best,

Mahdi 

Share this post


Link to post
Share on other sites
  • 0

Hi @Mahdi,

I'm sorry that my initial comment could be miss leading. Looking further into the topic the SD is tied to the PS .  You would not be able to directly interface to the SD card through the MIO pins.  I did find a thread suggesting it is possible indirectly here.  Are you trying to eliminate using the PS for efficiency?

thank you,

Jon 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now