IDE reset problem

G

galapogos

Hi,

I'm trying to control a Cypress USB-IDE bridge chip to turn on and off
a 2.5" HDD by controlling the chip's power on reset signal. Once the
chip's reset signal(RESET) is pulled low, it will pull the ide reset
signal(ARESET) low also, and release it about 35ms after RESET is
released(verified with a logic analyzer).

I have RESET set at low when I power on the bridge chip/HDD by plugging
in the USB cable, and the HDD isn't detected. Once I pull RESET high,
the HDD is detected. However, when I try to do another reset(pulling
RESET low for 10ms then high again), the HDD is disconnected and not
detected again according to windows explorer or disk management.
However, my logic analyzer shows that the waveforms for both RESET and
ARESET are normal(RESET is low for 10ms, ARESET is low for 45ms).
According to the ATA-6 document that I have, RESET only needs to be low
for 25us, so I'm not going below the standard. Does anyone know why the
HDD is disconnected after a soft reset?

Disconnecting and reconnecting the USB cable after the soft reset
causes windows to detect the HDD again...but I want to be able to
disconnect/connect the HDD without touching the cable. Is the RESET pin
the right pin to be manipulating?

Thanks!
 
A

Arno Wagner

Previously galapogos said:
I'm trying to control a Cypress USB-IDE bridge chip to turn on and off
a 2.5" HDD by controlling the chip's power on reset signal. Once the
chip's reset signal(RESET) is pulled low, it will pull the ide reset
signal(ARESET) low also, and release it about 35ms after RESET is
released(verified with a logic analyzer).
I have RESET set at low when I power on the bridge chip/HDD by plugging
in the USB cable, and the HDD isn't detected. Once I pull RESET high,
the HDD is detected. However, when I try to do another reset(pulling
RESET low for 10ms then high again), the HDD is disconnected and not
detected again according to windows explorer or disk management.
However, my logic analyzer shows that the waveforms for both RESET and
ARESET are normal(RESET is low for 10ms, ARESET is low for 45ms).
According to the ATA-6 document that I have, RESET only needs to be low
for 25us, so I'm not going below the standard. Does anyone know why the
HDD is disconnected after a soft reset?
Disconnecting and reconnecting the USB cable after the soft reset
causes windows to detect the HDD again...but I want to be able to
disconnect/connect the HDD without touching the cable. Is the RESET pin
the right pin to be manipulating?

It might be as simple as this: Windows only detects after a
cable is plugged in. Then it does not try to refresh device
status.

Arno
 
G

galapogos

Arno said:
It might be as simple as this: Windows only detects after a
cable is plugged in. Then it does not try to refresh device
status.

Arno

Hmm, so there's no way around this?
 
F

Folkert Rienstra

galapogos said:
Hi,

I'm trying to control a Cypress USB-IDE bridge chip to turn on and off
a 2.5" HDD by controlling the chip's power on reset signal. Once the
chip's reset signal(RESET) is pulled low, it will pull the ide reset
signal(ARESET) low also, and release it about 35ms after RESET is
released(verified with a logic analyzer).

I have RESET set at low when I power on the bridge chip/HDD by plugging
in the USB cable, and the HDD isn't detected. Once I pull RESET high,
the HDD is detected. However, when I try to do another reset(pulling
RESET low for 10ms then high again), the HDD is disconnected and not
detected again according to windows explorer or disk management.
However, my logic analyzer shows that the waveforms for both RESET and
ARESET are normal(RESET is low for 10ms, ARESET is low for 45ms).
According to the ATA-6 document that I have, RESET only needs to be low
for 25us, so I'm not going below the standard.
Does anyone know why the HDD is disconnected after a soft reset?

Is it? Or is it just Windows that's confused.
Disconnecting and reconnecting the USB cable after the soft reset
causes windows to detect the HDD again...but I want to be able to
disconnect/connect the HDD without touching the cable.
Is the RESET pin the right pin to be manipulating?

Apparently not.
 
A

Arno Wagner

Hmm, so there's no way around this?

I don't know. Maybe there is a way to make Windows re-scan the
USB devices. Or if you want to manipulate the hardware, then
you can power-cycle the converter...

Arno
 
W

willbill

