Simple SD Interface

Hi folks. Maybe I'll try this here since the electronics.basics newsgroup is fairly inactive these days apparently.

Anyhow, I want to do something fairly simple, but I want the advice of someone who actually knows more about this stuff to make sure I don't do something wrong that I'm not taking into account.

Basically I want to connect an SD card to my PC's parallel port. The biggest reason is that I want to familiarize myself with the protocol for curiosity's sake, but also because I want to eventually be able to implement an SD card reader in a different hardware project which happens to have a parallel port as well.

First of all, since my reader will be detachable from either the PC or the other device I want to eventually plug it into, I figured that using two AA batteries would be a fine power source for the SD card, with some capacitors to smooth the power. Correct me if I'm wrong.

Second, I decided that for safety's sake I would use a 74HC241 octal buffer which I have laying here already. I should be able to power this with the 3v battery power if I understand properly. I then want to connect the data out pin of the SD card into the buffer, and then from there into the parallel port. I assume this should be plenty of output voltage from the buffer when running at 3v to trigger a TTL input, right?

But here's the bigger part I'm concerned about. I then want to run lines out of the parallel port into the buffer, and from the buffer into the SD card. Now, normally, I know TTL output isn't quite high enough to trigger a CMOS input. But, since I'm powering the buffer at

3v, does this change things? Will the TTL outputs be adequate for a CMOS part running at a lower voltage? I have a chart that shows the various voltages for an HC part, but only when powered at 5v, so I don't know how that scales or anything.

On the flip side, could the TTL outputs be too much for an HC part running at a lower VCC? Maybe resulting in too much current going into the SD card, perhaps?

I'd certainly appreciate any input anyone can offer on the subject. Especially any ideas on the design in the event that they've constructed something similar before.

Reply to
FyberOptic
Loading thread data ...

On a sunny day (Thu, 7 Jan 2010 08:09:10 -0800 (PST)) it happened FyberOptic wrote in :

Depends how you want to drive the card.

1) Google: Simplified_SD_Host_Controller_Spec.PDF

2) You need no buffer on the par port, most par ports these days are 3.3V. If in doubt use some 100 series resistors.

3) Here are the connections:
formatting link

4) Here is some C source code for a module to drive a SDcard, from Linux system, you will need to adapt I/O addresses etc for a PC:

formatting link

5) That software is released under GPL license, and do not violate that license.

6) There is still snow today, and it is still freezing. We can blame this all on Bill SLoman, who's wild actions against global warming caused this cooling.

Reply to
Jan Panteltje

.

Na I'm getting closer to 4.3v or so on high, and will possibly get that or even closer to 5v on the other device I plan to connect it to (the parallel port there is replicated through general I/O pins). So my original question still stands on whether the HC buffer running at

3v will be okay for shifting the voltage on all the SD lines.

We got our snow earlier tonight. Again!

Reply to
FyberOptic

Well, you have something incorrect: worst case TTL output (high) *IS* more than enough to "trigger" a CMOS input; TTL Voh = 2.44V min and Vol = 0.4V max and typical CMOS threshold is approximately 0.5*supply. So much for "triggering" which will be very reliable and repeatable. Unstated ASS-u-ME-ption is that computers more modern than a 486 used TTL; modern computers use CMOS circuitry to emulate the original IBM TTL schematics and specifications published in 1980. Just use a series resistor (say 10K) and clamp diode(s) to CMOS supply (and gnd) for protection of your circuitry.

Reply to
Robert Baer

On a sunny day (Thu, 7 Jan 2010 21:23:12 -0800 (PST)) it happened FyberOptic wrote in :

Use a resistor divider, was -12°C last night...

Reply to
Jan Panteltje

tic

.
t

a PC:

icense.

arming caused this cooling.

Jan Panteltje is actually quite sensible on circuit design and Linux programming, but he really doesn't have clue about global warming.

-- Bill Sloman, Nijmegen

Reply to
Bill Sloman

On a sunny day (Fri, 8 Jan 2010 12:14:22 -0800 (PST)) it happened Bill Sloman wrote in :

How could I, there *is* no global warming! Look what you have done! ;-)

Reply to
Jan Panteltje

man

rOp=3D

.3V=3D

.tx=3D

for=3D

t l=3D

w=3D

Like I said, you haven't got a clue.

Tinkering with the thermohaline circulation may well have cooled Europe, but it may cook the rest of the world.

I'll follow up that bucket of fresh water (in just the right place) with a bucket of salt (when I can find one - it is in short supply around here at the moment).

-- Bill Sloman, Nijmegen

Reply to
Bill Sloman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.