Ipod data lines configuration explanation request

Ideas and questions about MintyBoost kits

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
awmt102
 
Posts: 1
Joined: Mon Feb 11, 2008 7:11 pm

Ipod data lines configuration explanation request

Post by awmt102 »

Hi all,

Hopefully people aren't going to read the subject and ignore this as another "does it work with this..." or "what do I need to do to get it to work with this device". What I want to achieve with this post is to gather as much knowledge as possible about the subject of WHY the ipod data lines must be tied high/low for some models and WHAT specifically we are trying to achieve electrically by doing this, i.e. why does a 10K resistor work and not a 100K resistor (for example).

The reason I ask this is because I am perplexed - I made myself a MintyBoost a long time ago when it was first described by Ladyada (presumably v1.0). It worked well for my nano 1g but I recently got a nano 3g and it did not work anymore.

I found this site and determined that pull ups were needed so I set about finding the right combination of values. I eventually found that the only way that would work was to short D+ and D- and tie this short with a 100k resistor to +5V.

Now although the MintyBoost is great their use on an airplane is likely to cause some stir so for my upcoming holiday (which is a long plane journey away) I decided to get one of the commercial equivalents - a Freeloader.

It claims to work with ipods, but of course I guess this label was attached to it before the new ones came out so it does not work with my new nano. But surely the solution is simple - the same as for my MintyBoost, a 100k to both data lines. I tried this out but no luck, and I could not figure out why. After a series of trial and improvements I discovered that the only way to get my new nano to charge is with a 180Ohm resistor tying the D+ line high and leave D- floating.

So why was the solution different? Why when both chargers supply approx 5V (the freeloader actually supplies 5.4 on a full charge) is the solution radically different?


This brings me to the point of the post - what is it we are trying to achieve by tying the data lines high/low with resistors of differing values?
Is it a current thing or a voltage thing? Or, since they are inherently linked, both?

Anyone with any information on this please respond. As I say, I am not asking for help to get mine working - it works and thats enough for me, I am just interested to know why my situation arose in the hope that I can pass this information on to anyone who needs to know.

P.S. please do not use this post to ask for advice on what configuration you should use, I would politely ask the forum admin(s) to remove any such request in order to keep this post as informative as possible without it diverging away so that we can all help one another understand the root of the problem, thanks:-)[/u]

User avatar
wreck rider
 
Posts: 21
Joined: Mon Apr 28, 2008 10:49 pm

Post by wreck rider »

This is my theory (educated theory thought). I'm not an expert so take this with a grain of salt, but the underlying theory is supported by facts.

Lots of USB powered devices exist but many aren't actually "compliant" with the USB 2.0 standard because the standard requires that when a device is connected to a USB port, it must identify itself. A smart device like a mouse or printer has to give a detailed introduction, dumb devices are supposed to at least tell the port how much power they expect to draw (there is an exception, noted below).

When a USB port is active and listening, the D+ and D- signals are always opposite polarity from each other, i.e. one at supply voltage and the other at ground potential, zero voltage. If the USB port is responding to any sort of introduction it will send some data, which means the polarity of D+ and D- will flop back and forth as +/-, -/+ at least a few times.

Here comes the theory part. For the iPod to be compliant with the USB 2.0 standard the "device" (in this case the iPod) needs to listen for "permission" from the USB port to draw more than 100 mA. The standard does have an exception for draws less than 100 mA, in that case an introduction isn't strictly necessary.

I belive that Apple didn't implement any sort of "listening" procedure in their original products because they only drew 100 mA (which was the technical limit for USB 1.1 ports anyway). When their devices could draw more than 100 mA perhaps they simplified the listening procedure to the point they aren't actually listening for permission, just confirming that the USB port is active and listening, in other words, that it sends a data signal of some kind.

When after-market car chargers, wall chargers, and DIY chargers started to erode their market for chargers, I suspect they saw a revenue stream drying up and built different generations and models of iPods pre-programmed to look for different data line voltage combinations so they could maintain their market for chargers, and even sell several to anyone who has more than one type of iPod.

