[NTLK] Giving the Newton some USB lovin' (long'n'winded!) [Related topic, off in another direction]

From: Alex Perez <aperez_at_alexperez.com>
Date: Wed Sep 27 2006 - 05:51:36 EDT

As a follow-up to my previous connectivity e-mail, I should also state
that I firmly believe a longer-term approach to this connectivity issue
is to devise a way to get proper USB ports functioning on the Newton.
This is probably only practical at USB 1.0 Low-speed rates, but perhaps
not. Can anyone comment on this? The only likely approach that would
work would be to re-use some GPIO pins somewhere, but see below, as
there might be other workable approaches.

I know this subject has been brought up in the past (I've read the list
archives, and know about the proposed USB-001) but I didn't feel it had
been beaten to death at all quite yet, so the resident n00b is bringing
it up again. Please feel free to contact me off-list (or on, if you
dare) if you are interested in my help in pursuing this goal.

For all the naysayers out there, who say "why would you want to do
this?" (I read your e-mails from before) there are two main reasons, and
a number of others which I'll let you all use your imaginations for.

Imagine being able to plug in nd use a USB HID Keyboard,
CompactFlash/SecureDigital reader, a USB Bluetooth device, USB WiFi
dongle, USB etc etc. With a true USB Host device working in concert with
the Newton, it continues to open new doors for Newton users as 16-bit
PCMCIA cards die a very, very slow and horrible, yet still inevitable,
death.

The other advantage, which is not to be discounted, is that many of
these USB microcontrollers can operate not only as USB hosts, but as USB
slaves/clients as well, which could allow for syncing of Newtons to Macs
and PCs via USB. Literally as I sit writing this, Adam Goddard has
*just* sent a mail to the list announcing a USB alternative to PCBMan's
SER-001 adapter, which he intends to release around December. Good
going, Adam! I'll probably be ordering one of these from you.

Contrary to what some others have said, I firmly believe that writing a
driver for a PCMCIA USB card is *not* practical, for the following reasons:
(1) There are almost no non-cardbus USB cards on the market.
(2) Even if there are any, and I was not able to definitively find any,
      they're only getting harder to find by the day.
(3) Almost all PCMCIA USB cards which are on the market are
      CardBus (PCI interface) cards, not PC Cards, and are incompatible.
(4) Physical limitations: the height of the outer edge of most USB
      PCMCIA/CardBus cards on the outer edge are Type III height, to

      accomodate the connector and surrounding plastic bezel.
      There may be a few out there, but once again, they're not common.

While it would probably be most practical to bypass and/or not use it at
all, the MessagePad 2xxx/eMate 300's Linear Technologies LTC1323 Line
Driver is capable of datarates up to 2Mbit/sec when clocked by an
external source, instead of the more-typical 230Kb/sec. This would
suffice for 1.5Mbit/sec Low-speed USB, but obviously not for 12Mbit/sec
full-speed USB.

The 8051-based USB Microcontrollers made by Cypress Semiconductor (they
bought EZ-USB) are very inexpensive, in the vicinity of $8-15/each in
single quantities. Cypress manufactures the CY7C67200, which costs a
whopping $6/each, which is a 48-pin (that's low) BGA (Ball Grid Array)
USB Host controller. More about this chip can be read at
http://www.cypress.com/portal/server.pt?space=CommunityPage&control=SetCommunity&CommunityID=209&PageID=259&fid=10&rpn=CY7C67200&ref=pfm#

"The problem with low speed USB Devices, is the restriction of transfer
modes. A full speed device can use Isochronous, Control, Interrupt or
Bulk transfer modes. A low speed device is restricted to Control &
Interrupt Modes. Therefore by Philip's making their Serial USB Device
Full Speed, even though the I2C interface is limited to 1Mbps, the
designer has the added flexibility of most transfer modes (except
Isochronous on the PDIUSBD11)." --cited from
http://www.beyondlogic.org/usb/usbhard.htm (makes for an interesting and
informative read)

Philips Semiconductors makes a variety of very nice chips which I've
used in a variety of projects in the past. It looks like they now have
been spun-off into NXP Semiconductors, and have a new IC that might do
the trick, the ISP1109, since it can interface to external devices using
Motorola's SPI (Serial Peripheral Interface) interface. The SA-1100 in
the MP2x00s can speak a subset of SPI, according to some documentation I
read. The ISP1109BS chip itself is also extremely inexpensive, at
$2.25/each(!) from DigiKey. For detailed info, see
http://www.nxp.com/pip/ISP1109BS.html .

For a very inexpensive and small (the size of a business card/PCMCIA
card) development platform, however, I'd personally recommend the
USBSIMM, which is a USB chip on a small PCB, for USD $99.
http://www.jged.com/web_pages/usbsimm.html
It is also 8051-microcontroler based, and could be jammed inside a
PCMCIA slot while developing (although I doubt people would shout with
glee if they had to give one up permanently, it would certainly be
better than having a PCB dangling off the bottom/rear of one's Newton
whilst one is developing)

The point of this e-mail isn't to shower everybody with URLs, however;
It is to attempt to demonstrate that a workable solution does exist to
this problem. My expertise is with hardware, not software. As is always
the case, drivers must be written, and I'm merely attempting to
volunteer my hardware knowledge in a way that I hope will be helpful and
insightful.

Keep on truckin, (heh)
Alex Perez

-- 
This is the NewtonTalk list - http://www.newtontalk.net/ for all inquiries
Official Newton FAQ: http://www.chuma.org/newton/faq/
WikiWikiNewt for all kinds of articles: http://tools.unna.org/wikiwikinewt/
Received on Wed Sep 27 05:48:19 2006

This archive was generated by hypermail 2.1.8 : Thu Sep 28 2006 - 12:30:02 EDT