Maker Pro
Maker Pro

USB-ATA bridge / external harddrive enclosure/ CS88188

B

basement_guy

I would like to make use of an external harddrive enclosure (no drive)
which has a USB connector on the outside and an IDE/ATA connector on the
inside of the case. The project will just use the data lines and
possibly address for chip selection.

Does anyone have information or URL for a CS88188? That is what the
controller chip on the bridge is marked.

Does the bridge act like a high speed, but blind, serial-parallel
converter, or does it look at the command set being passed over it? I
only want to do PIO if that matters.

Thanks for any assistance
Rob (robert.mitchell4@sympatico)
 
N

Noway2

There are a set of protocols that disk drives follow and on top of that
there are specific protocols used to encode drive commands and
information over a USB link. Most drives follow a variation of the
SCSI command set for drive commands, such as read, write, seek, etc.
On top of this, the USB uses the mass storage class specification and
typically the bulk transfer protocol, which specify how the disk drive
commands get wrapped into packets of information suitable for transfer
over the USB link. Consequently, the transfers are not performed in a
PIO fashion.

In addition to all this, I am assuming you are using Windows here, the
OS will enumerate the USB controller and determine its operating
characteristics. It will see the device and vendor IDs and try to
associate a driver with these. More than likely, it will think that
the device is a disk drive and try to use it as such. You would need
to write your own driver and somehow replace the standard driver with
this. I firmly believe that windows was written with the idea that the
people using it are complete and total idiots and that MS is second
only to god. Good luck with getting it to accept your driver instead.

It would probably be significantly easier in the long run to
investigate the many USB device controller chips and kits available
today and use those as a USB to PIO bridge.
 
B

basement_guy

Thanks for responding, I have a few comments below.
There are a set of protocols that disk drives follow and on top of that
there are specific protocols used to encode drive commands and
information over a USB link. Most drives follow a variation of the
SCSI command set for drive commands, such as read, write, seek, etc.
On top of this, the USB uses the mass storage class specification and
typically the bulk transfer protocol, which specify how the disk drive
commands get wrapped into packets of information suitable for transfer
over the USB link. Consequently, the transfers are not performed in a
PIO fashion.
I think that is all ok. A driver would wrap the SCSI command data, and
it would be 'unwrapped' by the USB stack on the bridge, and the raw SCSI
commands put on the IDE bus. Is that correct? But does the USB code
ever examine the SCSI commands, or is that just a data payload?
In addition to all this, I am assuming you are using Windows here,
No, Linux, and hopefully Palm. I would hack an existing Linux USB disk
driver, and create a device appropriately.


It would probably be significantly easier in the long run to
investigate the many USB device controller chips and kits available
today and use those as a USB to PIO bridge.
Thanks, I'll look into it.

However, I'm still looking for a reference to that particular chip. Any
clues?
 
Top