Which also makes me wonder, would a charger be universal if it had a separate signal generator module that cycled the D+ and D- lines slowly through all the configurations? I'm not going to bother but it would be interesting to know. I'm sure there are lots of people who could design a simple data signal generator like that.

predatorcoder
 
Posts: 42
Joined: Sat Mar 25, 2006 10:37 pm

Post by predatorcoder »

I have read that newer Apple products adhere to the new USB Battery Charging Specification at http://www.usb.org/developers/devclass_ ... ng_1_0.zip. It would be well worth reading this document, as, at its core, the MintyBoost is a dedicated USB charger. Page 13 is particularly of interest.

So the ability to make it compliant would be valuable. To make a long story short, to make a compliant dedicated charger, you will need to short D+/D- with a maximum resistance of 200k. D+ and D- should not be pulled up or pulled down to anything it looks like. Anything else is just hokey non-compliant stuff. MintyBoost PCB does not support this configuration, so you must remove R6 and R7 from the PCB and short D+/D- some other way because the PCB does not make this possible by default as the PCB is not compliant.

I do not have a MintyBoost nor an iPod so I cannot test this myself. I'm just going off the specification though. I expect these measures to be more necessary in the future as more devices expect compliant chargers. The standard was only finalized last year.

User avatar
wreck rider
 
Posts: 21
Joined: Mon Apr 28, 2008 10:49 pm

Post by wreck rider »

Wow! That standard is very interesting, just the thing I was looking for to understand the whole issue. One sentence, a definition, on page 2 is particularly to the point.

1.3.3 Dedicated Charger

For the purposes of this specification, a dedicated charger is defined as follows.

A dedicated charger....blah, blah, blah.....a voltage of Vchgr.

A dedicated charger is required to short the D+ line to the D- line.

adafruit
 
Posts: 12151
Joined: Thu Apr 06, 2006 4:21 pm

Post by adafruit »

the question is...does that work for apple products? i believe i tried it and it didnt :(
will check again tho :)

User avatar
jpatten
 
Posts: 2
Joined: Tue Jun 10, 2008 11:49 am

works with the iPhone

Post by jpatten »

I don't have a Minty Boost yet, but I was curious to see if it would work with my 1st gen iPhone (4GB). I hooked up a bench supply to the USB power pins, and put a 10k resistor between the data pins. The iphone doesn't register that it is being charged, but it draws around 104 mA from the bench supply at 5V, and the battery level does go up over time. Once the battery is full, the current draw drops to around 17 mA.

Based on this testing, when my Minty Boost arrives I plan on leaving the pull ups/downs off of the board, and just soldering a 10k resistor between the data pins. (an 0603 should fit nicely.) I expect this should work fine with the iPhone. If not, I will post again.

Hope this helps.

moobax
 
Posts: 1
Joined: Mon Jun 23, 2008 9:03 pm

Re: works with the iPhone

Post by moobax »

jpatten wrote:I don't have a Minty Boost yet, but I was curious to see if it would work with my 1st gen iPhone (4GB). I hooked up a bench supply to the USB power pins, and put a 10k resistor between the data pins. The iphone doesn't register that it is being charged, but it draws around 104 mA from the bench supply at 5V, and the battery level does go up over time. Once the battery is full, the current draw drops to around 17 mA.

Based on this testing, when my Minty Boost arrives I plan on leaving the pull ups/downs off of the board, and just soldering a 10k resistor between the data pins. (an 0603 should fit nicely.) I expect this should work fine with the iPhone. If not, I will post again.

Hope this helps.
I'd be interested to know if this worked...

User avatar
jpatten
 
Posts: 2
Joined: Tue Jun 10, 2008 11:49 am

update

Post by jpatten »

The approach I describe above worked with the real MintyBoost board. I left off R4 and R5 and instead put a 10k resistor between the two data USB pins. It works on an iPhone and an old iPod Mini. On the Mini I get the charging icon. On the iPhone I don't, but it still charges.

Hope that helps.

James

Locked
Please be positive and constructive with your questions and comments.

Return to “MintyBoost”