|
 |
>> USB has a whole communications protocol to go with it. Think about
>> TCP/IP and how complicated that is, and you get some idea of how much
>> work a typical USB device has to do in order to work. Sure, the
>> *physical* signalling is a simple serial bus, but if you want to *do*
>> anything with it... ;-)
>
> And also think of the hundreds of protocols you can talk over TCP.
Well, yeah, beyond the basic USB spec, there's the Mass Storage Device
protocol (pendrives and external HD enclosures) and the Human Interface
Device protocol (keyboards and mice) and various printer and scanner
protocols (those tend to be proprietry) and...
For example, did you know that a USB device is supposed to "ask
permission" before drawing more than X amount of current? (Most USB mug
warmers disregard that part of the spec.) The idea being that if you
have a powered hub, it can warn the attached device "no, don't do that"
if the total load would be too great.
And that's something that *all* USB devices are supposed to do. Also,
you can plug USB hubs into USB hubs to create quite extensive tangles of
devices. And yet, the host has to be able to address each device
individually. So an addressing and routing problem exists. Not nearly as
severe as on the Internet (there is only 1 master and many slaves here,
which simplifies greatly), but it's still nontrivial to overcome. Each
USB device needs to end up with a unique ID so you can talk to it, and
all the intervening hubs need to know how to route traffic to it correctly.
USB is *way* more than "just a serial protocol"...
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |