Primitive , 10-09-2017, 10:15 AM
Hello everyone, Robert !
I started learning hardware design in your video 2 years ago, since then I never add big trouble with my projects. But right now I'm facing a hardware issue that I can't solve myself. I've tried everything I could without success, and I don't want to send new prototype for manufacturing without being sure that I know the source of the problem !
So here it is : I'm developing a music sequencer for modular synthesizer, it's based on a stm32 chip, and I placed a SD card reader to store projects on the last prototype. Problem, the SD Card doesn't work. At first I thought it was a software problem, but when I probed the communication pins I found out that something was wrong. There is some sort of "capacitive effect" going on when the host try to communicate with the SD card.
Check photo 1 for the oscilloscope response : yellow is the clock and blue is CMD Pin. During initialization signal is very slow (400kHz). When the SD Card "answer" to the host, the clock signal as well as the CMD signal "charge" and doesn't go back to ground. At one point the SD Card stop communicating, and the error appears. The first few response from SD Card are correct. In ST document AN4661 (hardware recommendations), they recommend a 50Ohm trace impedance, but it's impossible given my design (I would need 2.6mm wide trace).
So my question is this : Have you ever encountered such problem ? If yes, what could it be ? Length matching ? Bad grounding ? Trace impedance ? Bad power ?
I also put a screen-shot of the connections between the SD Card reader and the micro-controller.
What I tried so far : change the pull-up resistor value (from 10k to 100k). Add resistor in series with the communication line (22R, 150R, 1k). The 22R resistor improved a little bit, there was like 1 more communications with the SD card but that's it.
Thanks a lot for your help.
Best,
Mathieu