I'm working on a simple ide interface to a spartan 3 fpga.
I've gone over the ata specs and online projects and I keep getting stuck.
All I am trying to do right now is read the status register and I can't get back anything that makes sense.
All the fpga does is set the CS and address lines, pulse the Dior and before the pulse drops copies what is on the data line to a register.
I have 4 older drives I'm working with, an old 730mb, a 650mb, a 4.3 gb which are not compatible with anything more than ata-3, and a 6.4gb which is ata-5 compatible. The outputs from the fpga are wired directly to the hard drive, i figured this was okay because I saw a few projects do it but my data lines would always seem on so I terminated them with a 10k ohm resistor to ground.
The smallest drives give me back nothing, the 6.4gb gives back 0111
1110 and 0000 0000 on the error register. The spartan 3 is outputting 3.3v, so are the other drives needing 5v even though specs only say it needs greater than 2.4v on the lines, or is the 6.4gb drive broken. I keep testing all drives in my desktop and they seem fine.I know its hard to go on what I just explained, and I've been over time stuff on the ata specs a lot and they seem to fall into spec so Is this likely a voltage problem?
I would apperciate any help anyone could give me. Thank you in advance