We have working and well tested SD card code, running in 50MHz High Speed mode, SDR, 4-bit.
The only difference is a slightly higher capacitance between data/clock lines and ground.
All lines have been scoped, the signals and their eye diagram indicate very good signal integrity.
Communications failures occur early, even at the 400kHz initial rate where the eye diagram is essentially a perfect rectangle.
With our older Kinetis processors (same transfer speed and mode) it works perfectly - we only started seeing problems when running the same ribbon cable on i.MX processors and their much more advanced USDHC peripherals.
Any suggestions on what may cause this would be most welcome.
Thank you!
The initial rate is 400kHz or just below.
Scope images and PCB layout attached.
The cable has been verified to work with several other processors and several SD card readers attached to a PC and it is working with every device tested, except IMX. The IMX board and code is verified to work when connecting a card directly to the origin (near processor) SD card jack.
The initialization procedure fails at varying locations, sometimes it gets all the way to high speed, but sometimes it will not pass even the earliest commands at 400kHz.
Hello,
Thank you in advance for the response.
As you mentioned before the i.MX RT board and code is verified to work when connecting a card directly to the origin (near processor) SD card jack. So this is what we would recommend in this case in order for not facing troubles.
Hello,
Thank you in advance for contacting NXP support.
Based on the information proportionate I understand that this problem is only visible with the FlexPCB cable that you mention that has a slightly higher capacitance. Can you please share some of the signals of this on the oscilloscope. In order to find the root cause of this. Also is important to mention that if the initial rate is over 400kHz this could affect the function of the SD.