Pages: [1]   Go Down
Author Topic: building a SD cardreader (SDIO interface)  (Read 451 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 2
Posts: 84
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi all,

This is a follow-up on my last post (http://forum.arduino.cc/index.php?topic=225376.0), where the topic got to far away from the original question, so I'll ask my new question here smiley smiley

Basically, I'm trying to make an USB card reader for a microSD card. I have to use the SDIO interface for that, not the more common SPI interface (although there are shared pins between the two interfaces).

There is a chip called the VUB300 by Saelig (http://www.saelig.com/supplier/elan/ES431-VUB300%20Datasheet-v14.pdf) that is designed to do just that: if you hook it up correctly it enables you to make a USB flash drive-like device that uses a (micro)SD card as data storage.

For the moment, I can't get it to work, but I'm guessing I'm missing something obvious. I don't have a lot of experience in electronics so that's the most logic explanation.

First of all, I'm not 100% certain that I soldered the chip correctly, although it certainly looks like all the pins have been correctly connected. I've put 2 pictures as an attachment. I had my soldering checked by an electronics guru at work and he told me that he thought everything is connected as it should be. However, I have to bear in mind that there MIGHT be an error somewhere.

Back to the datasheet. I have put everything from the 'main block' (page 10) around the chip. Using my scope and multimeter, I checked that there is 3.3V present on pins 6,14,22 and 36. If I measure with the scope between ground and either XTAL1 or XTAL2, I see a clean clock at 72Mhz, which I've been told is an harmonic of the 24Mhz chrystal and probably doesn't causes the problem.

Instead of using a PCB mount USB connector I used a short USB cable (15 cm) which I did cut up. I soldered the shield to GND and connected USB+ and USB- to the corresponding pins on the VUB300.

For the power supply, I did not make this as drawn in the schematic, I already had a regulated 3.3V source available with enough current.

My first guess is that I'm missing something on the USB socket part (page 12), and especially on the power supply part. I did not connect anything of those components, as I figured that the 5V needed is supplied by the host PC that will get the USB stick plugged in. So, the red wire from the USB cable (which is the one labeld vBUS) runs nowhere on my board. I did however put a 1uF elco in between vBUS and GND, just because I read on a forum that unplugging the USB cable while current is being drawn might otherwise damage this chip. Secondly, if I would have misinterpreted the USB-part, I might have crossed D- and D+. I did connect it as stated in the datasheet (D- to USB- and D+ to USB+) -->green cable to pin 2, white cable to pin 3.

When I plug the thing in the computer, it tells me it has found 'unknown' hardware. There is a specific driver for the VUB300 available, but I never get the 'new hardware found' wizard which would allow me to select that driver, so I'm guessing something is off before that.

Any suggestions are very welcome, I don't mind trying different things out. I have a 200Mhz scope so I can do measurements if somebody can point me to a potential problem. I'm just trying not to blow up the chip as it was a real pain in the *ss to solder it to the breakout board.

Thanks a lot!
Jens




* DSC00990.JPG (156.88 KB, 588x441 - viewed 21 times.)

* DSC00989.JPG (143.89 KB, 588x441 - viewed 19 times.)
Logged

0
Offline Offline
Shannon Member
****
Karma: 206
Posts: 12113
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

That chip is too fast to work with a standard breakout board like that - the differential
signals to the USB connector _must_ be the correct impedance (and preferrably ultra-short),
the signals to the SDcard holder short (1 or 2cm is good).  Suitable ground plane design
is required and experience with ultra-high speed signals is useful to have. You're dealing
with USB 2.0 which clocks at 480MHz with rise and fall times measured in picoseconds.
Logged

[ I won't respond to messages, use the forum please ]

0
Offline Offline
Jr. Member
**
Karma: 2
Posts: 84
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok got it. Looks like I'll try to design a custom PCB to test the functionality then. I read everywhere that a 4-layer board is recommended. Would this really be necessary? I'm thinking to make a GND plane and run the USBDP and USBDM line through it, with GND in between the two. And the USB connector then as close as I can get it to the chip.

Would that have chances on success?
Logged

Pages: [1]   Go Up
Jump to: