This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TXS02612: Problems concerning reading an SD card

Part Number: TXS02612

Hello, 

I currently have some trouble reading my SD CARD using the TXS02612RTWR. I have a custom board where I use an FPGA the TI60F100S3F2C4 to operate read and write operation to an SD card and the TXS02612RTWR role is to translate the 1.8V signal from the FPGA to 3.3V to the SD card .

For testing purpose, I write a pattern of "0" on my SD Card which correpond to "30" in hexadecimal and I try to read this pattern back. I have no problem writing to the SD card but when I read back the pattern I have errors on my reading. 

To make sure that it wasn't due to the writing I put the SD card on another board and it reads correctly the pattern I wrote.

So I started probing the signals of my SD card. First using the Integrated Logic Analyzer (ILA) from my FPGA and I got these results (see pictures)

When I am writing "30" there is no problem on the data channels ("1100" = 3 and  "0000" = 0). However when I am reading the pin sdcard_data2_IN who should be low is high and is giving the FPGA wrong values.

Then I put probes on the 3.3V side and I observed that sdcard_data2_IN has some noises see pictures.

The noise has a frequency of 50 MHz and a peak voltage of 329 mV. With these measures, I am certain that sdcard_data0/1/3_IN are stable but the problem comes from sdcard_data2_IN. 

Just in case I tested with other SD card from other manufacturers and I got the same problem. I tried using a lower frequency for sdcard clock (Originaly 12MHz to 97KHz) but it also didn't work.

I am sure that my traces are correct for the sdcard. They have a width of 0.09mm a spacing of 0.1 mm. The clock of the sdcard has a spacing of 0.4 mm in order to isolate it from the others signals. They also have the same length matching, and impedance. You can find below my schematic and routing.

Note : There was an error on the pin VCCB1 which wasn't connected to a supply, I corrected it by adding a 3.3V same as VCCB0, but it didn't correct my problem.

So I want to ask if the problem may come from the TXS02612, am I using it correctly or it because there is a bad initialisation of the SD card ?

Best regards,

  • Hey Fabien,

    Several questions here. 

    The noise having a specified frequency makes me think that it could be a potential crosstalk issue with signals nearby. Are there any 50MHz signal traces not shown in the snippet of the layout? The signal also appears to have a slow rise time, similar to an RC curve that seems like its related to a loading issue as well. How long are the traces from FPGA to TXS02612 and from TXS02612 to the SD Card? What is the data rate of the signals of sdcard_data0/1/2/3_IN? 

    You mentioned that the reading of a different SD Card works- what is different about this board? Could you elaborate? 

    Thanks,

    Jack 

  • Hello, 

    I don't have any traces with a frequency of 50Mhz, however I do have some quartz oscillator (25MHz and 74.25MHz) and a USB connector on top of the SD card signals. (see pictures top and bottom)

    Concerning the trace length of the SD card from the FPGA to TXS02612 we have 23.23mm and from TXS02612 to SDcard we have 16.60 mm. However, I don't know what is the data rate of the SD card data signals.

    Let me explain this part " reading of a different SD Card works-".

    I have two boards : my custom board and a developpment board which has an SD card interface that is working.

    I implemented an SD card interface on my custom board which I want to test by writing and reading a pattern. I know that the write operation work well because the pattern I wrote using my custom board can be read on my development board.  What is not functionning however is the read operation on my custom board, where I don't have the same pattern due to noise. I also used different SD card to make sure that is wasn't due to a faulty card.

    I do suspect that the USBC connector can generate the 50MHz noise on my data line or disturbing the TXS02612 because he is right on top of them, but what do you think can be the cause ?

    Best regards,

  • Hey Fabien,

    With the given info so far, its hard to give a firm answer- though the crosstalk noise goes up to 330mV and can cause a higher VOL at the output of TXS02612 due to the direct dependency the input has on the output as shown in this FAQ. This higher VOL could then be above the VIL max requirement of MCU, resulting in a false logic high. It could be worth disabling/removing the quartz oscillator to see if the crosstalk mitigates. Furthermore, if there are any internal pullups to the MCU, please disable them as to not contend with the internal 40k/4k pullups of the TXS02612.

    However, I don't know what is the data rate of the SD card data signals.

    If possible, are you able to confirm that the operating data rate is within the recommended range of the TXS02612?

    Regards,

    Jack