Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

4 bit SD mode interface to FPGA

Status
Not open for further replies.

mnipsy

Newbie level 4
Joined
Jun 25, 2012
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,342
Hi there,

Can FPGA read and write SD card in 4 bit SD mode?
The DAT[0:3] lines are bi-directional in this case.
It seems hard to deal with it.
Any ideas or should I purchase some written SD mode driver (where can I find it?)?

Many thanks!
 

I think bidirectional bus operation is a problem because I was thinking I can only assign a line to be either input or output in FPGA's GPIO. If it's bidirectional, I would have difficulty to tell part when it works as an input line and when it works as an output line.

Thanks for sharing the project!
But I haven't had a full account.. Can anyone upload it?
Thanks in advance.
Otherwise I have to wait two days until my account in OpenCores get approved.
 

If it's bidirectional, I would have difficulty to tell part when it works as an input line and when it works as an output line.
Apparently you are not very familiar with digital logic design. The "difficulty" reduces to an output enable signal.
 

to implement the bidirectional signal 'test' , u create three signals test_i, test_o and test_o_en
In verilog:

test = test_o_en?test_o:1'bz;
test_i = test;
this is how you create a bidirectional signal 'test'.

It cannt be more simple than this.
Jose
 
  • Like
Reactions: mnipsy

    mnipsy

    Points: 2
    Helpful Answer Positive Rating
You're right.
I'm new to logic design...

But where's this output enable signal?
Is it just the CMD line in the SD card?

Sorry for asking you too much and thank you!

- - - Updated - - -

It's quite useful. Right now, I just try to find where the test_o_en is for the SD card.

to implement the bidirectional signal 'test' , u create three signals test_i, test_o and test_o_en
In verilog:

test = test_o_en?test_o:1'bz;
test_i = test;
this is how you create a bidirectional signal 'test'.

It cannt be more simple than this.
Jose
 

The output enable is an additional signal that has to be provided by the SD card controller.
 
  • Like
Reactions: mnipsy

    mnipsy

    Points: 2
    Helpful Answer Positive Rating
you create a signal named test_o_en in your design and assert it whenever you want to send something on your bidirectional 'test' signal. Drive '0' on it when you want 'test' to be in input mode.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top