Carl Lowenstein wrote:

You got it.  < http://www.ietlabs.com/Genrad/GR874.html >

If you can find a copy of Jef Raskin's _The Humane Interface_ see p.
200 for his re-invention of the GR 874.  See also p. 195 et seq. for a
discussion of connector issues and his design of a 4-conductor
hermaphroditic connector.

And all those recommendations nicely ignore all that "boring" engineering stuff.

In the case of USB, there are disintinctions between downstream and upstream because a USB system is a controlled *tree* with a single master. Thus, a hermaphroditic or symmetric cable would allow people to plug things in wrong. This was done to reduce the silicon cost of implementing a USB interface.

In Firewire, it is a fully peered *chain*, so symmetric cabling works just fine. However, the silicon cost of engineering a Firewire interface was significantly greater at the time.

Since then, both interfaces hae dropped to approximately nothing in terms of silicon cost, but that's *now*, not *then*.


As for individual connectors:

Ever notice that USB and Firewire don't have freestanding pins? That's for a reason (insertion reliability because no bent pins).

Ever notice that the contacts like to be paired? That's for a reason (signal integrity balancing).

Ever notice that these things like to be planar? That's for a reason (reduces mechnical stress on PC boards when getting plugged in).

Ever notice that these things really try to make contact with a large piece of metal before the pins get contacted. That's for a reason (discharge ESD and contact ground for hot plug).


And, BTW, these things have to get *standardized* while technology is continuing to move ahead. So, the design has to be workable in old technology even though modern technology could probably do lots better.

A lot of very smart people worked for a long time to come up with something which improved the human factors while still meeting the engineering factors.

If the "human factors" people had to actually pay attention to engineering constraints, they will come up with something pretty close to what we currently have.

-a


--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to