I think that D+ and D- are not 2 data lines. (like in and out)
I can't say for sure, but here is my reasoning.
With a signal sent along just one straight wire, (the return path would be the ground) you put out some radio waves from the wire. The radio waves are energy lost to the signal and the signal will be weaker at the other end. If you put another signal wire next to, (like as D+ is next to D- in the cable) then you get "crosstalk." A signal transmitted along D+ with ground as the return could be detected on D- as well. You could even get crosstalk that jumps to another cable laying on the floor next to it.
Crosstalk is bad. The way to avoid it is to use 2 wires laying next to each other and not use the ground for the return. The signal is respresented in the
voltage difference between the 2 wires. The 2 wires put out opposite radio waves and from a distance they essentially cancle each other. Up close they still they would not and you would still get crosstalk from those 2 wires to another pair of wires in the same cable.
So what they do in the case of telephone and ethernet cables is to twist the 2 wires together. The rate of twisting has something to do with the speed that the signal propagates along the pair and with the proper twisting, crosstalk is reduced to near nil.
Now did they do this with UBS?? I do not know. However, I was reading this wiki on USB pinouts and in the cabling section:
http://en.wikipedia.org/wiki/Universal_Serial_Bus#Cabling
They talk about the crosstalk and the fact that D+ and D- are twisted together.
Now if you took 2 wires carrying 2 seperate signals and twisted them together, you wouldn't prevent ANY crosstalk since the wires are not twisted with their return paths. (ground) AND you would actually CAUSE crosstalk between the 2 twisted signal carrying wires.
I have to conclued that D+ and D- must be together carrying 1 signal.
That does leave the question of how data is sent and recieved. There have been some systems in the past where multiple devices all listened to a sort of "shouting channel" When one device would shout out information, all the devices would here it and there would be an ID code so that only the device with the correct ID would pay attention. There was
some way that the devices all kept from shouting over each other. (I think Appletalk used that method)
So maybe the USB host and the USB device have a way of taking turns shouting along the same channel, and both just use D+ and D- together as one channel.
I couldn't find that for sure, but I am betting it is the case, mostly from just the fact that they twist the wires in the cable and that would be stupid if it was not the case.
Whew!! Just wrote a book. Sorry. Hope you all enjoyed your reading asignment for the evening.
--tim