Adding a uSD Socket to a FRDM-K22F Board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Adding a uSD Socket to a FRDM-K22F Board

742 Views
myke_predko
Senior Contributor III

After having some difficulty putting the Molex SD-105027-001 socket onto a FRDM-K22F board, I wanted to impart a few hints to anybody that wants to do this on the K22F or any other boards which have the same footprint. 

 

Parts and tools:

  1. Load the attached application ("k22f_sd_card_01") which was created in KDS 3.1 with KSDK 1.3 and PE 3.0.2.  This will continuously poll the five pins associated with the SD card socket. 
  2. Make sure you have a good quality, Lead-Free solder, flux and soldering iron with a tiny tip as well as a larger tip for heavier soldering.  For the pins, I used a needle point soldering iron which goes down to 0.2mm (I did say "tiny").  This is not something that can be soldered on using a $20 Radio Shack soldering iron. 
  3. You might want to buy a few extra sockets as you will probably screw up the first one or two. 
  4. A 3" or so length of breadboard hook up wire. 
  5. A Digital Multi-Meter

 

Installation Steps:

  1. Familiarize yourself with the circuitry around the socket site (J8).  I recommend that you look at the K22F schematic top right hand corner of the third page.  Note that "G1" is actually between "P4" and "P5" which makes things a bit confusing. 
  2. Load the "k22f_sd_card_01 application into your K22F card and start checking the pins following the order given in the reference list below.  Insert the 3" piece of breadboard hook up wire to J25 pin 4 (Vcc) and touch the pads (and later the connector pins to make sure they are soldered and not shorted). 
  3. Put flux over each pin before putting down the socket.
  4. Solder the pins according the order set out in the reference list below.  Remember to test each pin after each pin is soldered (this is especially important for the four middle pins that are very close together).  After soldering the pins, test the connection by lightly touching the DMM probe or the breadboard wire to the socket pin to ensure there is a solder connection.  Pressing down hard could make it look like there's a solder connection where there actually isn't. 
  5. When the pins are soldered and the joints verified with no shorts to adjoining pins, solder the four main pins on the socket. 

 

Pin Reference:

This is starting with "P1" and then going down to "P8".  Because "G1" is located between "P4" and "P5", I found it easier to think of them in terms of pins 1 through 9.  The list below is the order I found it best to solder the pins:

   1.  "P1", use DMM to check connection to TP20.

   9.  "P8", use DMM to check connection to TP24. 

   4.  "P4", use DMM to check connection to 3.3V.  I check for connection to J6 pin 2.  Make sure not shorted to any other pins. 

   5.  "G1", use DMM to check connection to R42.  Run application and use breadboard wire to validate operation.  This is "SD_DETECT".

   6.  "P5", use DMM to check connection to R35.  Run application and use breadboard wire to validate operation.  This is "SD_CLK"

   3.  "P3", use DMM to check connection to R40.  Run application and use breadboard wire to validate operation.  This is "SD_DO"

   2.  "P2", use DMM to check connection to R37.  Run application and use breadboard wire to validate operation.  This is "SD_CS"

   7.  "P6", use DMM to check connection to Gnd.  I check for connection to J6 pin 1. 

   8.  "P7", use DMM to check connection to R49.  Run application and use breadboard wire to validate operation.  This is "SD_DI"

 

Good luck!

 

myke

Original Attachment has been moved to: k22f_sd_card_01.zip

0 Kudos
2 Replies

379 Views
BlackNight
NXP Employee
NXP Employee

I have created a demo project for the SD card on the FRDM-K22F using FatFS (attached).

It includes a command line shell: connect to the OpenSDA USB CDC with 38400 baud.

I hope this helps,

Erich

0 Kudos

379 Views
myke_predko
Senior Contributor III

Hi Erich,

Sorry I've been quiet on the issue - I've been working through this on my own and I have posted a console interface with full read-write capability here https://community.freescale.com/message/612390

I'd like to ask you if you have tested your WRITE_MULTIPLE_BLOCK code - there seems to be some confusion on how the stop token works and it seems to me that it does not return a 0xE5 byte like the other token commands (it just returns 0xFF after it is executed).  Your SD1_SendCmd code is basically identical to the "Generic" example from ChaN's website, but when I tried to get it working, I found that 0xE5 is never returned after the 0xFD token is sent.  Looking at other examples, I discovered that the 0xFD token is just sent but nothing is checked. 

I'm going to follow up with ChaN on this issue. 

Thanx for your help and sorry I've been quiet - I had a number of issues to resolve (the 0xFD token being one of them) as well as a few distractions. 

myke

0 Kudos