Arno said:
I don't know. Maybe there is a way to make Windows re-scan the
USB devices. Or if you want to manipulate the hardware, then
you can power-cycle the converter...

Arno


i've got an external modem (on serial port 1)

i often forget to turn it on, and therefore
Win XP Pro fails to see it. so when i try
to use it, it fails

drove me nuts for months

then it occurred to me to go into
control panel (provided you have
admin priviledges) and make a
shotcut of the "Add Hardware" icon

Win XP won't let you do it in control
panel, but offers to add the shortcut
to your desktop. :)

when i turn on the modem, i double
click on the desktop icon and it
detects my modem

i click "cancel" when it prompts
for the next step (all that's needed
is the redetection of hardware)

odds are it will also work for an
USB device

bill
 
F

Folkert Rienstra

Hmm, what do you mean by that?

That the device is actually accessable but Windows doesn't try because it
thinks it's gone.
Would you happen to know how I can accomplish this then?

Apart from getting a drive that already supports what you want and
analysing it's output to the host: No.
 
G

galapogos

Folkert said:
That the device is actually accessable but Windows doesn't try because it
thinks it's gone.



Apart from getting a drive that already supports what you want and
analysing it's output to the host: No.

Well, I tried plugging in the DC+5V power cable to my external drive.
Actually it simply draws power from 2 USB ports for a total of 1A
current capacity, but anyway, it supplies power to both the bridge chip
and the HDD(verified by hearing the HDD spin up and by testing the
chip's VCC). I then tried plugging in and out the USB data cable, and
windows explorer correctly detects the connection and removal of the
drive, so I'm thinking there must be some way of
connecting/disconnecting the drive while the enclosure is powered on? I
was trying to do it via the RESET# pin of the chip, but that doesn't
seem to work.
 
A

Arno Wagner

Well, I tried plugging in the DC+5V power cable to my external drive.
Actually it simply draws power from 2 USB ports for a total of 1A
current capacity, but anyway, it supplies power to both the bridge chip
and the HDD(verified by hearing the HDD spin up and by testing the
chip's VCC). I then tried plugging in and out the USB data cable, and
windows explorer correctly detects the connection and removal of the
drive, so I'm thinking there must be some way of
connecting/disconnecting the drive while the enclosure is powered on? I
was trying to do it via the RESET# pin of the chip, but that doesn't
seem to work.

If you are already into direct hardware manipulation, why not put a
relais (solid-state or otherwise) into the power path?

Arno
 
G

galapogos

Arno said:
If you are already into direct hardware manipulation, why not put a
relais (solid-state or otherwise) into the power path?

Arno
Coz relays and other types of switches cost more money. I was thinking
of using some sort of transistor as possibly a switch for either the
chip itself or the drive, or even both(in which case I'll probably need
2 since they run at different voltages), but if I can do it with a
control signal, I'd rather be messing with that rather than power. I've
seen eval boards from NEC before that have a pushbutton asynchronous
reset, so I'm thinking it can be done with the Cypress one too.
 
A

Arno Wagner

Previously galapogos said:
Arno said:
[...]
Well, I tried plugging in the DC+5V power cable to my external drive.
Actually it simply draws power from 2 USB ports for a total of 1A
current capacity, but anyway, it supplies power to both the bridge chip
and the HDD(verified by hearing the HDD spin up and by testing the
chip's VCC). I then tried plugging in and out the USB data cable, and
windows explorer correctly detects the connection and removal of the
drive, so I'm thinking there must be some way of
connecting/disconnecting the drive while the enclosure is powered on? I
was trying to do it via the RESET# pin of the chip, but that doesn't
seem to work.

If you are already into direct hardware manipulation, why not put a
relais (solid-state or otherwise) into the power path?

Arno
Coz relays and other types of switches cost more money. I was thinking
of using some sort of transistor as possibly a switch for either the
chip itself or the drive, or even both(in which case I'll probably need
2 since they run at different voltages), but if I can do it with a
control signal, I'd rather be messing with that rather than power. I've
seen eval boards from NEC before that have a pushbutton asynchronous
reset, so I'm thinking it can be done with the Cypress one too.

Ok. Maybe you did not give the right tpe of reset signal, i.e.
too long or too short? Have you tried to get the datasheet of
the chip? It might have more information.

Arno
 
G

galapogos

Arno said:
Previously galapogos said:
Arno said:
[...]
Well, I tried plugging in the DC+5V power cable to my external drive.
Actually it simply draws power from 2 USB ports for a total of 1A
current capacity, but anyway, it supplies power to both the bridge chip
and the HDD(verified by hearing the HDD spin up and by testing the
chip's VCC). I then tried plugging in and out the USB data cable, and
windows explorer correctly detects the connection and removal of the
drive, so I'm thinking there must be some way of
connecting/disconnecting the drive while the enclosure is powered on? I
was trying to do it via the RESET# pin of the chip, but that doesn't
seem to work.

If you are already into direct hardware manipulation, why not put a
relais (solid-state or otherwise) into the power path?

Arno
Coz relays and other types of switches cost more money. I was thinking
of using some sort of transistor as possibly a switch for either the
chip itself or the drive, or even both(in which case I'll probably need
2 since they run at different voltages), but if I can do it with a
control signal, I'd rather be messing with that rather than power. I've
seen eval boards from NEC before that have a pushbutton asynchronous
reset, so I'm thinking it can be done with the Cypress one too.

Ok. Maybe you did not give the right tpe of reset signal, i.e.
too long or too short? Have you tried to get the datasheet of
the chip? It might have more information.

Arno

Yup, I have actually, and I've adhered to it. I've even looked at the
actual waveforms with a logic analyzer(the chip's power on reset signal
RESET, and the IDE reset signal ARESET on pin 1 of the IDE cable) and
the waveforms look fine, i.e. the RESET goes low for the specified
amount of time, and the ARESET follows RESET except it goes high some
time later than RESET. While the waveforms exhibit what I think is
proper behavior, the drive itself doesn't seem to, or at least windows
is not handling the reset as I would expect it to.
 
A

Arno Wagner

Previously galapogos said:
Arno said:
Previously galapogos said:
Arno Wagner wrote:
[...]
Well, I tried plugging in the DC+5V power cable to my external drive.
Actually it simply draws power from 2 USB ports for a total of 1A
current capacity, but anyway, it supplies power to both the bridge chip
and the HDD(verified by hearing the HDD spin up and by testing the
chip's VCC). I then tried plugging in and out the USB data cable, and
windows explorer correctly detects the connection and removal of the
drive, so I'm thinking there must be some way of
connecting/disconnecting the drive while the enclosure is powered on? I
was trying to do it via the RESET# pin of the chip, but that doesn't
seem to work.

If you are already into direct hardware manipulation, why not put a
relais (solid-state or otherwise) into the power path?

Arno
Coz relays and other types of switches cost more money. I was thinking
of using some sort of transistor as possibly a switch for either the
chip itself or the drive, or even both(in which case I'll probably need
2 since they run at different voltages), but if I can do it with a
control signal, I'd rather be messing with that rather than power. I've
seen eval boards from NEC before that have a pushbutton asynchronous
reset, so I'm thinking it can be done with the Cypress one too.

Ok. Maybe you did not give the right tpe of reset signal, i.e.
too long or too short? Have you tried to get the datasheet of
the chip? It might have more information.

Arno
Yup, I have actually, and I've adhered to it. I've even looked at the
actual waveforms with a logic analyzer(the chip's power on reset signal
RESET, and the IDE reset signal ARESET on pin 1 of the IDE cable) and
the waveforms look fine, i.e. the RESET goes low for the specified
amount of time, and the ARESET follows RESET except it goes high some
time later than RESET. While the waveforms exhibit what I think is
proper behavior, the drive itself doesn't seem to, or at least windows
is not handling the reset as I would expect it to.

Hmmm. I see you know your stuff. A pity this does not work.

Arno
 
G

galapogos

Arno said:
Previously galapogos said:
Arno said:
Arno Wagner wrote:

[...]
Well, I tried plugging in the DC+5V power cable to my external drive.
Actually it simply draws power from 2 USB ports for a total of 1A
current capacity, but anyway, it supplies power to both the bridge chip
and the HDD(verified by hearing the HDD spin up and by testing the
chip's VCC). I then tried plugging in and out the USB data cable, and
windows explorer correctly detects the connection and removal of the
drive, so I'm thinking there must be some way of
connecting/disconnecting the drive while the enclosure is powered on? I
was trying to do it via the RESET# pin of the chip, but that doesn't
seem to work.

If you are already into direct hardware manipulation, why not put a
relais (solid-state or otherwise) into the power path?

Arno
Coz relays and other types of switches cost more money. I was thinking
of using some sort of transistor as possibly a switch for either the
chip itself or the drive, or even both(in which case I'll probably need
2 since they run at different voltages), but if I can do it with a
control signal, I'd rather be messing with that rather than power. I've
seen eval boards from NEC before that have a pushbutton asynchronous
reset, so I'm thinking it can be done with the Cypress one too.

Ok. Maybe you did not give the right tpe of reset signal, i.e.
too long or too short? Have you tried to get the datasheet of
the chip? It might have more information.

Arno
Yup, I have actually, and I've adhered to it. I've even looked at the
actual waveforms with a logic analyzer(the chip's power on reset signal
RESET, and the IDE reset signal ARESET on pin 1 of the IDE cable) and
the waveforms look fine, i.e. the RESET goes low for the specified
amount of time, and the ARESET follows RESET except it goes high some
time later than RESET. While the waveforms exhibit what I think is
proper behavior, the drive itself doesn't seem to, or at least windows
is not handling the reset as I would expect it to.

Hmmm. I see you know your stuff. A pity this does not work.

Arno

Well the only way I knew it was to look at the datasheets and play
around with some settings. I wonder if this is an IDE problem or a USB
issue...
 
F

Folkert Rienstra

Arno Wagner said:
Previously galapogos said:
Arno said:
Arno Wagner wrote:
[...]
Well, I tried plugging in the DC+5V power cable to my external drive.
Actually it simply draws power from 2 USB ports for a total of 1A
current capacity, but anyway, it supplies power to both the bridge chip
and the HDD(verified by hearing the HDD spin up and by testing the
chip's VCC). I then tried plugging in and out the USB data cable, and
windows explorer correctly detects the connection and removal of the
drive, so I'm thinking there must be some way of
connecting/disconnecting the drive while the enclosure is powered on?
I was trying to do it via the RESET# pin of the chip, but that doesn't
seem to work.

If you are already into direct hardware manipulation, why not put a
relais (solid-state or otherwise) into the power path?

Arno
Coz relays and other types of switches cost more money. I was thinking
of using some sort of transistor as possibly a switch for either the
chip itself or the drive, or even both(in which case I'll probably need
2 since they run at different voltages), but if I can do it with a
control signal, I'd rather be messing with that rather than power.
I've seen eval boards from NEC before that have a pushbutton asyn-
chronous reset, so I'm thinking it can be done with the Cypress one too.

So what it boils down to is finding out the exact circuit that they are using.
Presumably it uses more than just the bridgechip's reset line.

But does the chip also renegotiate the busspeed protocol in that case.
Or even send a message to the host.

Or the chip.
or at least windows is not handling the reset as I would expect it to.
Right.


Hmmm. I see you know your stuff.

Hardly.
If he did, he wouldn't be here, asking lesser people than himself to help out.
 
G

galapogos

Folkert said:
Arno Wagner said:
Previously galapogos said:
Arno Wagner wrote:
Arno Wagner wrote:
[...]
Well, I tried plugging in the DC+5V power cable to my external drive.
Actually it simply draws power from 2 USB ports for a total of 1A
current capacity, but anyway, it supplies power to both the bridge chip
and the HDD(verified by hearing the HDD spin up and by testing the
chip's VCC). I then tried plugging in and out the USB data cable, and
windows explorer correctly detects the connection and removal of the
drive, so I'm thinking there must be some way of
connecting/disconnecting the drive while the enclosure is powered on?
I was trying to do it via the RESET# pin of the chip, but that doesn't
seem to work.

If you are already into direct hardware manipulation, why not put a
relais (solid-state or otherwise) into the power path?

Arno
Coz relays and other types of switches cost more money. I was thinking
of using some sort of transistor as possibly a switch for either the
chip itself or the drive, or even both(in which case I'll probably need
2 since they run at different voltages), but if I can do it with a
control signal, I'd rather be messing with that rather than power.
I've seen eval boards from NEC before that have a pushbutton asyn-
chronous reset, so I'm thinking it can be done with the Cypress one too.

So what it boils down to is finding out the exact circuit that they are using.
Presumably it uses more than just the bridgechip's reset line.

But does the chip also renegotiate the busspeed protocol in that case.
Or even send a message to the host.

What do you mean by renegotiating the busspeed protocol? Do you mean
UDMA modes? And what kind of messages are you talking about?
Or the chip.

When I say "drive" I actually mean the entire external storage
subsystem including the bridge chip and the drive.
Hardly.
If he did, he wouldn't be here, asking lesser people than himself to help out.

I didn't claim to know my stuff. Like you said, if I knew my stuff I
wouldn't be posting here. I was hoping people could help, seeing that
this is a PC storage hardware newsgroup.

One more thing I noticed is that when I release the chip's power on
RESET signal and the chip then releases the IDE ARESET signal, 2
seconds later, I'm getting another 100ms pulse on the ARESET. This
happens consistently. Is this normal IDE behavior?
 
F

Folkert Rienstra

galapogos said:
Folkert said:
Arno Wagner said:
Arno Wagner wrote:
Arno Wagner wrote:
[...]
Well, I tried plugging in the DC+5V power cable to my external drive.
Actually it simply draws power from 2 USB ports for a total of 1A
current capacity, but anyway, it supplies power to both the bridge chip
and the HDD(verified by hearing the HDD spin up and by testing the
chip's VCC). I then tried plugging in and out the USB data cable, and
windows explorer correctly detects the connection and removal of the
drive, so I'm thinking there must be some way of
connecting/disconnecting the drive while the enclosure is powered on?
I was trying to do it via the RESET# pin of the chip, but that doesn't
seem to work.

If you are already into direct hardware manipulation, why not put a
relais (solid-state or otherwise) into the power path?

Arno
Coz relays and other types of switches cost more money. I was thinking
of using some sort of transistor as possibly a switch for either the
chip itself or the drive, or even both(in which case I'll probably need
2 since they run at different voltages), but if I can do it with a
control signal, I'd rather be messing with that rather than power.
I've seen eval boards from NEC before that have a pushbutton asyn-
chronous reset, so I'm thinking it can be done with the Cypress one too.

So what it boils down to is finding out the exact circuitry that they are using.
Presumably it uses more than just the bridgechip's reset line.
Ok. Maybe you did not give the right tpe of reset signal, i.e.
too long or too short? Have you tried to get the datasheet of
the chip? It might have more information.

Arno

Yup, I have actually, and I've adhered to it. I've even looked at the
actual waveforms with a logic analyzer (the chip's power on reset signal
RESET, and the IDE reset signal ARESET on pin 1 of the IDE cable) and
the waveforms look fine, i.e. the RESET goes low for the specified
amount of time, and the ARESET follows RESET except it goes high some
time later than RESET.

But does the chip also renegotiate the busspeed protocol in that case.
Or even send a message to the host.

What do you mean by renegotiating the busspeed protocol?
Do you mean UDMA modes?

Of course.
And what kind of messages are you talking about?

Informing the host that it is up and ready or whatever it is what
an USB storage device is required to do when it powers up.
When I say "drive" I actually mean the entire external storage
subsystem including the bridge chip and the drive.

Which is connected to the host solely by the chip.
I didn't claim to know my stuff.

Babblebot did.
Like you said, if I knew my stuff I wouldn't be posting here.
I was hoping people could help, seeing that
this is a PC storage hardware newsgroup.

With a limited scope.
You might be better off in comp.sys.ibm.pc.hardware.chips
One more thing I noticed is that when I release the chip's
power on RESET signal

There's a new element. Now it is a PowerOn reset.
and the chip then releases the IDE ARESET signal, 2
seconds later, I'm getting another 100ms pulse on the ARESET.

Maybe this is one visible effect of the problem that you are seeing.
Like it negotiates with the drive, doesn't succeed, does another reset
and retries, then gives up.
This happens consistently.
Is this normal IDE behavior?

Reset is an input to the drive, isn't it, so why would this be IDE behaviour.

So the question is, does it do this also if you power it up normally.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top