10-25-2019 06:36 AM
I am attempting to use SDIO via EMIO to communicate with a device. Can someone explain the *_cmdena signals? I know they involve using it as a input to an IOBUF, but I cannot find documentatation on it. Do I simply hook up to the T input of an IOBUF or does it need to be inverted?
11-08-2019 10:18 AM
10-25-2019 12:09 PM - edited 10-25-2019 12:10 PM
In a situation like this, when you're not sure what to do, you should ask yourself one question: WWXD? (What would Xilinx do?)
That's easy to figure out.
First, select the troublesome interface pin on the MPSoC IP in your block diagram, and then hit <CTRL+T> to elevate the interface to a top-level interface port.
Then synthesize the design and open its schematic.
Be sure to open all of the hierarchy levels between the two points of interest (the PSU and the IO cell, in this case).
As you can see, Vivado is inserting a LUT to do an inversion between the high-active ENA pin in the PSU interface, and the high-active TRI pin of the IO cell.
11-08-2019 10:18 AM
07-27-2020 02:34 PM
Hello, I'm trying to do some similar and maybe you can help me. Here is what I have:
I'm not sure how to wire up the SD Clk. I am new to this and from what I've found I need to use an IOBUF on the Bidirectional signals. I got the CMD and the DATA but the CLK I don't know what to connect the T port to? Should it be connected to the same T port as the CMD?
07-28-2020 07:44 AM
SD through EMIO supports only the lowest speeds, so the clock is always driven by the PSU--it's never the inbound "receive" clock used by faster protocols.
Absent a tri-state control output pin from the PSU (~.T), I would simply ground the tri-state control input pin of your IO buffer. The clock will always be driven out, and the feedback clock will always be returned.
07-28-2020 12:08 PM
Hello, thank you for responding to my post. How about this:
On another post it was suggested to tie the tri-state control input pin high. Am I wrong? What do you suggest?
07-28-2020 12:22 PM
You should ground the .T pin:
Also, you needn't create RTL to do this. Vivado has a "Constant" IP that can be used to connect inputs to constant logic high (1) or low (0).
07-28-2020 12:34 PM
Yep! Thank you very much. I was just looking at the UG571 page 54 but your reference is must more detailed. Thank you very much. Do you know if there are any examples of the PS side that I can try read/writing to an SD card?
07-28-2020 12:48 PM
Sorry; I'm just a HW guy. Accessing SD is almost as miserable an experience as accessing USB: you really need layers of SW to get anything done, and I'm not familiar with the specific processes and functions. (I rely on U-Boot and Linux commands to do anything with such interfaces.)