Custom EMX-Based Design - Reducing the SD Clock Frequency


I am currently working on test firmware for a system I have developed. The complexity and density of the design required the use of long signal traces for an included SD card slot. A combination of this and use of a flat cable to connect to an interface board has lead to a significant amount of ringing on the SD card lines. This inevitably caused various exceptions to be thrown using code that functioned correctly on a similar design. By adding a small capacitor (~20pF) on the clock line to ground, I have been able to clean up the clock signal edges enough that the SD card interface is functional. However, the cable used is now the critical issue. While a short, “perfect-world” cable allows for correct operation, some longer cables do not. Since the customer, for whom I am developing this system, will be sourcing/supplying the cables and developing some of their own firmware, I am hoping to develop a contingency plan, through firmware as well. Is it possible to decrease the SD card signal frequencies? If so, how can this be implemented? Thanks in advance for your time and consideration.


I think this can only be done by adding this feature to the firmware. If this is a must have then please contact GHI directly about the consulting services we offer.

Have you tried to write an other value to the PCLKSEL1 (address 0xE01FC1AC) register? Bit 24 and 25 select the PCLK_MCI, which is the clock used by the SD/MMC card interface.

Thanks for your response Wouter. I will be including that as an option!